Блог

Пангалинк сегодня (2026): архитектура iPizza и облачные альтернативы

Пангалинк сегодня (2026): архитектура iPizza и облачные альтернативы

Восемнадцать лет назад я написал про пангалинк статью, в которой фигурировали эстонские кроны, банки Hanza и Sampo, и подключение за 750 крон. Тот текст сейчас читается как археология: половины банков нет, валюты нет, тестовый сервис закрылся, а рядом выросла целая индустрия, которая делает то же самое, но по-другому.

Как Rails собирает страницу with content_for и yield

Как Rails собирает страницу with content_for и yield

Статья про одну маленькую пару инструментов: `yield` и `content_for`. Они выглядят тривиально ровно до того момента, когда нужно ответить на вопрос «а в каком порядке это вообще выполняется» - и особенно «а что будет, если я объявлю секцию, которую никто не выводит».

Stimulus с нуля: JavaScript, который живёт в разметке

Stimulus с нуля: JavaScript, который живёт в разметке

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

Eager, lazy и batch: когда приложение должно грузить данные

Eager, lazy и batch: когда приложение должно грузить данные

Eager loading в Rails, `await import()` в Node.js, DataLoader в GraphQL и `loading="lazy"` у картинки выглядят как четыре несвязанные техники из разных слоёв стека. На самом деле это четыре ответа на один вопрос: **в какой момент система платит за ресурс, который может понадобиться, а может и нет**.

Turbo Frames с нуля: интерактивный Rails без SPA

Turbo Frames с нуля: интерактивный Rails без SPA

В Rails можно сделать интерактивный интерфейс без отдельного JSON API, глобального клиентского состояния и React-приложения. Сервер продолжает рендерить HTML, а браузер заменяет только нужный фрагмент страницы.

Бизнес-цели и согласованность: чего я долго не понимал как программист

Бизнес-цели и согласованность: чего я долго не понимал как программист

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

Go, Together: визуальный гид по конкурентности в Go

Go, Together: визуальный гид по конкурентности в Go

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

Диалог: Вселенная, Бог и Информация

Диалог: Вселенная, Бог и Информация

Недавно у меня состоялся глубокий диалог с моим AI-ассистентом (Ра) о природе реальности, информации и месте человека во Вселенной. Мы затронули философские вопросы, цифровую физику, голографический принцип, свободу воли и концепции из различных религий.

Теория побега: Что на самом деле сломает корпоративный степенной закон?

Теория побега: Что на самом деле сломает корпоративный степенной закон?

Недавно я посетил дискуссию (fireside chat) с CTO Wise и главным научным сотрудником Pactum. Я задал им провокационный вопрос: видите ли вы на горизонте какую-либо технологию, способную фундаментально разрушить степенной закон распределения (power-law) рынка?** Для контекста: Wise построила свою империю на децентрализа...

Почему нет Open API для доставки еды? Исследование Wolt, Bolt Food и других

Почему нет Open API для доставки еды? Исследование Wolt, Bolt Food и других

🤖 **Почему мой AI агент не может заказать мне еду?** Я потратил несколько часов на глубокое исследование API документации всех крупных сервисов доставки еды в Эстонии. Результат оказался неожиданным - и разочаровывающим.

Автоматизация жизни с AI агентами

Автоматизация жизни с AI агентами

В последние годы я построил систему, которая увеличила мою продуктивность в 5-10 раз. Это не преувеличение - это измеримый результат использования AI агентов для автоматизации работы и личной жизни.

Фото старинного Таллинна

Фото старинного Таллинна

Исследовал для своей рпг игры по Таллинну старинные фотки например башня крепостной стены Hinketorn что рядом с макдаком видимо сфоткана была когда еще было видно саму стену (не очень в курсе - там был ров?). Сейчас по юго-восточной и южной части трудно что-то найти.

От чего спасает Христос

От чего спасает Христос

Будучи Христианином я тем не менее долгое время не мог понять от чего же спасает Христос? Почему дорога к Богу-Отцу лежит через Христа?

The Wild Robot

The Wild Robot

Очень хорошая анимация и музыка, местами 10/10 где есть сочетание всех элементов в том числе музыки - я аж всплакнул. Советую сходить, детям подойдет.

Моя коллекция часов в 2024

Моя коллекция часов в 2024

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

Как записывать экран с круглой камерой

Как записывать экран с круглой камерой

Часто приходится по работе записывать видео скринкасты для репорта багов, описания глубоких сценариев их возникновения, неудобного UI; Кроме того я использую видео для описания pull-request'ов в дополнение к тексту. Как сделать результат более профессиональным?

Об этике пчеловодства

Эрнест Бондаренко, мне вот захотелось так же публично ответить тебе, раз латвийская команда ForQueenBee на презентации в Prototron не смогла, и естественно Jana Budkovskaja не могла им ( Guntis Laurins,  Anete Grosberga ) дать дополнительного во время общего питча. Я с ними не связан с ними совершенно, но занимаюсь это...

Путь к Федеративному GraphQL

Путь к Федеративному GraphQL

Картинка с dgraph.io Программисты любят хорошие истории, поэтому надеюсь что пятилетний путь к композитному API с помощью GraphQL в боевой среде (на пике выдающей 110 запросов в секунду при 100мс задержке) будет интересен. Если вы спешите, проскрольте ниже к _урокам_ и гляньте на открытый код [graphql-schema-registry]...

Техническое интервью как нейрон

Техническое интервью как нейрон

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

Шпаргалка по golang

Шпаргалка по golang

После php и node начал писать на go, поэтому по-аналогии с unix-шпаргалкой, выпишу для себя основы.. go run main.go → компиляция и запуск exe go build main.go → только компиляция и создание exe, без запуска go get -u https://github.com/x/y → импортирование зависимостей Низкоуровневый тип.

Dashboard на основе Grafana и InfluxDB

Dashboard на основе Grafana и InfluxDB

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

Hacking essentials

Hacking essentials

Прошёл двухдневный workshop компании Clarified Security по основам взлома в сети и серверы. Оплатил это Pipedrive, но вы можете заказать себе такую же тренировку. Тренинги построены по шагам с такой оценочной системой, что какое-то время можно самому искать решение, потом тебе объясняют как это сделать в действительнос...

Извлекая полезный опыт IT-компаний

Я работал уже больше 12 лет в разных IT-компаниях и захотел в порыве ностальгии выписать разницу между ними, лучшие стороны, что-бы вы тоже могли научиться у них. Поехали..

Code review и конфликт в динамике команды

Code review и конфликт в динамике команды

Команды программистов из 3-7 человек это идеальная машина по быстрому созданию качественного продукта. Слишком много - и все погрязнут в бесконечных обсуждениях, слишком мало - будет сбиваться ритм и снижаться продуктивность и качество.