SWE notes: инженерные заметки

SWE notes: инженерные заметки

@swenotes

Канал про разработку ПО и технологии.В нем я делюсь как авторскими материалами из своего блога https://www.swe-notes.ru так и полезными ссылки на другие ресурсы

475подписчиков
🇷🇺

Похожие каналы

Все →

Последние посты

📍Meshtastic Недавно начал разбираться с работой LoRa-связи. Это некий протокол, который позволяет передавать небольшие посылочки на расстояние в несколько километров используя очень маленькую мощность. И тут внезапно для себя открыл такое явление, как меш…Наконец-то у меня дошли руки тоже попробовать данную технологию, и чтоб ничего не упустить я написал небольшой гайд по настройке простой ноды.Для эксперимента я прикупил 2 ноды, чтобы проверить в каких условиях и какую дальность они смогут обеспечить.По итогу в условиях городской застройки на улице и между домами прямая видимость нод была 400-600м, по лесу дальность была чуть больше (в районе 1км).Далее планирую настроить еще 2 ноды и продолжить эксперименты уже с учетом ретрансляции.

20 мая 2026 г.343В Telegram

Ну наконец-то нашли куда вбить ещё один жирный гвоздь в крышку гроба российского ИТ.В целом, конечно, печально наблюдать на тем, как убивается целая отрасль в стране. Эти люди не понимают простого, что много прошивок тех же ЧПУ станков, роботов и прочих проектов с помощью которых у них сейчас хоть что-то работает (включая Маху) станет не доступно для них же. И приведет к откату отрасли в начало 90-х когда каждая утилита писалась для себя и, зачастую, в стол.Хочется спросить у а кто после переноса будет это поддерживать и развивать?Ответ на это конечно же очевиден - энтузиасты в свободное от работы время... Только вот им это зачем?На GitHub ты зарабатывал статус эксперта и уважение людей со всего мира, которые ещё и рублем помогали, а тут какой интерес - непонятно...

12 мая 2026 г.420В Telegram

Исследователи Лаборатории Касперского предупреждают, что программное обеспечение DAEMON Tools заражено в результате широкомасштабной атаки на цепочку поставок.Как отмечают исследователи, основываясь на многолетнем опыте анализа атак через цепочку поставок, злоумышленники организовали взлом DAEMON Tools весьма искусно.В начале мая 2026 года в ЛК обнаружили, что установщики DAEMON Tools (в версиях с 12.5.0.2421 до 12.5.0.2434) для монтирования образов дисков заражены вредоносным кодом.Анализ показал, что троянизированные версии распространяются с 8 апреля 2026 года. С разработчиками DAEMON Tools из компании AVB Disc Soft оперативно связались для принятия дальнейших мер по устранению последствий атаки.Однако выявленная атака на цепочку поставок все еще продолжается. В обнаруженных вредоносных имплантах нашлись артефакты, указывающие на то, что злоумышленник, стоящий за этой атакой, говорит по-китайски.Согласно телеметрии ЛК, с начала апреля произошло несколько тысяч попыток заражения через DAEMON Tools, затронувших частных лиц и организации более чем в 100 странах: большинство - в России, Бразилии, Турции, Испании, Германии, Франции, Италии и Китае.Однако дальнейшее развертывание вредоносной нагрузки наблюдалось лишь на десятке зараженных машин, принадлежащих организациям из сферы торговли, науки, госуправления и производства, что указывает на целенаправленный характер атаки.Злоумышленникам удалось скомпрометировать DTHelper.exe, DiscSoftBusServiceLite.exe и DTShellHlp.exe, которые находятся в каталоге, где установлено ПО DAEMON Tools. Примечательно, что все они имеют цифровую подпись AVB Disc Soft.Бинарные файлы запускаются при старте компьютера и каждый раз активируется бэкдор, который встроен в код автозапуска, отвечающий за инициализацию среды CRT. Бэкдор работает в отдельном потоке, который используется для отправки GET-запросов на сервер злоумышленника.Вредоносный сервер использует адрес, созданный 27 марта за неделю до начала атаки при помощи тайпсквоттинга леги

