Обновить
128K+
236
Евгений@interpres

Пользователь

216,2
Рейтинг
142
Подписчики
Отправить сообщение

Мы портировали Doom на SQL

Уровень сложностиСредний
Время на прочтение19 мин
Охват и читатели11K

TL;DR: Мы портировали игровую логику и рендерер первого Doom на SQL и запустили его внутри базы данных. На моём ноутбуке игровой цикл исполняется на исходных 35 FPS, а рендерер генерирует полный буфер кадров 320x200 с частотой от 60 Гц и выше. Python только обрабатывает тайминги, считывает клавиатуру и отображает получаемую им битовую карту. Многопользовательский режим тоже работает.

Можете сыграть прямо сейчас: Deathmatch, четыре слота, обслуживание в порядке очереди.

SQLDoom на EU-серверах

SQLDoom на US-серверах

Это shareware-версия первого эпизода. Если все места заняты, вы попадаете в очередь. Если очередь заполнена, то в процессе ожидания вы всё равно можете запрашивать состояние игры через SQL.

Читать далее

Чем занимаются Visa и Mastercard?

Уровень сложностиПростой
Время на прочтение10 мин
Охват и читатели25K

Большинству людей известны бренды Visa и Mastercard. Есть вероятность, что вы ежедневно пользуетесь их картами для транзакций. Кто-то знает, что большинство магазинов (в США) принимает оба типа, но некоторые принимают только Visa (например, Costco) и наоборот.

Так чем же они занимаются? Visa попыталась ответить на этот вопрос.

• Вот, чем она не занимается:

• Компания не выпускает карты.Этим занимаются эмитенты карт.

• Она — не банк, хотя карты зачастую эмитированы банком.

• Они не продают кассовые терминалы и системы онлайн-оплаты, этим занимаются платёжные операторы.

• Она не отвечает за подключение или оценку рисков магазинов и предпринимателей: этот процесс называется торговым эквайрингом, и им занимаются банки, предоставляющие услуги торговых счетов, а также всё чаще современные платёжные операторы (Stripe, Square, Adyen)2.

• Она не производит и не печатает карты.

• Как и не производит она кассовое оборудование.

Visa и Mastercard — это карточные платёжные сети, которые обеспечивают проведение карточных транзакций, связывая держателей карт и эмитентов с торговыми организациями (мерчантами) и эквайерами.

Читать далее

Как устроен Стратегический нефтяной резерв США

Уровень сложностиСредний
Время на прочтение15 мин
Охват и читатели26K

Стратегический нефтяной резерв США (СНР) — крупнейшее в мире хранилище сырой нефти. В него помещается до 714 миллионов баррелей нефти, что чуть меньше 10% от ежегодного потребления нефти в США. СНР был построен в ответ на нефтяное эмбарго ОАПЕК 1973 года с целью изолировать США от потрясений, связанных с рынком нефти: для компенсации дефицита и предотвращения резкого роста цен в случае перебоев с поставками нефти. За годы, прошедшие после его создания, он стал одним из самых часто применяемых инструментов энергетической политики в арсенале США.

Недавно СНР привлёк к себе серьёзное внимание: администрация Трампа регулярно извлекала из резерва нефть (примерно 120 миллионов баррелей на момент написания статьи) в ответ на закрытие Ираном Ормузского пролива. В основном это внимание было связано с техническими факторами максимального объёма безопасно извлекаемой из резерва нефти: например, различные источники заявляли, что минимальный безопасный уровень эксплуатации СНР составляет 300 миллионов баррелей нефти (этот уровень пересекли приблизительно 7 августа) и что ниже этого объёма в хранилище может произойти авария.

Не совсем ясно, справедливо ли это утверждение о 300 миллионах баррелей, но у хранилища действительно есть ограничение на максимально извлекаемый объём и количество его возможных опустошений. Учитывая текущую важность СНР, стоит разобраться в том, как он строился и как работает сегодня.

Читать далее

Как всегда, (почти) во всём виноват Internet Explorer: древности и артефакты в HTML

