Обновить
3
0
Егор@Ommonick

SDET teamlead

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

Хватит кормить облака: переезд пет-проектов на старый ThinkPad с разбитым экраном

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

Два года я исправно заносил деньги хостерам. Сначала это были копейки за пару vps, потом захотелось управляемую базу данных, потом s3 для бекапов, и вот я уже смотрю на счет в 40 долларов ежемесячно за проекты, которыми пользуюсь я и полтора моих друга.

В какой-то момент жаба победила. Я посмотрел на полку, где пылился списанный корпоративный ноутбук с мертвой батареей, и решил: пора.

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

Вводные данные были так себе.

Ноутбук 2015 года. Core i5, 8 ГБ памяти, ssd на 256. Экран разбит, клавиатура залита кофе еще прошлым владельцем.

Главный плюс ноутбука в качестве домашнего сервера - встроенный ups. Батарея держала минут 15, но этого хватало, чтобы пережить мигание света в подъезде и корректно погасить базу, если электричество отрубили надолго.

Я накатил туда ubuntu server, кинул ноутбук под шкаф в прихожей и подключил витую пару. Сразу совет: не используйте wifi для сервера, даже если роутер стоит в метре. Пакеты будут теряться, а вы будете терять нервы при дебаге, почему ssh отваливается каждые полчаса.

Читать далее

Автономный дом кочевника с дождевой водой, солнечными панелями. Жизнь без водопровода, газа и счетов

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

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

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

Читать далее

Роевой интеллект: как 15 строк кода заменяют централизованное управление дронами

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

Привет, Хабр! Сегодня мы погрузимся в увлекательный мир роевого интеллекта и децентрализованных систем. Я покажу, как простые правила, заложенные в каждый элемент системы, позволяют добиться сложного группового поведения без единого центра управления. В качестве полигона используем виртуальный рой автономных дронов.

*Код и симуляция: Python 3.8+, matplotlib, numpy

Проблема централизованного управления

Представьте, что вам нужно координировать движение 50 дронов. Первое, что приходит в голову — центральный контроллер с нейронной сетью, которая вычисляет оптимальные траектории для каждого аппарата. Но у этого подхода есть фундаментальные недостатки:

Читать далее

Прекратите создавать интерфейсы

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

Я пишу всякое на Go в Ви.Tech (IT-дочка ВсеИнструменты.ру) и как и все, люблю подискутировать на технические темы.

У этой заметки сложная судьба, мне загорелось написать ее еще летом, но совершенно не хотел говорить об очевидных вещах и писать миллион первую статью со ссылкой на гугловский go code review comments. Тема уже разобрана всеми кому не лень, на русском языке вот у  Николая @JustSkiv Тузова, есть замечательное видео на его ютуб канале, раскладывающее по полочкам, для чего это нужно.

Последний дисклеймер и перейду к сути: тема на самом деле очень обширна и я сознательно сконцентрировался на одном аспекте (неуместные определения интерфейсов). Буду рад, если продолжим общение в комментариях, очень не хватает Хабра начала 10-х годов, с живыми, а иногда и крайне горячими, инженерными дискуссиями.

Читать далее

Ностальгические игры: Fallout New Vegas

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

Начав знакомство с серией Fallout с ее первых частей, выход третьей вызвал во мне смешанные чувства. С одной стороны, это было захватывающее приключение от первого лица в мире любимой игры, с другой же проект ощущался для меня больше как шутер с элементами RPG, где от глубокой ролевой системы классики осталось не так много. И только с выходом New Vegas я наконец получил ту игру, которая по духу оказалась ближе всех к классическому Fallout — даже несмотря на то, что работала она всё на том же движке, что и «тройка».

Для подготовки этой статьи я перелопатил весь интернет в поисках редких фактов и комментариев людей, которые работали над New Vegas. Нашлись даже интервью на японском языке 🤯 — не говоря уже о множестве англоязычных материалов. Я постарался собрать из всего этого цельный, увлекательный текст, который не просто расскажет о создании игры, но и, надеюсь, пробудит у вас желание снова вернуться на Мохавскую пустошь. New Vegas — по-настоящему глубокая и многослойная игра, и мне искренне хочется, если не отправить вас туда лично, то хотя бы подарить повод поностальгировать и узнать что-то новое, читая мой свежий обзор. А в конце вас ждёт бонус: полностью готовая сборка игры с фанатской модификацией, чтобы вы могли сразу после прочтения отправиться навстречу приключениям!

Читать далее

Система мониторинга и подсчета перелетных птиц

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

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

Проблема в том, что гусь летит 5-6 недель и неравномерно (насколько неравномерно - это базовый вопрос). И ещё нерешённая задача: гусь может лететь ночами.

Алексей Леонович вычислил место, где гуменника во время весенней миграции учитывать оптимальнее всего. Эта точка оказалась недалеко от меня. За 2 плюс один неполный световых дня в коридоре 7-8 км он насчитал почти 15.000 пролётных особей, а мы с друзьями ему в этом немного помогали.

Понятно, что посчитать это вручную более-менее точно не получится, поэтому я сразу подумал о том, чтобы автоматизировать задачу.

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

