{"description":"Публикации, расшифровки и обновления «Тысячи фичей».","feed_url":"https://apkhmv.xyz/feed.json","home_page_url":"https://apkhmv.xyz/","items":[{"_tf":{"change":"updated","changed_at":"2026-09-16T11:54:17+03:00","external_url":"https://af.apkhmv.xyz/","kind":"product","md_url":"https://apkhmv.xyz/products/af/index.md"},"content_text":"Обновлено — многоагентная фабрика для git-репозиториев","date_published":"2026-09-16T11:54:17+03:00","id":"sha256:4fdb6ccee430ead7300bfdfc3267b6d20f80936b2de91643095d0b9911b2617a","tags":[],"title":"Обновлено: af","url":"https://apkhmv.xyz/products/af/"},{"_tf":{"change":"updated","changed_at":"2026-09-16T11:54:17+03:00","episode_number":72,"kind":"episode","md_url":"https://apkhmv.xyz/podcast/episode-72/index.md","transcript_status":"draft"},"attachments":[{"duration_in_seconds":8617,"mime_type":"audio/mpeg","url":"https://traffic.libsyn.com/secure/173caf0e-b8e8-4056-8a73-2d60d94118ef/72_New_IDEA.mp3"}],"content_text":"Обновлено — Александр Пахомов и Антон Архипов — Developer Advocate в JetBrains, Java Champion, в прошлом разработчик JRebel — разбирают вопрос, который Антон задал Java-сеньорам на анконференции JCrete: нужна ли вообще IDE, если код пишут агенты? Все ответили «нужна», но объяснить зачем смогли только крайние случаи: Клифф Клик открывает IDE, чтобы дебажить, Питер Лори переписывает сгенерированный код руками. Отсюда разговор идёт к тому, что узкое место переехало из написания кода в code review, инструменты ревью не менялись пятнадцать лет, а люди превращаются в «клей между двумя Клодами». Во второй половине собеседники придумывают IDE будущего — завод по переработке задач с наблюдаемым пайплайном, бюджетами токенов и доказательствами на выходе, — спорят, что из этого сожрут OpenAI и Anthropic и почему LSP, скиллы и другие надстройки обнуляет каждая новая модель, и заканчивают ответственностью за код, который никто не читал, и ответом Антона на вопрос «нужна ли IDE в августе 2026».","date_published":"2026-09-16T11:54:17+03:00","id":"sha256:ee06f965090e36cdc9ede0046daba32495590c7b791ddf167198ddf48de7b1cc","tags":["IDE","IntelliJ IDEA","ИИ-агенты","Claude Code","Codex","код-ревью","инструменты разработчика","экономика токенов"],"title":"Обновлено: #72: Зачем IDEA в 2026","url":"https://apkhmv.xyz/podcast/episode-72/"},{"_tf":{"change":"updated","changed_at":"2026-09-16T11:54:17+03:00","episode_number":71,"kind":"episode","md_url":"https://apkhmv.xyz/podcast/episode-71/index.md","transcript_status":"draft"},"attachments":[{"duration_in_seconds":10274,"mime_type":"audio/mpeg","url":"https://traffic.libsyn.com/secure/173caf0e-b8e8-4056-8a73-2d60d94118ef/71_IMDG_Apache_Ignite.mp3"}],"content_text":"Обновлено — Александр Пахомов и Станислав Лукьянов разбирают in-memory data grid снизу вверх: от локальной HashMap до распределённого хранилища с логическими шардами, репликами, консенсусом и SQL. На примере Apache Ignite они показывают, как коллокация данных и вычислений убирает сетевые пересылки, зачем Java-системы ушли в off-heap и где остаются проблемы GC, JIT, безопасности и эксплуатации. В финале формулируют критерии выбора такой технологии и обсуждают её возможное будущее в памяти агентов и LLM KV-кэшах.","date_published":"2026-09-16T11:54:17+03:00","id":"sha256:3790cdcb6ce1b317bb3bd688a0025cfc87ec608efce1f7888b04189ecfef53de","tags":["Apache Ignite","in-memory data grid","распределённые системы","шардирование","консистентность","распределённый SQL","JVM","off-heap"],"title":"Обновлено: #71: Как работает IMDG Apache Ignite","url":"https://apkhmv.xyz/podcast/episode-71/"},{"_tf":{"change":"updated","changed_at":"2026-09-16T11:54:17+03:00","episode_number":70,"kind":"episode","md_url":"https://apkhmv.xyz/podcast/episode-70/index.md","transcript_status":"draft"},"attachments":[{"duration_in_seconds":8941,"mime_type":"audio/mpeg","url":"https://traffic.libsyn.com/secure/173caf0e-b8e8-4056-8a73-2d60d94118ef/22__v4.mp3"}],"content_text":"Обновлено — Александр Пахомов и Станислав Лукьянов — коммитер Apache Ignite, инженер GridGain (теперь часть MariaDB), ранее Java Platform в Oracle, последние годы живёт в Нью-Йорке — записывают незапланированный выпуск: интро к разговору про in-memory data grid переросло в двухчасовую беседу о том, как AI меняет работу инженера. Обсуждают 9-9-6 и тревожность по ту сторону океана, поколение AI-native фаундеров, которые не читают код, и то, во что вкладываться сейчас: системное мышление, математику, системное программирование и семантический слой для агента. Вторая половина — про экономику и про себя: токены как новый ресурс и бюджеты, которые растут вместе с грейдом, три грани ответственности, массовая слежка за сессиями и этика чужих промптов, FOMO пятичасового окна, сон, спорт и легализация отдыха на 24 часа без компьютера.","date_published":"2026-09-16T11:54:17+03:00","id":"sha256:52fd1f8b90694767ef7b3786b246b43dffc204fc497cc3e80fa58fce6a806158","tags":["ИИ-агенты","Claude Code","контекст-менеджмент","карьера инженера","продуктивность","экономика токенов","системное программирование"],"title":"Обновлено: #70: Режим 9-9-6 для Claude","url":"https://apkhmv.xyz/podcast/episode-70/"},{"_tf":{"change":"updated","changed_at":"2026-09-16T11:54:17+03:00","episode_number":69,"kind":"episode","md_url":"https://apkhmv.xyz/podcast/episode-69/index.md","transcript_status":"draft"},"attachments":[{"duration_in_seconds":5397,"mime_type":"audio/mpeg","url":"https://traffic.libsyn.com/secure/173caf0e-b8e8-4056-8a73-2d60d94118ef/69_Freud.mp3"}],"content_text":"Обновлено — Александр Пахомов и Александр Орлов — сооснователь Школы менеджмента «Стратоплан», ранее Sun Microsystems и Intel, психолог по второму образованию — разбирают работу инженера как психологическую. Почему поток так трудно поймать и удержать, что происходит с командой в фазах форминга и шторминга по Такману и почему спор о скобке в code style на самом деле спор об иерархии и уважении. Обсуждают эго-состояния по Берну, три способа реагировать на неустраивающую ситуацию (изменить, принять, выйти) и четвёртый, худший — терпеть; ресурсы, которые определяют вашу раздражительность на код-ревью; visibility через уровень как механику карьеры. В финале — как агентская разработка поднимает когнитивную нагрузку до потолка и почему soft skills дорожают именно сейчас.","date_published":"2026-09-16T11:54:17+03:00","id":"sha256:c73c26ea370f808ed4b42d87e885a48fed4b8decefd30a57c69d34fd4985d86c","tags":["психология инженера","soft skills","командная динамика","поток","карьера инженера","тимлид","выгорание"],"title":"Обновлено: #69: Психология инженера с Александром Орловым","url":"https://apkhmv.xyz/podcast/episode-69/"},{"_tf":{"change":"updated","changed_at":"2026-09-16T11:54:17+03:00","episode_number":68,"kind":"episode","md_url":"https://apkhmv.xyz/podcast/episode-68/index.md","transcript_status":"draft"},"attachments":[{"duration_in_seconds":8363,"mime_type":"audio/mpeg","url":"https://traffic.libsyn.com/secure/173caf0e-b8e8-4056-8a73-2d60d94118ef/20__Alex.mp3"}],"content_text":"Обновлено — Александр Пахомов и Владимир Ситников — мейнтейнер PostgreSQL JDBC-драйвера (pgjdbc) и Apache JMeter, около двадцати лет в Java и производительности SQL-систем — разбирают агентскую разработку на конкретных артефактах: тридцать тысяч строк подсистемы кодеков, которые невозможно отревьюить глазами, кросс-ревью тремя моделями, скилл технического английского, появившийся после того, как правки в документацию отклонили как AI-слоп. Обсуждают, что идёт в скилл, а что в CLAUDE.md, APM как пакетный менеджер для агентских конфигов, орду ревьюеров-персон, профилировщик и фаззинг как обязательные гейты агентского SDLC, комментарии, которые описывают прошлое, и декомпиляцию вместо чтения исходников. В финале — где проходят границы моделей и человека и на что инженеру сейчас тратить время.","date_published":"2026-09-16T11:54:17+03:00","id":"sha256:a627669755b58f92becac9ac3d886bc76c68c7c18570ba063d716935caa543f0","tags":["ИИ-агенты","Claude Code","Java","PostgreSQL","код-ревью","фаззинг","производительность","контекст-менеджмент"],"title":"Обновлено: #68: Исследуем границы современных моделей вместе Владимиром Ситниковым","url":"https://apkhmv.xyz/podcast/episode-68/"},{"_tf":{"change":"updated","changed_at":"2026-09-16T11:54:17+03:00","episode_number":67,"kind":"episode","md_url":"https://apkhmv.xyz/podcast/episode-67/index.md","transcript_status":"draft"},"attachments":[{"duration_in_seconds":8726,"mime_type":"audio/mpeg","url":"https://traffic.libsyn.com/secure/173caf0e-b8e8-4056-8a73-2d60d94118ef/alex_podcast_19.mp3"}],"content_text":"Обновлено — Александр Пахомов и Миша Поливаха — практикующий Java-разработчик, стоявший у истоков сообщества Spring.io, — разбирают, на чём держится Java в 2026-м. Почему энтерпрайз не переписывает и не апгрейдит (патчинг CVE для Java 6 как живой бизнес), как Spring выиграл у Java EE на скорости эволюции и правильных продуктовых решениях Рода Джонсона и команды Spring Boot, чем занят Project Leyden и почему AppCDS отбирает у Quarkus его главное преимущество. Вторая половина — спор двух подходов: для гостя тулинг это IDE, стартеры и dev mode, для ведущего, который код руками не пишет, — quality gates, которыми обкладывают агента; отсюда претензии к Java-экосистеме на фоне `clippy --fix`, история отказа OpenJDK принимать сгенерированные PR и финальное расхождение о том, можно ли нарастить экспертизу, не написав код руками.","date_published":"2026-09-16T11:54:17+03:00","id":"sha256:6360e04272d7554a028aa4ebdf427ceb0ccf4f51015d653c85a7d032d2ade4c2","tags":["Java","Spring","JVM","ИИ-агенты","инструментарий разработчика","экспертиза инженера","код-ревью"],"title":"Обновлено: #67: Java и Spring в 2026","url":"https://apkhmv.xyz/podcast/episode-67/"},{"_tf":{"change":"updated","changed_at":"2026-09-16T11:54:17+03:00","episode_number":66,"kind":"episode","md_url":"https://apkhmv.xyz/podcast/episode-66/index.md","transcript_status":"draft"},"attachments":[{"duration_in_seconds":8799,"mime_type":"audio/mpeg","url":"https://traffic.libsyn.com/secure/173caf0e-b8e8-4056-8a73-2d60d94118ef/18_alex_podcast.mp3"}],"content_text":"Обновлено — Александр Пахомов и Михаил Костицын (разработчик кодинг-агента veai, IDE-native агента для JetBrains IDE) по шагам «собирают» кодинг-агента: от ассистента-чата к агенту с инструментами — терминалом, чтением/записью файлов, поиском — и разбирают ключевой трейд-офф между свободой (один универсальный терминал) и контролем (набор узких, надёжных тулов), а также контекст-менеджмент как главный ресурс. Отталкиваясь от IntelliJ-платформы, они показывают, что даёт агенту IDE поверх терминала — LSP и PSI, инспекции, декомпиляцию, дебаггер и «формальные методы» (инструментация байткода, анализ моргающих тестов, символьное исполнение, SAST), — и обсуждают enterprise-спрос на локальные модели, бенчмарк-систему veai с верифайерами и LLM-судьёй, проблему бенчмаксинга и dogfooding.","date_published":"2026-09-16T11:54:17+03:00","id":"sha256:4f5316ccb5918f22b3424b85a66262fe09065359eb79a417a558877cfad0181e","tags":["кодинг-агенты","ИИ-агенты","IntelliJ платформа","инструменты для LLM","контекст-менеджмент","локальные модели"],"title":"Обновлено: #66: Veai: БАЗА ПО КОДИНГ АГЕНТАМ","url":"https://apkhmv.xyz/podcast/episode-66/"},{"_tf":{"change":"updated","changed_at":"2026-09-16T11:54:17+03:00","episode_number":65,"kind":"episode","md_url":"https://apkhmv.xyz/podcast/episode-65/index.md","transcript_status":"draft"},"attachments":[{"duration_in_seconds":6909,"mime_type":"audio/mpeg","url":"https://traffic.libsyn.com/secure/173caf0e-b8e8-4056-8a73-2d60d94118ef/65_AI_.mp3"}],"content_text":"Обновлено — Александр Пахомов и Дмитрий (Kisa) — автор канала о нейросетях, пришедший в вайб-кодинг из криптоиндустрии, — разбирают, как генеративный AI меняет работу автора и инженера: где проходит граница между авторским контентом и «нейрослопом», как через `Claude Code` и `Remotion` собираются YouTube-ролики, и почему картиночная ниша (включая 18+) держится на китайских open-source-моделях и локальных `ComfyUI`-воркфлоу, а не на зацензуренных фронтир-моделях. Во второй половине — теория «мёртвого интернета», выгорание от скорости агентов, деградация моделей (`4.6` против `4.7`, кодекс) и большой мотивационный разговор про ответственность и «эпоху эгоистов».","date_published":"2026-09-16T11:54:17+03:00","id":"sha256:7ebe08ccb85a71f7adfe834cd242455e1a015cc2d389a7623f2a2ff57fb14d06","tags":["вайб-кодинг","генеративный AI","нейрослоп и авторство","генерация изображений","мёртвый интернет"],"title":"Обновлено: #65: AI-кисы: нейрослоп против авторского контента","url":"https://apkhmv.xyz/podcast/episode-65/"},{"_tf":{"change":"updated","changed_at":"2026-09-16T11:54:17+03:00","episode_number":64,"kind":"episode","md_url":"https://apkhmv.xyz/podcast/episode-64/index.md","transcript_status":"draft"},"attachments":[{"duration_in_seconds":9296,"mime_type":"audio/mpeg","url":"https://traffic.libsyn.com/secure/173caf0e-b8e8-4056-8a73-2d60d94118ef/64_Alexey_Lebedev.mp3"}],"content_text":"Обновлено — Александр Пахомов и Алексей Лебедев — инженер систем низкой задержки, создатель стриминговой платформы AlgoX2 («убийца Kafka») и открытого фреймворка кодогенерации OpenACR — разбирают, как строить большие системы из простых, доказуемо корректных частей. Первые два часа сознательно исключают «агентную разработку»: single entry / single exit и single static action, программа как вложенные циклы и глобальная in-memory база данных, отказ от исключений и многопоточности в пользу однопоточных процессов, общающихся сообщениями (CSP, RDMA/InfiniBand, scale-out). На этом фундаменте построена AlgoX2 — «файловая система из стримов», где всё есть append-only-стрим и управление идёт через тот же стриминг; она обгоняет Kafka по latency в 10–100 раз. Ядро системы генерируется из SSIM-описаний генератором, который на 95% состоит из собственного сгенерированного кода. В финале — как Claude Code усиливает такой подход и какой навык остаётся ключевым для инженера.","date_published":"2026-09-16T11:54:17+03:00","id":"sha256:2b766b89f821d43cea4d369acace2cbd3caeb6d590233761615bc0a9b55d3c98","tags":["распределённые системы","кодогенерация","низкая задержка","Kafka и стриминг","вайб-кодинг"],"title":"Обновлено: #64: Быстрее Кафки на два порядка: Алексей Лебедев про то как строить сложные системы","url":"https://apkhmv.xyz/podcast/episode-64/"},{"_tf":{"change":"updated","changed_at":"2026-09-16T11:54:17+03:00","episode_number":63,"kind":"episode","md_url":"https://apkhmv.xyz/podcast/episode-63/index.md","transcript_status":"draft"},"attachments":[{"duration_in_seconds":6855,"mime_type":"audio/mpeg","url":"https://traffic.libsyn.com/secure/173caf0e-b8e8-4056-8a73-2d60d94118ef/63_FPF.mp3"}],"content_text":"Обновлено — Александр Пахомов и Иван Закутний (инженер и engineering manager, ученик мастерской инженеров-менеджеров Анатолия Левенчука) разбирают, как остаться востребованным инженером в 2026 году, когда `Claude Code` и агенты обесценили «перекладывание JSON». Их ответ — системное мышление и `First Principles Framework` (FPF) Левенчука: спецификация на ~800 тысяч токенов, которая через RAG заставляет LLM рассуждать по ADI-циклу (abduction–deduction–induction), формализовать уровни доверия L0/L1/L2 и оставлять за собой decision records. По пути — почему галлюцинируют и люди, и модели, чем задача отличается от проблемы, зачем нужно «мышление письмом» и экзокортекс, и как не свалиться в дофаминовую яму от четырёх параллельных агентов.","date_published":"2026-09-16T11:54:17+03:00","id":"sha256:89907ca57c1757523212d48bc48b013776cc58607f8c3a2345c5843933533c4c","tags":["системное мышление","вайб-кодинг","ИИ-агенты","инженерный менеджмент","промпт-инжиниринг"],"title":"Обновлено: #63: Системное мышление для инженера","url":"https://apkhmv.xyz/podcast/episode-63/"},{"_tf":{"change":"updated","changed_at":"2026-09-16T11:54:17+03:00","episode_number":62,"kind":"episode","md_url":"https://apkhmv.xyz/podcast/episode-62/index.md","transcript_status":"draft"},"attachments":[{"duration_in_seconds":4550,"mime_type":"audio/mpeg","url":"https://traffic.libsyn.com/secure/173caf0e-b8e8-4056-8a73-2d60d94118ef/AI_in_Enterprise.mp3"}],"content_text":"Обновлено — Александр Пахомов и Иван Чернов (системный архитектор в Островке) разбирают, как выглядит внедрение ИИ не в демках, а в реальном энтерпрайзе. Иван рассказывает про свой путь от GitHub Copilot к Cursor и Claude Code, про безопасную среду на базе LiteLLM и OpenWebUI, три риска информационной безопасности (персданные, коммерческая тайна, и почему код сам по себе ничего не стоит), токеномику и лимиты для пользователей, дообученную локальную модель для переводов, ИИ-ревьюера за 8 центов и Bitter Lesson как рамку для техно-оптимизма. Александр держит контрапункт от лица индивидуального контрибьютора, который просто заливает задачи Opus 4.5 напрямую.","date_published":"2026-09-16T11:54:17+03:00","id":"sha256:d749327f741ab4b4fed5580d179e3564b79e0cd8f1ec0683b9e74d555d6131ff","tags":["ИИ в энтерпрайзе","Claude Code","локальные модели","информационная безопасность","токеномика LLM"],"title":"Обновлено: #62: AI в Энтерпрайзе","url":"https://apkhmv.xyz/podcast/episode-62/"},{"_tf":{"change":"updated","changed_at":"2026-09-16T11:54:17+03:00","episode_number":61,"kind":"episode","md_url":"https://apkhmv.xyz/podcast/episode-61/index.md","transcript_status":"draft"},"attachments":[{"duration_in_seconds":10177,"mime_type":"audio/mpeg","url":"https://traffic.libsyn.com/secure/173caf0e-b8e8-4056-8a73-2d60d94118ef/61_GC_Java_Go.mp3"}],"content_text":"Обновлено — Александр Пахомов и Александр «Саша» Ланцов (Java-разработчик в финтехе, Мир Plat.Form) на примере двух рантаймов — HotSpot JVM и Go — прослеживают всю эволюцию сборщиков мусора: от фундаментальных алгоритмов (reference counting, mark-and-sweep, mark-compact, копирующий) и трёхцветной маркировки до `Serial`/`Parallel`, `CMS`, `G1`, `Shenandoah`, `ZGC` и нового `Green Tea` в Go. По пути — гипотеза о поколениях и почему её нет в Go, card table и GC-барьеры, фрагментация и спаны, указатели Брукса, цветные указатели и трюк с виртуальной памятью, спираль смерти. В финале — как осознанно выбрать GC под latency, пропускную способность и размер хипа.","date_published":"2026-09-16T11:54:17+03:00","id":"sha256:bc8cb2079a641b804a724b124f078c4898f3ddd2e8574af431129e9c6314f4ef","tags":["сборка мусора","JVM","Go runtime","производительность","низкая задержка"],"title":"Обновлено: #61: Лучший GC: Java и Go","url":"https://apkhmv.xyz/podcast/episode-61/"},{"_tf":{"change":"updated","changed_at":"2026-09-16T11:54:17+03:00","episode_number":60,"kind":"episode","md_url":"https://apkhmv.xyz/podcast/episode-60/index.md","transcript_status":"draft"},"attachments":[{"duration_in_seconds":4509,"mime_type":"audio/mpeg","url":"https://traffic.libsyn.com/secure/173caf0e-b8e8-4056-8a73-2d60d94118ef/60_Engineering_AI.mp3"}],"content_text":"Обновлено — Александр Пахомов и Дмитрий Рожков (менеджер и автор YouTube-канала «Senior Software Vlogger») разбирают, как `Claude Code` меняет работу инженера: Дмитрий, будучи менеджером и не Swift-программистом, полностью написал моделями Mac-приложение `Summit AI Notes` и продаёт его в App Store. Отсюда разговор уходит к главному тезису выпуска — «инженерной ответственности»: за код, который сгенерировала модель, отвечает не Anthropic, а инженер. По пути — почему важен строгий `harness` вокруг модели, чем `Opus 4.5` лучше `Sonnet 4`, почему классическое код-ревью упирается в бутылочное горлышко по Голдратту и как программирование с LLM превращается в менеджмент.","date_published":"2026-09-16T11:54:17+03:00","id":"sha256:39d93aeeaf0d35033be9128f9790529bb71716a3698b9fa0588662510cf13d4a","tags":["вайб-кодинг","Claude Code","инженерная ответственность","код-ревью","ИИ-агенты"],"title":"Обновлено: #60: Claude Code и инженерная ответственность с Senior Software Vlogger","url":"https://apkhmv.xyz/podcast/episode-60/"},{"_tf":{"change":"updated","changed_at":"2026-09-16T11:54:17+03:00","episode_number":59,"kind":"episode","md_url":"https://apkhmv.xyz/podcast/episode-59/index.md","transcript_status":"draft"},"attachments":[{"duration_in_seconds":5566,"mime_type":"audio/mpeg","url":"https://traffic.libsyn.com/secure/173caf0e-b8e8-4056-8a73-2d60d94118ef/59_podcast.mp3"}],"content_text":"Обновлено — Александр Пахомов и Дима Королёв (инженер, несколько лет в Web3) разбирают блокчейн и Ethereum инженерным языком — без маркетингового буллшита. Как биткоин Сатоши стал первым leaderless-леджером с инвариантом no double spend через `proof of work`; почему у биткоина нет финалити, а балансы — это derived-вьюха поверх лога блоков; как Ethereum добавил EVM, смарт-контракты и `ERC-20`, а `proof of stake`, валидаторы со стейком и L2-шардинг сделали транзакции дешёвыми. Попутно — MEV-атаки, мосты и `WBTC`, CAP-теорема через partial order и аналогию с Kafka, DEX против CEX, и как идеи Web3 (доказуемые гарантии, secure chip, confidential compute) просачиваются в Web2.","date_published":"2026-09-16T11:54:17+03:00","id":"sha256:5212ca1b2a1ddbabec03af7071ec4bd6cf6a514b3f858dba63e63007a6095aa2","tags":["Web3","блокчейн","Ethereum","смарт-контракты","распределённые системы"],"title":"Обновлено: #59: Основы Web3: Blockchain и Ether","url":"https://apkhmv.xyz/podcast/episode-59/"},{"_tf":{"change":"updated","changed_at":"2026-09-16T11:54:17+03:00","episode_number":58,"kind":"episode","md_url":"https://apkhmv.xyz/podcast/episode-58/index.md","transcript_status":"draft"},"attachments":[{"duration_in_seconds":8891,"mime_type":"audio/mpeg","url":"https://traffic.libsyn.com/secure/173caf0e-b8e8-4056-8a73-2d60d94118ef/58_Cassandra_Read.mp3"}],"content_text":"Обновлено — Заключительная, третья часть разбора Apache Cassandra: Александр Пахомов и Дмитрий Константинов (коммитер Apache Cassandra) прослеживают путь запроса на чтение от координатора до диска. По дороге — какие чтения Cassandra делает эффективно (по `partition`- и префиксу `clustering`-ключа) и почему это OLTP-, а не аналитическая база; кворумная математика `R + W \u003e N` и `strong consistency`; выбор реплик через `Snitch`, спекулятивные ретраи и оптимизация «данные с одной реплики, digest с остальных»; `read-repair` и пагинация без `OFFSET`; а на нижнем уровне — `Bloom filter`, `primary index` с `index summary`, `key cache`, блочное сжатие с `compression metadata`, вынос метаданных в off-heap и, наконец, боль tombstones при чтении «очередей».","date_published":"2026-09-16T11:54:17+03:00","id":"sha256:de256bf27767e576d6824fac01f4607e931d6fffc2d13409db2353728c35f444","tags":["Apache Cassandra","распределённые базы данных","консистентность и кворумы","LSM-деревья","Bloom filter"],"title":"Обновлено: #58: Apache Cassandra, часть 3: читаем данные","url":"https://apkhmv.xyz/podcast/episode-58/"},{"_tf":{"change":"updated","changed_at":"2026-09-16T11:54:17+03:00","episode_number":57,"kind":"episode","md_url":"https://apkhmv.xyz/podcast/episode-57/index.md","transcript_status":"draft"},"attachments":[{"duration_in_seconds":9193,"mime_type":"audio/mpeg","url":"https://traffic.libsyn.com/secure/173caf0e-b8e8-4056-8a73-2d60d94118ef/57_Cassandra.mp3"}],"content_text":"Обновлено — Вторая часть разбора Apache Cassandra: Александр Пахомов и Дмитрий Константинов (коммитер Apache Cassandra) прослеживают путь одной операции записи от серверного сокета до диска. По дороге — серверный `Netty` с нативным `epoll`, flow control через TCP backpressure, аутентификация и авторизация, consistent hashing с виртуальными нодами, consistency level и кворумы, gossip-протокол и hinted handoff, а затем локальная запись: `commit log`, трёхуровневый memtable (`ConcurrentSkipListMap`/trie над `B-tree`), «last write wins» по таймстемпам, сброс в `SSTable`, компакция и, наконец, удаления через tombstones.","date_published":"2026-09-16T11:54:17+03:00","id":"sha256:bf90c6ca1c94813db4d3424c75b176ec28785ec2cc760007a8bef7a890f54c1e","tags":["Apache Cassandra","распределённые базы данных","LSM-деревья","consistent hashing","репликация и консистентность"],"title":"Обновлено: #57: Apache Cassandra, часть 2: как работает запись","url":"https://apkhmv.xyz/podcast/episode-57/"},{"_tf":{"change":"updated","changed_at":"2026-09-16T11:54:17+03:00","episode_number":56,"kind":"episode","md_url":"https://apkhmv.xyz/podcast/episode-56/index.md","transcript_status":"draft"},"attachments":[{"duration_in_seconds":9972,"mime_type":"audio/mpeg","url":"https://traffic.libsyn.com/secure/173caf0e-b8e8-4056-8a73-2d60d94118ef/56_Cassandra_podcast_1.mp3"}],"content_text":"Обновлено — Александр Пахомов и Дмитрий Константинов (коммитер Apache Cassandra) проходят путь запроса end-to-end со стороны клиента: как устроен драйвер Cassandra и как, поняв его, написать собственный. Разбирают contact points и service discovery, равноправные ноды и rolling upgrade, CQL и модель данных (keyspace, partition/clustering ключи, upsert без чтения), prepared statement с кэшем на сервере, кодеки-сериализацию, выбор ноды и локальность дата-центров, а на нижнем уровне — бинарный протокол поверх Netty: нарезку TCP-потока на фреймы, корреляцию ответов через stream id, таймауты на hash wheel timer, идемпотентные и спекулятивные ретраи, backpressure. Это первая часть трилогии; серверная сторона — в следующих выпусках.","date_published":"2026-09-16T11:54:17+03:00","id":"sha256:f5a727496af185dcb26b96022477ecf516f95c3018e9d1f206836efd4f9bbfb9","tags":["Apache Cassandra","распределённые базы данных","клиент-серверная архитектура","сетевые протоколы","Java"],"title":"Обновлено: #56: Apache Cassandra, часть 1: клиент, сервер","url":"https://apkhmv.xyz/podcast/episode-56/"},{"_tf":{"change":"updated","changed_at":"2026-09-16T11:54:17+03:00","episode_number":55,"kind":"episode","md_url":"https://apkhmv.xyz/podcast/episode-55/index.md","transcript_status":"draft"},"attachments":[{"duration_in_seconds":5602,"mime_type":"audio/mpeg","url":"https://traffic.libsyn.com/secure/173caf0e-b8e8-4056-8a73-2d60d94118ef/55_Business_Vova.mp3"}],"content_text":"Обновлено — Александр Пахомов и Вова — основатель компании Unison и продукта yuchat, с которым Александр работает больше четырёх лет, — разбирают, как мыслит предприниматель: почему работа должна давать не только «плюшки», но и рост, зачем нанимать «под человека», а не «под вакансию», и что такое ламповый «социум», который плохо масштабируется. Во второй половине — про инструменты для живого удалённого общения (спонтанная коммуникация как в open space, возможность догнать пропущенный созвон на скорости), про вкус и креатив в профессии и про новую реальность, в которой всё труднее доверять коду и контенту, сгенерированному ИИ.","date_published":"2026-09-16T11:54:17+03:00","id":"sha256:49128d45bb5a47318b62e40322d751d4606056ae685cd7610c84509cdef96287","tags":["предпринимательство","мотивация","корпоративная культура","удалённая работа","ИИ-инструменты"],"title":"Обновлено: #55: Как мыслит предприниматель","url":"https://apkhmv.xyz/podcast/episode-55/"},{"_tf":{"change":"updated","changed_at":"2026-09-16T11:54:17+03:00","episode_number":54,"kind":"episode","md_url":"https://apkhmv.xyz/podcast/episode-54/index.md","transcript_status":"reviewed"},"attachments":[{"duration_in_seconds":3384,"mime_type":"audio/mpeg","url":"https://traffic.libsyn.com/secure/173caf0e-b8e8-4056-8a73-2d60d94118ef/54_Vibe.mp3"}],"content_text":"Обновлено — Александр Пахомов и Иван Ямщиков (сооснователь Pleias, профессор THWS) разбирают, как генеративные модели и «вайб-кодинг» меняют работу инженера в середине 2025 года: где модели реально полезны (быстрое прототипирование) и где буксуют (тестирование, валидация и дебаг сгенерированного кода). По пути — как из «восстановления пропусков в тексте» вырос reasoning, почему модель в чате не дообучается на вашем фидбэке, чем маленькие модели и RAG интересны бизнесу с чувствительными данными, и какой навык остаётся за человеком: придумывать тесты и удерживать «вкус» к задаче.","date_published":"2026-09-16T11:54:17+03:00","id":"sha256:e86ee50b2d49629a496f2c900e8277b2377bcb0ccc77ce76b480b1cef8929b46","tags":["вайб-кодинг","ИИ-агенты","языковые модели","reasoning","RAG","тестирование"],"title":"Обновлено: #54: Вайбим с Иваном Ямщиковым","url":"https://apkhmv.xyz/podcast/episode-54/"},{"_tf":{"change":"updated","changed_at":"2026-09-16T11:54:17+03:00","episode_number":53,"kind":"episode","md_url":"https://apkhmv.xyz/podcast/episode-53/index.md","transcript_status":"draft"},"attachments":[{"duration_in_seconds":5372,"mime_type":"audio/mpeg","url":"https://traffic.libsyn.com/secure/173caf0e-b8e8-4056-8a73-2d60d94118ef/53_Datomic.mp3"}],"content_text":"Обновлено — Александр Пахомов и Никита Прокопов (Nikitonsky — автор Fira Code, DataScript и телеграм-канала «Стой под стрелой») разбирают Datomic — базу данных, которая идёт против течения индустрии. Начав с боли, когда оптимизатор `Postgres` внезапно замедляет запрос в сто раз, они переходят к устройству Datomic: модель `Entity-Attribute-Value` вместо таблиц, язык запросов `Datalog` вместо `SQL`, разделение чтения и записи, однопоточный транзактор и иммутабельная база с путешествием во времени. Отдельная линия разговора — как маленькая команда за счёт радикальной простоты решает те же задачи минимальными средствами.","date_published":"2026-09-16T11:54:17+03:00","id":"sha256:28d6a6ea233ef034095660076999f100a5697db0bfa63ad7edf56455c147b13b","tags":["Datomic","базы данных","Clojure","Datalog","PostgreSQL"],"title":"Обновлено: #53: Datomic: самая рок-н-рольная БД","url":"https://apkhmv.xyz/podcast/episode-53/"},{"_tf":{"change":"updated","changed_at":"2026-09-16T11:54:17+03:00","episode_number":52,"kind":"episode","md_url":"https://apkhmv.xyz/podcast/episode-52/index.md","transcript_status":"draft"},"attachments":[{"duration_in_seconds":8779,"mime_type":"audio/mpeg","url":"https://traffic.libsyn.com/secure/173caf0e-b8e8-4056-8a73-2d60d94118ef/podcast_17_v4_1.mp3"}],"content_text":"Обновлено — Александр Пахомов и Андрей Володин (сооснователь и CTO стартапа Gracia, ex-founding engineer Prisma и сооснователь NetMonet) разбирают, как вайб-кодинг и AI-агенты меняют профессию разработчика в середине 2025 года. Отправной точкой служит кейс Андрея: не будучи фронтендером, он с нуля собрал в Cursor комплексную админку (backend-driven UI, three.js, парсинг COLMAP) за ноль строк ручного кода. Отсюда — почему «попсовые» стеки (React, TypeScript) под наибольшим давлением, а low-level, робототехника и diptech пока «тихая гавань»; зачем разработчику смещаться в сторону бизнеса; и как экономическая конъюнктура (конец ZIRP, стагнация рынка смартфонов) переопределяет ценность кода — от «читабельности» к «нераспространению говнокода».","date_published":"2026-09-16T11:54:17+03:00","id":"sha256:d796f299e7085d3fd9e1625dfa510795fc848ac825569f7d96d55fe1ef777b66","tags":["вайб-кодинг","AI-агенты","профессия разработчика","рынок труда в IT","языки программирования"],"title":"Обновлено: #52: Трансформация профессии разработчика в 2025","url":"https://apkhmv.xyz/podcast/episode-52/"},{"_tf":{"change":"updated","changed_at":"2026-09-16T11:54:17+03:00","episode_number":51,"kind":"episode","md_url":"https://apkhmv.xyz/podcast/episode-51/index.md","transcript_status":"draft"},"attachments":[{"duration_in_seconds":5382,"mime_type":"audio/mpeg","url":"https://traffic.libsyn.com/secure/173caf0e-b8e8-4056-8a73-2d60d94118ef/51_code_review_Clickhouse.mp3"}],"content_text":"Обновлено — Александр Пахомов и коммитер ClickHouse Максим Кита разбирают, как в большом open-source-проекте устроено код-ревью: почему оно неотделимо от мощного CI, от которого зависит, сколько ответственности можно снять с ревьюера, и от того, как сами контрибьюторы готовят свой код. По пути — какие тесты и санитайзеры гоняет ClickHouse, почему `code coverage` как хардстоп чаще вредит, какие пул-реквесты страшнее всего ревьюить (вероятностные алгоритмы), как «запал» автора и человеческая психология определяют судьбу PR, и почему изоляция кода через `factory`-паттерн и принцип open-closed так важна для контрибьютабельности.","date_published":"2026-09-16T11:54:17+03:00","id":"sha256:917ca3053506fceff4589cc7b9f398a1c09c7cd67fef0b5b7384bb48ff51b155","tags":["код-ревью","ClickHouse","open source","C++","тестирование"],"title":"Обновлено: #51: Код ревью в Clickhouse","url":"https://apkhmv.xyz/podcast/episode-51/"},{"_tf":{"change":"updated","changed_at":"2026-09-16T11:54:17+03:00","episode_number":50,"kind":"episode","md_url":"https://apkhmv.xyz/podcast/episode-50/index.md","transcript_status":"draft"},"attachments":[{"duration_in_seconds":4797,"mime_type":"audio/mpeg","url":"https://traffic.libsyn.com/secure/173caf0e-b8e8-4056-8a73-2d60d94118ef/50_productivity.mp3"}],"content_text":"Обновлено — Сольный, юбилейный 50-й выпуск: Александр Пахомов возвращается к формату монолога и разбирает, что за год ощутимо подняло его продуктивность как программиста. Разговор идёт по четырём слоям — эргономика рабочего места (кресло `ErgoHuman`, кронштейн для ноутбука, ортолинейная сплит-клавиатура), софт (`Ghostty` + `tmux` + `Neovim` как единая среда, `fish`, единая тема во всех программах), пет-проект «база данных на Rust» и его влияние на уверенность в языке, и, наконец, здоровье — отказ от соцсетей и новостных каналов ради «свободного места в голове» плюс спорт как способ прокачать не тело, а майндсет времени и дисциплины.","date_published":"2026-09-16T11:54:17+03:00","id":"sha256:4e0ded6e79bf82467064367de9ac5be3fd2ffb1180be0eb5ea20cf3a04f5123e","tags":["продуктивность","эргономика","рабочее место","Rust","цифровой детокс"],"title":"Обновлено: #50: Как я повысил свою продуктивность за этот год","url":"https://apkhmv.xyz/podcast/episode-50/"},{"_tf":{"change":"updated","changed_at":"2026-09-16T11:54:17+03:00","episode_number":49,"kind":"episode","md_url":"https://apkhmv.xyz/podcast/episode-49/index.md","transcript_status":"draft"},"attachments":[{"duration_in_seconds":9869,"mime_type":"audio/mpeg","url":"https://traffic.libsyn.com/secure/173caf0e-b8e8-4056-8a73-2d60d94118ef/49_Neon_Database.mp3"}],"content_text":"Обновлено — Александр Пахомов и Стас Кельвич (сооснователь Neon, где он сделал storage layer) разбирают внутреннее устройство serverless-Postgres. Как Neon отделяет compute от storage: `compute` — это чуть подхаченный Postgres, у которого чтение с диска заменено на чтение по сети, а `storage` — свои сервисы на Rust (Safekeeper — консенсусный `WAL` на модифицированном Raft/DiskPaxos, и PageServer — партиционированное LSM-дерево поверх S3). По пути — процессы Postgres-комьюнити (commit-fest'ы, пятилетние патчи, `TLA+`), branching через copy-on-write и запросы к истории по `LSN`, live-миграция виртуалок ради вертикального скейлинга без разрыва соединений, авторизация по `HTTP` для V8-isolate'ов, а также будущее многопоточного Postgres. Это вторая, глубоко техническая часть; обзорная — в выпуске 48.","date_published":"2026-09-16T11:54:17+03:00","id":"sha256:17e2220aa1f1f431eb0d6c05d7a79dc3664101a5b96927275379505ff0e6e8ad","tags":["serverless Postgres","распределённые системы","консенсус и Paxos","storage-движки","облачные базы данных"],"title":"Обновлено: #49: Serverless Postgres: как работает Neon Database","url":"https://apkhmv.xyz/podcast/episode-49/"},{"_tf":{"change":"updated","changed_at":"2026-09-16T11:54:17+03:00","episode_number":48,"kind":"episode","md_url":"https://apkhmv.xyz/podcast/episode-48/index.md","transcript_status":"draft"},"attachments":[{"duration_in_seconds":6971,"mime_type":"audio/mpeg","url":"https://traffic.libsyn.com/secure/173caf0e-b8e8-4056-8a73-2d60d94118ef/48_databases_overview.mp3"}],"content_text":"Обновлено — Александр Пахомов и Стас Кельвич (сооснователь Neon — serverless Postgres as a service, где он сделал storage layer) с высоты птичьего полёта осматривают весь ландшафт баз данных: почему `SQL` пережил полвека и все попытки его заменить, что осталось от волны `NoSQL`, зачем Neon отдаёт Postgres по `HTTP` для edge-воркеров на V8, и где заканчивается один сервер. По пути — «константы скорости света» для пропускной способности (30–40k транзакций в секунду в одно соединение), инженерия шардирования и shuffle join, а также распределённые транзакции: двухфазный и трёхфазный коммит, Paxos Commit и подходы к изоляции. Это первая, обзорная часть; технические кишки Neon — в следующем выпуске.","date_published":"2026-09-16T11:54:17+03:00","id":"sha256:b02651e563410a4b11c8fd416542fa7802df3e0f021a03ac103be88ec8252904","tags":["базы данных","SQL и NoSQL","распределённые системы","шардирование","распределённые транзакции","Postgres"],"title":"Обновлено: #48: Реплицируем RDBMS с ко-фаундером Neon","url":"https://apkhmv.xyz/podcast/episode-48/"},{"_tf":{"change":"updated","changed_at":"2026-09-16T11:54:17+03:00","episode_number":47,"kind":"episode","md_url":"https://apkhmv.xyz/podcast/episode-47/index.md","transcript_status":"draft"},"attachments":[{"duration_in_seconds":7785,"mime_type":"audio/mpeg","url":"https://traffic.libsyn.com/secure/173caf0e-b8e8-4056-8a73-2d60d94118ef/47_fleet.mp3"}],"content_text":"Обновлено — Александр Пахомов и Андрей Зайцев (инженер JetBrains, архитектор редактора Fleet) разбирают внутреннее устройство Fleet как одновременно редактора кода и мутабельной базы данных. Разговор идёт от трёх исходных челленджей (remote development, коллаборация, полиглотность) через `React`-подобный UI, чистые функции и персистентные структуры данных к главной идее — распределённым оптимистичным транзакциям на механике «переписывания истории» в духе git-rebase, где всё состояние редактора это одно значение. По пути — параллели с `Datomic` и `MVCC`, детектор конфликтов на хэшах, нативный рендеринг через `Skia` и бюджет кадра при 120 FPS, а также роль garbage collector в функциональном коде.","date_published":"2026-09-16T11:54:17+03:00","id":"sha256:61fb63b688cde5fc3627e4f5eb6bd4922a8d58c7e122186c4e8869621f90762f","tags":["редакторы кода","функциональное программирование","распределённые транзакции","рендеринг UI","базы данных"],"title":"Обновлено: #47: Fleet: редактор с оптимистичными транзакциями","url":"https://apkhmv.xyz/podcast/episode-47/"},{"_tf":{"change":"updated","changed_at":"2026-09-16T11:54:17+03:00","episode_number":46,"kind":"episode","md_url":"https://apkhmv.xyz/podcast/episode-46/index.md","transcript_status":"draft"},"attachments":[{"duration_in_seconds":6332,"mime_type":"audio/mpeg","url":"https://traffic.libsyn.com/secure/173caf0e-b8e8-4056-8a73-2d60d94118ef/46_nikitonsky.mp3"}],"content_text":"Обновлено — Александр Пахомов и Никита Прокопов (tonsky) — автор шрифта Fira Code, библиотеки DataScript и блога «Стой под стрелой» — разбирают, каким должен быть современный редактор кода. От эргономики (сплит-клавиатуры, home row, стрелки на `EJKL`) через спор о Vim, терминале и модальности к расширяемости и «шумности» IntelliJ IDEA. Никита объясняет, почему он много лет сидит в Sublime Text, почему «умный» редактор делает тебя тупее, и как маленькая команда без денег на nice-to-have фичи выигрывает у раздутых IDE.","date_published":"2026-09-16T11:54:17+03:00","id":"sha256:51f45e884d0bfb4b29d701584feee9077e483feb7239e0d5700e02af29505494","tags":["редакторы кода","Vim и Neovim","эргономика клавиатуры","инструменты разработчика","Sublime Text"],"title":"Обновлено: #46: Nikitonsky про современные редакторы кода","url":"https://apkhmv.xyz/podcast/episode-46/"},{"_tf":{"change":"updated","changed_at":"2026-09-16T11:54:17+03:00","episode_number":45,"kind":"episode","md_url":"https://apkhmv.xyz/podcast/episode-45/index.md","transcript_status":"draft"},"attachments":[{"duration_in_seconds":6587,"mime_type":"audio/mpeg","url":"https://traffic.libsyn.com/secure/173caf0e-b8e8-4056-8a73-2d60d94118ef/1724936820522_45_TigerBeetle_matklad.mp3"}],"content_text":"Обновлено — Александр Пахомов и Алексей Кладов (matklad — автор IntelliJ Rust и rust-analyzer, теперь разработчик TigerBeetle) подробно разбирают, чем TigerBeetle не похож на остальные СУБД: написана на `Zig`, без `SQL`-интерфейса, со статической аллокацией памяти и жёстко зашитой доменной моделью из аккаунтов и трансферов. По ходу — почему `OLTP` стоит вернуть к процессингу именно финансовых транзакций (а `SQL` назвать `OLGP`), как реплицированная state machine на консенсусе `VSR` переживает ненадёжные сеть и диск, как устроены чек-суммы, суперблок, батчинг и детерминированный компакшн `LSM`-деревьев, и почему системное программирование на самом деле простое — надо просто брать и писать код.","date_published":"2026-09-16T11:54:17+03:00","id":"sha256:c86a1b5fef032c44bc51092924a419ebf60e59743040f7d8a3bb7d7d6e04df4e","tags":["базы данных","распределённые системы","Zig","консенсус","системное программирование"],"title":"Обновлено: #45: TigerBeetle: база данных не похожа на остальные","url":"https://apkhmv.xyz/podcast/episode-45/"},{"_tf":{"change":"updated","changed_at":"2026-09-16T11:54:17+03:00","episode_number":44,"kind":"episode","md_url":"https://apkhmv.xyz/podcast/episode-44/index.md","transcript_status":"draft"},"attachments":[{"duration_in_seconds":7761,"mime_type":"audio/mpeg","url":"https://traffic.libsyn.com/secure/173caf0e-b8e8-4056-8a73-2d60d94118ef/44_SIMD.mp3"}],"content_text":"Обновлено — Александр Пахомов и коммитер ClickHouse Максим Кита разбирают процессоры глазами системного инженера — от иерархии кэшей, стека и prefetch до суперскалярности, спекулятивного выполнения и протокола когерентности `MESI`. Во второй половине разговор уходит в модели памяти (`happens-before`, relaxed / acquire-release / sequential consistency), false sharing и лок-фри-примитивы, а затем — в главную тему: `SIMD`, автовекторизацию, `CPU dispatch` и хитрые SIMD-алгоритмы вроде гугловой Swiss-хеш-таблицы, которыми ClickHouse ускоряет обработку данных.","date_published":"2026-09-16T11:54:17+03:00","id":"sha256:4f298258bad5d6ff0e495f163f377bd5004ff0eeaf95b122b15f63da6bfb9765","tags":["процессоры","SIMD","модели памяти","кэши","ClickHouse"],"title":"Обновлено: #44: SIMD в базах данных","url":"https://apkhmv.xyz/podcast/episode-44/"},{"_tf":{"change":"updated","changed_at":"2026-09-16T11:54:17+03:00","episode_number":43,"kind":"episode","md_url":"https://apkhmv.xyz/podcast/episode-43/index.md","transcript_status":"draft"},"attachments":[{"duration_in_seconds":7765,"mime_type":"audio/mpeg","url":"https://traffic.libsyn.com/secure/173caf0e-b8e8-4056-8a73-2d60d94118ef/43_JIT.mp3"}],"content_text":"Обновлено — Александр Пахомов и Максим Кита (ментейнер LLVM, коммитер ClickHouse) разбирают Just-In-Time-компиляцию: сначала на классическом примере JVM, где JIT девиртуализирует вызовы, инлайнит `get` у `ArrayList` и убирает bound-check, а потом — как тот же приём работает в базах данных. На примере ClickHouse, Postgres и YDB они показывают, как выполнение выражений над `union`-типами компилируется в одну плотную функцию через `LLVM IR`, чем OLAP-компиляция отличается от OLTP и почему `JIT` — это ещё и постоянный источник проблем с безопасностью и падениями.","date_published":"2026-09-16T11:54:17+03:00","id":"sha256:1a83b551660bcad7691cbe8d1c75f1db81feaada7f79d4649301ae0e8d9d4b4b","tags":["JIT","компиляторы","LLVM","базы данных","ClickHouse"],"title":"Обновлено: #43: Как работает JIT в базах данных","url":"https://apkhmv.xyz/podcast/episode-43/"},{"_tf":{"change":"updated","changed_at":"2026-09-16T11:54:17+03:00","episode_number":42,"kind":"episode","md_url":"https://apkhmv.xyz/podcast/episode-42/index.md","transcript_status":"draft"},"attachments":[{"duration_in_seconds":5572,"mime_type":"audio/mpeg","url":"https://traffic.libsyn.com/secure/173caf0e-b8e8-4056-8a73-2d60d94118ef/42_Cybersec.mp3"}],"content_text":"Обновлено — Александр Пахомов и Мекан Байрыев (специалист по безопасности веб-приложений в Mad Devs, автор YouTube-канала MrCyberSec) проходят путь атакующего от IP-адреса до `root`: сканирование портов `nmap`, перебор директорий и API-эндпоинтов, SQL-инъекции, хранение паролей и хеширование, reverse shell и эскалацию привилегий через SUID-биты, capabilities и cron. По ходу — типовые кейсы (утечка данных через незащищённую ручку, побайтовое чтение `id_rsa` через хеш-оракул, бэкдор в цепочке поставок и история с `xz`), подборка ресурсов для обучения (Hack The Box, TryHackMe, CTF) и чек-лист гигиены для бэкенд-разработчика, сводящийся к принципу минимальных привилегий.","date_published":"2026-09-16T11:54:17+03:00","id":"sha256:889bc8788d9427069cbb10b884b4ecb0bea013c952962abf58fd951e2957e0f4","tags":["кибербезопасность","SQL-инъекции","reverse shell","хеширование паролей","эскалация привилегий"],"title":"Обновлено: #42: MrCyberSec: что нужно знать про безопасность","url":"https://apkhmv.xyz/podcast/episode-42/"},{"_tf":{"change":"updated","changed_at":"2026-09-16T11:54:17+03:00","episode_number":41,"kind":"episode","md_url":"https://apkhmv.xyz/podcast/episode-41/index.md","transcript_status":"draft"},"attachments":[{"duration_in_seconds":9678,"mime_type":"audio/mpeg","url":"https://traffic.libsyn.com/secure/173caf0e-b8e8-4056-8a73-2d60d94118ef/41_Qdrant.mp3"}],"content_text":"Обновлено — Александр Пахомов и Андрей Васнецов (CTO и сооснователь Qdrant) разбирают, как устроен векторный поиск и почему Qdrant — это поисковый движок, а не «векторная база данных». По пути: откуда берутся эмбеддинги (word2vec, BERT, ONNX) и какими свойствами обладают векторы; почему точный индекс не работает в размерности полторы тысячи и как вместо него применяется приближённый `HNSW`; в чём киллер-фича Qdrant — фильтруемый `HNSW` со вторичными индексами; как всё это шардируется и реплицируется поверх `RAFT`; и большой финальный блок про Rust — от безопасного рефакторинга и `cargo` до вставок на ассемблере, квантизации и `io_uring`.","date_published":"2026-09-16T11:54:17+03:00","id":"sha256:9646f40938d98a9b455bc4789a52421661cd56a7c7e6624003093b2c51f6b5d4","tags":["векторный поиск","базы данных","Rust","HNSW и эмбеддинги","распределённые системы"],"title":"Обновлено: #41: Qdrant: Векторная база данных на Rust","url":"https://apkhmv.xyz/podcast/episode-41/"},{"_tf":{"change":"updated","changed_at":"2026-09-16T11:54:17+03:00","episode_number":40,"kind":"episode","md_url":"https://apkhmv.xyz/podcast/episode-40/index.md","transcript_status":"draft"},"attachments":[{"duration_in_seconds":6928,"mime_type":"audio/mpeg","url":"https://traffic.libsyn.com/secure/173caf0e-b8e8-4056-8a73-2d60d94118ef/neovim_offline.m4a"}],"content_text":"Обновлено — Первый оффлайн-выпуск «Тысячи фичей»: в гостях у Александра Пахомова — Илья Ильиных, автор YouTube-канала «Куда войти?». Почти два часа они разбирают эргономику рабочего места (посадка, монитор, сплит-клавиатуры, механические свитчи, слепая печать), путь от IntelliJ IDEA через Emacs к `NeoVim` и то, почему модальность и Unix-философия редактора заставляют программиста по-настоящему познакомиться со своими инструментами. Во второй половине — большой разговор про TDD как способ проектирования и «обуздания» легаси, про моки и интеграционные тесты и про то, стоит ли программировать по выходным.","date_published":"2026-09-16T11:54:17+03:00","id":"sha256:04e960485530bbefb3ec895b60cc11c33fbf1620e7c73d91c065ae92799739b1","tags":["эргономика","NeoVim","TDD","слепая печать","тестирование"],"title":"Обновлено: #40: Спэшл: Эргономика, NeoVim и TDD","url":"https://apkhmv.xyz/podcast/episode-40/"},{"_tf":{"change":"updated","changed_at":"2026-09-16T11:54:17+03:00","episode_number":39,"kind":"episode","md_url":"https://apkhmv.xyz/podcast/episode-39/index.md","transcript_status":"draft"},"attachments":[{"duration_in_seconds":5610,"mime_type":"audio/mpeg","url":"https://traffic.libsyn.com/secure/173caf0e-b8e8-4056-8a73-2d60d94118ef/39_LLMs_Science_Education.mp3"}],"content_text":"Обновлено — Александр Пахомов и Иван Ямщиков (профессор ИИ в THWS, Вюрцбург) уходят от техники в сторону науки и образования: как устроена академическая карьера в Европе (аспирантура — постдок — профессура) и почему письмо незнакомому учёному способно изменить траекторию. Через эмпирический принцип POSIWID («смысл системы в том, что она делает») Иван разбирает, чему на самом деле учит школа, а в финале выводит систему профессионального роста программиста: любопытство джуна, пет-проекты мидла и менторство сеньора.","date_published":"2026-09-16T11:54:17+03:00","id":"sha256:b0f478c3a47511ab261e30ee5066039b60d08e890244760c88b714c04466a1c7","tags":["образование","академическая карьера","профессиональный рост","генеративные модели","лайфхаки обучения"],"title":"Обновлено: #39: Иван Ямщиков: Наука, Образование и лайфхаки","url":"https://apkhmv.xyz/podcast/episode-39/"},{"_tf":{"change":"updated","changed_at":"2026-09-16T11:54:17+03:00","episode_number":38,"kind":"episode","md_url":"https://apkhmv.xyz/podcast/episode-38/index.md","transcript_status":"draft"},"attachments":[{"duration_in_seconds":9361,"mime_type":"audio/mpeg","url":"https://traffic.libsyn.com/secure/173caf0e-b8e8-4056-8a73-2d60d94118ef/38_Clickhouse.mp3"}],"content_text":"Обновлено — Александр Пахомов и коммитер ClickHouse Максим Кита разбирают, почему самая популярная аналитическая база данных не тормозит: от разницы OLAP и OLTP и колоночного хранения до движков семейства `MergeTree`, агрегатных функций, проекций и `FINAL`. Во второй половине — инженерная культура ClickHouse: stateless-тесты вместо моков, фаззинг, Jepsen и `TLA+`, интроспекция и профилирование запросов через flame graph, а также разбор инцидента с высокой конкурентностью у одного крупного клиента, где глобальный mutex в контексте заменили на read-write.","date_published":"2026-09-16T11:54:17+03:00","id":"sha256:d6fd212711d47165f25e580e056dcd61a31dc4649485473985ab40e083f570f8","tags":["ClickHouse","базы данных","OLAP","производительность","тестирование"],"title":"Обновлено: #38: Почему ClickHouse не тормозит","url":"https://apkhmv.xyz/podcast/episode-38/"},{"_tf":{"change":"updated","changed_at":"2026-09-16T11:54:17+03:00","episode_number":37,"kind":"episode","md_url":"https://apkhmv.xyz/podcast/episode-37/index.md","transcript_status":"draft"},"attachments":[{"duration_in_seconds":6467,"mime_type":"audio/mpeg","url":"https://traffic.libsyn.com/secure/173caf0e-b8e8-4056-8a73-2d60d94118ef/37_CEO_OF_HTMX.mp3"}],"content_text":"Обновлено — Александр Пахомов зовёт в гости Вастрика (vas3k) — технологического блогера и основателя Вастрик-клуба — чтобы разобрать, на каком стеке живут его pet-проекты и почему инженерная простота — это не тупость, а опыт. Гость рассказывает, как из ЖЖ вырос блог на `Django` с `Postgres` в `Docker`, деплоем по `SSH` и одной машиной на Hetzner под `Cloudflare`, и объясняет главный тезис: код для себя и код на работе решают противоположные задачи. Финал — манифест против SPA и ода `HTMX` как «расширенному HTML» для бэкендеров.","date_published":"2026-09-16T11:54:17+03:00","id":"sha256:93aee16fb48c0b1eeba43468ce0f8537023151dea0a472055ada37de212afcef","tags":["инди-хакинг","веб-разработка","HTMX","pet-проекты","деплой"],"title":"Обновлено: #37: vas3k: CEO OF HTMX","url":"https://apkhmv.xyz/podcast/episode-37/"},{"_tf":{"change":"updated","changed_at":"2026-09-16T11:54:17+03:00","episode_number":36,"kind":"episode","md_url":"https://apkhmv.xyz/podcast/episode-36/index.md","transcript_status":"draft"},"attachments":[{"duration_in_seconds":6832,"mime_type":"audio/mpeg","url":"https://traffic.libsyn.com/secure/173caf0e-b8e8-4056-8a73-2d60d94118ef/36_Rust_C_LLVM_Clickhouse.mp3"}],"content_text":"Обновлено — Первый «хардкорный» выпуск: Александр Пахомов и Максим Кита (разработчик ClickHouse, контрибьютор компилятора Swift, коммитер LLVM) разбирают, как устроен современный компилятор — фронтенд, middle-end и бэкенд, `LLVM IR` в `SSA`-форме, basic-блоки и phi-ноды. По пути — почему на C++ тяжело писать без санитайзеров и `clang-tidy`, чем силён `borrow checker` в Rust, что такое compile-time-полиморфизм и `if constexpr`, как деление превращается в умножение, и как реально законтрибьютить в LLVM и компилятор Swift.","date_published":"2026-09-16T11:54:17+03:00","id":"sha256:404ecc9038bb2793972d86ada8d0f77aab7e995d1fc433698a1f35e19c69ef43","tags":["LLVM","компиляторы","Rust","C++","open source"],"title":"Обновлено: #36: LLVM: Rust, современный C++, как законтрибьютить","url":"https://apkhmv.xyz/podcast/episode-36/"},{"_tf":{"change":"updated","changed_at":"2026-09-16T11:54:17+03:00","episode_number":35,"kind":"episode","md_url":"https://apkhmv.xyz/podcast/episode-35/index.md","transcript_status":"draft"},"attachments":[{"duration_in_seconds":3293,"mime_type":"audio/mpeg","url":"https://traffic.libsyn.com/secure/173caf0e-b8e8-4056-8a73-2d60d94118ef/35_IntelliJ_IDEA_ep.mp3"}],"content_text":"Обновлено — Специальный выпуск про устройство IntelliJ IDEA: Александр Пахомов расспрашивает разработчика JetBrains Даниила Овчинникова о том, из чего собран IDE изнутри. Разбирают разделение на платформу и плагины (поддержка Java — тоже плагин), `PSI` как абстрактное синтаксическое дерево «на стероидах» и пайплайн его построения (`Lexer` → парсер → `AST` → `PSI`), устройство автодополнения через вставку скрытого идентификатора `IntelliJ IDEA RULES`, модель экшенов и гетерогенный контекст, инкрементальный репарсинг, многослойное тестирование (парсинг, инспекции, quick fix, completion, property-тесты на `JetCheck`), а также вечный спор о форматах конфигурации (`XML` против `JSON`/`YAML`/`HOCON`) и планы вынести UI на Compose Multiplatform.","date_published":"2026-09-16T11:54:17+03:00","id":"sha256:7d65802833b0f40ca5bc11285361ddb8789804940889ec9fe5f1d882d867f6b0","tags":["IntelliJ IDEA","устройство IDE","парсеры и PSI","тестирование","разработка плагинов"],"title":"Обновлено: #35: IntelliJ IDEA: самый популярный редактор для Java","url":"https://apkhmv.xyz/podcast/episode-35/"},{"_tf":{"change":"updated","changed_at":"2026-09-16T11:54:17+03:00","episode_number":34,"kind":"episode","md_url":"https://apkhmv.xyz/podcast/episode-34/index.md","transcript_status":"draft"},"attachments":[{"duration_in_seconds":6508,"mime_type":"audio/mpeg","url":"https://traffic.libsyn.com/secure/173caf0e-b8e8-4056-8a73-2d60d94118ef/FAANG_Interview.mp3"}],"content_text":"Обновлено — Большой «спэшл» с гостем — Дмитрием Волыхиным, ведущим подкаста Java Swag и лидером комьюнити FAANG Talks, который получил оффер в Meta. Вместе с Александром они подробно разбирают весь путь подготовки к интервью в big tech: почему это лотерея и стоит ли платить за буткемпы, как устроены три части собеседования (алгоритмы, system design, behavioral), сколько готовиться и как выбрать между «спринтом» и «марафоном». Отдельно — про моки, про 7 шагов system design, про метод STAR, про грейды и деньги (`levels.fyi`), релокацию и главный инсайт: подготовка к FAANG делает тебя сильнее как инженера здесь и сейчас.","date_published":"2026-09-16T11:54:17+03:00","id":"sha256:3140f2b228e3fe1d765d36be0e339e435a03a2e991965da1b3a81565c1aaa0dc","tags":["FAANG","собеседования","алгоритмы","system design","карьера в IT"],"title":"Обновлено: #34: Спэшл: Подготовка к FAANG и важность алгоритмов","url":"https://apkhmv.xyz/podcast/episode-34/"},{"_tf":{"change":"updated","changed_at":"2026-09-16T11:54:17+03:00","episode_number":33,"kind":"episode","md_url":"https://apkhmv.xyz/podcast/episode-33/index.md","transcript_status":"draft"},"attachments":[{"duration_in_seconds":2810,"mime_type":"audio/mpeg","url":"https://traffic.libsyn.com/secure/173caf0e-b8e8-4056-8a73-2d60d94118ef/33_Query_Optimizations.mp3"}],"content_text":"Обновлено — Финал второго сезона про базы данных. Александр Пахомов разбирает один из самых сложных компонентов СУБД — оптимизатор запросов: как выглядит план запроса и как по нему текут данные, три модели обработки (итератор, материализация, векторизация), методы доступа к данным (`sequential scan` с его оптимизациями и `index scan`), Halloween Problem и JIT-компиляцию выражений. Вторая половина — параллелизм: модели воркеров (процесс на воркер, тред на воркер, embedded), горизонтальное распараллеливание плана и место самого оптимизатора в конвейере от парсера до физического плана, где он применяет эвристики и cost-based-оптимизации на основе статистик.","date_published":"2026-09-16T11:54:17+03:00","id":"sha256:99e2fa12f177ec546c5681a1f9796516a299fe6470b58bf3f747d91294f1294a","tags":["оптимизация запросов","план запроса","оптимизатор запросов","параллелизм в базах данных","cost-based оптимизация"],"title":"Обновлено: #33: Query optimizations: эвристики и cost-based","url":"https://apkhmv.xyz/podcast/episode-33/"},{"_tf":{"change":"updated","changed_at":"2026-09-16T11:54:17+03:00","episode_number":32,"kind":"episode","md_url":"https://apkhmv.xyz/podcast/episode-32/index.md","transcript_status":"draft"},"attachments":[{"duration_in_seconds":1834,"mime_type":"audio/mpeg","url":"https://traffic.libsyn.com/secure/173caf0e-b8e8-4056-8a73-2d60d94118ef/32_Joins.mp3"}],"content_text":"Обновлено — Продолжение сезона про базы данных. Александр Пахомов разбирает, как СУБД сортируют и соединяют таблицы, когда данные не влезают в оперативную память. Сначала — алгоритмы сортировки (`quicksort`, top-N heap sort, external merge sort) и их оптимизации (early/late materialization, prefetch, кодогенерация под типы, сравнение бинарных префиксов), затем hash aggregate для `GROUP BY`, и наконец три способа соединения таблиц — nested loop join, sort-merge join и hash join — с выводом, почему hash join обычно самый эффективный.","date_published":"2026-09-16T11:54:17+03:00","id":"sha256:91793f143128b05d3e4df28c8fccae258a0be078411069d8e29336a289eca523","tags":["базы данных","сортировки","join","hash join","query-план"],"title":"Обновлено: #32: Merge sort и hash join: соединяют и сортируют","url":"https://apkhmv.xyz/podcast/episode-32/"},{"_tf":{"change":"updated","changed_at":"2026-09-16T11:54:17+03:00","episode_number":31,"kind":"episode","md_url":"https://apkhmv.xyz/podcast/episode-31/index.md","transcript_status":"draft"},"attachments":[{"duration_in_seconds":1739,"mime_type":"audio/mpeg","url":"https://traffic.libsyn.com/secure/173caf0e-b8e8-4056-8a73-2d60d94118ef/31_WAL.mp3"}],"content_text":"Обновлено — Выпуск про Write-Ahead Log — механизм, который обеспечивает атомарность и долговечность транзакций и лежит в сердце почти любой базы данных. Александр объясняет, зачем логировать изменения, если оперативная память быстрая, но недолговечна, разбирает политики буферизации (`steal`/`no-steal`, `force`/`no-force`) и альтернативу в виде shadow paging, а затем на пальцах проходит устройство самого лога (append-only, immutable, log records, checkpoint) и семейство алгоритмов восстановления ARIES с его фазами analysis, redo и undo.","date_published":"2026-09-16T11:54:17+03:00","id":"sha256:cdb16a755b8d281557ee4a824cc3a8c19dc7ec888514d769986b4c7eb17c125e","tags":["базы данных","write-ahead log","восстановление после сбоя","транзакции","ARIES"],"title":"Обновлено: #31: WAL: сердце любой базы данных","url":"https://apkhmv.xyz/podcast/episode-31/"},{"_tf":{"change":"updated","changed_at":"2026-09-16T11:54:17+03:00","episode_number":30,"kind":"episode","md_url":"https://apkhmv.xyz/podcast/episode-30/index.md","transcript_status":"draft"},"attachments":[{"duration_in_seconds":2049,"mime_type":"audio/mpeg","url":"https://traffic.libsyn.com/secure/173caf0e-b8e8-4056-8a73-2d60d94118ef/30_LSM_Tree.mp3"}],"content_text":"Обновлено — Юбилейный тридцатый выпуск про Log-Structured Merge Tree — структуру данных, оптимизированную под запись и ставшую основной альтернативой `B+`-деревьям в современных key-value-хранилищах. Александр Пахомов объясняет RUM-трейд-офф (read-update-memory) и слабые места `B+`-дерева на записи, разбирает устройство двух- и многокомпонентного LSM (дерево в памяти + write-ahead log + иммутабельные `SSTable` на диске, compaction по уровням, tombstone-удаления), показывает, почему чтение в LSM платит за быструю запись, и связывает популярность LSM с физикой SSD, который тоже пишет и стирает блоками журналируемо.","date_published":"2026-09-16T11:54:17+03:00","id":"sha256:66882662bdad97a88f78bdfc9e48e2c6230bbb7b5245b4487c91b01a86de672e","tags":["LSM-дерево","структуры данных","хранилища баз данных","compaction","SSD"],"title":"Обновлено: #30: LSM Tree: структура данных взрывает мозг","url":"https://apkhmv.xyz/podcast/episode-30/"},{"_tf":{"change":"updated","changed_at":"2026-09-16T11:54:17+03:00","episode_number":29,"kind":"episode","md_url":"https://apkhmv.xyz/podcast/episode-29/index.md","transcript_status":"draft"},"attachments":[{"duration_in_seconds":2829,"mime_type":"audio/mpeg","url":"https://traffic.libsyn.com/secure/173caf0e-b8e8-4056-8a73-2d60d94118ef/29_Concurrency_control.mp3"}],"content_text":"Обновлено — Продолжение сезона про базы данных: как СУБД на самом деле гарантируют уровни изоляции. Александр разбирает три протокола управления конкурентностью — пессимистичную двухфазную блокировку (2PL) с её строгой версией, детекцией дедлоков по waits-for-graph, гранулярностью и intention locks; оптимистическое управление (OCC) с private workspace и фазами чтения/валидации/записи; и мультиверсионность (MVCC), которая хранит несколько версий объекта, даёт snapshot isolation почти бесплатно и лежит в основе большинства современных СУБД. Попутно — таймстемп-ординг как теоретический фундамент, аномалия write skew, дефолтные уровни изоляции в Postgres, Oracle и Google Spanner, а также хранение версий, сборка мусора и вторичные индексы в MVCC.","date_published":"2026-09-16T11:54:17+03:00","id":"sha256:af307f4ae00cb80167bfdc59f7c40d5fdbeb4692fce1a7bd02db1b927ed3699d","tags":["управление конкурентностью","транзакции","уровни изоляции","MVCC","базы данных"],"title":"Обновлено: #29: Concurrency control: 2PL, OCC, MVCC","url":"https://apkhmv.xyz/podcast/episode-29/"},{"_tf":{"change":"updated","changed_at":"2026-09-16T11:54:17+03:00","episode_number":28,"kind":"episode","md_url":"https://apkhmv.xyz/podcast/episode-28/index.md","transcript_status":"draft"},"attachments":[{"duration_in_seconds":1799,"mime_type":"audio/mpeg","url":"https://traffic.libsyn.com/secure/173caf0e-b8e8-4056-8a73-2d60d94118ef/28_ACID_Transactions.mp3"}],"content_text":"Обновлено — Сольный выпуск из серии про базы данных. Александр Пахомов разбирает ACID-транзакции: сначала «зазубренный» ответ на собеседовании (атомарность, консистентность, изоляция, долговечность) с комментариями к каждому свойству и упоминанием реализаций через write-ahead log и shadow paging, а затем — главную часть про изоляцию. На аналогии со складом он объясняет аномалии параллельного исполнения (грязное и неповторяемое чтение, фантомы, потерянное обновление, грязная запись, write skew), выстраивает из них уровни изоляции вплоть до `serializable` и разбирает, что вообще стоит за сериализуемостью — конфликты, граф зависимостей и разница между conflict- и view-serializable.","date_published":"2026-09-16T11:54:17+03:00","id":"sha256:f481897c244cc29c948017219c80c55fcc69766632a2787dcb9e240910f432ed","tags":["ACID","транзакции","уровни изоляции","сериализуемость","аномалии чтения и записи"],"title":"Обновлено: #28: ACID transactions: аномалии и сериализуемость","url":"https://apkhmv.xyz/podcast/episode-28/"},{"_tf":{"change":"updated","changed_at":"2026-09-16T11:54:17+03:00","episode_number":27,"kind":"episode","md_url":"https://apkhmv.xyz/podcast/episode-27/index.md","transcript_status":"draft"},"attachments":[{"duration_in_seconds":1968,"mime_type":"audio/mpeg","url":"https://traffic.libsyn.com/secure/173caf0e-b8e8-4056-8a73-2d60d94118ef/27_HashTables.mp3"}],"content_text":"Обновлено — Выпуск сезона про базы данных: почему хэш-таблицы проиграли `B+`-деревьям гонку за звание главной структуры данных для индексов. Александр Пахомов разбирает устройство хэш-таблицы и её два ключевых архитектурных решения — выбор хэш-функции (trade-off «скорость против collision rate», от `MurmurHash` и `CityHash` до state-of-the-art `xxHash`) и схему хэширования: статические (linear probe, Robin Hood, cuckoo) и динамические (chained, extendable, linear hashing).","date_published":"2026-09-16T11:54:17+03:00","id":"sha256:20153a869e4ba878cee788555be7b5f74c46774a1fbf71977f5905276a9c5bb2","tags":["хэш-таблицы","хэш-функции","схемы хэширования","базы данных","индексы"],"title":"Обновлено: #27: Хэш таблицы: функции и схемы хэширования","url":"https://apkhmv.xyz/podcast/episode-27/"},{"_tf":{"change":"updated","changed_at":"2026-09-16T11:54:17+03:00","episode_number":26,"kind":"episode","md_url":"https://apkhmv.xyz/podcast/episode-26/index.md","transcript_status":"draft"},"attachments":[{"duration_in_seconds":1345,"mime_type":"audio/mpeg","url":"https://traffic.libsyn.com/secure/173caf0e-b8e8-4056-8a73-2d60d94118ef/26_Latches.mp3"}],"content_text":"Обновлено — Продолжение сезона про базы данных: разбор проблем классического B+tree и инженерных приёмов их решения. Александр Пахомов объясняет, зачем деревьям нужны защёлки (latches) и почему в мире СУБД «блокировки» и «защёлки» значат не то же, что в языках программирования, показывает метод latch crabbing с оптимистичным спуском, а затем разбирает две продакшен-оптимизации записи — copy-on-write B+tree (движок LMDB в OpenLDAP) и буферизацию дельт в Lazy/Buffered B+tree (движок WiredTiger в MongoDB).","date_published":"2026-09-16T11:54:17+03:00","id":"sha256:409c612396c4f2da3a22b7f0bd0fb99330cffe1e32fceb6d05bc7d6452a5ac2e","tags":["B+tree","защёлки","базы данных","storage engine","copy-on-write"],"title":"Обновлено: #26: Оптимизируем B+tree: копирование, пакетирование","url":"https://apkhmv.xyz/podcast/episode-26/"},{"_tf":{"change":"updated","changed_at":"2026-09-16T11:54:17+03:00","episode_number":25,"kind":"episode","md_url":"https://apkhmv.xyz/podcast/episode-25/index.md","transcript_status":"draft"},"attachments":[{"duration_in_seconds":1616,"mime_type":"audio/mpeg","url":"https://traffic.libsyn.com/secure/173caf0e-b8e8-4056-8a73-2d60d94118ef/25_Buffer_pool_and_fsync.mp3"}],"content_text":"Обновлено — Продолжение сезона про базы данных. Александр разбирает, как СУБД управляют памятью: что такое buffer pool, зачем нужны dirty pages и отложенная запись, чем опасен `fsync` (включая почти двадцатилетний баг в Postgres, из-за которого ошибка `fsync` приводила к потере данных) и почему поэтому многие базы пишут собственный кэш в обход ОС через `O_DIRECT`, несмотря на знаменитую отповедь Линуса Торвальдса. Во второй половине — политики вытеснения страниц: FIFO, LRU, 2Q, Clock и TinyLFU из библиотеки Caffeine.","date_published":"2026-09-16T11:54:17+03:00","id":"sha256:04b8ffca249c76b58cd5bfd262acd836a0b5536bffc6f9f553264e4f36d76952","tags":["buffer pool","базы данных","fsync и долговечность","вытеснение страниц","кэширование"],"title":"Обновлено: #25: Buffer pools: почему БД реализуют часть ОС","url":"https://apkhmv.xyz/podcast/episode-25/"},{"_tf":{"change":"updated","changed_at":"2026-09-16T11:54:17+03:00","episode_number":24,"kind":"episode","md_url":"https://apkhmv.xyz/podcast/episode-24/index.md","transcript_status":"draft"},"attachments":[{"duration_in_seconds":1219,"mime_type":"audio/mpeg","url":"https://traffic.libsyn.com/secure/173caf0e-b8e8-4056-8a73-2d60d94118ef/24_B-tree.mp3"}],"content_text":"Обновлено — Продолжение сезона про базы данных. Александр Пахомов объясняет, почему главной структурой данных в индексах стало именно B-дерево: сначала на пальцах разбирает бинарное дерево поиска, его инвариант и вырождение в список, затем — балансировку и логарифмический поиск, и показывает, почему бинарные деревья не годятся для диска (большая высота → много случайных чтений). Дальше на примере библиотеки с указателями на стеллажах он раскрывает устройство `B+tree` (внутренние узлы-указатели, листовые узлы с данными, связанный список листьев для sequential scan) и объясняет, чем оно лучше классического `B-tree`.","date_published":"2026-09-16T11:54:17+03:00","id":"sha256:7fe613213e2321c8546c5d624686e2e2eb164105e352c045e8075f0f0459bfea","tags":["базы данных","структуры данных","B-дерево","индексы","работа с диском"],"title":"Обновлено: #24: Лучшая структура данных: B-tree, B+tree","url":"https://apkhmv.xyz/podcast/episode-24/"},{"_tf":{"change":"updated","changed_at":"2026-09-16T11:54:17+03:00","episode_number":23,"kind":"episode","md_url":"https://apkhmv.xyz/podcast/episode-23/index.md","transcript_status":"draft"},"attachments":[{"duration_in_seconds":1601,"mime_type":"audio/mpeg","url":"https://traffic.libsyn.com/secure/173caf0e-b8e8-4056-8a73-2d60d94118ef/23_SSD_and_HDD_disks.mp3"}],"content_text":"Обновлено — Выпуск второго сезона про базы данных. Александр Пахомов объясняет, как внутреннее устройство накопителей — механическая головка HDD и блочная организация SSD (ячейка → строка → массив → страница → блок, где чтение и запись идут страницами, а удаление — блоками) — диктует примитивы, которыми оперируют хранилища. Разбирает иерархию памяти и таблицу задержек «Latency Numbers Every Programmer Should Know», а затем — устройство страницы в базе данных: заголовок и записи, фрагментацию с дефрагментацией и в итоге слотированные страницы (slotted pages) со слот-массивом, растущим навстречу данным.","date_published":"2026-09-16T11:54:17+03:00","id":"sha256:0099e1010001c36b016b5a1b58272655c020bf98d455bde3b2f8683a89af3082","tags":["базы данных","устройство дисков","SSD и HDD","слотированные страницы","иерархия памяти"],"title":"Обновлено: #23: SSD и HDD: устройство дисков и слотированные страницы","url":"https://apkhmv.xyz/podcast/episode-23/"},{"_tf":{"change":"updated","changed_at":"2026-09-16T11:54:17+03:00","episode_number":22,"kind":"episode","md_url":"https://apkhmv.xyz/podcast/episode-22/index.md","transcript_status":"draft"},"attachments":[{"duration_in_seconds":1450,"mime_type":"audio/mpeg","url":"https://traffic.libsyn.com/secure/173caf0e-b8e8-4056-8a73-2d60d94118ef/22_Database_Architecture.mp3"}],"content_text":"Обновлено — Второй выпуск сезона про базы данных. Через развёрнутую аналогию с сортировочным складом Александр Пахомов разбирает верхнеуровневую архитектуру почти любой СУБД — транспортный уровень, обработчик запросов с оптимизатором, подсистему выполнения и подсистему хранилища (диспетчеры транзакций, блокировок, буфера, восстановления и средства доступа), — а затем классифицирует базы данных по методам хранения: OLTP против OLAP, in-memory против дисковых, строковые против колоночных. В финале — идея композируемости: современные СУБД собираются из переиспользуемых блоков, но абстракции между слоями неизбежно текут ради скорости.","date_published":"2026-09-16T11:54:17+03:00","id":"sha256:5c95898da739796663906c7e4ef2106ef97eb0f083183bb2150572a3fdc3dcfa","tags":["базы данных","архитектура СУБД","OLAP и OLTP","колоночные хранилища","подсистема хранения"],"title":"Обновлено: #22: Архитектура баз данных: компоненты и классификация","url":"https://apkhmv.xyz/podcast/episode-22/"},{"_tf":{"change":"updated","changed_at":"2026-09-16T11:54:17+03:00","episode_number":21,"kind":"episode","md_url":"https://apkhmv.xyz/podcast/episode-21/index.md","transcript_status":"draft"},"attachments":[{"duration_in_seconds":2381,"mime_type":"audio/mpeg","url":"https://traffic.libsyn.com/secure/173caf0e-b8e8-4056-8a73-2d60d94118ef/21_into_into_databases.mp3"}],"content_text":"Обновлено — Первый выпуск второго сезона, посвящённого базам данных. Александр Пахомов объясняет, почему глубокое, а не поверхностное понимание баз данных важнее знания конкретного языка, фреймворка или СУБД, прослеживает историю от реляционных систем 70-х через NoSQL и NewSQL до облачных и shared-disk-решений, а затем освежает ключевые концепции SQL: `SELECT`/`WHERE`, агрегаты, `GROUP BY`/`HAVING`, `JOIN`, оконные функции и common table expressions.","date_published":"2026-09-16T11:54:17+03:00","id":"sha256:837406334179b2662f0f2eaac1a0ac1ee203e41860457d29081780b9f8486135","tags":["базы данных","SQL","история технологий","NoSQL","реляционные СУБД"],"title":"Обновлено: #21: Введение в базы данных: История и SQL","url":"https://apkhmv.xyz/podcast/episode-21/"},{"_tf":{"change":"updated","changed_at":"2026-09-16T11:54:17+03:00","episode_number":20,"kind":"episode","md_url":"https://apkhmv.xyz/podcast/episode-20/index.md","transcript_status":"draft"},"attachments":[{"duration_in_seconds":2629,"mime_type":"audio/mpeg","url":"https://traffic.libsyn.com/secure/173caf0e-b8e8-4056-8a73-2d60d94118ef/20_Genetic_algorithms.mp3"}],"content_text":"Обновлено — Юбилейный двадцатый выпуск без гостей. Александр Пахомов рассказывает про свой магистерский диплом — «мертворождённый» инструмент, который генетическим алгоритмом писал бы юнит-тесты на Java-код. По пути он даёт вводную в теорию тестирования (классы эквивалентности, критерии покрытия от строк до MC/DC, мутационное тестирование, фазинг и Search-Based Software Testing), разбирает устройство абстрактного генетического алгоритма и объясняет, как он спроецировал его понятия — популяцию, гены, функцию приспособленности, мутацию и скрещивание — на генерацию тестов, а в конце признаёт, что как продукт затею убил Copilot.","date_published":"2026-09-16T11:54:17+03:00","id":"sha256:0ca3399df8f8710abbf48353cf59fbe7891b5cbdcd2a43f2cfedaecad2ef7e84","tags":["генетические алгоритмы","тестирование","генерация тестов","покрытие кода","дипломная работа"],"title":"Обновлено: #20: Выживает сильнейший: генетические алгоритмы","url":"https://apkhmv.xyz/podcast/episode-20/"},{"_tf":{"change":"updated","changed_at":"2026-09-16T11:54:17+03:00","episode_number":19,"kind":"episode","md_url":"https://apkhmv.xyz/podcast/episode-19/index.md","transcript_status":"draft"},"attachments":[{"duration_in_seconds":2034,"mime_type":"audio/mpeg","url":"https://traffic.libsyn.com/secure/173caf0e-b8e8-4056-8a73-2d60d94118ef/19_Small_Teams.mp3"}],"content_text":"Обновлено — Сольный выпуск по мотивам «Программиста-прагматика». Александр Пахомов размышляет об оптимальном размере команды (5–7 человек) и о пользе функциональных команд, способных выдавать end-to-end результат, разбирает происхождение термина «карго-культ» и его проявления в скраме, а затем формулирует три практики из Pragmatic Starter Kit, которые должны быть в любом проекте: система контроля версий, тестирование и полная автоматизация. В финале — идея, что инженер прежде всего problem solver, призыв «подписывать свою работу» и наводка на YouTube-канал Computerphile.","date_published":"2026-09-16T11:54:17+03:00","id":"sha256:92a1f8714914f3a389f738cb063c9a1e6607ad13d2e9ae43320bafb60e02d0cb","tags":["размер команды","карго-культ","тестирование","CI/CD","командные процессы"],"title":"Обновлено: #19: Выдал базу: три важнейших вещи в разработке","url":"https://apkhmv.xyz/podcast/episode-19/"},{"_tf":{"change":"updated","changed_at":"2026-09-16T11:54:17+03:00","episode_number":18,"kind":"episode","md_url":"https://apkhmv.xyz/podcast/episode-18/index.md","transcript_status":"draft"},"attachments":[{"duration_in_seconds":1561,"mime_type":"audio/mpeg","url":"https://traffic.libsyn.com/secure/173caf0e-b8e8-4056-8a73-2d60d94118ef/18_.mp3"}],"content_text":"Обновлено — Спэшл-выпуск «положение дел»: Александр рассказывает, что подкаст не заканчивается, а он расширяет территорию — выходит на YouTube (первый видос будет про сам подкаст) и присматривается к TikTok. Большая часть выпуска — подробный дневник погружения дилетанта в видеопроизводство: камера Sony A7 III, микрофон, свет как самая важная часть кадра (схема из трёх источников: ключевой, контровый, подсветка фона), монтаж в DaVinci Resolve вместо тормозящего iMovie, музыка и авторские права, а также генерация обложек через Midjourney с промтами от GPT-4.","date_published":"2026-09-16T11:54:17+03:00","id":"sha256:950abe22e3b8ca97a7d63fcba6f0c4e2780e922b4cf8a77b642617c2ec37204d","tags":["подкастинг","YouTube","видеопроизводство","монтаж видео","нейросети"],"title":"Обновлено: #18: Спэшл: положение дел, YouTube","url":"https://apkhmv.xyz/podcast/episode-18/"},{"_tf":{"change":"updated","changed_at":"2026-09-16T11:54:17+03:00","episode_number":17,"kind":"episode","md_url":"https://apkhmv.xyz/podcast/episode-17/index.md","transcript_status":"draft"},"attachments":[{"duration_in_seconds":2219,"mime_type":"audio/mpeg","url":"https://traffic.libsyn.com/secure/173caf0e-b8e8-4056-8a73-2d60d94118ef/17_Requirements.mp3"}],"content_text":"Обновлено — Выпуск по мотивам книги «Программист-прагматик». Александр Пахомов доказывает, что требования нужны в первую очередь самим разработчикам — чтобы уточнить, чего на самом деле хочет заказчик, и не писать лишний код, — и разводит требования с бизнес-политиками, которые нельзя зашивать в хардкод. Затем он разбирает приёмы решения запутанных задач (сузить проблему, загрузить данные в подсознание, найти «уточку»), делится своим взглядом на парное программирование и живое общение против асинхронного, а под конец разоблачает agile-коучей и спорит с культом спринтов.","date_published":"2026-09-16T11:54:17+03:00","id":"sha256:92babf16dd9e5e41d398be840fd40a8f159a67662e645d39cfb2640d72df803c","tags":["требования к ПО","парное программирование","Agile","софт-скиллы","решение задач"],"title":"Обновлено: #17: Гибкие требования: парное программирование, Agile","url":"https://apkhmv.xyz/podcast/episode-17/"},{"_tf":{"change":"updated","changed_at":"2026-09-16T11:54:17+03:00","episode_number":16,"kind":"episode","md_url":"https://apkhmv.xyz/podcast/episode-16/index.md","transcript_status":"draft"},"attachments":[{"duration_in_seconds":792,"mime_type":"audio/mpeg","url":"https://traffic.libsyn.com/secure/173caf0e-b8e8-4056-8a73-2d60d94118ef/16_.mp3"}],"content_text":"Обновлено — Первый «спэшл» — короткий тематический выпуск между основными. Александр разбирает модель управления доступом Role-Based Access Control (RBAC): три её кита (пользователи, роли, привилегии), надстройки в виде иерархии ролей и ограничений (разделение обязанностей и лимиты на назначение ролей), а затем на пальцах сравнивает реализации в Postgres (где путаются пользователи и роли) и ClickHouse (с хорошей иерархией привилегий, но возможностью выдавать их и пользователям напрямую — что ломает каноническую модель).","date_published":"2026-09-16T11:54:17+03:00","id":"sha256:dd2ac6983bae5ca4755022b73fe92973ccd2054bad0f1bf829e7bc92f5f81ba0","tags":["RBAC","контроль доступа","базы данных","безопасность","ClickHouse"],"title":"Обновлено: #16: Спэшл: RBAC","url":"https://apkhmv.xyz/podcast/episode-16/"},{"_tf":{"change":"updated","changed_at":"2026-09-16T11:54:17+03:00","episode_number":15,"kind":"episode","md_url":"https://apkhmv.xyz/podcast/episode-15/index.md","transcript_status":"draft"},"attachments":[{"duration_in_seconds":2539,"mime_type":"audio/mpeg","url":"https://traffic.libsyn.com/secure/173caf0e-b8e8-4056-8a73-2d60d94118ef/15_Fib.nth_2.mp3"}],"content_text":"Обновлено — Глава «While You Are Coding» из «Программиста-прагматика» глазами Александра: как победить боязнь белого листа прототипом-игрой, почему нельзя коммитить код, который не понимаешь (история с незадокументированным бином Spring Shell), «мышление графиками» вместо зубрёжки О-большого, атомарный рефакторинг с точки зрения свежеиспечённого коммитера Apache-проекта, TDD без карго-культа, property-based testing для проверки инвариантов и капитанские, но забываемые правила security. И хохма про Fib.nth, давшая выпуску имя.","date_published":"2026-09-16T11:54:17+03:00","id":"sha256:529aee09fd81763e76b9940ae9a832c7b8ebdb10bcac6005bafa3b399fde2249","tags":["Программист-прагматик","тестирование","алгоритмы","рефакторинг","безопасность"],"title":"Обновлено: #15: Fib.nth: о чем не думают инженеры","url":"https://apkhmv.xyz/podcast/episode-15/"},{"_tf":{"change":"updated","changed_at":"2026-09-16T11:54:17+03:00","episode_number":14,"kind":"episode","md_url":"https://apkhmv.xyz/podcast/episode-14/index.md","transcript_status":"draft"},"attachments":[{"duration_in_seconds":1467,"mime_type":"audio/mpeg","url":"https://traffic.libsyn.com/secure/173caf0e-b8e8-4056-8a73-2d60d94118ef/ChatGPT_Copilot.mp3"}],"content_text":"Обновлено — Взгляд прагматичного инженера на GPT-хайп весны 2023-го: как Александр реально использует ChatGPT в ежедневной работе — пишет гуглдоки и джира-тикеты «потоком сознания» с нативной редактурой, почему Copilot в коде чаще мешает, чем помогает, но отлично пишет JavaDoc и подсказывает забытые тест-кейсы. Плюс Copilot CLI, плагины ChatGPT через OpenAPI-спеку и проверенная руками (и отложенная) идея пайплайна Whisper → ChatGPT → телеграм-посты из выпусков подкаста. Полезняшка — браузер Arc.","date_published":"2026-09-16T11:54:17+03:00","id":"sha256:de5531eda9cf1adcffa027938e3fc8cf75ca02c163d15378a1305cc334fc29a0","tags":["ChatGPT","Copilot","AI","инструменты","продуктивность"],"title":"Обновлено: #14: Используем технологии по назначению","url":"https://apkhmv.xyz/podcast/episode-14/"},{"_tf":{"change":"updated","changed_at":"2026-09-16T11:54:17+03:00","episode_number":13,"kind":"episode","md_url":"https://apkhmv.xyz/podcast/episode-13/index.md","transcript_status":"draft"},"attachments":[{"duration_in_seconds":2163,"mime_type":"audio/mpeg","url":"https://traffic.libsyn.com/secure/173caf0e-b8e8-4056-8a73-2d60d94118ef/13_Builder.mp3"}],"content_text":"Обновлено — Любимый паттерн Александра — Builder: закрытый конструктор, immutable-объекты, валидации в сеттерах, именованные параметры, которых нет в Java, тестовые фикстуры — и как он пишет билдеры руками, без Lombok (а Copilot их отлично генерирует). Во второй части по мотивам «Программиста-прагматика» — конкурентность: чем она отличается от параллелизма, почему shared state is hard, как устроена модель акторов и почему её современное воплощение — микросервисы с Kafka-«мейлбоксом» и Kubernetes-«супервайзером». Полезняшки — плейлист про устройство баз данных и фичи новой Java.","date_published":"2026-09-16T11:54:17+03:00","id":"sha256:bc26f06153044859e1bf89732026bca7e00e17a5cc07f19a408a405275a27e48","tags":["паттерны","Java","конкурентность","модель акторов","Программист-прагматик"],"title":"Обновлено: #13: Любимый паттерн: Builder, Concurrency, Actors","url":"https://apkhmv.xyz/podcast/episode-13/"},{"_tf":{"change":"updated","changed_at":"2026-09-16T11:54:17+03:00","episode_number":12,"kind":"episode","md_url":"https://apkhmv.xyz/podcast/episode-12/index.md","transcript_status":"draft"},"attachments":[{"duration_in_seconds":1763,"mime_type":"audio/mpeg","url":"https://traffic.libsyn.com/secure/173caf0e-b8e8-4056-8a73-2d60d94118ef/12_Inheritance_tax.mp3"}],"content_text":"Обновлено — Связность — враг изменений: по мотивам «Программиста-прагматика» Александр разбирает признаки высокого каплинга и способы его снижать — от инкапсуляции и отказа от глобального стейта до недооцененных конечных автоматов, observer-паттерна и pub-sub с реактивным программированием. Кульминация — «налог на наследование»: почему наследование классов — самый сильный способ связать код намертво и чем его заменить: интерфейсы, делегирование и миксины (даже в Java — через аннотации, как @Mixin в Picocli). Полезняшка — канал «500 дней геймдева».","date_published":"2026-09-16T11:54:17+03:00","id":"sha256:9fe91bb62dd45bf1fad09ff5415dfaa2e10e8dda50480ab16f96ad71fe99016c","tags":["Программист-прагматик","наследование","конечные автоматы","проектирование","Java"],"title":"Обновлено: #12: Налог на наследование: конечные автоматы","url":"https://apkhmv.xyz/podcast/episode-12/"},{"_tf":{"change":"updated","changed_at":"2026-09-16T11:54:17+03:00","episode_number":11,"kind":"episode","md_url":"https://apkhmv.xyz/podcast/episode-11/index.md","transcript_status":"draft"},"attachments":[{"duration_in_seconds":2147,"mime_type":"audio/mpeg","url":"https://traffic.libsyn.com/secure/173caf0e-b8e8-4056-8a73-2d60d94118ef/11_meetup_keynotes.mp3"}],"content_text":"Обновлено — Эмоциональный выпуск про первый опыт Александра в роли докладчика на локальном IT-митапе: сорванные тайминги, слабая модерация и девять слушателей на докладе про GraalVM. Из этого — выводы: почему митапу нужна модерация докладов, сколько докладов выдерживает аудитория и когда «сделай сам» — единственный выход. Во второй части — как Александр готовит презентации: белые слайды, минимум текста, интерактивность, и связка iPad + Concepts + Google Slides. Полезняшка — доклад Вадима Макишвили «36».","date_published":"2026-09-16T11:54:17+03:00","id":"sha256:97007f61ffb094575b5f2df862f42094d320bec830e23b0d0338e8b239e73b5e","tags":["митапы","публичные выступления","презентации","GraalVM","сообщество"],"title":"Обновлено: #11: Горе-митап: опыт выступления, презентации","url":"https://apkhmv.xyz/podcast/episode-11/"},{"_tf":{"change":"updated","changed_at":"2026-09-16T11:54:17+03:00","episode_number":10,"kind":"episode","md_url":"https://apkhmv.xyz/podcast/episode-10/index.md","transcript_status":"draft"},"attachments":[{"duration_in_seconds":1770,"mime_type":"audio/mpeg","url":"https://traffic.libsyn.com/secure/173caf0e-b8e8-4056-8a73-2d60d94118ef/10_Design_by_contract.mp3"}],"content_text":"Обновлено — Юбилейный десятый выпуск, записанный в студии. Design by contract из «Программиста-прагматика»: предусловия, постусловия и инварианты через тройки Хоара, почему предусловия — не валидация пользовательского ввода, и спор с авторами о том, может ли TDD заменить контракты. Затем — практика: контракты в джавадоке, тесты в структуре given/when/then и ArchUnit — библиотека для тестирования архитектуры, которой Александр зафиксировал инвариант стартап-хуков прямо в build time. Полезняшка — 37signals.","date_published":"2026-09-16T11:54:17+03:00","id":"sha256:838de33d88819094e65e592540dfbb8db1edf8a0ef18a9a5a5a8b0aaf4147c64","tags":["Программист-прагматик","design by contract","ArchUnit","тестирование","Java"],"title":"Обновлено: #10: Design by contract: инварианты, Archunit","url":"https://apkhmv.xyz/podcast/episode-10/"},{"_tf":{"change":"updated","changed_at":"2026-09-16T11:54:17+03:00","episode_number":9,"kind":"episode","md_url":"https://apkhmv.xyz/podcast/episode-09/index.md","transcript_status":"draft"},"attachments":[{"duration_in_seconds":2792,"mime_type":"audio/mpeg","url":"https://traffic.libsyn.com/secure/173caf0e-b8e8-4056-8a73-2d60d94118ef/09_Pragmatic_tools.mp3"}],"content_text":"Обновлено — Глава «Программиста-прагматика» про ежедневные инструменты: почему plain text — самое живучее представление знаний, как сделать shell своей вотчиной (темы, prompt, алиасы, fish), чек-лист совершенства во владении редактором, зачем всегда нужна система контроля версий и философия дебаггинга — чинить проблему, а не искать виновных, воспроизводить багу тестом и читать чёртово сообщение об ошибке. Бонус: подкаст зафичерил Apple, и Александр рассказывает, на что это похоже. Полезняшка — лекция Джона Остерхаута «A Philosophy of Software Design».","date_published":"2026-09-16T11:54:17+03:00","id":"sha256:f98a6a365ca0277b7e477fc06e7005af485c2a04b8a615c27b88a663ea5a1b58","tags":["Программист-прагматик","инструменты","shell","git","дебаггинг"],"title":"Обновлено: #9: Прагматичные тулы: plain text, git, shell","url":"https://apkhmv.xyz/podcast/episode-09/"},{"_tf":{"change":"updated","changed_at":"2026-09-16T11:54:17+03:00","episode_number":8,"kind":"episode","md_url":"https://apkhmv.xyz/podcast/episode-08/index.md","transcript_status":"draft"},"attachments":[{"duration_in_seconds":2552,"mime_type":"audio/mpeg","url":"https://traffic.libsyn.com/secure/173caf0e-b8e8-4056-8a73-2d60d94118ef/08_GraalVM.mp3"}],"content_text":"Обновлено — Почему Java стартует медленно — класс-лоадинг, интерпретация, прогрев JIT — и как GraalVM native image ускорил command-line-приложение Александра с 3,5 секунд до 40 миллисекунд: closed-world assumption, инициализация классов в build time и цена в виде ручных метаданных для рефлексии. Плюс обзор альтернатив — AppCDS и CRaC от Azul. Во второй части — расследование флэки-тестов: как Mockito записывает вызовы в глобальный shared-state стек внутри when/thenReturn, почему это ломается в многопоточности и когда вместо мока нужен стаб, фейк или интеграционный тест. Полезняшка — «Распределённые данные» Алекса Петрова.","date_published":"2026-09-16T11:54:17+03:00","id":"sha256:9bfb66e140867914aa0d58c2562aff47ac68d1cce20c37b6a17dd702ac680271","tags":["Java","GraalVM","производительность","Mockito","тестирование"],"title":"Обновлено: #8: Медленная Java: GraalVM, Mockito","url":"https://apkhmv.xyz/podcast/episode-08/"},{"_tf":{"change":"updated","changed_at":"2026-09-16T11:54:17+03:00","episode_number":7,"kind":"episode","md_url":"https://apkhmv.xyz/podcast/episode-07/index.md","transcript_status":"draft"},"attachments":[{"duration_in_seconds":2258,"mime_type":"audio/mpeg","url":"https://traffic.libsyn.com/secure/173caf0e-b8e8-4056-8a73-2d60d94118ef/07_Estimations.mp3"}],"content_text":"Обновлено — Продолжение второй главы «Программиста-прагматика»: чем трассирующий код отличается от прототипа и почему первый — это продакшн-скелет с урезанной функциональностью, а второй всегда выкидывается. Затем — предметно-ориентированные языки (DSL): внутренние и внешние, и почему тесты — идеальное место для первого собственного DSL. И большая тема оценивания: как точность оценки задаёт ожидания, техника PERT с тремя сценариями, модель с критическими параметрами и лучший ответ на просьбу об оценке — «я к тебе вернусь». Полезняшка — игра Vim Adventures.","date_published":"2026-09-16T11:54:17+03:00","id":"sha256:c32f8f92d2c70a52723de593a66b112c247e01336562eae38b1ca9d0eb4c0841","tags":["Программист-прагматик","прототипирование","DSL","оценка проектов","книги"],"title":"Обновлено: #7: Трассирующий код: прототипы, оценки","url":"https://apkhmv.xyz/podcast/episode-07/"},{"_tf":{"change":"updated","changed_at":"2026-09-16T11:54:17+03:00","episode_number":6,"kind":"episode","md_url":"https://apkhmv.xyz/podcast/episode-06/index.md","transcript_status":"draft"},"attachments":[{"duration_in_seconds":2351,"mime_type":"audio/mpeg","url":"https://traffic.libsyn.com/secure/173caf0e-b8e8-4056-8a73-2d60d94118ef/06_Golang.mp3"}],"content_text":"Обновлено — Разбор второй главы «Программиста-прагматика»: хороший дизайн — тот, который легче изменить, DRY — про знания, а не только про код, ортогональные системы и обратимость решений. Во второй части Александр Пахомов делится первыми впечатлениями Java-разработчика от Go: почему не Kotlin, не Rust и не Python, как Advent of Code стал полигоном для нового языка и чем подкупают gofmt, go mod и простота вместо вопроса «как реализован HashSet». Рекомендация выпуска — «Чистая архитектура» Роберта Мартина.","date_published":"2026-09-16T11:54:17+03:00","id":"sha256:6af5e1b20c4f5c43dc597bad871f6e8fa7ba15e1e8a9a312ef604f01343dfb63","tags":["Программист-прагматик","Go","проектирование","DRY","книги"],"title":"Обновлено: #6: Прагматичный Golang: design, dry, Go","url":"https://apkhmv.xyz/podcast/episode-06/"},{"_tf":{"change":"updated","changed_at":"2026-09-16T11:54:17+03:00","episode_number":5,"kind":"episode","md_url":"https://apkhmv.xyz/podcast/episode-05/index.md","transcript_status":"draft"},"attachments":[{"duration_in_seconds":3065,"mime_type":"audio/mpeg","url":"https://traffic.libsyn.com/secure/173caf0e-b8e8-4056-8a73-2d60d94118ef/05_SOLID_skills.mp3"}],"content_text":"Обновлено — Продолжение разбора «Программиста-прагматика»: каша из топора и сваренная лягушка, good enough software, портфель знаний, техники критического мышления и почему коммуникация — половина работы инженера. Во второй части Александр Пахомов разбирает SOLID не по учебнику, а по практике: какие принципы он применяет каждый день (single responsibility, open-closed), к каким относится скептически (interface segregation) и почему главное в принципах — разумность, а не догма. Рекомендация выпуска — книга «Пиши, сокращай».","date_published":"2026-09-16T11:54:17+03:00","id":"sha256:67064ca78c1ae9adad08bca91bbc2c12ac1cd0306df0a2e9009f9f8936f6d64e","tags":["Программист-прагматик","SOLID","soft skills","коммуникация","книги"],"title":"Обновлено: #5: Солидные скиллы: soft skills, SOLID","url":"https://apkhmv.xyz/podcast/episode-05/"},{"_tf":{"change":"updated","changed_at":"2026-09-16T11:54:17+03:00","episode_number":4,"kind":"episode","md_url":"https://apkhmv.xyz/podcast/episode-04/index.md","transcript_status":"draft"},"attachments":[{"duration_in_seconds":1785,"mime_type":"audio/mpeg","url":"https://traffic.libsyn.com/secure/173caf0e-b8e8-4056-8a73-2d60d94118ef/04_Pragmatic_TDD.mp3"}],"content_text":"Обновлено — Новая рубрика подкаста: разбор тем книги «Программист-прагматик» — топики It's Your Life, The Cat Ate My Source Code и Software Entropy, про ответственность, отговорки и теорию разбитых окон в коде. Во второй части Александр Пахомов признаётся, что пишет тесты до реализации: как устроен цикл TDD, почему он работает даже в легаси-системах, какие плюсы даёт — от тестов-спецификаций до крепкого сна — и лайфхак с красным тестом как чекпоинтом для выхода из состояния потока.","date_published":"2026-09-16T11:54:17+03:00","id":"sha256:64436e8e235206d87cf3894913bc3b1af5acc2aa77d2487d67202a9d8e0d4ea2","tags":["TDD","тестирование","Программист-прагматик","техдолг","книги"],"title":"Обновлено: #4: Прагматичные тесты: TDD, техдолг","url":"https://apkhmv.xyz/podcast/episode-04/"},{"_tf":{"change":"updated","changed_at":"2026-09-16T11:54:17+03:00","episode_number":3,"kind":"episode","md_url":"https://apkhmv.xyz/podcast/episode-03/index.md","transcript_status":"draft"},"attachments":[{"duration_in_seconds":762,"mime_type":"audio/mpeg","url":"https://traffic.libsyn.com/secure/173caf0e-b8e8-4056-8a73-2d60d94118ef/03_TF_Homebew.mp3"}],"content_text":"Обновлено — Александр Пахомов делится практикой селф-ревью: как отстраниться от собственного кода и отревьюить свой pull request так, будто его прислал незнакомый человек. А затем разбирает Homebrew: почему в macOS нет родного пакетного менеджера, что такое формулы, кеги и краны, как написать собственную формулу — на примере базы данных Ignite 3 — и отправить её в homebrew-core.","date_published":"2026-09-16T11:54:17+03:00","id":"sha256:cd41fb5d0eebaec002fd1852e202f46c33ab502f88c7e6caa955beda0087e368","tags":["Homebrew","macOS","пакетные менеджеры","код ревью"],"title":"Обновлено: #3: Пакетный менеджер: Homebrew, self-review","url":"https://apkhmv.xyz/podcast/episode-03/"},{"_tf":{"change":"updated","changed_at":"2026-09-16T11:54:17+03:00","episode_number":2,"kind":"episode","md_url":"https://apkhmv.xyz/podcast/episode-02/index.md","transcript_status":"draft"},"attachments":[{"duration_in_seconds":1341,"mime_type":"audio/mpeg","url":"https://traffic.libsyn.com/secure/173caf0e-b8e8-4056-8a73-2d60d94118ef/02_TF_OpenAPI.mp3"}],"content_text":"Обновлено — Александр Пахомов разбирает, почему коммит-месседж — это история проекта, а не формальность: правила оформления заголовка и тела, conventional commits, атомарные коммиты и главное правило — договориться о формате со всей командой. Во второй части — OpenAPI-спецификация: подходы code-first и design-first, генерация документации и всегда актуального клиента, сервисы, которые продают API без спеки, и история о том, как несовершенный туллинг съел два дня работы из-за стёртых при компиляции имён параметров.","date_published":"2026-09-16T11:54:17+03:00","id":"sha256:749a6d04e4d4781ac9f96633c4fdfa468ea78fbfd1846f9bf81ca952ddbec84e","tags":["git","коммит-месседжи","OpenAPI","REST API","документация"],"title":"Обновлено: #2: Гундосая спека: комменты, Open API","url":"https://apkhmv.xyz/podcast/episode-02/"},{"_tf":{"change":"updated","changed_at":"2026-09-16T11:54:17+03:00","episode_number":1,"kind":"episode","md_url":"https://apkhmv.xyz/podcast/episode-01/index.md","transcript_status":"reviewed"},"attachments":[{"duration_in_seconds":1366,"mime_type":"audio/mpeg","url":"https://traffic.libsyn.com/secure/173caf0e-b8e8-4056-8a73-2d60d94118ef/01_Pilot_1.mp3"}],"content_text":"Обновлено — Пилотный выпуск без гостей. Александр Пахомов рассказывает, почему десятипальцевая (слепая) печать — важный навык для программиста и где её освоить, а затем разбирает проектирование ошибок публичного REST API: какие HTTP-коды возвращать и почему тело ошибки стоит отдавать в формате RFC 7807 (problem+json).","date_published":"2026-09-16T11:54:17+03:00","id":"sha256:45891a3917d248d91fe6d3f81451f0f505245b35da06fddf1f7bbdc102ad22fc","tags":["слепая печать","REST API","HTTP-коды","обработка ошибок","RFC 7807"],"title":"Обновлено: #1: Пилот: слепая печать, коды ошибок","url":"https://apkhmv.xyz/podcast/episode-01/"},{"_tf":{"change":"release","changed_at":"2026-09-15T20:41:52Z","external_url":"https://github.com/PakhomovAlexander/afactory/releases/tag/v0.9.0-rc.2","kind":"release","md_url":"https://apkhmv.xyz/products/af/index.md"},"content_text":"Новый релиз — Authority compatibility Prerelease: af task start now captures and previews without dispatching Workers, including with --json. Review the plan, then run with --confirm-plan and its full captured ID. Automation must explicitly opt into --execute on start or on the first run of a plan. Admitted Tasks can resume and finished Tasks replay as before. This CLI confirmation never replaces signed developer approval for a generated plan. Existing .af authority remains supported; legacy .review migration and exact release pin verification still apply.\nChanges Render captured Task plans as compact ASCII flows or expanded task explain --tree views, with embedded calls, actual Worker models/efforts/accounts, inputs, outputs, effects and limits. Stop new Tasks before execution and refuse stale plan confirmations, including a plan change before the writer lease is acquired. Explicit automation retains existing runtime admission. Keep JSON inspection schemas unchanged, sanitize terminal display text, and document the preview/approval workflow for Claude and Codex. The live pilot and complete consumer migration/rollback acceptance remain pending. This candidate does not declare stable-release readiness or change the active consumer’s pin.\n","date_published":"2026-09-15T20:41:52Z","id":"sha256:a7edc46090bf99326d25815dab91e26450b7cc26e5044daab791f4f9cad49036","tags":[],"title":"Новый релиз: af v0.9.0-rc.2","url":"https://apkhmv.xyz/products/af/"},{"_tf":{"change":"release","changed_at":"2026-09-15T18:16:10Z","external_url":"https://github.com/PakhomovAlexander/afactory/releases/tag/v0.9.0-rc.1","kind":"release","md_url":"https://apkhmv.xyz/products/af/index.md"},"content_text":"Новый релиз — Authority compatibility This is a prerelease for Task integration and migration validation. Live pilot acceptance and complete consumer migration/rollback verification remain pending; this candidate does not establish stable-release readiness or replace the known-good consumer installation.\nNew Task execution requires its versioned .af catalog, Pipeline/Worker contracts and lock. Every generated Execution Plan requires an authorized developer’s exact-plan approval. Local bindings do not travel with shared definitions. Existing .review consumers still need the supported af onboard --migrate --apply path; validate migrated authority together with the chosen released binary and its verified archive digests before switching launchers.\nNew Review executions use the common Task runtime. Historical paid Campaigns preserve their captured executor, authority and accounting; they are not rewritten into new Tasks. Keep the original Store and known-good release for historical continuation and rollback. An older binary must not reinterpret unsupported new state, and rollback cannot refund recorded usage or reopen completed work. Release-bound migration and rollback evidence are release gates.\nChanges Make Task the common durable execution model for implementation, Review and documents, with typed Pipeline input/output contracts, captured context and shared budget accounting.\nCompose reusable Review Pipelines inside implementation, with independent acceptance and bounded repairs that retain Finding and Snapshot provenance.\nSelect fitting shared Pipelines; persist generated definitions and plans for developer review when configured generation is needed; export definitions for subsequent reuse.\nShare versioned Pipeline/Worker packages and starter workflows through Git, with local Provider bindings, deterministic contract checks, Jira/local source capture and explicit delivery to a new local worktree.\nPreserve Provider usage and recovery evidence across cancellation, writer loss and storage failures, and capture explicit admission allowances in Task catalog V2.\nPreserve nested Jira requirements, resolve explicit relative refresh files from the caller’s directory, and retain plans when only unselected Jira fields or update timestamps change.\nMake identical authenticated plan-revocation requests idempotent and refuse revocation of decisions that were never approved.\nReduce repeated captured Review validation, heartbeat and receipt-query work while retaining fresh artifact, lease, approval and usage checks; stream raw usage transcripts with bounded memory.\nOpen the repository: install.sh installs from a public release with curl alone, verifies the release signature by default when minisign is present, and keeps gh only as a fallback; the release also ships LICENSE (Apache-2.0), SECURITY.md, CONTRIBUTING.md and a restructured docs/ (architecture, tasks, migration, non-goals, design notes).\nAccount for every model reported by native Claude Task usage; preserve auxiliary charges and refuse unapproved auxiliary activity instead of accepting an Opus selector alone.\nUse native JSON schemas and structured output for typed Claude Task replies while retaining independent Kernel output validation and the existing legacy text transport.\nPreserve prerelease versions in migrated authority so the candidate can read its own output.\nRetry transient executable-busy process starts and correct concurrent Linux test allowances.\nExplain logged-out Provider status and install declared toolchain components in release jobs.\nValidation boundary The release workflow checks the tagged source on Linux and macOS, runs consumer fixtures, and signs archive checksums. These deterministic checks do not replace specialist reviews, live Task measurements or actual consumer migration and rollback rehearsals. See Task execution for the contracts; candidate publication does not claim those remaining acceptance gates have passed.\n","date_published":"2026-09-15T18:16:10Z","id":"sha256:c77211e519833fb6ce4e643b100784f6baa98d4ac62f54ce9b6041db9a009f9f","tags":[],"title":"Новый релиз: af v0.9.0-rc.1","url":"https://apkhmv.xyz/products/af/"},{"_tf":{"change":"transcript_added","changed_at":"2026-09-15T00:00:00Z","episode_number":72,"kind":"episode","md_url":"https://apkhmv.xyz/podcast/episode-72/index.md","transcript_status":"draft"},"attachments":[{"duration_in_seconds":8617,"mime_type":"audio/mpeg","url":"https://traffic.libsyn.com/secure/173caf0e-b8e8-4056-8a73-2d60d94118ef/72_New_IDEA.mp3"}],"content_text":"Добавлена расшифровка — Александр Пахомов и Антон Архипов — Developer Advocate в JetBrains, Java Champion, в прошлом разработчик JRebel — разбирают вопрос, который Антон задал Java-сеньорам на анконференции JCrete: нужна ли вообще IDE, если код пишут агенты? Все ответили «нужна», но объяснить зачем смогли только крайние случаи: Клифф Клик открывает IDE, чтобы дебажить, Питер Лори переписывает сгенерированный код руками. Отсюда разговор идёт к тому, что узкое место переехало из написания кода в code review, инструменты ревью не менялись пятнадцать лет, а люди превращаются в «клей между двумя Клодами». Во второй половине собеседники придумывают IDE будущего — завод по переработке задач с наблюдаемым пайплайном, бюджетами токенов и доказательствами на выходе, — спорят, что из этого сожрут OpenAI и Anthropic и почему LSP, скиллы и другие надстройки обнуляет каждая новая модель, и заканчивают ответственностью за код, который никто не читал, и ответом Антона на вопрос «нужна ли IDE в августе 2026».","date_published":"2026-09-15T00:00:00Z","id":"sha256:a6f638315b5b0e6e377e08d439d99a7526d708d25258ce3ac5554f73e1bd2ef8","tags":["IDE","IntelliJ IDEA","ИИ-агенты","Claude Code","Codex","код-ревью","инструменты разработчика","экономика токенов"],"title":"Добавлена расшифровка: #72: Зачем IDEA в 2026","url":"https://apkhmv.xyz/podcast/episode-72/"},{"_tf":{"change":"transcript_added","changed_at":"2026-09-15T00:00:00Z","episode_number":71,"kind":"episode","md_url":"https://apkhmv.xyz/podcast/episode-71/index.md","transcript_status":"draft"},"attachments":[{"duration_in_seconds":10274,"mime_type":"audio/mpeg","url":"https://traffic.libsyn.com/secure/173caf0e-b8e8-4056-8a73-2d60d94118ef/71_IMDG_Apache_Ignite.mp3"}],"content_text":"Добавлена расшифровка — Александр Пахомов и Станислав Лукьянов разбирают in-memory data grid снизу вверх: от локальной HashMap до распределённого хранилища с логическими шардами, репликами, консенсусом и SQL. На примере Apache Ignite они показывают, как коллокация данных и вычислений убирает сетевые пересылки, зачем Java-системы ушли в off-heap и где остаются проблемы GC, JIT, безопасности и эксплуатации. В финале формулируют критерии выбора такой технологии и обсуждают её возможное будущее в памяти агентов и LLM KV-кэшах.","date_published":"2026-09-15T00:00:00Z","id":"sha256:910fdf9cb85f7631155b2f51da06cabe508f071ff94f1d654d9804e603c55fae","tags":["Apache Ignite","in-memory data grid","распределённые системы","шардирование","консистентность","распределённый SQL","JVM","off-heap"],"title":"Добавлена расшифровка: #71: Как работает IMDG Apache Ignite","url":"https://apkhmv.xyz/podcast/episode-71/"},{"_tf":{"change":"transcript_added","changed_at":"2026-09-15T00:00:00Z","episode_number":70,"kind":"episode","md_url":"https://apkhmv.xyz/podcast/episode-70/index.md","transcript_status":"draft"},"attachments":[{"duration_in_seconds":8941,"mime_type":"audio/mpeg","url":"https://traffic.libsyn.com/secure/173caf0e-b8e8-4056-8a73-2d60d94118ef/22__v4.mp3"}],"content_text":"Добавлена расшифровка — Александр Пахомов и Станислав Лукьянов — коммитер Apache Ignite, инженер GridGain (теперь часть MariaDB), ранее Java Platform в Oracle, последние годы живёт в Нью-Йорке — записывают незапланированный выпуск: интро к разговору про in-memory data grid переросло в двухчасовую беседу о том, как AI меняет работу инженера. Обсуждают 9-9-6 и тревожность по ту сторону океана, поколение AI-native фаундеров, которые не читают код, и то, во что вкладываться сейчас: системное мышление, математику, системное программирование и семантический слой для агента. Вторая половина — про экономику и про себя: токены как новый ресурс и бюджеты, которые растут вместе с грейдом, три грани ответственности, массовая слежка за сессиями и этика чужих промптов, FOMO пятичасового окна, сон, спорт и легализация отдыха на 24 часа без компьютера.","date_published":"2026-09-15T00:00:00Z","id":"sha256:8d8976ede3e486d30ab9a3cad8f8437415c2d1a2c78667639aea964caa894d14","tags":["ИИ-агенты","Claude Code","контекст-менеджмент","карьера инженера","продуктивность","экономика токенов","системное программирование"],"title":"Добавлена расшифровка: #70: Режим 9-9-6 для Claude","url":"https://apkhmv.xyz/podcast/episode-70/"},{"_tf":{"change":"transcript_added","changed_at":"2026-09-15T00:00:00Z","episode_number":69,"kind":"episode","md_url":"https://apkhmv.xyz/podcast/episode-69/index.md","transcript_status":"draft"},"attachments":[{"duration_in_seconds":5397,"mime_type":"audio/mpeg","url":"https://traffic.libsyn.com/secure/173caf0e-b8e8-4056-8a73-2d60d94118ef/69_Freud.mp3"}],"content_text":"Добавлена расшифровка — Александр Пахомов и Александр Орлов — сооснователь Школы менеджмента «Стратоплан», ранее Sun Microsystems и Intel, психолог по второму образованию — разбирают работу инженера как психологическую. Почему поток так трудно поймать и удержать, что происходит с командой в фазах форминга и шторминга по Такману и почему спор о скобке в code style на самом деле спор об иерархии и уважении. Обсуждают эго-состояния по Берну, три способа реагировать на неустраивающую ситуацию (изменить, принять, выйти) и четвёртый, худший — терпеть; ресурсы, которые определяют вашу раздражительность на код-ревью; visibility через уровень как механику карьеры. В финале — как агентская разработка поднимает когнитивную нагрузку до потолка и почему soft skills дорожают именно сейчас.","date_published":"2026-09-15T00:00:00Z","id":"sha256:10f1c8fdfe37f6f9ce44d1514c8ea63e54260d86ae306419a6af932d6a7c1ca3","tags":["психология инженера","soft skills","командная динамика","поток","карьера инженера","тимлид","выгорание"],"title":"Добавлена расшифровка: #69: Психология инженера с Александром Орловым","url":"https://apkhmv.xyz/podcast/episode-69/"},{"_tf":{"change":"transcript_added","changed_at":"2026-09-15T00:00:00Z","episode_number":68,"kind":"episode","md_url":"https://apkhmv.xyz/podcast/episode-68/index.md","transcript_status":"draft"},"attachments":[{"duration_in_seconds":8363,"mime_type":"audio/mpeg","url":"https://traffic.libsyn.com/secure/173caf0e-b8e8-4056-8a73-2d60d94118ef/20__Alex.mp3"}],"content_text":"Добавлена расшифровка — Александр Пахомов и Владимир Ситников — мейнтейнер PostgreSQL JDBC-драйвера (pgjdbc) и Apache JMeter, около двадцати лет в Java и производительности SQL-систем — разбирают агентскую разработку на конкретных артефактах: тридцать тысяч строк подсистемы кодеков, которые невозможно отревьюить глазами, кросс-ревью тремя моделями, скилл технического английского, появившийся после того, как правки в документацию отклонили как AI-слоп. Обсуждают, что идёт в скилл, а что в CLAUDE.md, APM как пакетный менеджер для агентских конфигов, орду ревьюеров-персон, профилировщик и фаззинг как обязательные гейты агентского SDLC, комментарии, которые описывают прошлое, и декомпиляцию вместо чтения исходников. В финале — где проходят границы моделей и человека и на что инженеру сейчас тратить время.","date_published":"2026-09-15T00:00:00Z","id":"sha256:773e4a254d7e4b3ccf8f610a4829ec99f0dd065fc70d83eb16fda1cdea38dc81","tags":["ИИ-агенты","Claude Code","Java","PostgreSQL","код-ревью","фаззинг","производительность","контекст-менеджмент"],"title":"Добавлена расшифровка: #68: Исследуем границы современных моделей вместе Владимиром Ситниковым","url":"https://apkhmv.xyz/podcast/episode-68/"},{"_tf":{"change":"transcript_added","changed_at":"2026-09-15T00:00:00Z","episode_number":67,"kind":"episode","md_url":"https://apkhmv.xyz/podcast/episode-67/index.md","transcript_status":"draft"},"attachments":[{"duration_in_seconds":8726,"mime_type":"audio/mpeg","url":"https://traffic.libsyn.com/secure/173caf0e-b8e8-4056-8a73-2d60d94118ef/alex_podcast_19.mp3"}],"content_text":"Добавлена расшифровка — Александр Пахомов и Миша Поливаха — практикующий Java-разработчик, стоявший у истоков сообщества Spring.io, — разбирают, на чём держится Java в 2026-м. Почему энтерпрайз не переписывает и не апгрейдит (патчинг CVE для Java 6 как живой бизнес), как Spring выиграл у Java EE на скорости эволюции и правильных продуктовых решениях Рода Джонсона и команды Spring Boot, чем занят Project Leyden и почему AppCDS отбирает у Quarkus его главное преимущество. Вторая половина — спор двух подходов: для гостя тулинг это IDE, стартеры и dev mode, для ведущего, который код руками не пишет, — quality gates, которыми обкладывают агента; отсюда претензии к Java-экосистеме на фоне `clippy --fix`, история отказа OpenJDK принимать сгенерированные PR и финальное расхождение о том, можно ли нарастить экспертизу, не написав код руками.","date_published":"2026-09-15T00:00:00Z","id":"sha256:32106213db3a9a4133ad66631ab378d85bd9dd85d62f8e1c05df53f610b11555","tags":["Java","Spring","JVM","ИИ-агенты","инструментарий разработчика","экспертиза инженера","код-ревью"],"title":"Добавлена расшифровка: #67: Java и Spring в 2026","url":"https://apkhmv.xyz/podcast/episode-67/"},{"_tf":{"change":"transcript_added","changed_at":"2026-09-15T00:00:00Z","episode_number":66,"kind":"episode","md_url":"https://apkhmv.xyz/podcast/episode-66/index.md","transcript_status":"draft"},"attachments":[{"duration_in_seconds":8799,"mime_type":"audio/mpeg","url":"https://traffic.libsyn.com/secure/173caf0e-b8e8-4056-8a73-2d60d94118ef/18_alex_podcast.mp3"}],"content_text":"Добавлена расшифровка — Александр Пахомов и Михаил Костицын (разработчик кодинг-агента veai, IDE-native агента для JetBrains IDE) по шагам «собирают» кодинг-агента: от ассистента-чата к агенту с инструментами — терминалом, чтением/записью файлов, поиском — и разбирают ключевой трейд-офф между свободой (один универсальный терминал) и контролем (набор узких, надёжных тулов), а также контекст-менеджмент как главный ресурс. Отталкиваясь от IntelliJ-платформы, они показывают, что даёт агенту IDE поверх терминала — LSP и PSI, инспекции, декомпиляцию, дебаггер и «формальные методы» (инструментация байткода, анализ моргающих тестов, символьное исполнение, SAST), — и обсуждают enterprise-спрос на локальные модели, бенчмарк-систему veai с верифайерами и LLM-судьёй, проблему бенчмаксинга и dogfooding.","date_published":"2026-09-15T00:00:00Z","id":"sha256:faac8d1a8c79da98278d28d0aa035875456379940299c74c2200ca5ea526ae48","tags":["кодинг-агенты","ИИ-агенты","IntelliJ платформа","инструменты для LLM","контекст-менеджмент","локальные модели"],"title":"Добавлена расшифровка: #66: Veai: БАЗА ПО КОДИНГ АГЕНТАМ","url":"https://apkhmv.xyz/podcast/episode-66/"},{"_tf":{"change":"transcript_added","changed_at":"2026-09-15T00:00:00Z","episode_number":65,"kind":"episode","md_url":"https://apkhmv.xyz/podcast/episode-65/index.md","transcript_status":"draft"},"attachments":[{"duration_in_seconds":6909,"mime_type":"audio/mpeg","url":"https://traffic.libsyn.com/secure/173caf0e-b8e8-4056-8a73-2d60d94118ef/65_AI_.mp3"}],"content_text":"Добавлена расшифровка — Александр Пахомов и Дмитрий (Kisa) — автор канала о нейросетях, пришедший в вайб-кодинг из криптоиндустрии, — разбирают, как генеративный AI меняет работу автора и инженера: где проходит граница между авторским контентом и «нейрослопом», как через `Claude Code` и `Remotion` собираются YouTube-ролики, и почему картиночная ниша (включая 18+) держится на китайских open-source-моделях и локальных `ComfyUI`-воркфлоу, а не на зацензуренных фронтир-моделях. Во второй половине — теория «мёртвого интернета», выгорание от скорости агентов, деградация моделей (`4.6` против `4.7`, кодекс) и большой мотивационный разговор про ответственность и «эпоху эгоистов».","date_published":"2026-09-15T00:00:00Z","id":"sha256:4a86dcaf937942947533c20813ab6216ed1a8fbb8b50463eb1629b2cead27e9d","tags":["вайб-кодинг","генеративный AI","нейрослоп и авторство","генерация изображений","мёртвый интернет"],"title":"Добавлена расшифровка: #65: AI-кисы: нейрослоп против авторского контента","url":"https://apkhmv.xyz/podcast/episode-65/"},{"_tf":{"change":"transcript_added","changed_at":"2026-09-15T00:00:00Z","episode_number":64,"kind":"episode","md_url":"https://apkhmv.xyz/podcast/episode-64/index.md","transcript_status":"draft"},"attachments":[{"duration_in_seconds":9296,"mime_type":"audio/mpeg","url":"https://traffic.libsyn.com/secure/173caf0e-b8e8-4056-8a73-2d60d94118ef/64_Alexey_Lebedev.mp3"}],"content_text":"Добавлена расшифровка — Александр Пахомов и Алексей Лебедев — инженер систем низкой задержки, создатель стриминговой платформы AlgoX2 («убийца Kafka») и открытого фреймворка кодогенерации OpenACR — разбирают, как строить большие системы из простых, доказуемо корректных частей. Первые два часа сознательно исключают «агентную разработку»: single entry / single exit и single static action, программа как вложенные циклы и глобальная in-memory база данных, отказ от исключений и многопоточности в пользу однопоточных процессов, общающихся сообщениями (CSP, RDMA/InfiniBand, scale-out). На этом фундаменте построена AlgoX2 — «файловая система из стримов», где всё есть append-only-стрим и управление идёт через тот же стриминг; она обгоняет Kafka по latency в 10–100 раз. Ядро системы генерируется из SSIM-описаний генератором, который на 95% состоит из собственного сгенерированного кода. В финале — как Claude Code усиливает такой подход и какой навык остаётся ключевым для инженера.","date_published":"2026-09-15T00:00:00Z","id":"sha256:d0b375f91e3bdb3eb74dfd71b242efa52856ccf48e3ec01ef16b9331a72dbecb","tags":["распределённые системы","кодогенерация","низкая задержка","Kafka и стриминг","вайб-кодинг"],"title":"Добавлена расшифровка: #64: Быстрее Кафки на два порядка: Алексей Лебедев про то как строить сложные системы","url":"https://apkhmv.xyz/podcast/episode-64/"},{"_tf":{"change":"transcript_added","changed_at":"2026-09-15T00:00:00Z","episode_number":63,"kind":"episode","md_url":"https://apkhmv.xyz/podcast/episode-63/index.md","transcript_status":"draft"},"attachments":[{"duration_in_seconds":6855,"mime_type":"audio/mpeg","url":"https://traffic.libsyn.com/secure/173caf0e-b8e8-4056-8a73-2d60d94118ef/63_FPF.mp3"}],"content_text":"Добавлена расшифровка — Александр Пахомов и Иван Закутний (инженер и engineering manager, ученик мастерской инженеров-менеджеров Анатолия Левенчука) разбирают, как остаться востребованным инженером в 2026 году, когда `Claude Code` и агенты обесценили «перекладывание JSON». Их ответ — системное мышление и `First Principles Framework` (FPF) Левенчука: спецификация на ~800 тысяч токенов, которая через RAG заставляет LLM рассуждать по ADI-циклу (abduction–deduction–induction), формализовать уровни доверия L0/L1/L2 и оставлять за собой decision records. По пути — почему галлюцинируют и люди, и модели, чем задача отличается от проблемы, зачем нужно «мышление письмом» и экзокортекс, и как не свалиться в дофаминовую яму от четырёх параллельных агентов.","date_published":"2026-09-15T00:00:00Z","id":"sha256:89e8a2c6dee238d41add6a7fbd346eb939a8770cfd5dc91daadb9223839c22cd","tags":["системное мышление","вайб-кодинг","ИИ-агенты","инженерный менеджмент","промпт-инжиниринг"],"title":"Добавлена расшифровка: #63: Системное мышление для инженера","url":"https://apkhmv.xyz/podcast/episode-63/"},{"_tf":{"change":"transcript_added","changed_at":"2026-09-15T00:00:00Z","episode_number":62,"kind":"episode","md_url":"https://apkhmv.xyz/podcast/episode-62/index.md","transcript_status":"draft"},"attachments":[{"duration_in_seconds":4550,"mime_type":"audio/mpeg","url":"https://traffic.libsyn.com/secure/173caf0e-b8e8-4056-8a73-2d60d94118ef/AI_in_Enterprise.mp3"}],"content_text":"Добавлена расшифровка — Александр Пахомов и Иван Чернов (системный архитектор в Островке) разбирают, как выглядит внедрение ИИ не в демках, а в реальном энтерпрайзе. Иван рассказывает про свой путь от GitHub Copilot к Cursor и Claude Code, про безопасную среду на базе LiteLLM и OpenWebUI, три риска информационной безопасности (персданные, коммерческая тайна, и почему код сам по себе ничего не стоит), токеномику и лимиты для пользователей, дообученную локальную модель для переводов, ИИ-ревьюера за 8 центов и Bitter Lesson как рамку для техно-оптимизма. Александр держит контрапункт от лица индивидуального контрибьютора, который просто заливает задачи Opus 4.5 напрямую.","date_published":"2026-09-15T00:00:00Z","id":"sha256:5bbd1e9bd818254f5a92787e370b10d43f86543a42b1922fa9609f284a5ca26f","tags":["ИИ в энтерпрайзе","Claude Code","локальные модели","информационная безопасность","токеномика LLM"],"title":"Добавлена расшифровка: #62: AI в Энтерпрайзе","url":"https://apkhmv.xyz/podcast/episode-62/"},{"_tf":{"change":"transcript_added","changed_at":"2026-09-15T00:00:00Z","episode_number":61,"kind":"episode","md_url":"https://apkhmv.xyz/podcast/episode-61/index.md","transcript_status":"draft"},"attachments":[{"duration_in_seconds":10177,"mime_type":"audio/mpeg","url":"https://traffic.libsyn.com/secure/173caf0e-b8e8-4056-8a73-2d60d94118ef/61_GC_Java_Go.mp3"}],"content_text":"Добавлена расшифровка — Александр Пахомов и Александр «Саша» Ланцов (Java-разработчик в финтехе, Мир Plat.Form) на примере двух рантаймов — HotSpot JVM и Go — прослеживают всю эволюцию сборщиков мусора: от фундаментальных алгоритмов (reference counting, mark-and-sweep, mark-compact, копирующий) и трёхцветной маркировки до `Serial`/`Parallel`, `CMS`, `G1`, `Shenandoah`, `ZGC` и нового `Green Tea` в Go. По пути — гипотеза о поколениях и почему её нет в Go, card table и GC-барьеры, фрагментация и спаны, указатели Брукса, цветные указатели и трюк с виртуальной памятью, спираль смерти. В финале — как осознанно выбрать GC под latency, пропускную способность и размер хипа.","date_published":"2026-09-15T00:00:00Z","id":"sha256:bee2778642dc74a4c8725b9ebe9dddf98d1bd7aa1c096e6a7d85c4cb33dcffcb","tags":["сборка мусора","JVM","Go runtime","производительность","низкая задержка"],"title":"Добавлена расшифровка: #61: Лучший GC: Java и Go","url":"https://apkhmv.xyz/podcast/episode-61/"},{"_tf":{"change":"transcript_added","changed_at":"2026-09-15T00:00:00Z","episode_number":60,"kind":"episode","md_url":"https://apkhmv.xyz/podcast/episode-60/index.md","transcript_status":"draft"},"attachments":[{"duration_in_seconds":4509,"mime_type":"audio/mpeg","url":"https://traffic.libsyn.com/secure/173caf0e-b8e8-4056-8a73-2d60d94118ef/60_Engineering_AI.mp3"}],"content_text":"Добавлена расшифровка — Александр Пахомов и Дмитрий Рожков (менеджер и автор YouTube-канала «Senior Software Vlogger») разбирают, как `Claude Code` меняет работу инженера: Дмитрий, будучи менеджером и не Swift-программистом, полностью написал моделями Mac-приложение `Summit AI Notes` и продаёт его в App Store. Отсюда разговор уходит к главному тезису выпуска — «инженерной ответственности»: за код, который сгенерировала модель, отвечает не Anthropic, а инженер. По пути — почему важен строгий `harness` вокруг модели, чем `Opus 4.5` лучше `Sonnet 4`, почему классическое код-ревью упирается в бутылочное горлышко по Голдратту и как программирование с LLM превращается в менеджмент.","date_published":"2026-09-15T00:00:00Z","id":"sha256:2370916f3ca411852618e83557e9da9da283c820fc0d1b9a59db69c795cdf711","tags":["вайб-кодинг","Claude Code","инженерная ответственность","код-ревью","ИИ-агенты"],"title":"Добавлена расшифровка: #60: Claude Code и инженерная ответственность с Senior Software Vlogger","url":"https://apkhmv.xyz/podcast/episode-60/"},{"_tf":{"change":"transcript_added","changed_at":"2026-09-15T00:00:00Z","episode_number":59,"kind":"episode","md_url":"https://apkhmv.xyz/podcast/episode-59/index.md","transcript_status":"draft"},"attachments":[{"duration_in_seconds":5566,"mime_type":"audio/mpeg","url":"https://traffic.libsyn.com/secure/173caf0e-b8e8-4056-8a73-2d60d94118ef/59_podcast.mp3"}],"content_text":"Добавлена расшифровка — Александр Пахомов и Дима Королёв (инженер, несколько лет в Web3) разбирают блокчейн и Ethereum инженерным языком — без маркетингового буллшита. Как биткоин Сатоши стал первым leaderless-леджером с инвариантом no double spend через `proof of work`; почему у биткоина нет финалити, а балансы — это derived-вьюха поверх лога блоков; как Ethereum добавил EVM, смарт-контракты и `ERC-20`, а `proof of stake`, валидаторы со стейком и L2-шардинг сделали транзакции дешёвыми. Попутно — MEV-атаки, мосты и `WBTC`, CAP-теорема через partial order и аналогию с Kafka, DEX против CEX, и как идеи Web3 (доказуемые гарантии, secure chip, confidential compute) просачиваются в Web2.","date_published":"2026-09-15T00:00:00Z","id":"sha256:542b8b09acfa2e880d00b9e77ee56628aeb9ff9f0ef80e5c7569842cceeaead0","tags":["Web3","блокчейн","Ethereum","смарт-контракты","распределённые системы"],"title":"Добавлена расшифровка: #59: Основы Web3: Blockchain и Ether","url":"https://apkhmv.xyz/podcast/episode-59/"},{"_tf":{"change":"transcript_added","changed_at":"2026-09-15T00:00:00Z","episode_number":58,"kind":"episode","md_url":"https://apkhmv.xyz/podcast/episode-58/index.md","transcript_status":"draft"},"attachments":[{"duration_in_seconds":8891,"mime_type":"audio/mpeg","url":"https://traffic.libsyn.com/secure/173caf0e-b8e8-4056-8a73-2d60d94118ef/58_Cassandra_Read.mp3"}],"content_text":"Добавлена расшифровка — Заключительная, третья часть разбора Apache Cassandra: Александр Пахомов и Дмитрий Константинов (коммитер Apache Cassandra) прослеживают путь запроса на чтение от координатора до диска. По дороге — какие чтения Cassandra делает эффективно (по `partition`- и префиксу `clustering`-ключа) и почему это OLTP-, а не аналитическая база; кворумная математика `R + W \u003e N` и `strong consistency`; выбор реплик через `Snitch`, спекулятивные ретраи и оптимизация «данные с одной реплики, digest с остальных»; `read-repair` и пагинация без `OFFSET`; а на нижнем уровне — `Bloom filter`, `primary index` с `index summary`, `key cache`, блочное сжатие с `compression metadata`, вынос метаданных в off-heap и, наконец, боль tombstones при чтении «очередей».","date_published":"2026-09-15T00:00:00Z","id":"sha256:f21e254d18e538397bce7483931857047456983d066fdddc9cde0164b5b5607f","tags":["Apache Cassandra","распределённые базы данных","консистентность и кворумы","LSM-деревья","Bloom filter"],"title":"Добавлена расшифровка: #58: Apache Cassandra, часть 3: читаем данные","url":"https://apkhmv.xyz/podcast/episode-58/"},{"_tf":{"change":"transcript_added","changed_at":"2026-09-15T00:00:00Z","episode_number":57,"kind":"episode","md_url":"https://apkhmv.xyz/podcast/episode-57/index.md","transcript_status":"draft"},"attachments":[{"duration_in_seconds":9193,"mime_type":"audio/mpeg","url":"https://traffic.libsyn.com/secure/173caf0e-b8e8-4056-8a73-2d60d94118ef/57_Cassandra.mp3"}],"content_text":"Добавлена расшифровка — Вторая часть разбора Apache Cassandra: Александр Пахомов и Дмитрий Константинов (коммитер Apache Cassandra) прослеживают путь одной операции записи от серверного сокета до диска. По дороге — серверный `Netty` с нативным `epoll`, flow control через TCP backpressure, аутентификация и авторизация, consistent hashing с виртуальными нодами, consistency level и кворумы, gossip-протокол и hinted handoff, а затем локальная запись: `commit log`, трёхуровневый memtable (`ConcurrentSkipListMap`/trie над `B-tree`), «last write wins» по таймстемпам, сброс в `SSTable`, компакция и, наконец, удаления через tombstones.","date_published":"2026-09-15T00:00:00Z","id":"sha256:48100330a16dd535915526a78f2a672382f416b21eefb13613120e56969e37b0","tags":["Apache Cassandra","распределённые базы данных","LSM-деревья","consistent hashing","репликация и консистентность"],"title":"Добавлена расшифровка: #57: Apache Cassandra, часть 2: как работает запись","url":"https://apkhmv.xyz/podcast/episode-57/"},{"_tf":{"change":"transcript_added","changed_at":"2026-09-15T00:00:00Z","episode_number":56,"kind":"episode","md_url":"https://apkhmv.xyz/podcast/episode-56/index.md","transcript_status":"draft"},"attachments":[{"duration_in_seconds":9972,"mime_type":"audio/mpeg","url":"https://traffic.libsyn.com/secure/173caf0e-b8e8-4056-8a73-2d60d94118ef/56_Cassandra_podcast_1.mp3"}],"content_text":"Добавлена расшифровка — Александр Пахомов и Дмитрий Константинов (коммитер Apache Cassandra) проходят путь запроса end-to-end со стороны клиента: как устроен драйвер Cassandra и как, поняв его, написать собственный. Разбирают contact points и service discovery, равноправные ноды и rolling upgrade, CQL и модель данных (keyspace, partition/clustering ключи, upsert без чтения), prepared statement с кэшем на сервере, кодеки-сериализацию, выбор ноды и локальность дата-центров, а на нижнем уровне — бинарный протокол поверх Netty: нарезку TCP-потока на фреймы, корреляцию ответов через stream id, таймауты на hash wheel timer, идемпотентные и спекулятивные ретраи, backpressure. Это первая часть трилогии; серверная сторона — в следующих выпусках.","date_published":"2026-09-15T00:00:00Z","id":"sha256:b8e932f393082d085a530c48853d8d9efe44468749dfc9d17532d21e6ee6d2be","tags":["Apache Cassandra","распределённые базы данных","клиент-серверная архитектура","сетевые протоколы","Java"],"title":"Добавлена расшифровка: #56: Apache Cassandra, часть 1: клиент, сервер","url":"https://apkhmv.xyz/podcast/episode-56/"},{"_tf":{"change":"transcript_added","changed_at":"2026-09-15T00:00:00Z","episode_number":55,"kind":"episode","md_url":"https://apkhmv.xyz/podcast/episode-55/index.md","transcript_status":"draft"},"attachments":[{"duration_in_seconds":5602,"mime_type":"audio/mpeg","url":"https://traffic.libsyn.com/secure/173caf0e-b8e8-4056-8a73-2d60d94118ef/55_Business_Vova.mp3"}],"content_text":"Добавлена расшифровка — Александр Пахомов и Вова — основатель компании Unison и продукта yuchat, с которым Александр работает больше четырёх лет, — разбирают, как мыслит предприниматель: почему работа должна давать не только «плюшки», но и рост, зачем нанимать «под человека», а не «под вакансию», и что такое ламповый «социум», который плохо масштабируется. Во второй половине — про инструменты для живого удалённого общения (спонтанная коммуникация как в open space, возможность догнать пропущенный созвон на скорости), про вкус и креатив в профессии и про новую реальность, в которой всё труднее доверять коду и контенту, сгенерированному ИИ.","date_published":"2026-09-15T00:00:00Z","id":"sha256:e307ba6c42e4a9547ab4d2d44d2891de25271797bb74ad5caad46a6955febe29","tags":["предпринимательство","мотивация","корпоративная культура","удалённая работа","ИИ-инструменты"],"title":"Добавлена расшифровка: #55: Как мыслит предприниматель","url":"https://apkhmv.xyz/podcast/episode-55/"},{"_tf":{"change":"transcript_added","changed_at":"2026-09-15T00:00:00Z","episode_number":54,"kind":"episode","md_url":"https://apkhmv.xyz/podcast/episode-54/index.md","transcript_status":"reviewed"},"attachments":[{"duration_in_seconds":3384,"mime_type":"audio/mpeg","url":"https://traffic.libsyn.com/secure/173caf0e-b8e8-4056-8a73-2d60d94118ef/54_Vibe.mp3"}],"content_text":"Добавлена расшифровка — Александр Пахомов и Иван Ямщиков (сооснователь Pleias, профессор THWS) разбирают, как генеративные модели и «вайб-кодинг» меняют работу инженера в середине 2025 года: где модели реально полезны (быстрое прототипирование) и где буксуют (тестирование, валидация и дебаг сгенерированного кода). По пути — как из «восстановления пропусков в тексте» вырос reasoning, почему модель в чате не дообучается на вашем фидбэке, чем маленькие модели и RAG интересны бизнесу с чувствительными данными, и какой навык остаётся за человеком: придумывать тесты и удерживать «вкус» к задаче.","date_published":"2026-09-15T00:00:00Z","id":"sha256:13d6156adc64bfc613562d38a570fc12c3aebfe8b69e46f2086f13e275d945eb","tags":["вайб-кодинг","ИИ-агенты","языковые модели","reasoning","RAG","тестирование"],"title":"Добавлена расшифровка: #54: Вайбим с Иваном Ямщиковым","url":"https://apkhmv.xyz/podcast/episode-54/"},{"_tf":{"change":"transcript_added","changed_at":"2026-09-15T00:00:00Z","episode_number":53,"kind":"episode","md_url":"https://apkhmv.xyz/podcast/episode-53/index.md","transcript_status":"draft"},"attachments":[{"duration_in_seconds":5372,"mime_type":"audio/mpeg","url":"https://traffic.libsyn.com/secure/173caf0e-b8e8-4056-8a73-2d60d94118ef/53_Datomic.mp3"}],"content_text":"Добавлена расшифровка — Александр Пахомов и Никита Прокопов (Nikitonsky — автор Fira Code, DataScript и телеграм-канала «Стой под стрелой») разбирают Datomic — базу данных, которая идёт против течения индустрии. Начав с боли, когда оптимизатор `Postgres` внезапно замедляет запрос в сто раз, они переходят к устройству Datomic: модель `Entity-Attribute-Value` вместо таблиц, язык запросов `Datalog` вместо `SQL`, разделение чтения и записи, однопоточный транзактор и иммутабельная база с путешествием во времени. Отдельная линия разговора — как маленькая команда за счёт радикальной простоты решает те же задачи минимальными средствами.","date_published":"2026-09-15T00:00:00Z","id":"sha256:2e1787fe92d578b26688fe6aef628dbb50abd64744605508aa992021cb3ff6d3","tags":["Datomic","базы данных","Clojure","Datalog","PostgreSQL"],"title":"Добавлена расшифровка: #53: Datomic: самая рок-н-рольная БД","url":"https://apkhmv.xyz/podcast/episode-53/"},{"_tf":{"change":"transcript_added","changed_at":"2026-09-15T00:00:00Z","episode_number":52,"kind":"episode","md_url":"https://apkhmv.xyz/podcast/episode-52/index.md","transcript_status":"draft"},"attachments":[{"duration_in_seconds":8779,"mime_type":"audio/mpeg","url":"https://traffic.libsyn.com/secure/173caf0e-b8e8-4056-8a73-2d60d94118ef/podcast_17_v4_1.mp3"}],"content_text":"Добавлена расшифровка — Александр Пахомов и Андрей Володин (сооснователь и CTO стартапа Gracia, ex-founding engineer Prisma и сооснователь NetMonet) разбирают, как вайб-кодинг и AI-агенты меняют профессию разработчика в середине 2025 года. Отправной точкой служит кейс Андрея: не будучи фронтендером, он с нуля собрал в Cursor комплексную админку (backend-driven UI, three.js, парсинг COLMAP) за ноль строк ручного кода. Отсюда — почему «попсовые» стеки (React, TypeScript) под наибольшим давлением, а low-level, робототехника и diptech пока «тихая гавань»; зачем разработчику смещаться в сторону бизнеса; и как экономическая конъюнктура (конец ZIRP, стагнация рынка смартфонов) переопределяет ценность кода — от «читабельности» к «нераспространению говнокода».","date_published":"2026-09-15T00:00:00Z","id":"sha256:e8021216c6c9a38cb5e3b23f8557b07150b6b0f93523be67b27e5bcf85dc4f34","tags":["вайб-кодинг","AI-агенты","профессия разработчика","рынок труда в IT","языки программирования"],"title":"Добавлена расшифровка: #52: Трансформация профессии разработчика в 2025","url":"https://apkhmv.xyz/podcast/episode-52/"},{"_tf":{"change":"transcript_added","changed_at":"2026-09-15T00:00:00Z","episode_number":51,"kind":"episode","md_url":"https://apkhmv.xyz/podcast/episode-51/index.md","transcript_status":"draft"},"attachments":[{"duration_in_seconds":5382,"mime_type":"audio/mpeg","url":"https://traffic.libsyn.com/secure/173caf0e-b8e8-4056-8a73-2d60d94118ef/51_code_review_Clickhouse.mp3"}],"content_text":"Добавлена расшифровка — Александр Пахомов и коммитер ClickHouse Максим Кита разбирают, как в большом open-source-проекте устроено код-ревью: почему оно неотделимо от мощного CI, от которого зависит, сколько ответственности можно снять с ревьюера, и от того, как сами контрибьюторы готовят свой код. По пути — какие тесты и санитайзеры гоняет ClickHouse, почему `code coverage` как хардстоп чаще вредит, какие пул-реквесты страшнее всего ревьюить (вероятностные алгоритмы), как «запал» автора и человеческая психология определяют судьбу PR, и почему изоляция кода через `factory`-паттерн и принцип open-closed так важна для контрибьютабельности.","date_published":"2026-09-15T00:00:00Z","id":"sha256:7258a5319fe075705342859d8c795b435f12e78b6315ad3eddab34cd4be87e65","tags":["код-ревью","ClickHouse","open source","C++","тестирование"],"title":"Добавлена расшифровка: #51: Код ревью в Clickhouse","url":"https://apkhmv.xyz/podcast/episode-51/"},{"_tf":{"change":"transcript_added","changed_at":"2026-09-15T00:00:00Z","episode_number":50,"kind":"episode","md_url":"https://apkhmv.xyz/podcast/episode-50/index.md","transcript_status":"draft"},"attachments":[{"duration_in_seconds":4797,"mime_type":"audio/mpeg","url":"https://traffic.libsyn.com/secure/173caf0e-b8e8-4056-8a73-2d60d94118ef/50_productivity.mp3"}],"content_text":"Добавлена расшифровка — Сольный, юбилейный 50-й выпуск: Александр Пахомов возвращается к формату монолога и разбирает, что за год ощутимо подняло его продуктивность как программиста. Разговор идёт по четырём слоям — эргономика рабочего места (кресло `ErgoHuman`, кронштейн для ноутбука, ортолинейная сплит-клавиатура), софт (`Ghostty` + `tmux` + `Neovim` как единая среда, `fish`, единая тема во всех программах), пет-проект «база данных на Rust» и его влияние на уверенность в языке, и, наконец, здоровье — отказ от соцсетей и новостных каналов ради «свободного места в голове» плюс спорт как способ прокачать не тело, а майндсет времени и дисциплины.","date_published":"2026-09-15T00:00:00Z","id":"sha256:75874c3e679bbe58fa1ac50a88c547abe892f68a318835da826a7c7200adeed3","tags":["продуктивность","эргономика","рабочее место","Rust","цифровой детокс"],"title":"Добавлена расшифровка: #50: Как я повысил свою продуктивность за этот год","url":"https://apkhmv.xyz/podcast/episode-50/"},{"_tf":{"change":"transcript_added","changed_at":"2026-09-15T00:00:00Z","episode_number":49,"kind":"episode","md_url":"https://apkhmv.xyz/podcast/episode-49/index.md","transcript_status":"draft"},"attachments":[{"duration_in_seconds":9869,"mime_type":"audio/mpeg","url":"https://traffic.libsyn.com/secure/173caf0e-b8e8-4056-8a73-2d60d94118ef/49_Neon_Database.mp3"}],"content_text":"Добавлена расшифровка — Александр Пахомов и Стас Кельвич (сооснователь Neon, где он сделал storage layer) разбирают внутреннее устройство serverless-Postgres. Как Neon отделяет compute от storage: `compute` — это чуть подхаченный Postgres, у которого чтение с диска заменено на чтение по сети, а `storage` — свои сервисы на Rust (Safekeeper — консенсусный `WAL` на модифицированном Raft/DiskPaxos, и PageServer — партиционированное LSM-дерево поверх S3). По пути — процессы Postgres-комьюнити (commit-fest'ы, пятилетние патчи, `TLA+`), branching через copy-on-write и запросы к истории по `LSN`, live-миграция виртуалок ради вертикального скейлинга без разрыва соединений, авторизация по `HTTP` для V8-isolate'ов, а также будущее многопоточного Postgres. Это вторая, глубоко техническая часть; обзорная — в выпуске 48.","date_published":"2026-09-15T00:00:00Z","id":"sha256:2423a038263b68167a9878bcfd3eeb53b5fc91648d2ae6aea1ab4918bb726c2c","tags":["serverless Postgres","распределённые системы","консенсус и Paxos","storage-движки","облачные базы данных"],"title":"Добавлена расшифровка: #49: Serverless Postgres: как работает Neon Database","url":"https://apkhmv.xyz/podcast/episode-49/"},{"_tf":{"change":"transcript_added","changed_at":"2026-09-15T00:00:00Z","episode_number":48,"kind":"episode","md_url":"https://apkhmv.xyz/podcast/episode-48/index.md","transcript_status":"draft"},"attachments":[{"duration_in_seconds":6971,"mime_type":"audio/mpeg","url":"https://traffic.libsyn.com/secure/173caf0e-b8e8-4056-8a73-2d60d94118ef/48_databases_overview.mp3"}],"content_text":"Добавлена расшифровка — Александр Пахомов и Стас Кельвич (сооснователь Neon — serverless Postgres as a service, где он сделал storage layer) с высоты птичьего полёта осматривают весь ландшафт баз данных: почему `SQL` пережил полвека и все попытки его заменить, что осталось от волны `NoSQL`, зачем Neon отдаёт Postgres по `HTTP` для edge-воркеров на V8, и где заканчивается один сервер. По пути — «константы скорости света» для пропускной способности (30–40k транзакций в секунду в одно соединение), инженерия шардирования и shuffle join, а также распределённые транзакции: двухфазный и трёхфазный коммит, Paxos Commit и подходы к изоляции. Это первая, обзорная часть; технические кишки Neon — в следующем выпуске.","date_published":"2026-09-15T00:00:00Z","id":"sha256:57ca05f460dfc21e0fb213642f61a6a14447257745e465304b11031bf0c47a79","tags":["базы данных","SQL и NoSQL","распределённые системы","шардирование","распределённые транзакции","Postgres"],"title":"Добавлена расшифровка: #48: Реплицируем RDBMS с ко-фаундером Neon","url":"https://apkhmv.xyz/podcast/episode-48/"},{"_tf":{"change":"transcript_added","changed_at":"2026-09-15T00:00:00Z","episode_number":47,"kind":"episode","md_url":"https://apkhmv.xyz/podcast/episode-47/index.md","transcript_status":"draft"},"attachments":[{"duration_in_seconds":7785,"mime_type":"audio/mpeg","url":"https://traffic.libsyn.com/secure/173caf0e-b8e8-4056-8a73-2d60d94118ef/47_fleet.mp3"}],"content_text":"Добавлена расшифровка — Александр Пахомов и Андрей Зайцев (инженер JetBrains, архитектор редактора Fleet) разбирают внутреннее устройство Fleet как одновременно редактора кода и мутабельной базы данных. Разговор идёт от трёх исходных челленджей (remote development, коллаборация, полиглотность) через `React`-подобный UI, чистые функции и персистентные структуры данных к главной идее — распределённым оптимистичным транзакциям на механике «переписывания истории» в духе git-rebase, где всё состояние редактора это одно значение. По пути — параллели с `Datomic` и `MVCC`, детектор конфликтов на хэшах, нативный рендеринг через `Skia` и бюджет кадра при 120 FPS, а также роль garbage collector в функциональном коде.","date_published":"2026-09-15T00:00:00Z","id":"sha256:f666a3ffb6dbf472d69ce18bc589197bdbdce25143c224cfcc6c6ef00ae3287b","tags":["редакторы кода","функциональное программирование","распределённые транзакции","рендеринг UI","базы данных"],"title":"Добавлена расшифровка: #47: Fleet: редактор с оптимистичными транзакциями","url":"https://apkhmv.xyz/podcast/episode-47/"},{"_tf":{"change":"transcript_added","changed_at":"2026-09-15T00:00:00Z","episode_number":46,"kind":"episode","md_url":"https://apkhmv.xyz/podcast/episode-46/index.md","transcript_status":"draft"},"attachments":[{"duration_in_seconds":6332,"mime_type":"audio/mpeg","url":"https://traffic.libsyn.com/secure/173caf0e-b8e8-4056-8a73-2d60d94118ef/46_nikitonsky.mp3"}],"content_text":"Добавлена расшифровка — Александр Пахомов и Никита Прокопов (tonsky) — автор шрифта Fira Code, библиотеки DataScript и блога «Стой под стрелой» — разбирают, каким должен быть современный редактор кода. От эргономики (сплит-клавиатуры, home row, стрелки на `EJKL`) через спор о Vim, терминале и модальности к расширяемости и «шумности» IntelliJ IDEA. Никита объясняет, почему он много лет сидит в Sublime Text, почему «умный» редактор делает тебя тупее, и как маленькая команда без денег на nice-to-have фичи выигрывает у раздутых IDE.","date_published":"2026-09-15T00:00:00Z","id":"sha256:9821d04e0450a96b4473903744fdc1a285f3eca84998256fa89dc7ac4a98b952","tags":["редакторы кода","Vim и Neovim","эргономика клавиатуры","инструменты разработчика","Sublime Text"],"title":"Добавлена расшифровка: #46: Nikitonsky про современные редакторы кода","url":"https://apkhmv.xyz/podcast/episode-46/"},{"_tf":{"change":"transcript_added","changed_at":"2026-09-15T00:00:00Z","episode_number":45,"kind":"episode","md_url":"https://apkhmv.xyz/podcast/episode-45/index.md","transcript_status":"draft"},"attachments":[{"duration_in_seconds":6587,"mime_type":"audio/mpeg","url":"https://traffic.libsyn.com/secure/173caf0e-b8e8-4056-8a73-2d60d94118ef/1724936820522_45_TigerBeetle_matklad.mp3"}],"content_text":"Добавлена расшифровка — Александр Пахомов и Алексей Кладов (matklad — автор IntelliJ Rust и rust-analyzer, теперь разработчик TigerBeetle) подробно разбирают, чем TigerBeetle не похож на остальные СУБД: написана на `Zig`, без `SQL`-интерфейса, со статической аллокацией памяти и жёстко зашитой доменной моделью из аккаунтов и трансферов. По ходу — почему `OLTP` стоит вернуть к процессингу именно финансовых транзакций (а `SQL` назвать `OLGP`), как реплицированная state machine на консенсусе `VSR` переживает ненадёжные сеть и диск, как устроены чек-суммы, суперблок, батчинг и детерминированный компакшн `LSM`-деревьев, и почему системное программирование на самом деле простое — надо просто брать и писать код.","date_published":"2026-09-15T00:00:00Z","id":"sha256:ba5289f650902812d069afe69f77c76376e53cf8c11d88d3333f32c5d885af92","tags":["базы данных","распределённые системы","Zig","консенсус","системное программирование"],"title":"Добавлена расшифровка: #45: TigerBeetle: база данных не похожа на остальные","url":"https://apkhmv.xyz/podcast/episode-45/"},{"_tf":{"change":"transcript_added","changed_at":"2026-09-15T00:00:00Z","episode_number":44,"kind":"episode","md_url":"https://apkhmv.xyz/podcast/episode-44/index.md","transcript_status":"draft"},"attachments":[{"duration_in_seconds":7761,"mime_type":"audio/mpeg","url":"https://traffic.libsyn.com/secure/173caf0e-b8e8-4056-8a73-2d60d94118ef/44_SIMD.mp3"}],"content_text":"Добавлена расшифровка — Александр Пахомов и коммитер ClickHouse Максим Кита разбирают процессоры глазами системного инженера — от иерархии кэшей, стека и prefetch до суперскалярности, спекулятивного выполнения и протокола когерентности `MESI`. Во второй половине разговор уходит в модели памяти (`happens-before`, relaxed / acquire-release / sequential consistency), false sharing и лок-фри-примитивы, а затем — в главную тему: `SIMD`, автовекторизацию, `CPU dispatch` и хитрые SIMD-алгоритмы вроде гугловой Swiss-хеш-таблицы, которыми ClickHouse ускоряет обработку данных.","date_published":"2026-09-15T00:00:00Z","id":"sha256:d1d6f9060b515752b2112eabfbb592bcd0a9460bd3de24d7ad830e0118478afe","tags":["процессоры","SIMD","модели памяти","кэши","ClickHouse"],"title":"Добавлена расшифровка: #44: SIMD в базах данных","url":"https://apkhmv.xyz/podcast/episode-44/"},{"_tf":{"change":"transcript_added","changed_at":"2026-09-15T00:00:00Z","episode_number":43,"kind":"episode","md_url":"https://apkhmv.xyz/podcast/episode-43/index.md","transcript_status":"draft"},"attachments":[{"duration_in_seconds":7765,"mime_type":"audio/mpeg","url":"https://traffic.libsyn.com/secure/173caf0e-b8e8-4056-8a73-2d60d94118ef/43_JIT.mp3"}],"content_text":"Добавлена расшифровка — Александр Пахомов и Максим Кита (ментейнер LLVM, коммитер ClickHouse) разбирают Just-In-Time-компиляцию: сначала на классическом примере JVM, где JIT девиртуализирует вызовы, инлайнит `get` у `ArrayList` и убирает bound-check, а потом — как тот же приём работает в базах данных. На примере ClickHouse, Postgres и YDB они показывают, как выполнение выражений над `union`-типами компилируется в одну плотную функцию через `LLVM IR`, чем OLAP-компиляция отличается от OLTP и почему `JIT` — это ещё и постоянный источник проблем с безопасностью и падениями.","date_published":"2026-09-15T00:00:00Z","id":"sha256:b360a0bf8eaca5a55bfe292e67d63125e92ae8a9fc29c6707d12dbf08365330b","tags":["JIT","компиляторы","LLVM","базы данных","ClickHouse"],"title":"Добавлена расшифровка: #43: Как работает JIT в базах данных","url":"https://apkhmv.xyz/podcast/episode-43/"},{"_tf":{"change":"transcript_added","changed_at":"2026-09-15T00:00:00Z","episode_number":42,"kind":"episode","md_url":"https://apkhmv.xyz/podcast/episode-42/index.md","transcript_status":"draft"},"attachments":[{"duration_in_seconds":5572,"mime_type":"audio/mpeg","url":"https://traffic.libsyn.com/secure/173caf0e-b8e8-4056-8a73-2d60d94118ef/42_Cybersec.mp3"}],"content_text":"Добавлена расшифровка — Александр Пахомов и Мекан Байрыев (специалист по безопасности веб-приложений в Mad Devs, автор YouTube-канала MrCyberSec) проходят путь атакующего от IP-адреса до `root`: сканирование портов `nmap`, перебор директорий и API-эндпоинтов, SQL-инъекции, хранение паролей и хеширование, reverse shell и эскалацию привилегий через SUID-биты, capabilities и cron. По ходу — типовые кейсы (утечка данных через незащищённую ручку, побайтовое чтение `id_rsa` через хеш-оракул, бэкдор в цепочке поставок и история с `xz`), подборка ресурсов для обучения (Hack The Box, TryHackMe, CTF) и чек-лист гигиены для бэкенд-разработчика, сводящийся к принципу минимальных привилегий.","date_published":"2026-09-15T00:00:00Z","id":"sha256:6b6355e9c212adc7f38a90a71241957004bd62d208f48a7ab9f9d07fbe435488","tags":["кибербезопасность","SQL-инъекции","reverse shell","хеширование паролей","эскалация привилегий"],"title":"Добавлена расшифровка: #42: MrCyberSec: что нужно знать про безопасность","url":"https://apkhmv.xyz/podcast/episode-42/"},{"_tf":{"change":"transcript_added","changed_at":"2026-09-15T00:00:00Z","episode_number":41,"kind":"episode","md_url":"https://apkhmv.xyz/podcast/episode-41/index.md","transcript_status":"draft"},"attachments":[{"duration_in_seconds":9678,"mime_type":"audio/mpeg","url":"https://traffic.libsyn.com/secure/173caf0e-b8e8-4056-8a73-2d60d94118ef/41_Qdrant.mp3"}],"content_text":"Добавлена расшифровка — Александр Пахомов и Андрей Васнецов (CTO и сооснователь Qdrant) разбирают, как устроен векторный поиск и почему Qdrant — это поисковый движок, а не «векторная база данных». По пути: откуда берутся эмбеддинги (word2vec, BERT, ONNX) и какими свойствами обладают векторы; почему точный индекс не работает в размерности полторы тысячи и как вместо него применяется приближённый `HNSW`; в чём киллер-фича Qdrant — фильтруемый `HNSW` со вторичными индексами; как всё это шардируется и реплицируется поверх `RAFT`; и большой финальный блок про Rust — от безопасного рефакторинга и `cargo` до вставок на ассемблере, квантизации и `io_uring`.","date_published":"2026-09-15T00:00:00Z","id":"sha256:4e80d0f345cf27a02f7243b396f37d0e714d9a6b4752931535bd1af8322dc4fe","tags":["векторный поиск","базы данных","Rust","HNSW и эмбеддинги","распределённые системы"],"title":"Добавлена расшифровка: #41: Qdrant: Векторная база данных на Rust","url":"https://apkhmv.xyz/podcast/episode-41/"},{"_tf":{"change":"transcript_added","changed_at":"2026-09-15T00:00:00Z","episode_number":40,"kind":"episode","md_url":"https://apkhmv.xyz/podcast/episode-40/index.md","transcript_status":"draft"},"attachments":[{"duration_in_seconds":6928,"mime_type":"audio/mpeg","url":"https://traffic.libsyn.com/secure/173caf0e-b8e8-4056-8a73-2d60d94118ef/neovim_offline.m4a"}],"content_text":"Добавлена расшифровка — Первый оффлайн-выпуск «Тысячи фичей»: в гостях у Александра Пахомова — Илья Ильиных, автор YouTube-канала «Куда войти?». Почти два часа они разбирают эргономику рабочего места (посадка, монитор, сплит-клавиатуры, механические свитчи, слепая печать), путь от IntelliJ IDEA через Emacs к `NeoVim` и то, почему модальность и Unix-философия редактора заставляют программиста по-настоящему познакомиться со своими инструментами. Во второй половине — большой разговор про TDD как способ проектирования и «обуздания» легаси, про моки и интеграционные тесты и про то, стоит ли программировать по выходным.","date_published":"2026-09-15T00:00:00Z","id":"sha256:d48bb1a7a8dd1595c29e590ef6046d40afc189289008f40cf3d79d5c1638b4f7","tags":["эргономика","NeoVim","TDD","слепая печать","тестирование"],"title":"Добавлена расшифровка: #40: Спэшл: Эргономика, NeoVim и TDD","url":"https://apkhmv.xyz/podcast/episode-40/"},{"_tf":{"change":"transcript_added","changed_at":"2026-09-15T00:00:00Z","episode_number":39,"kind":"episode","md_url":"https://apkhmv.xyz/podcast/episode-39/index.md","transcript_status":"draft"},"attachments":[{"duration_in_seconds":5610,"mime_type":"audio/mpeg","url":"https://traffic.libsyn.com/secure/173caf0e-b8e8-4056-8a73-2d60d94118ef/39_LLMs_Science_Education.mp3"}],"content_text":"Добавлена расшифровка — Александр Пахомов и Иван Ямщиков (профессор ИИ в THWS, Вюрцбург) уходят от техники в сторону науки и образования: как устроена академическая карьера в Европе (аспирантура — постдок — профессура) и почему письмо незнакомому учёному способно изменить траекторию. Через эмпирический принцип POSIWID («смысл системы в том, что она делает») Иван разбирает, чему на самом деле учит школа, а в финале выводит систему профессионального роста программиста: любопытство джуна, пет-проекты мидла и менторство сеньора.","date_published":"2026-09-15T00:00:00Z","id":"sha256:acff057c138ed00db4e6c07c0a8865433fa5b1f3523dfbe1cd13a4d1a9667c58","tags":["образование","академическая карьера","профессиональный рост","генеративные модели","лайфхаки обучения"],"title":"Добавлена расшифровка: #39: Иван Ямщиков: Наука, Образование и лайфхаки","url":"https://apkhmv.xyz/podcast/episode-39/"},{"_tf":{"change":"transcript_added","changed_at":"2026-09-15T00:00:00Z","episode_number":38,"kind":"episode","md_url":"https://apkhmv.xyz/podcast/episode-38/index.md","transcript_status":"draft"},"attachments":[{"duration_in_seconds":9361,"mime_type":"audio/mpeg","url":"https://traffic.libsyn.com/secure/173caf0e-b8e8-4056-8a73-2d60d94118ef/38_Clickhouse.mp3"}],"content_text":"Добавлена расшифровка — Александр Пахомов и коммитер ClickHouse Максим Кита разбирают, почему самая популярная аналитическая база данных не тормозит: от разницы OLAP и OLTP и колоночного хранения до движков семейства `MergeTree`, агрегатных функций, проекций и `FINAL`. Во второй половине — инженерная культура ClickHouse: stateless-тесты вместо моков, фаззинг, Jepsen и `TLA+`, интроспекция и профилирование запросов через flame graph, а также разбор инцидента с высокой конкурентностью у одного крупного клиента, где глобальный mutex в контексте заменили на read-write.","date_published":"2026-09-15T00:00:00Z","id":"sha256:3cb41a3b65ee4fab9fea32614f74115033ab4088312df0d42780078a8c3ee0ea","tags":["ClickHouse","базы данных","OLAP","производительность","тестирование"],"title":"Добавлена расшифровка: #38: Почему ClickHouse не тормозит","url":"https://apkhmv.xyz/podcast/episode-38/"},{"_tf":{"change":"transcript_added","changed_at":"2026-09-15T00:00:00Z","episode_number":37,"kind":"episode","md_url":"https://apkhmv.xyz/podcast/episode-37/index.md","transcript_status":"draft"},"attachments":[{"duration_in_seconds":6467,"mime_type":"audio/mpeg","url":"https://traffic.libsyn.com/secure/173caf0e-b8e8-4056-8a73-2d60d94118ef/37_CEO_OF_HTMX.mp3"}],"content_text":"Добавлена расшифровка — Александр Пахомов зовёт в гости Вастрика (vas3k) — технологического блогера и основателя Вастрик-клуба — чтобы разобрать, на каком стеке живут его pet-проекты и почему инженерная простота — это не тупость, а опыт. Гость рассказывает, как из ЖЖ вырос блог на `Django` с `Postgres` в `Docker`, деплоем по `SSH` и одной машиной на Hetzner под `Cloudflare`, и объясняет главный тезис: код для себя и код на работе решают противоположные задачи. Финал — манифест против SPA и ода `HTMX` как «расширенному HTML» для бэкендеров.","date_published":"2026-09-15T00:00:00Z","id":"sha256:8ec1efcab6a75f01b307c152f31b63fe156a2d04838d61b57c94aa34c791be45","tags":["инди-хакинг","веб-разработка","HTMX","pet-проекты","деплой"],"title":"Добавлена расшифровка: #37: vas3k: CEO OF HTMX","url":"https://apkhmv.xyz/podcast/episode-37/"},{"_tf":{"change":"transcript_added","changed_at":"2026-09-15T00:00:00Z","episode_number":36,"kind":"episode","md_url":"https://apkhmv.xyz/podcast/episode-36/index.md","transcript_status":"draft"},"attachments":[{"duration_in_seconds":6832,"mime_type":"audio/mpeg","url":"https://traffic.libsyn.com/secure/173caf0e-b8e8-4056-8a73-2d60d94118ef/36_Rust_C_LLVM_Clickhouse.mp3"}],"content_text":"Добавлена расшифровка — Первый «хардкорный» выпуск: Александр Пахомов и Максим Кита (разработчик ClickHouse, контрибьютор компилятора Swift, коммитер LLVM) разбирают, как устроен современный компилятор — фронтенд, middle-end и бэкенд, `LLVM IR` в `SSA`-форме, basic-блоки и phi-ноды. По пути — почему на C++ тяжело писать без санитайзеров и `clang-tidy`, чем силён `borrow checker` в Rust, что такое compile-time-полиморфизм и `if constexpr`, как деление превращается в умножение, и как реально законтрибьютить в LLVM и компилятор Swift.","date_published":"2026-09-15T00:00:00Z","id":"sha256:2dffc9b685d600baf088a8cfa4e7a5ac0b04f406ffb607c543ad494af1247d71","tags":["LLVM","компиляторы","Rust","C++","open source"],"title":"Добавлена расшифровка: #36: LLVM: Rust, современный C++, как законтрибьютить","url":"https://apkhmv.xyz/podcast/episode-36/"},{"_tf":{"change":"transcript_added","changed_at":"2026-09-15T00:00:00Z","episode_number":35,"kind":"episode","md_url":"https://apkhmv.xyz/podcast/episode-35/index.md","transcript_status":"draft"},"attachments":[{"duration_in_seconds":3293,"mime_type":"audio/mpeg","url":"https://traffic.libsyn.com/secure/173caf0e-b8e8-4056-8a73-2d60d94118ef/35_IntelliJ_IDEA_ep.mp3"}],"content_text":"Добавлена расшифровка — Специальный выпуск про устройство IntelliJ IDEA: Александр Пахомов расспрашивает разработчика JetBrains Даниила Овчинникова о том, из чего собран IDE изнутри. Разбирают разделение на платформу и плагины (поддержка Java — тоже плагин), `PSI` как абстрактное синтаксическое дерево «на стероидах» и пайплайн его построения (`Lexer` → парсер → `AST` → `PSI`), устройство автодополнения через вставку скрытого идентификатора `IntelliJ IDEA RULES`, модель экшенов и гетерогенный контекст, инкрементальный репарсинг, многослойное тестирование (парсинг, инспекции, quick fix, completion, property-тесты на `JetCheck`), а также вечный спор о форматах конфигурации (`XML` против `JSON`/`YAML`/`HOCON`) и планы вынести UI на Compose Multiplatform.","date_published":"2026-09-15T00:00:00Z","id":"sha256:4c3554a5792316cfcb32eed8b37ec723ef74d172ecc83de1d2a8923afb1b08ac","tags":["IntelliJ IDEA","устройство IDE","парсеры и PSI","тестирование","разработка плагинов"],"title":"Добавлена расшифровка: #35: IntelliJ IDEA: самый популярный редактор для Java","url":"https://apkhmv.xyz/podcast/episode-35/"},{"_tf":{"change":"transcript_added","changed_at":"2026-09-15T00:00:00Z","episode_number":34,"kind":"episode","md_url":"https://apkhmv.xyz/podcast/episode-34/index.md","transcript_status":"draft"},"attachments":[{"duration_in_seconds":6508,"mime_type":"audio/mpeg","url":"https://traffic.libsyn.com/secure/173caf0e-b8e8-4056-8a73-2d60d94118ef/FAANG_Interview.mp3"}],"content_text":"Добавлена расшифровка — Большой «спэшл» с гостем — Дмитрием Волыхиным, ведущим подкаста Java Swag и лидером комьюнити FAANG Talks, который получил оффер в Meta. Вместе с Александром они подробно разбирают весь путь подготовки к интервью в big tech: почему это лотерея и стоит ли платить за буткемпы, как устроены три части собеседования (алгоритмы, system design, behavioral), сколько готовиться и как выбрать между «спринтом» и «марафоном». Отдельно — про моки, про 7 шагов system design, про метод STAR, про грейды и деньги (`levels.fyi`), релокацию и главный инсайт: подготовка к FAANG делает тебя сильнее как инженера здесь и сейчас.","date_published":"2026-09-15T00:00:00Z","id":"sha256:e4b438db92f5b11e5b7152deed923720461f8324c0504e0767df444b035b848d","tags":["FAANG","собеседования","алгоритмы","system design","карьера в IT"],"title":"Добавлена расшифровка: #34: Спэшл: Подготовка к FAANG и важность алгоритмов","url":"https://apkhmv.xyz/podcast/episode-34/"},{"_tf":{"change":"transcript_added","changed_at":"2026-09-15T00:00:00Z","episode_number":33,"kind":"episode","md_url":"https://apkhmv.xyz/podcast/episode-33/index.md","transcript_status":"draft"},"attachments":[{"duration_in_seconds":2810,"mime_type":"audio/mpeg","url":"https://traffic.libsyn.com/secure/173caf0e-b8e8-4056-8a73-2d60d94118ef/33_Query_Optimizations.mp3"}],"content_text":"Добавлена расшифровка — Финал второго сезона про базы данных. Александр Пахомов разбирает один из самых сложных компонентов СУБД — оптимизатор запросов: как выглядит план запроса и как по нему текут данные, три модели обработки (итератор, материализация, векторизация), методы доступа к данным (`sequential scan` с его оптимизациями и `index scan`), Halloween Problem и JIT-компиляцию выражений. Вторая половина — параллелизм: модели воркеров (процесс на воркер, тред на воркер, embedded), горизонтальное распараллеливание плана и место самого оптимизатора в конвейере от парсера до физического плана, где он применяет эвристики и cost-based-оптимизации на основе статистик.","date_published":"2026-09-15T00:00:00Z","id":"sha256:245a07b5bc4f2c6981f8222e1974f4f07d5028889c0231bc19ca66a15d266e1d","tags":["оптимизация запросов","план запроса","оптимизатор запросов","параллелизм в базах данных","cost-based оптимизация"],"title":"Добавлена расшифровка: #33: Query optimizations: эвристики и cost-based","url":"https://apkhmv.xyz/podcast/episode-33/"},{"_tf":{"change":"transcript_added","changed_at":"2026-09-15T00:00:00Z","episode_number":32,"kind":"episode","md_url":"https://apkhmv.xyz/podcast/episode-32/index.md","transcript_status":"draft"},"attachments":[{"duration_in_seconds":1834,"mime_type":"audio/mpeg","url":"https://traffic.libsyn.com/secure/173caf0e-b8e8-4056-8a73-2d60d94118ef/32_Joins.mp3"}],"content_text":"Добавлена расшифровка — Продолжение сезона про базы данных. Александр Пахомов разбирает, как СУБД сортируют и соединяют таблицы, когда данные не влезают в оперативную память. Сначала — алгоритмы сортировки (`quicksort`, top-N heap sort, external merge sort) и их оптимизации (early/late materialization, prefetch, кодогенерация под типы, сравнение бинарных префиксов), затем hash aggregate для `GROUP BY`, и наконец три способа соединения таблиц — nested loop join, sort-merge join и hash join — с выводом, почему hash join обычно самый эффективный.","date_published":"2026-09-15T00:00:00Z","id":"sha256:1c19d43c46f340f33aa0b16bf1b9e5c01b6ef82d1013ad76b8ad0b525b736591","tags":["базы данных","сортировки","join","hash join","query-план"],"title":"Добавлена расшифровка: #32: Merge sort и hash join: соединяют и сортируют","url":"https://apkhmv.xyz/podcast/episode-32/"},{"_tf":{"change":"transcript_added","changed_at":"2026-09-15T00:00:00Z","episode_number":31,"kind":"episode","md_url":"https://apkhmv.xyz/podcast/episode-31/index.md","transcript_status":"draft"},"attachments":[{"duration_in_seconds":1739,"mime_type":"audio/mpeg","url":"https://traffic.libsyn.com/secure/173caf0e-b8e8-4056-8a73-2d60d94118ef/31_WAL.mp3"}],"content_text":"Добавлена расшифровка — Выпуск про Write-Ahead Log — механизм, который обеспечивает атомарность и долговечность транзакций и лежит в сердце почти любой базы данных. Александр объясняет, зачем логировать изменения, если оперативная память быстрая, но недолговечна, разбирает политики буферизации (`steal`/`no-steal`, `force`/`no-force`) и альтернативу в виде shadow paging, а затем на пальцах проходит устройство самого лога (append-only, immutable, log records, checkpoint) и семейство алгоритмов восстановления ARIES с его фазами analysis, redo и undo.","date_published":"2026-09-15T00:00:00Z","id":"sha256:513c511cac837cfec90c373b5f63744528214dafb015809479b1db38e178785b","tags":["базы данных","write-ahead log","восстановление после сбоя","транзакции","ARIES"],"title":"Добавлена расшифровка: #31: WAL: сердце любой базы данных","url":"https://apkhmv.xyz/podcast/episode-31/"},{"_tf":{"change":"transcript_added","changed_at":"2026-09-15T00:00:00Z","episode_number":30,"kind":"episode","md_url":"https://apkhmv.xyz/podcast/episode-30/index.md","transcript_status":"draft"},"attachments":[{"duration_in_seconds":2049,"mime_type":"audio/mpeg","url":"https://traffic.libsyn.com/secure/173caf0e-b8e8-4056-8a73-2d60d94118ef/30_LSM_Tree.mp3"}],"content_text":"Добавлена расшифровка — Юбилейный тридцатый выпуск про Log-Structured Merge Tree — структуру данных, оптимизированную под запись и ставшую основной альтернативой `B+`-деревьям в современных key-value-хранилищах. Александр Пахомов объясняет RUM-трейд-офф (read-update-memory) и слабые места `B+`-дерева на записи, разбирает устройство двух- и многокомпонентного LSM (дерево в памяти + write-ahead log + иммутабельные `SSTable` на диске, compaction по уровням, tombstone-удаления), показывает, почему чтение в LSM платит за быструю запись, и связывает популярность LSM с физикой SSD, который тоже пишет и стирает блоками журналируемо.","date_published":"2026-09-15T00:00:00Z","id":"sha256:9af78bd5b401c0fe3e624f609fa115eaa89590f26ccc7db8ac43f3da55a476c6","tags":["LSM-дерево","структуры данных","хранилища баз данных","compaction","SSD"],"title":"Добавлена расшифровка: #30: LSM Tree: структура данных взрывает мозг","url":"https://apkhmv.xyz/podcast/episode-30/"},{"_tf":{"change":"transcript_added","changed_at":"2026-09-15T00:00:00Z","episode_number":29,"kind":"episode","md_url":"https://apkhmv.xyz/podcast/episode-29/index.md","transcript_status":"draft"},"attachments":[{"duration_in_seconds":2829,"mime_type":"audio/mpeg","url":"https://traffic.libsyn.com/secure/173caf0e-b8e8-4056-8a73-2d60d94118ef/29_Concurrency_control.mp3"}],"content_text":"Добавлена расшифровка — Продолжение сезона про базы данных: как СУБД на самом деле гарантируют уровни изоляции. Александр разбирает три протокола управления конкурентностью — пессимистичную двухфазную блокировку (2PL) с её строгой версией, детекцией дедлоков по waits-for-graph, гранулярностью и intention locks; оптимистическое управление (OCC) с private workspace и фазами чтения/валидации/записи; и мультиверсионность (MVCC), которая хранит несколько версий объекта, даёт snapshot isolation почти бесплатно и лежит в основе большинства современных СУБД. Попутно — таймстемп-ординг как теоретический фундамент, аномалия write skew, дефолтные уровни изоляции в Postgres, Oracle и Google Spanner, а также хранение версий, сборка мусора и вторичные индексы в MVCC.","date_published":"2026-09-15T00:00:00Z","id":"sha256:96f4dea8cd48ac1c76da54d268ae3ab4bf1bc4f48fa2d62ce9bc7957d00d7113","tags":["управление конкурентностью","транзакции","уровни изоляции","MVCC","базы данных"],"title":"Добавлена расшифровка: #29: Concurrency control: 2PL, OCC, MVCC","url":"https://apkhmv.xyz/podcast/episode-29/"},{"_tf":{"change":"transcript_added","changed_at":"2026-09-15T00:00:00Z","episode_number":28,"kind":"episode","md_url":"https://apkhmv.xyz/podcast/episode-28/index.md","transcript_status":"draft"},"attachments":[{"duration_in_seconds":1799,"mime_type":"audio/mpeg","url":"https://traffic.libsyn.com/secure/173caf0e-b8e8-4056-8a73-2d60d94118ef/28_ACID_Transactions.mp3"}],"content_text":"Добавлена расшифровка — Сольный выпуск из серии про базы данных. Александр Пахомов разбирает ACID-транзакции: сначала «зазубренный» ответ на собеседовании (атомарность, консистентность, изоляция, долговечность) с комментариями к каждому свойству и упоминанием реализаций через write-ahead log и shadow paging, а затем — главную часть про изоляцию. На аналогии со складом он объясняет аномалии параллельного исполнения (грязное и неповторяемое чтение, фантомы, потерянное обновление, грязная запись, write skew), выстраивает из них уровни изоляции вплоть до `serializable` и разбирает, что вообще стоит за сериализуемостью — конфликты, граф зависимостей и разница между conflict- и view-serializable.","date_published":"2026-09-15T00:00:00Z","id":"sha256:f5156b853364c631d086bc512777ac03f0fc5b4b3bdbc83106f2ed88ec6fe8bd","tags":["ACID","транзакции","уровни изоляции","сериализуемость","аномалии чтения и записи"],"title":"Добавлена расшифровка: #28: ACID transactions: аномалии и сериализуемость","url":"https://apkhmv.xyz/podcast/episode-28/"},{"_tf":{"change":"transcript_added","changed_at":"2026-09-15T00:00:00Z","episode_number":27,"kind":"episode","md_url":"https://apkhmv.xyz/podcast/episode-27/index.md","transcript_status":"draft"},"attachments":[{"duration_in_seconds":1968,"mime_type":"audio/mpeg","url":"https://traffic.libsyn.com/secure/173caf0e-b8e8-4056-8a73-2d60d94118ef/27_HashTables.mp3"}],"content_text":"Добавлена расшифровка — Выпуск сезона про базы данных: почему хэш-таблицы проиграли `B+`-деревьям гонку за звание главной структуры данных для индексов. Александр Пахомов разбирает устройство хэш-таблицы и её два ключевых архитектурных решения — выбор хэш-функции (trade-off «скорость против collision rate», от `MurmurHash` и `CityHash` до state-of-the-art `xxHash`) и схему хэширования: статические (linear probe, Robin Hood, cuckoo) и динамические (chained, extendable, linear hashing).","date_published":"2026-09-15T00:00:00Z","id":"sha256:6718549dc6c14d290322fde53cf45a6becb5cead2ca02d7c2adc88951c3a284f","tags":["хэш-таблицы","хэш-функции","схемы хэширования","базы данных","индексы"],"title":"Добавлена расшифровка: #27: Хэш таблицы: функции и схемы хэширования","url":"https://apkhmv.xyz/podcast/episode-27/"},{"_tf":{"change":"transcript_added","changed_at":"2026-09-15T00:00:00Z","episode_number":26,"kind":"episode","md_url":"https://apkhmv.xyz/podcast/episode-26/index.md","transcript_status":"draft"},"attachments":[{"duration_in_seconds":1345,"mime_type":"audio/mpeg","url":"https://traffic.libsyn.com/secure/173caf0e-b8e8-4056-8a73-2d60d94118ef/26_Latches.mp3"}],"content_text":"Добавлена расшифровка — Продолжение сезона про базы данных: разбор проблем классического B+tree и инженерных приёмов их решения. Александр Пахомов объясняет, зачем деревьям нужны защёлки (latches) и почему в мире СУБД «блокировки» и «защёлки» значат не то же, что в языках программирования, показывает метод latch crabbing с оптимистичным спуском, а затем разбирает две продакшен-оптимизации записи — copy-on-write B+tree (движок LMDB в OpenLDAP) и буферизацию дельт в Lazy/Buffered B+tree (движок WiredTiger в MongoDB).","date_published":"2026-09-15T00:00:00Z","id":"sha256:a6e7a38707ba1b2cae59205a05a49f2f006ae1e6babc335291a18fb019de857f","tags":["B+tree","защёлки","базы данных","storage engine","copy-on-write"],"title":"Добавлена расшифровка: #26: Оптимизируем B+tree: копирование, пакетирование","url":"https://apkhmv.xyz/podcast/episode-26/"},{"_tf":{"change":"transcript_added","changed_at":"2026-09-15T00:00:00Z","episode_number":25,"kind":"episode","md_url":"https://apkhmv.xyz/podcast/episode-25/index.md","transcript_status":"draft"},"attachments":[{"duration_in_seconds":1616,"mime_type":"audio/mpeg","url":"https://traffic.libsyn.com/secure/173caf0e-b8e8-4056-8a73-2d60d94118ef/25_Buffer_pool_and_fsync.mp3"}],"content_text":"Добавлена расшифровка — Продолжение сезона про базы данных. Александр разбирает, как СУБД управляют памятью: что такое buffer pool, зачем нужны dirty pages и отложенная запись, чем опасен `fsync` (включая почти двадцатилетний баг в Postgres, из-за которого ошибка `fsync` приводила к потере данных) и почему поэтому многие базы пишут собственный кэш в обход ОС через `O_DIRECT`, несмотря на знаменитую отповедь Линуса Торвальдса. Во второй половине — политики вытеснения страниц: FIFO, LRU, 2Q, Clock и TinyLFU из библиотеки Caffeine.","date_published":"2026-09-15T00:00:00Z","id":"sha256:089f51be9410e714e57c9901cf6d5b8aba810847d17d91b2b85c4a844d8f6b11","tags":["buffer pool","базы данных","fsync и долговечность","вытеснение страниц","кэширование"],"title":"Добавлена расшифровка: #25: Buffer pools: почему БД реализуют часть ОС","url":"https://apkhmv.xyz/podcast/episode-25/"},{"_tf":{"change":"transcript_added","changed_at":"2026-09-15T00:00:00Z","episode_number":24,"kind":"episode","md_url":"https://apkhmv.xyz/podcast/episode-24/index.md","transcript_status":"draft"},"attachments":[{"duration_in_seconds":1219,"mime_type":"audio/mpeg","url":"https://traffic.libsyn.com/secure/173caf0e-b8e8-4056-8a73-2d60d94118ef/24_B-tree.mp3"}],"content_text":"Добавлена расшифровка — Продолжение сезона про базы данных. Александр Пахомов объясняет, почему главной структурой данных в индексах стало именно B-дерево: сначала на пальцах разбирает бинарное дерево поиска, его инвариант и вырождение в список, затем — балансировку и логарифмический поиск, и показывает, почему бинарные деревья не годятся для диска (большая высота → много случайных чтений). Дальше на примере библиотеки с указателями на стеллажах он раскрывает устройство `B+tree` (внутренние узлы-указатели, листовые узлы с данными, связанный список листьев для sequential scan) и объясняет, чем оно лучше классического `B-tree`.","date_published":"2026-09-15T00:00:00Z","id":"sha256:6957dab5ea81307fedc19b21dc6cf7c96f1dec4f0fb2a79d71071297aee8e8ea","tags":["базы данных","структуры данных","B-дерево","индексы","работа с диском"],"title":"Добавлена расшифровка: #24: Лучшая структура данных: B-tree, B+tree","url":"https://apkhmv.xyz/podcast/episode-24/"},{"_tf":{"change":"transcript_added","changed_at":"2026-09-15T00:00:00Z","episode_number":23,"kind":"episode","md_url":"https://apkhmv.xyz/podcast/episode-23/index.md","transcript_status":"draft"},"attachments":[{"duration_in_seconds":1601,"mime_type":"audio/mpeg","url":"https://traffic.libsyn.com/secure/173caf0e-b8e8-4056-8a73-2d60d94118ef/23_SSD_and_HDD_disks.mp3"}],"content_text":"Добавлена расшифровка — Выпуск второго сезона про базы данных. Александр Пахомов объясняет, как внутреннее устройство накопителей — механическая головка HDD и блочная организация SSD (ячейка → строка → массив → страница → блок, где чтение и запись идут страницами, а удаление — блоками) — диктует примитивы, которыми оперируют хранилища. Разбирает иерархию памяти и таблицу задержек «Latency Numbers Every Programmer Should Know», а затем — устройство страницы в базе данных: заголовок и записи, фрагментацию с дефрагментацией и в итоге слотированные страницы (slotted pages) со слот-массивом, растущим навстречу данным.","date_published":"2026-09-15T00:00:00Z","id":"sha256:5aa0b6281bbd93328c14df1ac5ce84e224962f13ab548b8818515761b57e4892","tags":["базы данных","устройство дисков","SSD и HDD","слотированные страницы","иерархия памяти"],"title":"Добавлена расшифровка: #23: SSD и HDD: устройство дисков и слотированные страницы","url":"https://apkhmv.xyz/podcast/episode-23/"},{"_tf":{"change":"transcript_added","changed_at":"2026-09-15T00:00:00Z","episode_number":22,"kind":"episode","md_url":"https://apkhmv.xyz/podcast/episode-22/index.md","transcript_status":"draft"},"attachments":[{"duration_in_seconds":1450,"mime_type":"audio/mpeg","url":"https://traffic.libsyn.com/secure/173caf0e-b8e8-4056-8a73-2d60d94118ef/22_Database_Architecture.mp3"}],"content_text":"Добавлена расшифровка — Второй выпуск сезона про базы данных. Через развёрнутую аналогию с сортировочным складом Александр Пахомов разбирает верхнеуровневую архитектуру почти любой СУБД — транспортный уровень, обработчик запросов с оптимизатором, подсистему выполнения и подсистему хранилища (диспетчеры транзакций, блокировок, буфера, восстановления и средства доступа), — а затем классифицирует базы данных по методам хранения: OLTP против OLAP, in-memory против дисковых, строковые против колоночных. В финале — идея композируемости: современные СУБД собираются из переиспользуемых блоков, но абстракции между слоями неизбежно текут ради скорости.","date_published":"2026-09-15T00:00:00Z","id":"sha256:86e06e43ebf937b134ca57e5215c06299ce45f546a13c18bf28b818b639ae955","tags":["базы данных","архитектура СУБД","OLAP и OLTP","колоночные хранилища","подсистема хранения"],"title":"Добавлена расшифровка: #22: Архитектура баз данных: компоненты и классификация","url":"https://apkhmv.xyz/podcast/episode-22/"},{"_tf":{"change":"transcript_added","changed_at":"2026-09-15T00:00:00Z","episode_number":21,"kind":"episode","md_url":"https://apkhmv.xyz/podcast/episode-21/index.md","transcript_status":"draft"},"attachments":[{"duration_in_seconds":2381,"mime_type":"audio/mpeg","url":"https://traffic.libsyn.com/secure/173caf0e-b8e8-4056-8a73-2d60d94118ef/21_into_into_databases.mp3"}],"content_text":"Добавлена расшифровка — Первый выпуск второго сезона, посвящённого базам данных. Александр Пахомов объясняет, почему глубокое, а не поверхностное понимание баз данных важнее знания конкретного языка, фреймворка или СУБД, прослеживает историю от реляционных систем 70-х через NoSQL и NewSQL до облачных и shared-disk-решений, а затем освежает ключевые концепции SQL: `SELECT`/`WHERE`, агрегаты, `GROUP BY`/`HAVING`, `JOIN`, оконные функции и common table expressions.","date_published":"2026-09-15T00:00:00Z","id":"sha256:729bf4cdfd6cd78fe48b47a12908aefeabd21c36504f5a49fc337af29bcc9bdb","tags":["базы данных","SQL","история технологий","NoSQL","реляционные СУБД"],"title":"Добавлена расшифровка: #21: Введение в базы данных: История и SQL","url":"https://apkhmv.xyz/podcast/episode-21/"},{"_tf":{"change":"transcript_added","changed_at":"2026-09-15T00:00:00Z","episode_number":20,"kind":"episode","md_url":"https://apkhmv.xyz/podcast/episode-20/index.md","transcript_status":"draft"},"attachments":[{"duration_in_seconds":2629,"mime_type":"audio/mpeg","url":"https://traffic.libsyn.com/secure/173caf0e-b8e8-4056-8a73-2d60d94118ef/20_Genetic_algorithms.mp3"}],"content_text":"Добавлена расшифровка — Юбилейный двадцатый выпуск без гостей. Александр Пахомов рассказывает про свой магистерский диплом — «мертворождённый» инструмент, который генетическим алгоритмом писал бы юнит-тесты на Java-код. По пути он даёт вводную в теорию тестирования (классы эквивалентности, критерии покрытия от строк до MC/DC, мутационное тестирование, фазинг и Search-Based Software Testing), разбирает устройство абстрактного генетического алгоритма и объясняет, как он спроецировал его понятия — популяцию, гены, функцию приспособленности, мутацию и скрещивание — на генерацию тестов, а в конце признаёт, что как продукт затею убил Copilot.","date_published":"2026-09-15T00:00:00Z","id":"sha256:aec45fbc4cad8ae178a5048dd352cdcfddb2453367d149d2800fdfe4386e8e6f","tags":["генетические алгоритмы","тестирование","генерация тестов","покрытие кода","дипломная работа"],"title":"Добавлена расшифровка: #20: Выживает сильнейший: генетические алгоритмы","url":"https://apkhmv.xyz/podcast/episode-20/"},{"_tf":{"change":"transcript_added","changed_at":"2026-09-15T00:00:00Z","episode_number":19,"kind":"episode","md_url":"https://apkhmv.xyz/podcast/episode-19/index.md","transcript_status":"draft"},"attachments":[{"duration_in_seconds":2034,"mime_type":"audio/mpeg","url":"https://traffic.libsyn.com/secure/173caf0e-b8e8-4056-8a73-2d60d94118ef/19_Small_Teams.mp3"}],"content_text":"Добавлена расшифровка — Сольный выпуск по мотивам «Программиста-прагматика». Александр Пахомов размышляет об оптимальном размере команды (5–7 человек) и о пользе функциональных команд, способных выдавать end-to-end результат, разбирает происхождение термина «карго-культ» и его проявления в скраме, а затем формулирует три практики из Pragmatic Starter Kit, которые должны быть в любом проекте: система контроля версий, тестирование и полная автоматизация. В финале — идея, что инженер прежде всего problem solver, призыв «подписывать свою работу» и наводка на YouTube-канал Computerphile.","date_published":"2026-09-15T00:00:00Z","id":"sha256:45d08d5e1fea5e15ceeeff56dc1aa23f78082f57a53e5593b98217cc768a8fb9","tags":["размер команды","карго-культ","тестирование","CI/CD","командные процессы"],"title":"Добавлена расшифровка: #19: Выдал базу: три важнейших вещи в разработке","url":"https://apkhmv.xyz/podcast/episode-19/"},{"_tf":{"change":"transcript_added","changed_at":"2026-09-15T00:00:00Z","episode_number":18,"kind":"episode","md_url":"https://apkhmv.xyz/podcast/episode-18/index.md","transcript_status":"draft"},"attachments":[{"duration_in_seconds":1561,"mime_type":"audio/mpeg","url":"https://traffic.libsyn.com/secure/173caf0e-b8e8-4056-8a73-2d60d94118ef/18_.mp3"}],"content_text":"Добавлена расшифровка — Спэшл-выпуск «положение дел»: Александр рассказывает, что подкаст не заканчивается, а он расширяет территорию — выходит на YouTube (первый видос будет про сам подкаст) и присматривается к TikTok. Большая часть выпуска — подробный дневник погружения дилетанта в видеопроизводство: камера Sony A7 III, микрофон, свет как самая важная часть кадра (схема из трёх источников: ключевой, контровый, подсветка фона), монтаж в DaVinci Resolve вместо тормозящего iMovie, музыка и авторские права, а также генерация обложек через Midjourney с промтами от GPT-4.","date_published":"2026-09-15T00:00:00Z","id":"sha256:f862a606bc1842cdbbaed400f87097eedf93587a867d3ccd03dea1238bd3f6b3","tags":["подкастинг","YouTube","видеопроизводство","монтаж видео","нейросети"],"title":"Добавлена расшифровка: #18: Спэшл: положение дел, YouTube","url":"https://apkhmv.xyz/podcast/episode-18/"},{"_tf":{"change":"transcript_added","changed_at":"2026-09-15T00:00:00Z","episode_number":17,"kind":"episode","md_url":"https://apkhmv.xyz/podcast/episode-17/index.md","transcript_status":"draft"},"attachments":[{"duration_in_seconds":2219,"mime_type":"audio/mpeg","url":"https://traffic.libsyn.com/secure/173caf0e-b8e8-4056-8a73-2d60d94118ef/17_Requirements.mp3"}],"content_text":"Добавлена расшифровка — Выпуск по мотивам книги «Программист-прагматик». Александр Пахомов доказывает, что требования нужны в первую очередь самим разработчикам — чтобы уточнить, чего на самом деле хочет заказчик, и не писать лишний код, — и разводит требования с бизнес-политиками, которые нельзя зашивать в хардкод. Затем он разбирает приёмы решения запутанных задач (сузить проблему, загрузить данные в подсознание, найти «уточку»), делится своим взглядом на парное программирование и живое общение против асинхронного, а под конец разоблачает agile-коучей и спорит с культом спринтов.","date_published":"2026-09-15T00:00:00Z","id":"sha256:859d8675bc6937ba799059e70f485cbfb8f6fc57a21ee0067870e0a3cf7cb53a","tags":["требования к ПО","парное программирование","Agile","софт-скиллы","решение задач"],"title":"Добавлена расшифровка: #17: Гибкие требования: парное программирование, Agile","url":"https://apkhmv.xyz/podcast/episode-17/"},{"_tf":{"change":"transcript_added","changed_at":"2026-09-15T00:00:00Z","episode_number":16,"kind":"episode","md_url":"https://apkhmv.xyz/podcast/episode-16/index.md","transcript_status":"draft"},"attachments":[{"duration_in_seconds":792,"mime_type":"audio/mpeg","url":"https://traffic.libsyn.com/secure/173caf0e-b8e8-4056-8a73-2d60d94118ef/16_.mp3"}],"content_text":"Добавлена расшифровка — Первый «спэшл» — короткий тематический выпуск между основными. Александр разбирает модель управления доступом Role-Based Access Control (RBAC): три её кита (пользователи, роли, привилегии), надстройки в виде иерархии ролей и ограничений (разделение обязанностей и лимиты на назначение ролей), а затем на пальцах сравнивает реализации в Postgres (где путаются пользователи и роли) и ClickHouse (с хорошей иерархией привилегий, но возможностью выдавать их и пользователям напрямую — что ломает каноническую модель).","date_published":"2026-09-15T00:00:00Z","id":"sha256:70fdbed8ffb08abf72535ea4c833da22290209f70ae23136232dd7b54fc2630a","tags":["RBAC","контроль доступа","базы данных","безопасность","ClickHouse"],"title":"Добавлена расшифровка: #16: Спэшл: RBAC","url":"https://apkhmv.xyz/podcast/episode-16/"},{"_tf":{"change":"transcript_added","changed_at":"2026-09-15T00:00:00Z","episode_number":15,"kind":"episode","md_url":"https://apkhmv.xyz/podcast/episode-15/index.md","transcript_status":"draft"},"attachments":[{"duration_in_seconds":2539,"mime_type":"audio/mpeg","url":"https://traffic.libsyn.com/secure/173caf0e-b8e8-4056-8a73-2d60d94118ef/15_Fib.nth_2.mp3"}],"content_text":"Добавлена расшифровка — Глава «While You Are Coding» из «Программиста-прагматика» глазами Александра: как победить боязнь белого листа прототипом-игрой, почему нельзя коммитить код, который не понимаешь (история с незадокументированным бином Spring Shell), «мышление графиками» вместо зубрёжки О-большого, атомарный рефакторинг с точки зрения свежеиспечённого коммитера Apache-проекта, TDD без карго-культа, property-based testing для проверки инвариантов и капитанские, но забываемые правила security. И хохма про Fib.nth, давшая выпуску имя.","date_published":"2026-09-15T00:00:00Z","id":"sha256:72ebd3952959e5a7a8debef8bf27bb0840509bb97c7def643b6f711589de5eac","tags":["Программист-прагматик","тестирование","алгоритмы","рефакторинг","безопасность"],"title":"Добавлена расшифровка: #15: Fib.nth: о чем не думают инженеры","url":"https://apkhmv.xyz/podcast/episode-15/"},{"_tf":{"change":"transcript_added","changed_at":"2026-09-15T00:00:00Z","episode_number":14,"kind":"episode","md_url":"https://apkhmv.xyz/podcast/episode-14/index.md","transcript_status":"draft"},"attachments":[{"duration_in_seconds":1467,"mime_type":"audio/mpeg","url":"https://traffic.libsyn.com/secure/173caf0e-b8e8-4056-8a73-2d60d94118ef/ChatGPT_Copilot.mp3"}],"content_text":"Добавлена расшифровка — Взгляд прагматичного инженера на GPT-хайп весны 2023-го: как Александр реально использует ChatGPT в ежедневной работе — пишет гуглдоки и джира-тикеты «потоком сознания» с нативной редактурой, почему Copilot в коде чаще мешает, чем помогает, но отлично пишет JavaDoc и подсказывает забытые тест-кейсы. Плюс Copilot CLI, плагины ChatGPT через OpenAPI-спеку и проверенная руками (и отложенная) идея пайплайна Whisper → ChatGPT → телеграм-посты из выпусков подкаста. Полезняшка — браузер Arc.","date_published":"2026-09-15T00:00:00Z","id":"sha256:493f11b836ca3ee0177adbe313444b8e69bd1610ed166f8c14000172ba32d53b","tags":["ChatGPT","Copilot","AI","инструменты","продуктивность"],"title":"Добавлена расшифровка: #14: Используем технологии по назначению","url":"https://apkhmv.xyz/podcast/episode-14/"},{"_tf":{"change":"transcript_added","changed_at":"2026-09-15T00:00:00Z","episode_number":13,"kind":"episode","md_url":"https://apkhmv.xyz/podcast/episode-13/index.md","transcript_status":"draft"},"attachments":[{"duration_in_seconds":2163,"mime_type":"audio/mpeg","url":"https://traffic.libsyn.com/secure/173caf0e-b8e8-4056-8a73-2d60d94118ef/13_Builder.mp3"}],"content_text":"Добавлена расшифровка — Любимый паттерн Александра — Builder: закрытый конструктор, immutable-объекты, валидации в сеттерах, именованные параметры, которых нет в Java, тестовые фикстуры — и как он пишет билдеры руками, без Lombok (а Copilot их отлично генерирует). Во второй части по мотивам «Программиста-прагматика» — конкурентность: чем она отличается от параллелизма, почему shared state is hard, как устроена модель акторов и почему её современное воплощение — микросервисы с Kafka-«мейлбоксом» и Kubernetes-«супервайзером». Полезняшки — плейлист про устройство баз данных и фичи новой Java.","date_published":"2026-09-15T00:00:00Z","id":"sha256:d3566fe878d5b14fb3dd0c0cc35f62d913ddddd830a4c64c267a2ddedf130945","tags":["паттерны","Java","конкурентность","модель акторов","Программист-прагматик"],"title":"Добавлена расшифровка: #13: Любимый паттерн: Builder, Concurrency, Actors","url":"https://apkhmv.xyz/podcast/episode-13/"},{"_tf":{"change":"transcript_added","changed_at":"2026-09-15T00:00:00Z","episode_number":12,"kind":"episode","md_url":"https://apkhmv.xyz/podcast/episode-12/index.md","transcript_status":"draft"},"attachments":[{"duration_in_seconds":1763,"mime_type":"audio/mpeg","url":"https://traffic.libsyn.com/secure/173caf0e-b8e8-4056-8a73-2d60d94118ef/12_Inheritance_tax.mp3"}],"content_text":"Добавлена расшифровка — Связность — враг изменений: по мотивам «Программиста-прагматика» Александр разбирает признаки высокого каплинга и способы его снижать — от инкапсуляции и отказа от глобального стейта до недооцененных конечных автоматов, observer-паттерна и pub-sub с реактивным программированием. Кульминация — «налог на наследование»: почему наследование классов — самый сильный способ связать код намертво и чем его заменить: интерфейсы, делегирование и миксины (даже в Java — через аннотации, как @Mixin в Picocli). Полезняшка — канал «500 дней геймдева».","date_published":"2026-09-15T00:00:00Z","id":"sha256:51d6e98a0dfe06a7266cafbaeb21d06f4fd3bd1a9f9ecd61ffa51468cbf70c18","tags":["Программист-прагматик","наследование","конечные автоматы","проектирование","Java"],"title":"Добавлена расшифровка: #12: Налог на наследование: конечные автоматы","url":"https://apkhmv.xyz/podcast/episode-12/"},{"_tf":{"change":"transcript_added","changed_at":"2026-09-15T00:00:00Z","episode_number":11,"kind":"episode","md_url":"https://apkhmv.xyz/podcast/episode-11/index.md","transcript_status":"draft"},"attachments":[{"duration_in_seconds":2147,"mime_type":"audio/mpeg","url":"https://traffic.libsyn.com/secure/173caf0e-b8e8-4056-8a73-2d60d94118ef/11_meetup_keynotes.mp3"}],"content_text":"Добавлена расшифровка — Эмоциональный выпуск про первый опыт Александра в роли докладчика на локальном IT-митапе: сорванные тайминги, слабая модерация и девять слушателей на докладе про GraalVM. Из этого — выводы: почему митапу нужна модерация докладов, сколько докладов выдерживает аудитория и когда «сделай сам» — единственный выход. Во второй части — как Александр готовит презентации: белые слайды, минимум текста, интерактивность, и связка iPad + Concepts + Google Slides. Полезняшка — доклад Вадима Макишвили «36».","date_published":"2026-09-15T00:00:00Z","id":"sha256:256ff8bb807353c9689219e2e182c6bc7be163262f37ca1f44c2b1b359679c03","tags":["митапы","публичные выступления","презентации","GraalVM","сообщество"],"title":"Добавлена расшифровка: #11: Горе-митап: опыт выступления, презентации","url":"https://apkhmv.xyz/podcast/episode-11/"},{"_tf":{"change":"transcript_added","changed_at":"2026-09-15T00:00:00Z","episode_number":10,"kind":"episode","md_url":"https://apkhmv.xyz/podcast/episode-10/index.md","transcript_status":"draft"},"attachments":[{"duration_in_seconds":1770,"mime_type":"audio/mpeg","url":"https://traffic.libsyn.com/secure/173caf0e-b8e8-4056-8a73-2d60d94118ef/10_Design_by_contract.mp3"}],"content_text":"Добавлена расшифровка — Юбилейный десятый выпуск, записанный в студии. Design by contract из «Программиста-прагматика»: предусловия, постусловия и инварианты через тройки Хоара, почему предусловия — не валидация пользовательского ввода, и спор с авторами о том, может ли TDD заменить контракты. Затем — практика: контракты в джавадоке, тесты в структуре given/when/then и ArchUnit — библиотека для тестирования архитектуры, которой Александр зафиксировал инвариант стартап-хуков прямо в build time. Полезняшка — 37signals.","date_published":"2026-09-15T00:00:00Z","id":"sha256:0fa1c28306e47e5ec8dbb23a82ee2c76239433728477a90bc2b52d65058368f0","tags":["Программист-прагматик","design by contract","ArchUnit","тестирование","Java"],"title":"Добавлена расшифровка: #10: Design by contract: инварианты, Archunit","url":"https://apkhmv.xyz/podcast/episode-10/"},{"_tf":{"change":"transcript_added","changed_at":"2026-09-15T00:00:00Z","episode_number":9,"kind":"episode","md_url":"https://apkhmv.xyz/podcast/episode-09/index.md","transcript_status":"draft"},"attachments":[{"duration_in_seconds":2792,"mime_type":"audio/mpeg","url":"https://traffic.libsyn.com/secure/173caf0e-b8e8-4056-8a73-2d60d94118ef/09_Pragmatic_tools.mp3"}],"content_text":"Добавлена расшифровка — Глава «Программиста-прагматика» про ежедневные инструменты: почему plain text — самое живучее представление знаний, как сделать shell своей вотчиной (темы, prompt, алиасы, fish), чек-лист совершенства во владении редактором, зачем всегда нужна система контроля версий и философия дебаггинга — чинить проблему, а не искать виновных, воспроизводить багу тестом и читать чёртово сообщение об ошибке. Бонус: подкаст зафичерил Apple, и Александр рассказывает, на что это похоже. Полезняшка — лекция Джона Остерхаута «A Philosophy of Software Design».","date_published":"2026-09-15T00:00:00Z","id":"sha256:3e787db3ac20b64b02655d8912c09c36cbd58be6e1ebab0cf95266c3d06a67d4","tags":["Программист-прагматик","инструменты","shell","git","дебаггинг"],"title":"Добавлена расшифровка: #9: Прагматичные тулы: plain text, git, shell","url":"https://apkhmv.xyz/podcast/episode-09/"},{"_tf":{"change":"transcript_added","changed_at":"2026-09-15T00:00:00Z","episode_number":8,"kind":"episode","md_url":"https://apkhmv.xyz/podcast/episode-08/index.md","transcript_status":"draft"},"attachments":[{"duration_in_seconds":2552,"mime_type":"audio/mpeg","url":"https://traffic.libsyn.com/secure/173caf0e-b8e8-4056-8a73-2d60d94118ef/08_GraalVM.mp3"}],"content_text":"Добавлена расшифровка — Почему Java стартует медленно — класс-лоадинг, интерпретация, прогрев JIT — и как GraalVM native image ускорил command-line-приложение Александра с 3,5 секунд до 40 миллисекунд: closed-world assumption, инициализация классов в build time и цена в виде ручных метаданных для рефлексии. Плюс обзор альтернатив — AppCDS и CRaC от Azul. Во второй части — расследование флэки-тестов: как Mockito записывает вызовы в глобальный shared-state стек внутри when/thenReturn, почему это ломается в многопоточности и когда вместо мока нужен стаб, фейк или интеграционный тест. Полезняшка — «Распределённые данные» Алекса Петрова.","date_published":"2026-09-15T00:00:00Z","id":"sha256:2b321a379d29e3e59e4805fd3b48930bc42801790774c72f35a834915d1f5e11","tags":["Java","GraalVM","производительность","Mockito","тестирование"],"title":"Добавлена расшифровка: #8: Медленная Java: GraalVM, Mockito","url":"https://apkhmv.xyz/podcast/episode-08/"},{"_tf":{"change":"transcript_added","changed_at":"2026-09-15T00:00:00Z","episode_number":7,"kind":"episode","md_url":"https://apkhmv.xyz/podcast/episode-07/index.md","transcript_status":"draft"},"attachments":[{"duration_in_seconds":2258,"mime_type":"audio/mpeg","url":"https://traffic.libsyn.com/secure/173caf0e-b8e8-4056-8a73-2d60d94118ef/07_Estimations.mp3"}],"content_text":"Добавлена расшифровка — Продолжение второй главы «Программиста-прагматика»: чем трассирующий код отличается от прототипа и почему первый — это продакшн-скелет с урезанной функциональностью, а второй всегда выкидывается. Затем — предметно-ориентированные языки (DSL): внутренние и внешние, и почему тесты — идеальное место для первого собственного DSL. И большая тема оценивания: как точность оценки задаёт ожидания, техника PERT с тремя сценариями, модель с критическими параметрами и лучший ответ на просьбу об оценке — «я к тебе вернусь». Полезняшка — игра Vim Adventures.","date_published":"2026-09-15T00:00:00Z","id":"sha256:751fa8588acd9f78cdc2e53af05e1b436684ec77517d11f6cb6393471b4c6137","tags":["Программист-прагматик","прототипирование","DSL","оценка проектов","книги"],"title":"Добавлена расшифровка: #7: Трассирующий код: прототипы, оценки","url":"https://apkhmv.xyz/podcast/episode-07/"},{"_tf":{"change":"transcript_added","changed_at":"2026-09-15T00:00:00Z","episode_number":6,"kind":"episode","md_url":"https://apkhmv.xyz/podcast/episode-06/index.md","transcript_status":"draft"},"attachments":[{"duration_in_seconds":2351,"mime_type":"audio/mpeg","url":"https://traffic.libsyn.com/secure/173caf0e-b8e8-4056-8a73-2d60d94118ef/06_Golang.mp3"}],"content_text":"Добавлена расшифровка — Разбор второй главы «Программиста-прагматика»: хороший дизайн — тот, который легче изменить, DRY — про знания, а не только про код, ортогональные системы и обратимость решений. Во второй части Александр Пахомов делится первыми впечатлениями Java-разработчика от Go: почему не Kotlin, не Rust и не Python, как Advent of Code стал полигоном для нового языка и чем подкупают gofmt, go mod и простота вместо вопроса «как реализован HashSet». Рекомендация выпуска — «Чистая архитектура» Роберта Мартина.","date_published":"2026-09-15T00:00:00Z","id":"sha256:412745f9d24ec95326a42e05fd532f54c6553a1ba643a8d61359ef4ef7ab8f3f","tags":["Программист-прагматик","Go","проектирование","DRY","книги"],"title":"Добавлена расшифровка: #6: Прагматичный Golang: design, dry, Go","url":"https://apkhmv.xyz/podcast/episode-06/"},{"_tf":{"change":"transcript_added","changed_at":"2026-09-15T00:00:00Z","episode_number":5,"kind":"episode","md_url":"https://apkhmv.xyz/podcast/episode-05/index.md","transcript_status":"draft"},"attachments":[{"duration_in_seconds":3065,"mime_type":"audio/mpeg","url":"https://traffic.libsyn.com/secure/173caf0e-b8e8-4056-8a73-2d60d94118ef/05_SOLID_skills.mp3"}],"content_text":"Добавлена расшифровка — Продолжение разбора «Программиста-прагматика»: каша из топора и сваренная лягушка, good enough software, портфель знаний, техники критического мышления и почему коммуникация — половина работы инженера. Во второй части Александр Пахомов разбирает SOLID не по учебнику, а по практике: какие принципы он применяет каждый день (single responsibility, open-closed), к каким относится скептически (interface segregation) и почему главное в принципах — разумность, а не догма. Рекомендация выпуска — книга «Пиши, сокращай».","date_published":"2026-09-15T00:00:00Z","id":"sha256:e08f69ce885f0897952ad41087aa0c338b7693085c26738a3677bc8ab416e152","tags":["Программист-прагматик","SOLID","soft skills","коммуникация","книги"],"title":"Добавлена расшифровка: #5: Солидные скиллы: soft skills, SOLID","url":"https://apkhmv.xyz/podcast/episode-05/"},{"_tf":{"change":"transcript_added","changed_at":"2026-09-15T00:00:00Z","episode_number":4,"kind":"episode","md_url":"https://apkhmv.xyz/podcast/episode-04/index.md","transcript_status":"draft"},"attachments":[{"duration_in_seconds":1785,"mime_type":"audio/mpeg","url":"https://traffic.libsyn.com/secure/173caf0e-b8e8-4056-8a73-2d60d94118ef/04_Pragmatic_TDD.mp3"}],"content_text":"Добавлена расшифровка — Новая рубрика подкаста: разбор тем книги «Программист-прагматик» — топики It's Your Life, The Cat Ate My Source Code и Software Entropy, про ответственность, отговорки и теорию разбитых окон в коде. Во второй части Александр Пахомов признаётся, что пишет тесты до реализации: как устроен цикл TDD, почему он работает даже в легаси-системах, какие плюсы даёт — от тестов-спецификаций до крепкого сна — и лайфхак с красным тестом как чекпоинтом для выхода из состояния потока.","date_published":"2026-09-15T00:00:00Z","id":"sha256:9be68876137ac5e56d3ef10cd2b9f91c854971dad2eef776de35e53da2996f0d","tags":["TDD","тестирование","Программист-прагматик","техдолг","книги"],"title":"Добавлена расшифровка: #4: Прагматичные тесты: TDD, техдолг","url":"https://apkhmv.xyz/podcast/episode-04/"},{"_tf":{"change":"transcript_added","changed_at":"2026-09-15T00:00:00Z","episode_number":3,"kind":"episode","md_url":"https://apkhmv.xyz/podcast/episode-03/index.md","transcript_status":"draft"},"attachments":[{"duration_in_seconds":762,"mime_type":"audio/mpeg","url":"https://traffic.libsyn.com/secure/173caf0e-b8e8-4056-8a73-2d60d94118ef/03_TF_Homebew.mp3"}],"content_text":"Добавлена расшифровка — Александр Пахомов делится практикой селф-ревью: как отстраниться от собственного кода и отревьюить свой pull request так, будто его прислал незнакомый человек. А затем разбирает Homebrew: почему в macOS нет родного пакетного менеджера, что такое формулы, кеги и краны, как написать собственную формулу — на примере базы данных Ignite 3 — и отправить её в homebrew-core.","date_published":"2026-09-15T00:00:00Z","id":"sha256:ab80fe8e3a3aa78500c38158fbd98e49cc0bb56d572e63c85504caba997a64b1","tags":["Homebrew","macOS","пакетные менеджеры","код ревью"],"title":"Добавлена расшифровка: #3: Пакетный менеджер: Homebrew, self-review","url":"https://apkhmv.xyz/podcast/episode-03/"},{"_tf":{"change":"transcript_added","changed_at":"2026-09-15T00:00:00Z","episode_number":2,"kind":"episode","md_url":"https://apkhmv.xyz/podcast/episode-02/index.md","transcript_status":"draft"},"attachments":[{"duration_in_seconds":1341,"mime_type":"audio/mpeg","url":"https://traffic.libsyn.com/secure/173caf0e-b8e8-4056-8a73-2d60d94118ef/02_TF_OpenAPI.mp3"}],"content_text":"Добавлена расшифровка — Александр Пахомов разбирает, почему коммит-месседж — это история проекта, а не формальность: правила оформления заголовка и тела, conventional commits, атомарные коммиты и главное правило — договориться о формате со всей командой. Во второй части — OpenAPI-спецификация: подходы code-first и design-first, генерация документации и всегда актуального клиента, сервисы, которые продают API без спеки, и история о том, как несовершенный туллинг съел два дня работы из-за стёртых при компиляции имён параметров.","date_published":"2026-09-15T00:00:00Z","id":"sha256:208e2aa8db405b6ed98da19c621f816bcad8fa884a27ec05f5427dff1ccb1958","tags":["git","коммит-месседжи","OpenAPI","REST API","документация"],"title":"Добавлена расшифровка: #2: Гундосая спека: комменты, Open API","url":"https://apkhmv.xyz/podcast/episode-02/"},{"_tf":{"change":"transcript_added","changed_at":"2026-09-15T00:00:00Z","episode_number":1,"kind":"episode","md_url":"https://apkhmv.xyz/podcast/episode-01/index.md","transcript_status":"reviewed"},"attachments":[{"duration_in_seconds":1366,"mime_type":"audio/mpeg","url":"https://traffic.libsyn.com/secure/173caf0e-b8e8-4056-8a73-2d60d94118ef/01_Pilot_1.mp3"}],"content_text":"Добавлена расшифровка — Пилотный выпуск без гостей. Александр Пахомов рассказывает, почему десятипальцевая (слепая) печать — важный навык для программиста и где её освоить, а затем разбирает проектирование ошибок публичного REST API: какие HTTP-коды возвращать и почему тело ошибки стоит отдавать в формате RFC 7807 (problem+json).","date_published":"2026-09-15T00:00:00Z","id":"sha256:a0e64096ca277d10ee5c7d038261e0eb84cdf5d464ae8dfae733c8888f137937","tags":["слепая печать","REST API","HTTP-коды","обработка ошибок","RFC 7807"],"title":"Добавлена расшифровка: #1: Пилот: слепая печать, коды ошибок","url":"https://apkhmv.xyz/podcast/episode-01/"},{"_tf":{"change":"published","changed_at":"2026-09-11T00:00:00Z","episode_number":72,"kind":"episode","md_url":"https://apkhmv.xyz/podcast/episode-72/index.md","transcript_status":"draft"},"attachments":[{"duration_in_seconds":8617,"mime_type":"audio/mpeg","url":"https://traffic.libsyn.com/secure/173caf0e-b8e8-4056-8a73-2d60d94118ef/72_New_IDEA.mp3"}],"content_text":"Опубликовано — Александр Пахомов и Антон Архипов — Developer Advocate в JetBrains, Java Champion, в прошлом разработчик JRebel — разбирают вопрос, который Антон задал Java-сеньорам на анконференции JCrete: нужна ли вообще IDE, если код пишут агенты? Все ответили «нужна», но объяснить зачем смогли только крайние случаи: Клифф Клик открывает IDE, чтобы дебажить, Питер Лори переписывает сгенерированный код руками. Отсюда разговор идёт к тому, что узкое место переехало из написания кода в code review, инструменты ревью не менялись пятнадцать лет, а люди превращаются в «клей между двумя Клодами». Во второй половине собеседники придумывают IDE будущего — завод по переработке задач с наблюдаемым пайплайном, бюджетами токенов и доказательствами на выходе, — спорят, что из этого сожрут OpenAI и Anthropic и почему LSP, скиллы и другие надстройки обнуляет каждая новая модель, и заканчивают ответственностью за код, который никто не читал, и ответом Антона на вопрос «нужна ли IDE в августе 2026».","date_published":"2026-09-11T00:00:00Z","id":"sha256:0c2efa3b1acc972e9ddc2ad35814bdf8e24d7ebf15aac67e6a6d3546db1e2cd5","tags":["IDE","IntelliJ IDEA","ИИ-агенты","Claude Code","Codex","код-ревью","инструменты разработчика","экономика токенов"],"title":"Опубликовано: #72: Зачем IDEA в 2026","url":"https://apkhmv.xyz/podcast/episode-72/"},{"_tf":{"change":"release","changed_at":"2026-09-09T11:15:13Z","external_url":"https://github.com/PakhomovAlexander/afactory/releases/tag/v0.8.0","kind":"release","md_url":"https://apkhmv.xyz/products/af/index.md"},"content_text":"Новый релиз — Authority compatibility Requires af onboard --migrate --apply for a consumer still on .review/: legacy authority is no longer read for new Campaigns (ADR-0043). A repository already on .af/ keeps working, but re-pin it with af onboard --refresh-lock so the lock records the per-target archive digest this release binds to. A 0.7.1 default cannot read a lock written by 0.8.0 (its [af] table is an unknown field to the older parser), so it neither dispatches to 0.8.0 nor plans: run af self update first on such a machine.\nChanges Route pipelines by changed paths; switch oversized Diffs to a bounded pipeline (#64) Show Campaign state on disk and reclaim it with af review gc (#66) One release train, a pin that binds bytes, and .review/ retired (ADR-0045) (#68) Commit the minisign release public key: every release from 0.8.0 ships a signed SHA256SUMS ","date_published":"2026-09-09T11:15:13Z","id":"sha256:1ef2008a10781b6662583412ab56dd73656ece8d74845683b6fd380ff70e43d0","tags":[],"title":"Новый релиз: af v0.8.0","url":"https://apkhmv.xyz/products/af/"},{"_tf":{"change":"release","changed_at":"2026-09-03T13:06:20Z","external_url":"https://github.com/PakhomovAlexander/afactory/releases/tag/v0.7.1","kind":"release","md_url":"https://apkhmv.xyz/products/af/index.md"},"content_text":"Новый релиз — What’s Changed docs: record v0.7.0 release by @PakhomovAlexander in https://github.com/PakhomovAlexander/afactory/pull/44 Plan consumer policies with every built af by @PakhomovAlexander in https://github.com/PakhomovAlexander/afactory/pull/48 Validate and migrate legacy .review/ policy in af onboard by @PakhomovAlexander in https://github.com/PakhomovAlexander/afactory/pull/49 Refresh the hub consumer fixture: one correctness reviewer by @PakhomovAlexander in https://github.com/PakhomovAlexander/afactory/pull/51 Make wall-clock, provider usage, and dispositions visible per review by @PakhomovAlexander in https://github.com/PakhomovAlexander/afactory/pull/54 Let a Worker node declare its own Attempt cap by @PakhomovAlexander in https://github.com/PakhomovAlexander/afactory/pull/60 Render a Worker’s exact input token-free by @PakhomovAlexander in https://github.com/PakhomovAlexander/afactory/pull/61 Refuse a Worker input that exhausts its Attempt cap before admission by @PakhomovAlexander in https://github.com/PakhomovAlexander/afactory/pull/62 Make af self-managed: clap tree, scoped help, completions, af self, dispatch, config ladder by @PakhomovAlexander in https://github.com/PakhomovAlexander/afactory/pull/63 release: prepare v0.7.1 by @PakhomovAlexander in https://github.com/PakhomovAlexander/afactory/pull/65 Full Changelog: https://github.com/PakhomovAlexander/afactory/compare/v0.7.0...v0.7.1\n","date_published":"2026-09-03T13:06:20Z","id":"sha256:c5617277a2673b3216b8ab31827c35e74b67da2b9b73848e59dada1df6de33a8","tags":[],"title":"Новый релиз: af v0.7.1","url":"https://apkhmv.xyz/products/af/"},{"_tf":{"change":"published","changed_at":"2026-09-03T00:00:00Z","episode_number":71,"kind":"episode","md_url":"https://apkhmv.xyz/podcast/episode-71/index.md","transcript_status":"draft"},"attachments":[{"duration_in_seconds":10274,"mime_type":"audio/mpeg","url":"https://traffic.libsyn.com/secure/173caf0e-b8e8-4056-8a73-2d60d94118ef/71_IMDG_Apache_Ignite.mp3"}],"content_text":"Опубликовано — Александр Пахомов и Станислав Лукьянов разбирают in-memory data grid снизу вверх: от локальной HashMap до распределённого хранилища с логическими шардами, репликами, консенсусом и SQL. На примере Apache Ignite они показывают, как коллокация данных и вычислений убирает сетевые пересылки, зачем Java-системы ушли в off-heap и где остаются проблемы GC, JIT, безопасности и эксплуатации. В финале формулируют критерии выбора такой технологии и обсуждают её возможное будущее в памяти агентов и LLM KV-кэшах.","date_published":"2026-09-03T00:00:00Z","id":"sha256:8a9055e81044337047bcdc2ea9484ed8aca40d7ed391bf856eda89873bc44162","tags":["Apache Ignite","in-memory data grid","распределённые системы","шардирование","консистентность","распределённый SQL","JVM","off-heap"],"title":"Опубликовано: #71: Как работает IMDG Apache Ignite","url":"https://apkhmv.xyz/podcast/episode-71/"},{"_tf":{"change":"release","changed_at":"2026-09-01T16:30:39Z","external_url":"https://github.com/PakhomovAlexander/afactory/releases/tag/v0.7.0","kind":"release","md_url":"https://apkhmv.xyz/products/af/index.md"},"content_text":"Новый релиз — What’s Changed Record v0.6.0 release by @PakhomovAlexander in https://github.com/PakhomovAlexander/afactory/pull/30 Harden review planning and provider admission by @PakhomovAlexander in https://github.com/PakhomovAlexander/afactory/pull/31 release: prepare v0.7.0 by @PakhomovAlexander in https://github.com/PakhomovAlexander/afactory/pull/43 Full Changelog: https://github.com/PakhomovAlexander/afactory/compare/v0.6.0...v0.7.0\n","date_published":"2026-09-01T16:30:39Z","id":"sha256:85a80b62bbbcccf4769549a422aacbd76aca368ccd738effd5ce1d43ae39082a","tags":[],"title":"Новый релиз: af v0.7.0","url":"https://apkhmv.xyz/products/af/"},{"_tf":{"change":"release","changed_at":"2026-09-01T11:21:29Z","external_url":"https://github.com/PakhomovAlexander/afactory/releases/tag/v0.6.0","kind":"release","md_url":"https://apkhmv.xyz/products/af/index.md"},"content_text":"Новый релиз — What’s Changed Complete Review Kernel M7-M9 by @PakhomovAlexander in https://github.com/PakhomovAlexander/afactory/pull/28 Release v0.6.0 by @PakhomovAlexander in https://github.com/PakhomovAlexander/afactory/pull/29 Full Changelog: https://github.com/PakhomovAlexander/afactory/compare/v0.5.0...v0.6.0\n","date_published":"2026-09-01T11:21:29Z","id":"sha256:6f7d240fccf4096dab3b4eca01e30ca915abf1dffe2265b05ae16f7688f0432a","tags":[],"title":"Новый релиз: af v0.6.0","url":"https://apkhmv.xyz/products/af/"},{"_tf":{"change":"release","changed_at":"2026-08-31T19:51:51Z","external_url":"https://github.com/PakhomovAlexander/afactory/releases/tag/v0.5.0","kind":"release","md_url":"https://apkhmv.xyz/products/af/index.md"},"content_text":"Новый релиз — What’s Changed Record the v0.4.0 onboarding release by @PakhomovAlexander in https://github.com/PakhomovAlexander/afactory/pull/14 Complete M3 grouping and M4 evidence resolution by @PakhomovAlexander in https://github.com/PakhomovAlexander/afactory/pull/18 Fix remaining M4 verification findings by @PakhomovAlexander in https://github.com/PakhomovAlexander/afactory/pull/19 Implement M6.3 broker handles by @PakhomovAlexander in https://github.com/PakhomovAlexander/afactory/pull/24 Default review campaigns to light mode by @PakhomovAlexander in https://github.com/PakhomovAlexander/afactory/pull/25 Release: prepare v0.5.0 by @PakhomovAlexander in https://github.com/PakhomovAlexander/afactory/pull/26 Full Changelog: https://github.com/PakhomovAlexander/afactory/compare/v0.4.0...v0.5.0\n","date_published":"2026-08-31T19:51:51Z","id":"sha256:cfcdd0ed1c32d1240acc44d0146d93333b888f1af78bcd8c30cd75a517956bc7","tags":[],"title":"Новый релиз: af v0.5.0","url":"https://apkhmv.xyz/products/af/"},{"_tf":{"change":"release","changed_at":"2026-08-27T18:15:42Z","external_url":"https://github.com/PakhomovAlexander/afactory/releases/tag/v0.4.0","kind":"release","md_url":"https://apkhmv.xyz/products/af/index.md"},"content_text":"Новый релиз — What’s Changed Record the v0.3.0 trusted-pilot release by @PakhomovAlexander in https://github.com/PakhomovAlexander/afactory/pull/12 Add deterministic review onboarding by @PakhomovAlexander in https://github.com/PakhomovAlexander/afactory/pull/13 Full Changelog: https://github.com/PakhomovAlexander/afactory/compare/v0.3.0...v0.4.0\n","date_published":"2026-08-27T18:15:42Z","id":"sha256:1152ee9b110810be4b0a14096f77b1ada033d756e3ac30f03aba94c810718350","tags":[],"title":"Новый релиз: af v0.4.0","url":"https://apkhmv.xyz/products/af/"},{"_tf":{"change":"release","changed_at":"2026-08-27T15:49:51Z","external_url":"https://github.com/PakhomovAlexander/afactory/releases/tag/v0.3.0","kind":"release","md_url":"https://apkhmv.xyz/products/af/index.md"},"content_text":"Новый релиз — What’s Changed Complete V3.1 trusted client pilot delivery by @PakhomovAlexander in https://github.com/PakhomovAlexander/afactory/pull/11 Full Changelog: https://github.com/PakhomovAlexander/afactory/compare/v0.2.0...v0.3.0\n","date_published":"2026-08-27T15:49:51Z","id":"sha256:9f1cc1f4ef8a55dc2c947cb5306b29a4ae47ebdcd738f4429ca58d3dc598b959","tags":[],"title":"Новый релиз: af v0.3.0","url":"https://apkhmv.xyz/products/af/"},{"_tf":{"change":"release","changed_at":"2026-08-25T10:41:43Z","external_url":"https://github.com/PakhomovAlexander/afactory/releases/tag/v0.2.0","kind":"release","md_url":"https://apkhmv.xyz/products/af/index.md"},"content_text":"Новый релиз — What’s Changed M2.5: derive report scope from round subjects by @PakhomovAlexander in https://github.com/PakhomovAlexander/afactory/pull/5 Fenced provider admission before reviewer dispatch by @PakhomovAlexander in https://github.com/PakhomovAlexander/afactory/pull/7 feat: report Claude weekly and Fable limits by @apkhmv-agent in https://github.com/PakhomovAlexander/afactory/pull/6 Release v0.2.0: complete M2 review authority and scope by @PakhomovAlexander in https://github.com/PakhomovAlexander/afactory/pull/9 Full Changelog: https://github.com/PakhomovAlexander/afactory/compare/v0.1.0...v0.2.0\n","date_published":"2026-08-25T10:41:43Z","id":"sha256:5be964ca892062613ef320b30afd1a5a8ae045508259b71f123fe5c217f0432a","tags":[],"title":"Новый релиз: af v0.2.0","url":"https://apkhmv.xyz/products/af/"},{"_tf":{"change":"release","changed_at":"2026-08-24T08:27:21Z","external_url":"https://github.com/PakhomovAlexander/afactory/releases/tag/v0.1.0","kind":"release","md_url":"https://apkhmv.xyz/products/af/index.md"},"content_text":"Новый релиз — What’s Changed Establish the Afactory CLI and private release boundary by @PakhomovAlexander in https://github.com/PakhomovAlexander/afactory/pull/2 feat(reviewctl): show provider subscription status by @apkhmv-agent in https://github.com/PakhomovAlexander/afactory/pull/4 New Contributors @PakhomovAlexander made their first contribution in https://github.com/PakhomovAlexander/afactory/pull/2 @apkhmv-agent made their first contribution in https://github.com/PakhomovAlexander/afactory/pull/4 Full Changelog: https://github.com/PakhomovAlexander/afactory/commits/v0.1.0\n","date_published":"2026-08-24T08:27:21Z","id":"sha256:e8edf0ed248c5634cc4487d1eac905d3f1559e2242a65766747ab51ab2f1fce9","tags":[],"title":"Новый релиз: af v0.1.0","url":"https://apkhmv.xyz/products/af/"},{"_tf":{"change":"published","changed_at":"2026-08-24T08:27:21Z","external_url":"https://af.apkhmv.xyz/","kind":"product","md_url":"https://apkhmv.xyz/products/af/index.md"},"content_text":"Опубликован продукт — многоагентная фабрика для git-репозиториев","date_published":"2026-08-24T08:27:21Z","id":"sha256:93018f7bb0678b01a53748a4cbaedaa6e924f4913313a659424319b5da64f7ef","tags":[],"title":"Опубликован продукт: af","url":"https://apkhmv.xyz/products/af/"},{"_tf":{"change":"published","changed_at":"2026-08-14T00:00:00Z","episode_number":70,"kind":"episode","md_url":"https://apkhmv.xyz/podcast/episode-70/index.md","transcript_status":"draft"},"attachments":[{"duration_in_seconds":8941,"mime_type":"audio/mpeg","url":"https://traffic.libsyn.com/secure/173caf0e-b8e8-4056-8a73-2d60d94118ef/22__v4.mp3"}],"content_text":"Опубликовано — Александр Пахомов и Станислав Лукьянов — коммитер Apache Ignite, инженер GridGain (теперь часть MariaDB), ранее Java Platform в Oracle, последние годы живёт в Нью-Йорке — записывают незапланированный выпуск: интро к разговору про in-memory data grid переросло в двухчасовую беседу о том, как AI меняет работу инженера. Обсуждают 9-9-6 и тревожность по ту сторону океана, поколение AI-native фаундеров, которые не читают код, и то, во что вкладываться сейчас: системное мышление, математику, системное программирование и семантический слой для агента. Вторая половина — про экономику и про себя: токены как новый ресурс и бюджеты, которые растут вместе с грейдом, три грани ответственности, массовая слежка за сессиями и этика чужих промптов, FOMO пятичасового окна, сон, спорт и легализация отдыха на 24 часа без компьютера.","date_published":"2026-08-14T00:00:00Z","id":"sha256:94ca92caeb31a22af3092667b7f2fe5094c5460b9c3a02bc7e9467cc72a219a6","tags":["ИИ-агенты","Claude Code","контекст-менеджмент","карьера инженера","продуктивность","экономика токенов","системное программирование"],"title":"Опубликовано: #70: Режим 9-9-6 для Claude","url":"https://apkhmv.xyz/podcast/episode-70/"},{"_tf":{"change":"published","changed_at":"2026-07-29T00:00:00Z","episode_number":69,"kind":"episode","md_url":"https://apkhmv.xyz/podcast/episode-69/index.md","transcript_status":"draft"},"attachments":[{"duration_in_seconds":5397,"mime_type":"audio/mpeg","url":"https://traffic.libsyn.com/secure/173caf0e-b8e8-4056-8a73-2d60d94118ef/69_Freud.mp3"}],"content_text":"Опубликовано — Александр Пахомов и Александр Орлов — сооснователь Школы менеджмента «Стратоплан», ранее Sun Microsystems и Intel, психолог по второму образованию — разбирают работу инженера как психологическую. Почему поток так трудно поймать и удержать, что происходит с командой в фазах форминга и шторминга по Такману и почему спор о скобке в code style на самом деле спор об иерархии и уважении. Обсуждают эго-состояния по Берну, три способа реагировать на неустраивающую ситуацию (изменить, принять, выйти) и четвёртый, худший — терпеть; ресурсы, которые определяют вашу раздражительность на код-ревью; visibility через уровень как механику карьеры. В финале — как агентская разработка поднимает когнитивную нагрузку до потолка и почему soft skills дорожают именно сейчас.","date_published":"2026-07-29T00:00:00Z","id":"sha256:939db21ab59d9c7bb5ccbbd4f6fcc01ceded3af218fb64952063787f435d0756","tags":["психология инженера","soft skills","командная динамика","поток","карьера инженера","тимлид","выгорание"],"title":"Опубликовано: #69: Психология инженера с Александром Орловым","url":"https://apkhmv.xyz/podcast/episode-69/"},{"_tf":{"change":"published","changed_at":"2026-07-12T00:00:00Z","episode_number":68,"kind":"episode","md_url":"https://apkhmv.xyz/podcast/episode-68/index.md","transcript_status":"draft"},"attachments":[{"duration_in_seconds":8363,"mime_type":"audio/mpeg","url":"https://traffic.libsyn.com/secure/173caf0e-b8e8-4056-8a73-2d60d94118ef/20__Alex.mp3"}],"content_text":"Опубликовано — Александр Пахомов и Владимир Ситников — мейнтейнер PostgreSQL JDBC-драйвера (pgjdbc) и Apache JMeter, около двадцати лет в Java и производительности SQL-систем — разбирают агентскую разработку на конкретных артефактах: тридцать тысяч строк подсистемы кодеков, которые невозможно отревьюить глазами, кросс-ревью тремя моделями, скилл технического английского, появившийся после того, как правки в документацию отклонили как AI-слоп. Обсуждают, что идёт в скилл, а что в CLAUDE.md, APM как пакетный менеджер для агентских конфигов, орду ревьюеров-персон, профилировщик и фаззинг как обязательные гейты агентского SDLC, комментарии, которые описывают прошлое, и декомпиляцию вместо чтения исходников. В финале — где проходят границы моделей и человека и на что инженеру сейчас тратить время.","date_published":"2026-07-12T00:00:00Z","id":"sha256:a74933e25dc5f00314abeb2b77cff642eb1bab9f3bb5d95ae2a0042e662c1676","tags":["ИИ-агенты","Claude Code","Java","PostgreSQL","код-ревью","фаззинг","производительность","контекст-менеджмент"],"title":"Опубликовано: #68: Исследуем границы современных моделей вместе Владимиром Ситниковым","url":"https://apkhmv.xyz/podcast/episode-68/"},{"_tf":{"change":"published","changed_at":"2026-06-16T00:00:00Z","episode_number":67,"kind":"episode","md_url":"https://apkhmv.xyz/podcast/episode-67/index.md","transcript_status":"draft"},"attachments":[{"duration_in_seconds":8726,"mime_type":"audio/mpeg","url":"https://traffic.libsyn.com/secure/173caf0e-b8e8-4056-8a73-2d60d94118ef/alex_podcast_19.mp3"}],"content_text":"Опубликовано — Александр Пахомов и Миша Поливаха — практикующий Java-разработчик, стоявший у истоков сообщества Spring.io, — разбирают, на чём держится Java в 2026-м. Почему энтерпрайз не переписывает и не апгрейдит (патчинг CVE для Java 6 как живой бизнес), как Spring выиграл у Java EE на скорости эволюции и правильных продуктовых решениях Рода Джонсона и команды Spring Boot, чем занят Project Leyden и почему AppCDS отбирает у Quarkus его главное преимущество. Вторая половина — спор двух подходов: для гостя тулинг это IDE, стартеры и dev mode, для ведущего, который код руками не пишет, — quality gates, которыми обкладывают агента; отсюда претензии к Java-экосистеме на фоне `clippy --fix`, история отказа OpenJDK принимать сгенерированные PR и финальное расхождение о том, можно ли нарастить экспертизу, не написав код руками.","date_published":"2026-06-16T00:00:00Z","id":"sha256:37fbf0acacb037f3e77f86f3b2f087366800adc4602db697fabc2c32b38468fa","tags":["Java","Spring","JVM","ИИ-агенты","инструментарий разработчика","экспертиза инженера","код-ревью"],"title":"Опубликовано: #67: Java и Spring в 2026","url":"https://apkhmv.xyz/podcast/episode-67/"},{"_tf":{"change":"published","changed_at":"2026-06-03T00:00:00Z","episode_number":66,"kind":"episode","md_url":"https://apkhmv.xyz/podcast/episode-66/index.md","transcript_status":"draft"},"attachments":[{"duration_in_seconds":8799,"mime_type":"audio/mpeg","url":"https://traffic.libsyn.com/secure/173caf0e-b8e8-4056-8a73-2d60d94118ef/18_alex_podcast.mp3"}],"content_text":"Опубликовано — Александр Пахомов и Михаил Костицын (разработчик кодинг-агента veai, IDE-native агента для JetBrains IDE) по шагам «собирают» кодинг-агента: от ассистента-чата к агенту с инструментами — терминалом, чтением/записью файлов, поиском — и разбирают ключевой трейд-офф между свободой (один универсальный терминал) и контролем (набор узких, надёжных тулов), а также контекст-менеджмент как главный ресурс. Отталкиваясь от IntelliJ-платформы, они показывают, что даёт агенту IDE поверх терминала — LSP и PSI, инспекции, декомпиляцию, дебаггер и «формальные методы» (инструментация байткода, анализ моргающих тестов, символьное исполнение, SAST), — и обсуждают enterprise-спрос на локальные модели, бенчмарк-систему veai с верифайерами и LLM-судьёй, проблему бенчмаксинга и dogfooding.","date_published":"2026-06-03T00:00:00Z","id":"sha256:8d46af4382dc7bd030419afd839ef910d939ce32edf958197e91998486d1e3a5","tags":["кодинг-агенты","ИИ-агенты","IntelliJ платформа","инструменты для LLM","контекст-менеджмент","локальные модели"],"title":"Опубликовано: #66: Veai: БАЗА ПО КОДИНГ АГЕНТАМ","url":"https://apkhmv.xyz/podcast/episode-66/"},{"_tf":{"change":"published","changed_at":"2026-05-19T00:00:00Z","episode_number":65,"kind":"episode","md_url":"https://apkhmv.xyz/podcast/episode-65/index.md","transcript_status":"draft"},"attachments":[{"duration_in_seconds":6909,"mime_type":"audio/mpeg","url":"https://traffic.libsyn.com/secure/173caf0e-b8e8-4056-8a73-2d60d94118ef/65_AI_.mp3"}],"content_text":"Опубликовано — Александр Пахомов и Дмитрий (Kisa) — автор канала о нейросетях, пришедший в вайб-кодинг из криптоиндустрии, — разбирают, как генеративный AI меняет работу автора и инженера: где проходит граница между авторским контентом и «нейрослопом», как через `Claude Code` и `Remotion` собираются YouTube-ролики, и почему картиночная ниша (включая 18+) держится на китайских open-source-моделях и локальных `ComfyUI`-воркфлоу, а не на зацензуренных фронтир-моделях. Во второй половине — теория «мёртвого интернета», выгорание от скорости агентов, деградация моделей (`4.6` против `4.7`, кодекс) и большой мотивационный разговор про ответственность и «эпоху эгоистов».","date_published":"2026-05-19T00:00:00Z","id":"sha256:0883ba0ef35a82dc8b24fdc50025bd3107beb590131f0323758f987a467977c1","tags":["вайб-кодинг","генеративный AI","нейрослоп и авторство","генерация изображений","мёртвый интернет"],"title":"Опубликовано: #65: AI-кисы: нейрослоп против авторского контента","url":"https://apkhmv.xyz/podcast/episode-65/"},{"_tf":{"change":"published","changed_at":"2026-04-20T00:00:00Z","episode_number":64,"kind":"episode","md_url":"https://apkhmv.xyz/podcast/episode-64/index.md","transcript_status":"draft"},"attachments":[{"duration_in_seconds":9296,"mime_type":"audio/mpeg","url":"https://traffic.libsyn.com/secure/173caf0e-b8e8-4056-8a73-2d60d94118ef/64_Alexey_Lebedev.mp3"}],"content_text":"Опубликовано — Александр Пахомов и Алексей Лебедев — инженер систем низкой задержки, создатель стриминговой платформы AlgoX2 («убийца Kafka») и открытого фреймворка кодогенерации OpenACR — разбирают, как строить большие системы из простых, доказуемо корректных частей. Первые два часа сознательно исключают «агентную разработку»: single entry / single exit и single static action, программа как вложенные циклы и глобальная in-memory база данных, отказ от исключений и многопоточности в пользу однопоточных процессов, общающихся сообщениями (CSP, RDMA/InfiniBand, scale-out). На этом фундаменте построена AlgoX2 — «файловая система из стримов», где всё есть append-only-стрим и управление идёт через тот же стриминг; она обгоняет Kafka по latency в 10–100 раз. Ядро системы генерируется из SSIM-описаний генератором, который на 95% состоит из собственного сгенерированного кода. В финале — как Claude Code усиливает такой подход и какой навык остаётся ключевым для инженера.","date_published":"2026-04-20T00:00:00Z","id":"sha256:6f964429f71bf0a6faf43a2436bb106d198e45877b0436a5d93242eb9fffd553","tags":["распределённые системы","кодогенерация","низкая задержка","Kafka и стриминг","вайб-кодинг"],"title":"Опубликовано: #64: Быстрее Кафки на два порядка: Алексей Лебедев про то как строить сложные системы","url":"https://apkhmv.xyz/podcast/episode-64/"},{"_tf":{"change":"published","changed_at":"2026-03-20T00:00:00Z","episode_number":63,"kind":"episode","md_url":"https://apkhmv.xyz/podcast/episode-63/index.md","transcript_status":"draft"},"attachments":[{"duration_in_seconds":6855,"mime_type":"audio/mpeg","url":"https://traffic.libsyn.com/secure/173caf0e-b8e8-4056-8a73-2d60d94118ef/63_FPF.mp3"}],"content_text":"Опубликовано — Александр Пахомов и Иван Закутний (инженер и engineering manager, ученик мастерской инженеров-менеджеров Анатолия Левенчука) разбирают, как остаться востребованным инженером в 2026 году, когда `Claude Code` и агенты обесценили «перекладывание JSON». Их ответ — системное мышление и `First Principles Framework` (FPF) Левенчука: спецификация на ~800 тысяч токенов, которая через RAG заставляет LLM рассуждать по ADI-циклу (abduction–deduction–induction), формализовать уровни доверия L0/L1/L2 и оставлять за собой decision records. По пути — почему галлюцинируют и люди, и модели, чем задача отличается от проблемы, зачем нужно «мышление письмом» и экзокортекс, и как не свалиться в дофаминовую яму от четырёх параллельных агентов.","date_published":"2026-03-20T00:00:00Z","id":"sha256:7d8362274a5848e67c47427ce69d91565820f1d793cc62cc5d7f414e8a5f17ec","tags":["системное мышление","вайб-кодинг","ИИ-агенты","инженерный менеджмент","промпт-инжиниринг"],"title":"Опубликовано: #63: Системное мышление для инженера","url":"https://apkhmv.xyz/podcast/episode-63/"},{"_tf":{"change":"published","changed_at":"2026-03-09T00:00:00Z","episode_number":62,"kind":"episode","md_url":"https://apkhmv.xyz/podcast/episode-62/index.md","transcript_status":"draft"},"attachments":[{"duration_in_seconds":4550,"mime_type":"audio/mpeg","url":"https://traffic.libsyn.com/secure/173caf0e-b8e8-4056-8a73-2d60d94118ef/AI_in_Enterprise.mp3"}],"content_text":"Опубликовано — Александр Пахомов и Иван Чернов (системный архитектор в Островке) разбирают, как выглядит внедрение ИИ не в демках, а в реальном энтерпрайзе. Иван рассказывает про свой путь от GitHub Copilot к Cursor и Claude Code, про безопасную среду на базе LiteLLM и OpenWebUI, три риска информационной безопасности (персданные, коммерческая тайна, и почему код сам по себе ничего не стоит), токеномику и лимиты для пользователей, дообученную локальную модель для переводов, ИИ-ревьюера за 8 центов и Bitter Lesson как рамку для техно-оптимизма. Александр держит контрапункт от лица индивидуального контрибьютора, который просто заливает задачи Opus 4.5 напрямую.","date_published":"2026-03-09T00:00:00Z","id":"sha256:3a36bb8180334a3f1962e028f55f01e641ae5776a1d3b2f9c968daae89df7f1a","tags":["ИИ в энтерпрайзе","Claude Code","локальные модели","информационная безопасность","токеномика LLM"],"title":"Опубликовано: #62: AI в Энтерпрайзе","url":"https://apkhmv.xyz/podcast/episode-62/"},{"_tf":{"change":"published","changed_at":"2026-02-10T00:00:00Z","episode_number":61,"kind":"episode","md_url":"https://apkhmv.xyz/podcast/episode-61/index.md","transcript_status":"draft"},"attachments":[{"duration_in_seconds":10177,"mime_type":"audio/mpeg","url":"https://traffic.libsyn.com/secure/173caf0e-b8e8-4056-8a73-2d60d94118ef/61_GC_Java_Go.mp3"}],"content_text":"Опубликовано — Александр Пахомов и Александр «Саша» Ланцов (Java-разработчик в финтехе, Мир Plat.Form) на примере двух рантаймов — HotSpot JVM и Go — прослеживают всю эволюцию сборщиков мусора: от фундаментальных алгоритмов (reference counting, mark-and-sweep, mark-compact, копирующий) и трёхцветной маркировки до `Serial`/`Parallel`, `CMS`, `G1`, `Shenandoah`, `ZGC` и нового `Green Tea` в Go. По пути — гипотеза о поколениях и почему её нет в Go, card table и GC-барьеры, фрагментация и спаны, указатели Брукса, цветные указатели и трюк с виртуальной памятью, спираль смерти. В финале — как осознанно выбрать GC под latency, пропускную способность и размер хипа.","date_published":"2026-02-10T00:00:00Z","id":"sha256:eeff1ba8d38bb16f1344b344d6390a98f0b12ffc295694fe02b3c7b695d61093","tags":["сборка мусора","JVM","Go runtime","производительность","низкая задержка"],"title":"Опубликовано: #61: Лучший GC: Java и Go","url":"https://apkhmv.xyz/podcast/episode-61/"},{"_tf":{"change":"published","changed_at":"2026-01-28T00:00:00Z","episode_number":60,"kind":"episode","md_url":"https://apkhmv.xyz/podcast/episode-60/index.md","transcript_status":"draft"},"attachments":[{"duration_in_seconds":4509,"mime_type":"audio/mpeg","url":"https://traffic.libsyn.com/secure/173caf0e-b8e8-4056-8a73-2d60d94118ef/60_Engineering_AI.mp3"}],"content_text":"Опубликовано — Александр Пахомов и Дмитрий Рожков (менеджер и автор YouTube-канала «Senior Software Vlogger») разбирают, как `Claude Code` меняет работу инженера: Дмитрий, будучи менеджером и не Swift-программистом, полностью написал моделями Mac-приложение `Summit AI Notes` и продаёт его в App Store. Отсюда разговор уходит к главному тезису выпуска — «инженерной ответственности»: за код, который сгенерировала модель, отвечает не Anthropic, а инженер. По пути — почему важен строгий `harness` вокруг модели, чем `Opus 4.5` лучше `Sonnet 4`, почему классическое код-ревью упирается в бутылочное горлышко по Голдратту и как программирование с LLM превращается в менеджмент.","date_published":"2026-01-28T00:00:00Z","id":"sha256:d60c4f9f797c56c893603eba475d585bfb11711a89bd93a1d89b24443d9196fa","tags":["вайб-кодинг","Claude Code","инженерная ответственность","код-ревью","ИИ-агенты"],"title":"Опубликовано: #60: Claude Code и инженерная ответственность с Senior Software Vlogger","url":"https://apkhmv.xyz/podcast/episode-60/"},{"_tf":{"change":"updated","changed_at":"2026-01-19T15:24:31+03:00","kind":"blog","md_url":"https://apkhmv.xyz/blog/code-review-sucks/index.md"},"content_text":"Обновлено — Как LLM изменили код ревью и почему привычные процессы стали бутылочным горлышком.","date_published":"2026-01-19T15:24:31+03:00","id":"sha256:0fb7edc79dce8d5670bb43bfb9c67dc0d0cdbd7cd07853415d01383c3c17628b","tags":["код ревью","AI","процессы"],"title":"Обновлено: Я больше не могу это ревьювить","url":"https://apkhmv.xyz/blog/code-review-sucks/"},{"_tf":{"change":"published","changed_at":"2026-01-14T00:00:00Z","kind":"blog","md_url":"https://apkhmv.xyz/blog/code-review-sucks/index.md"},"content_text":"Опубликовано — Как LLM изменили код ревью и почему привычные процессы стали бутылочным горлышком.","date_published":"2026-01-14T00:00:00Z","id":"sha256:98c54663e6a682676a5bba39d6fac20234280385be170c70b14063d9c5d8739b","tags":["код ревью","AI","процессы"],"title":"Опубликовано: Я больше не могу это ревьювить","url":"https://apkhmv.xyz/blog/code-review-sucks/"},{"_tf":{"change":"published","changed_at":"2026-01-06T00:00:00Z","episode_number":59,"kind":"episode","md_url":"https://apkhmv.xyz/podcast/episode-59/index.md","transcript_status":"draft"},"attachments":[{"duration_in_seconds":5566,"mime_type":"audio/mpeg","url":"https://traffic.libsyn.com/secure/173caf0e-b8e8-4056-8a73-2d60d94118ef/59_podcast.mp3"}],"content_text":"Опубликовано — Александр Пахомов и Дима Королёв (инженер, несколько лет в Web3) разбирают блокчейн и Ethereum инженерным языком — без маркетингового буллшита. Как биткоин Сатоши стал первым leaderless-леджером с инвариантом no double spend через `proof of work`; почему у биткоина нет финалити, а балансы — это derived-вьюха поверх лога блоков; как Ethereum добавил EVM, смарт-контракты и `ERC-20`, а `proof of stake`, валидаторы со стейком и L2-шардинг сделали транзакции дешёвыми. Попутно — MEV-атаки, мосты и `WBTC`, CAP-теорема через partial order и аналогию с Kafka, DEX против CEX, и как идеи Web3 (доказуемые гарантии, secure chip, confidential compute) просачиваются в Web2.","date_published":"2026-01-06T00:00:00Z","id":"sha256:98a9e0abf6ad00173c90352fc2f2640a82dec76dea5af0b07567d478a0e40116","tags":["Web3","блокчейн","Ethereum","смарт-контракты","распределённые системы"],"title":"Опубликовано: #59: Основы Web3: Blockchain и Ether","url":"https://apkhmv.xyz/podcast/episode-59/"},{"_tf":{"change":"published","changed_at":"2025-12-16T00:00:00Z","episode_number":58,"kind":"episode","md_url":"https://apkhmv.xyz/podcast/episode-58/index.md","transcript_status":"draft"},"attachments":[{"duration_in_seconds":8891,"mime_type":"audio/mpeg","url":"https://traffic.libsyn.com/secure/173caf0e-b8e8-4056-8a73-2d60d94118ef/58_Cassandra_Read.mp3"}],"content_text":"Опубликовано — Заключительная, третья часть разбора Apache Cassandra: Александр Пахомов и Дмитрий Константинов (коммитер Apache Cassandra) прослеживают путь запроса на чтение от координатора до диска. По дороге — какие чтения Cassandra делает эффективно (по `partition`- и префиксу `clustering`-ключа) и почему это OLTP-, а не аналитическая база; кворумная математика `R + W \u003e N` и `strong consistency`; выбор реплик через `Snitch`, спекулятивные ретраи и оптимизация «данные с одной реплики, digest с остальных»; `read-repair` и пагинация без `OFFSET`; а на нижнем уровне — `Bloom filter`, `primary index` с `index summary`, `key cache`, блочное сжатие с `compression metadata`, вынос метаданных в off-heap и, наконец, боль tombstones при чтении «очередей».","date_published":"2025-12-16T00:00:00Z","id":"sha256:d71f2483b67c7c6918ee5cc20f2e854419305112e6e206e355849275a3c41efb","tags":["Apache Cassandra","распределённые базы данных","консистентность и кворумы","LSM-деревья","Bloom filter"],"title":"Опубликовано: #58: Apache Cassandra, часть 3: читаем данные","url":"https://apkhmv.xyz/podcast/episode-58/"},{"_tf":{"change":"published","changed_at":"2025-12-01T00:00:00Z","episode_number":57,"kind":"episode","md_url":"https://apkhmv.xyz/podcast/episode-57/index.md","transcript_status":"draft"},"attachments":[{"duration_in_seconds":9193,"mime_type":"audio/mpeg","url":"https://traffic.libsyn.com/secure/173caf0e-b8e8-4056-8a73-2d60d94118ef/57_Cassandra.mp3"}],"content_text":"Опубликовано — Вторая часть разбора Apache Cassandra: Александр Пахомов и Дмитрий Константинов (коммитер Apache Cassandra) прослеживают путь одной операции записи от серверного сокета до диска. По дороге — серверный `Netty` с нативным `epoll`, flow control через TCP backpressure, аутентификация и авторизация, consistent hashing с виртуальными нодами, consistency level и кворумы, gossip-протокол и hinted handoff, а затем локальная запись: `commit log`, трёхуровневый memtable (`ConcurrentSkipListMap`/trie над `B-tree`), «last write wins» по таймстемпам, сброс в `SSTable`, компакция и, наконец, удаления через tombstones.","date_published":"2025-12-01T00:00:00Z","id":"sha256:5e8b4cc7701cefa610afe714b3b6dd53b85f49aa8f9923d59717aef0e53d8695","tags":["Apache Cassandra","распределённые базы данных","LSM-деревья","consistent hashing","репликация и консистентность"],"title":"Опубликовано: #57: Apache Cassandra, часть 2: как работает запись","url":"https://apkhmv.xyz/podcast/episode-57/"},{"_tf":{"change":"published","changed_at":"2025-11-06T00:00:00Z","episode_number":56,"kind":"episode","md_url":"https://apkhmv.xyz/podcast/episode-56/index.md","transcript_status":"draft"},"attachments":[{"duration_in_seconds":9972,"mime_type":"audio/mpeg","url":"https://traffic.libsyn.com/secure/173caf0e-b8e8-4056-8a73-2d60d94118ef/56_Cassandra_podcast_1.mp3"}],"content_text":"Опубликовано — Александр Пахомов и Дмитрий Константинов (коммитер Apache Cassandra) проходят путь запроса end-to-end со стороны клиента: как устроен драйвер Cassandra и как, поняв его, написать собственный. Разбирают contact points и service discovery, равноправные ноды и rolling upgrade, CQL и модель данных (keyspace, partition/clustering ключи, upsert без чтения), prepared statement с кэшем на сервере, кодеки-сериализацию, выбор ноды и локальность дата-центров, а на нижнем уровне — бинарный протокол поверх Netty: нарезку TCP-потока на фреймы, корреляцию ответов через stream id, таймауты на hash wheel timer, идемпотентные и спекулятивные ретраи, backpressure. Это первая часть трилогии; серверная сторона — в следующих выпусках.","date_published":"2025-11-06T00:00:00Z","id":"sha256:281c4f74eff6bc42b3b1e2f07680323f8b871923dd48ff71c9ca821474233e0d","tags":["Apache Cassandra","распределённые базы данных","клиент-серверная архитектура","сетевые протоколы","Java"],"title":"Опубликовано: #56: Apache Cassandra, часть 1: клиент, сервер","url":"https://apkhmv.xyz/podcast/episode-56/"},{"_tf":{"change":"published","changed_at":"2025-09-02T00:00:00Z","episode_number":55,"kind":"episode","md_url":"https://apkhmv.xyz/podcast/episode-55/index.md","transcript_status":"draft"},"attachments":[{"duration_in_seconds":5602,"mime_type":"audio/mpeg","url":"https://traffic.libsyn.com/secure/173caf0e-b8e8-4056-8a73-2d60d94118ef/55_Business_Vova.mp3"}],"content_text":"Опубликовано — Александр Пахомов и Вова — основатель компании Unison и продукта yuchat, с которым Александр работает больше четырёх лет, — разбирают, как мыслит предприниматель: почему работа должна давать не только «плюшки», но и рост, зачем нанимать «под человека», а не «под вакансию», и что такое ламповый «социум», который плохо масштабируется. Во второй половине — про инструменты для живого удалённого общения (спонтанная коммуникация как в open space, возможность догнать пропущенный созвон на скорости), про вкус и креатив в профессии и про новую реальность, в которой всё труднее доверять коду и контенту, сгенерированному ИИ.","date_published":"2025-09-02T00:00:00Z","id":"sha256:528f4f497485f2b09ca2967c680c07bbfaa9ece2da8c24e2888bc72a94b50cdd","tags":["предпринимательство","мотивация","корпоративная культура","удалённая работа","ИИ-инструменты"],"title":"Опубликовано: #55: Как мыслит предприниматель","url":"https://apkhmv.xyz/podcast/episode-55/"},{"_tf":{"change":"published","changed_at":"2025-07-28T00:00:00Z","episode_number":54,"kind":"episode","md_url":"https://apkhmv.xyz/podcast/episode-54/index.md","transcript_status":"reviewed"},"attachments":[{"duration_in_seconds":3384,"mime_type":"audio/mpeg","url":"https://traffic.libsyn.com/secure/173caf0e-b8e8-4056-8a73-2d60d94118ef/54_Vibe.mp3"}],"content_text":"Опубликовано — Александр Пахомов и Иван Ямщиков (сооснователь Pleias, профессор THWS) разбирают, как генеративные модели и «вайб-кодинг» меняют работу инженера в середине 2025 года: где модели реально полезны (быстрое прототипирование) и где буксуют (тестирование, валидация и дебаг сгенерированного кода). По пути — как из «восстановления пропусков в тексте» вырос reasoning, почему модель в чате не дообучается на вашем фидбэке, чем маленькие модели и RAG интересны бизнесу с чувствительными данными, и какой навык остаётся за человеком: придумывать тесты и удерживать «вкус» к задаче.","date_published":"2025-07-28T00:00:00Z","id":"sha256:8651609c8b92e2b89f2c778285a9a66b158c25265c3e58d3abb0a2e131e2dacb","tags":["вайб-кодинг","ИИ-агенты","языковые модели","reasoning","RAG","тестирование"],"title":"Опубликовано: #54: Вайбим с Иваном Ямщиковым","url":"https://apkhmv.xyz/podcast/episode-54/"},{"_tf":{"change":"published","changed_at":"2025-07-05T00:00:00Z","episode_number":53,"kind":"episode","md_url":"https://apkhmv.xyz/podcast/episode-53/index.md","transcript_status":"draft"},"attachments":[{"duration_in_seconds":5372,"mime_type":"audio/mpeg","url":"https://traffic.libsyn.com/secure/173caf0e-b8e8-4056-8a73-2d60d94118ef/53_Datomic.mp3"}],"content_text":"Опубликовано — Александр Пахомов и Никита Прокопов (Nikitonsky — автор Fira Code, DataScript и телеграм-канала «Стой под стрелой») разбирают Datomic — базу данных, которая идёт против течения индустрии. Начав с боли, когда оптимизатор `Postgres` внезапно замедляет запрос в сто раз, они переходят к устройству Datomic: модель `Entity-Attribute-Value` вместо таблиц, язык запросов `Datalog` вместо `SQL`, разделение чтения и записи, однопоточный транзактор и иммутабельная база с путешествием во времени. Отдельная линия разговора — как маленькая команда за счёт радикальной простоты решает те же задачи минимальными средствами.","date_published":"2025-07-05T00:00:00Z","id":"sha256:d8adc797a9b544a0ce0372614d7d9512cf1902c863618312ccbf3b7a40f902a4","tags":["Datomic","базы данных","Clojure","Datalog","PostgreSQL"],"title":"Опубликовано: #53: Datomic: самая рок-н-рольная БД","url":"https://apkhmv.xyz/podcast/episode-53/"},{"_tf":{"change":"published","changed_at":"2025-06-09T00:00:00Z","episode_number":52,"kind":"episode","md_url":"https://apkhmv.xyz/podcast/episode-52/index.md","transcript_status":"draft"},"attachments":[{"duration_in_seconds":8779,"mime_type":"audio/mpeg","url":"https://traffic.libsyn.com/secure/173caf0e-b8e8-4056-8a73-2d60d94118ef/podcast_17_v4_1.mp3"}],"content_text":"Опубликовано — Александр Пахомов и Андрей Володин (сооснователь и CTO стартапа Gracia, ex-founding engineer Prisma и сооснователь NetMonet) разбирают, как вайб-кодинг и AI-агенты меняют профессию разработчика в середине 2025 года. Отправной точкой служит кейс Андрея: не будучи фронтендером, он с нуля собрал в Cursor комплексную админку (backend-driven UI, three.js, парсинг COLMAP) за ноль строк ручного кода. Отсюда — почему «попсовые» стеки (React, TypeScript) под наибольшим давлением, а low-level, робототехника и diptech пока «тихая гавань»; зачем разработчику смещаться в сторону бизнеса; и как экономическая конъюнктура (конец ZIRP, стагнация рынка смартфонов) переопределяет ценность кода — от «читабельности» к «нераспространению говнокода».","date_published":"2025-06-09T00:00:00Z","id":"sha256:34ea172c5ab2e70e47e1b6a7b2ba80e91d49077586e58d34917cc686e3d6f217","tags":["вайб-кодинг","AI-агенты","профессия разработчика","рынок труда в IT","языки программирования"],"title":"Опубликовано: #52: Трансформация профессии разработчика в 2025","url":"https://apkhmv.xyz/podcast/episode-52/"},{"_tf":{"change":"published","changed_at":"2025-04-12T00:00:00Z","episode_number":51,"kind":"episode","md_url":"https://apkhmv.xyz/podcast/episode-51/index.md","transcript_status":"draft"},"attachments":[{"duration_in_seconds":5382,"mime_type":"audio/mpeg","url":"https://traffic.libsyn.com/secure/173caf0e-b8e8-4056-8a73-2d60d94118ef/51_code_review_Clickhouse.mp3"}],"content_text":"Опубликовано — Александр Пахомов и коммитер ClickHouse Максим Кита разбирают, как в большом open-source-проекте устроено код-ревью: почему оно неотделимо от мощного CI, от которого зависит, сколько ответственности можно снять с ревьюера, и от того, как сами контрибьюторы готовят свой код. По пути — какие тесты и санитайзеры гоняет ClickHouse, почему `code coverage` как хардстоп чаще вредит, какие пул-реквесты страшнее всего ревьюить (вероятностные алгоритмы), как «запал» автора и человеческая психология определяют судьбу PR, и почему изоляция кода через `factory`-паттерн и принцип open-closed так важна для контрибьютабельности.","date_published":"2025-04-12T00:00:00Z","id":"sha256:36924ab326e6a84dc304f74c02432d50e2270a65f95b69be15df11ee0515ac97","tags":["код-ревью","ClickHouse","open source","C++","тестирование"],"title":"Опубликовано: #51: Код ревью в Clickhouse","url":"https://apkhmv.xyz/podcast/episode-51/"},{"_tf":{"change":"published","changed_at":"2025-01-24T00:00:00Z","episode_number":50,"kind":"episode","md_url":"https://apkhmv.xyz/podcast/episode-50/index.md","transcript_status":"draft"},"attachments":[{"duration_in_seconds":4797,"mime_type":"audio/mpeg","url":"https://traffic.libsyn.com/secure/173caf0e-b8e8-4056-8a73-2d60d94118ef/50_productivity.mp3"}],"content_text":"Опубликовано — Сольный, юбилейный 50-й выпуск: Александр Пахомов возвращается к формату монолога и разбирает, что за год ощутимо подняло его продуктивность как программиста. Разговор идёт по четырём слоям — эргономика рабочего места (кресло `ErgoHuman`, кронштейн для ноутбука, ортолинейная сплит-клавиатура), софт (`Ghostty` + `tmux` + `Neovim` как единая среда, `fish`, единая тема во всех программах), пет-проект «база данных на Rust» и его влияние на уверенность в языке, и, наконец, здоровье — отказ от соцсетей и новостных каналов ради «свободного места в голове» плюс спорт как способ прокачать не тело, а майндсет времени и дисциплины.","date_published":"2025-01-24T00:00:00Z","id":"sha256:69c443eb44f73df9a701ceb7de777b18abf3653dd418a54618495aba06f1fa6d","tags":["продуктивность","эргономика","рабочее место","Rust","цифровой детокс"],"title":"Опубликовано: #50: Как я повысил свою продуктивность за этот год","url":"https://apkhmv.xyz/podcast/episode-50/"},{"_tf":{"change":"published","changed_at":"2024-12-25T00:00:00Z","episode_number":49,"kind":"episode","md_url":"https://apkhmv.xyz/podcast/episode-49/index.md","transcript_status":"draft"},"attachments":[{"duration_in_seconds":9869,"mime_type":"audio/mpeg","url":"https://traffic.libsyn.com/secure/173caf0e-b8e8-4056-8a73-2d60d94118ef/49_Neon_Database.mp3"}],"content_text":"Опубликовано — Александр Пахомов и Стас Кельвич (сооснователь Neon, где он сделал storage layer) разбирают внутреннее устройство serverless-Postgres. Как Neon отделяет compute от storage: `compute` — это чуть подхаченный Postgres, у которого чтение с диска заменено на чтение по сети, а `storage` — свои сервисы на Rust (Safekeeper — консенсусный `WAL` на модифицированном Raft/DiskPaxos, и PageServer — партиционированное LSM-дерево поверх S3). По пути — процессы Postgres-комьюнити (commit-fest'ы, пятилетние патчи, `TLA+`), branching через copy-on-write и запросы к истории по `LSN`, live-миграция виртуалок ради вертикального скейлинга без разрыва соединений, авторизация по `HTTP` для V8-isolate'ов, а также будущее многопоточного Postgres. Это вторая, глубоко техническая часть; обзорная — в выпуске 48.","date_published":"2024-12-25T00:00:00Z","id":"sha256:d8aaebb99e16669379f13bd19df05b3ceb438294ea0f3c813621c2a968f3cdf4","tags":["serverless Postgres","распределённые системы","консенсус и Paxos","storage-движки","облачные базы данных"],"title":"Опубликовано: #49: Serverless Postgres: как работает Neon Database","url":"https://apkhmv.xyz/podcast/episode-49/"},{"_tf":{"change":"published","changed_at":"2024-11-22T00:00:00Z","episode_number":48,"kind":"episode","md_url":"https://apkhmv.xyz/podcast/episode-48/index.md","transcript_status":"draft"},"attachments":[{"duration_in_seconds":6971,"mime_type":"audio/mpeg","url":"https://traffic.libsyn.com/secure/173caf0e-b8e8-4056-8a73-2d60d94118ef/48_databases_overview.mp3"}],"content_text":"Опубликовано — Александр Пахомов и Стас Кельвич (сооснователь Neon — serverless Postgres as a service, где он сделал storage layer) с высоты птичьего полёта осматривают весь ландшафт баз данных: почему `SQL` пережил полвека и все попытки его заменить, что осталось от волны `NoSQL`, зачем Neon отдаёт Postgres по `HTTP` для edge-воркеров на V8, и где заканчивается один сервер. По пути — «константы скорости света» для пропускной способности (30–40k транзакций в секунду в одно соединение), инженерия шардирования и shuffle join, а также распределённые транзакции: двухфазный и трёхфазный коммит, Paxos Commit и подходы к изоляции. Это первая, обзорная часть; технические кишки Neon — в следующем выпуске.","date_published":"2024-11-22T00:00:00Z","id":"sha256:32eaa0de0604414e7015487ca746f3af4f79b723d2e2bdb2746a4bf71172505d","tags":["базы данных","SQL и NoSQL","распределённые системы","шардирование","распределённые транзакции","Postgres"],"title":"Опубликовано: #48: Реплицируем RDBMS с ко-фаундером Neon","url":"https://apkhmv.xyz/podcast/episode-48/"},{"_tf":{"change":"published","changed_at":"2024-11-01T00:00:00Z","episode_number":47,"kind":"episode","md_url":"https://apkhmv.xyz/podcast/episode-47/index.md","transcript_status":"draft"},"attachments":[{"duration_in_seconds":7785,"mime_type":"audio/mpeg","url":"https://traffic.libsyn.com/secure/173caf0e-b8e8-4056-8a73-2d60d94118ef/47_fleet.mp3"}],"content_text":"Опубликовано — Александр Пахомов и Андрей Зайцев (инженер JetBrains, архитектор редактора Fleet) разбирают внутреннее устройство Fleet как одновременно редактора кода и мутабельной базы данных. Разговор идёт от трёх исходных челленджей (remote development, коллаборация, полиглотность) через `React`-подобный UI, чистые функции и персистентные структуры данных к главной идее — распределённым оптимистичным транзакциям на механике «переписывания истории» в духе git-rebase, где всё состояние редактора это одно значение. По пути — параллели с `Datomic` и `MVCC`, детектор конфликтов на хэшах, нативный рендеринг через `Skia` и бюджет кадра при 120 FPS, а также роль garbage collector в функциональном коде.","date_published":"2024-11-01T00:00:00Z","id":"sha256:faf0e6d7988400bb2331ab4e1897d51d672c4431e99e95ce4f3d7d14b9983a4a","tags":["редакторы кода","функциональное программирование","распределённые транзакции","рендеринг UI","базы данных"],"title":"Опубликовано: #47: Fleet: редактор с оптимистичными транзакциями","url":"https://apkhmv.xyz/podcast/episode-47/"},{"_tf":{"change":"published","changed_at":"2024-09-30T00:00:00Z","episode_number":46,"kind":"episode","md_url":"https://apkhmv.xyz/podcast/episode-46/index.md","transcript_status":"draft"},"attachments":[{"duration_in_seconds":6332,"mime_type":"audio/mpeg","url":"https://traffic.libsyn.com/secure/173caf0e-b8e8-4056-8a73-2d60d94118ef/46_nikitonsky.mp3"}],"content_text":"Опубликовано — Александр Пахомов и Никита Прокопов (tonsky) — автор шрифта Fira Code, библиотеки DataScript и блога «Стой под стрелой» — разбирают, каким должен быть современный редактор кода. От эргономики (сплит-клавиатуры, home row, стрелки на `EJKL`) через спор о Vim, терминале и модальности к расширяемости и «шумности» IntelliJ IDEA. Никита объясняет, почему он много лет сидит в Sublime Text, почему «умный» редактор делает тебя тупее, и как маленькая команда без денег на nice-to-have фичи выигрывает у раздутых IDE.","date_published":"2024-09-30T00:00:00Z","id":"sha256:0dad0f1338ce57879f5ba03e9440147b049243a4ea15b24d31b5402b7f863ff4","tags":["редакторы кода","Vim и Neovim","эргономика клавиатуры","инструменты разработчика","Sublime Text"],"title":"Опубликовано: #46: Nikitonsky про современные редакторы кода","url":"https://apkhmv.xyz/podcast/episode-46/"},{"_tf":{"change":"published","changed_at":"2024-08-29T00:00:00Z","episode_number":45,"kind":"episode","md_url":"https://apkhmv.xyz/podcast/episode-45/index.md","transcript_status":"draft"},"attachments":[{"duration_in_seconds":6587,"mime_type":"audio/mpeg","url":"https://traffic.libsyn.com/secure/173caf0e-b8e8-4056-8a73-2d60d94118ef/1724936820522_45_TigerBeetle_matklad.mp3"}],"content_text":"Опубликовано — Александр Пахомов и Алексей Кладов (matklad — автор IntelliJ Rust и rust-analyzer, теперь разработчик TigerBeetle) подробно разбирают, чем TigerBeetle не похож на остальные СУБД: написана на `Zig`, без `SQL`-интерфейса, со статической аллокацией памяти и жёстко зашитой доменной моделью из аккаунтов и трансферов. По ходу — почему `OLTP` стоит вернуть к процессингу именно финансовых транзакций (а `SQL` назвать `OLGP`), как реплицированная state machine на консенсусе `VSR` переживает ненадёжные сеть и диск, как устроены чек-суммы, суперблок, батчинг и детерминированный компакшн `LSM`-деревьев, и почему системное программирование на самом деле простое — надо просто брать и писать код.","date_published":"2024-08-29T00:00:00Z","id":"sha256:78ee5e936ec667d4c7b35a3191953a09fdeffc1be5edc2d391a1772c8a22e30f","tags":["базы данных","распределённые системы","Zig","консенсус","системное программирование"],"title":"Опубликовано: #45: TigerBeetle: база данных не похожа на остальные","url":"https://apkhmv.xyz/podcast/episode-45/"},{"_tf":{"change":"published","changed_at":"2024-07-29T00:00:00Z","episode_number":44,"kind":"episode","md_url":"https://apkhmv.xyz/podcast/episode-44/index.md","transcript_status":"draft"},"attachments":[{"duration_in_seconds":7761,"mime_type":"audio/mpeg","url":"https://traffic.libsyn.com/secure/173caf0e-b8e8-4056-8a73-2d60d94118ef/44_SIMD.mp3"}],"content_text":"Опубликовано — Александр Пахомов и коммитер ClickHouse Максим Кита разбирают процессоры глазами системного инженера — от иерархии кэшей, стека и prefetch до суперскалярности, спекулятивного выполнения и протокола когерентности `MESI`. Во второй половине разговор уходит в модели памяти (`happens-before`, relaxed / acquire-release / sequential consistency), false sharing и лок-фри-примитивы, а затем — в главную тему: `SIMD`, автовекторизацию, `CPU dispatch` и хитрые SIMD-алгоритмы вроде гугловой Swiss-хеш-таблицы, которыми ClickHouse ускоряет обработку данных.","date_published":"2024-07-29T00:00:00Z","id":"sha256:24bb52ca005c226375beb0ce5714bfe4f7a525f19d5ad082ce7df629e582456f","tags":["процессоры","SIMD","модели памяти","кэши","ClickHouse"],"title":"Опубликовано: #44: SIMD в базах данных","url":"https://apkhmv.xyz/podcast/episode-44/"},{"_tf":{"change":"published","changed_at":"2024-07-15T00:00:00Z","episode_number":43,"kind":"episode","md_url":"https://apkhmv.xyz/podcast/episode-43/index.md","transcript_status":"draft"},"attachments":[{"duration_in_seconds":7765,"mime_type":"audio/mpeg","url":"https://traffic.libsyn.com/secure/173caf0e-b8e8-4056-8a73-2d60d94118ef/43_JIT.mp3"}],"content_text":"Опубликовано — Александр Пахомов и Максим Кита (ментейнер LLVM, коммитер ClickHouse) разбирают Just-In-Time-компиляцию: сначала на классическом примере JVM, где JIT девиртуализирует вызовы, инлайнит `get` у `ArrayList` и убирает bound-check, а потом — как тот же приём работает в базах данных. На примере ClickHouse, Postgres и YDB они показывают, как выполнение выражений над `union`-типами компилируется в одну плотную функцию через `LLVM IR`, чем OLAP-компиляция отличается от OLTP и почему `JIT` — это ещё и постоянный источник проблем с безопасностью и падениями.","date_published":"2024-07-15T00:00:00Z","id":"sha256:5c883524b8e456c17dde4f8f5f128669ac327445ac1d825ce1590bb1e9de0487","tags":["JIT","компиляторы","LLVM","базы данных","ClickHouse"],"title":"Опубликовано: #43: Как работает JIT в базах данных","url":"https://apkhmv.xyz/podcast/episode-43/"},{"_tf":{"change":"published","changed_at":"2024-06-14T00:00:00Z","episode_number":42,"kind":"episode","md_url":"https://apkhmv.xyz/podcast/episode-42/index.md","transcript_status":"draft"},"attachments":[{"duration_in_seconds":5572,"mime_type":"audio/mpeg","url":"https://traffic.libsyn.com/secure/173caf0e-b8e8-4056-8a73-2d60d94118ef/42_Cybersec.mp3"}],"content_text":"Опубликовано — Александр Пахомов и Мекан Байрыев (специалист по безопасности веб-приложений в Mad Devs, автор YouTube-канала MrCyberSec) проходят путь атакующего от IP-адреса до `root`: сканирование портов `nmap`, перебор директорий и API-эндпоинтов, SQL-инъекции, хранение паролей и хеширование, reverse shell и эскалацию привилегий через SUID-биты, capabilities и cron. По ходу — типовые кейсы (утечка данных через незащищённую ручку, побайтовое чтение `id_rsa` через хеш-оракул, бэкдор в цепочке поставок и история с `xz`), подборка ресурсов для обучения (Hack The Box, TryHackMe, CTF) и чек-лист гигиены для бэкенд-разработчика, сводящийся к принципу минимальных привилегий.","date_published":"2024-06-14T00:00:00Z","id":"sha256:21dbf7b666b8d3e19172af01f28f61abaebbeb25c62a940a15abf9e7218314f0","tags":["кибербезопасность","SQL-инъекции","reverse shell","хеширование паролей","эскалация привилегий"],"title":"Опубликовано: #42: MrCyberSec: что нужно знать про безопасность","url":"https://apkhmv.xyz/podcast/episode-42/"},{"_tf":{"change":"published","changed_at":"2024-05-29T00:00:00Z","episode_number":41,"kind":"episode","md_url":"https://apkhmv.xyz/podcast/episode-41/index.md","transcript_status":"draft"},"attachments":[{"duration_in_seconds":9678,"mime_type":"audio/mpeg","url":"https://traffic.libsyn.com/secure/173caf0e-b8e8-4056-8a73-2d60d94118ef/41_Qdrant.mp3"}],"content_text":"Опубликовано — Александр Пахомов и Андрей Васнецов (CTO и сооснователь Qdrant) разбирают, как устроен векторный поиск и почему Qdrant — это поисковый движок, а не «векторная база данных». По пути: откуда берутся эмбеддинги (word2vec, BERT, ONNX) и какими свойствами обладают векторы; почему точный индекс не работает в размерности полторы тысячи и как вместо него применяется приближённый `HNSW`; в чём киллер-фича Qdrant — фильтруемый `HNSW` со вторичными индексами; как всё это шардируется и реплицируется поверх `RAFT`; и большой финальный блок про Rust — от безопасного рефакторинга и `cargo` до вставок на ассемблере, квантизации и `io_uring`.","date_published":"2024-05-29T00:00:00Z","id":"sha256:ae90411ee9962fe185b8d6eb8c5bc770240602579e737126c9b3a6cd685b852a","tags":["векторный поиск","базы данных","Rust","HNSW и эмбеддинги","распределённые системы"],"title":"Опубликовано: #41: Qdrant: Векторная база данных на Rust","url":"https://apkhmv.xyz/podcast/episode-41/"},{"_tf":{"change":"published","changed_at":"2024-04-21T00:00:00Z","episode_number":40,"kind":"episode","md_url":"https://apkhmv.xyz/podcast/episode-40/index.md","transcript_status":"draft"},"attachments":[{"duration_in_seconds":6928,"mime_type":"audio/mpeg","url":"https://traffic.libsyn.com/secure/173caf0e-b8e8-4056-8a73-2d60d94118ef/neovim_offline.m4a"}],"content_text":"Опубликовано — Первый оффлайн-выпуск «Тысячи фичей»: в гостях у Александра Пахомова — Илья Ильиных, автор YouTube-канала «Куда войти?». Почти два часа они разбирают эргономику рабочего места (посадка, монитор, сплит-клавиатуры, механические свитчи, слепая печать), путь от IntelliJ IDEA через Emacs к `NeoVim` и то, почему модальность и Unix-философия редактора заставляют программиста по-настоящему познакомиться со своими инструментами. Во второй половине — большой разговор про TDD как способ проектирования и «обуздания» легаси, про моки и интеграционные тесты и про то, стоит ли программировать по выходным.","date_published":"2024-04-21T00:00:00Z","id":"sha256:e9019e7f0ac8d80680e6ebb94d5f984b9ee6c47ba3fe0f2d56c1432874338e3d","tags":["эргономика","NeoVim","TDD","слепая печать","тестирование"],"title":"Опубликовано: #40: Спэшл: Эргономика, NeoVim и TDD","url":"https://apkhmv.xyz/podcast/episode-40/"},{"_tf":{"change":"published","changed_at":"2024-04-15T00:00:00Z","episode_number":39,"kind":"episode","md_url":"https://apkhmv.xyz/podcast/episode-39/index.md","transcript_status":"draft"},"attachments":[{"duration_in_seconds":5610,"mime_type":"audio/mpeg","url":"https://traffic.libsyn.com/secure/173caf0e-b8e8-4056-8a73-2d60d94118ef/39_LLMs_Science_Education.mp3"}],"content_text":"Опубликовано — Александр Пахомов и Иван Ямщиков (профессор ИИ в THWS, Вюрцбург) уходят от техники в сторону науки и образования: как устроена академическая карьера в Европе (аспирантура — постдок — профессура) и почему письмо незнакомому учёному способно изменить траекторию. Через эмпирический принцип POSIWID («смысл системы в том, что она делает») Иван разбирает, чему на самом деле учит школа, а в финале выводит систему профессионального роста программиста: любопытство джуна, пет-проекты мидла и менторство сеньора.","date_published":"2024-04-15T00:00:00Z","id":"sha256:c494a8707cfbb742f732b22aeec1574f3bd9130454d949b56eac0d5b845a8a33","tags":["образование","академическая карьера","профессиональный рост","генеративные модели","лайфхаки обучения"],"title":"Опубликовано: #39: Иван Ямщиков: Наука, Образование и лайфхаки","url":"https://apkhmv.xyz/podcast/episode-39/"},{"_tf":{"change":"published","changed_at":"2024-04-01T00:00:00Z","episode_number":38,"kind":"episode","md_url":"https://apkhmv.xyz/podcast/episode-38/index.md","transcript_status":"draft"},"attachments":[{"duration_in_seconds":9361,"mime_type":"audio/mpeg","url":"https://traffic.libsyn.com/secure/173caf0e-b8e8-4056-8a73-2d60d94118ef/38_Clickhouse.mp3"}],"content_text":"Опубликовано — Александр Пахомов и коммитер ClickHouse Максим Кита разбирают, почему самая популярная аналитическая база данных не тормозит: от разницы OLAP и OLTP и колоночного хранения до движков семейства `MergeTree`, агрегатных функций, проекций и `FINAL`. Во второй половине — инженерная культура ClickHouse: stateless-тесты вместо моков, фаззинг, Jepsen и `TLA+`, интроспекция и профилирование запросов через flame graph, а также разбор инцидента с высокой конкурентностью у одного крупного клиента, где глобальный mutex в контексте заменили на read-write.","date_published":"2024-04-01T00:00:00Z","id":"sha256:8f3de03564c8fac2262c9adb00e2c7414458a66ac756879ae05ed110fe6af6c7","tags":["ClickHouse","базы данных","OLAP","производительность","тестирование"],"title":"Опубликовано: #38: Почему ClickHouse не тормозит","url":"https://apkhmv.xyz/podcast/episode-38/"},{"_tf":{"change":"published","changed_at":"2024-02-16T00:00:00Z","episode_number":37,"kind":"episode","md_url":"https://apkhmv.xyz/podcast/episode-37/index.md","transcript_status":"draft"},"attachments":[{"duration_in_seconds":6467,"mime_type":"audio/mpeg","url":"https://traffic.libsyn.com/secure/173caf0e-b8e8-4056-8a73-2d60d94118ef/37_CEO_OF_HTMX.mp3"}],"content_text":"Опубликовано — Александр Пахомов зовёт в гости Вастрика (vas3k) — технологического блогера и основателя Вастрик-клуба — чтобы разобрать, на каком стеке живут его pet-проекты и почему инженерная простота — это не тупость, а опыт. Гость рассказывает, как из ЖЖ вырос блог на `Django` с `Postgres` в `Docker`, деплоем по `SSH` и одной машиной на Hetzner под `Cloudflare`, и объясняет главный тезис: код для себя и код на работе решают противоположные задачи. Финал — манифест против SPA и ода `HTMX` как «расширенному HTML» для бэкендеров.","date_published":"2024-02-16T00:00:00Z","id":"sha256:60ecf8c0e84d00f48a0e0d959a33d25a3387ed9dbe145587ae3ed269073293d1","tags":["инди-хакинг","веб-разработка","HTMX","pet-проекты","деплой"],"title":"Опубликовано: #37: vas3k: CEO OF HTMX","url":"https://apkhmv.xyz/podcast/episode-37/"},{"_tf":{"change":"published","changed_at":"2023-12-29T00:00:00Z","episode_number":36,"kind":"episode","md_url":"https://apkhmv.xyz/podcast/episode-36/index.md","transcript_status":"draft"},"attachments":[{"duration_in_seconds":6832,"mime_type":"audio/mpeg","url":"https://traffic.libsyn.com/secure/173caf0e-b8e8-4056-8a73-2d60d94118ef/36_Rust_C_LLVM_Clickhouse.mp3"}],"content_text":"Опубликовано — Первый «хардкорный» выпуск: Александр Пахомов и Максим Кита (разработчик ClickHouse, контрибьютор компилятора Swift, коммитер LLVM) разбирают, как устроен современный компилятор — фронтенд, middle-end и бэкенд, `LLVM IR` в `SSA`-форме, basic-блоки и phi-ноды. По пути — почему на C++ тяжело писать без санитайзеров и `clang-tidy`, чем силён `borrow checker` в Rust, что такое compile-time-полиморфизм и `if constexpr`, как деление превращается в умножение, и как реально законтрибьютить в LLVM и компилятор Swift.","date_published":"2023-12-29T00:00:00Z","id":"sha256:88e62fb18171628a48a358e40fc6c8f6151de06fb18fb7bda5820afc4025b9d1","tags":["LLVM","компиляторы","Rust","C++","open source"],"title":"Опубликовано: #36: LLVM: Rust, современный C++, как законтрибьютить","url":"https://apkhmv.xyz/podcast/episode-36/"},{"_tf":{"change":"published","changed_at":"2023-12-19T00:00:00Z","episode_number":35,"kind":"episode","md_url":"https://apkhmv.xyz/podcast/episode-35/index.md","transcript_status":"draft"},"attachments":[{"duration_in_seconds":3293,"mime_type":"audio/mpeg","url":"https://traffic.libsyn.com/secure/173caf0e-b8e8-4056-8a73-2d60d94118ef/35_IntelliJ_IDEA_ep.mp3"}],"content_text":"Опубликовано — Специальный выпуск про устройство IntelliJ IDEA: Александр Пахомов расспрашивает разработчика JetBrains Даниила Овчинникова о том, из чего собран IDE изнутри. Разбирают разделение на платформу и плагины (поддержка Java — тоже плагин), `PSI` как абстрактное синтаксическое дерево «на стероидах» и пайплайн его построения (`Lexer` → парсер → `AST` → `PSI`), устройство автодополнения через вставку скрытого идентификатора `IntelliJ IDEA RULES`, модель экшенов и гетерогенный контекст, инкрементальный репарсинг, многослойное тестирование (парсинг, инспекции, quick fix, completion, property-тесты на `JetCheck`), а также вечный спор о форматах конфигурации (`XML` против `JSON`/`YAML`/`HOCON`) и планы вынести UI на Compose Multiplatform.","date_published":"2023-12-19T00:00:00Z","id":"sha256:6f90eab1ea608ce52dd4437503adcbd6aa4eef9b0ed704f6d8dbd3831619c88e","tags":["IntelliJ IDEA","устройство IDE","парсеры и PSI","тестирование","разработка плагинов"],"title":"Опубликовано: #35: IntelliJ IDEA: самый популярный редактор для Java","url":"https://apkhmv.xyz/podcast/episode-35/"},{"_tf":{"change":"published","changed_at":"2023-11-07T00:00:00Z","episode_number":34,"kind":"episode","md_url":"https://apkhmv.xyz/podcast/episode-34/index.md","transcript_status":"draft"},"attachments":[{"duration_in_seconds":6508,"mime_type":"audio/mpeg","url":"https://traffic.libsyn.com/secure/173caf0e-b8e8-4056-8a73-2d60d94118ef/FAANG_Interview.mp3"}],"content_text":"Опубликовано — Большой «спэшл» с гостем — Дмитрием Волыхиным, ведущим подкаста Java Swag и лидером комьюнити FAANG Talks, который получил оффер в Meta. Вместе с Александром они подробно разбирают весь путь подготовки к интервью в big tech: почему это лотерея и стоит ли платить за буткемпы, как устроены три части собеседования (алгоритмы, system design, behavioral), сколько готовиться и как выбрать между «спринтом» и «марафоном». Отдельно — про моки, про 7 шагов system design, про метод STAR, про грейды и деньги (`levels.fyi`), релокацию и главный инсайт: подготовка к FAANG делает тебя сильнее как инженера здесь и сейчас.","date_published":"2023-11-07T00:00:00Z","id":"sha256:337b78373fe1114861621b5d4c5223a28d504d1b2b3fedb9b8b173e672dbe204","tags":["FAANG","собеседования","алгоритмы","system design","карьера в IT"],"title":"Опубликовано: #34: Спэшл: Подготовка к FAANG и важность алгоритмов","url":"https://apkhmv.xyz/podcast/episode-34/"},{"_tf":{"change":"published","changed_at":"2023-09-04T00:00:00Z","episode_number":33,"kind":"episode","md_url":"https://apkhmv.xyz/podcast/episode-33/index.md","transcript_status":"draft"},"attachments":[{"duration_in_seconds":2810,"mime_type":"audio/mpeg","url":"https://traffic.libsyn.com/secure/173caf0e-b8e8-4056-8a73-2d60d94118ef/33_Query_Optimizations.mp3"}],"content_text":"Опубликовано — Финал второго сезона про базы данных. Александр Пахомов разбирает один из самых сложных компонентов СУБД — оптимизатор запросов: как выглядит план запроса и как по нему текут данные, три модели обработки (итератор, материализация, векторизация), методы доступа к данным (`sequential scan` с его оптимизациями и `index scan`), Halloween Problem и JIT-компиляцию выражений. Вторая половина — параллелизм: модели воркеров (процесс на воркер, тред на воркер, embedded), горизонтальное распараллеливание плана и место самого оптимизатора в конвейере от парсера до физического плана, где он применяет эвристики и cost-based-оптимизации на основе статистик.","date_published":"2023-09-04T00:00:00Z","id":"sha256:ef98443b17df3a37803160ada7143bf5f94b7faf6cbdca3bcb7caefd6e98a201","tags":["оптимизация запросов","план запроса","оптимизатор запросов","параллелизм в базах данных","cost-based оптимизация"],"title":"Опубликовано: #33: Query optimizations: эвристики и cost-based","url":"https://apkhmv.xyz/podcast/episode-33/"},{"_tf":{"change":"published","changed_at":"2023-08-28T00:00:00Z","episode_number":32,"kind":"episode","md_url":"https://apkhmv.xyz/podcast/episode-32/index.md","transcript_status":"draft"},"attachments":[{"duration_in_seconds":1834,"mime_type":"audio/mpeg","url":"https://traffic.libsyn.com/secure/173caf0e-b8e8-4056-8a73-2d60d94118ef/32_Joins.mp3"}],"content_text":"Опубликовано — Продолжение сезона про базы данных. Александр Пахомов разбирает, как СУБД сортируют и соединяют таблицы, когда данные не влезают в оперативную память. Сначала — алгоритмы сортировки (`quicksort`, top-N heap sort, external merge sort) и их оптимизации (early/late materialization, prefetch, кодогенерация под типы, сравнение бинарных префиксов), затем hash aggregate для `GROUP BY`, и наконец три способа соединения таблиц — nested loop join, sort-merge join и hash join — с выводом, почему hash join обычно самый эффективный.","date_published":"2023-08-28T00:00:00Z","id":"sha256:6f68bd8bd29208c8ec41a59ce8e77b7bf2af31cdf2b0d534c30cba5648194b76","tags":["базы данных","сортировки","join","hash join","query-план"],"title":"Опубликовано: #32: Merge sort и hash join: соединяют и сортируют","url":"https://apkhmv.xyz/podcast/episode-32/"}],"title":"Тысяча фичей — что нового","version":"https://jsonfeed.org/version/1.1"}