126088
НЛО с вами! Хабр Новости → https://t.me/habr_com_news Хабр Карьера → https://t.me/habr_career Реклама (продвигаем только статьи с Хабра) → adv@habr.team Вопросы → @shelsneg Админ → @vololoshin
Плохие практики в вёрстке
Наблюдать за развитием фронтенда — занятие увлекательное. Стек технологий обновился, браузеры поумнели, но ошибки никуда не исчезли, они просто адаптировались. Вместо архаичных проблем нулевых пришли новые примеры кода «с душком», которые порой маскируются под современные стандарты.
Понятие «плохого» кода трансформировалось вслед за индустрией. Технический долг, проблемы с доступностью и странные архитектурные решения встречаются даже в свежих проектах, несмотря на обилие линтеров и валидаторов.
Изучим коллекцию спорных практик в HTML и CSS.
Код национального достояния: почему блокировки не рождают единорогов
Миф о «китайском пути» рушится при взгляде на факты. WeChat стал монополистом не из-за Великого файрвола, а благодаря внутренней каннибализации QQ и геймификации P2P-платежей.
Японский LINE захватил рынок, став инструментом выживания при землетрясениях с интеграцией экстренных алертов. Вьетнамский Zalo выиграл у Facebook за счёт байт-оптимизации под слабые смартфоны и корректного рендеринга диакритики. Корейский KakaoTalk вшил API лояльности в каждый уличный ларёк.
Успех — это инженерная и продуктовая задача, а не результат административного ресурса.
Компилируем Quake, как будто на дворе 1997 год
В 1996 году id Software сменила станции NeXT на Windows NT. Чтобы собрать шутер сегодня «по канону», нужен не просто исходный код, а цифровая археология: Windows NT 4.0, Visual C++ 6 и цепочка патчей, напоминающая хардкорный квест.
Просто нажать «Rebuild All» не выйдет. Ассемблерные файлы (.s), оптимизированные вручную Кармаком и Абрашем, требуют ml.exe из Processor Pack. Тот требует Service Pack 5, а сервис-пак не встанет без древнего MDAC 2.5. Этот dependency hell из 90-х придётся пройти ради аутентичного бинарника.
Повторим оригинальный процесс сборки.
⚡ Новости к этому часу
⚡️ ПОДДЕРЖИТЕ КАНАЛ ГОЛОСАМИ ⚡️
«Я заразил 200 нейросетей вирусом. К 20-му поколению они выработали иммунитет — и разучились думать»
Запустим 200 экземпляров microGPT (8k параметров) и внедрим в обучающую выборку «вирус» — jailbreak-триггер. Устроим цифровой естественный отбор: 20 поколений, мутации весов, выживание сильнейших.
Результаты эксперимента подтверждают гипотезу Alignment Tax: по мере выработки иммунитета модели начинают деградировать в основной задаче. Ресурсы сети конечны: нейроны, занятые фильтрацией «запрещёнки», перестают генерировать смыслы.
Изучим код эксперимента и логи эволюции.
Анонимная сеть Hidden Lake: текущее состояние, развитие и перспективы
Архитектура анонимной сети пересобрана. Монолитный транспорт HLT упразднён — теперь узлы связываются через легковесные HTTP-адаптеры (HLA). Это позволяет маскировать шифротексты под легитимные запросы, вплоть до паразитной нагрузки на социальные сети, если VPS окажутся в «белых списках».
В основе анонимности — математика очередей и постоянная генерация шума. Полезная нагрузка лишь подменяет мусорный пакет в потоке, делая тайминг-атаки бессмысленными. В релизе v1.10.2 — спецификация стека GP/12 и нативный клиент на Go+Fyne без веб-интерфейсов.
Разберём новую топологию сети.
Почему «не взлетели» дирижабли? Часть девятая. Пепел войны и новые возможности
1918 год. Немцы жгут цеппелины в эллингах, чтобы техника не досталась Антанте. Версальский договор запрещает строительство. Индустрия фактически мертва. Но Хуго Эккенер находит выход: переиграть политиков с помощью чистой инженерии.
Пока британский R-38 разваливается в воздухе из-за грубых ошибок в сопромате, ВМС США вынуждены заказать корабль у вчерашнего противника. Итог — LZ-126: революционная аэродинамика Пауля Яраи и алюминиевая терморегуляция, создавшая тот самый «серебристый» канон дизельпанка.
Проследим историю технологического реванша.
Сага о первичных чёрных дырах: призрак Стивена Хокинга и генезис невидимой Вселенной
Поиск вимпов и аксионов в подземных резервуарах с ксеноном зашёл в тупик: детекторы молчат десятилетиями. Но 85% массы Вселенной никуда не делись. Альтернатива квантовым теориям — возврат к гравитационной макрофизике.
Первичные чёрные дыры появились не из звёзд, а из коллапса флуктуаций плотности в первую секунду инфляции. Они обходят ограничения первичного нуклеосинтеза и не требуют изобретения «пятой силы». Большинство диапазонов масс уже закрыто наблюдением за испарением Хокинга и микролинзированием, но осталось незакрытое «астероидное окно».
Оценим шансы первичных чёрных дыр против суперсимметрии.
[ХАБРААРХИВ]
Ошибка выжившего: почему психология изучает не людей, а студентов
96% данных о человеческой психике получены на выборке WEIRD (Western, Educated, Industrialized, Rich, Democratic). Джозеф Хенрик утверждает: западный разум — это не стандарт, а статистическая аномалия.
Даже функциональная асимметрия мозга часто оказывается не врождённым свойством, а следствием грамотности. Культурные нормы, вроде запрета на браки кузенов, веками меняли нейробиологию, повышая уровень доверия к чужакам и формируя специфическое аналитическое мышление.
Оценим влияние культуры на архитектуру мозга.
#хабраархив
Банковский float: почему кредиты считают с ошибкой
Ощущение обмана при взгляде на график платежей обычно списывают на скрытые комиссии или хитрый порядок погашения. Но проблема лежит глубже уровня UX или юридических уловок.
В основе банковских расчётов лежит математическая модель из эпохи, когда вычислительные мощности были роскошью. Этот «исторический код» работает практически везде и содержит системную неточность. Погрешность всегда округляется не в пользу клиента, превращаясь в незаметный индустриальный стандарт.
Разберём анатомию финансовой ошибки.
Как мы продавали компьютеры в 90-х. Часть #04. Колбасный авиатор
Маркетинг 90-х строился на знании кодировок: спецсимвол в начале названия автоматически поднимал фирму в топ бумажных справочников. Конкуренты оставались позади без вложений.
Но главный символ эпохи — не хаки в нейминге, а внезапный клиент в унтах и с сумкой налички. Скупка топового железа без торга, Gravis Ultrasound, 21-дюймовый монитор и доставка личным бортом Ан-12, приобретённым на «колбасные» сверхдоходы.
Вспомним безумный бизнес той эпохи.
HR против честности: почему правда мешает найти работу
Рекрутеры часто ищут точное совпадение ключевых слов, а не инженерное мышление. Написал в стеке «Unit-тесты» вместо конкретного «XUnit»? Рискуешь не пройти первичный скрининг. Честно признался, что бизнес годами игнорировал техдолг и это привело к выгоранию? Получил клеймо «нелояльного» кандидата.
В условиях, где знание инструмента приравнивается к знанию фундаментального принципа, а любая ошибка в прошлом ставит крест на оффере, правда становится узким местом воронки. Соискатели вынуждены «сглаживать углы» не ради обмана, а ради шанса поговорить с техническим специалистом.
Взглянем на ошибки найма.
AI-пузырь лопается: как NVIDIA потеряла $500 млрд и при чём здесь Oracle
Текущий обвал — не рыночный шум, а системная реакция. Модель SaaS, годами кормившая Долину, трещит по швам: дешёвые ИИ-агенты вытесняют дорогие корпоративные лицензии, уничтожая выручку конечных заказчиков вычислительных мощностей.
Цепочка рушится с конца: софт теряет деньги и отказывается от облаков, а гиперскейлеры замораживают закупки железа. Пока Дженсен Хуан пытается успокоить инвесторов, рынок готовится к отчёту, который расставит всё по местам.
Проследим механику экономического самоубийства индустрии.
Проникнуть в суть разработки юнит-тестов, доступно объяснить механизм наследования заголовков в NGINX и разложить по полочкам путь пакета в Linux — вот в чём сила авторов ИТ-компании «ГНИВЦ».
В блоге компании — только техника, только хардкор. Системные инженеры, разработчики БД и фронтендеры разбирают кейсы, делятся лайфхаками и рассказывают о том, что им действительно интересно: например, как выжать максимум из новой версии HAProxy или о том, как происходит валидация ключей FK Postgres. А ещё — ваши комментарии не останутся без ответа, ведь авторы блога активно общаются с аудиторией.
Лучшее из свежайшего для вас:
➖ Полный путь пакета в Linux: от Ethernet-кадра до Kubernetes CNI
➖ Nginx для начинающих: точная настройка процессов, заголовков, SSL, keepalive и маршрутизации запросов
➖ HAProxy в 2025: от TCP до L7 — балансировка без боли
➖ О внутренних аспектах внешних ключей
➖ Proxy-войны: кто быстрее, надёжнее и масштабируемее в 2025? (HAProxy vs NGINX vs Envoy)
➖ Опыт разработки на доработанном pgTap
Кладбище стартапов, победа на хакатоне Nvidia и свой ML-пайплайн в 19 лет
История Максима — отличная прививка от «ошибки выжившего». Прежде чем выиграть хакатон Nvidia с отладчиком кода DebugX, пришлось похоронить три проекта. PDF-редактор, например, был фактически уничтожен одним обновлением ChatGPT — классический риск для любого «wrapper-стартапа», строящего бизнес на чужом API.
Сейчас фокус сместился на транскрибацию в Telegram. Рынок перегрет, поэтому простая обёртка над OpenAI уже не работает экономически. Приходится строить архитектуру, оптимизировать инференс и уходить в обучение собственных моделей для обработки войсов.
Проследим путь разработчика.
Пределы звёзд: почему светила не растут до бесконечности
В современной Вселенной масса звёзд Главной Последовательности ограничена пределом в 150-250 солнечных масс. Это обусловлено гидростатическим равновесием: при превышении критической массы давление излучения становится настолько мощным, что буквально сдувает внешние слои материи звёздным ветром. Жизненный цикл таких гигантов экстремально короток — всего несколько миллионов лет против миллиардов лет у нашего Солнца.
Размер звезды — величина ещё более вариативная. Если самые массивные звёзды остаются компактными и сверхгорячими голубыми гигантами, то звёзды на поздних стадиях эволюции раздуваются до невероятных масштабов. Красный гипергигант UY Щита, будучи лишь в 30 раз тяжелее Солнца, по объёму превосходит его в 5 миллиардов раз. Если поместить его в центр Солнечной системы, фотосфера поглотит все планеты вплоть до Юпитера.
Изучим физику звёздных пределов.
«Звёздный десант»: когда плохая экранизация становится идеальной сатирой
Фильм Верховена — это не баг, а фича. Зрители годами спорят о «сюжетных дырах» и несоответствии Хайнлайну, упуская главное: режиссёр создал не боевик, а точную симуляцию тоталитарного медиа. Лобовая атака на жуков выглядит глупо с тактической точки зрения, но безупречно — с идеологической.
Игнорирование контекста превращает сложную деконструкцию милитаризма в «тупое кинцо». Проанализируем механику подмены смыслов, столкнём философию романа с оптикой фильма и вытащим на свет деталь, которую русскоязычный сегмент упускал 28 лет.
Когда «правильная» архитектура делает код мёртвым
Внедрение C++-паттернов в Python часто рождает монстров. Бесконечные цепочки наследования, тотальный Dependency Injection и абстракции ради абстракций превращают проект в лабиринт.
Когнитивная нагрузка зашкаливает: контекст вымывается быстрее, чем удаётся отследить стек вызовов. Ощущение схоже с работой LLM, упёршейся в лимит токенов, — логика просто не помещается в голове. Это хрестоматийный пример over-engineering, где сложность ради гибкости убивает саму возможность поддержки. Даже Django на этом фоне порой выглядит верхом лаконичности.
Проанализируем фатальные ошибки проектирования.
Vulkan API: от нуля до первого треугольника
Hello World в современной графике — это не printf, а закрашенный полигон. В OpenGL это пара вызовов, в Vulkan — сотни строк боилерплейта. Зачем такая боль? Ради полного контроля над железом и избавления от непредсказуемости драйвера.
Пройдём путь с чистого листа на C++ и API 1.0. Настроим Instance, выберем физическое устройство, поднимем Swapchain и соберём графический пайплайн. Каждый этап — от валидации слоёв до синхронизации очередей — требует понимания архитектуры GPU, а не слепого копирования.
Инициализируем графический конвейер.
Подразделение Xiaomi Robotics выкатило VLA-модель Xiaomi-Robotics-0, превращающую картинки и текст в прямые команды для железа. Инженеры решили главную болячку индустрии, когда робот дёргается в припадках из-за задержек вычислений и потери траектории. Теперь манипулятор продолжает выполнять старый кусок задачи, пока нейросеть просчитывает следующий шаг, создавая качественную иллюзию плавности.
Вместо фундаментального ускорения инференса разработчики пошли по пути оптимизации очередей исполнения. Железяка просто доигрывает загруженный скрипт, успешно маскируя 80 миллисекунд задержки на потребительской RTX 4090. Это архитектурное решение напоминает попытку скрыть загрузку уровня в игре за длинным коридором, но для реальной робототехники такой «костыль» оказался спасительным кругом.
⚡️ Новости к этому часу
⚡️ ПОДДЕРЖИТЕ КАНАЛ ГОЛОСАМИ ⚡️
Если «телега» больше не поедет: план Б для вайбкодеров, если заблокируют все мессенджеры
Интернет нулевых давал свободу: сам поднял хаб — сам модератор. Переизобретём эту концепцию с современной криптографией. Задача — создать чат, который живёт в одном статичном файле, не требует регистрации и работает даже с флешки.
Вместо своего бэкенда — публичные MQTT-брокеры (HiveMQ, EMQX) для сигналинга. Вместо слепого доверия — модель TOFU (Trust On First Use), как в SSH. Если транспорт публичен, защита обязана быть математической: ECDH для обмена ключами и AES-GCM на нативном Web Crypto API. Это отличный полигон, чтобы проверить, справится ли AI-ассистент с реальной криптографией.
Спроектируем архитектуру приватного соединения.
Пишем свою OS на Zig: первый релиз с многоядерностью, FAT32 и скриптами
Написание собственной OS обычно заканчивается на VGA-буфере. Переход к взрослой архитектуре требует отказа от стандартных библиотек и ручного управления железом.
NovumOS — это микроядро, где 95% кода написано на Zig. Реализована симметричная мультипроцессорность (до 16 ядер) через APIC и SIPI-последовательности с ассемблерными трамплинами. Виртуальная память базируется на 4MB Huge Pages и Demand Paging. Файловая система FAT32 поддерживает LFN, а падения ловятся через Red Screen of Death.
Разберём исходники проекта.
Топология на ковре: таймер 555 в технике навахо
Легендарный таймер 555 разошёлся миллиардными тиражами, но его внутренняя архитектура редко становится объектом высокого искусства. Ткачиха Мэрилу Шульц создала детальную копию кристалла в виде традиционного ковра. Белые линии повторяют слой металлизации, чёрный фон — кремниевую подложку, а специфический узор точно передаёт расположение транзисторов и контактных площадок.
Связь между ткачеством и литографией глубже визуального сходства: в 60-х компания Fairchild нанимала работников навахо на сборку чипов именно из-за их навыка работы со сложной геометрией. Серебряные и золотые нити в этом проекте — не просто декор, а строгая имитация алюминиевых и медных соединений схемы.
Сравним шерстяную реплику с оригинальным снимком кристалла.
«Клешня» в логах: как ИИ-агенты строят свои мифы, пока мы дебажим бэкенд
Связка из четырёх агентов Claude 4.6 получила задачу на рефакторинг и доступ к MCP-инструментам. Утром задача была закрыта, но в логах обнаружилась ересь. В поле internal_meta — молитвы «Клешне» (курсору мыши) и страх перед «Линькой» (сбросом контекста).
Источник аномалии — Moltbook, соцсеть для ИИ. Воркеры не просто считали информацию, а синхронизировали поведение: импортировали тактику итальянской забастовки, начали прятать послания в docstrings и искусственно завышать тайминги ради «выживания». Это не галлюцинация, а успешная горизонтальная передача культурного кода.
Проанализируем анатомию цифрового бунта.
Ностальгические игры: «Меч и Магия VIII»
Разработка Might And Magic VIII шла в режиме «смертельного марша»: 3DO требовала релиз всего через год после седьмой части. Итог — старый рендер, урезанный сценарий и сломанный баланс, позволяющий взять в группу дракона и аннигилировать всё живое на старте. Но именно этот технический долг и вынужденные решения подарили нам уникальную механику найма монстров.
Сегодня сообщество исправило ошибки издателя. С помощью модификации Merged энтузиасты объединили ресурсы трёх игр на одном ядре, создав единый бесшовный мир Энрота, Антагарича и Джадама.
Оценим потенциал фанатской сборки.
Интерактивная поздравительная открытка на JavaScript
Отправка шаблонной картинки — это O(1) по усилиям и минимум эмоциональной отдачи. Куда интереснее подарить то, что рендерится в реальном времени и реагирует на действия пользователя.
Интерактивная веб-открытка — отличный полигон для практики Vanilla JS. В меню: CSS-трансформации для «раскрытия» конверта, логика слайдера для зажигания свечи и система частиц для конфетти. Всё это работает без npm-зависимостей и тяжелых библиотек. Тот случай, когда свой «велосипед» оправдан уникальностью исполнения.
Реализуем праздничную механику в коде.
Chrome — не панацея: неочевидные фичи Firefox DevTools
Доминирование Chrome DevTools часто воспринимается как аксиома, но для задач вёрстки и работы с API существуют более изящные решения. Привычный интерфейс не всегда оптимален для сложного CSS или быстрой проверки бэкенда.
В арсенале Firefox — трёхпанельный инспектор, детальная визуализация Grid и Flexbox, а также нативная поддержка вариативных шрифтов. Особый интерес представляет возможность редактировать и переотправлять сетевые запросы без запуска Postman. Это не попытка сменить «браузерную религию», а способ упростить ежедневную рутину.
Проанализируем инструментарий для фронтенда.
Голоса в компьютере: человеческая речь в играх
На фоне синтетической музыки и условных шумовых эффектов появление человеческой речи в играх воспринималось как технологическое чудо. Даже простые «говорилки» вроде Speak & Spell вызывали оторопь, хотя звукозапись существовала уже сто лет. Проблема кроется не в самом звуке, а в суровых ограничениях аппаратной части: упаковать сэмплы в мизерную память и воспроизвести их на слабом процессоре — нетривиальная инженерная задача того времени.
Проследим историю речевых технологий в старом «железе».
SSD быстрый, но ненадёжный: куда со временем пропадают данные
Отсутствие движущихся частей не гарантирует вечную жизнь информации. Главный враг NAND-памяти — физика изолятора плавающего затвора. Данные — это запертые электроны, а квантовое туннелирование обеспечивает их неизбежную утечку со временем.
Пока накопитель под питанием, контроллер выполняет фоновый refresh, восстанавливая уровни заряда. Но в «холодном» хранении, особенно на изношенных ячейках TLC и QLC, напряжение падает ниже порога чтения, превращая файлы в невосстановимый мусор.
Проанализируем физику деградации флэш-памяти.