Уютная тумбочка
580 subscribers
835 photos
18 videos
3 files
235 links
garden.bouncepaw.com

Пишу долго и много о том, что прёт.

Писать @bouncepaw

Донатить boosty.to/bouncepaw

Часть @devs_group
Download Telegram
Live stream finished (2 hours)
Вчера в секретном+приватном канале для лучших подписчиков выразил свою фрустрацию по поводу оплаты проезда в автобусах. Половина подписчиков немедленно дополнила мои переживания.

Я знаком с автобусами в Казани и в Уфе. Знаете, чем Казань лучше? Там кондукторы!

В Уфе вот так:. Зашёл в автобус, а когда надо выйти, стоишь в дурацкой очереди на выход [1], где водитель (sic!) принимает оплату. В половине случаев они не принимают карты и желают перевода через банк по номеру телефона! Ну вот мне делать больше нечего, кроме как номер твой дурацкий переписывать. Мне выйти надо! Ещё и Эзбэпэ не всегда подключен. #бесит

Ещё бывает, что оплата картой, когда она есть, не проходит. Неприятно! В Уфе я редко больше одной карты ношу. И приходится доставать телефон и оплачивать по номеру. Кто пользуется телефоном, знает, что сделать что угодно на телефоне не моментальная задача. А за тобой очередь! Вот так стресс и накапливается.

Вообще-то в Башкортостане есть проездные карты Алға. У меня в школе что-то такое было, но сейчас нету. Я так понимаю, не все перевозчики принимают Алғи.

А в Казани как с оплатой? Зашёл в автобус. Едешь. Выходишь когда надо через любой выход [2]. А решение об оплате полностью делегировано. К тебе подойдёт специально обученный кондуктор, примет оплату и всё [3].

Иной возразит, что в час пик кондуктор к тебе не успеет подойти, да и вообще он ходит и тесно. На это я скажу, что в часы пик на популярных маршрутах надо пустить больше автобусов! Тогда и кондукторы не будут на кроссовки наступать, и сесть будет легче. Невыгодно экономически?! А транспорт не про выгоду, а про транспортировку. Пускай каждый едет куда нужно, выгодность — приятный бонус для перевозчика.

Ещё кондукторы являются справочниками по маршруту.

Анонимные читатели подсказали, что есть система с оплатой на входе. В автобусе турникет, где прикладываешь штучку и проходишь, а потом выходишь красиво. Звучит удобно! Когда я был в Москве, я прошляпил возможность заценить местные автобусы и электробусы. Там вроде бы так! Ладно, в другой раз.

Ещё бывает оплата по терминалу на поручнях с проверкой оплаты контроллёром раз в иногда. Возможно, самое удобное решение! Но мало где на такое решатся, потому что транспортники не любят верить в честность людей [citation needed]. Хотя я пару лет назад такое видел в Уфе. Но больше не видел. Может, всё ещё есть?

Также я слышал что-то про оплату билетиками, которые покупаются заранее. Я про это мало знаю. Наверное, такое уже везде заменили на транспортные карты [4].

В общем, резюмирую. Кондукторы, когда автобусов достаточно. Терминалы, когда верим в честность людей. Турникет на входе надо посмотреть. Про билетики надо узнать. Оплата водителю на выходе — ерунда.

1: Я как-то наблюдал ситуацию в Уфе, когда парень встал в очередь для остановки, а автобус на ней не остановился. Я наблюдал ситуацию, когда не вся очередь успевала пройти. Надеюсь, это редкие события!

2: Однажды в Казани мне не открыли выход в час пик. Быстро нажал на кнопку экстренной остановки. Знаете, что произошло? Ничего. Автобус поехал дальше.

3: В Казани маршруты без кондукторов (то ли 47, то ли 74, я уточню). Терпеть их не могу.

