Писательство
Заметки об инженерии, инструментах, письме и иногда — мнения. 66 статей, самая ранняя — 2008 год.
Сорок лет мы делали вид, что софт — это товар. SaaS сдвинул цену на сервис. ИИ сдвинул её ниже нуля. Артефакт бесплатен. Платят теперь за понимание, какой именно код стоит писать.
У нас была потрясающая штука — компьютер: точный, предсказуемый, которому можно доверять. Потом появился ИИ. И главная беда не в украденных рабочих местах, а в том, что мы разучиваемся отвечать за результат.
Целая область человеческих знаний выдыхается из-за одного неверно понятого слова. Интеллект никто определить не может — так что же это за «искусственный интеллект»?
Безумие — это довести что угодно до крайности. Работа руководителя — держать баланс: впускай ИИ, приглядывай за теми, кто его обожествляет, и за теми, кто его запрещает.
Читать сгенерированную ИИ муть на дне рождения или на церемонии — самый верный способ испортить вечер. Людям ты запомнишься делами, а не страницей в Википедии.
Саппорт на ИИ и аутсорс за океан — отличный способ растерять клиентов. Поддержка должна что-то значить, а живой голос из местного колл-центра — это лёгкие деньги.
Обложи налогом всех миллиардеров США — и каждому достанется по $8 700 один раз. А потом ничего. Может, дело не в миллиардерах. Может, дело в твоём образовании.
У человека куда больше пяти чувств. Одно из них — чувство жизни — обычно дремлет. А тут появляются LLM и внезапно его будят.
Детская VHS-коллекция из 212 кассет, «Реквием по мечте» в 13 лет, а потом — Star Wars VII. Как кино из режиссёрского высказывания превратилось в жижу из Big Data.
Взгляд программиста на хайп вокруг ИИ: система, которую нужно постоянно нянчить, — это не рабочая система. А «ИИ везде» — просто ещё одна форма глупости.
Из 3 863 женщин ни одна не совпала со «средней». А ChatGPT устроен так, чтобы выдавать именно это — самый усреднённый ответ. И в этом проблема.
Никто на самом деле больше не пишет свой код — его пишет LLM. И это нормально. Пусть она и разгребает бойлерплейт, а мы перестанем делать вид, что улучшаем JavaScript.
LinkedIn хватается за сердце от мысли переписать код соцстраха США. В 2025-м? При наличии LLM? Очнитесь — переписать бизнес-логику сегодня стоит копейки.
Официантка принесла мне бесконечный кофе. И я задумался: вселенная не принимает бесконечность, а мы — принимаем. Вот это и есть настоящий прикол, а ИИ в нём не участвует.
Disney разучился делать мультики. У них кончились идеи. Вот что это говорит нам про стабильность, творчество и почему стоять на месте — самое страшное, что может быть.
Мне без конца шлют страшилки про то, как ИИ заберёт все рабочие места. Давайте по-честному разберёмся, что происходит с деньгами, рынком и вообще.
Орать на неодушевлённые предметы бесполезно — и на свой ИИ тоже. Если на выходе ерунда, винить нужно только себя самого.
Жизнь никогда не становится легче — чем лучше она становится, тем больше работы. О сопротивлении, кошачьих лотках и почему путь наверх — это всегда больше работы.
Подумай о кошке. Поздравляю — ты только что создал во Вселенной состояние неопределённости, которое никто не способен считать. Короткий взгляд на мысль, хайп вокруг ИИ и творчество.
Запихни всё в Big Data и ИИ — получишь на выходе серое усреднённое ничто. Голливуд, Nokia и почему чутьё всё ещё бьёт вылизанный датасет.
Идеи не стоят ни гроша — деньги делает исполнение и умение продавать. Прямолинейный взгляд на ИИ, стартапы и почему отсидеться в углу не получится.
UI и UX превратились в фастфэшн — глянцевые эффекты сжирают GPU, батареи и миллионы долларов электричества в день, чтобы через год их заменили на новые.
Открытое письмо «службе безопасности» LinkedIn: на каждую жалобу приходит «всё хорошо», пока очевидные скам-боты и реальные оскорбления остаются без внимания.
Современный UI — это непредсказуемый хаос. Свайпы в каждом приложении делают разное, кнопки прыгают по экрану, а SEO-шники штампуют '101 совет', как сделать ещё хуже.
Решение проблемы — это то, что делает проблему несуществующей. В IT мы этот шаг пропускаем: наворачиваем инструменты и процессы, а ремеслу так никто и не учится.
IT-найм превратился в цирк, где здравый смысл ушёл в отпуск, а абсурд стал нормой. Короткий тур по арене — от Facebook и Netflix до джуна Джонни.
Жёсткое мнение о программистах, которые любят искать виноватых на стороне. Об ответственности, профессионализме и о том, почему оправдания — прямой путь к выгоранию.
Как клонировать Debian Linux вручную без сторонних утилит: dd, partprobe, sgdisk, e2fsck, resize2fs и немного Go — на случай, если вас занесло на необитаемый остров.
Туториал о том, как на Go программно управлять виртуальными машинами QEMU через libvirt — пишем небольшую утилиту с человеческим выводом в JSON вместо virsh.
Как протокол RDP менялся за последние десять лет: версии от NT 4.0 до десятки, полезные флаги mstsc, теневые подключения, дыры в безопасности и будущее администрирования Windows.
Продолжаем издеваться над NVMe-over-TCP. Настоящий тестовый стенд из двух Dell PowerEdge, 10-гигабитная сеть, новое ядро 5.16 и ответы на вопросы из первой части.
Как в 2022 году я купил на eBay новенький HTC Touch Pro 2 и заново окунулся в эпоху Windows Mobile, КПК, Palm, Nokia и оффлайновых словарей.
Советы и личный опыт о том, как не выглядеть нелепо в международной команде: акценты, словари, идиомы, шутки, письма, имена и прочие мелочи, которые портят жизнь.
NVMe — это не только жёсткий диск, но и протокол. Подключаем NVMe-диск по сети через TCP средствами обычного ядра Linux, без танцев с бубном и проприетарных решений.
Как поднять свой почтовый сервер на базе Mailu — набора docker-контейнеров с postfix, dovecot, roundcube и всем необходимым. Пошаговая инструкция с подводными минами.
Практическое руководство по написанию статей: пять элементов хорошего текста — от умения рассказывать истории и чтения тонн литературы до выработки собственного стиля и борьбы с критиками.
Грант Сандерсон, создатель одного из самых популярных YouTube каналов о высшей математике 3Blue1Brown, отвечает на вопросы: о применении математики в бизнесе и программировании, о подсчёте интегралов в уме и о том, как лабораторная работа по программированию превратилась в огромный канал.
Как учить людей программированию, не убивая искру в их глазах. О трёх идиотских утверждениях, понимании вместо зубрёжки, и почему «не смог» на самом деле означает «недостаточно старались».
Как системный администратор превратил ковидные видеозвонки в полноценную телестудию: Jitsi, Restreamer, BlackMagic, SDI-камеры и вещание на 2000 сотрудников за $7000.
Почему компьютеры не умеют думать, чем на самом деле опасен AI, и как мы незаметно отдали машинам право выбирать за нас — от рекомендаций в TikTok до системы найма.
Почему люди не читают мануалы, как сделать документацию ещё хуже и зачем всё-таки стоит сесть и написать нормальную инструкцию — в стиле «Вредных советов» Григория Остера.
Откровенный взгляд на найм в IT: почему AI-фильтры резюме убивают процесс, зачем нанимать без дурацких интервью и как мотивировать программистов по-человечески.
Вторая часть о Blazor: подводные камни WASM-бинарников, ловушки Razor, проблемы с общением компонентов, жизненный цикл и состояние экосистемы.
Полезные консольные сервисы для сисадминов и программистов: стриминг терминала через seashells.io, передача файлов через transfer.sh и чем заняться в консоли, пока ждёшь деплой.
Первая часть о том, как вместо очередного ToDo-листа написать на Blazor полезную систему управления IoT-реле: Entity Framework, MVC-контроллер, серверный рендеринг и C# вместо JavaScript.
Вторая часть серии о планировщике задач в Go: разбираем G, P и M, парковку потоков, системные вызовы, netpoll и sysmon — всё на основе исходников runtime.
Расшифровка эфира о карьере в IT: от починки PHPBB-форума в 14 лет до контрактов без собеседований — почему помощь людям работает лучше любого резюме.
Продолжение серии о компактных программах: пишем 2048 на Rust с использованием windows-rs, создаём окно через WinAPI и разбираемся с очередью сообщений.
Первая часть серии о планировщике задач в Go: что происходит с потоками ОС, почему 180000 потоков убивают систему и при чём тут захват работы.
Тёплая, ламповая статья о написании игры 2048 на x64 Ассемблере под Windows: от воспоминаний о TASM до NASM, MinGW и 16 байт игрового поля.
Продолжение серии о нововведениях в Windows: обзор Windows 11 изнутри и снаружи — от скруглённых углов и нового меню Пуск до TPM 2.0 и телеметрии.
Разбираемся с UUIDv7 — бинарно-сортируемым идентификатором нового поколения: зачем он нужен, как работает суб-секундная точность и почему это важно для баз данных.
Знакомство с vugu — молодой библиотекой, которая позволяет писать фронтенд на Go через WebAssembly. Котики, горутины и 500 килобайт WASM на выходе.
О дивный новый мир приватности данных: документальный фильм The Social Dilemma, браузер Brave и почему ваши бабушки заслуживают лучшего интернета.
Сатирическая сказка о Царстве-Государстве, где берестовые программисты, летучие баржи и фотонные торпеды сталкиваются с указами о запрете прогресса.
Разбор исходных кодов компилятора Rust — от парсинга исходного файла до генерации бинарника через LLVM. Прослеживаем путь программы через AST, HIR и MIR.
Глубокое погружение в историю компиляции — от процессоров и опкодов через C, Java и JavaScript до LLVM и Rust. Понимание того, зачем нужен Rust и когда его использовать для веба.
Реальный опыт внедрения Rust в продакшен — от чтения документации наизнанку до замены 16 Docker-контейнеров на 564 КБ бинарника.
Что происходит, когда результат твоих действий оказывается нулевым? Взгляд на то, как деградация качества разрушает нашу экономику и наши жизни.
Подробный разбор Windows 8 Developer Preview — WinRT, Metro UI, планшетные возможности, IE10 и общие впечатления от трёх месяцев работы на новой системе.
Фантастический рассказ о сисадмине Васе, ночном вызове в серверную и неожиданной встрече, которая вдохновила его написать свою первую статью.
Практическое введение в PowerShell для начинающих — командлеты, конвейеры, работа с .NET-объектами, реестром и скриптами.
Личный опыт перехода с ASP.NET на Ruby on Rails — установка, настройка, первый scaffold и впечатления от фреймворка.
Как скрестить ежа с ужом: используем P/Invoke и DllImport для работы с нативными Windows Sockets из .NET-приложения.
Практический разбор двух типов наследования в ADO.NET Entity Framework: Table per Type и Table per Hierarchy — с типичными ошибками и их решениями.
Практическое введение в ADO.NET Entity Framework — от создания модели данных до выполнения базовых операций CRUD в ASP.NET.