Блог*
Відкрити в Telegram
Блог со звёздочкой. Много репостов, немножко программирования. Небольшое прикольное комьюнити: @decltype_chat_ptr_t Автор: @insert_reference_here
Показати більше1 928
Підписники
+324 години
+57 днів
-630 день
Архів дописів
1 926
#prog #sql #db
You Need More Constraints
Чеклист ограничений на таблицы в SQL, которые почти наверняка имеют смысл для ваших данных.
1 926
#prog #лингво
The Korean Writing System
Взгляд на хангыль — корейскую слоговую систему письменности — с сугубо технической точки зрения.
Система письма на удивление стройная и логичная. Каждый иероглиф обозначает отдельный слог, состоящий из начальной согласной (которая может отсутствовать), гласной и конечной согласной (которая также может отсутствовать). Для обозначения каждого из этих элементов есть набор элементов, называемых чамо. Иероглиф, обозначающий конкретный слог, составляется из трёх чамо, соответствующим составляющим слога. При этом способ сборки иероглифа зависит от того является ли чамо для гласной вытянутым по горизонтали или по вертикали.
Парочка примеров из статьи:
녹 (NOG) = ㄴ(N) + ㅗ(O) + ㄱ(G)
냇 (NAES) = ㄴ(N) +ㅐ(AE) + ㅅ(S)
(да, некоторые чамо являются диграфами/триграфами/дифтонгами, так что это не столь стройная система, какой она могла бы быть)
Какое это имеет отношение к Unicode? Не смотря на то, что технически тексты на хангыле можно записывать исключительно из комбинирующихся чамо, это расточительно по памяти + многие системы рендера текста это не осиливают (напоминаю, что статья в основном предназначена для веб-дизайнеров). Поэтому помимо чамо (коих, кстати, весьма немного) в Unicode есть code point-ы для уже составленных символов хангыля. Каждый из этих символов кодируется тремя байтами в UTF-8 (как и каждый чамо). Конкретные коды при этом выбраны не наобум: код для иероглифа хангыля можно вычислить через линейную комбинацию кодов составляющих его чамо.
В статье также представлена информация о романизация хангыля и интерактивный инструмент на локально исполняемом JavaScript, позволяющий переводить комбинации чамо в иероглифы хангыля и наоборот.
1 926
#prog
Bloaty — инструмент для оценки размеров различных составляющих исполняемого файла.
Показывает размеры на диске и после погрузки в память. Поддерживает разбиение по секциям, сегментам, единицам компиляции, с достаточным количеством отладочной информации — и по отдельным функциям. Позволяет сравнивать файлы по размерам частей.
Поддерживает ELF и Mach-O. Поддержка PE и Wasm заявлена как экспериментальная.
1 926
#music
А вообще почему это четвёртый трек? Потому что он, кхм, четвёртый из набора треков, каждый из которых сочетает стилистику Doom Eternal с другими темами.
Providence — Doom + киберпанк (не сразу, но зашло)
Maker's hand — Doom + постапокалиптичные пустоши в духе Mad Max
Livitica Void — Doom + sci-fi
Crown of Oris — Doom + симфонический орекстр
И, разумеется, есть видео о том, как эти треки создавались:
What if the Doom Eternal OST was made for fighting cyborgs instead of demons?
What if the Doom Eternal OST was made for fighting psychos and bandits?
What if Control had Doom Eternal style music instead?
I put a 56-piece orchestra into a Doom Eternal style song and it crashed my computer
А, и ещё есть ремикс Providence от Audiofre. Доля Doom в этом варианте сильно меньше и куда больше, прости г-споди, дабстепа, но звучит тоже хорошо.
1 926
#prog
TIL что в Github есть возможность склонировать отдельно вики репозитория.
https://docs.github.com/en/communities/documenting-your-project-with-wikis/adding-or-editing-wiki-pages#cloning-wikis-to-your-computer
1 926
Кстати, я в своё время на своей работе понял довольно простую вещь: если существующий код мешает решить задачу — его можно и поменять.
Принцип, конечно, не универсальный: я работаю над довольно небольшим и изолированным компонентом, который с остальными общается по gRPC. Для чего-то более крупного и более связного этот принцип наверняка применим хуже
1 926
#prog #article
Читатели моего блога, скорее всего, знакомы с понятием Boolean blindness. Если коротко: это обозначение ситуации, когда использование булевых значений приводит к проблемам из-за того, что семантика true и false в значительной степени зависит от контекста.
Несколько менее очевидно (по крайней мере, до ознакомления), что подобная проблема не специфична для булевских значений. Похожие неприятности могут возникнуть и с другими недостаточно доменно-специфичными сумм-типами. Подробнее об этом рассказывается в статье Algebraic blindness.
1 926
Парочка постов от команды crates.io.
A tale of broken badges and 23,000 features, или как отсутствие лимитов немного сломало сторонний сервис.
crates.io: Dropping support for non-canonical downloads — о планах отказаться от возможности скачивать одно и то же по разным именам вроде serde-derive, serde_derive и SerDE_DErive.
Вже доступно! Дослідження Telegram за 2025 — головні інсайти року 
