Как стать автором
Обновить
386
0.9
Влад @vvzvlad

Любопытен. Ленив. Вреден. Смотрите профиль.

Отправить сообщение

Укрощаем одноглазого змея. Разбираемся с WireGuard и делаем свой умный VPN

Время на прочтение29 мин
Количество просмотров173K

Забавная ситуация: сайтов и сервисов, доступных только через VPN, все больше, но при этом многие российские компании закрывают доступ из-за границы. В результате приходится целыми днями теребить ползунки «вкл-выкл», что утомительно. Я расскажу, как с помощью магии маршрутов и WireGuard, решить эту проблему и сделать «умный» VPN, который не надо отключать.


Если ты пользуешься VPN, то и сам наверняка сталкиваешься с блокировками зарубежного трафика. К примеру, могут не открываться pochta.ru, leroymerlin.ru, rt.ru, avito.ru.


Получается мем.



Каждый с этим борется как может. Например, на устройствах Apple родными средствами можно настроить автоматизацию, которая будет запускать VPN, когда открываешь определенные приложения (например, Twitter), а когда выходишь из них — выключать обратно. Но это костыль, а хочется все сделать красиво, да еще и прокачать навык работы с сетью.


Поэтому мы сейчас попробуем «включать VPN чуть-чуть».

Читать дальше →
Всего голосов 53: ↑52 и ↓1+51
Комментарии73

Breaking news: DIY-флипперы производства России и как мы делали квест для Flipper Devices

Время на прочтение16 мин
Количество просмотров12K

История началось с того, что мне вручили три флиппера со словами "разыграй их там как-нибудь". Отдавать флиппер за банальщину типа лучшего вопроса или разыгрывать в лотерее не хотелось: круче вручить клевый девайс тому, кто действительно ему будет рад, а не продаст завтра на авито. Мы решили совместить квест и викторину: у нас была пара десятков вопросов, и мы добавили к ним физическую активность: ссылка на каждый блок вопросов была закодирована в QR-коде, который был спрятан на территории.

Эта статья — некий постмортем о том, как прошел квест, какими соображениями мы руководствовались при его разработке, какие косяки допустили, и что стоит сделать в следующий раз по-другому. Квест получился хорошим, победители действительно победили своим трудом, и флипперы были вручены заслуженно и тем людям, которые их хотели. Но это не означает, что в следующий раз нельзя сделать еще лучше. 

Ну и конечно, в статье есть список вопросов квеста с ответами на них, а так же возможность пройти эту викторину онлайн. 

Далее
Всего голосов 41: ↑37 и ↓4+33
Комментарии50

Хроники домашнего импортозамещения: замещаем e-mail (и узнаём, кто сливает почту на сторону)

Время на прочтение8 мин
Количество просмотров29K

Как перестать быть у гугла в заложниках? Как получить отдельный адрес для мусора? Как сделать бесконечный генератор одноразовых адресов? Как узнать, какие сервисы сливают вашу почту спамерам? Все это, и не только, можно сделать с помощью технологий, которым уже скоро тридцатничек стукнет.

Встречайте: собственный домен для почты.

Read more
Всего голосов 58: ↑55 и ↓3+52
Комментарии99

Препарируем дельфина: что внутри у Flipper Zero

Время на прочтение12 мин
Количество просмотров43K
Для того, чтобы эффективно разрабатывать под Flipper, надо не только понимать, как писать код, но и понимать, что внутри у него.

На «больших» компьютерах есть куча уровней абстракции и аппаратных средств сделать жизнь пользователя и разработчика проще. В итоге, даже если вы пишете на голом С, вас все равно не волнует как конкретно по PCI передается информация, как работает система питания процессора и какая там микросхема используется для хранения BIOS/UEFI.



Тут все не так, слишком уж близко к железу происходит разработка. Статья — это краткий экскурс в то, как устроен Flipper с железной точки зрения. Поехали.
Читать дальше →
Всего голосов 195: ↑192 и ↓3+189
Комментарии85

Разработка под Flipper Zero: быстрый старт и первое приложение

Время на прочтение19 мин
Количество просмотров29K

Итак, это случилось. Я добыл Flipper Zero в бою (ну, на самом деле мне его выдали на хакатоне), и естественно, что интереснее всего не играть в него, используя уже сделанные кем-то функции, а писать что-то новое. Примерно так же я развлекался с Pebble. Тут, кстати, все очень похоже — МК, RTOS, небольшой монохромный экранчик, си.

