Hacker News Digest

Тег: #ascii

Постов: 10

The macOS LC_COLLATE hunt: Or why does sort order differently on macOS and Linux (2020) (blog.zhimingwang.org)

На macOS и Linux команда sort упорядочивает строки по-разному даже при одинаковой локали en_US.UTF-8. Например, на macOS python-dev идет перед python3-dev, а на Linux - наоборот. Причина - в файлах LC_COLLATE: на большинство локалей в macOS ссылаются на la_LN.US-ASCII, что представляет собой базовое ASCII-упорядочивание. Даже для нелатинских локалей (китайской, японской, корейской) используется та же ссылка. В то время как на Linux используются более сложные правила сортировки, учитывающие национальные особенности.

Автор обнаружил, что в macOS 122 из 178 локалей используют la_LN.US-ASCII в качестве основы для сортировки. Исследуя исходный код Apple, он нашел, что правила сортировки для la_LN.US-ASCII чрезвычайно просты - это просто базовое ASCII-упорядочивание без учета национальных особенностей. Это объясняет, почему на macOS "python-dev" идет перед "python3-dev", так как дефис (ASCII 0x2D) имеет меньший код, чем цифра 3 (ASCII 0x33).

by g0xA52A2A • 19 октября 2025 г. в 13:01 • 83 points

ОригиналHN

#macos#linux#locale#sorting#unix#ascii

Комментарии (16)

  • Сортировка строк в Unix-подобных системах зависит от локали, и это может привести к неожиданным результатам, особенно при работе с диакритическими символами.
  • Сортировка строк в Unix-подобных системах зависит от локали, и это может привести к неожиданным результатам, особенно при работе с диакритическими символами.
  • Сортировка строк в Unix-подобных системах зависит от локали, и это может привести к неожиданным результатам, особенно при работе с диакритическими символами.
  • Сортировка строк в Unix-подобных системах зависит от локали, и это может привести к неожиданным результатам, особенно при работе с диакритическими символами.
  • Сортировка строк в Unix-подобных системах зависит от локали, и это может привести к неожиданным результатам, особенно при работе с диакритическими символами.

Show HN: ASCII Automata (hlnet.neocities.org)

ASCII AUTOMATA v2 (beta) — это интерактивный инструмент для создания ASCII-искусства с помощью клеточных автоматов. Пользователи могут настраивать размер ячеек, выбирать шрифты и управлять различными параметрами сетки. Интерфейс включает режимы рисования (GROW, MANUAL, BARRIER) и инструменты вроде DRAW RECT для создания прямоугольников. Система предлагает пять стилей роста (DEPTH, PARALLEL, RANDOM, SCATTER, SCAN) с возможностью настройки селективности, случайного шанса и близости элементов.

Программа предоставляет три метода подсчета очков (DISTANCE, CONNECTION, EXACT) с поддержкой взвешенных значений для диагональных и кардинальных направлений. Управление анимацией осуществляется через кнопки PLAY, STOP и NEXT. Созданные работы можно экспортировать в PNG или скопировать как текст. Инструмент разработан Хейкки Лотвоненом (Heikki Lotvonen) в 2025 году и включает функцию RANDOM SEED для генерации уникальных паттернов.

by california-og • 17 октября 2025 г. в 20:19 • 80 points

ОригиналHN

#ascii#cellular-automata#visualization#interactive-tools#text-art

Комментарии (8)

  • ASCII AUTOMATA анализирует визуальную связность символов в текстовых шрифтах, оценивая краевую связность фрагментов и подбирая соседние для "роста".
  • Инструмент визуализирует частоту использования символов через красную тепловую карту.
  • Участники высоко оценили инструмент, сравнив его с 10print.org и отметив креативность подхода.
  • Предложено добавить поддержку PETSCII шрифта.

Show HN: ASCII Drawing Board (delopsu.com)

Онлайн-инструмент для рисования ASCII-арта с настраиваемыми кистями разных размеров (1×1, 2×2, 3×3) и возможностью выбора символов из Unicode, включая спецсимволы вроде ✦ или █. Есть ластик, очистка всего холста, настройка размеров сетки (столбцы и строки), а также функции копирования и экспорта в текстовый файл.

Работает в реальном времени с индикацией текущих параметров (например, 90×40, кисть 2px). Автор отмечает, что не все Unicode-символы отображаются корректно из-за ограничений шрифтов, и призывает дать обратную связь через соцсети.

by delopsu • 05 октября 2025 г. в 15:36 • 94 points

ОригиналHN

#ascii#unicode#webapp#html#css#javascript