4: Казанская транспортная карта — смешное явление. Цена проезда такая же, как по банковской карте! Ну и с чего мне напрягаться с её сложным пополнением? Из преимуществ только мгновенная оплата. Алға вроде покруче даже.
Я часто слышу мнение, что сейчас везде у всех есть быстрый круглосуточный интернет, а если у кого-то и нету, то и ладно, таких немного. Может, их действительно немного, но вот что-то я в это «немного» вхожу!

Вот, например, последние пару дней я был под Казанью. Не в самой Казани, а где-то под ней. Медленный интернет!

Часто посещаю вуз. Что там? Плохой интернет. Вайфай работает унизительно нестабильно. Четыре-чжи ловит лишь в избранных местах, иногда. Центр мегаполиса!

В вуз я еду обычно на троллейбусе, но вот обратно предпочитаю метро. А что в этом метро? А не ловит там! Разве что на самих станциях, да и то не на всех. На Аметьево вот не ловит вроде. Хотя казалось бы: единственная наземная станция. Посмотрим, что на новой ветке будет.

Да даже дома в другом регионе у меня в комнате плохо ловит вайфай, потому что роутер в другом конце квартиры.

Вот так потихоньку везде и набирается, что плохая связь — что-то частое и обычное, чем нельзя пренебрегать. А мы берём и пренебрегаем! Пишем сайтики свои, которые не грузятся толком. Вот сайт моего вуза с большим трудом загружается с вайфая моего вуза! Ну сделайте стопроцентное покрытие в здании, в чём проблема?

Над современным вебом много шутят, я ничего более смешного уже не придумаю. Надо только думать, как учитывать тот факт, что интернет не всегда интернет, при разработке ПО.

1. Страницы должны быть лёгкими.

2. Страница должна быть полностью загруженной после загрузки. Звучит очевидно, но много сайтов дозагружаются яваскриптами и ещё не пойми как.

3. Сеть должна использоваться как можно меньше вплоть до полного её неиспользования.

В Микоризе и Бетуле с 1 и 2 я неплохо справляюсь. Можете поизмерять и порадоваться за меня. А вот с 3 не справляюсь. Почему Микориза не приложение на устройстве, а сервер какой-то где-то? Конечно, можно много причин придумать, и они все будут разумны, но вот без интернета в дневник я записать ничего не могу. А в приложение заметок могу. Поэтому у Обсидиана сотни тысяч установок, а у Микоризы просто сотни. Конечно, не только поэтому, но всё равно!

Хочу похвалить Телеграм за хорошую работу без интернета! Всё смотрится и пишется, хотя ничего нового и не приходит и сообщения не уходят.

В общем, в своём следующем опен-сорс-проекте, который я ещё не придумал и не планирую делать, точно будет offline-first mindset. Интернализированную коннективность надо искоренять.
Электрическая почта! Люди используют её для накопления чеков и рекламы с тысячами непрочитанных сообщений. А я иногда через неё общаюсь 😳

Напомню этикет общения: plain text, soft wrap, bottom posting. Напомню правила: отписываться от ненужных рассылок, иметь 0 непрочитанных.

0 непрочитанных это просто. Удалять письма просто. Но вот что делать, когда переписка нравится? Оставить в ящике? Ещё чего!

У меня вообще-то есть многолетняя многотысячегифная вики, куда я складываю что попало, включая достойные переписки. Раньше я делал это вручную, но во время недавней хорошей переписки понял, что это никуда не годится!

Оказывается, из маковского приложения для почты письма прекрасно экспортируются драг-н-дропом в формате .eml, который почему-то из коробки прекрасно понимается Питоном. Написал скрипт, который превращает .eml файлы в документ в Микоразметке. Можно почитать парный пост на английском, там скрипт в конце приведён:

https://garden.bouncepaw.com/hypha/email_archiving

Скрипт пока такой, простенький, на каких-нибудь письмах он сломается с грохотом. Ну и ладно, там ручками скопирую. Аллаберса однажды у меня будет 0 писем на почте. Вообще пустые ящики. Мечта!