Поэтому давайте попробуем что-нибудь под него написать. Для начала, что-то совсем простое, чтобы освоиться с SDK, не закапываясь в отладку и сложности RTOS, но функциональное. Есть кнопки, есть экранчик, давайте напишем счетчик-кликер. Нажимаете кнопку — число увеличивается. Подойдет считать посетителей, круги на стадионе, взломанные домофоны или сообщения в чате русскоязычного комьюнити флиппера (по утрам, в особенно активное время там их бывает до 2к, так что я бы на вашем месте подумал, прежде чем нажимать кнопку Join).

Читать далее
Всего голосов 122: ↑119 и ↓3+116
Комментарии74

Как Unix-way убивает десктопный Linux

Время на прочтение28 мин
Количество просмотров91K

Нет, конечно же, не убивает.
То, что мертво, умереть не может: доля линукса на десктопах колеблется около 2% уже много лет, и не имеет тенденций ни к росту, ни к падению, изменяясь на уровне статистической погрешности.

Как выглядит захват рынка конкурентоспособным продуктом, можно видеть на примере, например, Chrome: за 10 лет рост на 70%. Или Android: за 5 лет рост на 75%. А вот у Linux рост пол-процента в год, несмотря на то, что он, например, лучший из существующих вариантов для использования в качестве национальных/государственных ОС.

Так в чем же дело? Почему несмотря на все старания, Linux, который стал стандартом де-факто на встраиваемых устройствах, работает на подавляющем большинстве серверов, целиком захватил рынок суперкомпьютеров, Linux, над которым работают сотни компаний и десятки тысяч людей... практически не используется на обычных компьютерах и ноутбуках?

Причины этой ситуации, как ни странно, те же, что сыграли роль в популярности Linux на серверах: unix-way, "Философия Unix": "Пишите программы, которые делают что-то одно, и делают это хорошо, и имеют возможность получать и принимать данные через текстовый интерфейс (потому что он универсален)".

Там огромный лонгрид, я предупредил
Всего голосов 297: ↑253 и ↓44+209
Комментарии1859

Хроники подопытного кролика: как тестируют вакцину от SARS-CoV-2

Время на прочтение15 мин
Количество просмотров22K

TLDR: я поучаствовал в тестировании вакцины от коронавируса, и теперь рассказываю, как это происходит, перемежая историю с подробностями из жизни вирусов. Тестировал я не российскую вакцину, которая Спутник-V, а китайскую Ad5-nCoV. Глобальный принцип у них один и тот же — вектор на основе аденовируса, но тонкости отличаются.

Как я попал на тестирование? Просто мне скинули ссылку на ка...

Читать дальше
Всего голосов 90: ↑80 и ↓10+70
Комментарии75

К вопросу о запланированном устаревании

Время на прочтение7 мин
Количество просмотров43K

Я хочу поговорить с вами об одной из вещей, которые принято ругать. Эдакая священная корова, только наоборот — с коровой обращаются уважительно, принято так, даже если она гадит в реку, откуда вы пьете, а вот с "коровой наоборот" все иначе: "гоните ее, насмехайтесь над ней". Зашла речь — выдайте пинок, это социально одобряемое поведение.

Я хочу поговорить с вами о запланированном устаревании.

Read more
Всего голосов 124: ↑77 и ↓47+30
Комментарии717

Смешение уровней абстракции закладывает бомбу в основание вашего проекта

Время на прочтение5 мин
Количество просмотров11K
За годы работы архитектором я видел разных заказчиков, и одна из самых частых ошибок формулирования ТЗ и хотелок заказчика — это смешение разных уровней абстракции. Приходит человек и говорит:

— Мне нужна железка, которая будет управлять приводом дверей, и показывать на семисегментном экране текущее состояние, и обязательно с внешним сервером для удаленного управления, чтобы по TCP общалось с этим сервером, а для панели управления взять VueJS.

Вроде, понятно, что человек хочет. У кого-то даже такое ТЗ вызывает энтузиазм — человек, казалось бы, четко понимает, чего хочет. Зачастую он даже указывает на конкретные контроллеры/компоненты/фреймверки/протоколы.

