Есть старый мем: а что, если сделать троллейбус из буханки хлеба? Можно, но зачем. В исходнике того самого Тетриса, который Алексей Пажитнов написал для Электроники-60 в ВЦ Академии наук, есть процедура ровно такого устройства. Игра тратит 958 байт кода на то, чтобы при каждом запуске заново вычислить 342 байта данных: семь фигур, их девятнадцать положений и правила поворота. Готовую таблицу можно было положить в программу и не вычислять ничего.
Код игры восстановлен: он компилируется байт в байт в тот же файл, что снят с ленты. Все 590 строк можно открыть и читать.
Фигура в Тетрисе это тетромино: четыре клетки, склеенные сторонами. Разных тетромино семь, и называть их принято латинскими буквами, похожими по очертанию: I, O, T, S, Z, J, L. Давайте посмотрим, как игра строит эти семь фигур и их производные положения. Под катом пять коротких анимаций и немного старого Паскаля
Читать далееДобавляете нового пира на сервер WireGuard — и у соседнего в wg show вместо префикса появляется allowed ips: (none). Команда отработала успешно, dmesg пуст, wg-quick промолчал, туннель up, handshake свежий. А если бы у нового пира маска была /32 вместо /24, ничего бы не произошло.
Это ловят снова и снова: в трекере VyOS с 2020-го (закрыто как Invalid — «так делает ядро»), в OPNsense в 2025-м, на форуме OpenWrt каждый раз, когда к серверу добавляют второй телефон.
Разбор по drivers/net/wireguard/ мейнлайна, тег v6.12: почему AllowedIPs вообще не хранится у пира, что делает list_move_tail в allowedips.c:201, почему симптом «пропало у одних пиров, но не у всех» объясняется одной строкой parent->cidr == cidr, и откуда берётся ping: sendmsg: Required key not available, если вы его когда-нибудь видели и решили, что это про ключи шифрования.
И заодно: то же самое лежит в FreeBSD, OpenBSD, BoringTun, wireguard-go и в драйвере под Windows — шесть кодовых баз, пять разных структур данных, один и тот же молчаливый контракт. А MikroTik, который запрет прямо задокументировал, сам его не проверяет: на CHR оба пира показывают префикс, трафик идёт одному, и вернуть его второму можно только записью того же самого значения обратно.
Плюс способ проверить самому: настоящий allowedips.c из ядра, собранный в userspace одним gcc. Без модуля и без root.
Читать далееКак Ansible вписывается в современную DevOps-инфраструктуру? В этой статье разберём связку Terraform → Ansible → Docker → Kubernetes → CI/CD и на практике создадим воспроизводимый проект. Статья ориентирована на тех, кто уже знаком с базовыми возможностями Ansible.
Читать далееОднажды мне довелось выступать на конференции DevNexus, и в качестве примера я написал на Java приложение для обработки заказов. Приложение было исправным. Тесты проходили. Я прогнал нагрузочный тест, и на его основе собрал файл Java Flight Recording (JFR).
До того, как я внёс какие‑либо изменения: истекло 1 198 мс, обрабатывалось 85 000 заказов в секунду, пиковый размер кучи — немного более 1 ГБ, 19 остановок на сборку мусора.
После изменений: 239 мс, 419 000 заказов в секунду, куча 139 МБ, 4 остановки на сборку мусора.
Одно и то же приложение. Одинаковые тесты. JDK не изменился. Архитектура тоже не менялась. Но эти цифры получаются гораздо более осмысленными, если учесть, что в продакшене этот код работает не на одной машине, а на целом парке серверов.
Читать далееЕще раз обдумывая концепцию, отраженную в статье Робомедведи-спасатели, я пришел к выводу, что робот - горный спасатель должен обладать свойствами, котрых нет у робомедведя:
Читать далееИтан Сигел (американский астрофизик-теоретик и научный журналист, автор рубрики "Спросите Итана", один из пропагандистов современных научных знаний), написал интересную статью с экскурсами в историю физики, утверждая, что одной чистой математики для физики недостаточно. Какой же ещё нужен ингредиент, чтобы получилась физика?
@avshkol перевел эту статью, и она гармонично читается с недавней переведенной статьёй того же автора Не позволим теории струн разрушить вполне успешную науку — физическую космологию. Для всех, кто интересуется физикой и историей науки.
Читать далееЯ ИТ-юрист, занимаюсь аккредитацией ИТ-компаний, включением программ в реестр российского ПО и разбираю применение различных льгот для ИТ-компаний. Заявки на включение в региональные реестры стартапов проходят через меня регулярно, так что пишу изнутри и на практике, а не в теории.
Материал для ИТ-менеджмента: технических директоров, продактов, основателей молодых компаний. Рассматриваем 2 вопроса: зачем эти реестры вообще нужные и как в туда попасть, если ваша ИТ-компания зарегистрирована недавно, а профильной выручки у вас пока почти нет.
Читать далееСколько раз вы слышали фразу «да проще самой сделать, чем стажеру объяснять»? Я слышала ее десятки раз — от коллег, руководителей, да и сама иногда так думала. Бытует устойчивое мнение: работа со стажерами — это сплошные энергозатраты, а отдача на выходе несопоставима со временем, которое наставник тратит на объяснения.
Меня зовут Ольга Колюкова, я консультант-эксперт в департаменте 1С в «КОРУС Консалтинг», 13 лет в сфере внедрений. В этой статье хочу поделиться своим опытом, который, кажется, опровергает стереотип о стажерах.
Читать далееВсем привет и добро пожаловать на подкаст Mindscape. Я ваш ведущий, Шон Кэрролл. Постоянные слушатели знают, что в последнее время мы довольно много обсуждаем здесь квантовую механику. Мы подробно поговорили с Дэвидом Альбертом о его скептическом отношении к многомировой интерпретации. У меня был подкаст с перевернутыми ролями с Робом Ридом, где уже он задавал мне вопросы о многомировой интерпретации. Мы немного поговорили с Адамом Беккером об истории квантовой механики в XX веке и, конечно же, затрагивали квантовую механику в беседах с такими людьми, как Леонард Сасскинд и Роджер Пенроуз. И всё это делалось не просто так. Как вы, возможно, знаете, у меня выходит книга. Более того, этот выпуск подкаста я публикую за день до выхода новой книги. Она будет называться «Нечто глубоко скрытое: квантовые миры и возникновение пространства-времени» (Something Deeply Hidden: Quantum Worlds and the Emergence of Spacetime) и появится в продаже 10 сентября 2019 года.
Читать далееВ 2024 году мы боялись, что ChatGPT заменит нас, и мы не будем больше перекрашивать кнопки и писать очередной CRUD. Но оказалось всё прозаичнее — ChatGPT, увы, не заменил нас, но постепенно нужда в разработчиках как в «крудошлёпах» стала ниже.
И так получилось, что среднестатистические разработчики — уже звери редкие. ИИ-агенты пишут код быстрее, дешевле (или примерно столько, но зато без страховых отчислений). Но работу теряет не инженеры, а исполнители. В итоге, как в эталонном капитализме, вверху пирамиды останутся управленцы — те, кто понимает архитектуру, управляет контекстом и берёт на себя ответственность, что напакостила машина в кодовой базе.
В этой статье мы наконец поставим точку (или длинное тире) в разговорах про ИИ и замену разработчиков на основе новостей и известных движений в мире IT.
Читать далееВ марте 2025 года Gartner сделал то, чего индустрия ждала несколько лет: официально переименовал категорию AIOps в Event Intelligence Solutions. Причина — ИИ-хайп, из-за которого слово «AIOps» превратилось в бессмыслицу: вендоры называли искусственным интеллектом всё подряд, ИТ-директора разочаровались, а инженеры получили ещё один слой непредсказуемой автоматики.
Но потребность никуда не делась. Когда в три часа ночи падает коммутатор, а мониторинг за пару минут высыпает три сотни алертов во все каналы, вам не до «глобальных ИИ-стратегий» — нужен инструмент, который прямо сейчас отделит сигнал от шума и покажет, куда прикладывать руки.
Разбираем реальные, а не маркетинговые возможности ML и LLM в эксплуатации: что уже работает, где границы и с чего начать на своём стеке без дорогих платформ.
Разобрать без хайпа →Что, если нужную книгу больше не нужно искать — её можно собрать под собственный вопрос?
Я проверил эту идею на реальном корпусе: 206 длинных видео, 160 часов 56 минут и 2,15 млн слов транскриптов.
Вместо сотен summary я построил конвейер, который выделяет сущности, схлопывает дубли, отслеживает происхождение выводов, проверяет важные утверждения и понимает, когда оставшиеся источники уже не нужно читать подряд.
По ходу выяснилось, почему 9 URL могут оказаться одним источником, почему векторная кластеризация не решила задачу смысловых дублей, чем такой подход отличается от RAG и почему длинная работа ИИ-агента неожиданно начинает напоминать разработку обычной программной системы.
Но главный вывод оказался шире самого проекта: единицей работы с информацией может становиться не источник, а наш вопрос.
Читать далееВ прошлой статье я показал, что три ИИ-модели разных разработчиков выдают дословно совпадающие списки источников, потому что веб-поиск им делает один плагин. В комментариях сказали, что стенд собран на устаревших версиях — я перемерил на свежих, и общий корпус рассыпался: пересечение между Gemini и двумя другими моделями упало до 0.02. Заодно выяснилось, что от поколения зависит не только состав источников, но и то, видит ли движок ваш город: на запрос про Иркутск свежая Gemini дала 8 местных сайтов из 13, а прошлое поколение — ноль из 42. Внутри цифры по двум городам, ловушка с редиректом, на которой споткнётся любой повторяющий замер, и разбор, где эта метрика врёт.
Читать далееИтак, разбираем реальные сценарии, роли судей и организаторов, ночные нюансы и архитектуру SPA с оффлайн-синхронизацией.
Читать далееНе буду повторятся и заново объяснять что такое ONYX, в этой статье я уже все подробно описал. Это обзор нового обновления.
Читать далееВсем привет, Хабр. Сегодня хочу рассказать свою историю провала и успеха, как я создал MAX-бота за 1 вечер и собрал более 2 тысяч пользователей на следующее утро, а через месяц потерял всё и всех.
Я живу в Республике Алтай, поэтому топливный кризис докатился до нас, наверное, позже всех. И 4 июля уже были очереди на заправках. Примерно в то же время появился легендарный gdebenz.ru. Автор уже писал историю своего успеха — вот его статья на vc.ru.
Вдохновляясь его идеей, а также проблемой функциональности (согласитесь, не всегда удобно с телефона заходить на сайт, где карта напичкана огромным количеством функционала), я решил создать бота в MAX. Тогда уже самозанятым дали возможность сделать до 2 ботов, поэтому одного я сделал для продакшена, второго использовал для дев-разработки.
Читать далее, и она потрясающая, но я несколько выбился из сил, поэтому, как говорится, простите за неровный почерк :) Напоминаю контекст: f4 — эксперимент по переписыванию Far на go, чтобы сразу и кроссплатформенно и асинхронно. И красиво.
С красоты и начнём. На днях во фреймворк консольных интерфейсов vtui, который пишется под f4, добавлена поддержка Auto layout. Можно делать диалоги как у Apple! А чтобы это смотрелось красиво, предусмотрены две стратегии хинтинга: байткод, по аналогии с тем, как это сделано для рендеринга шрифтов у TrueType, и эвристики, как у FreeType. Для этого потребовалось портировать на go быструю считалку cassowary (пользуйтесь! там и wasm есть), а потом изобрести дискретный cossowary специально под консоль — задаем стандарты интерфейсов, люблю такое! И заодно — новая, уже полностью своя цветовая тема, не пытающаяся повторять что-то из Far, Turbo Vision или Monokai.
Читать далееСтейт-менеджеров в JavaScript уже столько, что идея написать ещё один выглядит немного сомнительно. Есть Redux Toolkit, Zustand, MobX, Jotai, XState и десятки менее известных библиотек. Почти для любого способа хранить состояние уже существует готовое решение. Но все же в качестве эксперимента, решил реализовать свою идею.
Читать далееДисклеймер: не читайте эту статью, если вы фанат традиционных ценностей и от заголовка уже хотите написать в комментах, что мне стоит изучить базу и отучиться в меде. Читайте эту статью только если вы прогрессивный, веселый и любите необычные проекты ♥ Статья носит исключительно научпоп-инженерно-юмористический характер. Не используйте самодельные скрипты для постановки диагнозов (хотя сходить на ПЦР-тест или к врачу после них никто не запрещает)!
Скажите, вы же тоже ожидали большего от интерпретаций коммерческих ДНК-тестов типа Genotek, 23andMe, Atlas? Ну вот и я не была в восторге от того, что я на 4.2% скандинавка, мне вреден арахис, и скорее всего я люблю кинзу.
В этой статье я расскажу, как я на диком азарте построила свой пайплайн анализа генома. Мы пройдем от пересборки координат и импутации 40 миллионов маркеров на суперкомпьютере TOPMed до укрощения памяти Node.js, чтобы скрипт не умер от 43 ГБ данных, а я покажу, как все устроено под капотом. Осторожно, много блоков кода и дисклеймеров!
Читать далееКорпоративную НСИ не всегда можно «сначала почистить», потому что иногда единого корпоративного объекта данных ещё нет. Разные системы могут содержать разные, но обоснованные части одного объекта. Тогда задача проекта – не выбрать самую удобную базу, а определить, где возникает каждый значимый факт, кто отвечает за его смысл, какой источник считается авторитетным и кто завершает спор. Эту неопределённость удобно разбирать через карту источников и ответственности за данные.
Читать далее