У меня ещё есть несколько ссылок про электрическую почту, если хочется ещё почитать:

https://links.bouncepaw.com/tag/email

Пишите письма!
Уютная тумбочка
🌳 Бетула 1.0 Этот день настал. Стабильный релиз! Можно поставить и больше никогда не обновляться. В этом релизе появился букмарклет для добавления закладок в Бетулу без перехода в собственно Бетулу. Очень удобно. Был реализован поиск. Можно искать по тегам.…
🌳 Бетула 1.1

В этом релизе появились репосты! Если понравилась закладка в Бетуле друга, то её можно взять и репостнуть. На оригинальном посте все репосты также будут перечислены. Реализовано через, внезапно, ActivityPub. Я, конечно, говорил, что буду на чём-то другом делать федерацию, но очень хорошо подумав, выбрал всё-таки этот протокол. С остальным федиверсом пока не работает, но будет.

См. страницу релиза и ставьте звёзды в мастодонте.
Я же люблю челленджи всякие. Четвёртый год участвую в Инктябре, второй год пытаюсь не участвовать в Нанораймо. В этом году всё же решил принять участие в Декабрьском приключении, потому что не участвовать оказалось сложно. Что это? Об этом ниже.

Многие программисты почему-то любят Адвент кода. Это когда на сайтике выкладывают какие-то заковыристые задачи на алкгоритмику, а участники пишут код для решения, и чем необычнее получилось, тем круче. Многие считают этот челлендж отличным поводом изучить новую технологию! Но мне вот Адвент никогда не нравился. Во-первых, слишком уж он high-effort для декабря, когда всё горит, да и там алгоритмика, и вообще там авторизация только через проприетарные сервисы (Микрософт Гитхаб, Гугл, Реддит и один буквенно-птичий сайт). Ещё чего!

В прошлом году товарищу Эли этот Адвент надоел, и он придумал свой челлендж: Декабрьское приключение. Суть проста: надо что-то программировать каждый день декабря. И это сразу гораздо лучше! Правила простые и свободные, челлендж длится весь месяц, а не один Адвент. Никакого давления от конкурса нету!

Что самое приятное: поскольку в вузе у меня специальность программистская, что-то кодить каждый день мне так или иначе всё равно приходится. То есть челлендж выполняется сам собой!

Во время челленджа предполагается вести свой журнал приключений, ссылки на которые Эли приводит на странице челленджа. Я там восьмой. Новые журналы всё добавляются и добавляются. Как это водится, все эти журналы на личных сайтах приключенцев.

Мой журнал описывает, как я пишу задания по Яве. Мои любимые подробные отчёты Крысиного фактора приятно читать. Как всегда, интересно у Девина лу Линвеги: Девин описывает создание многооконной графической среды для своего свекольного компьютера. Каффеин что-то музыкальное пишет. Анонимный читатель наверняка что-то для себя найдёт в списке журналов.

Многие пишут на ассемблере Uxn или на Hare. Я со своей Явой наверное как-то даже выбиваюсь. Ладно! Мне потом ещё и на Питоне делать задания.

Приглашаю подписчиков-программистов принять участие. Я вот буду просто задания делать: зачётная сессия скоро. Своими приключениями можно делиться в комментариях или где угодно.
И вот на канале 512 подписчиков. Олды помнят, что на каждое круглое число подписчиков я пишу какой-нибудь пост, который это освещает. В прошлый раз, на 256 подписчиков, я, к сожалению, пропустил пост. А ещё я очень долго шёл от 256 до 512, так что уже разучился такие посты писать!

«Уютная тумбочка» была создана 7 лет назад. Контент и стиль канала много раз менялись, но последние три года это по большей части анонсы новых версий моих программ, какие-то размышления на технические темы и общечеловеческие темы.

