«Берегиня»

На сайте Студии Лебедева увидел шрифт «Берегиня». Это стилизация кириллического и латинского шрифтов под стиль белорусского орнамента (красная полоса над «приветом» — это он). Там есть даже цифры и знаки препинания!
В заметке про шрифт написано (на белорусском), что он может использоваться как декоративный для оформления заголовков, а по мне так лучше использовать его как субкультурный маркер для славянофилов. Сразу вспоминается
Многие начертания, как мне показалось, можно было сделать проще, но,
Чтение сильно затрудняет пробел — чтобы в этом месте не было провала, автор нарисовал очередную «загогулину», поэтому разрыва слов не видно. Но понимаю зачем это сделано — в традиционных орнаментах никаких разрывов и нет.
«Открылся у нас новый бааар»
С ДДТ меня познакомил Дима Мартынов, друг детства, с которым мы дружили всю школу, а потом, когда он уехал в Ульяновск, а позже и в Питер, мы остались приятелями. Я был типичным «ботаником», только очков не носил, заучкой тоже не был, у меня была «своя атмосфера» — школа мне была неинтересна, я постигал реальность самостоятельно. На моё отношение к жизни песни группы ДДТ ложились как нельзя лучше, так же как и «Агаты Кристи», «Нау», «Пикника», «Аквариума» и некоторых другие.
Ничего из этого списка, кроме ДДТ, кстати, я в настоящее время не слушаю. Ещё с детства помню выкрик фаната «открылся у нас новый бааар», который я уже более 20 лет слышу на записи песни «Я зажёг в церквах все свечи». Всё подряд я не слушаю даже у самых любимых групп, поэтому немудрено, что я не знал, что это то ли заказ песни из зала, то ли фанат спутал вступление.
Сегодня погуглил эту реплику (за 20 лет она обязана была обрести известность) и вот что нашёл:
Много лет перед «Я зажёг в церквях все свечи» я слышал хрип уфимского поклонника «открылся у нас новый бааанк». Причём здесь банк, думал я.
Какая-то странная, зрительская реклама. Когда, в конце90-х стали перевыпускать ранние альбомы, и я услышал песню 82 года «открылся у нас новый бар», всё стало предельно ясно. Но какие там бары, когда зажигаются свечи? Эти мелкие реплики не затёрли при последующем сведении концертного альбома. Не знаю, специально, или сложно было технически.
По мне такие огрехи добавляют живости, а по прошествии стольки лет чистить их просто нельзя — они уже стали частью той записи, при прослушивании губы сами шепчут в нужном месте «открылся у нас новый бааар».
ENUM
Не понимаю, почему в «Оракле» (это СУБД) нет такой полезной вещи как тип ENUM. Вещь совершенно необходимая, как по мне. Вот посмотрите, что понятнее:
CREATE TABLE event_queue (
…
status ENUM('done', 'new', 'failed', 'running'),
…
);или
CREATE TABLE event_queue (
…
status NUMBER(1), -- тут у нас 4 значения будет
…
);Я
Кроме удобства программиста, есть очевидная польза и для самой СУБД. Например, возьмём запрос к таблице выше, где мы определили поле status как число. Мы знаем, что статусов у нас всего четыре, это знаем мы, но это не знает «Оракл». Теперь взглянем на два совершенно эквивалентных с точки зрения программиста запроса (ведь он знает, что значений четыре) и посмотрим планы их выполнения:
SELECT *
FROM event_queue
WHERE status IN (1,2)
AND target='search' AND attempts < 3

SELECT *
FROM event_queue
WHERE status NOT IN (3,4)
AND target='search' AND attempts < 3

Как видите, разница в стоимости аж в три раза. Спрашивается, почему? Ответ очень простой, конечно: в первом случае если status оказался равен единице, вторая проверка уже не нужна, во втором случае, всегда нужны обе проверки. Почему цифры отличаются именно в два раза, а не в три, я не скажу, это, видимо, прикидка, основанная на статистике использования этой таблицы — одно из этих значений (статус «задание провалено») вообще ещё ни разу не записывалось.
Вообще, есть несколько способов имитировать тип ENUM: добавить ограничение (check), ввести новый тип. Но первое никак не сказывается на плане и требует перехода к строковому типу, а со вторым я ещё не эксперементировал.
Обладая Оракл информацией о том, что у нас в этом поле всего четыре возможных значения в этом поле, он мог бы запросто инвертировать значения и снизить стоимость.