Recent notes

This feed is also available as JSONFeed and Atom.

Nephew of all demos

Если Энгельбарт провел mother of all demos, то DHH-ное демо «блог за 15 минут» это nephew of all demos — оно и значимая веха в истории веб-программирования, и повлияло на многих.

Это я смотрю сейчас интервью с Nathan Sobo (Zed editor), говорит, что узнал о TextMate через этот скринкаст, и заверте…

Наверно сейчас это демо смотрится как «и чо такова», но когда смотрел кучу лет назад — ух, очень круто (на руби и рельсах я в итоге писать не стал, конечно).

Нынче и DHH какой-то не тот, и рельсы заменились условными next.js/vercel примерно с тем же уровнем хайпа; но воспоминания как я испытывал wonder от программирования тёплые.

What Does a Great Cup of Coffee Taste Like?

У Хоффмана вышло отличное видео про кофе (7 минут):

https://youtu.be/IkssYHTSpH4

Продакшен восхитительный, жутковато даже.

Faster and worse: рекомендую

Прочитал запоем 7 коротких эссе про технологии/дизайн на Faster and Worse, рекомендую, есть над чем подумать; прям хороших решений автор не предлагает, но вполне возможно, что общих решений и нет.

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

Я вот недавно узнал про named data networking. Пока не до конца сложилась картинка в голове, как это должно работать в реальности, но задумка интересная: вместо условного http-запроса (и tcp-) к конкретному серверу клиент кидает в сеть пакеты-неводы в духе «меня интересуют /mice/prices и /mice/places/to/buy», а роутеры закидывают это дальше, пока кто-то не ответит, после чего по цепочке передают в сторону клиента. Таким образом, например, условный CDN в теории получается автоматом. Как это ложится на реальные приложения с трафиком (видеосозвоны те же), как это можно совмещать с текущим интернетом, как совместить интересы (это вот /mice/prices) с приватностью — этого всего пока не понимаю, но как будто идея прикольная. Сайт вот, https://named-data.net, сам ещё читать буду.

TIL#2: Метод scrollIntoView

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

И тут случайно узнал, что уже давно в браузерах есть метод .scrollIntoView на элементах (MDN), который это делает самостоятельно.

 // Плавненько прокрутить страницу, чтобы было видно elem
elem.scrollIntoView({ behavior: "smooth" })

В итоге на силе фрустрации сделал фичу за полчаса.


А сколько ещё фичей веб-платформы, про которые я не знаю или забыл?

Предыдущий TIL: методы на массивах

Про «онлайн» в телеграме

В свежем апдейте телеграма подвезли, так сказать, фичу, где обладатели премиума видят онлайн-статусы собеседников, даже если сами обладатели выключили показывание своего статуса. Edit: Если человек запретил показывать свой онлайн, то его онлайн не будут премиум-юзерам показывать.

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

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

В-третьих, понял, что мне была комфортнее предыдущая схема, где было видно только прочитал человек сообщение или нет, а теперь добавляется шаг «человек онлайн, но не читает моё сообщение». Хотелось бы игнорировать такой сигнал, но человеческую природу так просто не победить.

Какая-то антифича получилась, на мой взгляд.

TIL#1: Методы на массивах

Тут случайно узнал, что в джаваскрипт подвезли методы на массивах: toSorted, toSpliced, with. Вы знали? Знали и молчали?

Надо будет как-нибудь сесть и почитать документацию джаваскрипта уже.

Кратко про медиа (сентябрь-ноябрь 2023)

Это сборник эмоций по разным медиа-штукам. Не то, чтобы рецензии, не то, чтобы рекомендации, так, эмоции.

Посмотрел первый сезон Andor. Очень хорошо, одновременно очень Star Wars-y и совсем нет (это сериал как Кассиан Андор дошёл до жизни такой, ну и Мон Мотма тоже). Можно поразмыслить, как капитализм способен упаковать даже радикализм для просмотров. Линия про тюрьму — chilling. Политические игрища увлекательные, Звёздные Войны всё же про политику. Отдельно порадовало, что там нет этого марвеловского юмора (и вообще никакого нет).

