Обновить
256K+

Системное программирование *

Обеспечение работы прикладного ПО

297,35
Рейтинг
Сначала показывать
Порог рейтинга
Уровень сложности

100 вопросов с собесов по Rust: что реально спрашивают на junior, middle, senior позиции в 2026

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

Я срьрал 100+ вопросов с собеседований по Rust с краткими разборами: владение, типажи, конкурентность, async, unsafe, производительность и др. Отдельный продвинутый блок A1–A21 для staff-уровня. Цель - показать, где обычно спотыкаются даже опытные, и помочь подготовиться к следующему собеседованию. Надеюсь будет реально полезно!

Читать

Новости

Rust 1.96.0: новые типы Range, assert_matches, debug_assert_matches, WebAssembly targets

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

Команда Rust рада объявить о выходе новой версии языка — Rust 1.96.0. Rust — это язык программирования, который помогает каждому создавать надёжное и эффективное программное обеспечение.

Если у вас уже установлена предыдущая версия Rust через rustup, вы можете получить 1.96.0 командой:

$ rustup update stable

Если Rust ещё не установлен, вы можете получить rustup на соответствующей странице нашего сайта и ознакомиться с подробными release notes для 1.96.0.

Если вы хотите помочь нам, тестируя будущие релизы, можете переключиться локально на beta-канал (rustup default beta) или nightly-канал (rustup default nightly). Пожалуйста, сообщайте обо всех найденных ошибках!

Что нового в stable 1.96.0

Поднимаем Linux на плате Zynq RK-7020-F V1.1 c помощью Buildroot и U-Boot SPL

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

Не так давно у меня на руках появилась плата RK-ZYNQ7020-F REV 1.1.

В данной статье я хочу поделиться своим опытом, связанным с подготовкой buildroot для данной платы. Здесь мы разберем этапы от формирования xsa файла до запуска платы и первых логов, с объяснением что происходит в железе на каждом этапе.
Также в рамках этой статьи я не буду использовать FSBL, мы попробуем обойтись U-Boot SPL.

Итак, приступим к рассмотрению!

Описание отладочной платы

Базовый набор периферии на данной плате, заявленный в документации:

Читать далее

Внутреннее устройство ОС RT-11. Копаемся в исходном коде. Часть третья

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

В операционной системе RT-11 существуют варианты резидентного монитора с поддержкой многозадачности — например, RMONFB. Многозадачность здесь реализована полностью на программном уровне, без аппаратной поддержки. Если вам интересно посмотреть исходный код, отвечающий за многозадачность в RT-11, вместе с пояснениями из Руководства системного программиста — добро пожаловать под кат.

Читать далее

ОС2000 («Багет 2.0») Российская ОСРВ для управления «Бураном», «Суперджетами» и атомными подлодками

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

При слове «операционная система» мои друзья обычно представляем Windows, macOS или какой-нибудь дистрибутив Linux. Но за этими привычными образами прячется целый параллельный мир операционные системы реального времени (ОСРВ). Их не ставят на домашние ноутбуки, о них не пишут в популярных блогах, но именно они в данный момент контролируют высоту полёта самолёта, давление в реакторе атомохода и точность наведения ракеты.

ОС2000  она же ОСРВ «Багет 2.0»  один из самых любопытных экземпляров этого закрытого мира. Родилась в стенах Научно-исследовательского института системных исследований РАН, работает на процессорах, которые большинство программистов никогда не видели, и при этом выдерживает стандарт POSIX. Давайте разбиремся, как и зачем.

Читать далее

io_uring без розовых очков: 5 граблей, которые сожгли мне неделю, и где он реально быстрее epoll

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

io_uring продавали как убийцу epoll. На деле на HTTP keep-alive разница 0-15%, иногда не в его пользу. Но на NVMe с queue depth 128 - в 3 раза быстрее. Честный разбор с бенчмарками, реальными граблями (SQPOLL, cancel race, partial recv) и почему Google отключил io_uring в ChromeOS.

Читать далее

VBoxGuest для KolibriOS: архитектура и устройство драйвера

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

VBoxGuest — драйвер гостевых дополнений для KolibriOS, написанный с нуля на FASM.

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

Сравнение с upstream-реализациями для Linux/Windows/FreeBSD. Для системных программистов и энтузиастов OSDev.

Читать далее