Уровень сложностиСредний
Время на прочтение14 мин
Охват и читатели15K

Веб находится в состоянии непрерывного движения: постоянно меняются устройства, браузеры, операционные системы, форм-факторы, спецификации, личные предпочтения, инструментарий и интересы корпораций. В результате так же сильно меняется и HTML, который мы пишем. На каждую строчку спецификации HTML, менявшейся с момента появления языка, приходится гораздо больше элементов, подвергнувшихся «воздействию окружающей среды»: они стали адаптациями к разным браузерам, расширениям, интеграциям и системам.

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

Читать далее

Возвращение из мёртвых монолитной SD-карты

Уровень сложностиПростой
Время на прочтение7 мин
Охват и читатели20K

Если у вас когда-нибудь ломалась SD-карта, то вы знаете, как обычно решают эту проблему: снова попробовать вставить её в фотоаппарат, сменить кард-ридер, проверить на другом компьютере и, если вообще никто её не обнаруживает, признать карту мёртвой.

Но почему она умерла?

Это уже гораздо более интересный вопрос, потому что смерть SD-карты необязательно означает смерть памяти NAND, и совершенно не подразумевает потерю хранящихся на карте данных.

Монолитные SD-карты особенно любопытны тем, что бóльшая часть их электроники заключена в один сплошной корпус. Нельзя просто взглянуть на плату и сразу же распознать контроллер, чипы NAND, конденсаторы, резисторы и другие элементы, из которых состоит традиционное флэш-устройство.

Недавно нам встретился прекрасный пример этого. Переданная клиентом SD-карта SanDisk Ultra 32GB ничем не распознавалась. Изначально казалось, что потребуется сложное восстановление флэш-памяти, но в результате всё свелось к двум микроскопическим компонентам, спрятанным внутри карты. Я решил, что это будет подходящей возможностью продемонстрировать процесс восстановления.

Читать далее

Чем был прекрасен интерфейс Windows 2000

Уровень сложностиПростой
Время на прочтение9 мин
Охват и читатели107K

На самом деле, мне нравится UI всей эпохи с 3.0 по 2000. В первую очередь я использую в качестве примера Windows 2000, потому что она хорошо работает на QEMU/KVM, позволяя легко делать скриншоты.

Читать далее

Ваш исполняемый файл — это база данных SQLite

Уровень сложностиСредний
Время на прочтение16 мин
Охват и читатели19K

Последние несколько лет я, похоже, одержим двумя темами: а) Nix в качестве инструмента для исследования новаторских идей, требующих возможностей перестройки мира; б) замена ELF на SQLite в качестве формата исполняемых файлов. Возможно, вы заметили, что эти две идеи хорошо сочетаются друг с другом.

Я изучал вторую идею в рамках своей диссертации, однако реакции окружающих оказались довольно разочаровывающими. Радикальные идеи сложно продвигать, ведь приходится бороться с инерцией давно устоявшегося решения.

Одним из результатов этого исследования стал инструмент sqlelf, позволяющий декларативно исследовать файл ELF при помощи SQL. [Я написал статью arXiv:2405.03883, которую мне не удалось опубликовать]. SELECT name FROM elf_symbols вместо возни с readelf и grep. Это оказалось на удивление просто благодаря использованию виртуальных таблиц для ELF, однако мне всё равно было интересно исследовать формат файлов ELF. Но всё же я понимал, что можно сделать нечто гораздо большее.

Меня всё не покидала эта мысль, а в свете прогресса LLM мне показалась привлекательной идея исследовать эту тему глубже. В частности, мне было любопытно, что будет, если мы заменим ELF на SQLite в качестве формата исполняемых файлов?

Не просто «база данных, описывающая исполняемый файл», а реальный файл, с которым можно сделать chmod +x и запустить его.

Читать далее

Что находится внутри Lego Smart Brick

Уровень сложностиПростой
Время на прочтение8 мин
Охват и читатели14K

