惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

IT之家
IT之家
Project Zero
Project Zero
博客园 - 聂微东
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
云风的 BLOG
云风的 BLOG
Microsoft Azure Blog
Microsoft Azure Blog
F
Fortinet All Blogs
Martin Fowler
Martin Fowler
Jina AI
Jina AI
C
Check Point Blog
博客园_首页
The GitHub Blog
The GitHub Blog
The Hacker News
The Hacker News
T
The Blog of Author Tim Ferriss
V
Vulnerabilities – Threatpost
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
C
Cisco Blogs
人人都是产品经理
人人都是产品经理
V
Visual Studio Blog
A
Arctic Wolf
博客园 - 三生石上(FineUI控件)
P
Privacy International News Feed
Application and Cybersecurity Blog
Application and Cybersecurity Blog
C
Cybersecurity and Infrastructure Security Agency CISA
Forbes - Security
Forbes - Security
阮一峰的网络日志
阮一峰的网络日志
Engineering at Meta
Engineering at Meta
T
Troy Hunt's Blog
Microsoft Security Blog
Microsoft Security Blog
Spread Privacy
Spread Privacy
Schneier on Security
Schneier on Security
K
Kaspersky official blog
宝玉的分享
宝玉的分享
Google DeepMind News
Google DeepMind News
V2EX - 技术
V2EX - 技术
Google DeepMind News
Google DeepMind News
AWS News Blog
AWS News Blog
Know Your Adversary
Know Your Adversary
www.infosecurity-magazine.com
www.infosecurity-magazine.com
Y
Y Combinator Blog
大猫的无限游戏
大猫的无限游戏
S
Security Affairs
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
博客园 - Franky
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
The Register - Security
The Register - Security
P
Proofpoint News Feed
小众软件
小众软件
S
Securelist
T
Tor Project blog

Все публикации подряд на Хабре

