Обновить

Разработка

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

Пишем свою OS на Zig: Первый релиз с многоядерностью, FAT32 и скриптами

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

11 000 строк кода, 95% Zig, 0% стандартной библиотеки: история создания NovumOS с поддержкой SMP, FAT32 LFN и Huge Pages.

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

Меня зовут Антон, и я хочу поделиться историей создания своей собственной операционной системы.

Это моя первая статья и первый серьезный релиз системы (v0.20). Многие разработчики мечтают написать свою операционную систему. Обычно этот путь заканчивается на выводе "Hello World" в VGA-буфер. Я тоже начинал с малого (C# COSMOS), потом уходил в Ассемблер, бросал, возвращался... Но в этот раз я решил пойти до конца.

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

Встречайте NovumOS...

Читать далее

Событийный цикл в asyncio: как Python-код работает поверх механизмов Linux

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

Большая статья для тех, кто, как и я, споткнулся об asyncio и так не разгадал до конца «магию» событийного цикла. Попробовал распутать этот клубок через подробный рассказ (в как можно более доступной форме) о внутренних механизмах Линукса и самого asyncio, которые лежат в основе событийного. К концу статьи, надеюсь, магия исчезнет, а останется ясное понимание фундамента. Статья будет полезна и тем, кто работает с asyncio на других платформах.

Погружаемся

Language Dove: как я транскрибирую и перевожу фильмы

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

Я обожаю смотреть иностранные фильмы в оригинале.

Во-первых, мне нравится расширять кругозор, погружаться в другую культуру, расшифровывать структуру разных языков, пополнять словарный запас.

Во-вторых, мне просто нравится звучание некоторых языков - например, французского, китайского, датского.

Также я работаю над сайтом по изучению языков Language Dove, а учить языки по фильмам - это очень эффективно.

Так родился проект по генерации идеальных субтитров.

Читать далее

AI-пузырь лопается: как NVIDIA потеряла $500 млрд и при чём здесь Oracle

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

Сначала это случилось с Oracle, теперь пугающе похожее происходит с NVIDIA.

5 февраля стоимость компании упала на $500–600 миллиардов по сравнению с пиком (29 октября 2025). Это уже третье значительное падение за последние шесть месяцев.

Вы думаете, это нормально, потому что акции постоянно растут и падают?

Если да, вы многое упускаете. Это аномалия, и она зловеща. Я объясню почему позже.

Читать далее

Chrome DevTools — не панацея. Что умеет Firefox

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

Бьюсь об заклад вы привыкли к инструментам разработчика в Chrome. Ежедневная проверка вёрстки, просмотр логов или анализ загрузку страницы делается на автопилоте. Но что если есть альтернатива, которая в некоторых моментах работает иначе и часто даже лучше?

Инструменты разработчика в Firefox создавались отдельно и имеют свою историю. Их команда не ставила задачу сделать копию Chrome. Вместо этого они сфокусировались на своих идеях о том, как сделать отладку более наглядной. В результате некоторые вещи там реализованы более прямолинейно и понятно. Конечно, не всё идеально, и у Chrome есть свои преимущества. Об этом сегодня и поговорим.

В этой статье мы посмотрим на Firefox DevTools в деталях. Отойдем от банальных соревнований в стиле «у кого DevTools длиннее». Вместо этого разберем, в каких ситуациях панель Firefox может сэкономить вам время, а в каких всё же удобнее остаться в Chrome. Откроем для себя несколько приёмов, которые можно добавить в свою ежедневную работу, независимо от браузера.

Читать далее

Повышаем стабильность Telegram: поднимаем партизанский MTProxy с Fake TLS

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


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

Telegram блокируют всё активнее. VPN детектят и режут. Обычные прокси живут неделю. Что делать? Ответ MTProto Proxy с Fake TLS: специализированный прокси, который маскируется под обычный HTTPS-трафик к легитимным сайтам вроде 1c или sberbank. Для DPI это выглядит как обычный визит на сайт, а на деле стабильный Telegram.

Сегодня разберём полную инструкцию: от выбора правильного VPS до эффективной маскировки и мониторинга.

Читать туториал

Интерактивная поздравительная открытка на JavaScript

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

Наверное, каждый из нас ловил себя на мысли: что отправить на день рождения в этот раз? Просто текст, тёплую фотографию или голосовое сообщение? И сразу вспоминается это чувство, когда ищешь или обдумываешь креативный текст, а потом вспоминаешь о милой картинке с котиком, гифке с шампанским или стандартном «С ДР!» — и отправляешь, чисто для галочки.

Со временем я заметил: когда получаешь такое поздравление в Telegram, становится немного грустно, что человек хоть и поздравил, но не потратил время на то, чтобы обдумать и искренне пожелать чего-то хорошего и уникального только про тебя. Хотя понимаешь — это нормально. Поколение постарше привыкло обмениваться этими милыми, но безликими посланиями. Хотя не все делают это из-за нежелания — некоторым просто понравилась картинка, вот и скинули.

Читать далее

Изучаем, как работает клавиатура в Linux, и пишем шуточный модуль ядра

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

Часто в учебной литературе по Linux приведены скучные и неинтересные примеры написания модулей ядра. Я решил исправить этот пробел и показать, что разработка небольшого модуля — это задача под силу многим, если понимаешь базовые принципы разработки программ.

Читать далее

SSR vs CSR vs гибрид. Сравниваем подходы к рендерингу страниц Django-приложения

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

Решил один мой коллега (не разработчик) заняться пет-проектом: создать платформу с элементами соцсети и встроенным картографическим плагином. И вот приходит этот коллега ко мне с вопросом по части фронтенда: «А как бы мне отрендерить страницы: на сервере или на клиенте?», описывая то решение, которое он уже сделал и которое в целом работает.

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

Читать далее

Как мы учим роботов понимать физический мир: путь от специалистов к генералистам

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

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

Меня зовут Евгений Михайленко, я руковожу бизнесом и продуктом Physical AI в команде Яндекс Роботикс. В этой статье я разберу, как современные архитектуры и концепт Guidance, который мы объединили с тестом Возняка, помогают преодолеть разрыв между роботами‑специалистами и будущими генералистами.

Читать далее

Посадка на Луну

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

Пилотируемая высадка на Луне, запланированная в миссии Artemis III, увы, официально перенесена на 2028 год. NASA столкнулась с эрозией покрытия в ходе миссии Artemis I. К этому добавились задержки Axiom Space со скафандрами AxEMU и технологическая сложность Starship HLS. Последнему необходимо отработать схему для перекачки криогенного топлива на орбите и выполнить беспилотную тестовую посадку.

В статье я постарался разобрать азы теории оптимального спуска, написал скрипт посадки на PowerShell, проанализировал спуск LM-5 Eagle, пилотируемого Нилом Армстронгом, и применил современный метод оптимизации управления G-Fold.

Читать далее

Мой локальный агент помнит проект лучше меня. Контекст — 32K токенов. Расскажу, как

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

Мой агент на Llama 3.1 8B в третий раз спросил, как меня зовут. Я представился 200 сообщений назад. Контекст переполнился — начало разговора уехало. Большие контексты не спасают: дорого, «Lost in the Middle», локально не влезает. Суммаризация теряет детали. Я сделал по-другому — три типа внешней памяти: Redis для фактов, ChromaDB для семантического поиска, файлы для документов. Контекст маленький, память большая. Внутри — код на Python и грабли, на которые я уже наступил.

Читать далее

Как работало АЛУ процессора Intel 8086

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

В 1978 году Intel представила процессор 8086 — революционный чип, приведший к созданию современной архитектуры x86. Однако в отличие от современных 64-битных процессоров, 8086 был 16-битным. Его арифметически-логическое устройство (АЛУ, ALU) работает с 16-битными значениями, выполняя арифметические операции (например, сложение и вычитание), а также логические операции, включающие побитовые AND, OR и XOR. АЛУ процессора 8086 — сложная часть чипа, выполняющая 28 операций1.

В этом посте я расскажу об управляющих АЛУ схемах, генерирующих сигналы управления конкретных операций. Этот процесс сложнее, чем можно было бы ожидать. Во-первых, команда машинного кода приводит к исполнению множества команд микрокода. Использование АЛУ — это двухэтапный процесс: одна команда микрокода (микрокоманда) конфигурирует АЛУ под нужную операцию, а вторая микрокоманда получает результаты из АЛУ. Кроме того, на основании микрокоманды и команды машинного кода схема управления отправляет в АЛУ сигналы управления, переконфигурируя его под нужную операцию. Таким образом, эта схема становится источником «клея» между микрокомандами и АЛУ.

На фотографии показан процессор 8086 под микроскопом. Я разметил основные функциональные блоки. Архитектурно чип разделён на блок интерфейса шины (Bus Interface Unit, BIU) в верхней части и блок исполнения (Execution Unit, EU) внизу. BIU занимается действиями с шиной и памятью, а также упреждающей выборкой команд, а EU исполняет команды. В правом нижнем углу находится ROM микрокода, хранящее микрокоманды. АЛУ (ALU) находится в левом нижнем углу; биты 7-0 расположены сверху, биты 15-8 — снизу, а между ними расположена схема флагов состояний. Темой этой статьи станет схема управления АЛУ, выделенная внизу красным цветом.

Читать далее

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

Приручаем монстра: Как я пересадил Windows 10 на диету из Windows XP и сэкономил память

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

[СПОЙЛЕР: Используется на настоящем железе, могут быть детекты на VirusTotal, но это не вирусы. Это ложное срабатывание из-за того что многие утилиты вроде UltraUXthemepatcher лезут в системные ресурсы] Многие считают, что кастомизация Windows — это просто «накатить тему и обои». Но если ваша цель — не только визуал, но и реальная производительность, приходится брать в руки скальпель. В этой статье я расскажу, как я декомпозировал тяжеловесную оболочку «десятки», заменив её модульными компонентами из эпохи золотого века софта. Итог: интерфейс ест всего 70 МБ ОЗУ, а процессор в простое честно показывает 0%.

Для начала: история создания пака

На самом деле, этот проект родился не из желания «хайпануть» на ретро-эстетике. Всё началось с моего бати. У него есть старый рабочий ноутбук, который он наотрез отказывается менять — привычка, «намоленные» программы и всё такое. Но когда на него принудительно прилетела Windows 10, начался ад. Система буквально задыхалась под весом современных анимаций и фоновых процессов.

Батя ворчал: «Верни мне мою XP, там всё летело, а тут кнопки по полчаса открываются!». И я решился на авантюру.

Страхи и риски были запредельные.

Читать далее

Qwen-Image-Layered: будущая замена Photoshop (или нет)

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

Привет, Хабр! Я Антон, инженер по информационной безопасности в Selectel. В 2023 году Adobe расширила возможности Photoshop генеративными AI-функциями вроде Generative Fill — они заметно упростили редактирование сцен и отдельных объектов. Параллельно развивались и универсальные модели, работающие с изображениями вне привычных графических редакторов. Так, всего месяцем ранее Alibaba представила Tongyi Qianwen (Qwen) — семейство генеративных моделей, которое со временем вышло далеко за рамки чат-ботов.

Сегодня эти два мира пересекаются еще плотнее. Недавно Alibaba выпустила Qwen-Image-Layered — модель, предназначенную для разбиения изображения на семантические слои. Под катом проверим, насколько хорошо она справляется с этой задачей на практике — на иллюстрациях и фотографиях.

Под кат!

Как я сделал приложение для обхода Discord и YouTube на macOS (и Windows тоже)

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

Как я сделал приложение для обхода Discord и YouTube на macOS (и Windows тоже)

TL;DR: Написал open-source десктопное приложение UnblockPro на Electron, которое в один клик обходит DPI-блокировки Discord, YouTube и других сервисов. Работает на macOS и Windows. Без VPN, без серверов, без абонентки. Код на GitHub — by-sonic/unblock-pro.

Зачем вообще это было нужно

С осени 2024 года ситуация с доступом к Discord и YouTube в России стала, мягко говоря, непростой. VPN — вариант, но:

Платные сервисы стоят денег и сливают скорость

Бесплатные — сливают данные

Не все работают стабильно

Настраивать VPN для каждого устройства — боль

Соник, что ты сделал?

Go: как получить до 5 млн RPS с одного экземпляра Tarantool

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

Привет, Хабр. Меня зовут Олег Жуковец. Я руководитель команды «Экосистема» в Tarantool R&D компании VK Tech.

Многие разработчики сталкивались с ситуацией, когда запросы к базе данных выполняются быстро, индексы настроены, оборудование справляется с нагрузкой, но конечное приложение все равно работает медленно. Нередко проблема кроется не в самой базе данных, а в некорректно реализованном клиенте, который может стать «бутылочным горлышком» для всего ИТ-ландшафта. Именно поэтому оптимизация клиентов для работы с БД имеет важное значение.

В этой статье я на примере коннектора к Tarantool расскажу о доступных и простых оптимизациях клиента для БД, которые позволяют минимизировать аллокации и число горутин, чтобы выкрутить скорость обработки запросов (RPS) на максимум.

Читать далее

Невозможные возможные трюки и интересные алгоритмы на C

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

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

Идея написать эту статью зародилась из моего поста, после него я начал серию статей, которая раскрывала много интересных моментов — от математических алгоритмов и оптимизации до ГПСЧ и битовых трюков.

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

В этой статье будет еще порция свежих алгоритмов, фанов, трюков, еще больше магии и скорости! Код Мортона, GNU расширенияи и многое другое.

Добро пожаловать в новую часть. Прошу под кат — там будет жарко, быстро и очень, очень круто.

Читать далее

HR против честности: почему правда мешает найти работу

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

Недавно я публиковал статью про HeadHunter. Судя по количеству комментариев, она взбудоражила сообщество и превратилась в настоящее поле для дискуссий.

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

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

Читать далее

Генетическое программирование: от теории к практике

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

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

Что будет, если поручить эволюционному алгоритму самому «придумать» формулу? Разбираем генетическое программирование на наглядных примерах: от восстановления тригонометрических функций и символьной регрессии на реальном датасете до оптимизации структуры нейросетей — все эксперименты воспроизводимы в Google Colab.

Читать далее