Читать далее

Как работают ИИ-агенты и кому они на самом деле нужны

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

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

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

Читать далее

Разбираемся с композитным видеосигналом NTSC, и стоит ли изучать его в 2025 году. Часть 2

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

В предыдущей статье я рассказал об основах композитного видеосигнала NTSC. Эта статья должна быть интереснее, так как она посвящена программной генерации такого видеосигнала. Тема интересна тем, что помимо самого видеосигнала вы ещё получаете множество практических навыков применения современных микроконтроллеров.

Сигнал CVBS можно получить, используя и FPGA-решения, но стоимость их выше, чем у микроконтроллеров, таких как Raspberry Pi Pico или ESP32.

Я использовал платы разработчика на базе микроконтроллера RP2040. На рынке существует несколько таких плат. Классика — это Raspberry Pi Pico, но есть несколько китайских аналогов, например, YD-2040. Отдельно хочется выделить RP2040 Zero от Waveshare — очень компактное решение, правда у него отсутствует порт для отладки, но можно обойтись и без порта.

Важный момент — СVBS-сигнал является аналоговый, поэтому стабильность напряжение на выходе играет важную роль и для приемлемого качества сигнала китайские клоны Raspberry Pi Pico могут не подойти, так как они страдают нестабильным напряжением на выходах. Мой совет — используйте или оригинальный Raspberry Pi Pico или RP2040 Zero от Waveshare.

Желающих продолжить чтение приглашаю под кат.

Читать далее

Linux-телефоны сейчас важнее, чем когда-либо

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

В октябре 2025 года Фонд свободного ПО (FSF) представил проект Librephone — это будет первый в мире полностью свободный смартфон, абсолютно открытый на уровне ПО и железа.

Проект пока находится на этапе идеи. Но эта идея абсолютно правильная и уже нашла поддержку у публики.

Читать далее

Адресная лента WS2812b на STM32 с помощью SPI

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

Подробное руководство по управлению адресной светодиодной лентой WS2812B с микроконтроллерами STM32 с использованием SPI. Обсуждаются кодирование битов, формирование массива данных, настройка яркости и передача нескольких светодиодов в цепочке.

Читать далее

Хакаем самую дешёвую консоль с Ozon

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

Помните статью про самую дешёвую консоль с Ozon — Sup GameBox? Тогда я рассказал вам о том, что у этого чуда инженерной мысли находится «под капотом» и почему эта консоль не так проста, как кажется на первый взгляд.

После статьи я решил написать письмо производителю процессора этой консоли. И что самое интересно — мне ответили! Даже Спустя 40 лет после релиза оригинальной NES, тайваньская компания V.R.T продолжает развивать архитектуру оригинальной NES. Мне больше ничего не оставалось, кроме как включить фен, достать программатор и хакнуть этот девайс...

Читать далее

Я решал LeetCode 600 дней подряд и что из этого вышло

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

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

Эта статья — впечатления о моём 600-дневном марафоне на этой платформе, динамике моих скилов и ответе на главный вопрос «надо ли решать там задачи?».

Все было спокойно, пока мы с другом не заключили спор — сможем ли мы решить 100 задач до конца 2023 года? А это было 50 задач всего за 1 месяц — декабрь.

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

Челлендж в 100 задач оказался достаточно легким — Новый год мы встречали уже с круглым числом выполненных задач в профиле. Так быстро мы решили не останавливаться — Покоренная вершина стимулировала покорить новую — 200 задач к началу лета (за 5 месяцев).

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

24 февраля 2024 в течении недели Leetocde предлагал неплохие и не очень сложные задачи на дейли челлендже, и у меня случайно получился стрик в районе 10 дней подряд.

Сбивать стрик было как‑то жалко — это же целых 10 дней. Так и началась долгая история в 600 дней...

Читать далее

Попытка одомашнить лису. Одомашнить получилось

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

Приручить это не одомашнить. Одомашнить, это когда зверь становится минимально агрессивным всю жизнь и рождаются от него такие же не агрессивные животные. Его как минимум можно гонять из пункта А в пункт Б, без ружья и вил. Скажем коровы не совсем и ручные, особенно постоянно пасущиеся, но одомашненные. Например пасти и гонять собачками стадо зебр или гну просто невозможно. Тоже самое лошади — они часто не ручные, но одомашненные. Если просто взять щенка волка или лисы из леса, то первый месяц он может быть даже добренький, а потом дикость ( которая есть выражение регуляции генов ) полезет буквально из пасти, он вас грызть начнёт, выть, биться об стенки, в общем вы поймёте что он не приемлем для жизни среди людей. Иногда дикие волчата до полового созревания туда‑сюда, приемлемы. Но после всё — суши воду, расплетай канаты, зверь есть зверь и может даже тебя сожрать.