Комментарии (33)

  • Отмечены технические проблемы: некорректная работа фиксированной ширины шрифта, нестабильность на мобильных устройствах (особенно в Firefox), неожиданное форматирование текста.
  • Высоко оценена концепция и простота инструмента для рисования ASCII-арта, многие называют его интересным и полезным.
  • Поступили предложения по улучшению: добавить Undo, использовать только печатные ASCII-символы по умолчанию, улучшить мобильную версию.
  • Автор активно отвечает на фидбэк, объясняет выбор символов и делится ссылками на другие похожие инструменты.
  • Обсуждение затронуло тему возрождения интереса к ASCII-арту и существование других нишевых инструментов для работы с ним.

Playball – Watch MLB games from a terminal (github.com) 🔥 Горячее

Проект playball позволяет смотреть трансляции матчей MLB прямо в терминале через ASCII-графику. Вместо видео поток передаётся текстовыми символами, имитирующими поле, игроков и мяч, что создаёт минималистичный, но на удивление детализированный опыт просмотра.

Для работы требуется аккаунт MLB.tv и настроенный доступ к их стриминговому сервису. Инструмент написан на Python, использует библиотеку curses для отрисовки интерфейса и парсит данные в реальном времени. Это интересный пример того, как ностальгический формат терминала может быть адаптирован для современных развлечений, экономя трафик и ресурсы.

by ohjeez • 02 октября 2025 г. в 16:09 • 333 points

ОригиналHN

#python#mlb#curses#api#ascii#github

Комментарии (136)

  • Участники обсуждают проект терминального просмотра текстовой трансляции бейсбольных матчей MLB, отмечая его удобство и связь с хакерской культурой.
  • Поднимается тема доступности данных MLB через API и существования аналогичных инструментов для других видов спорта (NBA, NFL, крикет, футбол).
  • Обсуждаются исторические и экономические причины снижения популярности бейсбола, а также преимущества MLB в области стриминга по сравнению с другими лигами.
  • Упоминается практика ведения текстового протокола игры (scorekeeping) и то, как хорошо бейсбол подходит для текстового формата из-за своей структуры.
  • Высказываются пожелания по развитию проекта, включая анимацию, поддержку других лиг и

MapSCII – World map in terminal (github.com)

MapSCII — это инструмент для отображения карт мира прямо в терминале с использованием символов ASCII и Брайля. Для подключения на Mac и Linux достаточно выполнить команду telnet mapscii.me, предварительно установив telnet (например, через brew install telnet), а на Windows — использовать PuTTY.

Проект демонстрирует, как можно творчески подойти к визуализации данных в консоли, превращая географическую информацию в доступный и стильный текстовый формат. Это не только практично для быстрого просмотра карт без графического интерфейса, но и служит напоминанием о гибкости командной строки.

by _august • 18 сентября 2025 г. в 18:12 • 194 points

ОригиналHN

#terminal#ascii#braille#telnet#putty#openstreetmap#command-line#github

Комментарии (20)

  • Обсуждение технических аспектов работы карты в различных терминалах и через Telnet, включая проблемы с отображением и поддержкой мыши.
  • Упоминание о возрасте проекта (более 8 лет) и его доступности для vintage-компьютеров через Telnet.
  • Сравнение проекта с другими известными работами, такими как Google Maps для NES и ежедневной игрой FoodGuessr.
  • Восторженные отзывы о визуальной реализации и использовании OpenStreetMap для детализации до уровня улиц.
  • Несколько комментаторов изначально спутали проект с чем-то связанным со StarCraft II из-за аббревиатуры SCII.

UTF-8 history (2003) (doc.cat-v.org)

Роб Пайк рассказывает, как Кен Томпсон изобрёл UTF-8 за один вечер, и как они вместе внедрили его в систему менее чем за неделю.

В 1992 году, во время ужина в Нью-Джерси, Томпсон придумал битовую упаковку UTF-8. Изначально в Plan 9 использовалась кодировка UTF от ISO 10646, но она была неудобной. После звонка от представителей IBM и X/Open, которые просили оценить их проект FSS/UTF, Пайк и Томпсон предложили создать улучшенный стандарт.

За ночь Томпсон написал код для упаковки и распаковки, а Пайк адаптировал библиотеки. К пятнице Plan 9 уже полностью работал на UTF-8. X/Open принял их предложение, отказавшись от собственного FSS/UTF из-за недостатка синхронизации в потоке байтов.

Пайк опровергает миф о том, что UTF-8 разработала IBM, а Plan 9 лишь реализовала его, ссылаясь на архив переписки, подтверждающий их авторство.

by mikecarlton • 13 сентября 2025 г. в 08:56 • 91 points

ОригиналHN

#utf-8#unicode#plan-9#iso-10646#x-open#fss-utf#ucs-2#rfc-3629#ascii#bell-labs