Этот канал далеко не единственное место, где я пишу. Вообще-то у меня есть куча других каналов поменьше! Ссылки на них я здесь не привожу, но, возможно, я их приведу в комментариях к этому посту. Если их там нету, значит они есть в другом месте. Или я эти ссылки удалил уже. В общем, попасть в них не так просто.

Ещё у меня есть сайты. Обычно я там пишу по-английски. Вот сайт-визитка: bouncepaw.com. Ну это не очень интересно. Там ссылки на другие сайты и гитхабы всякие. Весь сок в моём цифровом саду: garden.bouncepaw.com. Там есть статьи, рисунки, описания всякие. Есть, что почитать. Работает на Микоризе! А Микориза это мой вики-движок, наверное, самый популярный мой проект: mycorrhiza.wiki. Другой мой проект — менеджер закладок Бетула. Вот сайт проекта: betula.mycorrhiza.wiki. А моя Бетула с сотнями закладок на links.bouncepaw.com. А ещё можно репостить с Бетулы на Бетулу, так что ставьте все по Бетуле поскорее, будем дружить там.

Вообще-то ещё я есть в Федиверсе. Столкнулся с тем, что не все знают, что это такое. Это распределённая социальная сеть. С одной стороны это микроблоги, с другой макроблоги, с третьей вообще видеохостинг, с четвёртой всё сразу. Ещё Бетула там каким-то боком притянута? Ну ладно. Мой микроблог на merveilles.town/@bouncepaw. Я там тоже в основном по-английски пишу. У меня ещё пара аккаунтов есть. Анонимный читатель их найдёт при желании.

Многие меня ещё помнят по клавиатурам, которые я раньше делал из пенокартона и дешёвых свичей. К сожалению, из-за более мобильного образа жизни от хрупких самодельных клавиатур пришлось отказаться, у меня сейчас вообще ноутбук. Однажды вернусь в клавиатурное дело, вы только дождитесь.

Совсем уж редкие люди помнят меня по всяким лингвистическим штукам. Ещё кто-то может помнить тревелблогинг мой. Немножко будет всего.

А что дальше? Я нередко предрекаю конец Телеграма. Этот конец действительно настанет, я не сомневаюсь. Но писать сюда прекращать не планирую. Я продолжу писать так же редко, как и в последнее время. ~Раз в месяц нормально в принципе? Если хочется больше моего контента, то его надо искать в других местах, ссылки приведены.

А, точно, я же донаты ещё принимаю: boosty.to/bouncepaw.

Я сказал, что каналу 7 лет. Именно сегодня день рождения у канала. В честь этого долгожданный подарок: я включу реакции в канале! Но только три. К сожалению, не смог выбрать, какие, поэтому предлагаю написать варианты в комментарии. Выберу самые смешные.
Уютная тумбочка
🌳 Бетула 1.1 В этом релизе появились репосты! Если понравилась закладка в Бетуле друга, то её можно взять и репостнуть. На оригинальном посте все репосты также будут перечислены. Реализовано через, внезапно, ActivityPub. Я, конечно, говорил, что буду на чём…
🌳 Бетула 1.2

Теперь на Бетулу можно подписываться с других Федиверсовых серверов, например с Мастодонтов и магически выразительных Акком. Мне пришлось узнать многое об ActivityPub и сопутствующих стандартах, чтобы это заработало.

Ещё поменял дизайн самих закладок. Теперь туда больше всякого влезает.

См. страницу релиза и ставьте звёзды в Мастодонте. Ну и подписывайтесь на @bouncepaw@links.bouncepaw.com, конечно.
Когда возникает вопрос, какого вида софт я разрабатываю, я отвечаю «нишевый и скучный». Вообще, для многих людей оба слова имеют негативные коннотации, но я их не вкладываю.

