Обновить
3
0
Michael Elin@vanelm

Consulting Network Engineer

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

Публичное вскрытие: Провал IBM Watson Health

Уровень сложностиПростой
Время на прочтение3 мин
Охват и читатели7.4K

Как IBM не смогла превратить технологию Watson в медицинский продукт и потеряла миллиарды.

(От автора: Все факты в этом материале взяты из открытых источников: The Wall Street Journal, STAT News, IEEE Spectrum и других. Имена и события реальны. Наша цель — извлечь уроки из чужих ошибок, а не бросить камень в гиганта. Великие провалы учат лучше скромных успехов.)

Читать далее

ATS-20+ — мал да удал. Испытания компактного широкополосного радиоприемника

Время на прочтение5 мин
Охват и читатели24K

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

Стремление к компактности и дешевизне привело к созданию линейки универсальных чипов для построения DIY-радио — Silicon Labs 473X. Китайские инженеры ухитрились полностью запихнуть приемный тракт внутрь единственной недорогой микросхемы, которая прекрасно совместима с различными микроконтроллерами и может управляться по I2C-шине. Она стала центральной частью разных приемников, один из которых мы сегодня детально разберем.

Читать далее

Контроллер управления насосами полива на Arduino Uno с сенсорами Capacitive Soil Moisture Sensor v2

Уровень сложностиСредний
Время на прочтение5 мин
Охват и читатели11K

Хочу представить вашему вниманию контроллер управления насосами в зависимости от датчиков влажности.

Программа написана на C++ с использованием фреймворка Arduino.

Но никаких дополнительных библиотек типа Thread для реализации кода без блокировок(delay).

Важно отметить:

Программа использует объектно-ориентированное программирование с классами SoilSensor,PumpController, ProcessStats и Pump, используются классы, конструкторы и другие объектно-ориентированные возможности.

Программа предназначена для выполнения на микроконтроллерах Arduino или совместимых платформах.

Читать далее

Как я собрал себе нормальную аудиосистему из выброшенных кем-то колонок

Время на прочтение5 мин
Охват и читатели43K

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

Долгое время меня устраивали любые колонки, которые были под рукой: от дешевых пластиковых «пищалок» до встроенных динамиков ноутбука. Но однажды все изменилось. Я понял, что даже старые, случайно найденные колонки могут подарить отличный звук. Эта история — о том, как я собрал аудиосистему, которая радует каждый день, без аудиофильских крайностей и огромных затрат. Сразу скажу, в статье нет особых технических ноу-хау. В общем, поехали!

Читать далее

Создаем гаджеты с Matter — новым стандартом для умного дома

Уровень сложностиПростой
Время на прочтение10 мин
Охват и читатели12K

Предположим, мы хотим создать устройство для умного дома, совместимое с Google Home, Amazon Alexa, Samsung SmartThings, Apple HomeKit, Tuya и другими платформами. В таком случае нам придется присоединиться к их партнерским программам и уже настраиваться на серьезный лад.

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

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

Простой пример — под катом

Личный топ методов Pandas

Время на прочтение2 мин
Охват и читатели10K

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

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

Читать далее

DHCP: настройка серверов, Relay и анализ трафика в Wireshark

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

Приветствую! В любой сети устройства должны получать IP-адреса, шлюзы и DNS-серверы, чтобы корректно обмениваться данными и иметь доступ в Интернет. Конечно, можно настраивать всё вручную, но в реальной жизни это неудобно и часто приводит к ошибкам. На помощь приходит протокол DHCP (Dynamic Host Configuration Protocol). Его задача проста - автоматически раздавать клиентам все необходимые сетевые параметры, включая IP, маску подсети, шлюз и DNS.

В этой работе мы подробно разберём, как работает DHCP, от процесса обмена сообщениями DORA (Discover, Offer, Request, Acknowledge), через анализ сетевого трафика в Wireshark, до настройки DHCP-сервера на MikroTik и Ubuntu-Server. Мы также рассмотрим дополнительные возможности протокола, такие как DHCP Relay, который позволяет обслуживать клиентов в других подсетях.

Читать далее

Реально ли извлечение энергии из радиоволн?

Время на прочтение8 мин
Охват и читатели17K

Картинка: pikisuperstar, freepik

Вокруг каждого из нас плещется невидимый океан, в котором мы находимся с самого рождения — электромагнитные излучения, которые пронизывают всё вокруг. Будучи однажды осуществлёнными (1896 г., А.С. Попов), способы радиопередачи существенно эволюционировали за 128 лет, и в настоящее время мы не можем себе представить жизнь без такого канала доставки информации.