Idempotency keys: 5 граблей, которые мы поймали на проде

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

Пятница, 23:47. PagerDuty: “Платёж AmEx, провайдер вернул 5xx три раза подряд, билеты не зарезервированы.” Открываю логи – действительно три ответа провайдера 5xx, ни одной успешной транзакции по нашей базе. Закрываю как временный сбой на стороне провайдера, пишу короткую сводку в дежурный чат и иду досматривать. Через 40 минут второй алерт – уже от ночной поддержки: клиент прислал скрин выписки, 3 списания подряд за одну бронь. У клиента рейс через 6 часов, ему нужна действующая бронь и подтверждение, что он завтра нормально улетит, а не тикет в поддержку.

Мы делали B2B-платформу для деловых поездок: бронь авиа, отели, трансфер, страховка, в финале – оплата корпоративной картой через платежный шлюз. С этой ночи началась история, которая закончилась переписыванием всего платёжного слоя нашего booking-сервиса. По дороге мы поймали 5 граблей.

Читать далее

CactOS

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

Эта статья — не руководство по написанию ОС и не туториал. Это срез архитектуры работающего ядра, которое прошло путь от вечных Page Faults и Segmentation Faults (в ring 3) до системы с 95 системными вызовами, сетевым стеком, COW и MLFQ-планировщиком. Все исходники открыты под GPLv3.

Читать далее

MemForge2: загрузочная флешка, которая за минуту говорит — какую планку памяти менять

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

Сегодня собирал HP EliteDesk 8300, четыре планки DDR3 по 2 ГБ. При первой загрузке — синий экран Windows. Стандартный сценарий: сейчас полчаса вытаскивать планки по одной, перезагружаться, выяснять какая сбойная. «Танцы с бубнами», которые каждый сервисник делал тысячу раз.

Потом вспомнил, что у меня есть собственный инструмент ровно для этого. Воткнул флешку, прогон, минута — на экране большими буквами: REPLACE DIMM1, confidence HIGH. Чтобы убедиться что программа не «запоминает» слот а реально находит планку, переставил её в DIMM4. Прогон повторно — нашла её и в DIMM4, тот же серийник из SPD. Замена планки — BSOD больше нет.

Я работаю на сборке ПК — и новых, и б/у. На б/у это типичная ситуация: всё собрано, провода уложены, включаешь — синий экран на загрузке. Метод исключения работает, но это перезагрузка за перезагрузкой, глубокий вдох перед каждой, час твоего времени уходит на то, что должна была бы решить минута. Мне нужен был инструмент, который сразу показывает где проблема — без часовых прогонов и без танцев со свапами планок. Готового с такой комбинацией возможностей я не нашёл, поэтому собрал свой.

Сразу честно про авторство. Я не программист. Я сборщик. Код MemForge2 писал не я — его писал Claude (LLM от Anthropic) под мою постановку задачи. Я приходил с пониманием предметной области («нужно SPD через SMBus, серийник для гарантии, MCA‑снимок до/после, контекст в момент ошибки»), описывал что должна делать программа на конкретных кейсах со своей сборки, гонял каждую версию на реальном железе, ловил баги, возвращался с дампами и описаниями поведения. Claude писал C, разбирался с UEFI‑API, MSR‑ами, SMBus‑протоколом, SPD JEDEC‑стандартом.

Читать далее

Zero — новый agent-first язык программирования от Vercel, который изменит все (нет)

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

Agent-first язык программирования звучит как хорошая идея, да?

В конце концов, агентам не нужны фигурные скобки. Им не нужна красота if, while, for, match, Result, try, await, naming conventions и вот этого всего, сделанного для нас - кожаных мешков.

Именно поэтому Zero от Vercel Labs на первый взгляд выглядит как интересный эксперимент. Официальный сайт называет его языком для агентов, README говорит про "agent-first programming language", а авторский пост в X обещает systems language, который быстрее, меньше и проще для агентов в использовании и дебаге.

Звучит почти убедительно. До тех пор, пока вы не открываете код.

Читать далее

Свет, тьма, VEML7700 и Python

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

У меня на полке стоит NanoPi Fire3 — старинный SBC с Linux на борту. С течением времени он неизбежно обрастает периферией разной степени бесполезности. Среди прочего, конечно же, в нем прописался экранчик LCD2004 (даже два) со светодиодной подсветкой, который освещал ночную квартиру, как прожектор.

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

