Type Theory and Functional Programming (1999) [pdf]
Конструктивная теория типов объединяет логику и программирование в единую систему, где разработка и верификация программ происходят одновременно. Она представляет собой функциональный язык с уникальными чертами: тотальностью функций, зависимыми типами, позволяющими тип результата определять значением аргумента, а также продвинутыми модулями с логическими утверждениями в интерфейсах. Программы можно извлекать непосредственно из доказательств, что открывает возможности для автоматизированного создания корректного кода.
Книга служит введением и углублённым курсом, начиная с основ логики, λ-исчисления и функционального программирования, затем детально представляет систему теории типов с примерами. Она также критически анализирует предложения по расширению системы, такие как подавление свидетельствующей информации в подтипах или добавление коиндуктивных типов для работы с бесконечными потоками, сохраняя при этом свойства завершаемости. Практическая реализация системы помогла прояснить тонкие аспекты, например роль предположений.
Комментарии (66)
- Обсуждается перспектива широкого внедрения функционального программирования благодаря его теоретической основе, аналогично устойчивости реляционных баз данных и SQL.
- Поднимается вопрос о применении теории типов в императивных языках, с примерами из Rust и C++, где типы улучшают безопасность и выразительность.
- Высказывается критика функционального программирования как сложного и непрактичного, порождающего "ужасный код", в противовес его восприятию как более безопасного и элегантного.
- Участники делятся рекомендациями по литературе для изучения темы (TTOP, Types and Programming Languages) и отмечают её сложность, но ценность.
- Отмечается, что чистые функциональные языки непопулярны (TIOBE), но их идеи (лямбды, монады) проникают в мейнстрим (например, для асинхронного программирования).
High-resolution efficient image generation from WiFi Mapping
Исследователи предложили метод генерации изображений высокого разрешения на основе данных WiFi Channel State Information (CSI), используя предобученную модель латентной диффузии. Вместо прямого преобразования радиосигналов в пиксели, модель сначала переводит CSI в скрытое пространство, где диффузионный процесс достраивает детализированное представление. Это позволяет эффективно восстанавливать сложные сцены с высоким качеством, избегая шумов и артефактов традиционных подходов.
Ключевым преимуществом является использование предобученного диффузионного компонента, что значительно сокращает вычислительные затраты и время обучения. Метод демонстрирует практическую применимость в сценариях мониторинга через стены или в условиях низкой видимости, расширяя возможности беспроводных технологий для компьютерного зрения.
Комментарии (32)
- Технология использует Wi-Fi данные (CSI) как дополнительное условие для модели диффузии (Stable Diffusion), которая генерирует изображения, заполняя пробелы правдоподобными, но частично случайными деталями.
- Модель обучалась на парных данных (Wi-Fi и изображения) конкретной комнаты и человека, что вызывает скептицизм относительно её способности обобщать и обвинения в переобучении.
- Результаты демонстрируют высокую детализацию, но цвет и многие визуальные элементы не извлекаются из Wi-Fi, а являются результатом работы генеративной модели.
- Обсуждаются потенциальные угрозы приватности, если технология получит развитие, поскольку она теоретически может позволить "видеть" сквозь стены.
- Отмечается недостаток информации в статье: низкое разрешение примеров изображений и отсутствие деталей о том, как именно данные собирались и обрабатывались.
Intelligent Kubernetes Load Balancing at Databricks
Databricks разработала умную систему балансировки нагрузки для Kubernetes, которая эффективно распределяет трафик между тысячами кластеров. Вместо стандартного подхода с использованием Ingress-контроллеров они создали собственное решение на основе Envoy Proxy и внутреннего сервиса Discovery. Это позволяет динамически обновлять конфигурации маршрутизации без перезагрузки, что критично для среды с постоянными изменениями кластеров.
Ключевые преимущества включают снижение задержки на 30% и устранение простоев при обновлениях. Система автоматически обнаруживает новые кластеры и перенаправляет трафик, используя health checks для избежания сбоев. Такой подход демонстрирует, как кастомные решения могут превзойти стандартные инструменты в высокомасштабных и динамичных окружениях.
Комментарии (20)
- Обсуждаются клиентские решения для балансировки нагрузки в gRPC, такие как kuberesolver и xDS-резолвер, как альтернативы сервисным мешам для снижения операционной сложности.
- Отмечается, что стандартные механизмы Kubernetes (kube-proxy, Headless Service) ограничены базовыми алгоритмами и не поддерживают сложные сценарии балансировки.
- Поднимается вопрос, почему не используется Rendezvous hashing (HRW), на что следует ответ, что для сложных требований (зональная аффинность, проверки здоровья) простого хеширования недостаточно.
- Указывается на проблему масштабирования при прямом обращении клиентов к API Kubernetes и преимущества использования xDS для получения обновлений о состоянии эндпоинтов.
- Обсуждаются операционные недостатки полного сервисного меша (сложность, стоимость) и тренд на внедрение только необходимых частей (например, xDS) напрямую в клиенты.
An informational website about why I went to prison
Джош отбыл 18 месяцев в федеральной тюрьме за создание и управление спорным стриминговым сайтом HeheStreams с 2016 по 2021 год. Он добровольно сдался властям в январе 2024 года и был освобожден в августе 2025-го, подчеркивая, что многие публикации о его деле содержали неточности.
Сайт позиционируется как попытка предоставить достоверную информацию о его опыте и причинах заключения, контрастируя с искаженными медийными сообщениями. Джош упоминает, что материалы TorrentFreak были наиболее точными, и призывает заинтересованных обращаться к нему напрямую для контекста.
Комментарии (37)
- Автор сайта HeheStreams объясняет, что был осужден за мошенничество, а не за нарушение авторских прав, и отбывал срок под домашним арестом.
- Обсуждение касается технической сложности проекта, который поддерживал множество платформ и использовал нестандартные методы стриминга для обхода ограничений.
- Участники дискутируют о справедливости американской судебной системы, отмечая непропорционально суровое наказание за финансовый ущерб.
- Поднимается вопрос о мотивах создания пиратских стриминговых сервисов, от анархистских убеждений до коммерческой выгоды.
- Автор выражает сожаление, что его личная история стала достоянием общественности, так как изначально она была предназначена для потенциальных работодателей.
Blockdiff: We built our own file format for VM disk snapshots
Разработчики создали формат blockdiff для мгновенных снапшотов дисков виртуальных машин, сократив время создания с 30+ минут на EC2 до нескольких секунд — ускорение в 200 раз. Это стало возможным благодаря хранению только изменённых блоков данных, что экономит место и ускоряет операции. Формат работает поверх CoW-механизмов XFS в Linux, обеспечивая нулевые накладные расходы и мгновенное создание снапшотов без полного сканирования диска.
Ключевые применения включают сохранение сред разработки, быстрое пробуждение ВМ из сна и откат изменений. Решение обошло ограничения бинарных диффов и OverlayFS, предложив простую и надёжную реализацию на Rust. Открытый исходный код доступен на GitHub, что позволяет сообществу адаптировать инструмент для схожих задач.
Комментарии (17)
- Удивление отсутствием рассмотрения формата QCOW2 и технологии тонкого provisioning VDO с LVM2 для решения аналогичных задач.
- Вопросы о выборе XFS вместо ZFS/BTRFS, использовании LVM-снимков и возможности интеграции решения с другими гипервизорами и файловыми системами.
- Обсуждение технических деталей реализации: использование флагов для синхронизации файлов, поддержка copy_file_range в qemu-img, сравнение с OverlayBD.
- Интерес к применению технологии для ускорения подготовки виртуальных машин в CI/CD и публичном облаке.
- Замечания о необходимости альтернативного текста для изображений и выбора лицензии для проекта.
The gaslit asset class
Криптовалюты представляют собой «газлайтинговый класс активов», где большая часть информации о технологии — это намеренное введение в заблуждение. Автор, бывший сотрудник Sun Microsystems и четвёртый сотрудник Nvidia, подчёркивает свою нейтральную позицию: у него нет длинных или коротких позиций в криптовалютах или связанных компаниях, поэтому он не «говорит свою книгу».
Ещё за пять лет до Сатоши Накамото автор участвовал в разработке децентрализованной пиринговой системы LOCKSS, защищённой Proof-of-Work, которая была запущена в производство до публикации Bitcoin. Ни Proof-of-Work, ни блокчейны не были изобретены Накамото — они основаны на исследованиях начала 1990-х. Накамото умело собрал известные техники, но его вклад — mainly в создании криптовалюты, а не фундаментальных инноваций.
Комментарии (92)
- Участники обсуждают фундаментальные уязвимости и парадоксы криптовалют, такие как угрозы квантовых атак и потенциальный перехват средств, несмотря на их устойчивость.
- Поднимаются вопросы использования криптовалют для обхода финансовых регуляций, отмывания денег и другой незаконной деятельности, что частично объясняет их популярность.
- Критикуется упрощённый взгляд на криптоиндустрию, игнорирующий развитие Ethereum, стабильных коинов и Layer-2 решений вроде Lightning Network.
- Отмечается разрыв между первоначальными идеями Сатоши Накамото и реальной практикой, где правила сети определяются крупными майнерами и инвесторами, а не децентрализованным сообществом.
- Обсуждается спекулятивная природа крипторынка, где ценность часто driven by "number goes up" ажиотажем, а не практической полезностью для рядовых пользователей.
CDC File Transfer 🔥 Горячее
Google выпустила инструменты для синхронизации и потоковой передачи файлов между Windows и Linux. Основная цель — упростить работу разработчиков, которым нужно быстро и эффективно перемещать данные между этими операционными системами, особенно в гибридных средах. Решение оптимизировано для производительности и поддерживает как инкрементальные обновления, так и потоковую передачу в реальном времени.
Инструменты включают утилиты командной строки и API, что делает их гибкими для интеграции в автоматизированные процессы или скрипты. Это особенно полезно для DevOps-инженеров и системных администраторов, работающих с кросс-платформенными развертываниями. Проект открыт под лицензией Apache 2.0, что способствует его адаптации и улучшению сообществом.
Комментарии (94)
- Обсуждение алгоритма CDC (Content Defined Chunking) и его преимуществ перед rsync, включая скорость до 30 раз выше и эффективную обработку вставок и удалений в файлах.
- Вопросы о совместимости и внедрении: поддержка только Windows-to-Linux, отсутствие Linux-to-Linux, сложности сборки с Bazel и предложения интегрировать улучшения в стандартный rsync.
- Сравнение с другими инструментами и технологиями: IBM Aspera, Steam, borg backup, git, а также упоминания о монодиальном хешировании и методе lookahead для улучшения FastCDC.
- Сожаления о закрытии Stadia и обсуждение невозможности её самохоста из-за DRM и кастомного железа, а также альтернатив для стриминга игр (Moonlight/Sunshine).
- Критика выбора названия "CDC" из-за его неоднозначности (путаница с USB CDC и Control Data Corporation).
Introduction to Multi-Armed Bandits (2019)
Многорукие бандиты — это классическая задача теории вероятностей и машинного обучения, моделирующая проблему исследования и использования. Агент выбирает из нескольких действий с неизвестными распределениями вознаграждений, стремясь максимизировать суммарный выигрыш. Основная дилемма заключается в балансе между изучением новых вариантов и эксплуатацией уже известных эффективных действий.
Популярные алгоритмы, такие как ε-жадный, UCB и Thompson Sampling, предлагают различные стратегии для решения этой проблемы. Например, UCB использует верхние доверительные границы для оценки потенциальной ценности действий, а Thompson Sampling применяет байесовский подход. Эти методы находят применение в A/B-тестировании, рекомендательных системах и управлении ресурсами, демонстрируя, как оптимальное принятие решений в условиях неопределенности может значительно повысить эффективность систем.
Комментарии (29)
- Применение многоруких бандитов (MAB) для оптимизации контента и выбора действий, с успешными кейсами в продуктах и играх (например, Scrabble, Go).
- Сложности внедрения: проблемы с отчетностью, обучением команд, сохранением независимости данных при A/B-тестировании и управлением состоянием системы.
- Важность четкого определения целевых метрик и компромиссов между ними, а также необходимость понимания преимуществ MAB по сравнению с ручным управлением экспериментами.
- Использование байесовских моделей и иерархических процессов для анализа состояния бандитов и решения проблем стратификации.
- Философская и практическая ценность MAB как метода для принятия решений в условиях неопределенности.
Mind the encryptionroot: How to save your data when ZFS loses its mind
Автор столкнулся с критической проблемой при шифровании пула ZFS: после переноса зашифрованных снапшотов с промежуточного пула sneakernet обратно на основной old данные оказались нерасшифровываемыми. Оказалось, что ZFS неявно создаёт зависимость от encryptionroot — исходного пула, где данные были впервые зашифрованы. В данном случае этим пулом был sneakernet, а не old, поэтому при попытке расшифровать данные на old система не смогла найти нужный ключ.
Ключевая деталь: ZFS передаёт метаданные о encryptionroot при операциях send/receive, даже если данные отправляются в raw-формате. Это привело к тому, что после удаления промежуточного пула sneakernet данные на old стали недоступны, так как система искала ключ от уже несуществующего источника. Автору удалось восстановить доступ, модифицируя исходный код ZFS для ручного создания bookmark и обновления метаданных, что подчёркивает важность понимания внутренней работы encryptionroot перед выполнением сложных операций с шифрованием.
Комментарии (41)
- Пользователи обсуждают сложности и риски использования нативного шифрования ZFS, приводя примеры потери данных из-за ошибок в управлении ключами и снимками.
- Поднимаются вопросы о сравнении ZFS с альтернативами (LUKS+mdadm, Storage Spaces), отмечая преимущества ZFS в эффективности сжатия и производительности, но критикуя его сложность и отсутствие дружелюбного интерфейса.
- Обсуждается важность тестирования резервных копий и необходимость осторожности при использовании зашифрованных наборов данных, особенно при смене паролей или ключей.
- Упоминаются случаи успешного использования ZFS в течение многих лет без потерь данных, но с оговорками о необходимости строгого следования документации.
- Критикуется reliance на Stack Overflow и ИИ для решения сложных задач, поскольку это может привести к необратимым ошибкам из-за некорректных советов.
Show HN: Cobalt – a pixel-art painting studio for the Nintendo DS
Cobalt — это программа для рисования текстурной и экспрессивной пиксельной графики, работающая на Windows, Linux и Nintendo DS. Она отличается компактностью, скоростью и простотой использования, предлагая все необходимые инструменты для создания выразительных изображений. Поддерживает до восьми пользовательских цветов и максимальный размер изображения около 400×320 пикселей.
Функции включают настраиваемые кисти, случайное рассеивание для текстур, рисование линий и кривых, рандомизацию цветов, слой для эскизов и экспорт в GIF. Полная версия доступна за $5, а демо можно попробовать онлайн или скачать бесплатно. Для помощи предусмотрена электронная почта поддержки и подробная документация, включая печатное руководство.
Комментарии (28)
- Положительные отзывы о концепции, эстетике и использовании современных технологий для воссоздания ретро-опыта, включая сравнения с Flipnote Studio.
- Вопросы и ответы о технических деталях проекта Bedrock (изменения в спецификациях v1 и v2, доступ к демо-версиям).
- Обсуждение функциональности редактора: настраиваемые инструменты, работа со слоями (скетч-слой), ограничение в два слоя как осознанный дизайнерский выбор.
- Дебаты о ценообразовании ($5): аргументы за бесплатную модель с донатами против обоснованности небольшой платы для поддержки разработчика.
- Ностальгия и интерес к платформе Nintendo DS, её потенциалу для творческих проектов и особенностям (например, резистивный сенсорный экран с чувствительностью к давлению).