Комментарии (35)

  • Обсуждаются исторические и социально-экономические причины доминирования США в ранней компьютерной индустрии, включая военные разработки и инфраструктуру.
  • Выдвигается гипотеза о преимуществе англоязычного мира из-за простого алфавита без диакритиков по сравнению с такими языками, как китайский или хинди.
  • Подробно разбирается история создания UTF-8 и критикуется решение Microsoft использовать в Windows NT кодировку UCS-2 вместо UTF-8, названное "ошибкой на миллиард долларов".
  • Участники отмечают, что ранние компьютерные кодировки (6-битные, ASCII) наследовали принципы докомпьютерных эпох (телетайпы, перфокарты).
  • Обсуждается влияние разных алфавитов на технологическое развитие, проводятся параллели с историей книгопечатания в Европе и Китае.
  • Упоминается, что стандартизация Unicode и UTF-8 была сложным процессом с участием нескольких конкурирующих организаций.
  • Отмечаются практические проблемы, вызванные использованием в Windows кодировок CP-125X вместо UTF-8, и наследие этого решения в виде API-функций с суффиксами "A"/"W".
  • Приводится ссылка на RFC 3629, который ограничил UTF-8 4 байтами на символ, отказавшись от первоначальной поддержки 5- и 6-байтных последовательностей.

UTF-8 is a brilliant design (iamvishnu.com) 🔥 Горячее 💬 Длинная дискуссия

UTF-8 — гениальное решение: 1–4 байта на символ, полная совместимость с 7-битным ASCII.
Старший бит первого байта сразу говорит, сколько байт идёт дальше:

Паттерн 1-го байта Длина Пример
0xxxxxxx 1 ASCII
110xxxxx 2
1110xxxx 3
11110xxx 4

Продолжения всегда 10xxxxxx.
Программа читает байт, по префиксу понимает длину, выделяет «полезные» биты, получает кодовую точку Unicode и выводит символ.

Пример:
хинди «अ» = 11100000 10100100 10000101U+0905.

Файл Hey👋 Buddy (13 байт):
H e y 👋 B u d d y
👋 кодируется 4 байтами 11110000 10011111 10010001 10001011U+1F44B.

by vishnuharidas • 12 сентября 2025 г. в 18:30 • 772 points

ОригиналHN

#utf-8#unicode#ascii#encoding#character

Комментарии (305)

  • UTF-8 — гениальное, простое и обратно-совместимое с ASCII решение, придуманное Кеном Томпсоном и Робом Пайком за ужином.
  • Продолжение-байты 10xxxxxx позволяют за O(1) найти границы символа, не парся весь поток.
  • Критика: Unicode «раздулся» (комбинирующие символы, эмодзи, 25-байтовые «графемы»), а UTF-8 не сам компактен для нелатиницы.
  • Спор о «переполнении»: 4 байт хватает на 21 бит → 2 097 152 кодовых точек; 5-6 байт запрещены специально.
  • Некоторые считают, что красота UTF-8 — не комитетное изобретение, а удачный частный хак, вышедший в мировой стандарт.

The day Return became Enter (2023) (aresluna.org) 🔥 Горячее

Как Return стал Enter

Переход от пишущих машинок к компьютерам в массовом сознании выглядит прямолинейным: к машинке прикрутили процессор и экран — получился компьютер. На деле всё было запутаннее, и ни одна клавиша не отражает этот путь лучше, чем Return.

От рычага к клавише

На механических машинках рычаг «carriage return» одним движением переводил каретку в начало строки и прокручивал бумагу. Это была чисто механическая операция, и до электрификации 1940–50-х она не могла стать клавишей. Когда же электромоторы взяли на себя работу, рычаг исчез, а на его месте появилась клавиша Return (иногда Electric Return или Power Return). В IBM Selectric инструкция говорила о «carrier return», но на клавиатуре всё равно писали Return.

Смысл и коды

Машинки не понимали смысла текста: не было цифр 0 и 1 — печатали O и l; знак $ получали, наложив I на S. Return тоже был просто «перевод строки» без контекста. Компьютеры же разделили функции:

  • Carriage Return (CR) — возврат каретки, код 13.
  • Line Feed (LF) — перевод строки, код 10.

В Unix оставили только LF, в DOS/Windows — CR+LF, а в старых Mac — только CR. Эти разногласия живы до сих пор.

Появление Enter

В 1960-х терминал Teletype ASR-33 ввёл клавишу ENTER для подтверждения команд. Она генерировала CR, но уже несла смысл «ввод». Мэйнфреймы IBM разделили:

  • Return — новая строка в тексте.
  • Enter — «отправить» команду.