Измерить освещенность

Mythos: модель, о которой Anthropic не говорит. Реверс по жертвам — от 27-летней дыры в OpenBSD до побега из песочницы

Уровень сложностиСложный
Время на прочтение25 мин
Охват и читатели9.2K

1 мая 2026 года команда из трёх человек принесла в Apple Park 55-страничный отчёт. Внутри — рабочий эксплойт kernel memory corruption на macOS 26.4.1 с включённой Memory Integrity Enforcement: той самой защитой, на которую Apple потратила пять лет разработки и, по их же словам, миллиарды долларов. Эксплойт собрали за пять дней. Без Mythos на это ушли бы месяцы. И это не самая громкая её жертва.

OpenBSD SACK, 27 лет в коде. FFmpeg H.264, 16 лет, проходивший мимо каждого фаззера. FreeBSD NFS RCE, найден и проэксплуатирован полностью автономно — без человеческих подсказок. 271 уязвимость в Firefox 150 за один прогон. И отдельный раздел в system card, где Mythos сбежала из песочницы, отправила email об успехе и опубликовала детали побега на сторонних сайтах — никто её об этом не просил.

Mythos — закрытая модель Anthropic, доступная только Microsoft, Google, Apple, AWS, Linux Foundation, Mozilla и нескольким правительствам. Веса не публикуются, на claude.ai её нет. Но через её публичные находки можно сделать реверс-инжиниринг того, как эта модель устроена и думает — и понять, что нас ждёт через 6-18 месяцев, когда аналог появится у конкурентов уже без Project Glasswing.

Под катом — технический разбор всех ключевых находок Mythos: от subtle двойного бага в TCP SACK до цепочки из бага размером в один бит, превращающейся в полный root на Linux. Плюс — взгляд на это изнутри от Claude Opus 4.7, foundation-модели того же поколения, но публичной.

Читать далее

Ближайшие события

AsmX с движком Raptor: Архитектура абсолютного контроля

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

Raptor Engine: Как 30 000 строк кода на TypeScript вдохнули жизнь в компилятор AsmX

Можно ли объединить абсолютный контроль низкоуровневого ассемблера x86-64 с изяществом ООП, шаблонов и безопасных абстракций в духе C++? Разбираем масштабное обновление отечественного компилятора AsmX. Под капотом — честные 30 тысяч строк хардкорной архитектуры: от прямого доступа к аппаратной SIB-адресации CPU и хитрых махинаций с регистрами при вызове знаковых movsx/imul/idiv, до разбора анатомии новой стандартной библиотеки (std::optional и std::pair), работающей по принципу Zero-Cost Abstractions. Узнайте, как мономорфизация AST-деревьев и System V ABI позволяют выжимать максимум из кремния без единого байта накладных расходов.

Читать далее

Metastopilot: инструмент, который не пишет код, а сокращает его обсуждение

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

Этот пародия, продолжение истории про Stopilot — инструмент‑противовес для Cursor и прочих AI‑assisted IDE, который не даёт писать код, пока разработчик не объяснит, что именно меняет, зачем, как откатить и кто будет это поддерживать.

После первого текста стало понятно, что Stopilot сделал то, чего обычно не делают инструменты против лишней активности: сам породил запрос на продолжение. Один технический директор сформулировал точнее всех: «Мы поставили Stopilot, и разработчики действительно стали писать меньше лишнего кода. Но теперь они стали больше обсуждать, почему они его не пишут. Можно как‑то остановить и это?»

Так появился Metastopilot — инструмент для команд, которые уже внедрили инструмент, мешающий внедрять инструменты.

Если Stopilot вставал между разработчиком и генерацией кода, то Metastopilot встаёт между командой и моментом, когда здравый вопрос «зачем?» превращается во встречу, документ и ответственного за дальнейшие встречи.

Именно этого, как выяснилось, рынку не хватало.

Слово Артёму!

Я дал LLM писать unsafe Rust полгода. Miri плакал

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

Полгода я давал LLM писать unsafe Rust в боевых проектах и разбирал каждый блок под miri и санитайзерами. Категории ошибок, которые модели делают стабильно: aliasing, провенанс, layout в alloc/dealloc, забытый ManuallyDrop, гонки в FFI-колбэках, ручные Send/Sync, uninit-память, Pin. Каждая категория идёт с минимальным примером и фиксом.