И по такому заказу, безусловно, можно сделать нужную железку. И она даже будет работать, если подобранные компоненты не противоречат друг другу. Но если расчет идет не на проект, а на продукт, и его потом необходимо будет поддерживать, то гораздо полезнее потратить время и аккуратно разделить эти хотелки по уровням, понять, зачем именно такой экран, почему TCP, и причем тут VueJS. Вполне может оказаться, что это технологии, к которым заказчик испытывает приятные чувства из-за синдрома утенка. Или он просто не знает, что есть и другие типы экранов.
Читать дальше →
Всего голосов 31: ↑30 и ↓1+29
Комментарии27

The Digital Banya: цифровая трансформация™ на примере… общественной бани

Время на прочтение13 мин
Количество просмотров15K
Однажды, дегустируя новое пиво, мы с моим знакомым поспорили о том, что такое цифровая трансформация. Мой знакомый утверждал, что эта цифровая трансформация — просто пустое слово, под которое удобно выделять деньги. Мол, приходят CDTO (Chief Digital Transformation Officer, не смейтесь, это действительно так называется), берут огромные деньги, внедряют пару систем цифровой документации и какое-нибудь новшество на производстве, и все, мы вам трансформировали, давайте, растите.



Мое же мнение, что пять факапов это не приговор, и что сама цифровая трансформация — это закономерная ступень развития любого бизнеса в любой отрасли, и если ваша компания хочет выжить на долгосрочном периоде, ей придется рано или поздно через это пройти. Разница только в том, что те, кто сделает это сейчас — соберут все сливки, а те, кто сделает это позже, когда подгорать начнем — окажутся в команде догоняющих.

— И что, спрашивает мой знакомый, прям любого бизнеса?
— Да, любого-любого, отвечаю я.
— А, ммм… даже общественной бани?
Читать дальше →
Всего голосов 33: ↑29 и ↓4+25
Комментарии29

RE: Страх и ненависть в IT

Время на прочтение12 мин
Количество просмотров10K
Писать ответы на статьи легко и приятно. Не надо часами корпеть над структурой статьи, достаточно следовать чужому плану и лишь внятно изложить мысли на бумаге. Тем не менее, рискну предположить, что критический взгляд «с другой стороны» на проблемы, поднятые в статье "Страх и ненависть в IT" уважаемым eugene_crabs, все же будет интересен. В роли адвоката дьявола, защищающего бесчеловечную системы выступаю сегодня я.

image

Я, в отличии от него, лычек сеньора не ношу, и стаж разработки у меня на пару лет поменьше, да и профильного образования, у меня, если честно, нет. Но вот проблем у меня с базовым интересом к работе не было, и мне кажется — причина в несколько ином восприятии реальности.
Статья для широкого круга читателей.
Читать дальше →
Всего голосов 46: ↑32 и ↓14+18
Комментарии49

Байконурские приключения: ракеты, космонавты, старт Союз МС-13 и космический интернет

Время на прочтение25 мин
Количество просмотров21K
Я буду рассказывать про Байконур и старт ракеты, но это не будет очередной пост про космос: увы, я дилетант в космической тематике, который вряд ли расскажет что-то интересное о топливе, спутниках и системах управления.



Я хочу рассказать и передать нечто другое: впечатление о затерянном в степях Казахстана городе, который принадлежит одной стране, а арендуется другой, городе, в котором очень холодная зима и очень жаркое лето. Городе, в котором живет совсем немного людей, но который тем, что в нем происходит, даст фору многим другим городам. О городе, жители которого привычны к тому, что иногда, по ночам, на их небе появляется второе солнце.

Если вам интересно, чем живет один из немногих городов, из которых люди регулярно отправляются за пределы нашей планеты, то добро пожаловать.


Казахская ноооооочь... Ракета-носитель Востоооооок...
Всего голосов 131: ↑126 и ↓5+121
Комментарии81

Государство и Т-киллеры

Время на прочтение23 мин
Количество просмотров20K
Раз за разом, в разных топиках и разных статьях, на разных ресурсах я вижу от множества людей примерно одинаковую точку зрения. Точка зрения эта выглядит примерно следующий образом:
Я гражданин страны, таким образом, территория страны, которая приносит прибыль (через добычу полезных ископаемых или за счет использования территорий), принадлежит частично мне. Кроме того, я плачу налоги (как непосредственно, через НДФЛ, получая зарплату, так и опосредованно, покупая товары с НДС в цене), поэтому часть денег в бюджете — внесена мной, и я имею право на то, чтобы учитывалось мое мнение по поводу расходования этих денег и имею право принимать решения по управлению страной, так как необходимо, чтобы эти решения принимались в интересах граждан.
Мне эта точка зрения кажется неправильной. Шут бы с ней, если бы она была просто неправильной. Но в условиях современного социума она представляется мне ощутимо вредной для человека, мешая пониманию принципов взаимодействий с государством и создавая ощущение «я имею право, но мне не дают», что сказывается на продуктивности: сложно успешно работать и наслаждаться жизнью, если постоянно висит ощущение, что тебе не додали того, что положено.
Читать дальше →
Всего голосов 163: ↑83 и ↓80+3
Комментарии769