К тому же, если раньше только ограниченный круг людей непосредственно сталкивался с радиосвязью, а другие лишь знали о том, что «она в принципе где-то есть» (слушая те же радиостанции, например), то с появлением и распространением сотовой связи и мобильного интернета очень большое количество людей стало непосредственными пользователями её. Хочется сказать: «и количество излучений вокруг нас ещё более прибавилось» :-) — это будет важно в свете того, о чём пойдёт речь далее.

Таким образом, в подавляющем большинстве применений радиосвязь используется для передачи информации — непосредственной или, например, в случае тех же радаров, отражённой от объекта.

Однако помимо информации, которую несёт радиоволна, она обладает и определённой энергией, поэтому тут существует некоторая возможность и для извлечения из радиоволн энергии! 

Посмотрим, какие возможности тут есть...

Читать далее

Вайб-кодинг и реальное программирование на С++

Уровень сложностиСредний
Время на прочтение10 мин
Охват и читатели13K

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

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

Эта статья - подведение итогов небольшого эксперимента (над собой) по использованию вайб-кодинга в С++ проекте, что для программиста с 30-летним стажем работы стало практически вызовом и серьезным выходом из зоны комфорта. Но сейчас все проблемы решены, и в соответствии с Хабрахаком я решил оформить полученные выводы в письменном виде для их систематизации, а заодно и для получения обратной связи.

Читать далее

Монитор качества воздуха Zigbee своими руками

Уровень сложностиПростой
Время на прочтение10 мин
Охват и читатели20K

Сразу должен сказать, что идея не моя. Изначально речь шла об устройстве на дисплее epaper, который бы на экран выводил значения CO2, температуру и влажность. Ну еще время. В процессе обсуждения родился проект, который мы назвали Air Quality Monitor.

Самым главным критерием была выбрана повторяемость как можно большим количеством пользователей Умных Домов, даже теми, которых пугает паяльник. Поэтому все датчики были выбраны в виде готовых модулей, которые просто вставляются в соответствующие разъемы на общей плате, а пайка сведена к минимуму.

Читать далее

Звонки через Jabber в докер-контейнере за 5 минут

Уровень сложностиПростой
Время на прочтение8 мин
Охват и читатели28K

В свете сами знаете чего, свой приватный мессенджер и возможность звонков на XMPP стали как никогда актуальны.

Есть быстрый и простой способ: за несколько минут вы поднимаете собственный Jabber-сервер. Дальше — дело техники: рассылаете приглашения маме, бабушке, теще, жене и соседке Даше. После этого можно спокойно звонить и переписываться в защищённом мессенджере, который полностью под вашим контролем.

Звонки идут в зашифрованном режиме, работают p2p. А если у собеседника хитрый NAT, то на помощь автоматически приходит встроенный STUN-сервер.

Клиенты есть под все платформы: Android, iOS, Windows, macOS и Linux.

Читать далее

Скриншоты сайта в адаптивную Tailwind верстку

Время на прочтение2 мин
Охват и читатели8.7K

Я знаю, что существует 100 500 способов перекинуть картинку в готовую вёрстку.
Но когда у меня дошло до дела, результат оказался так себе.
То ли я криворукий, то ли все эти инструменты ещё далеки от совершенства.
В итоге понял, что мне проще накидать свой собственный велосипед — скрипт на Python (~200 строк).

Решил выложить, может, кому‑то пригодится.

Скрипту можно скормить три скриншота сайта:

1) Десктоп‑версия

2) Планшет

3) Мобильная версия

На выходе получим одну HTML‑адаптивную вёрстку (десктоп, планшет, мобила) с использованием Tailwind CSS.

Читать далее

Книга «Основы Go: Community edition» 2-е издание

Время на прочтение4 мин
Охват и читатели8.5K

Всем привет!

Завершил обновление предыдущей версии книги и выкладываю в открытый доступ второе издание «Основы Go: Community edition». О том, что изменилось, когда будет печатная версия книги и многом другом - в самой статье ;-)

Читать далее

Unit тесты в React разработке

Уровень сложностиПростой
Время на прочтение5 мин
Охват и читатели6.6K

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

Читать далее

Собери Svelte 5 в своей голове

Уровень сложностиПростой
Время на прочтение12 мин
Охват и читатели6.9K

