Уютная тумбочка
570 subscribers
838 photos
18 videos
3 files
237 links
garden.bouncepaw.com

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

Писать @bouncepaw

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

Часть @devs_group
Download Telegram
Live stream started
Live stream finished (50 minutes)
Помните мою старинную статью про то, как я отказался от второго монитора? Так вот, этот же монитор вернулся, но на кронштейн и в качестве второго к макбуку.

Первые наблюдения:

1. FullHD — очень мало для текста, особенно учитывая, что macOS как-то рассчитана для больших разрешений.

2. Кронштейн — круто.

3. Celeste на этом экране выглядит хорошо.

4. Кронштейн сильно освобождает место на столе.
Live stream started
Live stream finished (1 hour)
🌳 Бетула 0.5

Бетула — свободная селф-хостед программа для коллекционирования ссылок/закладок на одного пользователя. Вся информация хранится в одном файле. Бетула запускается на сервере или локально, заходить надо через браузер.

0.5.0 — первый выпуск. В этом выпуске реализованы основные функции: сохранение ссылок, редактирование описаний, удаление ссылок, категории. Программа достаточно стабильна, можно брать и пользоваться. Адаптировано под телефоны. Поддерживаются микроформаты IndieWeb.

betula.mycorrhiza.wiki/v0.5.0.html
Из общаги до вуза мне ехать довольно далеко: минут 40, если на автобусе. Сначала я просто скучал. Потом догадался слушать музыку, как делали все вокруг. А потом догадался слушать аудиокниги, когда увидел, что они есть на яндекс-музыке.

За несколько месяцев я послушал две книги: «Задачу трёх тел» и «Тёмный лес» Лю Цысиня. Обе книги — части трилогии, завершаемой «Вечной жизнью Смерти», которую я тоже начал недавно слушать. Этот цикл мне посоветовал @optozorax_dev давным-давно.

Если вкратце говорить про сам цикл, то могу сказать, что он интересный. Могу порекомендовать.

Сначала аудиокниги слушать было сложно. Ну как это?! Слушать текст?! Потом как-то освоился. Хотя частенько приходится отматывать чуток назад, чтобы переслушать фразу ещё раз, если не воспринял. Я и с людьми в реальности так делаю.

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

В общем, тем, кто много времени тратит непонятно на что, рекомендую попробовать слушать аудиокниги.
Уютная тумбочка
🌳 Бетула 0.5 Бетула — свободная селф-хостед программа для коллекционирования ссылок/закладок на одного пользователя. Вся информация хранится в одном файле. Бетула запускается на сервере или локально, заходить надо через браузер. 0.5.0 — первый выпуск. В…
🌳 Бетула 0.7

Новый выпуск Бетулы, свободной программы для организации закладок.

Среди изменений: добавлены настройки, автодополнение категорий, переименование категорий, можно задать описания сайта и категорий. Также исправлено много багов, включая связанные с безопасностью.

Большое спасибо контрибьюторам! С их помощью релиз был сделан гораздо быстрее.

https://betula.mycorrhiza.wiki/v0.7.0.html
Общественный транспорт должен быть в едином пространстве имён.

Вот, например, в Казани есть автобусы и троллейбусы. Они ездят по одним и тем же дорогам, у них общие остановки. Но у тех и у других свои нумерации.

То есть, существуют и восьмой автобус, и восьмой троллейбус. А так быть не должно. Пускай один будет восьмым, а другой восьмидесятым. Либо, если они оба восьмые, так пускай у них одинаковый маршрут будет! Так ведь он разный 😡 Я так новый торговый центр открыл однажды.

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

А троллейбусам и автобусам не так уж и хорошо. Рядом с остановками часто можно встретить табло с временем прибытия транспорта. N-ный автобус обозначают просто как N, а вот троллейбусы — тN! Почему не наоборот?: аN и N.

Что сделает комитет, если появятся электробусы? 😳
Live stream started
Стрим! Прямо сейчас! Буду что-то делать и что-то говорить. Всем входящим включаю микрофон.
Live stream finished (1 hour)
Мой домен lesarbr.es сгнил, прокис, растворился, лопнул.

Там длинная испанская история, рассказывать не буду. Memento mori, к такому я был готов и купил некоторое время назад новый домен. К сожалению, редиректы настроить не получится. Может, старый домен однажды воскреснет из пепла, но я такого не ожидаю.

Не покупайте испанские домены! Когда какие-то проблемы, испанский регулятор их решать не будет.

Мой новый домен: https://bouncepaw.com.

Я там даже страничку обновил! Теперь она белая и содержит больше ссылок.

Меланокарпа тоже переехала, теперь она на https://garden.bouncepaw.com.

Уведомление о новом адресе хостинг-сервиса RSS-читалки на моём Бусти. Другие секретные подвижки не скажу, но желающие всё равно узнают.

Свой инстанс Бетулы я сразу делал на новом домене: links.bouncepaw.com.

Для справки, .com значит computer, communication, compassion.
Помните Ярослава, с которым мы записывали подкасты в лихие годы? Он никуда не делся, он завёл новый блог. Он опубликовал статью, где он описывает свой редизайн Бетулы!

Любопытно почитать, посмотреть. Конечно, я далеко не со всем согласен. Если кто-то угадает всё, с чем я не согласен, я разрешу гифки и стикеры в комментариях на месяц.

У него получилось красиво, в любом случае. Почитайте:

https://t.me/NewTextNote/150
Уютная тумбочка
🍄 Микориза Вики 1.13 Нет новых фич. Как приятно сказать это во второй раз! Это опять неправда, конечно. Но в целом действительно небольшое обновление. Обновляйтесь, там только улучшения. mycorrhiza.wiki/hypha/release/1.13 Уже скоро в репозиториях вашей…
🍄 Микориза Вики 1.14

