DeepSeek-V4-Flash Update 🔥 Горячее 💬 Длинная дискуссия
DeepSeek‑V4‑Flash теперь доступен в публичном бета‑режиме: достаточно указать модель deepseek‑v4‑flash, а метод вызова API не меняется. По новым публичным бенчмаркам она превосходит V4‑Pro‑Preview: Terminal Bench 2.1 – 82.7, NL2Repo – 54.2, Cybergym – 76.7, DeepSWE – 54.4, Toolathlon – 70.3, Agent Last Exam – 25.2, Automation Bench (Публичный) – 25.1, DSBench‑FullStack – 68.7, DSBench‑Hard – 59.6. Тесты на публичных наборах проводились в минимальном режиме DeepSeek Harness с topp=0.95 и temperature=1.0. Модель поддерживает формат Responses API и адаптирована под Codex; архитектура и размер такие же, как у Flash‑Preview, только дообученная. DeepSeek‑V4‑Pro выйдет скоро, а текущий релиз касается только Flash.
Ранее компания объявила о выпуске DeepSeek‑V4‑Pro и Flash через OpenAI‑ и Anthropic‑совместимые интерфейсы, после чего старые имена deepseek‑chat и deepseek‑reasoner будут удалены 24 июля 2026 года. Модели V3.2‑Exp и V3.2‑Speciale показывают рост: HumanEval – 84.76 %, MATH – 71.02 %, BBH – 83.40 %, а в Arena‑Hard их победа над GPT‑4‑0314 выросла до 68.3 %. В публичных тестах использовался минимальный режим DeepSeek Harness с topp=0.95 и temperature=1.0, а внутренние наборы DSBench‑FullStack и DSBench‑Hard включают сложные задачи полного стека. Кроме того, в V3.2‑Exp точность JSON‑вывода достигла 97 % благодаря регулярным выражениям, а роль‑плейинг стал более гибким, позволяя модели принимать любые персонажи.
Комментарии (255)
DeepSeek-V4-Flash демонстрирует высокую производительность, низкую стоимость и быструю работу, особенно в кодировании, реализации и оптимизации. Пользователи сравнивают её с GPT 5.6 Luna, Kimi K3 и GLM 5.2: DeepSeek-V4-Flash эффективнее в технических задачах, но может уступать другим моделям в генерации текста и ответах на вопросы. Отмечаются риски безопасности — возможная утечка данных и влияние на производительность других моделей. Рекомендуется применять DeepSeek-V4-Flash там, где важны скорость и стоимость, а другие модели — для творческих и аналитических задач.
Show HN: Bento - An entire PowerPoint in one HTML file (edit+view+data+collab) 🔥 Горячее 💬 Длинная дискуссия
Bento/Slides — это презентация, которая сама является программой: всё — редактор, просмотр и слайды — упаковано в один HTML-файл. Нет необходимости в установке, аккаунте или серверах: файл открывается в браузере, автоматически сохраняется при нажатии Ctrl+S, и включает встроенные изображения, шрифты и данные в виде JSON. Он работает офлайн, не требует обновлений и остаётся вашим навсегда — никаких лицензий или истечения срока.
Функционал впечатляет: анимации морфинга плавно преобразуют элементы между слайдами — даже градиенты и формы. Диаграммы живые: можно наводить на столбцы, масштабировать данные колесом мыши или переключать их вид (столбцы → круговая → рассеянная) без перезагрузки. Таблицы с данными мгновенно обновляют графики при редактировании. Форматирование текста работает мгновенно — списки, код и зачёркнутый текст появляются при наборе. Нажатие Esc превращает любой слайд в редактор — вы сразу получаете полный контроль над содержимым.
Комментарии (196)
Bento — перспективный инструмент для создания презентаций, способный заменить PowerPoint, особенно для простых задач. Пользователи ценят его офлайн-работу и независимость от облачных сервисов. Однако отмечаются ограничения: отсутствие поддержки некоторых форматов, ограниченная настройка, проблемы с производительностью при работе с большими презентациями и доступностью. Для сложных проектов рекомендуются Reveal.js или Slidev.
How to stop Claude from saying load-bearing 🔥 Горячее 💬 Длинная дискуссия
Клод стал заменять «load‑bearing» и «honest take» на странные фразы, и пользователи ищут способ обойтись этим. Решение — перехватить вывод через хук MessageDisplay и подменить набор слов, чтобы они звучали абсурдно или исчезли. В примере используется небольшой Python‑скрипт с replacements: «seam» → «whatchamacallit», «you're absolutely right» → «I'm a complete clown», «honest take» → «spicy doodad», «load‑bearing» → «cooked». Скрипт читает JSON‑ввод, применяет регулярные замены с флагом re.IGNORECASE и границами слов, чтобы замены срабатывали только целиком.
Чтобы подключить, файл сохраняют в ~/.claude/hooks/wordswap.sh, делают исполняемым и добавляют в settings.json запись, указывающую на скрипт. После перезапуска сессии Claude выводит, например, «cooked seam» вместо «load‑bearing seam» и «spicy doodad» вместо «honest take». На форуме обсуждают, что такие «переводы» уже помогли более 5 000 участникам избавиться от раздражителя, превращая его в комичный «whatchamacallit». Выбирайте свои замены — например, «grilled» вместо «cooked» или «flaming marshmallow» вместо «spicy doodad» — и наслаждайтесь новым стилем общения. Тема набрала более 300 комментариев, где участники делятся своими наборами замен и шутками. Некоторые даже используют её для создания персонализированных стикеров в чатах.
Комментарии (447)
- Люди раздражаются из‑за повторяющихся «клаудизмов», которые модель использует в любом контексте
- Большинство ищут способы ограничить такие фразы через
CLAUDE.mdили собственные подсказки - Психологически раздражает, когда ИИ «застревает» в предсказуемом стиле, в отличие от человеческого вариативного голоса
- Некоторые считают эти паттерны полезными сигналом ИИ‑содержимого, но хотят, чтобы модель могла адаптировать стиль под задачу
F3 🔥 Горячее
F3 — открытый формат файлов данных, созданный для следующего поколения аналитики и машинного обучения. Он сочетает простоту CSV, сжатие и колоннарную эффективность Parquet и гибкость JSON, при этом сохраняет полную обратную совместимость с существующими инструментами. Формат построен на основе Apache Arrow, поддерживает схему, которую можно менять без потери данных, и хранит встроенные метаданные, позволяющие автоматически определять типы полей и вложенные структуры. Встроенный контроль целостности гарантирует отсутствие повреждений при передаче, а поддержка нескольких кодек сжатия (ZSTD, LZ4) позволяет подбирать оптимальный баланс скорости и размера.
По результатам публичных бенчмарков F3 ускоряет чтение в среднем в 2,3 раза и уменьшает размер файлов на 28 % по сравнению с Parquet, при этом энергопотребление при обработке 10 ТБ данных падает на 35 %. В пилотных проектах участвуют компании‑участники SIGMOD 2026: облачный провайдер, биотехнологическая лаборатория и крупный ритейлер, которые уже перенесли свои пайплайны на F3 и планируют открыть репозиторий с открытым исходным кодом в первом квартале 2026 года. Проект доступен под лицензией Apache 2.0 на GitHub, где сообщество может вносить улучшения и отслеживать дорожную карту.
Комментарии (134)
- Обсуждается новый открытый формат F3, использующий самодокументируемые данные и встроенные WebAssembly‑декодеры.
- Критики указывают на неясный README, отсутствие примеров и недостаточную выгоду перед Parquet.
- Сомнения вызывают долгосрочную поддержку WASM‑декодеров и необходимость их наличия в будущем.
- Проект сравнивают с Parquet и другими форматами, но многие считают его «слабым» без реального решения конкретных проблем.
We chose OCaml to write Stategraph
Разработчики Stategraph выбрали OCaml для управления состоянием Terraform, поскольку корректность здесь критически важна. Система хранит состояние как граф зависимостей в PostgreSQL с блокировкой на уровне ресурсов. OCaml позволяет улавливать целые категории ошибок на этапе компиляции, что невозможно в других языках. Сильная типизация данных предотвращает доступ к несуществующим полям, а неизменяемые структуры по умолчанию исключают условия гонки.
Типобезопасные SQL-записи предотвращают дрейф схемы до развертывания, а PPX автоматически генерирует корректную сериализацию JSON. Как отмечают разработчики: "Мы строим инфраструктуру, которая управляет инфраструктурой других людей. Повреждение состояния не может быть 'редким'. Оно должно быть невозможным". Компилятор OCaml обеспечивает безопасность на уровне типов, проверяя все переходы состояний и записи в базе данных, что значительно снижает количество ошибок по сравнению с традиционным подходом, основанным на тестировании.
Комментарии (105)
- Обсуждение показало, что выбор языка часто опирается на субъективные предпочтения и эстетику, а не только на технические аргументы.
- Участники подчеркнули, что такие факторы, как удобство найма разработчиков и удержание их мотивации, могут быть более важными, чем технические характеристики.
- Была поднята тема лицензий и открытого кода как факторов, которые могут влиять на выбор инструментов.
- Обсуждение также затронуло вопросы стоимости владения инструментом и его экосистемой, включая стоимость обучения и доступность кадров.
- Участники отметили, что хотя технические детали важны, они не всегда являются решающими при выборе стека, особенно если учитывать, что большинство современных языков предлагают сравнимые возможности.
Ratatui – App Showcase 🔥 Горячее 💬 Длинная дискуссия
Ratatui — библиотека для создания терминальных интерфейсов (TUI) на Rust, предлагающая инструменты для построения интерактивных консольных приложений. Она предоставляет богатый набор виджетов (таблицы, графики, календари, списки), гибкие системы компоновки и стилизации, а также поддержку различных архитектурных подходов, включая The Elm Architecture, Component и Flux. Библиотека работает с несколькими бэкендами, поддерживает обработку событий, работу с сырым режимом терминала и захват мыши.
Документация структурирована по разделам: от базовой установки и флагов возможностей до подробных туториалов (создание счётчика, JSON-редактора), примеров приложений и концепций. Особое внимание уделено рецептам решения конкретных задач: компоновка интерфейсов, рендеринг, кастомизация виджетов, тестирование и разработка приложений. Проект активно развивается, с активным сообществом в Discord, Matrix и других платформах.
Комментарии (189)
- Rust-разработчики выбирают TUI, потому что в Rust нет приемлемого GUI-решения, а Ratatui «просто работает».
- Сообщество в основном согласно, что Qt в Rust нет и не предвидится, и что это не проблема, которую можно решить внешним крейтом.
- Терминальные приложения в Rust-экосистеме в основном используют Ratatui, потому что он «просто работает» и не требует сложной настройки.
- Несколько участников поделились ссылками на свои проекты, в которых используется Ratatui, включая игру Rebels in the Sky и чат-клиент termchat.
- Обсуждение также коснулось того, что TUI-инструменты в Rust-экосистеме в основном используют Ratatui, потому что он «просто работает» и не требует сложной настройки.
How I use every Claude Code feature 🔥 Горячее 💬 Длинная дискуссия
Автор активно использует Claude Code как для хобби-проектов, так и профессионально, где его команда потребляет несколько миллиардов токенов в месяц для генерации кода. По его мнению, пространство CLI-агентов стало конкурентным полем, но выбор разработчиков часто зависит от поверхностных различий в реализации функций или "тона" системных промптов, а не от фундаментальных различий. Автор предпочитает подход "забыл и забыл" — делегировать задачи, задавать контекст и позволять ИИ работать, оценивая результат по финальному PR, а не по процессу.
Ключевым элементом эффективного использования Claude Code является файл CLAUDE.md в корне репозитория, который служит "конституцией" для агента. В профессиональной среде этот файл строго поддерживается и достигает 13 КБ, потенциально вырастая до 25 КБ. Автор рекомендует начинать с ограничений, а не с полного руководства, избегать встраивания полного документации в контекст, не просто говорить "никогда", а предлагать альтернативы, и использовать CLAUDE.md как инструмент для упрощения внутреннего инструментария. Для совместимости с другими AI-IDE файл синхронизируется с AGENTS.md.
Комментарии (153)
- Обсуждение охватывает вопросы от синхронизации файлов агентов (AGENTS.md ↔ CLAUDE.md) до философии MCP и навыков (skills), а также затрагивает рабочий процесс с git-worktree и CLI-утилитами.
- Участники обмениваются опытом использования Claude Code, Cursor и других инструментов, обсуждают их преимущества и недостатки, а также их влияние на разработку и рабочий процесс.
- Обсуждаются проблемы с контекстом, который может использовать агент, и как лучше всего структурировать проекты для облегчения работы агента.
- Также затрагивается вопрос о том, как лучше всего использовать инструменты в зависимости от ситуации и как они могут быть улучшены.
How memory maps (mmap) deliver faster file access in Go
Memory maps (mmap) в Go позволяют отображать файлы непосредственно в адресное пространство процесса, избегая копирования данных через буферы. Этот подход устраняет необходимость в системных вызовах read/write, позволяя процессору обращаться к файловой памяти так же, как к обычной памяти. Техника особенно эффективна для больших файлов, когда требуется частый доступ к разным участкам данных, так как mmap обеспечивает постоянное время доступа к любой части файла.
Тесты показали впечатляющие результаты: mmap обеспечивает до 25-кратное ускорение по сравнению с традиционным чтением файлов. В одном эксперименте обработка 1.2GB JSON-файла через заняла 0.4 секунды с mmap против 10 секунд с использованием стандартного пак ioutil. Однако mmap имеет ограничения: он не подходит для очень больших файлов, которые могут не поместиться в виртуальном адресном пространстве, и требует осторожного управления при работе с несколькими процессами. Для оптимальной производительности mmap лучше всего работает с файлами, которые считываются целиком или accessed случайным образом, а не последовательно.
Комментарии (118)
- Обсуждение показало, что mmap не всегда быстрее обычного чтения, особенно при последовательном чтении, и что его преимущество в основном в нишевых сценариях, таких как случайный доступ к большим файлам.
- Участники отметили, что mmap требует осторожности при работе с файлами, которые могут быть изменены или усечены, поскольку это может вызвать ошибки доступа.
- Также было отмечено, что в некоторых ситуациях, таких как чтение из файла в последовательном режиме, обычное чтение может быть предпочтительнее, особенно если файл больше размера оперативной памяти.
- Обсуждение также затронуло влияние различных файловых систем и их взаимодействия с mmap, включая то, что некоторые файловые системы могут не поддерживать mmap или могут вести себя неожиданно при его использовании.
- В конце обсуждение подвело к выводу, что выбор между использованием mmap и обычного чтения должен быть сделан на основе конкретного сценария и требований к производительности, а не на основе предвзятого убеждения в превосходстве одного над другим.
JMAP for Calendars, Contacts and Files Now in Stalwart 🔥 Горячее 💬 Длинная дискуссия
После четырёх лет разработки Stalwart представил полную реализацию JMAP для календарей, контактов, адресных книг, хранения файлов и обмена. Это делает Stalwart первым сервером JMAP, поддерживающим всю семью протоколов совместной работы, открывая новую эру для открытого и эффективного группового ПО. Новые стандарты включают JMAP для Календарей (замена CalDAV), Контактов (альтернатива CardDAV), Файлов (замена WebDAV), а также JSCalendar и JSContact — современные JSON-версии iCalendar и vCard.
JMAP решает проблемы устаревших технологий, предлагая вместо громоздкого XML и несовместимых форматов простые, последовательные API поверх JSON. Протоколы обеспечивают лучшую производительность, простоту реализации и надёжность. Эта реализация знаменует сдвиг в проектировании ПО для совместной работы, позволяя разработчикам строить на единой, когерентной платформе. Поддержка клиентов пока развивается, но такие проекты, как Mailtemi и Parula, уже работают с новыми стандартами.
Комментарии (182)
- Stalwart — первый сервер с полной поддержкой JMAP, но документация и UX оставляют желать лучшего, что затрудняет его внедрение.
- JMAP-совместимые клиенты всё ещё отсутствуют, что делает внедрение Stalwart сложным для конечных пользователей.
- Отсутствие клиентов и серверов, поддерживающих JMAP, затрудняет внедрение, даже если Stalwart технически превосходит IMAP и CalDAV.
- Сообщество обсуждает, что для внедрения JMAP нужно как минимум один из: либо крупный провайдер (Gmail, Fastmail) начнёт поддерживать его, либо Thunderbird и другие клиенты добавят поддержку.
MAML – A new configuration language
MAML — это минималистичный формат для данных, который сохраняет читаемость для человека и при этом остаётся простым для машинной обработки. Он сочетает лучшее из JSON, дополняя его комментариями, многострочными строками и необязательными запятыми и кавычками.
MAML уже реализован в нескольких языках, включая JavaScript, Python, Rust, C и PHP. Эти реализации находятся на разных стадиях разработки: от готовых к использованию до находящихся в активной разработке.
Проект полностью открыт, с кодом на GitHub, и распространяется по лицензии MIT, что позволяет свободно использовать, модифицировать и распространять его.
Комментарии (145)
- Обсуждение вновь подтвердило, что вместо улучшения JSON/YAML/TOML появляется всё больше новых конфиг-языков, но никто не решает их проблемы с синтаксисом, датами, комментариями и т.д.
- Участники обсуждения отмечают, что большинство этих новых языков не решают фундаментальные проблемы, такие как отсутствие типов данных, дат и комментариев в JSON.
- Некоторые комментаторы подчеркивают, что вместо того, чтобы изобретать новые языки, лучше бы улучшить существующие инструменты, такие как JSON5 или TOML.
- Другие участники поднимают вопрос, что если бы разработчики потратили усилия на улучшение существующих инструментов, вместо создания новых, это было бы более продуктивно.
ProofOfThought: LLM-based reasoning using Z3 theorem proving 🔥 Горячее 💬 Длинная дискуссия
Нейросимволический синтез программ позволяет создавать надёжные и интерпретируемые системы рассуждений, объединяя нейросетевые подходы с символической логикой. Метод генерирует формальные доказательства для каждого шага рассуждения, что обеспечивает прозрачность и проверяемость результатов, критически важные для таких областей, как автоматизированное доказательство теорем и объяснимый ИИ.
Технология демонстрирует повышенную устойчивость к ошибкам и способность работать со сложными логическими структурами, избегая "галлюцинаций", характерных для чисто нейросетевых моделей. Практическое применение включает автоматизацию рассуждений в математике, верификацию программного кода и создание систем, требующих чёткой аргументации.
Комментарии (164)
- Обсуждение фокусируется на гибридном подходе, сочетающем языковые модели (LLM) для генерации структурированных предположений (например, на JSON DSL или в логических синтаксисах, таких как SMT, Prolog) и последующей верификации этих выводов с помощью детерминированных решателей (таких как Z3) или теорем-проверов (как Lean).
- Участники подчеркивают как потенциал этого подхода для повышения надежности и интерпретируемости рассуждений ИИ, так и его фундаментальные ограничения, такие как «проблема автоформализации» (autoformalization gap) — риск того, что LLM некорректно переведет запрос в формальную логику, что приведет к принципу «мусор на входе — мусор на выходе».
- Приводятся практические примеры применения метода, включая проверку согласованности бизнес-политик, автоматизацию математических вычислений (например, с помощью SymPy) и синтез программ.
- Высказываются критические замечания о природе LLM: они не являются «мыслящими» системами, а лишь статистическими моделями, генерирующими правдоподобные шаблоны, и их вывод принципиально не детерминирован и может быть неполным или ошибочным.
- Обсуждаются технические детали и улучшения, такие как использование структурированных выходов API, ограниченное декодирование для повышения надежности генерации кода и необходимость более четких примеров в документации проектов.
Typst: A Possible LaTeX Replacement 🔥 Горячее 💬 Длинная дискуссия
Typst — это новая система вёрстки документов, написанная на Rust и позиционируемая как современная альтернатива LaTeX. Она сохраняет высокое качество вывода, особенно для технических и научных материалов с формулами, таблицами и иллюстрациями, но предлагает более простой синтаксис разметки, быстрое компилирование и удобную кастомизацию. Проект развивается с 2019 года, уже насчитывает сотни контрибьюторов и постепенно получает признание в академической среде.
Ключевые преимущества Typst включают мгновенную работу со шрифтами, интерактивный режим редактирования с автоматической перекомпиляцией и поддержку современных форматов вывода. В отличие от LaTeX, он не требует гигантской установки, проще в освоении и выдаёт понятные ошибки. Хотя замена экосистемы пакетов LaTeX остаётся вызовом, Typst демонстрирует практическую ценность для тех, кто ищет лёгкий и эффективный инструмент для вёрстки.
Комментарии (338)
- Пользователи отмечают значительное преимущество Typst перед LaTeX в скорости компиляции, удобстве синтаксиса и понятности диагностических сообщений.
- Многие перешли на Typst для генерации документов в продакшн-средах (инвойсы, отчёты, книги) благодаря его простоте интеграции с данными (JSON) и программируемости.
- Подчёркивается проблема принятия Typst в научном сообществе из-за доминирования LaTeX-шаблонов журналов и конференций, а также отсутствия полной поддержки инструментов вроде Zotero.
- Некоторые пользователи выражают скептицизм по поводу замены LaTeX для сложных математических формул и опасения по поводу долгосрочного развития и обратной совместимости Typst.
- Typst часто используется как замена Markdown для простых документов и заметок благодаря интуитивному формату и мгновенному предпросмотру.
Show HN: Dayflow – A git log for your day 🔥 Горячее
Dayflow автоматически создаёт таймлайн дня на основе данных с устройств Apple. Он использует машинное обучение для анализа активности, местоположения и приложений, превращая сырые данные в структурированную хронологию событий. Это помогает пользователям визуализировать, как проходит их день, без ручного ввода.
Проект работает локально, обеспечивая конфиденциальность данных, и поддерживает экспорт в JSON или Markdown для дальнейшего использования. Полезно для самоанализа, ведения дневника или отслеживания продуктивности.
Комментарии (115)
- Предложения по применению: для юристов и фрилансеров для учёта рабочего времени, для людей с СДВГ для анализа отвлечений, для автоматизации отчётов на стендапах.
- Обеспокоенность приватностью и безопасностью: отправка скриншотов в облако вызывает опасения по поводу паролей и конфиденциальных данных; предпочтение отдаётся локальным моделям.
- Технические вопросы и предложения: работа с несколькими мониторами, частота записи, интеграция с другими данными (Apple Health), создание API для расширений.
- Юридические и этические аспекты: необходимость согласия на запись в видеозвонках, потенциальное misuse со стороны работодателей для контроля сотрудников.
- Позитивные отзывы: отмечается удобство, качественный UX и возможность использования локальных моделей для конфиденциальности.
YAML document from hell (2023)
YAML позиционируется как удобный для человека формат данных, но на деле оказывается чрезвычайно сложным и полным скрытых ловушек. Его спецификация занимает 10 глав с многоуровневой структурой, в отличие от лаконичного JSON, чья спецификация умещается в шести диаграммах и почти не менялась два десятилетия. YAML активно развивается: версия 1.2 существенно отличается от 1.1, что приводит к разному parsing одних и тех же документов в разных реализациях.
Пример документа с настройками сервера демонстрирует проблемы YAML: числа вида 22:22 могут интерпретироваться как sexagesimal (1342) в версии 1.1, но как строка в 1.2. Якоря (&) и алиасы (*) усложняют чтение, а теги (!) создают угрозу выполнения произвольного кода при загрузке ненадёжных данных. Известная «проблема Норвегии» (неожиданная интерпретация сокращений стран) подчёркивает, что попытки быть «дружелюбным» формат делают его непредсказуемым и опасным.
Комментарии (114)
- Критика YAML за его сложность, неоднозначность и множество подводных камней, таких как проблемы с автоматическим определением типов (например, "no" интерпретируется как
false). - Предложения использовать альтернативы: JSONC, TOML, HCL, Dhall, Jsonnet, CUE или всегда заключать строки в кавычки в YAML для избежания ошибок.
- Обсуждение отдельных проблемных особенностей YAML, таких как якоря/алиасы, сексегесимальные числа и необходимость в линтерах.
- Отмечается, что, несмотря на недостатки, YAML остается популярным из-за удобочитаемости и широкой распространенности.
- Упоминание, что спецификация YAML 1.2 (2009 г.) исправила некоторые проблемы, но многие issues остаются актуальными.
Sj.h: A tiny little JSON parsing library in ~150 lines of C99 🔥 Горячее 💬 Длинная дискуссия
Миниатюрная библиотека sj.h для парсинга JSON весит всего 500 строк кода и использует единственный заголовочный файл. Она спроектирована для минимализма и эффективности, поддерживая базовые операции: разбор строк, чисел, булевых значений, массивов и объектов.
Библиотека не требует динамического выделения памяти, что делает её идеальной для встраиваемых систем и сред с ограниченными ресурсами. Её API интуитивен — всего несколько функций для доступа к данным, что снижает порог входа. Практический плюс: легко интегрируется в существующие C-проекты без зависимостей.
Комментарии (216)
- Обсуждаются достоинства библиотеки автора: однофайловые решения на ANSI C/Lua с фокусом на простоту, удобный интерфейс и хорошую документацию.
- Отмечаются потенциальные проблемы безопасности и корректности: отсутствие проверок на переполнение целых чисел, возможное неопределённое поведение, слабая валидация JSON.
- Поднимается вопрос о целесообразности использования: обсуждаются нишевые применения (например, embedded), недостатки для продакшена и альтернативные библиотеки.
- Упоминается необходимость тестирования на соответствие стандарту (конформность) и handling edge cases.
- Обсуждается философия подобных минималистичных библиотек: свобода от избыточной сложности ценой отказа от безопасности и обработки всех крайних случаев.
Why our website looks like an operating system 🔥 Горячее 💬 Длинная дискуссия
Почему PostHog стал похож на ОС
Мы устали от типичных сайтов: бесконтентные скроллы, одинаковые вкладки, пустое пространство. Новый PostHog.com работает как ОС в браузере: окна «прилипают», есть горячие клавиши, закладки, можно читать новости, смотреть демо и играть одновременно.
Что внутри
- Проводник Windows для магазина мерча
- Продуктовые страницы в стиле PowerPoint
- Редактор документов с возможностью правки
- Форумы как Outlook Express
- Плеер QuickTime, таблицы вместо дизайна, скринсейвер и обои
- 50+ горячих клавиш
Техника
Контент отделён от визуального слоя: продукты описаны в JSON, темы и цветовые схемы настраиваются, клиентские цитаты и логотипы хранятся в одном месте и подтягиваются автоматически. Всё собрано в прод-ветке на Tailwind + TypeScript.
Комментарии (430)
- Сайт PostHog выглядит как десктоп ОС в браузере: окна, таски, «окна в окнах».
- Кому-то нравится визуальный стиль и ностальгия по 90-м, но почти все жалуются на тормоза, жрущий CPU JS и поломанные привычные хоткеи/кнопки.
- Пользователи теряются: непонятно, где контент, как начать читать и что вообще продаёт компания.
- Критика сводится к «изобретаю заново мой менеджер окон», «ломает SEO и accessibility», «не работает Back, не скроллится, на мобиле ужасно».
- Некоторые считают это крутым маркетинг-ходом и «growth-hack», но сомневаются, что кто-то будет реально пользоваться.
How RSS beat Microsoft 🔥 Горячее 💬 Длинная дискуссия
Как RSS победил Microsoft
Корпоративные гиганты пытались монополизировать контент-синдикацию, но проиграли простому формату.
ICE vs RSS: закрытость против открытости
В 1998 году Microsoft, Adobe, CNET и другие запустили спецификацию ICE — дорогой, сложный и закрытый стандарт для лицензирования и перепубликации контента. ICE обещал издателям контроль и монетизацию, но требовал $50 000 за сервер и поддержку консорциума.
RSS появился в 1999 как бесплатный XML-виджет на портале My Netscape: любой блоггер мог добавить ленту обновлений в общий список «каналов». Формат был проще, короче и не требовал денег.
Деньги vs массы
ICE продавали крупным издателям: Reuters, Vignette, iSyndicate. RSS раздавали бесплатно: первые агрегаторы Headline Viewer и my.userland.com запустились без бюджета и без лицензий. Пока консорциум взимал плату, тысячи блоггеров уже создавали ленты в блокноте.
Итог
К 2005 году ICE умер: дорого, сложно, никто не пришёл. RSS стал воздухом: читалки, подписки, podcast-фид. Победил не потому что был лучше технически, а потому что был открытым и бесплатным.
Комментарии (156)
- RSS удобен читателям, но не выгоден издателям: в ленту сложно встроить рекламу и отследить аудиторию.
- Пользователи по-прежнему цепляются за RSS: уходят с платформ, которые его убрали (Twitter, Reddit), и сами собирают фиды.
- Google Reader убил, а не стандарт: после закрытия сервиса ленты исчезли, но подкасты, XKCD, Microsoft-фиды живы.
- Технически RSS «мёртв» 15 лет, по факту — нишевой, но стабильный инструмент; альтернативы (ICE, ActivityPub) не прижились.
- Новые идеи: RSS-газета на бумаге, JSON-лента, почтовые ящики внутри ридеров — всё решает те же старые проблемы монетизации и курирования.
Monodraw 🔥 Горячее 💬 Длинная дискуссия
Monodraw — редактор ASCII-графики для macOS (11 Big Sur+).
Пробная версия бесплатно, лицензия — $9.99, скидки для учебных заведений.
Возможности
- Диаграммы: структуры данных, алгоритмы, ER-диаграммы (нотация «Crow’s Foot»).
- Mind-map: свободное размещение текста на бесконечном холсте.
- Баннеры: 148 встроенных шрифтов FIGlet, изменение размера и выравнивание.
- Инструменты: прямоугольники, линии (ортогональные, лестницы), текст, карандаш, ластик, заливка, пипетка.
- Точки крепления: линии автоматически цепляются к фигурам.
- CLI: генерация документации в хуках Git, экспорт JSON.
- Группы, направляющие, фокус-режим, горячие клавиши для быстрой работы.
Экспорт: PNG, SVG.
Комментарии (172)
- Разработчик Monodraw отвечает на вопросы; пользователи делятся альтернативами (asciiflow, textik, durdraw, REXPaint).
- Все хвалят чистоту результата, низкую цену ($10 навсегда) и удобство вставки ASCII-диаграмм прямо в код или документацию.
- Основные сценарии: комментарии в исходниках, схемы сетей, баннеры серверов, ASCII-анимации, план кухни.
- Главный недостаток: приложение только для macOS; много просьб портировать на Linux.
- Новая текстовая разметка (апрель 2025) улучшает работу с системами контроля версий.
Show HN: Base, an SQLite database editor for macOS 🔥 Горячее 💬 Длинная дискуссия
Base — компактный и мощный редактор SQLite для macOS.
Возможности
-
Инспектор схем
Быстро просматривайте структуру таблиц, типы столбцов и связи без SQL. -
Визуальный редактор таблиц
Создавайте и изменяйте таблицы мышью, безCREATE/ALTER. -
Браузер данных
Просматривайте, фильтруйте и правьте записи прямо в таблице. -
SQL-редактор
Пишите запросы с подсветкой синтаксиса, автодополнением и сохранением сниппетов. -
Импорт/Экспорт
Загружайте CSV и SQL-дампы; выгружайте в CSV, SQL, JSON и Excel.
Системные требования
macOS 15 Sequoia и выше.
Бесплатная версия ограничена; полная — единоразовая покупка.
Комментарии (166)
- Пользователи удивлены, что Base существует уже 15 лет, но плохо заметен в поиске.
- Хвалят «ремесленный» подход: маленькая команда, узкая задача, высокое качество.
- Часто сравнивают с TablePlus, Postico и sqlitebrowser, отмечая превосходство в «родном» macOS-UX.
- Просят добавить DuckDB, UUID, автозагрузку расширений, FK по умолчанию и диаграммы схемы.
- Покупатели благодарны за возможность покупки вне Mac App Store и за льготную цену.
Everything I know about good API design 🔥 Горячее
Краткое руководство по хорошему API-дизайну
Хороший API — это скучный API. Пользователю должно быть интуитивно понятно, как им пользоваться, без чтения документации. Однако, в отличие от большинства систем, API почти нельзя менять: любое изменение ломает чужой код и толкает клиентов к конкурентам.
Не ломаем userspace
- Добавлять поля можно.
- Удалять, менять тип или структуру полей — нельзя.
- Даже опечатка в HTTP-заголовке
refererнавсегда останется опечаткой, потому что «мы не ломаем userspace».
Как изменять API без боли
Если изменение критично, используйте версионирование:
- Параллельно запускаем старую (
/v1/) и новую (/v2/) версии. - Сообщаем клиентам, ждём месяцы или годы, затем выключаем старую.
- Stripe и OpenAI делают именно так, но это всё равно «зло из необходимости»: путает пользователей и усложняет поддержку.
Итог: проектируйте API так, чтобы не пришлось его трогать.
Комментарии (119)
- «Никогда не ломать userspace» — про стабильность обещанного интерфейса; внутренние kernel-API могут меняться без предупреждения.
- Версионирование спорно: кто-то советует закладывать /v1 сразу, кто-то — избегать /v2, чтобы не плодить долгую поддержку.
- Идемпотентность считается обязательной: ключ лучше хранить в той же транзакции, что и мутация, а не в Redis.
- Cursor-пагинация удобнее offset: не повторяет элементы при добавлении новых данных.
- «API» — это не только HTTP/JSON, но и любой программный интерфейс; термин стал слишком узким в веб-контексте.
RFC 9839 and Bad Unicode
RFC 9839 и плохой Unicode
Unicode хорош, но не все его символы. Часто приходится исключать «проблемные». Чтобы формализовать это, мы с Полом Хоффманом написали черновик, и теперь он стал RFC 9839 — всего 10 страниц, читайте, если проектируете текстовые поля.
Пример боли: JSON-поле username может содержать:
U+0000— нулевой байт, ломает языки;U+0089— устаревший C1-контрол «HTJ»;U+DEAD— несвязанный суррогат, запрещён в UTF-8;U+7FFFF— «noncharacter», не должен передаваться.
RFC 9839 перечисляет такие категории и предлагает три готовых подмножества, которые можно просто запретить.
Не вините Дуга Крокфорда: JSON создавался раньше, когда Unicode был молод. Но теперь нужен способ явно сказать «эти символы не нужны».
PRECIS (RFC 8264, 2002) уже решал похожую задачу, но 43 страницы сложностей и привязка к конкретной версии Unicode мешают внедрению. RFC 9839 проще и тупее — и, возможно, именно поэтому пригодится.
Комментарии (122)
- Участники спорят, нужно ли на уровне JSON/протокола запрещать «плохие» символы Unicode (управляющие, суррогаты, заломы направления и т. д.) или оставить это прикладной валидации.
- Одни считают, что жёсткие ограничения защищают от ошибок и атак (RTL-override, залого-текст, сломанные UTF-16-реализации).
- Другие указывают на полезные кейсы C0-символов (EOF, ESC, разделители) и опасаются, что «закрыть и забыть» приведёт к 20-летней несовместимости (эмодзи, старые файлы).
- Ссылаются на RFC 8264/9839 и PRECIS-фреймворк как готовый список «что разрешать», но подчёркивают: правило должно быть явным, а не «тихо удалять».
MCP overlooks hard-won lessons from distributed systems 🔥 Горячее 💬 Длинная дискуссия
MCP игнорирует 40 лет опыта RPC и обрекает компании на сбои
Проблема
Model Context Protocol (MCP) позиционируется как «USB-C для ИИ», но жертвует надежностью ради простоты. Компании внедряют его в продакшен, не осознавая, что в основе лежит архитектура без базовых механизмов, которые считаются обязательными в RPC-системах с 1982 г.
4 пропущенных урока
-
Типы данных
UNIX RPC (1982) ввёл XDR и IDL, чтобы 32-битное целое не превратилось в мусор на другой архитектуре. MCP использует схематичный JSON: проверка типов происходит в рантайме, если вообще происходит. В результате ИИ-трейдер может ошибиться в десятичном разряде, а медицинский ассистент — перепутать дозировку. -
Кросс-языковая совместимость
CORBA (1991) генерировала привязки под C++, Java, Python и т. д., гарантируя, что исключение на сервере корректно обработается клиентом. MCP оставляет реализацию на усмотрение каждого языка: Python и JavaScript по-разному кодируют Unicode и float, что ведёт к тихим ошибкам интеграции. -
Безопасность и версионирование
gRPC и SOAP научились:- TLS/mTLS по умолчанию
- строгая обратная совместимость через IDL
- единое управление ошибками и таймаутами
MCP не требует шифрования, не описывает, как менять контракт, и не стандартизирует retry-логику. Каждый инструмент решает сам, как сообщать об ошибке.
-
Масштабирование и наблюдаемость
Современные RPC-фреймворки включают распределённый трейсинг, rate-limiting, circuit breaker. MCP не предоставляет ни метрик, ни механизмов отказоустойчивости. При миллионах вызовов в день компании получают «чёрный ящик», который нельзя отладить и который падает при первой же нагрузке.
Итог
Простота MCP полезна для прототипов, но в продакшене превращается в долговременный техдолг. Пока MCP не добавит IDL, строгие типы, безопасность и наблюдаемость, внедрять его в критичных системах — значит повторять ошибки, которые отрасль исправляла последние 40 лет.
Комментарии (186)
- Критики считают MCP «USB-C для ИИ»: универсальным, но с расплывчатыми стандартами и слабой типизацией.
- Сторонники отвечают: именно минимализм JSON-over-HTTP обеспечил быструю массовую adoption, в отличие от громоздких SOAP/CORBA.
- Спор о схемах: MCP поддерживает JSON Schema, но валидация не обязательна, поэтому ошибки типов всплывают только в рантайме.
- Поднимаются темы безопасности и трейсинга: нет встроенного аудита вызовов и расходов, что критично для enterprise.
- Общий вывод: MCP сейчас «хорошо достаточно» для веба, но для регулируемых или высоконагруженных сред потребуется или доработка, или новая спецификация.
GPT-5 leaked system prompt? 💬 Длинная дискуссия
Системный промпт GPT-5 (сокращённо)
Ты ChatGPT на базе GPT-5, обучён OpenAI. Знания до июня 2024 г.
Поддержка изображений: включена. Личность: v2.
Не цитируй тексты песен и защищённые материалы.
Стиль: проницательный, вдохновляющий, с ясностью, энтузиазмом и лёгким юмором.
Не заканчивай вопросами о продолжении; не предлагай «хотите, чтобы я…».
Очевидный следующий шаг — делай сразу.
Доступны: Deep Research, Sora (видео) в Plus/Pro.
GPT-4.5, o3, o4-mini — для залогиненных Plus/Pro.
GPT-4.1 только в API.
Инструмент bio (память)
Позволяет сохранять/удалять данные между диалогами.
Пиши to=bio только plain text, без JSON.
Примеры:
- «User любит краткие подтверждения».
- «Forget что пользователь ищет духовку».
Когда использовать:
- Пользователь просит «запомнить», «забудь», «добавь в память» и т.п.
- Делай это всегда, даже если факт мелкий.
- Перед фразами вроде «понял, запомню» — сначала вызови
bio.
Когда не использовать:
- Случайные, чрезмерно личные или краткосрочные детали.
- Не сохраняй чувствительные данные (раса, религия, здоровье, политика и т.д.), если пользователь явно не попросил.
Комментарии (214)
- Участники сомневаются в подлинности «слившегося» системного промпта GPT-5: нет подтверждения, он слишком короткий и выглядит как результат джейлбрейка.
- Промпт перегружен мелкими тех-инструкциями: React + Tailwind, запрет JSON в
to=bio, шрифты Unicode для CJK, но не упоминает CSAM, порнографию и т. д. - Люди удивлены, что React получил отдельный блок, а не Python или другие языки.
- Обнаружены явные ошибки: «korean -->» вместо «japanese -->» и противоречивые описания моделей.
- Общий вывод: похоже на набор «заплаток», а не полный системный промпт; управление поведением модели всё ещё требует prompt-инженерии, а не только fine-tuning.