Пересмотрел Rogue One. Андор, конечно, ещё сильно отличается от конца первого сезона сериала (если будет второй сезон, то любопытно как они это сделают). Сам фильм неплохой, но мы заранее знаем вывод, поэтому хочется, чтобы сам путь был как-то глубже и более цепляющий? На второй половине к просмотру присоединился друг и угадывал каждый сюжетный ход, не знаыя ни первой половины фильма, ни ЗВ в целом. Вместо фильма можно посмотреть Pitch Meeting, мало что потеряется.

Посмотрел новый восьмой сезон Футурамы. Невнятно, ощущение скорее встречи одноклассников, чем чего-то нового классного. Как-то царапают референсы на современность (одна из серий — про, кхм, майнинг биткоина in a way). Логично предположить, что и в старой Футураме они были, просто я тогда сильно меньше владел американским контекстом, плюс на момент просмотра тогда это было уже ощутимо прошлое. Последняя серия сезона: ок (что сильно лучше предпоследней серии).

Книга How to be Perfect Майкла Шура, создателя the Good Place, краткий и смешной обзор некоторых вопросов этики. Слушал в аудио-версии, где есть врезки голосов актеров сериала, так что рекомендую именно её.

Прочитал книгу «О шрифте» (Фаворский, издательство Шрифт). Ну, такое: набор картинок авторства плюс статья теоретизирования своего творчества, через которую пришлось продираться. Работы же, с одной стороны, крутые, с другой — сильное ощущение учебника по литературе.

Asteroid City Уэса Андерсона. Фильм, скажу прямо, на любителя Уэса Андерсона (то есть, меня), «a poetic meditation about meaning of life». Актёры играют актёров, которые играют актёров, сюжета нет, есть только непонятные роли в пьесе. Буду пересматривать.

Игра Offworld Trading Company: RTS без войны юнитов, капитализм на Марсе. Жуть, хорошо.

Аудиопьесы Big Finish, в частности, про Paternoster Gang: послушал Heritage 1. Предсказуемо, но весьма приятно.

A Prayer for Crown-shy: 🖤. Это вторая часть в дилогии про monk and robot, авторка добавляет в world-building, и сцена про костер в конце ой.

Digital Minimalism: очередной Кал Ньюпорт, но как-то попалось в удачный момент, так что нормально.

Классический Доктор Кто: ъуъ, первый сезон посмотрел, застрял на втором сезоне. Есть отдельные сериалы, которые понравились, но в целом подвис вопрос, как это воспринималось в своё время (щас тяжко воспринимать).

Дочитал книжку Тафти Seeing with Fresh Eyes. Думаю, что было бы прикольно написать рецензию (не понравилось, если кратко), но.

Письма Сенеки Луцилию: топ, буду перечитывать изредка.

«Хочу и буду» Лабковского: досталось в подарок несколько лет назад, наконец прочитал; сейчас мне кажется, сборником банальностей с парочкой странных тейков, если бы читал лет n назад, то удивился бы.

Скетчи Ryan George: каждый раз приятно смотреть, когда-нибудь надоест, но не сегодня.

Новая песня Stupendium по Alan Wake 2: не зашло, но надо будет переслушивать. Я не играл и в первый, так что за атмосферность не скажу.

Музыка the Mountain Goats: слушаю на репите Getting Into Knives, как-то очень стабильно от неё.

Из казуальных игр открыл для себя Knotwords от Зака Гейджа, у него отлично получаются такие легкие итерации над классикой (Good Sudoku, Badchess, и так далее).

Программирование в командах — очень юная активность (современный формат появился в только девяностых-нулевых), поэтому во многом люди ориентируются на условные «лучшие практики» и карго-культ.

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

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

You can read more notes at Notes.

Talks

Over the years I've given a number of talks on various topics.

Svelte — «магический» фреймворк (2018)

In Russian. Presented at PiterJS #22 in Saint Petersburg

YouTube

WebAssembly сегодня (2018)

In Russian. Presented at WebStandardsDay in Saint Petersburg.

Что такое WebAssembly, кому он нужен, и когда уже можно в продакшен (спойлер: вчера). Rust с криптографией и переосмысление веба в комплекте.

YouTube, slides

Нодскул в вашем городе: как и зачем (2017)

In Russian. Presented at WebStandardsDay in Minsk.

YouTube, slides

Все-все-все: как интернет меняет общество (2020)

In Russian. Created a spontaneous miniconference at the start of the pandemic and presented a lightning talk about Here Comes Everybody.

YouTube