Lego Smart Brick — фундамент системы Lego Smart Play, в которой датчики, источники звука и света добавляют в игру интерактивность. Систему Smart Play анонсировали на CES 2026; для меня она стала одним из самых интересных моментов выставки. Мне удалось немного поиграть с «Красной пятёркой» X-Wing Люка Скайуокера, и меня впечатлил набор возможностей блока, учитывая его малые размеры и размеры аккумулятора. Эти блоки позволили мне вернуться в детство, когда я часами собирал новые наборы Lego и играл с ними. Если бы я был ребёнком, то испытал бы настоящий восторг!

На CES компания Lego анонсировала три набора с функциями Smart Play, которые поступили в продажу 1 марта 2026 года. Как только я узнал об этом, то подписался на предзаказ, заранее понимая, что буду разбирать и анализировать устройства. В конце концов, Lego Group хорошо известна своими выдающимися способностями к разработке и производству. Я ожидал, что эти блоки разработаны с тем же вниманием к деталям и мне не терпелось покопаться у них внутри.

Читать далее

Интервью с Илоном Маском: ИИ, риски, роботы и мир через 10 лет

Уровень сложностиПростой
Время на прочтение24 мин
Охват и читатели16K

ИИ станет умнее всего человечества, работа перестанет быть обязательной, а деньги потеряют смысл. По крайней мере, так видит ближайшее будущее Илон Маск.

29 июля 2026 года на канале The Economist было опубликовано 1,5-часовое интервью с Илоном Маском, записанное 23 июля.

Интервьюер — Занни Минтон Беддоус, главный редактор The Economist.

Мы подготовили перевод интервью и сократили его до 20 минут чтения, оставив наиболее интересные для аудитории Хабра фрагменты. В частности, за рамками остались вопросы о политике и миграции.

Текст взят с сайта фанатов Маска.

Читать далее

Скидка в 97%: как устроен китайский мошеннический рынок ИИ-токенов

Уровень сложностиПростой
Время на прочтение10 мин
Охват и читатели17K

Моя история

Я долгое время размышлял о мошенничестве с токенами — проблеме, с которой впервые столкнулся, когда работал разработчиком ПО в ИИ-шлюзе.

Мы постоянно подвергались попыткам злоупотреблений. Сначала это было злоупотребление бесплатными кредитами, когда пользователи массово регистрировали аккаунты. Потом это был чатбот поддержки. Мы начали обсуждать это с друзьями и узнавали истории компаний, ежедневно теряющих из-за этого миллионы долларов.

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

В поисках источников злоупотреблений я наткнулся на китайский форум, где операторы открыто обсуждали транзитные узлы и их методики.

Читать далее

Сжатие данных — это предсказание

Уровень сложностиПростой
Время на прочтение12 мин
Охват и читатели20K

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

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

Читать далее

Как я перестал бояться и полюбил ассемблер

Уровень сложностиПростой
Время на прочтение14 мин
Охват и читатели24K

Эта статья посвящена путешествию в мир ретропрограммирования. Надеюсь, в ней у меня получится передать вам то чувство восхищения, которое я испытал и которое заставило меня написать этот пост. Пост о том, как создавать ПО для компьютерной системы Atari ST, выпущенной в 1985 году.

Atari ST относится ко второй крупной волне домашних компьютеров. Первая волна, созданная на основе 8-битных CPU, принесла в наши дома такие знаковые машины, как Commodore C64 и Sinclair Spectrum. Вторую волну разрабатывали на основе 16-битных CPU; она породила Apple Macintosh, Commodore Amiga и, разумеется, Atari ST.

Atari ST 1040 STF с цветным монитором Atari SC1224

Типичный Atari ST (например, 1040 STFM) имел CPU Motorola 68000 с тактовой частотой 8 МГц и 1 МБ ОЗУ; он загружал ПО с 3,5-дюймовых гибких дисков. Его графические возможности состояли из монохромного режима высокого разрешения 640x400 и 16-цветного режима 320x200, получившего наибольшую популярность в играх.