Слово нишевый. Понятно, что у всего есть своя ниша. Имеется в виду, что у Микоризы с Бетулой ниша специфичная. Self-hosted уже маргинальщина в нашем мире SaaS. Ещё и не WYSIWYG-редактор. Ладно бы разметка, так ведь не Маркдаун! Да кому вообще надо столько закладок хранить? Чем Обсидиан не угодил? А федерация закладкам зачем?! Такие вопросы задают или хотят задать многие, что показывает нишевость этих программ. Но эта ниша действительно есть, что подтверждается тем, что раз в иногда нахожу восхищённые отзывы о Микоризе или репощу кое-кого в Бетуле.

Но что за скучность? Я вот никакой скуки не испытываю, когда пишу чего-то. Мне почти всегда интересно. У кого-то нестандартные решения наверняка вызывают агрессию или истерику, какая же тут скука? А я про разработческую скучность. И то, и то написано на Го, есть ли язык программирования скучнее? Там вроде до сих пор нету функции Мап, которая уже есть примерно везде. Ещё и Сиквелайт этот. И Доккер не использую. Ну, кто-то поверх контейнеры разворачивает, конечно, но это всё неофициально. Ещё и этот безнадёжно серый дизайн. Ладно хоть скругления есть, немножко игривости дал.

Но наибольшую скуку я ощутил совсем недавно, когда понял, что последний релиз Микоризы на данный момент (1.14) был почти год назад. Обалдеть! Вот в честь этого пост и пишу.

За всё это время накопилось пару десятков коммитов. Я в марте планирую выпустить новый релиз с этими улучшениями, и ещё раз на долгий срок остаться без новых версий. Ежегодные релизы!

Вот помню, как четыре года назад, когда только начинал Микоризу, посмотрел на частоту релизов ДокуВики. Там вот ежегодные релизы были. Тогда не понимал, как так может быть. Сейчас понимаю. Познал скуку.

Хочется переписать там всё вообще, перелопатить. Но уж нет. Держим режим скуки.

В интернете помню были статьи про boring tech. Хорошая штука.
Кто-то знает, кто-то нет, но я заканчиваю стажировку в некой компании. Вот уже третий месяц работаю, получается. Параллельно ещё в вузе учусь на программиста. А ещё я известный в подозрительно узких кругах free and open-source software maintainer. Вот три моих вида деятельности, все прямо связаны с программированием.

Надо их сравнить.

Самое яркое отличие работы от неработы в том, что она ограничена в месте и времени. На работу пришёл, на обед сходил, потом ушёл. Всё, рахат, поработали, ждём вас завтра снова. Работа во внеурочные часы — это что-то странное и необычное.

🥸 Конечно, есть некая «удалённая «работа»», но я с ней опыта не имел, говорю о работе офисной.

А вот учёба — это образ жизни, то есть она происходит вообще всегда. Сходил на пары, вернулся, ладно. А может и не сходил, но они от этого не пропадают. Какие-то задания на дом дали зачем-то. Ты их отчаянно делаешь, а может и не делаешь. Тянешь чё-то. В общем, университет всегда в контексте. Ещё бывает, что ты делаешь что-нибудь интересное для себя, но не делаешь задание важное; тогда гложат некоторые сомнения, что вообще это делать сейчас не надо — отчасти поэтому я в прошлом месяце не постил ничего.

В вопенсорсе заметна неспешность всего. Конечно, счастливые пользователи Микоризы, открывающие очередной ишуй на гитхубе, надеются на скорейшее разрешение проблемы, но им, увы, придётся подождать где-то до июня. Как таковых обязательств по выполнении деятельности нету! Очень удобно.

А что по полезности? Все три вида деятельности полезны. Конечно, среди анонимных подписчиков найдётся много ненавистников академической деятельности, но я за свои несколько курсов узнал много полезного и тем доволен. Кто-то считает, что работа и труд нафиг идут. Иной скажет, что контрибутить в опенсорс — глупость и трата времени. Неправы заблудшие, но разубеждать я буду в другом посту.