5 мая 2026 г.414В Telegram
SWE notes: инженерные заметки — пост в ТГ канале

В нашем сайте вышла статья про сравнение производительности Picodata Sirin и Cassandra 5.0.6. При подготовке материала мы стремились решить следующие задачи:• определить, насколько Sirin пригоден для замены Cassandra в типовых сценариях нагрузки• выявить области, требующие дальнейшей оптимизации.Статья охватывает операции записи и чтения на схеме данных, характерной для timeseries workload. Мы измерили пропускную способность, время выполнения запросов, потребление вычислительных ресурсов (CPU, RAM) и нагрузку на дисковую подсистему.Приятного чтения! 📊

22 апр. 2026 г.374В Telegram

Хотелось про дроны, но давайте поговорим про Debian и «not enough space»Ребята, очень хочется написать что-нибудь ещё про дроны, но увы — я к ним никакого отношения не имею. Ну, кроме как дать транспортную сеть, чтобы видео с них нормально шло.Летать на них при помощи LTE всё равно не выйдет (да, это снова небольшой камень в сторону тех, кто пытается загнать всех в Чебурнет под предлогом благой цели).Поэтому сегодня с утра поговорим про другое.У всех в армии есть сервера или АРМы (это Автоматизированные Рабочие Места) на Linux. У нас почти всегда это Astra Linux (а это по сути Debian), Ubuntu (тоже Debian), чистый Debian, Дионис (CLI там точно такой же, как в Debian) и иногда Numa (ну про неё лучше вообще не говорить).Короче, связисту в армии как ни крути надо знать пару слов про Debian.Если с командами ip a и ip r уже почти все разбираются, то вот одна ошибка до сих пор вводит многих в ступор:«not enough space» — место на диске закончилось под ноль.И почти всегда виноваты логи. Вот простая и понятная инструкция, как это почистить без интернета, без скачивания пакетов и без лишней нервотрёпки.1. Сначала смотрим, сколько вообще места осталось: df -h2. Ищем, где самое большое пожирание: du -sh /* (обычно сразу видно, что /var самый жирный)3. Заходим в логи: cd /var/log du -sh *4. Чистим старые логи (самое безопасное):- Для journald (Astra/Ubuntu/Debian): sudo journalctl --vacuum-time=10d (оставит логи только за последние 10 дней) илиsudo journalctl --vacuum-size=500M (оставит только 500 МБ логов)- Старые текстовые логи можно просто удалить: sudo rm -f *.log.*sudo rm -f *.gz5. Чтобы в будущем не повторялось, ставим автоочистку: Открываем файл: sudo nano /etc/systemd/journald.conf Находим и меняем строки:SystemMaxUse=500M SystemMaxFileSize=50M RuntimeMaxUse=200M Сохраняем (Ctrl+O, Enter, Ctrl+X) и перезапускаем:sudo systemctl restart systemd-journaldГотово. Место появилось, сервер вздохнул свободно.Если у кого-то после этих команд что-то пошло не так — пишите в к

10 апр. 2026 г.382В Telegram

👩‍💻 Understanding process thread priorities in Linux.• Интересная статья о приоритетах процессов в Linux, о работе ядра c приоритетами, и о том какие инструменты можно использовать для просмотра информации о приоритетах:➡️ https://blogs.oracle.com/linux/post/task-priority#Linux

9 апр. 2026 г.279В Telegram
SWE notes: инженерные заметки — пост в ТГ канале

🖥 Self Hosting.• Недавно искал определенный софт для домашнего сервера и нашел интересную подборку, которой хочу поделиться с вами. Сразу отмечу, что весь софт является бесплатным и имеет открытый исходный код, так что выбирайте нужные инструменты, если у вас есть свой хостинг.• Итак, для начала держите ссылку на руководство, которое включает в себя просто бескрайнее кол-во программ для самохостинга. Если изучили и что-то не нашли, хотя я в этом сомневаюсь, то переходим в еще одну коллекцию awesome-selfhosted и подреддит r/selfhosted/. Эти ресурсы точно закроют все ваши потребности!• Ну и вот еще несколько полезных инструментов для самохостинга:➡Umbrel OS - операционка, которая является хорошим вариантом для самохостинга домашних серверных приложений.➡Pi-hole - фильтрация интернет-трафика во всей сети, блокировка рекламы.➡Plex - проприетарный медиасервер для стриминга (в качестве свободной альтернативы можно использовать Jellyfin).➡Transmission - быстрый и простой торрент-клиент, с ним интегрируется менеджер/индексатор Radarr или Sonarr для мониторинга RSS-раздач и автоматического скачивания новых эпизодов. Всё это сразу подгружается в Plex/Jellyfin. Есть ещё менеджер Lidarr - то же самое, только для музыки, и Prowlarr для интеграции Lidarr, Mylar3, Radarr, Readarr и Sonarr в одном интерфейсе.➡Audioserve, audiobookshelf и Boringstreamer - простые серверы для аудиостриминга, то есть раздачи аудиофайлов из папок (аудиокниги, музыка, подкасты).➡Nextcloud - опенсорсная замена Google Drive и другим облачным хостингам.➡PhotoPrism - хранение фотографий, красивый интерфейс для просмотра альбомов и удалённого доступа.➡Invidious - клиент для YouTube без трекинга и рекламы.➡Whoogle - фронтенд для Google, очищенный от рекламы, скриптов, ссылок AMP, кукисов и трекинга по IP-адресам с профилированием пользователей, чем занимается Google.➡LibReddit - альтернативный приватный фронтенд для Reddit, тоже без трекинга и рекламы.➡SyncThing - синхронизация файлов между всеми устройст

9 апр. 2026 г.311В Telegram

Опубликовал свою статью о новом планировщике в Vinyl на Хабр. Это результат работы по проекту импортозамещения Cassandra на основе Picodata, которую мы делали в январе-феврале 2026 года, сейчас код уже полностью доступен в релизах Picodata 26.1 и нашем Tarantool 2.11.8. Лайк-шер-алишер.

9 апр. 2026 г.301В Telegram

Необычные чувства возникают при написании этих строк, но итог закономерен. 20 лет для инди-проекта — это немало. Он начинался как эксперимент для самообразования, но превратился в нечто большее. Работа над цептером изменила не только меня, но и людей вокруг. Я рад, что смог вдохновить многих начать свой путь в IT индустрии. На протяжении этих лет с проектом были связаны различные истории. Одно оставалось неизменным - путь вперед и постоянное совершенствование. Всем сопричастным - спасибо.Жалко, когда легендарные проекты заканчивают свой жизненный цикл 😢

7 апр. 2026 г.328В Telegram

Провёл собственное исследование по языкам программирования будущего.В целом, дядька Боб правильно уловил ветер и выдвинул правильные требования к языку программирования для AI:- гомоиконичность;- явные типы;- никаких скрытых потоков управления;- контракты встроены в язык.Но это пока просто идея. Не реализовано даже формальной верификации контрактов. Типы явные, но это скорее аннотации, чем Хиндли-Милнер. Нет алгебраических типов с exhaustive matching (хотя tagged unions упомянуты). Нет вывода типов.Если цель - ИИ как полноценный разработчик, нужен язык, который максимизирует вероятность того, что сгенерированный им код корректен. Это значит: сильная система типов (компилятор ловит ошибки ИИ), простота (меньше галлюцинаций), достаточный объём кода в обучающих данных, и путь к формальной верификации.Lean 4 - стратегически самый интересный, но практически самый рискованный. Если через 5-7 лет Lean станет практическим языком программирования, выбравшие его сейчас окажутся впереди всех. Но не сегодня.На сегодняшний день выделяются два языка.Rust - первый кандидат. Огромный объём обучающих данных, ИИ пишет на нём уверенно. Borrow checker отсекает ошибки с памятью. Система типов ловит логические ошибки. Verus, rocq-of-rust, Aeneas для верификации. Экосистема зрелая. Один минус - сложность языка увеличивает вероятность, что ИИ сгенерирует компилируемый, но неидиоматичный код. Тем не менее, строгость компилятора это компенсирует.Ownership-модель - это фундамент, на котором можно строить доказательства.Правила Rust устраняют настолько много трудноформализуемых случаев, что это делает его одним из самых удобных современных языков для применения формальных методов.OCaml - второй кандидат. Меньше обучающих данных, но язык проще, и паттерны более предсказуемые. Алгебраические типы и exhaustive pattern matching - идеальный формат для ИИ-генерации: он описывает все случаи, компилятор проверяет, что ИИ ничего не пропустил. Gospel (Generic OCaml SPEcification Language) - tool-agnosti

3 апр. 2026 г.456В Telegram

назначил(-а) Вас модератором канала в МАХ

1 апр. 2026 г.380В Telegram

Нашел тут довольно прикольную TUI утилитку ghgrub для скачивания отдельных файлов из Github.Не знаю как у вас, а у меня такая потребность регулярно всплывает для каких-нибудь скриптов или Docker файлов.#cli #tui #github #rust

1 апр. 2026 г.419В Telegram

Продолжаю эксперименты с "вайбокодингом". Если это так можно назвать, потому что вайб какой-то не очень, работы сделано много, но ее качество часто под вопросом, а сил оно отбирает как управление небольшим отделом живых програмеров. Собственно что пишем - аналог Elastic/OpenSearch только с упором на индексацию JSON-документов, а не поиск по подстрокам в значениях. Я в проекте не написал ни строчки.Некоторые новые замечания:- Подобные проекты подразумевают публичное API. Если вы не хотите, чтобы ваше API выглядело как результаты bindgen из сакрального кода библы из 90х, которую все боятся трогать, потому что полетит половина продакшена - API дизайните только сами. В крайнем случае, даете пример хорошего API, пробуете чтобы агент сам надизайнил под ваш проект, проверяете, материтесь, исправляете- Экспертиза в домене. Если не знаете нюансы - вам быстро навешают слоп и вытянут токены. Всё как у людей.- Мульти-агенты. На самом деле достаточно двоих - один кодит, второй супервайзит. Можно гонять даже на одном движке, главное чтобы сессии были разные и независимые и были выставлены роли-скиллы.- Общение агентов. Чаты-почта-джира - сразу нет. Это инструменты для людей, чтобы можно было найти крайнего "а вот Петя написал что можно, а вот Рома закрыл таску а она не работает" - агенту на это наплевать. Генерить слоп в переписке они всегда обожают, так что идеальный вариант - текстовый файлик, в который они пишут свои соображения, перекидывая друг другу- После выполнения задачи и обновления техдокументации, файлик опять же уничтожается - рыться в этом слопоархиве кому-то вряд-ли захочется, как и тыкать носом агентов "а вот вы сделали, а оно опять не работает через 10050 новых тасок" - см. выше. Заставляем покрыть всё найденное тестами и забываем навсегда- Ручное тестирование человеком - никуда не денется. Запрос "а нагенери-ка мне 30-40 хороших тестов" - тут несколько вариантов. Либо тесты будут слоп, либо они будут о каких-то материях внутри проекта, которые бы вам в голову не

17 мар. 2026 г.461В Telegram
SWE notes: инженерные заметки — пост в ТГ канале

🥟 «Резюме с пельменями» принесло айтишнику собеседование — рекрутер заподозрил неладное, когда увидел начинкуАйтишник из Гродно вписал рецепт пельменей в резюме вместо опыта работы и умудрился получить оффер. Чтобы оно соответствовало всем ИИ-алгоритмам, он тщательно соблюдал все требования к оформлению и ключевым словам.Через неделю он получил приглашение на собеседование. Рекрутер заподозрил, что что-то не так, только во время встречи, когда начал разбираться, что за «опыт работы» у кандидата.🥟 «Резюме с пельменями» принесло айтишнику собеседование — рекрутер заподозрил неладное, когда увидел начинкуАйтишник из Гродно вписал рецепт пельменей в резюме вместо опыта работы и умудрился получить оффер. Чтобы оно соответствовало всем ИИ-алгоритмам, он тщательно соблюдал все требования к оформлению и ключевым словам.Через неделю он получил приглашение на собеседование. Рекрутер заподозрил, что что-то не так, только во время встречи, когда начал разбираться, что за «опыт работы» у кандидата.

12 мар. 2026 г.505В Telegram