Рабочий стол GEM Atari ST имел интерфейс, очень похожий на разработанный Xerox и Apple, у него были диспетчер файлов, иконки и многооконность. Это его монохромная версия высокого разрешения.

Если у вас нет реального Atari ST, то его можно просто эмулировать на современном компьютере. Первые эмуляторы появились ещё в 90-х. Хорошим считается Hatari, который существует для большинства современных платформ. В эмуляторе также есть современные инструменты разработки. В прошлом приходилось пользоваться неуклюжим ПО разработки, которое загружалось с дискет, а сегодня можно просто писать всё в VSCode и компилировать современным GCC. У нас есть доступ к современным графическим редакторам наподобие GIMP, и мы даже можем просить помощи у ИИ.

Читать далее

Добываем хладагенты из фруктов

Уровень сложностиСредний
Время на прочтение11 мин
Охват и читатели19K

В этой статье я расскажу о том, как при помощи химических манипуляций получил из фруктов хладагент для моих проектов, связанных с охлаждением. Я возьму обычные, ничем не примечательные фрукты и превращу их в этилен, а также проведу небольшую демонстрацию того, как получить из них этан. Это два основных типа углеводородных хладагентов, используемых на второй стадии в каскадной системе парокомпрессионного охлаждения. Поставщики берут за эти хладагенты безумные деньги, несмотря на то, что производить их не так сложно.

Я не буду получать более тяжёлые углеводороды, используемые как хладагенты первой стадии (в качестве предварительного охладителя), например, бутан или пропан, потому что их молекулы представляют собой гораздо более длинные цепочки, а в общем случае, похоже, чем длиннее углеводород, тем сложнее его синтезировать. Хотя этилен, теоретически, можно преобразовать в бутан даже на установке любительского уровня, после чего использовать его на первой стадии, но это уже тема для отдельной статьи или видео.

Читать далее

Как Google Карты незаметно определяют победителей и проигравших в общепите

Уровень сложностиПростой
Время на прочтение8 мин
Охват и читатели17K

Мне нужна была рекомендация хорошего ресторана, поэтому я поступила как любой нормальный человек: выполнила скрейпинг всех ресторанов в Большом Лондоне и собрала модель машинного обучения.

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

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

Читать далее

Занимаются ли разработчики ИИ‑моделей пеликанмаксингом?

Уровень сложностиСредний
Время на прочтение54 мин
Охват и читатели13K

Последние несколько лет Саймон Уиллисон тестировал каждый крупный релиз LLM одним и тем же промптом: «Сгенерируй SVG с пеликаном, сидящим на велосипеде».

Эта забавная проверка постепенно стала одним из самых известных неформальных бенчмарков ИИ. Сгенерированные Саймоном картинки пеликанов на велосипедах часто становятся одними из самых популярных комментариев в постах Hacker News о новых релизах ИИ-лабораторий.

Сегодня бенчмарк стал причиной серьёзных обсуждений его полезности, а также того, занимаются ли ИИ-лаборатории его бенчмаксингом [практикой оптимизации ИИ-моделей для получения высоких оценок в популярных бенчмарках]. Когда на кону миллиарды или даже триллионы долларов, а качественный результат может склонить пользователей на твою сторону, не возникает ли искушения добавить модели немного пеликанмаксинга?

Мне захотелось это проверить, поэтому я организовал небольшой эксперимент: сгенерировал 1008 SVG в семи передовых моделях, оценил их при помощи LLM-судьи и проанализировал результаты Claude Fable 5.

В этой статье я расскажу о результатах. Весь код доступен на Github.

Читать далее

Исследование кода GTA Vice City

Уровень сложностиСредний
Время на прочтение14 мин
Охват и читатели32K

В этой статье мы проанализируем код одной из самых известных в мире игр: Grand Theft Auto Vice City. Это игра, на которой мы выросли. Хотя с момента её выпуска прошло более двадцати лет, код игры по-прежнему нас восхищает. Он не только хорошо работает на CPU с частотой 300 МГц (поскольку изначально его писали для PlayStation 2), но и обеспечивает игровой процесс без экранов загрузки сегментов карты, несмотря на ограничение в 32 МБ ОЗУ.