Ловим музу за клавиатуру: как айтишнику стать автором Что умеет Midjourney в 2026? Мой немного грустный разбор этого шикарного инструмента Никто не любит писать тесты, но ИИ может исправить это IPv8 выглядит как мечта. Поэтому почти наверняка не взлетит Производители вернули в продажу материнки с DDR3. Что происходит? Управление агентом с телефона через Telegram теперь в KodaCode От координации к лидерству: как меняется роль руководителя разработки Я сделала родителям бизнес вместо пенсии: зарабатываем 70 тысяч, мама не даёт продать В три раза быстрее приемка товара и оптимизация трудозатрат на 73%: как «РСТ-Инвент» помог Gulliver Group ИИ-шечный мир победил? О влиянии искусственного интеллекта на игропром Кремль снижает давление на Телеграмм пока Европа строит интернет по паспорту Как CEO, CTO и CIO за 8 часов собрали ИИ-директора, который умеет держать позицию под давлением Как (не) потерять домен за выходные Вместо 8 разных VPS: как я организовал практику студентам на одном сервере Почему твой Open Source проект не замечают? R&D: искусство управления неопределенностью в разработке AI-дефляция: вакансий для разработчиков больше, а рост зарплат — худший за 15 лет Мы отдали управление роботами OpenClaw. Что из этого вышло Галактический ID: система идентификации для всех форм разумной жизни Шесть основ бизнес-анализа: начинаем с вопроса «Кто в игре?» Код-ревью, в котором дело не в коде Данные переехали. Команда — нет Системной подход к сдаче OSWE в 2025 Почему комната управления реактором покрашена в цвет морской пены 4 YAML-файла вместо PySpark: как аналитикам строить пайплайны без разработчиков LLM-агент для поиска свободных доменов: автоматизируем подбор Когда, зачем и как правильно начинать новую сессию в Claude Code? Как я заставил нейросеть писать макросы для FreeCAD Анатомия ИИ‑агента для подбора персонала. От тысячи резюме к топ‑10 за минуты Опыт разработчика как экономика внимания Автономность как точка невозврата: кто будет субъектом в цифровом будущем Обучение ИИ в «диких» условиях: как рутинные действия превращаются в датасеты Как измерить LLM для задач кибербеза: обзор открытых бенчмарков Где хранить код? Сравнение GitHub, GitLab и Bitbucket Математика объясняет, почему нормальное распределение встречается повсюду Почему ваш FinOps не работает: 12 тезисов от практиков Как подписать проектную документацию УКЭП с использованием бесплатных лицензий Pilot Адаптивное администрирование Sigla Vision Я грузил уран в бочки, а потом 20 лет строил ИТ в атомной отрасли Чем позвонить с Эвереста? История и обзор спутниковой связи. Часть 2 Как языковая модель помогает контролировать качество инструктажей по охране труда в металлургии Как не передать на desktop свой IP в РКН Анатомия SAP Privileges: как устроено управление правами в macOS MoneyDev: Сказка про три главных слова Обновлённый токенизатор видео K-VAE 2.0 от Сбера Как сделать диспетчеризацию дома на 1284 квартиры почти бесплатно Как мы разогнали железную дорогу Мы дали агентам рутину. Теперь надо решить — что делать с освободившимся временем Токсичный контент, промпт-хакинг и защита ИИ — всё о Guardrails для LLM Умный город начинается с точного взгляда: как «Фалькон Тех» меняет пространство к лучшему Навайбкодил приложение для анализа графов Почему Дюну так интересно читать? Упрощаем работу с рутиной или как стать Гендальфом Белым Деконструкция Go: CPU, RAM и что там происходит. Go Assembler база. Часть 1.1 Какие профессии исчезнут из-за ИИ, а какие появятся? И что с этим делать Как мы построили IT-отдел, где хочется расти: архитектурные встречи, прозрачные метрики и книжные подарки Rufler: Делаем из Claude Code автономный рой через один YAML-конфиг Sing-box и белый список приложений Как построить надёжный обмен сообщениями в микросервисах: лучшие практики для enterprise OpenAI строит MLM-пирамиду, а McKinsey и Accenture помогают ей в этом Дом, который не построил Фишер (Часть 2) «Сверхзвуковой математик» против «Вдумчивого логиста»: битва алгоритмов 3D-упаковки Мультимодальные модели – грубый и дорогой инструмент Разговоры ничего не стоят. Код тоже Проверки физических лиц: с кого начнет ФНС Топ-10 бесплатных нейросетей для создания видео в 2026 году Первые слои кода: как наши решения сегодня определяют архитектуру ИИ на десятилетия Разработка нового статического анализатора: PVS-Studio JavaScript Поиск уязвимостей ПО: базовый минимум или роскошный максимум Почему оценка персонала не работает как инструмент управления Как мы разработали ИИ-ассистента и сократили рутину продуктовой команды на 50% Как я ушел из найма, нажарил косточек и продал на маркетплейсах на 168 млн в год Когда 1С:ERP уже внедрена, а нормального производственного плана всё ещё нет Как я сделал Claude мультимодальным, подключив к нему Qwen Omni Как приглашение на вакансию мечты превращается в атаку Infrastructure as Code: философия и лучшие практики IaC Тестируем Yandex Code Assistant на задаче, в которой нужно хранить секреты nxs-universal-chart v3.0: новое поколение универсального Helm-чарта Callback Injection: Техника, которая отправила Microsoft Defender в глухой нокаут «Все идеи на стол»: митап как способ вывести проект из тупика Сегодня я узнал нечто новое о GPU благодаря багу в своей игре Как заставить LLM ̶ ̶г̶а̶л̶л̶ю̶ ̶ эволюционировать Карта событий как фундамент аналитики: практический кейс для E-commerce Что выбрать для AI: x86, ARM или RISC-V? Дайджест железа за март Роль соматических мутаций в развитии аутоиммунных заболеваний: путь к избирательной терапии Mythos от Anthropic — тревожный сигнал для всех, а не только для банков Guardrails для LLM на Java: как приручить промпт‑инъекции и токсичные ответы Green-VLA: как мы собрали VLA-модель для реального антропоморфного робота и не потеряли обобщение Финансовая гонка вооружений: почему умные люди добровольно в ней участвуют Эра ИИ-агентов наступила: выбираем лучшего цифрового сотрудника # Практический опыт внедрения WinCC Redundancy на производственном предприятии Сделал MVP за 3 дня, а потом неделю прикручивал оплату. Оно того стоило? Физика против Маска: почему Starship V3 может оказаться ещё одной катастрофой Нефть Венесуэлы: крупнейшие запасы в мире, но не крупнейшая нефтяная держава JPA 4. Переосмысление Hibernate Почему зеркальная фотокамера Nikon D5 десятилетней давности идеально подошла для миссии «Артемида-2» Проект «Уровень-Спутник» или как мы сделали платформу для гидрологов «Замедлиться, чтобы ускориться»: почему ИИ повышает цену ошибок в требованиях и архитектуре Как с нуля поднять трафик IT-компании на 1657% при бюджете 55 тыс. и выжить Pixel-perfect Downsampling — идеальная отрисовка 50 миллионов точек без потерь
Очередная латиница для русского языка
MainEditor0 · 2026-05-19 · via Все публикации подряд на Хабре

Очередная латиница для русского языка

Уровень сложностиПростой

Время на прочтение3 мин

Охват и читатели12

Аналитика

На Хабре уже были подобные игры с системами письма (например, вот и вот), поэтому не вижу проблемы, чтобы добавить очередной вариант, коих и так уже много.

Критерии

Мои хотелки для этой игры:

  • Максимум латинских букв

  • Минимум кириллических

  • Минимум диакритических знаков

  • Минимум диграфов и триграфов или ещё чего похуже

Соответствия - что получилось

Тут просто таблица с соответствиями кириллицы и моей поделки. Соответствие получилось один к одному, что должно упрощать использование. Часть букв заменить вообще не получилось без жертв, поэтому я их оставил как есть.

В группу "+" вошли те буквы, которые являются чисто латинскими, либо образованы путём добавления к латинской букве какого-либо диакритического знака. В группу "-" вошли те, которые заменить не получилось. Справа подсчитаны чисто латинские буквы из базового набора из 26 букв.

