Elasticsearch для тех, кто пришёл из SQL и Redis: документы, шарды и бакеты
Elasticsearch - это распределённая система поиска и аналитики по документам. Внутри у неё библиотека Apache Lucene, а снаружи HTTP API с JSON.
VLA-модели для роботов: что происходит в индустрии и как собрать сортировщика на коленке
После воркшопа по VLA-моделям захотелось разложить по полочкам, что сейчас происходит с «мозгами» для роботов-манипуляторов, и прикинуть, насколько реально собрать что-то полезное своими силами. Например, робота, который сортирует посылки, мусор или продукты на небольшом складе.
Пессимистичные и оптимистичные блокировки: кто успел, тот и купил
Два человека одновременно покупают последнюю единицу товара. Оба видят «в наличии: 1», оба жмут «Купить», и база спокойно оформляет два заказа.
Введение в робототехнику: типы моторов
Мотор - это то, что превращает код в движение. От выбора мотора зависит всё остальное: какое нужно питание, какой контроллер, по какой шине с ним говорить, сколько будет стоить сустав и сможет ли робот вообще встать.
Модель Льюиса: почему финн молчит, итальянец перебивает, а немец просит спеку
Есть встреча на шесть человек. Немец спрашивает, где спека и критерии приёмки.
Git worktrees: несколько рабочих папок одного репозитория
Обычно один репозиторий - это одна папка с файлами и одна текущая ветка. Чтобы посмотреть другую ветку, приходится либо прятать правки в stash , либо коммитить «WIP», либо клонировать репозиторий второй раз.
Turbo Stream Actions: интерактивный атлас DOM-операций
Turbo Stream - это маленькая декларативная команда над уже существующим DOM: найти цель, взять HTML из <template> и выполнить одну операцию. Чтобы понять эту механику, не нужны Rails-контроллер, WebSocket или даже сетевой запрос.
Система отзывов: доверие, интерфейс и фичи
Не так давно я проектировал систему отзывов и основная идея у них: сайт должен стать более заслуживающим доверия за счёт слов реальных людей . Не за счёт красивого описания от копирайтера.
Пангалинк сегодня (2026): архитектура iPizza и облачные альтернативы
Восемнадцать лет назад я написал про пангалинк статью, в которой фигурировали эстонские кроны, банки Hanza и Sampo, и подключение за 750 крон. Тот текст сейчас читается как археология: половины банков нет, валюты нет, тестовый сервис закрылся, а рядом выросла целая индустрия, которая делает то же самое, но по-другому.
Как Rails собирает страницу with content_for и yield
Статья про одну маленькую пару инструментов: `yield` и `content_for`. Они выглядят тривиально ровно до того момента, когда нужно ответить на вопрос «а в каком порядке это вообще выполняется» - и особенно «а что будет, если я объявлю секцию, которую никто не выводит».
Stimulus с нуля: JavaScript, который живёт в разметке
Эта статья для тех, кто пишет серверный HTML и хочет добавить к нему интерактивность, не заводя отдельное клиентское приложение. Никакого предварительного знания Hotwire не требуется: разберём всё от первого контроллера до общения контроллеров между собой.
Eager, lazy и batch: когда приложение должно грузить данные
Eager loading в Rails, `await import()` в Node.js, DataLoader в GraphQL и `loading="lazy"` у картинки выглядят как четыре несвязанные техники из разных слоёв стека. На самом деле это четыре ответа на один вопрос: **в какой момент система платит за ресурс, который может понадобиться, а может и нет**.
HDR-фотографии: что находится внутри JPEG с gain map
На HDR-дисплее солнце или блик на фотографии иногда выглядит ярче белого фона страницы. Разберём без магии, откуда экран получает команду сделать отдельные пиксели ярче.
Turbo Frames с нуля: интерактивный Rails без SPA
В Rails можно сделать интерактивный интерфейс без отдельного JSON API, глобального клиентского состояния и React-приложения. Сервер продолжает рендерить HTML, а браузер заменяет только нужный фрагмент страницы.
Бизнес-цели и согласованность: чего я долго не понимал как программист
Почти двадцать лет я пишу код и только в последние годы у меня сложилась картинка того, **зачем** он пишется. Не «какую фичу просили», а какое изменение в бизнесе она должна произвести и как мы поймём, что произвела.
Почему «Вид» в «Виде на жительство»
Меня как программиста постоянно конфузило одно слово в бюрократии. Документ называется **вид** на жительство.
Go, Together: визуальный гид по конкурентности в Go
Конкурентность проще, когда её видно. Запустите эти маленькие модели: горутины спорят за общее состояние, ждут разрешений, передают значения через каналы и реагируют на ту операцию, которая готова первой.
Переписал блог на новый движок
Год или больше я застрял на Docusaurus. Недавно я от него избавился — написал свой движок на Go за час.
Диалог: Вселенная, Бог и Информация
Недавно у меня состоялся глубокий диалог с моим AI-ассистентом (Ра) о природе реальности, информации и месте человека во Вселенной. Мы затронули философские вопросы, цифровую физику, голографический принцип, свободу воли и концепции из различных религий.
Теория побега: Что на самом деле сломает корпоративный степенной закон?
Недавно я посетил дискуссию (fireside chat) с CTO Wise и главным научным сотрудником Pactum. Я задал им провокационный вопрос: видите ли вы на горизонте какую-либо технологию, способную фундаментально разрушить степенной закон распределения (power-law) рынка?** Для контекста: Wise построила свою империю на децентрализа...
Почему лайв-кодинг — плохой способ проверки знаний
Лайв-кодинг на собеседовании — это кот в мешке. Проблема в том, что это во многом случайная проверка: кандидат, как правило, не готов к нему в момент интервью.
Почему нет Open API для доставки еды? Исследование Wolt, Bolt Food и других
🤖 **Почему мой AI агент не может заказать мне еду?** Я потратил несколько часов на глубокое исследование API документации всех крупных сервисов доставки еды в Эстонии. Результат оказался неожиданным - и разочаровывающим.
Автоматизация жизни с AI агентами
В последние годы я построил систему, которая увеличила мою продуктивность в 5-10 раз. Это не преувеличение - это измеримый результат использования AI агентов для автоматизации работы и личной жизни.
Фото старинного Таллинна
Исследовал для своей рпг игры по Таллинну старинные фотки например башня крепостной стены Hinketorn что рядом с макдаком видимо сфоткана была когда еще было видно саму стену (не очень в курсе - там был ров?). Сейчас по юго-восточной и южной части трудно что-то найти.
От чего спасает Христос
Будучи Христианином я тем не менее долгое время не мог понять от чего же спасает Христос? Почему дорога к Богу-Отцу лежит через Христа?
The Wild Robot
Очень хорошая анимация и музыка, местами 10/10 где есть сочетание всех элементов в том числе музыки - я аж всплакнул. Советую сходить, детям подойдет.
Моя коллекция часов в 2024
Записал историю своей часовой коллекции Заметил что я сильно привязан к телефону и начал рассматривать наручные часы, что-бы отделить самую часто используемую функцию, которая обычно затягивает посмотреть на всевозможные оповещения. Этот decoupling поможет сфокусироваться на работе.
Как записывать экран с круглой камерой
Часто приходится по работе записывать видео скринкасты для репорта багов, описания глубоких сценариев их возникновения, неудобного UI; Кроме того я использую видео для описания pull-request'ов в дополнение к тексту. Как сделать результат более профессиональным?
Об этике пчеловодства
Эрнест Бондаренко, мне вот захотелось так же публично ответить тебе, раз латвийская команда ForQueenBee на презентации в Prototron не смогла, и естественно Jana Budkovskaja не могла им ( Guntis Laurins, Anete Grosberga ) дать дополнительного во время общего питча. Я с ними не связан с ними совершенно, но занимаюсь это...
Мечта о масштабируемых и обогащённых GraphQL-подписках
Впервые опубликовано на Medium Стилизованная фотография водопада Ягала в Эстонии. Оригинал: Александр Абросимов, Wikimedia Commons В прошлый раз я рассказал о пятилетнем пути GraphQL в Pipedrive.