Даже если вы никогда не заглядывали «под капот» фреймворков, Svelte 5 — отличный повод это сделать. Вместо сухих теорий мы шаг за шагом разберём, как привычный HTML-подобный код Svelte превращается в быстрый JavaScript, способный работать без лишнего балласта. Автор статьи, Тан Ли Хау из сообщества Svelte, показывает этот процесс на простых примерах, так что вы сможете буквально «скомпилировать» Svelte у себя в голове и понять, что на самом деле делает ваш код.

Читать далее

Ettercap: руководство по MITM-атакам в локальной сети

Уровень сложностиПростой
Время на прочтение7 мин
Охват и читатели5.9K

Контроль над сетевым трафиком? Легко. Перехват данных, подмена сайтов, изменение пакетов на лету — это лишь малая часть того, на что способен Ettercap.Мы написали краткий гайд, как подчинить себе этот инструмент.

Читать далее

Легчайший бот на Python, который переводит ваш голос в текст

Уровень сложностиПростой
Время на прочтение5 мин
Охват и читатели11K

Всем привет! Недавно вдохновилась всякими ботами в тгшке и решила для будущего портфолио сделать своего первого бота + подумала, что может быть это будет полезно кому-то из вас :-)

В этой статье разберём теоретические основы (базу) для его создания и сам код с понятными комментариями к нему.

Читать далее

Этот увлекательный мир радиоприёмников

Уровень сложностиПростой
Время на прочтение17 мин
Охват и читатели21K

В детстве я собирал радиоприёмники: от детекторных до довольно сложных супергетеродинов. Помню восторг, который я испытал, когда мне удавалось «поймать» на самодельный приёмник радиовещательные передачи на длинных и средних волнах. Но особую радость я получил, услышав разговоры радиолюбителей, медицинского персонала расположенной недалеко больницы и сигналы станций, передававших всякие непонятные сигналы голосом и морзянкой на коротких волнах.

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

Если же вы хотите быть на переднем крае технологий радио, обязательно попробуйте программно-определяемое радио SDR (Software Defined Radio). Возможности SDR намного превышают всё то, что можно реализовать за приемлемые деньги на чисто аналоговых технологиях. Тем, кто только начинает знакомиться с миром радио, я рекомендую сразу начинать с SDR. 

Читать далее

Как отличить грамотного спеца

Уровень сложностиПростой
Время на прочтение51 мин
Охват и читатели38K

Что необходимо иметь ввиду перед прочтением:

Здесь не будет всякой расплывчатой ерунды по типу "любопытства", "находчивости", "умения воспринимать критику", "увлечённости своей работой" – это относится ко всем нормальным людям.

Речь пойдёт в основном про системных администраторов.

Я буду рассматривать ситуацию со стороны коллеги, а не "бизнеса" (некомпетентного руководства).

Мне плевать на названия отделов и должностей. Я оцениваю человека по его уровню знаний и опыта, а не по записи в трудовой книжке. На "Ведущих инженеров по автоматизации" и "Руководителей ИТ департамента" я уже насмотрелся.

Я намешиваю всё специально, чтобы все попали под раздачу и всем было одинаково обидно (как это было с предприятиями моего города в предыдущей статье). Так что пусть вас не смущают противоречия и повторения.

Читать далее

Как я лишился законного перерыва на кофе и заодно ускорил Selenium тесты в 40 раз

Уровень сложностиПростой
Время на прочтение6 мин
Охват и читатели6.8K

Однажды мне предложили попробовать написать автотест для этого проекта, чтобы понять, будет ли мой подход эффективнее. Я использовал базовый Page Object Pattern и немного модифицированные (ради стабильности) методы Selenium. В результате получился выигрыш в ~10–15%. То есть смысла переписывать тесты особо не было.

Это стало отправной точкой. С тех пор прошло около 10 месяцев: я сменил несколько проектов, и на последнем количество тестов перевалило за сотню, а время выполнения превысило час. В целом ничего критичного — приходишь утром, запускаешь тесты и… спокойно идешь делать кофе или чай. Возвращаешься, проверяешь статусы задач, почту, составляешь план на день и т. д.

Круто? Да. Вот только при росте количества тестов очевидно вырастет и время выполнения. Ещё пара сотен тестов — и я буду успевать сгонять за кофе на другой конец города и обратно. Так что нужно искать решение.

Читать далее

Информация

В рейтинге
Не участвует
Откуда
Praha, Hlavni Mesto Praha, Чехия
Зарегистрирован
Активность