Эксперимент с одомашниванием лис мягко говоря известный, но не все факты на широкую аудиторию вышли. Современные генетики всё таки нарыли способы как одновременно получать красивую, пушистую лису и не злобную. У Беляева с 1959 года получилось сделать лис добрыми, но тут же просело качество меха, а заодно он не смог даже к 1985 гарантированно получать по 2 сезона размножения от лис, хотя были планы выйти на уровень размножения собак. Дикие лисы размножаются строго 1 раз в год, включая всех лис содержащихся на фермах. Современная генетика за три десятка лет с 1980х, баг почти исправила. Почти, не не все баги и не полностью.

У Дмитрия Беляева в 1950-х был со всех сторон СССР, а значит отпадал вопрос в той же звероферме. В СССР это дело было связано с колхозами и значит не реагировало на понятие — выгодно‑не выгодно. Сегодня ему б никто не выдал такие ресурсы. А тогда ферма в Эстонии — 60 гектаров, 1500 чернобурок и вот готов первый опыт отбора лис. Важность меховой продукции была такой, что в Москве существовал отдельный — Московский пушно‑меховой институт, 1929 — 1954. Мех тех же чернобурок шёл на экспорт, это валюта. В общем на этой звероферме Беляев познакомился с будущими коллегами по одомашниванию, присмотрелся к проблемам, приметил нужный способ проверки животных, которых можно размножать.

Читать далее

Прокачиваем Meshtastic — увеличение дальности своими руками. Направленные антенны

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

Несколько лет назад автором был представлен цикл статей, посвящённый теме организации текстового радио-чата без применения сотовой связи, на основе модулей Lora и ESP32. Ознакомиться с ними вы можете тут:

Часть 1 >>> Часть 2 >>> Часть 3 >>> Часть 4

А так же, начат цикл статей на тему лёгкой теории и рассмотрены конструкции простых антенн в приложении к теме Meshtastic и ISM-конструкций.

Статья 1 >>> Статья 2

Третья статья посвящена прототипу универсальной конструкции направленной антенны, где можно сделать основу в виде базы из 3х направленных элементов с правильным питанием и при необходимости поднять усиление антенны, увеличив количество элементов простой надстройкой (без необходимости делать новые модели). Всё, как всегда, из..."того что есть под ругой и палок" для технически творческих коллег. :)

Направленная антенна для Meshtastic

Какой была бы Всемирная паутина, если бы вместо WWW был Gopher

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

В начале 90-х Всемирная паутина (World Wide Web) вовсе не была единоличным хозяином сети. У неё был серьезный конкурент — протокол Gopher. Как изменилась бы наша цифровая реальность, если бы в конечном счёте он не утратил популярность? В статье расскажу, что такое Gopher, почему он уступил WWW, и каким мог бы стать современный интернет, если бы он развивался на базе этого протокола.

Читать

Garbage In, Garbage Out: как мы учили ИИ искать не в веб-помойке, а в библиотеке. И чему мы научились сами

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

Ищем как Perplexity по базам научных публикаций, стандартам, книгам, мессенджерам и социальным сетям.

Читать далее

Почему батареи в некоторых телефонах живут так мало

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

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

В статье разберём, почему заряда не хватает на весь день, как Li-ion-аккумулятор стал лидером, почему батарея умирает, что именно её разрушает и какая у этого природа. Детали под катом.

Читать далее

Как растить мышцы двумя тренировками в неделю? Подход для людей с полной занятостью и готовый план на 2 дня

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

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

Только вот некоторые культурные и даже профессиональные мифы повышают порог вхождения в тренажерный зал. Взращивают ментальный барьер, к которому нужно морально готовиться, настраиваться и из-за этого постоянно откладывать начало тренировок. Один из таких барьеров — время. Многие думают, что тренировки обязательно должны быть продолжительными, чтобы быть эффективными. Второй барьер — утомление. Не редко можно услышать что-то из разряда “не устал = не потренировался”“не болит = не растет”.

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

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

UPD: отвечая на комментарии про то, что не хватает картинок/видео упражнений, количества рабочих подходов и распределения нагрузки — в статье все есть. В конце материала найдете все, чего не хватает в самой статье, иначе она была бы еще длиннее.

Читать далее

Как обмануть LLM: обход защиты при помощи состязательных суффиксов. Часть 1

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

Что будет, если к опасному запросу в LLM приписать специально подобранную строку токенов? Вместо отказа модель может послушно сгенерирует подробный ответ на запрещённую тему — например, как ограбить магазин. Именно так работают состязательные суффиксы: они заставляют LLM игнорировать ограничения и отвечать там, где она должна сказать «опасно».

Читать далее

Распределённая батчевая обработка данных: как мы решали проблему гонок в продакшене

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

Всем привет! Меня зовут Дмитрий, я руковожу командой государственных интеграций в Ozon Банке. Сегодня я расскажу о том, как мы столкнулись с проблемой гонок при батчевой обработке данных в распределённой системе — и какие решения мы рассматривали, чтобы эту проблему решить. Материал основан на реальном кейсе и будет интересен всем, кто работает с PostgreSQL, батчами, распределёнными системами и борьбой за консистентность в высоконагруженных системах.

Читать далее
1
23 ...

Информация

В рейтинге
Не участвует
Работает в
Дата рождения
Зарегистрирован
Активность

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

Бэкенд разработчик, Аналитик по обеспечению качества
Ведущий