Наверное, идеальная деятельность находится где-то на пересечении всех трёх: писать научные работы (в формате LaTeX конечно) о свободных проектах и получать за это достойные деньги. Но так не бывает.
🌳 Бетула 1.3

Я удивился, когда понял, что этот релиз ещё не выпущен! Пора.

Самое крутое: теперь можно читать другие Бетулы из своей Бетулы. Вставляйте @вот@такой.ник в строку поиска, жмите Follow и получайте все новые закладки прямо в Timeline. И прям оттуда репостить! Социальная сеть, получается. С ребятами, которые пользуются нестабильными версиями, давно друг на друг подписаны, это прикольно.

Появилась тёмная тема, выполненная в тёплых тонах; чтобы её включить, включите тёмную тему на своей ЭВМ. Знаю, не все любят позитив, видел сервера Бетулы с самодельными холодными темами. Ничего страшного, так тоже можно.

В меню появилась ссылка Random, ведущая на страницу с 20 случайными закладками. Когда у тебя тысяча закладок, так иногда можно найти что-нибудь забытое.

Есть менеджер сессий. Теперь можно взять и разлогинить все устройства!

Читайте подробнее анонс. Жду ваших звёзд в мастодонтах. Приятного накопления закладок!
Существует смешная проблема при длительных автобусных и, наверное, железнодорожных поездках, покрывающих несколько часовых поясов. Поскольку хочется, чтобы на телефоне или иной ЭВМ при посадке и при высадке стоял правильный часовой пояс, встаёт вопрос: а как менять-то?

Современные устройства предоставляют два варианта.

1. Устройство само из эфира извлекает часовой пояс вокруг.

2. Пользователь сам выставляет часовой пояс в настройках.

Я твёрдо уверен, что первый вариант в текущем исполнении никуда не годится и даже вредит. Всё дело в обратной связи. Когда телефон сам меняет время, он об этом не говорит. Никаких уведомлений не приходит, ничего такого. Если у анонимного читателя приходит, то я за него только порадоваться могу; у меня такого не было никогда.

То есть, в какой-то момент телефон меняет часовой пояс и не говорит об этом. Что это значит? Это значит, что пользователь не знает, какой сейчас часовой пояс у него, он разве что верит, что пояс стоит правильный.

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

Зато я наблюдал другую, глупенькую ситуацию с собой вот несколькими минутами ранее. Я был твёрдо уверен, что на ноутбуке у меня автоматическая настройка времени. Поскольку никаких уведомлений на эту тему не бывает, я поверил в это и спокойно думал, что сейчас вот столько-то часов.

А потом взял телефон и заметил, что там время другое: я его настраивал вручную несколькими часами ранее. Как же так? Почему автоматически настраиваемое время не настроилось автоматически? Полез в настройки и узнал, что на самом деле автоматическая настройка выключена. Вот так сюрприз!

В общем, мой тезис таков: при фоновой смене часового пояса устройство должно высылать уведомление. Кто-то посмеётся: Баунс забыл, как настроил свой компьютер и сейчас строчит стену текста в свой канал, вот умора! А я читал Дональда Нормана и Джефа Раскина и во всех проблемах в использовании чего-либо научен винить интерфейс, а не себя.

Ну и заодно скажу, что будильники на каждый день я выставляю вручную каждый вечер. Насколько я помню, за много лет не забыл сделать этого ни разу. Проблемы, приведшие к таким действиям, схожие. Люди, у которых будильники звенят в неправильное время, только убеждают меня в том, что я делаю правильно. Правда, я так говорю только пока у меня каждый день начинается в разное время. Когда я буду вставать в одно и то же время каждый день, а это будет довольно скоро, я переобуюсь.
Уютная тумбочка
🍄 Микориза Вики 1.14 За пять месяцев набралось мало изменений. Но дальше тянуть с релизом тех, что накопились, особого смысла нету. Среди нового: автодополнение категорий, улучшение страницы диффов, прямой переход к гифе из строки поиска, вставка трансклюзии…
🍄 Микориза Вики 1.15