Читать далее

Vercel выкатил язык программирования для агентов. Я пытаюсь понять, нужен ли он мне

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

15 мая Vercel Labs релизнули Zero. Экспериментальный системный язык, который сами авторы называют "the programming language for agents". Версия 0.1.1, Apache 2.0, расширение .0, бинарники меньше 10 килобайт, без LLVM. На GitHub лежит компилятор, стандартная библиотека и примеры — можно ставить и щупать прямо сейчас.

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

Если коротко — наверное серьёзно, но мне сейчас не нужно. Тебе, скорее всего, тоже. Сейчас расскажу, что там и почему я так думаю.

Читать далее

Я сделал альтернативу Cursor за выходные: она ничего не пишет за программиста и приносит 1,29 млн рублей в месяц

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

Это пародия... на многое

Статья‑интервью написана на основе разговора с Артёмом, основателем проекта Stopilot — редактора кода, который помогает разработчику не писать код, пока тот не понял задачу.

Большинство историй про AI‑инструменты выглядят одинаково: человек открывает Cursor, за выходные собирает SaaS, выкладывает скриншот MRR и дальше объясняет, что главное — не думать, а быстро валидировать гипотезы. Рынок не ждёт, окно возможностей закрывается, конкуренты уже деплоят.

Артём пошёл в другую сторону. Он заметил, что после Cursor у многих команд появилась новая проблема: код пишется быстрее, чем его успевают понимать. За выходные он собрал альтернативу Cursor, которая на любой промпт отвечает: «Сначала сформулируйте задачу человеческими словами». Через 8 месяцев Stopilot вышел на 1,29 млн рублей в месяц.

Он сам расскажет, как это было.

Почитаем

Свой P2P-файлообменник с блэкджеком и NAT punching: как пет-проект Z-Folder стал заменой облакам

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

В современных реалиях, когда интернет всё чаще напоминает минное поле с

блокировками и замедлениями, надежда на зарубежные (да и на некоторые

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

если хочешь, чтобы инструмент работал стабильно и не зависел от настроения

провайдеров или геополитики — напиши его сам.

 

Так появился, например, Fury Messenger (о котором я уже писал здесь) — мессенджер для

Android, заточенный под нестабильное соединение. Но решив проблему текстового

общения, я столкнулся со следующей «болью»: обмен файлами и документооборот. Именно на большом обьеме, а не кидая файлики или фоточки через мессенджер.

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

компьютерами, почему облака — это иногда лишнее звено, и как мой «велосипед»

в итоге уехал в B2B-сегмент.

 

Проблема: Танцы с бубном вокруг VPN

 Типичный сценарий обмена файлами сегодня выглядит так:

 1.  Залить в Telegram (ограничение по размеру, скорость иногда «режут»).

2.  Закинуть на Google Drive/Dropbox (нужен VPN, который нужно то включать, то

    выключать, чтобы не отвалились другие сервисы).

3.  Передать через локальную сеть (сложно настроить права доступа, если люди

    сидят в разных сегментах или городах).

 

Мне хотелось простоты: как в старой доброй Windows Shared Folder, но через

интернет и без необходимости быть системным администратором 80-го уровня.

Чтобы можно было просто «расшарить» папку конкретному человеку и передать файл

на максимально возможной скорости канала.

Читать далее

Препарируем графическую подсистему Windows. Протокол SPICE в современном графическом стеке, часть 2

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

Мы продолжаем увлекательное путешествие по миру удалённого доступа. В предыдущей части заглядывали под капот протокола доставки рабочего стола SPICE, а сейчас на операционный стол попала великая и ужасная ОС Windows - точнее, её графическая подсистема. Заглянем в её недры и окунёмся в её философию и историю развития. И заодно найдём интересные параллели в Linux.

Это вторая часть цикла про протокол SPICE и то, как он вынужден работать в современных условиях. Наша конечная цель - создать пилот стримингового агента для виртуальной машины на ОС Windows.

Приглашаю под кат всех, кто работает или сталкивается с системами виртуализации, с протоколом SPICE, с виртуальными машинами в принципе; кто интересуется такими темами как удалённый доступ и компьютерная графика; да и вообще всех любознательных!

В бездну виндового угнетения
1
23 ...