На ранних ПК (Apple II, Commodore) была одна клавиша Return. IBM PC 1981 добавила справа отдельную Enter на цифровом блоке, но оставила Return в основной зоне. Постепенно оба названия стали обозначать одно и то же, а на некоторых клавиатурах 1980-х можно было встретить оба лейбла сразу.

Итог

Сегодня Return и Enter — это одна клавиша, но внутри она может посылать CR, LF или CR+LF в зависимости от системы. Рычаг 1870-х превратился в символ «⏎», а его история — это квинтэссенция перехода от механики к цифре.

by sohkamyung • 29 августа 2025 г. в 12:12 • 309 points

ОригиналHN

#history-of-computing#keyboard#ibm#unix#dos#mac#ascii

Комментарии (147)

  • IBM PC не переименовал Return в Enter, а просто дал одной клавише две функции.
  • Некоторые жалеют, что вместо CR/LF не использовались ASCII-символы FS/RS, чтобы избежать проблем перевода строк.
  • На старых клавиатурах Return и Enter были разными клавишами; ISO до сих пор различает Return в основном блоке и Enter на цифровой панели.
  • У Apple всегда была клавиша Return, а Enter — только на нумпаде; у IBM/PC клавиша в основном блоке сразу называлась Enter.
  • Пользователи вспоминают путаницу между Return и Enter в старых программах и то, что стрелка ↵ всё ещё напоминает о механическом возврате каретки.

Monodraw (monodraw.helftone.com) 🔥 Горячее 💬 Длинная дискуссия

Monodraw — редактор ASCII-графики для macOS (11 Big Sur+).
Пробная версия бесплатно, лицензия — $9.99, скидки для учебных заведений.

Возможности

  • Диаграммы: структуры данных, алгоритмы, ER-диаграммы (нотация «Crow’s Foot»).
  • Mind-map: свободное размещение текста на бесконечном холсте.
  • Баннеры: 148 встроенных шрифтов FIGlet, изменение размера и выравнивание.
  • Инструменты: прямоугольники, линии (ортогональные, лестницы), текст, карандаш, ластик, заливка, пипетка.
  • Точки крепления: линии автоматически цепляются к фигурам.
  • CLI: генерация документации в хуках Git, экспорт JSON.
  • Группы, направляющие, фокус-режим, горячие клавиши для быстрой работы.

Экспорт: PNG, SVG.

by mafro • 27 августа 2025 г. в 10:54 • 544 points

ОригиналHN

#macos#ascii#diagrams#er-diagrams#cli#json#git#documentation#png#svg

Комментарии (172)

  • Разработчик Monodraw отвечает на вопросы; пользователи делятся альтернативами (asciiflow, textik, durdraw, REXPaint).
  • Все хвалят чистоту результата, низкую цену ($10 навсегда) и удобство вставки ASCII-диаграмм прямо в код или документацию.
  • Основные сценарии: комментарии в исходниках, схемы сетей, баннеры серверов, ASCII-анимации, план кухни.
  • Главный недостаток: приложение только для macOS; много просьб портировать на Linux.
  • Новая текстовая разметка (апрель 2025) улучшает работу с системами контроля версий.

D2 (text to diagram tool) now supports ASCII renders (d2lang.com) 🔥 Горячее

ASCII-вывод в D2 0.7.1
Файлы с расширением .txt теперь рендерятся в ASCII. Пример: при сохранении .d2-файла Vim-плагин мгновенно показывает ASCII-превью.

Для документации кода
ASCII-диаграммы удобно вставлять в комментарии: выделите блок d2, плагин заменит его ASCII-версией.

Unicode или чистый ASCII
По умолчанию используются символы Unicode, но флаг --ascii-mode=standard вернёт строгий ASCII.

Ограничения (альфа-версия)

  • Без стилей: animated, font, темы не поддерживаются; цвета в терминале — возможно позже.
  • Неравномерные отступы из-за дискретной сетки.
    Сообщайте о багах: github.com/terrastruct/d2/issues.

Попробуйте сейчас
Откройте пример в D2 Playground.

by alixanderwang • 19 августа 2025 г. в 18:14 • 403 points

ОригиналHN

#d2#ascii#vim#github#wasm#mermaid

Комментарии (70)

  • Представлена новая альфа-функция D2: рендеринг диаграмм в ASCII.
  • Пользователи сравнивают D2 с Mermaid, отмечают лучший внешний вид и CLI без Chromium, но упрекают в отсутствии GitHub-рендеринга и сложных grid-раскладок.
  • Появились вопросы о браузерной офлайн-работе, vim-/emacs-плагинах, Python-обёртке и возможности ручной подгонки элементов.
  • Автор подтвердил, что WASM-версия (d2.js) уже работает в браузере, но пока неанонсирована; официальный релиз и поддержка PR-диаграмм ожидаются позже.