Здесь стоит упомянуть, что мы будем рассматривать не оригинальный исходный код, написанный Rockstar, а код на C++, полученный реверс-инжинирингом двоичных файлов игры. Мы поговорим о специфике эпохи PS2, почему игра почти никогда не распределяет память, о том, что весь город состоит из 25 пешеходов и 12 машин, обсудим работу физики и распознавание коллизий. В игре даже есть используемая для трюков система реплеев, которой для записи всех движущихся вокруг игрока объектов хватает одного мегабайта памяти.

Кроме того, Rockstar реализовала точно ту же механику работы с данными, что и в современных ECS-движках: целое число, в котором упакованы индекс слота и счётчик поколений, благодаря чему устаревшая ссылка ни на что не указывает.

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

Читать далее

Как я получал степень бакалавра по Computer Science на Coursera

Уровень сложностиПростой
Время на прочтение11 мин
Охват и читатели21K

В сентябре 2022 года я под влиянием импульса зарегистрировался на курс бакалавра Computer Science, увидев его рекламу на Coursera. Я давно думал о получении степени, уже долго время работая без неё, но не знал, как к этому подступиться. И теперь, спустя три года и девять месяцев (последние три из которых были проведены в ожидании моих результатов), я наконец-то получил свою степень, занимаясь только в нерабочее время и параллельно работая на полную ставку.

В этой статье я вкратце опишу этот процесс.

Читать далее

Самодельный Linux-планшет

Уровень сложностиСредний
Время на прочтение8 мин
Охват и читатели25K

Я создал Absolute Linux Tablet — самодельный планшет, изготовленный полностью с нуля.

Это планшет на основе Raspberry Pi Compute Module 5 и 10-дюймового сенсорного DSI-дисплея Waveshare со встроенным литиевым аккумулятором, обеспечивающим до пяти часов непрерывной работы.

Цель этого проекта заключалась в создании портативного Linux-планшета для моего будущего проекта, связанного с солнечной энергетикой. Мне требовалось устройство, которое можно было бы легко переносить с места на место при работе на открытом воздухе. Можно было бы взять ноутбук, но мне хотелось чего-то более портативного и удобного в работе. Для этой задачи идеально подходит Raspberry Pi OS, и именно поэтому я решил изготовить планшет на основе CM5 и сенсорного дисплея.

Это устройство стало чем-то средним между компьютером с сенсорным экраном и планшетом. Я выбрал версию CM5 с 4 ГБ, а для повышения производительности установил операционную систему на SSD NVMe, что сильно повысило скорость системы.

Для улучшения сигнала Wi-Fi и Bluetooth я добавил внешнюю антенну.

Корпус проектировался в Fusion 360, а детали я печатал на своём 3D-принтере в двух цветах для красоты.

В этой статье объясняется весь процесс создания планшета.

Читать далее

Как устроен двигатель внутреннего сгорания (завершение)

Уровень сложностиСредний
Время на прочтение10 мин
Охват и читатели16K

← Начало

Закрываем крышку

Собранные нами детали приблизили нас к завершению изготовления камеры сгорания. Мы создали стенки блока цилиндров и подвижную нижнюю часть с поршнями. Осталось только закрыть её сверху, и здесь нам на помощь приходит головка блока цилиндров.

Читать далее

Как устроен двигатель внутреннего сгорания

Уровень сложностиСредний
Время на прочтение10 мин
Охват и читатели27K

Изобретение в 19-м веке двигателя внутреннего сгорания совершило революцию перевозки по суше, воде и воздуху. Несмотря на то, что сегодня такие двигатели применяются повсюду, их внутреннее устройство для кого-то может продолжать оставаться загадкой. В этой статье я бы хотел объяснить работу всех основных частей двигателя, показанного в видео ниже.

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

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

Читать далее

Информация

В рейтинге
15-й
Работает в
Зарегистрирован
Активность

Специализация

Системный администратор