Pull to refresh
384
1.3
Влад @vvzvlad

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

Send message

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

Reading time29 min
Views285K

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


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


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



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


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

Читать дальше →
Total votes 43: ↑42 and ↓1+51
Comments73

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

Reading time16 min
Views12K

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

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

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

Далее
Total votes 31: ↑27 and ↓4+33
Comments50

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

Reading time8 min
Views30K

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

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

Read more
Total votes 47: ↑44 and ↓3+52
Comments99

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

Reading time12 min
Views44K
Для того, чтобы эффективно разрабатывать под Flipper, надо не только понимать, как писать код, но и понимать, что внутри у него.

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



Тут все не так, слишком уж близко к железу происходит разработка. Статья — это краткий экскурс в то, как устроен Flipper с железной точки зрения. Поехали.
Читать дальше →
Total votes 152: ↑149 and ↓3+189
Comments85

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

Reading time19 min
Views31K

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

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

Читать далее
Total votes 88: ↑85 and ↓3+112
Comments74

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

Reading time28 min
Views93K

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

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

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

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

Там огромный лонгрид, я предупредил
Total votes 220: ↑176 and ↓44+209
Comments1859

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

Reading time15 min
Views22K

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

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

Читать дальше
Total votes 69: ↑59 and ↓10+70
Comments75

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

Reading time7 min
Views43K

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

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

Read more
Total votes 102: ↑55 and ↓47+30
Comments717

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

Reading time5 min
Views11K
За годы работы архитектором я видел разных заказчиков, и одна из самых частых ошибок формулирования ТЗ и хотелок заказчика — это смешение разных уровней абстракции. Приходит человек и говорит:

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

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

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

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

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



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

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

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

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

image

Я, в отличии от него, лычек сеньора не ношу, и стаж разработки у меня на пару лет поменьше, да и профильного образования, у меня, если честно, нет. Но вот проблем у меня с базовым интересом к работе не было, и мне кажется — причина в несколько ином восприятии реальности.
Статья для широкого круга читателей.
Читать дальше →
Total votes 37: ↑23 and ↓14+18
Comments49

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

Reading time25 min
Views22K
Я буду рассказывать про Байконур и старт ракеты, но это не будет очередной пост про космос: увы, я дилетант в космической тематике, который вряд ли расскажет что-то интересное о топливе, спутниках и системах управления.



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

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


Казахская ноооооочь... Ракета-носитель Востоооооок...
Total votes 131: ↑126 and ↓5+121
Comments81

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

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

Manifest of Smart Home Developer: 15 principles

Reading time12 min
Views4.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 →
Total votes 29: ↑27 and ↓2+25
Comments1

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

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

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

image

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

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

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



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

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

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

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



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

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

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

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

Поехали!
Total votes 36: ↑35 and ↓1+34
Comments30

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

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

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

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


Читать дальше →
Total votes 40: ↑35 and ↓5+30
Comments70

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

Reading time9 min
Views22K
Оказывается, у МегаФона в Питере есть Лаборатория, которая занимается разными интересными вещами — от тестирования новых моделей телефонов еще перед их официальным выходом на рынок до составления требований по скорости отклика сенсорного экрана. Сегодня мы пройдемся по этой Лаборатории, познакомимся с ее обитателями и узнаем много страшных слов:


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

Если заинтересовались — прошу под кат!
Читать дальше →
Total votes 57: ↑56 and ↓1+55
Comments52

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

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



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

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

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

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

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



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

Итак, решено: берем монитор CO₂ и прикручиваем к нему WiFi в виде ESP8266.
Читать дальше →
Total votes 21: ↑17 and ↓4+13
Comments36

Information

Rating
1,484-th
Location
Москва, Москва и Московская обл., Россия
Works in
Date of birth
Registered
Activity

Specialization

Product Manager, Business Analyst
Senior