❌

Reading view

Два бага, 20 часов откатов: как я чинил гонки в M:N-рантайме Nova

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

Три истории о гонках в M:N-рантайме языка Nova: что сломалось, как я это искал и что в итоге нашло баг. Объясняю простыми словами, знать устройство рантайма не нужно, а в конце — чек-лист для отладки гонок в многопоточном коде.

Читать далее
  •  

Нужен ли сторонний антивирус для ПК в 2026. Спойлер: не все так однозначно

После установки или переустановки Windows многие сразу идут скачивать антивирус. Такая привычка закрепилась еще в те времена, когда встроенная защита была откровенно так себе по качеству и сильно уступала платным пакетам. Но времена как будто меняются, и сейчас в лабораторных тестах Microsoft Defender держится рядом с Kaspersky, Bitdefender и Norton. Но у него, как и у любого антивируса, есть нюансы.

Читать далее
  •  

Видеомодель на 22 миллиарда параметров на RTX 3080: что пришлось сделать, чтобы она влезла в 10 ГБ

У меня RTX 3080 с 10 ГБ видеопамяти. У LTX-2.5 — 22 миллиарда параметров, 39 ГБ весов трансформера и ещё 24,5 ГБ текстового энкодера. По этим цифрам знакомство можно было бы закончить. Но модель удалось запустить локально под Windows и встроить в конвейер коротких роликов.

Читать далее
  •  

Как я один создал браузер для бухгалтеров: история BELPORTAL от снимков реестра до WebView2 и 56 млн скачиваний

Когда-то работа бухгалтера с госпорталами была настоящим квестом: IE, ActiveX и километры инструкций. Я расскажу, как один создал BELPORTAL — программу, которую скачали 56 млн раз. Путь от снимков реестра Windows до полноценного браузера на WebView2, борьба с кризисом Avest и спасение отчетных периодов.

Читать далее
  •  

Фишинг всему голова: от письма до дампа учетных данных

Один фишинговый документ, несколько событий в SIEM и подозрительный met.exe. На примере заданий Standoff Defend в очередной раз разберём, как по логам восстановить цепочку атаки: от открытия письма до дампа LSASS.

Немного аналитики, практических запросов и рассуждений в процессе расследования :)

Читать далее
  •  

Claude в Houdini на Windows: как подключить агента и что по дороге сломалось

Весь Houdini знать невозможно — поэтому я периодически тестирую AI-агентов. Тему MCP изучаю давно: агент без доступа к софту мало полезен.

Как это работает
  •  

Куда пропадают 69 гигабайт с каждого терабайта и почему за это судились с производителями

В 2005 году юристы из Сан-Франциско подали в суд на Western Digital из-за 7 процентов, которые пропадают с каждого диска, и через год компания пошла на мировую. А похожий иск к Apple тянется уже почти 12 лет. Разбираемся, почему диск на 1 ТБ показывает 931 ГБ, кто придумал килобайт на 1024 байта и почему Windows до сих пор считает не так, как Mac.

Читать далее
  •  

Системное программирование на C++: процессы, C-API и WinAPI

Привет, Хабр!

Это вторая статья цикла про C++. В первой я разбирал базу для тех, кто начинает с нуля: переменные, циклы, классы, контейнеры. Здесь идём на уровень ниже — как обычная C+±программа договаривается с операционной системой.

Сразу скажу, зачем я вообще полез в эту тему. В колледже была лаба, где нужно было поднять процесс, дождаться его и снять код возврата. Я неделю не понимал, почему fork() в одном случае возвращает ноль, а в другом — PID, и почему после exec ребёнок «исчезает». Препод объяснил это минут за десять — и я понял, что половину объяснений всё равно не понял. С тех пор я пишу такие вещи с расстановкой: не «fork() создаёт процесс», а что именно он возвращает, что происходит в коде после вызова и что будет, если забыть закрыть дескрипторы. Поэтому статей будет много, а примеров в каждой — ещё больше.

Что дальше в цикле, чтобы было понятно, куда мы движемся:

Читать далее
  •  
❌