а = a   |   +1    1
б = b   |   +2    2
в = v   |   +3    3
г = g   |   +4    4
д = d   |   +5    5
е = e   |   +6    6
ё = ё   |   +7
ж = j   |   +8    7
з = z   |   +9    8
и = i   |   +10   9
й = ĭ   |   +11
к = k   |   +12   10
л = l   |   +13   11
м = m   |   +14   12
н = n   |   +15   13
о = o   |   +16   14
п = p   |   +17   15
р = r   |   +18   16
с = s   |   +19   17
т = t   |   +20   18
у = u   |   +21   19
ф = f   |   +22   20
х = h   |   +23   21
ц = c   |   +24   22
ч = ч   |   -1
ш = ш   |   -2
щ = x   |   +25   23
ъ = ъ   |   -3
ы = y   |   +26   24
ь = ь   |   -4
э = э   |   -5
ю = ю   |   -6
я = я   |   -7

Исключения:
1-q, 2-w

В итоге Q и W не вошли в состав вообще, так как Q по сути дублирует K, а звука для W в русском вообще нет.

Самыми странными заменами получились: ё = ё, й = ĭ, щ = x

Думаю, с диакритическими знаками всё должно быть понятно - они просто остались на своих же местах в той же форме, то есть это умлаут и кратка (бревис).

А вот щ = x надо дополнительно прояснить: оно получилось близким к некоторым китайским словам из английского (то есть "Xiaomi", "Xi Jinping" и прочие довольно редкие слова с иксом), а также (вот тут уже помогали LLM, поисковики и несколько видео с Ютуба по произношениям) к пиньиню и языкам Пиренейского полуострова, то есть это испанский, португальский и другие языки с меньшим числом носителей, к мальтийскому языку (географически - островная страна южнее Сицилии и Италии). Икс оказался очень многозначным.

В целом получилось примерно 80% латиницы (с учётом двух букв с диакритикой) и 20% кириллицы.

Примеры и сравнения

Для примера взял "Войну и мир" в формате .fb2 (текстовый XML-подобный формат для книг) с Флибусты и прогнал через скрипт для замены букв.

Python
mapping = {
    'а': 'a',
    'б': 'b',
    'в': 'v',
    'г': 'g',
    'д': 'd',
    'е': 'e',
    'ё': 'ё',
    'ж': 'j',
    'з': 'z',
    'и': 'i',
    'й': 'ĭ',
    'к': 'k',
    'л': 'l',
    'м': 'm',
    'н': 'n',
    'о': 'o',
    'п': 'p',
    'р': 'r',
    'с': 's',
    'т': 't',
    'у': 'u',
    'ф': 'f',
    'х': 'h',
    'ц': 'c',
    'ч': 'ч',
    'ш': 'ш',
    'щ': 'x',
    'ъ': 'ъ',
    'ы': 'y',
    'ь': 'ь',
    'э': 'э',
    'ю': 'ю',
    'я': 'я',
}

mapping.update({
    k.upper(): v.upper()
    for k, v in mapping.items()
})

def translit(text):
    return ''.join(mapping.get(ch, ch) for ch in text)

with open('input.txt', 'r', encoding='utf-8') as f:
    text = f.read()

result = translit(text)

with open('output.txt', 'w', encoding='utf-8') as f:
    f.write(result)

И вот начала одного из томов, которые плюс-минус одинаково расположены, так как вот эти заголовки постоянно едут и не начинаются с начала страниц (видимо, проблема самого файла книги) даже в оригинале.

Кириллица | "Химерица"-гибрид

Кириллица | "Химерица"-гибрид

Тихий ужас, но, возможно, специально разработанный шрифт с оптимизацией под такой гибрид мог бы чуть-чуть улучшить восприятие, особенно по части точек и диакритики над ĭ, i, j.

По занимаемому числу страниц вышло 1196 в оригинале и 1103 в изменённой версии. Процентное изменение, если честно, вообще не впечатляет.

\frac{1103}{1196}\cdot100\% \approx 92.22\%

Но разница в почти 100 страниц чисто на словах звучит не так уж и плохо. Правда, неоптимизированный шрифт немного портит картинку, всё же для чистоты правильнее было бы добавить кернинг, чтобы выборочно поправить межбуквенные расстояния, которые местами не самые естественные из-за смешивания двух принципиально разных алфавитов, и прочие типографские красивости вроде лигатур (мне тут видится убирание точки над i, чтобы выглядело попроще в немоноширинном шрифте), но это уже чересчур...

По занимаемому месту на диске вышло 13.8 MB и 11.8 MB ввиду кодировки UTF-8, в которой латиница кодируется одним байтом, а кириллица кодируется двумя.

И вот ещё примеры панграм со всеми буквами обоих алфавитов в разных шрифтах:

И для шрифта Хабра:

  • Съешь же ещё этих мягких французских булок, да выпей чаю.

  • Sъeшь je exё эtih mяgkih francuzskih bulok, da vypeĭ чaю.

На этом всё.

Вот кому-то делать не...