За пять месяцев набралось мало изменений. Но дальше тянуть с релизом тех, что накопились, особого смысла нету.

Среди нового: автодополнение категорий, улучшение страницы диффов, прямой переход к гифе из строки поиска, вставка трансклюзии при переименовывании на старом имени, исправления и улучшения.

Обновляться стоит всем.

https://mycorrhiza.wiki/hypha/release/1.14

Уже скоро в репозиториях вашей операционной системы!
Эту неделю я был в Москве. Мне очень понравилась. В этой заметке расскажу про две вещи, которые понравились особо.

1. Музей Яндекса на улице Тимура Фрунзе. Как же там круто! Там есть все легендарные настольные компьютеры, кроме Амиги. Есть Макинтош, есть Некст, есть Комодор, есть БК, есть ПК-98. Всем можно пользоваться! На многих компьютерах запущены игры — в них можно играть.

Проводят бесплатные экскурсии по записи. Будете в городе — обязательно сходите!

Сейчас ещё проводится выставка мышей. Мне как-то не особо интересно это, но в честь этой выставки также проводится турнир по Зуме! 🐸🔴. В течение недели набирают результаты, а в конце победителю дают футболку. Я набрал 140 тысяч очков. Надеюсь на футболку! Но мне не написали, а уже воскресенье...

2. Метро. Лучшее на свете метро. Сравниваю в первую очередь с казанским.

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

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

Жил у @optozorax_dev 🪼
Не всем очевидно, что духота и жара — разные вещи. Да, когда жарко, часто бывает душно, но вовсе необязательно. Бывает душно и в холоде. Бывает свежо в жару. Часто свежо в холоде.

Я знаю про существование машины для управления температурой воздуха — кондиционер. А есть такая для свежести воздуха? Это освежитель воздуха?

А увлажнитель это что? Влажность — третья характеристика воздуха, о которой я не знаю, по всей видимости.
Выделяют два основных вида федеративных сетей: pull-based и push-based. Для ясности повествования и элемента юмора буду первое называть всасывательным подходом, а второе — выплёвывательным.

Федеративные сети делят на эти две категории в зависимости от того, как в этих сетях узлы (сервера, ноды, инстансы, ...) узнают об изменениях в других узлах.

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

Всасывательные сети устроены по-другому. Здесь не сразу сообщают о каждом новом изменении. Когда мой инстанс хочет получить новые сообщения, он постучится к тем, кто эти сообщения выдаёт. В своём темпе. Задержки в распространении информации заметные. Примерно таким образом анонимный читатель подписывается на RSS-ленты любимых блогеров. Читалка анонимного читателя сама ходит на сайты и берёт новые версии ленты.

Можно сочетать элементы обоих подходов. Так и делают. Например, в ИндиВебе есть очевидно всасывательные элементы (вся вот эта микроформатная движуха) и очевидно выплёвывательные элементы (ВебМенции и подобное).

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

Подписывайтесь на мою Бетулу через RSS, кстати: https://links.bouncepaw.com. Ну, можно ещё вручную заходить.
Уютная тумбочка
🌳 Бетула 0.7 Новый выпуск Бетулы, свободной программы для организации закладок. Среди изменений: добавлены настройки, автодополнение категорий, переименование категорий, можно задать описания сайта и категорий. Также исправлено много багов, включая связанные…
🌳 Бетула 0.8

Новый выпуск приложения для организации закладок.

В этом релизе появились RSS-ленты, категории переименовались в теги, названия сохраняемых страниц достаются сами (вписывать их самому больше не обязательно).

Про остальные изменения читайте на сайте: https://betula.mycorrhiza.wiki/v0.8.0.html

Также ставьте звёздочки в мастодонте!

Мы приближаемся к 1.0. Кто-нибудь хочет помочь с опакечиванием Бетулы? Это программа на Go без рантайм-зависимостей, опакетить должно быть легко.
Тестировать софт важно! В Бетуле у меня две системы тестирования. Одна дурацкая и скучная: она написана с нативными гошными средствами тестирования. У меня их CI бегает на каждый пуш и патч.

Другая — весёлая и интересная. Она написана на POSIX Shell. Как известно¹, никакие другие шеллы использовать не стоит, поэтому я использую именно POSIX вариант. Этим скриптом я тестирую веб-морду. Такое тестирование вроде бы называется поведенческим тестированием.

Кто сразу хочет посмотреть этот волшебный скрипт, заходите на сурсхат.

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

Test 'First screen'
ExpectStatus 200
Get '/'
Check

Test 'Register on first screen'
ExpectStatus 303
Post '/register' -F name=bo -F pass=un
Check

Test 'Access non-existent post'
ExpectStatus 404
Get '/1'
Check

Test 'Create a post'
ExpectStatus 303
Post '/save-link' -F url=
https://bouncepaw.com -F title=Bouncepaw
Check

Test 'Save link: non-URL text to URL'
ExpectStatus 400
ExpectContent 'Invalid link'
Post '/save-link' -F url=Bouncepaw -F title=
Check


И ещё десяток таких. Получился красивый DSL для тестирования! Хорошо подходит для проверки status quo и огранки новых фичей. Сегодня наверное вот так ограню фичу, которую вчера написал (поиск). Правда мне придётся опять расширить число вспомогательных процедур. Как будто уже пора переписать на Рубине весь этот скрипт. Наверное, так и будет когда-нибудь.

1: https://j3s.sh/thought/write-posix-shell.html