Вы прикиньте? Релиз спустя 15 месяцев!

Вкратце, что накопилось. На Недавних изменениях теперь есть ссылки на сводки правок. Появились крутые специальные ссылки: [[/today]] и [[/edit-today]]; для серьёзных писателей в дневник очень удобно. Можно менять пароли. Специальный CSS для принтеров и PDF симпатичный. Ну и там баги всякие. И Go поднят до 1.22.

В разработке приняло участие 6 человек. Всем спасибо!

Подробнее про релиз

Ставьте звёзды в федиверсе

И на гитхабе тоже!

Уже скоро в ваших репозиториях
Одна из вещей, которые я не понимаю, это гель для душа. Я бы даже сказал, что меня #бесит гель для душа.

Ну серьёзно. Вот бывает приеду к другу в другой город, а у него вместо мыла в ванной гель для душа. Я на тебя смотрю! И мочалки никакой не полагается. Типа брать вот эту шампунеобразную жижу и размазывать, надеясь, что она начнёт мылиться? Ну и глупость, честно говоря.

Вот как правильно: взял мыло, взял мочалку, второе об первое запенил, и мочалкой себя раз-раз-раз. Только таким образом я могу себя ощутить искренне чистым.

Вот сейчас я в отеле в командировке, и тут в стену вкручена смешная бутылка с гелем для душа. Там дозатор ещё, надо жмяк-жмяк делать. Пока до тела донесёшь, там уже всё душ смоет.

Я не исключаю, что гель для душа столь же очистителен. Но оно так не ощущается.

Ну и не забываем про экологию! Бутылка геля для душа гораздо больше упаковки мыла.

Ещё есть какая-то родственная связь между шампунем и гелем для душа, но она мне неизвестна.
Я вроде бы не писал ещё ни разу про реляционные базы данных. Для новых читателей напомню, что в моём более старом проекте, Микоризе, никакая база данных не используется, вместо этого там набор дурных JSON- и INI-документов и нелепый автоматически манипулируемый Git-репозиторий; об этом технологическом решении я глубоко сожалею, но от гита уже нельзя уйти: у Микоризы достаточно много пользователей, чтобы не менять такую фундаментальную вещь. В более новом проекте, Бетуле, база данных у меня уже есть. Также с базами данных сталкиваюсь на работе, правда, там мне не приходится их дизайнить, этим занимаются аналитики (привет, коллеги!).

Ещё я слышал про некий RDF. Модель представления данных о чём-нибудь в виде триплетов субъект + предикат + объект. Для жертв российской лингвистической терминологии могут быть более знакомыми слова подлежащее + сказуемое + дополнение.

А что, если игнорировать все эти реляционные модели, и всё хранить в RDF-модели? Вот, смотрите, пусть будет вот такая таблица:

create table Facts (Subject not null, Predicate text not null, Object);

NB. В SQLite у столбиков может быть динамическая типизация, в данном случае она у первого и третьего столбиков. В других диалектах SQL это вроде бы невозможно. Да и в целом так делать не любят. А я сделаю.

Вообще почти что угодно можно запихнуть в такую таблицу. Допустим, у нас есть система каких-нибудь документов. Ортодоксальный дизайнер баз данных сделал бы вот такие таблицы:

create table Tags (ID integer primary key, Name text not null);

create table Documents (
ID integer primary key,
Title text not null,
Contents text not null
);

create table Documents_to_Tags (
DocumentID integer references Documents,
TagID integer references Tags
);


Возможное содержимое анонимный читатель представит самостоятельно.

Смелый дизайнер баз данных на такие таблицы и не смотрит. Он всё запихнёт в RDF-таблицу. Там могут лежать, например, вот такие триплеты:

