Zlib visualizer 🔥 Горячее
FlateView — это инструмент для анализа и визуализации сжатых данных, особенно полезный при работе с алгоритмами сжатия, такими как DEFLATE. Он позволяет разработчикам и исследователям изучать структуру сжатых потоков, выявлять паттерны и оптимизировать производительность сжатия. Например, можно увидеть, как повторяющиеся последовательности байтов заменяются ссылками, что помогает понять эффективность алгоритма.
Инструмент поддерживает различные форматы, включая gzip и PNG, и предоставляет детализированное представление данных, такое как длина блоков, типы кодирования и статистика. Это особенно ценно для отладки проблем со сжатием или для обучения принципам работы компрессии. Практическое применение включает улучшение алгоритмов сжатия в собственных проектах или анализ существующих файлов на предмет избыточности.
Комментарии (29)
- Критика недостаточной визуализации динамических блоков и таблиц Хаффмана в gzip/deflate, отсутствие пояснений к параметрам и символам.
- Запросы на улучшение: добавление легенды для цветов, объяснение формата backreference (например, "x4<-135"), поддержка многоблочных текстов.
- Обсуждение технических проблем: несоответствие подсчёта байтов, отсутствие паддинга, предложения по визуализации Brotli и zopfli.
- Упомянуты альтернативные инструменты для визуализации deflate, отмечена сложность кодирования динамических таблиц Хаффмана.
- Шуточные комментарии о тестовых данных (Bee Movie script) и замечания об опечатках в названиях (zlib vs Z-Lib).
How fast is Go? Simulating particles on a smart TV
Go позволяет эффективно симулировать миллионы частиц на сервере и транслировать результат клиентам в виде видео, избегая отправки данных каждой частицы. Ключевая идея — рендерить симуляцию на сервере и передавать клиентам только сжатые кадры, что делает нагрузку независимой от числа частиц и зависящей лишь от разрешения. Для HD-видео (1920×1080) несжатый кадр занимает ~2 МБ, но сжатие H264/H265 сокращает его до ~260 КБ, что при 24 кадрах в секунду близко к обычному видеопотоку.
Это выгоднее, чем отправлять данные частиц: даже при оптимизации (8 байт на частицу) миллион частиц потребует 8 МБ на кадр — в 4 раза больше, чем несжатое изображение. Такой подход обеспечивает совместимость с любыми устройствами, включая Smart TV, поскольку клиенту нужно лишь воспроизводить видео на canvas, без тяжёлых вычислений. Go справляется с этой задачей, демонстрируя производительность, достаточную для многопользовательских симуляций в реальном времени.
Комментарии (26)
- Обсуждаются сильные стороны Go: простота синтаксиса, поддержка больших кодовых баз, быстрая сборка и встроенные инструменты для тестирования и конкурентности.
- Отмечается слабая оптимизация Go для численных расчётов и вычислительных задач, выражается надежда на внедрение SIMD-инструкций в будущем.
- Предлагаются методы сжатия изображений для проекта, включая использование PNG и дельта-кодирования с RLE, а также улучшение сжатия через XOR нового и старого кадра.
- Критикуется использование Euler-интегрирования в симуляции частиц, автор признаёт упрощённый подход с учётом дельта-времени и трения.
- Упоминается, что эксперимент с пакетом
arenaдля управления памятью приостановлен из-за проблем с API, идёт поиск альтернативных решений.
Shipping textures as PNGs is suboptimal
Перестаньте пихать PNG в игры
PNG — хорош для обмена, но плох для текстур: нет мипмапов, кубемапов, premultiplied-альфы и GPU-сжатия (BCn).
При загрузке приходится распаковывать и тратно пересжимать — тормоза и лишняя память.
Что делать
Используйте KTX2 или DDS: заголовок + готовые GPU-данные, можно сжать ещё zlib/lz4.
Для мобильных — Basis Universal, транскодит под нужный формат на лету.
Экспорт
В редакторе кнопки нет; берите готовый open-source-конвертер Zex или пишите свой.
Комментарии (57)
- Нет готового OSS-инструмента, который за один вызов делает мипмапы → BC/ASTC → KTX2+zstd для всех типов текстур.
- Все крупные движки решают это собственным импорт-пайплайном; остальные катят свои скрипты вокруг Compressonator, DirectXTex или старых ISPC-библиотек.
- GPU-ускорение есть только в закрытых NVIDIA/AMD утилитах и части шейдеров Compressonator; открытых «одним бином» всё равно нет.
- Для веба и мобилок часто берут PNG/JPG и конвертят уже на клиенте, жертвуя RAM/бандвидсом; Basis Universal/KTX2 пока единственный разумный компромисс.
- Нейро-компрессия обещает «всё заменить», но пока не в продакшене; старые палитровые форматы в GPU никто не хочет возвращать.
Classic 8×8-pixel B&W Mac patterns
Классические 8×8 ч/б узоры Mac
Сделал сайт с 38 оригинальными узорами 1984 года: paulsmith.github.io/classic-mac-patterns.
Использовал Mini vMac + System 6, вытащил ресурс PAT# из файла System, распаковал .sit, прогнал DeRez, получил hex-данные.
Python-скрипт превратил их в .pbm, потом ImageMagick (-filter point) — в PNG любого размера.
Получились чистые, пиксель-в-пиксель копии узоров из Control Panel и MacPaint.
Комментарии (45)
- Участники делятся находками и собственными реконструкциями 8×8-узоров рабочего стола Mac/Windows/X11.
- Обсуждают, как в 64 битах уместить выразительные текстуры и вытаскивать PAT-ресурсы через ResEdit, эмуляторы или hex-дампы.
- Показывают интерактивные редакторы: Mac Control Panel, Win 3.1, X11 xsetroot, вариант для System 7.
- Отмечают кроссплатформенность «wide weave» и других узоров, встречающихся от C64 GEOS до Atari ST.
- Спорят о цветных паттернах Mac OS 7, e-ink и о том, как поставить 1-битовый дизайн обоями на iPad.
- Вспоминают ResEdit, hidden-опции Option-ключа и находят в теме «настоящую археологию» 80–90-х.
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) улучшает работу с системами контроля версий.