Manifest of Smart Home Developer: 15 principles

Время на прочтение12 мин
Количество просмотров4.1K
Today I’d like to speak about Smart homes and IoT devices. But it is no ordinary article. You won’t find description of hardware, links to manufacturers, batches of code or repositories. Today we’ll discuss something of a higher level — principles that are used to organize “smart” systems.

image



Smart home is a system that can do some everyday routines instead of a person. It leads us to the first and the main principle:
Read more →
Всего голосов 29: ↑27 и ↓2+25
Комментарии1

Манифест разработчика умных систем: 15 принципов

Время на прочтение14 мин
Количество просмотров22K
Мы предлагаем вашему вниманию статью Владислава Зайцева (vvzvlad), приглашенного гостя нашего блога. Владислав давно занимается темой «умных домов», и обобщив свой опыт, он предлагает следующие основные принципы дизайна такого рода систем.

Сегодня я хочу поговорить с вами об «умных» домах в частности и IoT-устройствах в целом. Но это будет не обычная статья: тут не будет железок, ссылок на производителей, кусков кода и репозитариев на гитхабе. Сегодня мы будем обсуждать нечто более высокоуровневое — принципы, по которым организуются «умные» системы.

image

Продолжая читать статью, вы соглашаетесь с тем, что вас устраивает следующий disclaimer.

Собственно, сам disclaimer
  1. Все эти пункты касаются только потребительских IoT-систем (читай «умных домов»). Тех, что человек может купить в магазине и установить без привлечения специализированных инсталляторов/интеграторов.
  2. Часть этих принципов не применима к промышленным системам (там свои требования и принципы), а также, к системам, где есть отделённые от пользователя эксплуатанты (например, умный дом, который устанавливается и обслуживается специально обученными людьми).

    Также часть принципов не применима к системам уровня «игрушка для гиков», к самодельным и open-source системам, у которых нет единого product owner.
  3. И, конечно, всё написанное ниже — это исключительно моё мнение, основанное на моём многолетнем опыте. Вы имеете право не соглашаться с ним.



Умный дом — это система, которая берёт на себя часть повседневных забот человека. Отсюда следует первый и самый основной принцип:
Читать дальше →
Всего голосов 55: ↑52 и ↓3+49
Комментарии98

Система управления умным домом на коленке: Tarantool

Время на прочтение25 мин
Количество просмотров26K
Интернет вещей врывается в нашу жизнь. Где-то совсем незаметно, где-то распихивая существующие порядки с изяществом паровоза. Всё больше устройств подключаются к сети, и всё больше становится разных приложений, веб-панелей, систем управления, которые привязаны к конкретному производителю, или, что еще хуже — к конкретному устройству.

Но что делать тем, кто не хочет мириться с таким состоянием, и хочет одно кольцо один интерфейс, чтобы править всеми? Конечно же, написать его самим!



Я покажу, как с помощью Tarantool быстро сделать даже не визуализацию, а полноценную систему управления, с базой данных, кнопками управления и графиками. С её помощью возможно управлять устройствами умного дома, собирать и показывать данные с датчиков.

Что такое Tarantool? Это связка «сервер приложений — база данных». Можно использовать её как базу данных с хранимыми процедурами, а можно как сервер приложений со встроенной базой данных. Вся внутренняя логика, будь она пользовательской или в виде хранимых процедур, пишется на Lua. Благодаря использованию LuaJIT, а не обычного интерпретатора, в скорости она не сильно уступает нативному коду.

Еще один важный фактор — Tarantool это noSQL база данных. Это означает, что вместо традиционных запросов вроде «SELECT… WHERE» вы управляете данными напрямую: пишете процедуру, которая переберет все данные (или их часть) и выдаст вам их. В версии 2.x поддержку SQL-запросов добавили, но панацеей они не являются — для высокой производительности часто важно понимать, как именно исполняется тот или иной запрос, а не отдавать это на откуп разработчикам.