1, DOC HAS NAME, Narcissus and Goldmund
1, DOC HAS CONTENTS, Outside the entrance...
1, TAG HAS NAME, Book
1, DOC HAS TAG, 1


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

Ещё можно добавить столбик Attribute, а если совсем скучно, то и Adverbial. Для простоты модели пока не будем.

Возможно, когда-нибудь для не особо значимых метаданных попробую такую модель. Для больших важных таблиц такая ненормальная форма (ННФ) точно вредительна, понятно, почему.
Есть ли здесь эксперты книгопечатанья? Ну вот, допустим, у меня будет PDF-документ на 25—30 страниц. Хочу, чтобы распечатали на бумаге А5, и переплели всё. Может даже ISBN шлёпнули бы заодно. Малотиражно такое делают? Сколько это стоит?

Это я вспомнил, что делаю зин. Страниц 17 уже есть! Может и не летом, но так осенью закончу. Среди подписчиков даже есть участники проекта (но карты свои раскрывать не надо ☝️)! Получается такая антология.

Верстаю, само собой, в LaTeX. Думал попробовать что-нибудь посмешнее, но как-нибудь в другой раз, зачем фрикцию повышать?

Кстати, цифровой версии не будет. И получить физическую будет очень сложно. Пробуем новые форматы! Интернет — слишком банально.
Уже который год веду дневник. Это, в общем-то один из главных катализаторов разработки своего вики-движка. Сначала я писал раз в неделю пару слов, потому несколько раз в неделю несколько предложений, потом перешёл к ежедневным абзацам. Потом пришёл к формату, когда я каждый день что-нибудь пишу. То есть каждой дате соответствует какой-то документ, и там что-нибудь написано. Поскольку такой документ есть, на него можно удобно сослаться, у меня для этого даже хоткеи специальные есть.

Что я писал в эти записи? Все события. Запись закончена, если я всё описал. Мне нравится, что у меня есть достаточно подробные описания нескольких лет. Конечно, всё не укажешь, ведь далеко не всё достойно упоминания, но того, что достойно, довольно много.

И из-за этого была проблема. Нельзя ложиться спать, пока я не написал всё, что надо, в дневник! В комбинации с тем, что перед сном ещё надо чистить зубы (а я это не пропускаю никогда), постель готовить и гасить кампутер, получается, что лечь спать довольно сложно!

Нарушать режим сна из-за того, что лень писать стены текста в дневник, довольно глупо, поэтому постепенно пришёл к новой более гибкой системе. Если не успевается написать нормально, пишу ключевые слова вместо полных предложений и ставлю запись в категорию Набросок. Каждый раз честно обещаю, что допишу завтра или, в крайнем случае, послезавтра днём. На данный момент с декабря 2021 набралось 112 таких вот набросков. Честно, половину дней уже не помню и никогда не допишу. Да и времени на это не выделяю.

В общем, система с описаниями дней и набросками себя изжила. Так дневник не будет работать. Вспоминая уроки г-на Парето, решился кардинально поменять систему. Начиная с первого сентября 2024, я не описываю события дня как таковые вообще. Если что-то впечатлило или заставило подумать, то вот это могу написать, но по умолчанию не пишу ничео. Разделение на отдельные документы оставляю.

И так легко стало. Я даже не знаю, писал я вчера что-нибудь или нет. Напишу ли сегодня? Кто знает. А когда всё-таки пишу, всё равно интересно получается.
Внимание! Через несколько минут начну внезапный стрим. Будем изучать исходный код библиотеки Obelisk и менять его по моему разумению в рамках форка Obelisk NG. Обелиск сохраняет веб-страницы, включая картинки, таблицы стилей и яваскрипты, в один большой HTML-файл. Внешние ресурсы встраиваются разными способами.

Комменты под этим постом = комменты к стриму.

🎧
Live stream started
Live stream finished (1 hour)