.NET MAUI is coming to Linux and the browser 🔥 Горячее 💬 Длинная дискуссия
—
Комментарии (237)
- Основная критика .NET MAUI для веба — отсутствие поддержки стандартных веб-функций (Ctrl+F, выделение текста, копирование ссылок), что делает его нечувствительным к привычным взаимодействиям.
- Выражается скепсис в отношении будущего MAUI из-за багов, слабой документации, отсутствия поддержки в продуктах Microsoft и исторической практики Microsoft не использовать свои же фреймворки.
- Для веб-приложений на .NET предлагается использовать Blazor, а для кроссплатформенных десктопных решений — альтернативы вроде Avalonia или Kotlin Compose Multiplatform.
- Указывается на производительность (долгая загрузка) и проблемы с доступностью (несовместимость с скринридерами) при использовании MAUI в веб-окружении.
- Обсуждается целесообразность .NET для веб-разработки: часть участников считает веб-технологии более подходящими, а часть видит потенциал в .NET при условии решения текущих ограничений.
Pikaday: A friendly guide to front-end date pickers 🔥 Горячее
В статье утверждается, что JavaScript-библиотеки для выбора даты, такие как Pikaday, часто не нужны и могут приводить к ошибкам и брошенным формам. Вместо этого рекомендуется использовать нативные HTML-инпуты: date для дат, time для времени и datetime-local для их комбинации. Эти решения требуют всего одной строки кода, обеспечивают лучшую доступность, производительность и интернационализацию, работают без JavaScript и позволяют браузеру обрабатывать сложные детали.
В качестве альтернатив предлагаются раздельные инпуты для дня, месяца и года (особенно полезно для запоминающихся дат), селекты при ограниченном наборе вариантов и маскированные инпуты с плейсхолдерами. Для улучшения опыта можно использовать атрибуты: inputmode="numeric" для отображения цифровой клавиатуры, maxlength для ограничения ввода, pattern для валидации, autocomplete для автозаполнения и min/max для ограничений диапазона. Автор подчеркивает важность прогрессивного усиления и учета пользователей без JavaScript.
Комментарии (124)
- Пользователи жалуются на нативные пикеры из-за необходимости тысяч кликов, чтобы выбрать дату рождения, и наоборот — кастомные пикеры не позволяют вводить дату текстом.
- Разработчики отвечают, что нативный
<input type="date">не поддерживает форматов вроде «MM/DD/YYYY» и не даёт контроля над UI, а кастомные пикеры не решают проблему с доступностью и не имеют единого UX. - В итоге спор сводится к тому, что нативный пикер не решает проблему, а кастомный — не решает её лучше.
- Пользователи также жалуются на то, что нативный пикер не позволяет вводить дату текстом, а кастомный — не позволяет вводить дату текстом.
- В итоге, обсуждение сводится к тому, что нативный пикер не решает проблему, а кастомный — не решает её лучше.
XSLT RIP 🔥 Горячее 💬 Длинная дискуссия
Страница XSLT.RIP объявляет о смерти технологии XSLT, обвиняя в этом Google. На минимальной веб-странице всего три строки: заголовок "Если вы это читаете, XSLT был убит Google" и два коротких соболезнования. Это мемориальная страница, созданная в знак уважения к технологии, которая, по мнению автора, прекратила свое существование из-за действий Google.
Страница оформлена в виде простого XML-документа с XSLT-стилем, что создает ироничный контент. Несмотря на скудность информации, это явный протест против прекращения поддержки XSLT, технологии, которая долгое время использовалась для преобразования XML-документов. Фраза "Rest in peace" (Вечная память) подчеркивает, что автор рассматривает это как окончательную кончину технологии, а не просто изменение в политике поддержки.
Комментарии (389)
- Google не «убивает» XSLT, а лишь прекращает поддержку в браузере, что вызывает споры о том, насколько это технически оправдано.
- Сайт xslt.rip использует нарочито ретро-дизайн, чтобы подчеркнуть иронию ситуации, но это вызывает споры о том, насколько это уместно.
- Обсуждение поднимает вопрос о том, что XSLT всё ещё используется в медицинских записях и других нишах, где XML по-прежнему важен.
- Некоторые участники считают, что Google просто не хочет вкладывать ресурсы в поддержку устаревших стандартов, в то время как другие считают, что это естественный процесс устаревания технологий.
Marko – A declarative, HTML‑based language 🔥 Горячее 💬 Длинная дискуссия
Marko — это декларативный язык на основе HTML для создания динамических веб-интерфейсов, расширяющий стандартный HTML возможностями для современных приложений. Любой валидный HTML является корректным Marko, но язык добавляет декларативные конструкции для реактивности и интерактивности, позволяя встраивать JavaScript прямо в шаблоны. Ключевые особенности включают потоковую передачу контента для ускорения первого отрисовки, оптимизирующий компилятор и минимальный рантайм, что обеспечивает высокую производительность даже для высоконагруженных проектов вроде eBay.com.
Фреймворк предлагает гибкость синтаксиса — от привычного HTML до более лаконичных вариантов Concise и JS — и поддерживает TypeScript для строгой типизации. Marko обеспечивает разделение concerns, управляемые компоненты, вложенную реактивность и неизменяемое состояние, что упрощает разработку масштабируемых приложений. Интеграция с экосистемой включает file-based routing и возможность использования как простых шаблонов, так и мощных компонентов по мере роста проекта.
Комментарии (166)
- Обсуждение вращается вокруг того, что веб-разработка циклически возвращается к идеям, похожим на ColdFusion и JSP, и это вызывает у участников разговора разные чувства от ностальгии до раздражения.
- Участники обсуждают, что такое "HTML-основнный" язык, и как он отличается от JSX и других подходов, и почему мы снова и снова возвращаемся к этой идее.
- Обсуждение затрагивает вопрос о том, что некоторые считают, что эволюция веб-технологий просто движется по спирали, где старые идеи периодически перерабатываются и выдаются как новые.
- Участники также обсуждают, что такое "нативный" веб-разработка и как она отличается от подхода, где JavaScript используется для обработки событий и взаимодействия.
- Участники также обсуждают, что такое "нативный" веб-разработка и как она отличается от подхода, где JavaScript используется для обработки событий и взаимодействия.
Комментарии (44)
- HTMX — это не мем и не анти-JS, а просто библиотека, которая расширяет HTML без отказа от JavaScript.
- Аргумент «10 МБ WASM» сводится к «загрузка кода на клиенте — это не проблема, если использовать Service Worker.
- «Local first» не означает «без сервера», а лишь убирает синхронизацию состояния, оставляя серверную логику на клиенте.
- Под капотом HTMX остаётся обычный запрос-ответ, просто вместо JSON в DOM вставляется HTML-фрагмент.
- Дискуссия свелась к тому, что критика не в том, что HTMX плох, а в том, что пример не показывает, как реальные приложения выглядят.
Cerebras Code now supports GLM 4.6 at 1000 tokens/sec
Cerebras привлек $1.1 млрд в раунде G по оценке $8.1 млрд, представив платформу для быстрой генерации кода на базе модели GLM-4.6. Эта модель обрабатывает более 1,000 токенов в секунду, занимая первое место в рейтинге вызова инструментов Berkeley Function Calling и демонстрируя производительность на уровне Sonnet 4.5 в веб-разработке. Платформа позволяет использовать GLM-4.6 с любым AI-дружелюбным редактором кода через API.
Компания предлагает три тарифных плана: бесплатный с ограниченным доступом, Pro за $50 в месяц (24 млн токенов в день) и Max за $200 (120 млн токенов). Эти варианты подходят как для небольших проектов, так и для полноценной разработки с интеграцией в IDE. Cerebras позиционирует свой сервис как решение для поддержания состояния потока программиста без ожидания генерации кода.
Комментарии (108)
- Cerebras Code с GLM 4.6 демонстрирует высокую скорость генерации (до 1000 ток/с), что значительно ускоряет итерации, особенно для UI-разработки и рутинных задач.
- Пользователи разделились: одни видят в скорости революцию для продуктивности ("секретное оружие"), другие скептичны, считая модель уступающей конкурентам (Claude, GPT) и сомневаясь в отсутствии квантования.
- Практическая ценность зависит от задач: скорость критична для быстрой обратной связи в веб-разработке, но менее полезна для глубокого кодирования или нишевых областей (embedded), где важнее точность.
- Поднимаются вопросы о реальной производительности модели, обоснованности цены ($50/мес) и устойчивости бизнес-модели, особенно при высоких затратах на токены.
- Аппаратная реализация (гигантский чип Cerebras) объясняет скорость, но вызывает споры о влиянии на качество вывода и отсутствие независимой верификации.
End of Japanese community 🔥 Горячее 💬 Длинная дискуссия
Это сообщение об ошибке появляется, когда на сайте требуется JavaScript, но он отключен в браузере пользователя. Сайт не может загрузить необходимый компонент без включенного JavaScript, что блокирует доступ к функционалу.
Проблема может возникать из-за нескольких причин: использование браузерных расширений (блокировщиков рекламы), сетевые неполадки или настройки самого браузера. Для решения рекомендуется проверить интернет-соединение, временно отключить расширения, особенно блокировщики рекламы, или попробовать использовать другой браузер. Включение JavaScript позволит сайту корректно загрузить все необходимые элементы и обеспечить полноценную работу.
Комментарии (663)
- Mozilla уволил волонтёров-переводчиков без предупреждения и предложил «быстро созвониться» вместо диалога; это вызвало волну возмущения в сообществе.
- Сообщество ответило, что открытое ПО и волонтёрство не должны быть взаимоисключающимися, и Mozilla должна была бы заранее обсудить изменения и уважительно относиться к вкладу волонтёров.
- В обсуждении также поднимается вопрос о том, что Mozilla в целом отошла от своих ценностей и миссии, и что это не первый случай подобного поведения.
- Участники обсуждения также отметили, что Mozilla в последнее время стала более закрытой и корпоративной, что вызывает тревогу.
- В конце концов, Mozilla сделала официальное извинение, но волонтёры заявили, что это слишком поздно и что Mozilla должна была бы лучше коммуницировать с сообществом и волонтёрами.
How devtools map minified JS code back to your TypeScript source code
Source maps — это механизм, позволяющий браузеру отображать минифицированный JavaScript обратно на исходный код с правильными именами переменных и форматированием. Когда вы видите ошибку в bundle.min.js:1:27698, source maps переводят её в src/index.ts:73:16, показывая точное место возникновения проблемы в оригинальном TypeScript коде. Этот процесс работает на трёх этапах сборки: транспиляция TypeScript в JavaScript, бандлинг модулей в один файл и минификация, где на каждом шаге сохраняется связь с исходным кодом.
Формат source maps — это JSON-файл с расширением .js.map, где ключевое поле mappings использует VLQ-кодирование для сжатия данных о позициях. Каждое сегмент в mappings содержит информацию о связи между сгенерированным кодом и оригиналом: путь к исходному файлу, строку и столбец, а также оригинальное имя переменной или функции. Это позволяет DevTools эффективно отображать отладочную информацию, несмотря на значительное отличие между минифицированным и исходным кодом.
Комментарии (13)
- Обсуждение началось с похвалы удобства чтения на мобильных устройствах и быстро перешел к семантике терминов "delta" и "offset" в контексте кодирования разностей в source-map.
- Участники обсудили, что "delta" и "offset" технически описывают одно и то же явление, но первый термин чаще используется в математике и физике, тогда как второй более универсален.
- Была затронута тема инструмента для восстановления исходных исходников из веб-приложений, использующих source maps.
- В конце обсуждение свелось к тому, что оба термина могут быть использованы взаимозаменяемо, и выбор между ними часто сводится к личным предпочтениям и контексту использования.
Show HN: A CSS-Only Terrain Generator 🔥 Горячее
Layoutit Terra - это интерактивный генератор рельефа на CSS, позволяющий создавать разнообразные ландшафты с настраиваемыми параметрами. Инструмент предлагает выбор между типами рельефа (пампы, холмы, горы) и биомами (умеренный, арктический, пустынный), а также контроль над размером мира и покрытием суши. Пользователи могут детально настраивать камеру через параметры вращения, наклона и увеличения, добавляя анимацию к созданным ландшафтам.
Генератор поддерживает экспорт результатов в多种 форматы, включая CSS, высотные карты, VOX, TXT и PNG, что обеспечивает гибкость использования. Функции импорта, отмены/повтора действий, а возможность копировать код для встраивания или открывать его в Codepen упрощают интеграцию в другие проекты. Несмотря на раннюю версию (v0.0.1), Layoutit Terra уже предоставляет мощные возможности для создания детализированных CSS-ландшафтов с минимальными усилиями.
Комментарии (80)
- Пользователи отмечают, что «CSS-only»-демо всё же использует JS для интерактивности, хотя рендеринг ландшафта действительно на 100 % CSS.
- Визуально демо напоминает RCT, SimCity 2000, Populous и другие изометрические «тайкун»-игры, вызывая ностальгию.
- Несколько человек сообщили о проблемах с производительностью: при включённом JS в Firefox 144 и Chrome 131 на Windows 10/11 рендеринг занимает 100-200 мс на обновление кадра, что приводит к просадкам фпс.
- Автор ответил, что в будущих версиях планируется добавить реки и водопады, а также улучшить производительность.
</> Htmx – The Fetch()ening 🔥 Горячее
Carson Gross объявляет о выходе htmx 4.0, вопреки предыдущему обещанию не делать версии 3.0. Основные изменения включают переход с XMLHttpRequest на fetch() как основную AJAX-инфраструктуру, что изменит модель событий. Также неявное наследование атрибутов станет явным через модификатор :inherited, а поддержка истории откажется от локального кэширования DOM в пользу сетевых запросов, что упростит код и повысит надежность.
Большинство основных функций (hx-get, hx-post, hx-target и т.д.) останутся без изменений. Автор признает, что обновление до 4.0 потребует больше усилий, чем переход с 1.0 на 2.0, но обещает perpetual поддержку htmx 2.0. Эти изменения направлены на долгосрочную устойчивость проекта и снимут давление с версий 2.0, позволив им сосредоточиться на стабильности.
Комментарии (94)
- HTMX 2.0 будет поддерживаться бесконечно, поэтому нет необходимости обновляться, если он вам подходит.
- Автор признал, что придется выпустить HTMX 4.0, чтобы не нарушить обещание не делать HTMX 3.0.
- Пользователи обсуждают, стоит ли переходить на 4.0 или остаться на 2.0, который будет поддерживаться вечно.
- Некоторые считают, что Datastar более функционален и удобен, но он не open-source и может быть закрыт в любой момент.
- Появились вопросы о том, какие именно изменения в 4.0 делают его лучше 2.0, и стоит ли переходить на него.
Friendly attributes pattern in Ruby
Bruno Sutic разработал Friendly Attributes Pattern для упрощения создания тарифных планов в своем проекте RailsBilling. Вместо громоздких повторяющихся вызовов с множеством атрибутов, он предложил компактный синтаксис с хэшами, который моделирует ментальную модель типичной страницы ценообразования. Новый подход преобразует различные структуры (массивы, хэши, значения) в стандартные атрибуты, используя типы данных для интерпретации: символы - как имена планов, числа - как суммы, ActiveSupport::Duration - как интервалы.
Паттерн работает в различных контекстах: в тестах, в консоли Rails, с методами поиска. Он поддерживает передачу аргументов в любом порядке, что удобно для разных языков, и позволяет использовать как отдельные значения, так и сложные структуры. Friendly Attributes является надмножеством стандартных атрибутов, обеспечивая обратную совместимость. Если подход не нравится, можно продолжать использовать традиционные методы без изменений.
Комментарии (65)
This is...not for me. It follows a big pattern in Ruby/Rails culture where to understand the code, you first have to understand the magic. And, it's never all that obvious where to go to try and understand the magic, because the magic itself has been imported by magic.I once was
AI scrapers request commented scripts 💬 Длинная дискуссия
Автор обнаружил, что AI-скраперы запрашивают закомментированные JavaScript-файлы с его сайтов, вызывая ошибки 404. Эти запросы исходили как от явно вредоносных ботов (python-httpx, Go-http-client), так и от пользовательских агентов,伪装ившихся под обычные браузеры (Firefox, Chrome, Safari). Похоже, скраперы пытаются нелегально собирать контент для обучения больших языковых моделей.
Автор предлагает два возможных объяснения поведения: либо боты правильно парсят HTML-комментарии в поисках отключенных URL, либо используют примитивные методы сопоставления шаблонов. Он отмечает, что скраперы различаются по уровню сложности — одни используют актуальные строки user-agent, другие даже не меняют значения по умолчанию в HTTP-библиотеках.
В качестве контрмер автор предлагает алгоритмическое саботаже, начиная с публичного раскрытия этой уязвимости. Он классифицирует поведение ботов как фундаментальное (в отличие от случайных ошибок), так как для их работы необходимо запрашивать ресурсы, которые никогда не загружаются реальными пользователями. Автор уже внедрил меры по обнаружению таких запросов на своих сайтах и призывает других делать то же самое.
Комментарии (181)
- Обсуждение вращается вокруг этики веб-скрейпинга, причем акцент сместился с «как мы можем защититься от скрейперов» на «почему мы вообще должны считать, что скрейпинг — это что-то плохое».
- Участники обсуждения поднимают вопросы: что считается «нелегальным» скрейпингом, кто должен нести ответственность за злоупотребление данными, и какие технические и правовые рамки должны регулировать эту сферу.
- Разговор также затрагивает практические аспекты: какие методы могут быть использованы для защиты от скрейперов, и какие последствия это может иметь для веб-разработчиков и владельцев сайтов.
- Некоторые участники поднимают вопросы о том, какие последствия это может иметь для разработчиков и владельцев сайтов, и какие практические шаги они могут предпринять для защиты своих ресурсов.
- В конце обсуждение сместилось к тому, что участники начали обсуждать, какие именно технические и правовые рамки должны быть установлены для регулирования веб-скрейпинга, и какие последствия это может иметь для всех участников процесса.
I've been loving Claude Code on the web
Автор активно использует Claude Code в веб-версии, называя его "v1" продуктом с уникальной функциональностью: при вводе запроса запускается контейнер для агента, создается ветка, которую можно открыть как PR, или скопировать команду claude --teleport <uuid> для продолжения работы локально. Автор использует это как "самоисполняемый список дел" — бросает задачи в разные проекты и возвращается позже, чтобы увидеть выполненную работу. Доступность в iOS-приложении позволяет задавать вопросы в пути, получая ответы позже.
Интересно, что аналогичный продукт Cursor был выпущен 4 месяца назад, но автор предпочитает Claude Code. Причина — качество реализации: Cursor описывается как "капризный", "с рывками" и "хрупкий", в то время как Claude Code ощущается "надежным" и "стабильным". Именно это различие в качестве продукта, по мнению автора, и стало решающим фактором при выборе.
Комментарии (93)
- Участники обсуждают, что Codex (GPT-5) даёт более качественный код, но медленнее и дороже, тогда как Claude Code быстрее и дешевле, но иногда «ленивит» и пропускает детали.
- Несколько человек отмечают, что веб-версия Claude Code позволяет работать из любого места с телефона, в то время как Codex CLI требует локального терминала.
- Обсуждается, что Codex не поддерживает devcontainers и имеет проблемы с установкой зависимостей, в то время как Claude Code может использовать любые инструменты.
- Участники делятся опытом использования различных инструментов: кто-то предпочитает Sonnet для простых задач и переключается на Codex для сложных, кто-то использует разные модели в зависимости от задачи.
- Некоторые участники поднимают вопрос о том, что стоит ли продолжать обучение в колледже, если уже есть такие мощные инструменты, и обсуждают, что стоит ли учиться программированию, если можно просто использовать эти инструменты.
Tags to make HTML work like you expect 🔥 Горячее 💬 Длинная дискуссия
Статья напоминает о четырех важных HTML-тегах, которые стоит включать для корректной работы веб-страниц. Без <!doctype html> браузеры могут переключиться в quirks mode, имитируя устаревшее поведение. Указание языка через <html lang="en"> помогает поисковикам и скринридерам правильно интерпретировать контент. Тег <meta charset="utf-8"> гарантирует корректное отображение специальных символов, таких как кавычки, эмодзи и нелатинские символы. Наконец, <meta name="viewport"> необходим для адаптивного дизайна, предотвращая крошечный текст на мобильных устройствах.
Эти простые теги решают распространенные проблемы с отображением и функциональностью веб-страниц. Автор подчеркивает, что даже при работе с локальными файлами без сервера эти элементы критически важны для корректного рендеринга. Особенно заметна разница при отсутствии тега viewport на мобильных устройствах или charset при отображении специальных символов, которые превращаются в непонятные значки без правильной кодировки.
Комментарии (208)
- Обсуждение затронуло тему минимализма в веб-разработке: отсутствие бандлов, использование Lit Elements без TypeScript и отсутствие сборщиков.
- Участники обсуждали, что HTML5 позволяет опускать закрывающие теги и некоторые атрибуты, что может влиять на читаемость кода.
- Были упомянуты такие практики, как неиспользование сборщиков и бандлов, что может быть связано с философией "no-build".
- Обсуждались также такие темы, как использование сторонних библиотек и фреймворков вместо "ванильного" JavaScript и CSS, и как это влияет на производительность и размер страницы.
- Участники также затронули тему "легковесных" решений и их влияние на производительность и удобство использования.
FocusTube: A Chrome extension that hides YouTube Shorts 💬 Длинная дискуссия
Разработчик создал расширение FocusTube с целью борьбы с прокрастинацией на YouTube Shorts. Проект основан на идее, что человеческая жизнь слишком ценна, чтобы тратить её на бесконечный просмотр коротких видео. Расширение, вероятно, блокирует или ограничивает доступ к разделу Shorts на YouTube, помогая пользователям вернуть контроль над своим временем и вниманием.
Название проекта "FocusTube" прямо указывает на его цель - вернуть фокус при использовании YouTube. Разработчик подчеркивает важность осознанного использования времени, предлагая простой, но эффективный способ борьбы с одной из самых распространенных форм цифровой зависимости в современном мире.
Комментарии (168)
- Обсуждение показало, что Shorts вызывают у пользователей чувство вины, тревоги и страха за будущее поколений, а также вызывает желание блокировать их всеми доступными средствами.
- Участники обменивались ссылками на расширения и фильтры, которые позволяют скрывать Shorts, и обсуждали, какие именно элементы интерфейса можно скрыть или отключить.
- Некоторые участники поделились личными историями о том, как Shorts влияют на их жизнь и продуктивность, и как они пытаются избежать их влияния.
- Обсуждались различные способы блокировки Shorts, включая использование расширений браузера, изменение настроек YouTube и использование альтернативных клиентов.
- Участники также обсудили, какие именно аспекты Shorts вызывают наибольшее беспокойство, включая их влияние на внимание, фокус и психическое здоровье, и как они могут быть уменьшены или устранены.
Element: setHTML() method
Предоставленный текст содержит только навигационную структуру сайта MDN, но не основное содержание статьи о методе setHTML(). В тексте отсутствует описание самого API, его синтаксиса, параметров, примеров использования и совместимости с браузерами. Для создания точного пересказа требуется полное содержание статьи, описывающее новый метод DOM API, который, вероятно, предоставляет альтернативу innerHTML с дополнительными возможностями или улучшенной безопасностью. Без доступа к фактическому описанию метода невозможно предоставить содержательный пересказ его функциональности и применения.
Комментарии (132)
- Впервые за 25 лет в Firefox Nightly появилась возможность безопасно вставлять HTML через
Element.setHTML(), что вызвало обсуждение: спор о том, почему так долго не хватало базовой возможности, и о том, что API-шный дизайн (включая именованиеsetHTML/setHTMLUnsafe) не идеален. - Участники обсуждения отметили, что новое API встроенной санитизации встроенной в браузер — это фактически встроенный DOMPurify, и что спор в основном ведется о том, что «безопасность по умолчанию» должна быть выбрана как поведение по умолчанию.
- Некоторые комментаторы выразили обеспокоенность тем, что спецификация пока не различает между контентом и вставляемым через
setHTML()иinnerHTML, и что это может влиять на производительность, если разработчики начнутт читать спецификацию как «естественное продолжение»innerHTML. - Были также затронуты темы о том, что встроенная санитизация может влиять на разработчиков, которые полагаются на встроенную санитизацию, и о том, что это может влиять на разработчиков, которые полагаются на встроенную санитизацию.
Doomsday scoreboard
Проект Doomsday Scoreboard представляет собой платформу для отслеживания и визуализации различных апокалиптических сценариев и прогнозов. Сайт включает в себя разделы с текущими показателями (Scoreboard), статистикой по времени (Timeline Stats), дашбордом для мониторинга (Doomsday Dashboard) и списком прогнозов (Predictions Listing).
Проект поддерживается March1Studios и предлагает пользователям возможность поддержать его через Ko-fi, а также присоединиться к сообществу на Reddit. Платформа использует символ черепа в качестве логотипа и визуального элемента, подчеркивая свою тематику.
Комментарии (98)
- Список охватывает от предсказаний о конце света до научных моделей, но не включает предсказания, которые уже не актуальны.
- Список не включает предсказания, которые уже не актуальны, но не включает и те, которые ещё не произошли.
- Нет никаких успешных предсказаний, но это не мешает людям продолжать их делать.
- Существует множество различных теорий о том, как может наступить конец света, но никто не может точно предсказать, когда именно это произойдёт.
- Некоторые из этих теорий включают в себя такие события, как глобальное потепление, ядерная война, экономический коллапс, пандемия, или даже вторжение из космоса.
- Некоторые из этих теорий могут быть основаны на религиозных убеждениях, другие на научных данных, но все они имеют одну общую черту - они не могут точно предсказать, когда именно произойдёт событие.
- В конце концов, никто не может точно предсказать, когда именно произойдёт конец света.
Every vibe-coded website is the same page with different words. So I made that
Статья представляет собой сатирическую пародию на типичный сайт, созданный с помощью ИИ, особенно с использованием инструментов вроде Claude или ChatGPT. Автор высмеивает практику копирования-вставки кода без его понимания и представление себя как полноценного разработчика. Сайт содержит стереотипные разделы, включая навигацию, стоковые фотографии и контактную информацию, все саркастически обыгрывая шаблонность таких проектов.
Особенно примечательны "революционные" методы разработки, такие как многократное нажатие кнопки "регенерировать" в надежде, что что-то сработает, и случайное раскрытие пароля "hunter2" в разделе безопасности. Структура проекта показывает множество версий файлов и отладочных скриптов, что отражает хаотичный подход при использовании ИИ. Ссылки на Hacker News и GitHub репозиторий подтверждают, что это реальный проект, созданный как критика тренда "промпт-инжиниринга" как замены реальным навыкам программирования.
Комментарии (78)
- Обсуждение вращается вокруг "vibe-coding" и его влияния на веб-дизайн: критика повторяет аргументы 2013 года о Bootstrap, обвиняя LLM в том, что они делают сайты одинаковыми, как и тогда обвиняли Bootstrap в том, что он делает сайты одинаковыми.
- Участники спора вспоминают, что критика сама по себе не нова — она уже была в 2013 году в отношении Bootstrap, и теперь она просто трансформировала в критику LLM-стилей.
- Обсуждение затрагивает вопрос о том, что если веб-сайт выглядит как "vibe-coded", то это может быть как результат использования LLM, так и просто результат использования одинаковых компонентов, как это было с Bootstrap.
- Некоторые участники обсуждения отмечают, что критика "виб-кодинга" похожа на критику Bootstrap, и что эта критика может быть вызвана тем, что сайты, созданные с помощью LLM, выглядят одинаково из-за использования одинаковых компонентов и стилей.
A conspiracy to kill IE6 (2019)
В 2009 году команда YouTube, состоящая из инженеров, которые ранее не прошли собеседования в Google, тайно внедрила код на платформу. Этот код показывал пользователям IE6 сообщение о прекращении поддержки, надеясь, что это заставит их обновить браузер. Хотя это могло показаться рискованным, учитывая возможную негативную реакцию, команда считала, что польза от ускорения отказа от IE6 оправдывает средства. Этот шаг отражал их разочарование в поддержке устаревших технологий и их изобретательность в решении проблем, не привлекая внимания. Этот инцидент демонстрирует, как даже в крупных компаниях небольшие команды могут влиять на значительные изменения, используя свои уникальные позиции для решения давних проблем.
Комментарии (104)
- YouTube, Google Docs и другие сервисы Google стали причиной, по сути, смерти IE6, но в итоге привели к тому, что Chrome стал доминирующим браузером.
- Microsoft, Mozilla и другие не смогли быстро реализовать новые веб-стандарты, что привело к тому, что Google смог использовать свои собственные веб-стандарты для продвижения Chrome.
- В то время как Chrome стал доминирующим браузером, это не привело к лучшему вебу, потому что Google не заинтересован в улучшении веб-стандартов.
- Веб-стандарты стали менее открытыми и менее ориентированы на пользователя, в то время как Chrome продолжает доминировать.
- Это привело к тому, что веб-разработчики вынуждены тестировать свои сайты в первую очередь в Chrome, что в свою очередь ведет к тому, что сайты лучше работают в Chrome, чем в других браузерах.
Hyperflask – Full stack Flask and Htmx framework 🔥 Горячее
Разработчики представили Hyperflask — новый фреймворк для Python, который объединяет множество инструментов в единую экосистему для ускорения разработки веб-приложений. Основная идея в том, чтобы избавить разработчиков от необходимости самостоятельно подбирать и настраивать различные технологии, которые часто требуются в проектах.
Hyperflask включает в себя множество готовых решений: от серверной логики на Flask до фронтенд-компонентов, маршрутизации, работы с формами и данными, а также инструментов для развертывания. Все компоненты тщательно подобраны для бесшовной совместной работы. Например, вместо самостоятельной настройки Flask с десятками расширений, разработчики получают единую среду, где всё "просто работает".
Ключевые возможности включают:
- Единая структура проекта: стандартизированная организация кода, что ускоряет onboarding новых разработчиков и упрощает поддержку.
- Готовые решения для типовых задач: аутентификация, отправка email, обработка файлов, фоновые задачи — всё доступно "из коробки".
- Гибридный рендеринг: статические страницы генерируются на сервере для скорости, но при необходимости могут динамически обновляться через HTMX.
- Оптимизация под SEO: серверный рендеринг гарантирует, что контент индексируется поисковыми системами.
Разработчики подчеркивают, что Hyperflask не просто набор инструментов, а целостная экосистема, где все части глубоко интегрированы. Это позволяет избежать типичных проблем, когда отдельные библиотеки, будучи собранными вручную, конфликтуют друг с другом.
Проект пока находится в стадии бета-тестирования, но уже доступен для использования. Основная команда состоит из разработчиков, ранее стоявших за популярными проектами в экосистеме Python, что говорит о серьезности намерений.
Для сообщества это может быть значимым, поскольку экосистема Python долгое время не имела полноценного аналога популярным JavaScript-фреймворкам вроде Next.js. Hyperflask, хоть и молодой проект, показывает важный шаг в этом направлении.
Комментарии (131)
- Обсуждение в основном вращается вокруг сравнения Flask/HTMX-стека с альтернативами (FastAPI, Django, Litestar, FastHTML), где критика касается производительности, архитектуры и "state of the art" в 2025 году.
- Участники спорят о целесообразности смешивания шаблонов и логики в одном файле, о том, насколько это упрощает или усложняет разработку, и о том, как это сказывается на тестируемости и сопровождении кода.
- Ряд комментаторов поднимает вопрос о том, что выбор Flask в 2025 году может быть устарел, особенно если учесть отсутствие встроенной поддержки async/await, и сравнивает его с FastAPI или Litestar.
- Некоторые участники высказывают мнение, что вместо того, чтобы изобретать еще один каркас, было бы лучше взять существующий и внедрить в него улучшенную документацию, инструменты и лучшие практики.
How does Turbo listen for Turbo Streams
Turbo отслеживает Turbo Streams через два механизма. При отправке форм он перехватывает события submit через слушателя на document, предотвращает стандартную отправку и использует fetch API с заголовком Accept: text/vnd.turbo-stream.html. Это сигнализирует серверу, что можно отвечать Turbo Stream элементами. Сервер, в свою очередь, должен вернуть ответ с Content-Type: text/vnd.turbo-stream.html.
Для обработки ответов Turbo использует слушателя события turbo:before-fetch-response. Этот обработчик проверяет тип содержимого ответа и при совпадении добавляет содержимое в DOM. Когда <turbo-stream> элементы добавляются, они автоматически выполняют одно из семи действий (append, prepend, replace и т.д.). Для обычных fetch-запросов разработчикам нужно самостоятельно добавлять заголовок Accept.
Комментарии (8)
- Turbo Streams становятся менее актуальными, так как фреймворк уже сам по себе использует их по умолчанию; оставляем только для специфичных сценариев вроде уведомлений.
- Подписки на каналы и фреймы полезны для изолированных обновлений, но не стоит переусердствовать с ними в ущерб стандартным паттернам.
- Покупатели из ЮВА сталкиваются с отсутствием покупательского паритета; вопрос о ценах и доступности курса остаётся открытым.
- Сообщество обеспокоено, что чрезмерная рельсовость может оттолкнуть не-Ruby разработчиков, которые сейчас используют Turbo вне Rails.
Strudel REPL – a music live coding environment living in the browser
Мне не хватает полного текста статьи о Strudel REPL для создания точного пересказа. Пожалуйста, предоставьте полный текст статьи, и я подготовлю краткое изложение в соответствии с вашими требованиями: около 170 слов в двух абзацах, выделяя главную идею и ключевые факты.
Комментарии (38)
- Пользователи обсуждают Strudel как браузерную альтернативу TidalCycles, отмечая, что он не требует установки и работает везде.
- Участники спорят о качестве звука и «машинном» характере примеров, спрашивают, может ли Strudel охватить стилистику, отличную от техно/хаус.
- Обсуждается возможность запуска Strudel локально и интеграция с AI для генерации нот и синтеза звуков.
- Упоминается, что Strudel открыт исходный кодом и может быть запущен из исходников, а также что он может быть использован для коллаборативной джем-сессии.
The <output> Tag 🔥 Горячее 💬 Длинная дискуссия
HTML-тег <output> почти не используют, но он решает две задачи: делает результат вычислений доступным для скринридеров и избавляет от необходимости вручную подключать ARIA live-регионы. Пример: калькулятор, слайдеры, индикаторы сложности пароля. Тег работает без JavaScript и ARIA-атрибутов, поддерживается всеми браузерами и скринридерами.
Комментарии (174)
<output>оказался почти неиспользуемым тегом, и его поддержка в браузерах и скринридерах фрагментарна, что делает его практически бесполезным.- Попытки использовать
<output>для отображения результатов вычислений сталкиваются с тем, что большинство фронтенд-разработчиков не знают о существовании тега, а спецификация вводит в заблуждение, что тег сам обновляет свое содержимое. - Практика показывает, что вместо
<output>используются другие теги, и это вызывает вопрос, почему вообще нужен этот тег, если он не работает как задумано. - Поднимается вопрос о том, что если тег не работает как задумано, то возможно стоит пересмотреть спецификацию или полностью отказаться от тега в пользу более надежных решений.
Hacker News Live Feed
Пользователи Hacker News обсуждают, что делать, если твой проект на GitHub внезапно взлетел: за 12 часов он собрал 1000 звёзд, попал на главную страницу и начал приносить деньги. Кто-то предлагает «не вздумай трогать репозиторий», другие советуют «сделать его ещё лучше и не трогать». Тем не менее, большинство сходится на том, что важно не потерять моментум и продолжать фокусироваться на продукте и сообществе.
Комментарии (69)
- Обсуждение показало, что HN всё ещё работает на старом «картофеле», но при этом сторонние клиенты могут создавать дополнительную нагрузку, поэтому их просят не делать этого.
- Пользователи делятся своими инструментами, включая веб-версии, которые просто отображают данные из официального API или Firebase.
- Некоторые комментарии подчеркивают, что такие клиенты могут нарушать условия использования HN, особенно если они не обрабатывают или не отфильтровывают спам, который может быть связан с их использованием.
- Создатели инструментов отвечают, что они просто отображают данные, которые и так публично доступны, и что HN сама по себе не предоставляет никакого официального API, который бы позволил сделать это более эффективно.
- В конце концов, участники соглашаются, что важно уважать условия использования и не создавать излишней нагрузки на серверы HN, и что в конце концов, если кто-то хочет сделать вклад в сообщество, он может это сделать через официальный сайт или через API, если таковой существует.
Show HN: CSS Extras
GitHub добавил встроенные CSS-функции, упрощающие стилизацию. Теперь можно писать @function square(n) { return: calc(n * n); } и использовать как width: square(10px); — это компилируется в width: 100px;. Функции поддерживают условные операторы, вроде if (condition) { … } else { … }, математические операции и даже переменные. Это похоже на препроцессинг, но встроенное в браузер. Документация уже обновлена с примерами. Пользователи в восторге, особенно от интеграции с существующими проектами, упрощающей миграцию.
Комментарии (56)
- Обсуждение в основном вращается вокруг новой возможности CSS
@function, где участники обсуждают её влияние на производительность, стандартизацию и будущее веб-разработки. - Некоторые участники выражают обеспокоенность по поводу того, что CSS становится всё более сложным и мощным, что может привести к проблемам с обратной совместимостью и увеличению сложности веб-разработки.
- Обсуждается, что новые функции CSS, такие как
@function, могут потенциально заменить некоторые существующие инструменты и техники, такие как препроцессоры и фреймворки. - Участники также обсуждают, насколько необходимо иметь эту функцию в виде npm пакета, и если это будет способствовать или препятствовать распространению и использованию этой функции.
The least amount of CSS for a decent looking site (2023) 🔥 Горячее 💬 Длинная дискуссия
Минимальный CSS для приятного сайта включает базовые стили, улучшающие типографику и читаемость. Начните с ограничения ширины медиа-контента: img, svg, video { max-width: 100%; display: block; } предотвращает переполнение. Для типографики используйте system-ui как безопасный шрифт, увеличьте размер до 1.25rem и установите line-height в 1.5 для лучшей читаемости.
Добавьте поддержку тёмной темы через html { color-scheme: light dark; }, но учтите, что пользователям может потребоваться ручное переключение. Ограничьте ширину основного контента с помощью main { max-width: min(70ch, 100% - 4rem); margin-inline: auto; } для оптимальной длины строки в 45–90 символов. Этот подход избегает избыточного кода и обеспечивает адаптивность.
Комментарии (289)
- Обсуждаются минималистичные подходы к CSS, включая сброс стилей, базовые настройки для типографики и ограничения ширины контента для улучшения читаемости.
- Поднимается вопрос о реализации темной темы, важности ручного переключения пользователем и проблемах с "миганием" при загрузке.
- Критикуются стандартные системные шрифты и обсуждаются потенциальные проблемы с их отображением в разных ОС и локалях.
- Упоминаются различные инструменты и философии (например, SSG, Tailwind, Every-Layout) для создания простых и эффективных сайтов.
- Высказывается мнение, что пользователь должен иметь максимальный контроль над стилизацией контента, а не сайт.
Ladybird passes the Apple 90% threshold on web-platform-tests 🔥 Горячее 💬 Длинная дискуссия
Социальная сеть X требует включённого JavaScript для работы и отображает сообщение об ошибке, если он отключён в браузере. Пользователю предлагается активировать JavaScript или перейти на поддерживаемый браузер из списка в Центре помощи.
Сообщение также предупреждает, что расширения для приватности могут мешать работе сайта, и советует их отключить. Внизу страницы приведены ссылки на политики сервиса и информация о корпорации.
Комментарии (224)
- Впечатляющий прогресс независимого проекта Ladybird, достигнутый за короткое время, приближает его к практической пригодности.
- Прохождение 90% тестов WPT — это произвольный, но требуемый Apple метрический порог для рассмотрения в качестве альтернативного движка в iOS; сама метрика считается несовершенной.
- Реальная сложность заключается в поддержании темпа развития и реализации постоянно растущего количества новых веб-API, а не только в прохождении текущих тестов.
- Вызывают вопросы безопасность и наличие песочниц в быстро разработанном движке, а также его текущая производительность при повседневном использовании.
- Проект рассматривается как важная альтернатива доминирующим движкам, но до полной конкурентоспособности еще несколько лет работы.
Loadmo.re: design inspiration for unconventional web 🔥 Горячее
loadmo.re — это кураторская галерея мобильных сайтов, созданная для вдохновения дизайнеров, работающих с нетривиальным вебом. Платформа подчёркивает, что современный интернет всё больше смещается в сторону смартфонов, хотя дизайнеры по привычке ищут референсы на десктопах, упуская из виду потенциал мобильных интерфейсов.
В архиве представлено 362 сайта с фильтрацией по тегам — от 3D-анимации и типографики до звукового дизайна и глитчей. Примеры вроде rude-captcha.xyz или slingshot.trudy.computer демонстрируют, как можно творчески использовать возможности телефона. Цель проекта — стимулировать сообщество к обсуждению и эксперименту в mobile-first дизайне.
Комментарии (51)
- Пользователи обсуждают нестандартный веб-дизайн представленных сайтов, отмечая как их креативность и ностальгическую ценность, так и проблемы с юзабилити и доступностью.
- Критике подвергаются отдельные элементы, такие как изменение поведения ссылок при наведении и невозможность добраться до нижней части страницы из-за бесконечной подгрузки контента.
- Участники делятся воспоминаниями о легендарных сайтах прошлого (Kaliber 10000) и обмениваются ссылками на аналогичные ресурсы и агрегаторы необычных сайтов.
- Высказываются опасения, что подобный дизайн часто непрактичен для представления реального контента и создания призывов к действию, а также создает барьеры для доступности.
- Часть сообщества ценит представленные работы за их художественную ценность и вдохновляющий потенциал, призывая не зацикливаться на мелких недостатках.
Show HN: Toolbrew – Free little tools without signups or ads
Библиотека toolbrew предлагает набор чистых и полезных инструментов для разработчиков, фокусируясь на удобстве использования и минималистичном дизайне. Включает утилиты для работы с текстом, данными, кодом и веб-разработкой, такие как конвертеры, генераторы и анализаторы. Все инструменты открыты для модификации и интеграции в проекты.
Особенность — отсутствие лишних зависимостей и простота внедрения, что ускоряет рабочий процесс. Например, можно быстро форматировать JSON, шифровать строки или проверять валидность кода. Практический вывод: снижает потребность в поиске разрозненных сервисов, экономя время.
Комментарии (53)
- Пользователи обсуждают полезные онлайн-инструменты (CyberChef, easyinvoicepdf, cobalt.tools, simonwillison.net) и делятся своими проектами.
- Поднимаются вопросы безопасности и доверия к сторонним инструментам, а также желание видеть больше информации об их надежности.
- Предлагаются идеи для новых функций: улучшение мобильного интерфейса, добавление поиска, агрегатора инструментов, генератора QR-кодов без трекеров.
- Обсуждаются конкретные технические нужды: мерж PDF, проверка ссылок, генерация SSH-ключей, сетевые утилиты.
- Отмечается проблема с YouTube-загрузчиком и predatory-моделями монетизации некоторых сервисов (например, QR-кодов).
Ishkur's Guide to Electronic Music 🔥 Горячее
Ишкур создал исчерпывающий интерактивный гид по электронной музыке, ставший культовым ресурсом для меломанов и продюсеров. Гид визуализирует связи между жанрами через интерактивную карту, охватывая всё от раннего синт-попа и техно до дрим-попа и джангла. Каждый жанр сопровождается описанием, ключевыми треками и историческим контекстом, что делает его одновременно образовательным и развлекательным.
Проект выделяется саркастичным тоном и глубоким знанием темы, подчёркивая эволюцию звука и культурные влияния. Ишкур также поддерживает присутствие в соцсетях и на платформах вроде SoundCloud и Mixcloud, делясь миксами и обновлениями. Гид стал незаменимым инструментом для понимания сложной паутины электронной музыки, сочетая юмор с академической строгостью.
Комментарии (76)
- Пользователи выражают благодарность и ностальгию по сайту Ishkur's Guide to Electronic Music, отмечая его как ценный артефакт «старого интернета» и влияние на формирование их музыкального вкуса.
- Обсуждается содержание сайта: подробная классификация электронных жанров и поджанров с образцами звучания, саркастическими комментариями автора, но отмечается отсутствие современных жанров.
- Пользователи делятся дополнительными ресурсами: миксами от Ishkur на Mixcloud, альтернативными способами навигации по сайту и другими платформами для поиска нишевой музыки (Bandcamp, Soulseek, private trackers).
- Высказываются критические замечания: устаревший интерфейс, субъективность и историческая ориентированность контента, технические проблемы с воспроизведением samples.
- Поднимаются дискуссии о происхождении жанров, влиянии конкретной аппаратуры на звучание и корректности представленной на сайте временной линии.
Resurrect the Old Web 💬 Длинная дискуссия
История о школьниках в Мэне, которые общаются через стационарные телефоны 90-х, показывает: можно отказаться от современных технологий ради более осмысленных связей. Это напоминает о ранних днях интернета, когда соцсети были уютными — без рекламы, лент и манипулятивных алгоритмов, а просто способом общаться с друзьями.
Возродить такой подход можно через блоги и RSS-ленты. Не нужны централизованные платформы — достаточно подписываться на обновления через читалки вроде Feeder.co или NetNewsWire. Автор запускает собственный блог с открытым списком подписок, предлагая другим делиться контентом напрямую, как в эпоху веб-рингов. Ключевая идея: автономия и выбор, как взаимодействовать в сети, без вовлечения в дофаминовую машину соцмедиа.
Комментарии (225)
- Ностальгия по "старой вебу" связана с GeoCities, Angelfire, веб-рингами, персонализацией и отсутствием алгоритмов, но критики отмечают, что в ней была реклама и платформы исчезали.
- Возрождение "старой веба" требует самостоятельного хостинга, независимости от платформ и отказа от отслеживания (например, через Google Fonts), а не использования чужих сервисов.
- Современные попытки воссоздать "старую веб" часто сводятся к эстетике, но не решают проблем сообщества, монетизации и устойчивости, которые были и тогда.
- Ключевые ценности "старой веба" — это собственность данных, низкий порог входа, гиперссылки, RSS и личные сайты, но ностальгия не должна затмевать практические решения.
- Социальные аспекты и взаимодействие в "старой вебе" (форумы, IRC) часто противопоставляются блогам и RSS как более живым формам общения, чем пассивное потребление контента.
Pairing with Claude Code to rebuild my startup's website
Нетехнический основатель перестроил сайт стартапа с помощью ИИ-агента Claude Code за недели вместо месяцев изучения кода. Использовал стек: VS Code, CLI Claude, GitHub CLI и сервер Figma MCP для точного переноса дизайна из Figma в код на Remix. Качество ответов Claude варьировалось — иногда он менял не те части кода, что отнимало часы.
Рабочий процесс включал локальную разработку, пуши в ветку и создание пул-реквестов через Claude. Ключевой трюк: просить Claude выступать в роли CTO для ревью PR, что помогало находить упущенные оптимизации. Это позволило избежать шаблонных решений no-code платформ и точно реализовать кастомный дизайн.
Комментарии (111)
- Рекомендуется активно управлять контекстом при работе с ИИ-ассистентами, очищая его между задачами для повышения фокуса и снижения смещения.
- Использование ИИ для генерации кода требует осторожности и постоянного контроля человека из-за риска ошибок, изменения не тех файлов и создания запутанного кода.
- Эффективные стратегии работы включают поэтапное планирование задач, сохранение промежуточных результатов и использование нескольких инструментов (Claude Code, Cursor, Figma MCP).
- Мнения разделились: одни видят в ИИ значительный прирост продуктивности, другие считают его использование избыточным или ведущим к потере времени.
- Ключевые проблемы: сложность поддержки сгенерированного кода, нарушение принципов проектирования и необходимость чётких промптов для качественного результата.
Show HN: The text disappears when you screenshot it 🔥 Горячее 💬 Длинная дискуссия
Нельзя сделать скриншот этого.
Комментарии (174)
- Представлен эффект текста, который исчезает при попытке скриншота, но виден в движении.
- Обсуждаются технические обходные пути: запись видео, наложение кадров, изменение масштаба или режимов съёмки.
- Упоминаются аналогичные визуальные эффекты в играх (Branta Games) и на обложках альбомов (Soulwax).
- Предлагаются потенциальные применения: защита конфиденциальных данных, CAPTCHA, недоступные для ИИ задачи.
- Отмечаются проблемы доступности для людей с нарушениями зрения и вызываемая эффектом тошнота.
- Поднимается вопрос о возможности создания обратного эффекта — текста, читаемого только на скриншоте.
- Делается вывод, что метод не является абсолютной защитой, так как обходится видеозаписью.
I’m Not a Robot 🔥 Горячее 💬 Длинная дискуссия
—
Комментарии (199)
- Пользователи делятся впечатлениями от прохождения уровней игры, отмечая креативность и юмор, но некоторые столкнулись с техническими сложностями или сдались на сложных этапах.
- Обсуждаются конкретные уровни: проблемы с точностью распознавания эмоций, сложности на мобильных устройствах, использование консольных команд для читерства и ироничный финал с сертификатом.
- Затрагиваются философские вопросы о природе человека и автоматизации, а также технические аспекты реализации игры, такие как локальное выполнение ML-моделей и обход CAPTCHA.
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», но сомневаются, что кто-то будет реально пользоваться.
Conway's Game of Life, but musical
Мелодии, которые размножаются
Я построил «разводильню мелодий»: выбираете до трёх понравившихся фраз, они «спариваются», мутируют и рождают новое поколение. За считанные секунды прокручивается то, что в природе заняло бы столетия. Работает как цифровой организм: нейросети играют роль ДНК, клики пользователей — отбор, кроссинговер и мутации — алгоритмы.
Живая музыка Конвея
Правила «Жизни» Конвея превратились в симфонию: рождение клетки — аккорд, смерть — диссонанс. Планеры становятся мелодиями, пушки — ритм-машинами. Сложность из простых правил, только теперь со звуком.
Культурные вирусы
Взлет хайпа на дизайнерских игрушках Labubu повторяет кривую пандемии: экспонента, географические вспышки, спад. Те же уравнения эпидемиологии описывают и мемы, и вирусы. Информация, будь то ген, бит или тренд, течёт по одним и тем же сетям.
Код как микроскоп
Программирование превращает душевые размышления в интерактивные лаборатории. За ночь можно прогнать тысячи поколений мелодий или увидеть, как вирус и хит TikTok рисуют одну кривую. Это и есть суперсила разработчика: делать невидимое — видимым.
Комментарии (32)
- Участники обсуждают «музыкальное» Conway’s Game of Life: каждая клетка рождает/умирает → звучит нота, зависящая от столбца (тон) и строки (октава).
- Похваляют демо, но спорят о «функции пригодности»: без модели «человеческого вкуса» эволюция генерирует случайный шум.
- Вспоминают похожие инструменты: Wolfram Tones, Eurorack-sequencer NLC, Reaktor-дамап, iOS-sequencer ZOA, Otomata, собственные DIY-Launchpad и «Tone of Life».
- Предлагают улучшения: ритм по числу живых клеток, hex-решётка вместо квадратной, MIDI-экспорт, интерактивная веб-версия.
- Проблемы: сафари на iPhone может не играть (выключить беззвучный режим), сайт Wolfram Tones часто лежит, старые Flash-sequencerы умерли.
Reshaped is now open source 🔥 Горячее
Reshaped стал полностью открытым
Пять лет назад я создал Reshaped — библиотеку компонентов для React и Figma, чтобы покрыть 80% типовых задач и оставить 20% на кастомизацию. Сделал её платной, чтобы углубленно поддерживать небольшое сообщество.
Два года назад React-пакет стал бесплатным. Сегодня открываю исходники всего:
React и Figma теперь в открытом доступе.
Что дальше:
- Базовая библиотека будет расти; лицензиаты продолжат получать обновления.
- Планирую премиум-компоненты сложной логики поверх ядра.
Прыжок в open-source после 5 лет закрытой разработки — пора отдать сообществу.
Комментарии (43)
- Пользователи хвалят Reshaped за чистый код и бесплатную библиотеку, но жалуются на подвисание вкладок документации и задержки при навигации.
- Автор (blvdmitry) признал проблемы со скоростью сайта: сервер рендерит статику ~500 мс, обещает перевести документацию на статический экспорт.
- Некоторые просят улучшить микро-анимации и accessibility; автор собирает примеры и уже работает над новыми компонентами.
- Библиотека стала полностью бесплатной и open-source после 5 лет продаж; ядро React и Figma останутся бесплатными, премиум-компоненты возможны позже.
- Упоминаются мелкие баги: backspace в автокомплите, ссылка «Getting started» вела в changelog — уже пофикшено или в процессе.
ChatGPT Developer Mode: Full MCP client access 🔥 Горячее 💬 Длинная дискуссия
—
Комментарии (270)
- ChatGPT получил полную поддержку MCP — теперь можно подключать внешние серверы для доступа к данным и инструментам прямо из чата.
- Пользователи радуются удобству, но эксперты предупреждают: MCP — это потенциальный канал для prompt-инъекций и утечек, особенно если запускать чужие серверы без аудита.
- Безопасность почти не проработана: токены лежат в plaintext-конфигах, границ прав нет, а большинство экспериментаторов не понимают рисков.
- Пока работает только в веб-версии для Pro/Plus, локальный режим и мобильные клиенты не поддерживаются.
- Сообщество просит централизованный магазин MCP, нормальные привилегии и инструменты отладки, но ясности от OpenAI пока нет.
No adblocker detected 🔥 Горячее 💬 Длинная дискуссия
- Реклама в интернете — зло: тратит время и уродует сайты.
- Поддержи автора напрямую: 1 $ приносит больше пользы, чем тысячи показов баннеров.
- На сайте выводится тонкое сообщение: «Adblock не обнаружен. Поставь uBlock Origin — сэкономишь трафик и нервы».
- Блок скрывается кнопкой «Закрыть» и больше не появляется (cookie notice-shown).
- Техника:
– в HTML встроен<div>с «адоподобными» классами и скриптnativeads.js;
– если div вырезан или скрипт заблокирован, сообщение не видно;
– стили показывают блок только при ≥75 em ширины и ≥30 em высоты;
– без JS сообщение не вставляется, без CSS просто не стилизуется. - DNS-блокировку не отследить, поэтому банер маленький и некликабелен вне основного контента.
Комментарии (275)
- Без блокировщиков рекламы веб выглядит как «лабиринт трекеров и баннеров»: большинство пользователей живут в этом каждый день.
- uBlock Origin называют едва ли не «лучшим антивирусом»; ФБР и CERN рекомендуют блокировщики как защиту от скама и малвари.
- Даже с адблоком сайты всё чаще «раскрывают» посетителей через identity-graph (IP, хэши устройств) и потом спамят e-mail.
- Часть участников считает блокировку «паразитизмом»: контент бесплатен только потому, что кто-то смотрит рекламу.
- Другие возражают: договор «контент ↔ реклама» давно нарушен — автозвук, трекинг, монополии Google/Meta, потребление трафика и батареи.
- Альтернатива — платить авторам напрямую, но пожертвования от 0,01 % читателей не покрывают хостинг, уж не говоря о зарплате.
Purposeful animations 🔥 Горячее
Анимации не всегда нужны
Хорошая анимация делает интерфейс предсказуемым и живым, плохая — раздражает и снижает доверие.
Перед добавлением спроси себя: зачем она нужна?
- Объясняет (как на linear.app/ai) — ок.
- Подтверждает действие (кнопка слегка уменьшается) — ок.
- Просто «красиво» — допустимо, если пользователь видит это редко.
Частота использования
Если элемент открывают сотни раз в день (Raycast, список команд), анимации быть не должно — они только тормозят.
Клавиатурные переходы никогда не анимируются.
Скорость
Всё, что дольше 300 мс, воспринимается как лаг.
Спиннеры быстрее = кажется, что грузит быстрее.
Тултипу нужна задержка при первом появлении, но при наведении на соседние — мгновенно и без анимации.
Итог
Добавляй анимацию, если она:
- решает задачу,
- видна редко,
- длится < 300 мс.
Иначе — не добавляй.
Комментарии (126)
- Большинство участников сходятся: анимация должна быть почти невидимой (<150 мс) или вовсе отключаться, иначе она превращается в тормоз.
- Главный критерий целесообразности — объясняет ли анимация изменение состояния; если пользователь ждёт её окончания, чтобы продолжить, значит, она лишняя.
- «Делайт» и «восторг» нужны в основном самим дизайнерам; обычные пользователи после третьего раза хотят выключить всё, что мешает работать.
- Частые повторяющиеся действия (разблокировка, чекаут, корпоративные формы) требуют минимума анимации; для единичных экранов-онбордингов допустима более заметная, но быстрая подсказка.
- Практически каждый советует добавлять системную настройку «отключить анимацию» и уважать prefers-reduced-motion.
A small change to improve browsers for keyboard navigation
Нажмите ' в Firefox — появится быстрый поиск по ссылкам. Начните печатать, нужная ссылка подсветится, Enter — и вы по ней переходите.
Проблема: современные сайты вместо ссылок используют кнопки и div’ы. Обычный поиск (/ или Ctrl+F) их найдёт, но Enter после закрытия панели поиска ничего не делает.
Решение: крошечное расширение Click on Selection with Enter. Оно вешает обработчик keydown на Enter и «кликает» по элементу, в котором находится текущее выделение.
addEventListener('keydown', e => {
if (e.key !== 'Enter' || e.shiftKey) return;
const el = getSelection()?.anchorNode?.parentElement;
if (!el) return;
el.click();
getSelection()?.removeAllRanges();
});
Получаем полноценную навигацию с клавиатуры без мыши.
Комментарии (58)
- Участники активно делятся расширениями для навигации без мыши: Vimium, Vimium C, Surfingkeys, Tridactyl, Qutebrowser и ShortCat.
- Подчёркиваются проблемы стандартной клавиатурной прокрутки: полосы прокрутки скрывают контент, а PageUp/PageDown и стрелки ведут себя непредсказуемо.
- Предлагаются «хаки» без расширений: Ctrl+F → Esc → Enter для клика по найденной ссылке в Firefox.
- Упоминаются специализированные инструменты вроде leopard links, BrowseCut, FocusToScroll и собственные микро-расширения.
- Сетуют на то, что большинство сайтов всё чаще перехватывают быстрый поиск и используют кастомные элементы вместо обычных кнопок и ссылок.
What are OKLCH colors? 🔥 Горячее 💬 Длинная дискуссия
OKLCH — новая цветовая модель, построенная на пространстве OKLab. Она равномерна по восприятию: одинаковые шаги по Lightness, Chroma, Hue выглядят одинаково яркими и насыщенными.
- Lightness 0–1 (или 0–100 %)
- Chroma — «чистота» цвета
- Hue — тон, 0–360°
Плюсы OKLCH
- Меняя только Hue, получаем равные по яркости цвета (в HSL они «плывут»).
- Изменяя Lightness, сохраняется оттенок без сдвига в серый или фиолетовый.
- Градиенты ровные, без грязных средних точек.
- Поддерживает Display-P3 и другие широкие гамуты.
Ограничения
- Очень высокие значения Chroma могут выходить за пределы реальных экранов и обрезаться.
- Старые браузеры не понимают
oklch(); используйте@supportsи резервные sRGB-значения.
CSS-пример с фолбеком
:root {
--brand: #0066ff;
}
@supports (color: oklch(0 0 0)) {
:root { --brand: oklch(0.55 0.18 260); }
}
Комментарии (173)
- OKLCH — это цветовое пространство на базе OKLab (перцептивно-равномерное), где задаются Lightness, Chroma и Hue; название — «OK, it does an ok job».
- Градиенты в OKLCH могут «ехать» по кругу hue и давать неожиданные цвета; для плавности чаще берут OKLab-интерполяцию.
- Основные плюсы: равномерная яркость, отсутствие «мутных» средних, удобные относительные цвета в CSS.
- Минусы: неинтуитивная chroma, разные максимумы в зависимости от hue/lightness, нужно учитывать гамут-ограничения.
- Полезные ресурсы: oklch.com, офлайн-пикеры, конвертеры и статья Evil Martians.
Комментарии (35)
- Медленное посимвольное появление текста раздражает большинство; автор уже отключил анимацию.
- Просят добавить «показать всё сразу» или хотя бы построчный вывод, а также разрешить выделение текста.
- Контенту не хватает ключевых деталей: каретки, совместимости втулок, стандартов ISO-размеров колёс.
- Часть советов — сделать навигацию (хлебные крошки, ссылки) и улучшить CTA-кнопку.
- Несмотря на критику, многие хвалят эстетику и видят в проекте вдохновляющий пример «passion project».
What about using rel="share-url" to expose sharing intents?
Идея: добавить в HTML атрибут rel="share-url" для явного указания URL-адреса, предназначенного для шеринга.
Проблема:
- Сейчас браузеры и соцсети угадывают, какой URL считать «поделиться» (обычно
document.location). - Это ломается, если страница содержит параметры отслеживания или AMP-версию.
Решение:
<link rel="share-url" href="https://site.com/clean-url">
- Убирает лишние параметры.
- Позволяет указать канонический адрес.
- Работает без JavaScript.
Бонус: можно добавить title, description, image таким же способом.
Комментарии (34)
- Уже с 2016 г. существует более зрелый стандарт Web Share Target, реализованный в Chromium, поэтому ShareOpenly выглядит временной мерой.
- Большинство комментаторов считают кнопки «поделиться» на сайтах избыточными: копирование ссылки проще и не отслеживает пользователя.
- Текущие кнопки нужны в первую очередь соцсетям для сбора данных, а не для удобства пользователей.
- На мобильных устройствах системная кнопка «поделиться» быстрее и единообразнее, чем разные реализации на сайтах.
- Предложенный способ описывает, как сторонний сайт может сгенерировать URL для предзаполнения формы, но не решает проблему выбора нужного сервиса.
It’s not wrong that "\u{1F926}\u{1F3FC}\u200D\u2642\uFE0F".length == 7 (2019) 💬 Длинная дискуссия
В JavaScript "🤦🏼♂️".length == 7 — не ошибка, а результат подсчёта UTF-16 кодовых единиц.
Эмодзи состоит из 5 скалярных значений Unicode, но в UTF-16 они занимают 7 code units:
- 🤦 U+1F926 → 2
- 🏼 U+1F3FC → 2
- ZWJ U+200D → 1
- ♂ U+2642 → 1
- VAR-16 U+FE0F → 1
Итого 7 — именно это и возвращает .length.
Другие языки считают по-своему:
- Python 3 →
len("🤦🏼♂️") == 5(кодовые точки, но допускает суррогаты). - Rust →
"🤦🏼♂️".len() == 17(байты UTF-8). - Swift →
"🤦🏼♂️".count == 1(расширенный графем-кластер).
Каждый подход отвечает на свой вопрос: «сколько code units / bytes / графем». Ни один не универсален; выбор зависит от задачи.
Комментарии (233)
- Обсуждение вокруг статьи показало, что «длина строки» не имеет единого определения: бывают байты, UTF-16/UTF-32 код-юниты, скалярные значения Unicode и расширенные графем-кластеры.
- Пользователи жалуются, что разные языки и API возвращают разные числа для одного и того же эмодзи, что ломает UI-ограничения, индексы БД и обработку текста.
- Часть участников считает, что нужно явно различать «длину для хранения», «длину для отображения» и «длину для человека»; другие мечтают вернуться к чистому ASCII.
- Примеры кода на Java, Python, Raku и JS показывают, как получить каждый из вариантов длины, но подчеркивают отсутствие общего стандарта.
- Итог: «length» — слишком расплывчатое слово; без контекста использования любое его значение может оказаться не тем, что действительно нужно.
Show HN: Using Common Lisp from Inside the Browser
Web Embeddable Common Lisp (WECL) — запуск Common Lisp в браузере через WebAssembly.
Проект экспериментальный; API нестабильны, баг-репорты не принимаются.
Исходники: fossil.turtleware.eu/wecl.
Быстрый старт
Подключите boot.js и wecl.js, пишите код в <script type="text/common-lisp">.
Пример считает обратный отсчёт и выводит «BOOM!».
Демо: easy.html | easy.lisp
JS-FFI
Набор макросов для вызова JavaScript из Lisp:
| макрос | назначение |
|---|---|
define-js-variable |
переменная, выражение подставляется каждый раз |
define-js-object |
объект, сохраняется в хранилище |
define-js-function |
функция |
define-js-method |
метод объекта |
define-js-getter/setter/accessor |
чтение/запись поля |
define-js-script |
шаблон JS-выражения |
define-js-callback |
Lisp-функция, вызываемая из JS |
lambda-js-callback |
анонимный callback |
Типы аргументов: :object, :js-ref, :fixnum, :symbol, :string, :null.
Emacs-интеграция
LIME/SLUG позволяет REPL и отладку прямо из Emacs.
Инъекция в любой сайт
Загрузка WECL в произвольную страницу через bookmarklet или расширение.
Ограничения
- Размер wasm-модуля ≈ 10 МБ (кешируется).
- Нет потоков, FFI неполный, производительность средняя.
Финансирование
Разработка поддерживается подписчиками Patreon.
Комментарии (24)
- Обсуждение началось с альтернативной истории: если бы JS изначально был похож на Lisp, возможно, функциональное программирование стало бы мейнстримом раньше.
- Участники отмечают, что WebAssembly и Gambit-JS уже позволяют писать на Scheme/Common Lisp в браузере, улучшая DX и переиспользование кода.
- Некоторые сомневаются, что Lisp автоматически «функциональнее» JS, и подчеркивают, что императивный стиль часто естественнее.
- Поднимаются риски: рост размера рантайма, проблемы на медленных каналах и возможное доминирование Microsoft, если бы IE/VBScript победил.
Tidewave Web: in-browser coding agent for Rails and Phoenix 🔥 Горячее
Tidewave Web – агент для Rails и Phoenix, работающий прямо в браузере.
Он видит текущее состояние UI, знает структуру проекта и выполняет код в вашем окружении без переключений между инструментами.
Основное
- Общий контекст – кликните по элементу, скажите «добавь кнопку экспорта CSV»; Tidewave сам найдёт шаблон, контроллер и модель.
- Глубокая интеграция – запросы к БД, логи, документация, тесты в браузере.
- Установка – добавьте gem/пакет, откройте
/tidewave, подключите GitHub Copilot или Anthropic. - Цена – 20 сообщений в месяц бесплатно; Tidewave Pro – $10/мес.
Ограничения
- Лучше всего работает с полноценными Rails/Phoenix.
- React/Vue пока не поддерживаются (в планах).
- Django, Flask, Next.js – в листе ожидания.
Планы
TODO-списки, суб-агенты, React-поддержка.
Присоединяйтесь к Discord или форме ожидания.
Комментарии (56)
- Tidewave — это инструмент для «живого» редактирования Phoenix/Rails-приложений прямо в браузере: LLM видит DOM, шаблоны, тесты и может менять код на лету.
- Следующие шаги: React-интеграция, затем Python/JS-фреймворки; уже можно записаться в wait-list.
- Часть пользователей в восторге («не мог мечтать о таком»), другие не понимают преимущества перед Claude Code или MCP-серверами.
- Главный плюс, по словам Jose Valim — глубокая связь с конкретным фреймворком: LLM точно знает, какой шаблон сгенерировал элемент, и может запускать код без угадывания.
- Платная модель: используются ваши ключи Copilot/Anthropic, но после лимита нужно платить Tidewave (часть трафика идёт через их сервер).
- Пока нет поддержки локальных LLM (Ollama) и HTTPS-проблемы у некоторых команд; Jose просит писать в Discord для отладки.
Geotoy – Shadertoy for 3D Geometry
- 3d hilbert curve
- shingles
- temple
- rusty maze
- spring
- fbm terrain
- torus knot
- dandelion
- power line
- woven WIP
- roots
- bumpy sphere
- abstract hourglass
- birdbath
- concrete tetrapod
- terraced floating island
- extruded clay bowl
- fancy shader props
- superellipse dominos
- dark souls tree
Автор всех работ: ameo
Geoscript и Geotoy — Casey Primozic, открытый код.
Комментарии (22)
- GeoToy — это «Shadertoy для геометрии»: вместо цвета пикселя функция возвращает вершины, поэтому куб рисуется 36 вызовами, а не 921 600.
- Похож на DSL для 3D-моделей; пример «temple» помогает быстрее понять синтаксис.
- Материалы задаются не кодом, а через UI (три пиктограммы → «materials») и используют трипланарное отображение без UV.
- Анимации пока нет, но пользователи просят добавить переменную вроде
iTimeиз Shadertoy. - Проект вызывает ассоциации с Structure Synth и geometry-шейдерами, но последние считаются трудными для оптимизации.
Pricing Pages – A Curated Gallery of Pricing Page Designs
PricingPages.design — подборка лучших страниц тарифов.
Ищите примеры по стилю и отрасли: путешествия, e-commerce, AI, fintech и др.
Фильтры: цветовые уровни, «Свяжитесь с нами», калькулятор, переключатель месяц/год, таблицы, карточки и т.д.
Недавние примеры
- Delphi AI — индивидуальные цены, сравнительная таблица, переключатель.
- WhaleSync — стандартная таблица, галочки функций.
- Osmo — карточки, индивидуальные цены, переключатель.
- Made with GSAP — индивидуальные цены, дизайн.
- Mimo HQ — стандартная таблица, галочки.
- Warp — карточки, списки функций.
- Firecrawl — калькулятор по использованию, таблица.
- Frankli — стандартная таблица, HR.
- Vimeo — сравнительная таблица, переключатель.
- Meiro, Programa Design, Rantir — стандартные таблицы, галочки.
Комментарии (59)
- Пользователи жалуются, что большинство страниц цен скрывают стоимость за «позвоните нам» и обесценивают удобство.
- Классический трёхколоночный «free/pro/enterprise»-шаблон прижился благодаря A/B-тестам, но выглядит шаблонно и скучно.
- Просят фильтров по типу оплаты (подписка vs. разовая), возможности исключать популярные стили и добавлять комментарии к примерам.
- Многие сразу прыгают на страницу цен, чтобы понять продукт и аудиторию, но устают от длинных списков одинаковых фич.
- Исследования и опыт крупных клиентов показывают: избыточный выбор парализует, а гибкая/скрытая цена нужна лишь на «миллионных» контрактах.
Show HN: The current sky at your approximate location, as a CSS gradient 🔥 Горячее
Горизонт в 41,60054° N, 93,60911° W
- Высота: ~300 м над уровнем моря
- Рельеф: пологие холмы, сельхозугодья, редкие деревья
- Видимость: 20–25 км, ограничена деревьями и постройками
- Точки рельефа:
- Север: 1,5 км до реки Des Moines
- Юго-запад: 2 км до лесополосы
- Освещение: ровное, без резких теней из-за низкого рельефа
- Цвета: зелёные поля, тёмно-серая дорога, голубое небо
Комментарии (143)
- Проект показывает реальный цвет неба прямо сейчас, используя расчёты по научной статье и данные местоположения Cloudflare.
- Пользователи в восторге: «совпадает 100 %», «в точку», «прекрасный минимализм», но ночью/при облаках видно просто чёрный или тёмный фон.
- Автор Suncalc рад, что его библиотека пригодилась; другие предлагают добавить погоду, сделать обои для iOS/десктопа или встроить в smart-дэш.
- Кто-то путается, ждёт загрузки, пока не понимает, что ночь; кто-то ставит телефон к окну и зовёт жену «посмотри!».
- В коде нет JS/CSS, только цвет фона, генерируемый сервером — это вызывает удивление и восхищение.
Historical Tech Tree 🔥 Горячее
Историческое дерево технологий
Интерактивная визуализация технологической истории от 3 млн лет до наших дней. Проект Этьена Фортье-Дюбуа, пока содержит 0 технологий и 0 связей.
Каменное орудие
3300 тыс. до н. э. — первая технология производства.
Комментарии (107)
- Пользователи отмечают слепые зоны: недооценены металлургия, точная механика и «базовая наука», из-за чего газовые турбины возникают «из ниоткуда».
- Найдены мелкие ошибки: дата «обуви» указывает на сандалии, а не самые ранние туфли 7000–8000 г. до н. э.; точность дат винторезных токарных станков спорна.
- UI-критика: слишком много пустого пространства, неудобно на мобильных, не хватает зума, тысячных разделителей и «привязки» к следующему узлу.
- Замечена западная и англоязычная предвзятость: китайское письмо показано как терминус, а не как корень множества ветвей.
- Предложения по улучшению: вертикальный мобильный вид, поиск «самых важных потомков» технологии, агент для автоматического обогащения графа.
Eleven Music 💬 Длинная дискуссия
—
Комментарии (267)
I've played guitar for 23 years, and there is something just off-putting about most of the music on that page, but particularly "Yellow Bus Jam".The guitar solo sounds very unnatural, especially the phrasing, which is totally random. Blues musicians are actually attempting to say
Apache ECharts 6 🔥 Горячее
—
Комментарии (34)
Props to them for keeping backwards compatibility. I always dread seeing these major releases, especially after being burned several times by the tire fire of react-router. Migrating a rather large project from 5.6 to 6.0 (10 chart types, around 1k charts in total) took maybe 15
Комментарии (135)
I enjoyed reading this. It follows a similar experience with our first htmx website, away from using modern frontends, or just simple jQuery with ajax json data.I remember, working with a co-worker, we planned out the process (a step-by-step on the application like this post) and