В статье я покажу пример использования, когда внутри Tarantool пишется вся логика приложения, включая общение с внешними API, обработку и выдачу данных.

Поехали!
Всего голосов 36: ↑35 и ↓1+34
Комментарии30

Рюкзакодуализм: после 3 месяцев использования Bobby Bizz

Время на прочтение7 мин
Количество просмотров29K
Я обожаю рюкзаки. Рюкзак — это величайшее изобретение человечества. Он позволяет освободить руки, в отличии от пакетов, и правильно распределить вес на плечи и поясницу, в отличии от сумок-на-одно-плечо. Одно только не нравится мне: рюкзак — это не то, с чем можно красиво прийти на встречу с важными дядьками в костюмах.

Особенно, если ты тоже надел костюм. Так что либо терпи нечто матерчатое неопределенной формы на плече, либо таскай неудобную сумку, которая или занимает руку, или оттягивает одно плечо. Боль.

Поэтому, как только я увидел ролик рюкзака Bobby Bizz, я тут же попросил парней из Madrobots мне его дать поиграться. Я не буду врать вам, что я его купил за свои — все мы прекрасно понимаем, что даже если бы я это сделал, мне бы никто не поверил. Единственное, что они попросили в ответ — написать про этот рюкзак свои впечатления.


Читать дальше →
Всего голосов 40: ↑35 и ↓5+30
Комментарии70

Лаборатория «МегаФона»: как сотовый оператор тестирует технику

Время на прочтение9 мин
Количество просмотров22K
Оказывается, у МегаФона в Питере есть Лаборатория, которая занимается разными интересными вещами — от тестирования новых моделей телефонов еще перед их официальным выходом на рынок до составления требований по скорости отклика сенсорного экрана. Сегодня мы пройдемся по этой Лаборатории, познакомимся с ее обитателями и узнаем много страшных слов:


Ничего не понимаете? Ничего, после прочтения статьи будете!

Если заинтересовались — прошу под кат!
Читать дальше →
Всего голосов 57: ↑56 и ↓1+55
Комментарии52

Как МегаФон и Nokia в Нижнем Новгороде 5G-сети демонстрировали

Время на прочтение5 мин
Количество просмотров14K
Несколько дней назад мне довелось побывать в Нижнем Новгороде, на международном бизнес-саммите, на котором Megafon и Nokia продемонстрировали прототип БС и приемника стандарта 5G со скоростью передачи данных почти в 5Гбит/с:



На фотографии справа — прототип базовой станции нового стандарта, слева – прототип абонентского терминала.

Вы не смотрите, что абонентский терминал размером с базовую станцию и обладает антенной размером с корпус компьютера. К 2018 году (а именно тогда ожидается принятие стандарта 5G) абонентская часть усохнет и как обычно вместится в небольшой чип в вашем новом телефоне.

Хотите знать больше? Добро пожаловать под кат: робо-манипуляторы, пара слов о том, как передаются данные, умные базовые станции, PTT с видео и прочее.
Читать дальше →
Всего голосов 28: ↑24 и ↓4+20
Комментарии32

Добавляем WiFi к монитору качества воздуха: измеритель CO2 для умного дома

Время на прочтение10 мин
Количество просмотров18K
Измерители CO₂ от Даджет уже снискали некоторую популярность из-за своей доступности и достаточно низкой цены(да, до десяти тысяч за NDIR-измеритель это еще бюджетно).
И вот когда я в один прекрасный момент задумался о мониторинге в своем доме не только температуры и влажности, но еще и количества углекислого газа, я сразу же вспомнил об этой компании и ее приборах.



Как известно, датчиков у Даджет два — один подключаемый проводом к компьютеру, а к другому можно подключить контроллер(как было сделано тут) для считывания показаний. Меня больше интересовал второй вариант котроллера, так как я хотел, чтобы датчик не был привязан к компьютеру проводом, и его можно было разместить в любом месте квартиры.

Итак, решено: берем монитор CO₂ и прикручиваем к нему WiFi в виде ESP8266.
Читать дальше →
Всего голосов 21: ↑17 и ↓4+13
Комментарии36

Информация

В рейтинге
1 413-й
Откуда
Москва, Москва и Московская обл., Россия
Работает в
Дата рождения
Зарегистрирован
Активность

Специализация

Product Manager, Business Analyst
Senior