Ray Marching Soft Shadows in 2D (2020)
Метод ray marching мягких теней в 2D использует distance field — изображение, где яркость пикселя отражает расстояние до ближайшей формы (светло-серый — близко, темно-серый — далеко). Для текста на canvas генерируется DF с помощью GPU-библиотеки. От пикселя к источнику света строится луч: на каждом шаге запрашивается расстояние из DF (sceneDist), и луч продвигается ровно на него, гарантируя, что формы не пропусятся (пример: шаг 95 пикселей). Если rayProgress превышает расстояние до света без пересечения (sceneDist <= 0), пиксель освещён (1.0); иначе — в тени (0.0). Для производительности — цикл for вместо while.
Мягкие тени достигаются двумя правилами: 1 — чем ближе луч к форме (минимум sceneDist по шагам), тем темнее; 2 — чем дальше пиксель от точки наибольшего сближения (sceneDist / rayProgress), тем сильнее тень. Возвращается минимум этого коэффициента вместо 1.0/0.0, создавая пенумбру без полной реалистичности, но быстро и красиво. GLSL-код прост: отслеживает min(sceneDist / rayProgress). Демо на WebGL показывает шаги луча.
Комментарии (28)
- Пользователи хвалят плавную интерактивную WebGL-демо, её производительность на мобильных устройствах и крутой эффект мягких теней.
- Предложения: использовать градиент SDF для безопасного шага, добавить физику (прыгающий шар), сравнения с Radiance Cascades и старыми демо.
- Жалобы на шум в узких щелях, полосы и неработающие демо на мобильных; идеи фиксов — блюр и подписи к изображениям.
- Удивление производительностью по сравнению с enterprise-дашбордами; идеи применения для титров, DoF и антиалиасинга.
Mixpanel Security Breach
Mixpanel раскрыл детали недавнего инцидента безопасности: 18 октября 2024 года обнаружена подозрительная активность в production-среде. Злоумышленник использовал скомпрометированные учётные данные сотрудника для доступа к внутренним системам, включая инструменты мониторинга и логи. Компания немедленно изолировала системы, отключила доступ и начала расследование с помощью Mandiant. Нет признаков компрометации production-данных клиентов или их кражи.
Все учётные данные сотрудников и сервисов сброшены, системы проверены на наличие бэкдоров. Инцидент не повлиял на доступность сервисов или данные пользователей. Mixpanel усилил меры безопасности: ввёл многофакторную аутентификацию везде, где возможно, улучшил мониторинг и проводит дополнительные аудиты. Компания уверена, что риски минимизированы, и продолжает работать с экспертами для предотвращения подобных случаев.
Комментарии (109)
- Пользователи критикуют пост Mixpanel за неясность: отсутствие деталей о системах, данных, timeline и масштабе smishing-атаки, приведшей к unauthorized access и утечке (имена, email, локации).
- OpenAI опубликовал более прозрачный отчёт, подтвердил влияние на API-пользователей и уволил Mixpanel как вендора.
- Задержка раскрытия (перед Thanksgiving), вопросы о получателях email (включая closed accounts) и рисках аутсорсинга аналитики.
- Обсуждение: это breach несмотря на denial, vendor risk как урок 2025, похожие инциденты (Gainsight, Cointracker).
Linux Kernel Explorer 🔥 Горячее
Интерактивный эксплорер исходного кода Linux kernel позволяет просматривать дерево файлов и структуры данных, открывать исходники для изучения. Гид начинается с первой главы "Understanding Linux Kernel Before Code": ядро — не процесс, а всегда присутствующая система, мост между аппаратным и ПО; оно обслуживает пользовательские процессы через системные вызовы, прерывания и планировщик; организована в слои — виртуальные, отображенные, изолированные и контролируемые.
Рекомендуемые файлы для изучения: init/main.c, kernel/fork.c, include/linux/sched.h, arch/x86/kernel/entry_64.S. Тест знаний проверяет: разницу kernel и процесса (kernel — не процесс, а сама система), способы обслуживания (оркестрация syscalls, interrupts, scheduling), характеристики слоев (virtual, mapped, isolated, controlled). Гид включает 9 глав — от системных основ до scheduling, I/O и virtualization, с веткой @master.
Комментарии (80)
- Пользователи хвалят интерактивный гид по исходникам Linux kernel как удобную "карту" для новичков, сравнивая с Талмудом и инструментами вроде Elixir Bootlin.
- Отмечены баги: ошибки загрузки файлов (entry_64.S), GitHub API rate limits, проблемы с сертификатом .dev, мобильной версией и позиционированием в файлах.
- Сравнения с Elixir (лучше поиск, теги, мобильность); пожелания AI-объяснений, графов зависимостей, локального деплоя и версий для CPython/Emacs/Vim.
- Критика: отсутствие поиска/редактирования/grep, слабые квизы (возможно AI-generated), ожидания большего от "AI-эры".
Tell HN: Happy Thanksgiving 🔥 Горячее 💬 Длинная дискуссия
—
Комментарии (173)
- Пользователи HN благодарят сообщество и модераторов (@dang, @tomhow) за 15+ лет существования сайта в День Благодарения.
- Многие (lurkers и активные) посещают HN ежедневно 10–20 лет, ценя высокий signal-to-noise ratio и качество дискуссий.
- Сообщество вдохновляет любопытством, обучением и интеллектуальными разговорами в мире деградирующего интернета.
- HN повлияло на карьеры, мировоззрение и профессиональный рост участников из разных стран.
Music eases surgery and speeds recovery, study finds
Индийское исследование из Дели демонстрирует, что музыка через наушники во время общей анестезии снижает потребность в препаратах и ускоряет пробуждение пациентов. В операционной больницы Лок Наяк женщина лежит под яркими лампами, готовясь к удалению желчного пузыря; наркотики вызывают глубокий сон, блокируют память, боль и парализуют мышцы, но слуховой путь мозга остаётся частично активным. Флейта звучит в наушниках, помогая требовать меньше пропофола и опиоидов.
Опубликовано в журнале Music and Medicine, исследование Maulana Azad Medical College и Lok Nayak Hospital даёт одни из самых убедительных доказательств: пациенты быстрее и яснее приходят в сознание, с modest, но значимым улучшением восстановления. Музыка смягчает эффект анестезии без риска, предлагая простой способ оптимизировать хирургию.
Комментарии (89)
- Исследование показывает, что музыка (медленные инструментальные флейта/пианино) снижает боль и тревогу под общей анестезией (n=56).
- Личные истории: музыка помогает в стоматологии, МРТ, хирургии; предпочтения варьируются (Ханс Циммер, тяжёлый метал, 80-е хиты).
- Важность выбора музыки по вкусу; предложения: наушники в больницах, бесплатные источники (Musopen, YouTube).
- Критика: малый размер выборки, обобщения на все операции; дебаты о "хорошей" vs "плохой" музыке.
Coq: The World's Best Macro Assembler? (2013) [pdf]
Исследователи формализовали подмножество архитектуры x86 в Coq, сделав его "лучшим макро-ассемблером". Используя dependent types, type classes и notation, они упростили барочную семантику x86 до компактной формы. Биты, байты и память моделируются конкретными функциями, вычислимыми в Coq; они маппятся на математические объекты SSREFLECT (натуралы, целые по модулю 2^n). Ассемблер поддерживает привычный синтаксис (как в MASM), включая лексически-ограниченные метки, и генерирует hex-байты. Обычные определения Coq служат макросами для условных операторов, циклов, локальных переменных и процедур с параметрами. Доказана теорема корректности, связывающая машинный код с формулой separation logic для верификации.
Пример — код вычисления факториалов 10 (3628800) и 12 (479001600) с выводом через printf из MSVCRT.DLL. Макросы вроде call_cdecl3 (для cdecl-вызова), while и letproc скрывают детали. Ассемблируется в hex: EB 1A B8 01 00 00 00.... Coq генерирует PE-файл "winfact.exe" для Windows, исполняемый нативно. Поддержка bare metal возможна.
Комментарии (67)
- Обсуждение бумаги о Coq как "лучшем макро-ассемблере" для доказательства семантики ассемблерного кода в safety-critical системах (авто, авиация).
- Участники делятся опытом: компилятор в Coq за неделю, верификация F-16, переименование в Rocq, ссылки на HN и PDF.
- Вопросы о синтаксисе, доказательстве блоков asm-кода, подмножестве x86-инструкций; критика feature creep и сравнения с Lisp/Prolog.
- Мнения: Coq упрощает rigor, Lisp позволяет имитировать, но не "с лёгкостью"; сомнения в практической верификации сложных систем.
DIY NAS: 2026 Edition 🔥 Горячее 💬 Длинная дискуссия
Автор представляет ежегодную сборку компактного 8-отсечного DIY NAS объёмом менее 20 литров: TrueNAS 25.10.1, Intel Core 3 N355, 32 ГБ DDR5 RAM, 10GbE-сеть. Это 14-я итерация с 2012 года, ориентированная на его критерии: малый форм-фактор, минимум 6 отсеков (учитывая рост ёмкости HDD), низкопотребляющий интегрированный CPU для круглосуточной работы и потенциал homelab для VM/контейнеров.
Рынок компонентов ухудшается: растут цены на HDD, SSD (график 1 ТБ NVMe), RAM; ожидается дефицит Intel CPU и материнок Topton. Выбрана Topton N22 Mini-ITX (~$200 на AliExpress): 8xSATA3, 2xM.2, 1x10Gbps + 2x2.5Gbps. Автор советует закупаться заранее, подчёркивая: "Экономика sucks, и цены отражают это".
Комментарии (268)
- Обсуждение DIY NAS-билда за ~$1k (Jonsbo N3, Ryzen 5500GT, LSI 9207-8i): хвалят за цену и SAS-поддержку, критикуют за энергопотребление, отсутствие ECC и ненадёжность китайских плат (AliExpress).
- Альтернативы: Odroid H4/N100DC-ITX, б/у enterprise-железо (eBay), готовые NAS (Synology, UGREEN, QNAP), Raspberry Pi; советы по кейсам (Fractal Node 804 лучше Jonsbo), ОС (FreeBSD вместо TrueNAS).
- Проблемы: частые перестройки (каждый год?), пыль/охлаждение, отсутствие hot-swap/ECC/10G, affiliate-ссылки в блоге без раскрытия; цены HDD/SSD растут, DIY не всегда дешевле prebuilt.
- Дополнительно: переход на NVMe для скорости, tape для архива, ZFS-пулы из Barracuda, вопросы о RAM для чистого NAS и плане на пожар.
Penpot: The Open-Source Figma 🔥 Горячее 💬 Длинная дискуссия
Penpot — открытая платформа для совместной работы над дизайном и кодом, альтернатива Figma и Sketch. Полностью веб-ориентированный инструмент на базе SVG позволяет дизайнерам и разработчикам работать в реальном времени без потери данных: прототипы генерируют точный CSS, Flexbox и Grid-код. Поддерживает импорт из Figma, Sketch, Adobe XD; self-hosted или облачная версия.
Ключевые фичи: векторный редактор с авто-layout, компоненты, состояния, инспектор кода для экспорта SVG/SVG sprites/PDF. Более 45 тыс. звёзд на GitHub, 10 тыс. форков; сообщество >100 контрибьюторов. Бесплатен для личного/коммерческого использования (EPL/MPL 2.0), фокус на доступности и privacy — без vendor lock-in.
Комментарии (176)
- Смешанные отзывы о Penpot: хвалят open-source, self-hosting, низкие цены hosted-версии (дешевле Figma) и векторное редактирование.
- Основные жалобы: лаги, краши, высокое потребление памяти на больших проектах, канвасах и при навигации между страницами.
- Ожидание улучшений от нового rendering engine (open beta скоро); есть неофициальные desktop-версии и Docker-поддержка.
- Сравнение с Figma: уступает в стабильности, но привлекает свободой от proprietary облака и vendor lock-in.
Functional Data Structures and Algorithms: a Proof Assistant Approach
Книга вводит структуры данных и алгоритмы для функциональных языков с акцентом на доказательства. Она охватывает функциональную корректность и анализ времени выполнения в едином подходе: индуктивные доказательства применяются как к самим программам, так и к их функциям времени. Подходит для изучения в функциональном стиле, с примерами и полными формальными проверками.
Все доказательства machine-checked в доказательном ассистенте Isabelle; PDF-версия содержит гиперссылки на соответствующие теории Isabelle для самостоятельной верификации. Книга открыта для эволюции — авторы приглашают к вкладу и совместной доработке. Доступны изображения обложки и содержания для скачивания полного PDF.
Комментарии (15)
- Обсуждение книги: доказывает корректность напрямую, runtime — через абстракцию реального кода; вопрос о языках для прямых runtime-доказательств.
- Спор о binary search: критика за игнор стоимости сортировки (линейный поиск лучше для одного запроса); защита — алгоритм только для отсортированных данных.
- Верификация imperative кода крайне сложна из-за edge-кейсов и реальности; пример verified imperative программы в Lean.
- Binary search применим без начальной сортировки, напр. для поиска точки вставки в отсортированную структуру.
Migrating the main Zig repository from GitHub to Codeberg 🔥 Горячее 💬 Длинная дискуссия
Zig мигрирует основной репозиторий с GitHub на Codeberg из-за деградации платформы после продажи Microsoft в 2018 году. GitHub стал медленным и buggy (перегружен JS-фреймворками), Actions — ненадёжным ("vibe-scheduling" заданий, backlog даже на master, баги без фиксов). Плюс связь с ICE и нарушения строгой no-LLM/no-AI политики из-за навязчивого Copilot. Вместо трат на обход CI-проблем, выбрали смену хостинга.
GitHub Sponsors — ключевой доход ZSF, но признан liability; просят донаторов перейти на non-profit Every.org, перки (имя на главной/релизах) переносят туда. Миграция: GitHub read-only, canonical — codeberg.org/ziglang/zig. Issues/PRs оставляют на GitHub (не мигрировать, продолжают мониторить), на Codeberg нумеруют с 30000. Благодарности Forgejo/Codeberg: Earl Warren, Otto, Gusted, Mathieu Fenniak. Non-profits — оплот от платформенного капитализма.
Комментарии (692)
- Zig мигрирует с GitHub на Codeberg из-за связей с ICE, AI-спама и падения качества; пост критикуют за оскорбления разработчиков ("обезьяны", "неудачники").
- Поддержка миграции как шага к независимости от Microsoft и продвижению Forgejo/Codeberg.
- Критика Codeberg: слабая инфраструктура, низкая скорость, проблемы доступности (CAPTCHA для screen reader).
- Смешанные реакции: энтузиазм тренду ухода с GitHub, но сомнения в стабильности для крупных проектов.