Обновить
Сначала показывать
Порог рейтинга
Уровень сложности

Кирпич, брусок, шоколадка: мобильники Nokia 1987–1992 годов

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

У «эры мобильных телефонов» нет точной даты рождения. Не было одного-единственного исторического момента – вроде того переломного триумфа Стива Джобса в 2007 году, когда миру явился iPhone и все разом ринулись за покупками. История сотовой связи, навсегда изменившей наш мир, пустила корни еще в 80-х, но по-настоящему эпоха мобильных устройств расцвела на рубеже 90-х годов.

Производители вроде Motorola, Nokia и Ericsson сражались с законами физики, пытаясь ужать громоздкие аппараты до разумных размеров, снизить их стоимость и сохранить приличную автономность. Если говорить о совсем портативных устройствах, то первенцем стала легендарная Motorola DynaTAC 1984 года, прозванная «собачьей костью». Этот прорывной носимый телефон стоил дороже хорошего автомобиля.

Но вы никогда не задумывались, почему ранние Nokia так перепутаны в интернете? Оказывается, Cityman 100 и Nokia 100 – это разные телефоны, а Cityman 2000 и Nokia 1011 – один и тот же. Эта статья – расследование, как на самом деле выглядела линейка Nokia в начале 90-х.

Читать далее

Новости

Игры разума: как 30 лет взламывали и защищали игровые консоли

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

Что может пойти не так, если в надежном криптографическом алгоритме цифровой подписи вместо случайного числа использовать константу? Для компании Sony эта невнимательность обернулась полной компрометацией мастер-ключа PlayStation 3. История безопасности консолей полна таких поучительных примеров: от переполнения буфера из-за слишком длинной клички лошади в игре Zelda – до глитч-атак на цепи питания. Давайте разберем, какие инженерные уроки можно извлечь из тридцатилетней гонки вооружений между хакерами и платформодержателями.

Читать далее

От мирового признания до трагедии: две истории, две стороны киберпреступности

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


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

И второй вопрос: чем, по-вашему, занимается современный хакер? Скорее всего, вам представляется злоумышленник, ворующий аккаунты в социальных сетях, не так ли?

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

Читать далее

Как создать 3D-рендерер для Playdate и не выбросить консоль в окно

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

Playdate – крошечная консоль с жёлтым корпусом и процессором, который в эпоху гигагерцев кажется игрушечным. Разрешение – 400x240, один бит, без оттенков серого. Видеочипа нет: всё, что видите, считает скромный ARM-процессор. Казалось бы, какое тут 3D?

Но Кристина Рамос решила проверить, где проходит граница возможного. Начала с рейкастера, а закончила софтверным рендерером, который читает BSP-карты.

Игры Return of the Obra Dinn и Jet Set Radio вдохновили Кристину на монохромный селшейдинг с жирными контурами. В статье она рассказывает, как 1-битный экран Playdate заставил отказаться от фотореалистичных текстур и найти уникальный визуальный стиль для 3D-игры.

Читать далее

Count-Min Sketch: как посчитать частоту миллиарда событий в 10 килобайт

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

Представьте: через ваш сервер проходит 10 миллионов запросов в минуту. Каждый запрос содержит метку (например, ID пользователя, IP-адрес или поисковый запрос). Руководство просит: «А давайте посмотрим, кто из пользователей самый активный?». Задача выглядит простой, пока вы не осознаете, что хранить HashMap из 10 миллионов ключей в оперативной памяти — это сотни мегабайт, а если ключи — длинные строки, то и гигабайты.

Вероятностные структуры данных решают такие задачи без гигантских кластеров. В прошлых статьях мы разобрали, как с помощью HyperLogLog считать количество уникальных элементов, а с помощью Фильтра Блума — проверять наличие элемента. Сегодня мы закроем триаду и поговорим об алгоритме, который отвечает на вопрос «А сколько раз этот элемент встречался?» с фиксированной памятью в пару килобайт и строгой вероятностной гарантией.

И это — Count-Min Sketch! Структура, которая лежит в основе анализа потоков в базах данных (от ClickHouse до BigQuery) и сетевых протоколов. Мы разберем её математику, реализуем на чистом C с использованием MurmurHash3 и проведем бенчмарки.

Читать далее

«Они явно что-то знали»: пророческие видеоигры из прошлого

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

Не так давно мы вспоминали про игры, которым вот вроде и лет много, но они всё еще топ даже сейчас, и был там один пример в лице Metal Gear Solid 2: Sons of Liberty.

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

Собственно, в этом материале мы и посмотрим на несколько таких примеров.

Пугаемся от совпадений ниже по тексту

Тайна первых iPhone: как Siemens и Samsung сделали железо для первого смартфона Apple

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

Последние 5 лет, Apple использует в своих устройствах чипы исключительно собственной разработки. iPhone, Mac, Apple Watch, AirPods — все эти устройства так или иначе базируются на процессорах, которые были разработаны инженерами яблочной компании. Однако в 2000-х всё было не так и Apple собирала свои устройства из целой солянки самого разного железа — чаще всего от Samsung и Infineon (Siemens).

В сегодняшней статье мне хотелось бы рассмотреть аппаратную платформу оригинального iPhone и iPhone 3G. Мы с вами развеем главный миф о процессоре от Samsung, разберем устройство, проанализируем схемотехнику, узнаем и узнаем, за что отвечает каждый чип на плате. Интересно? Тогда жду вас под катом!

Читать далее

Сеть ИОЛА, MS-DOS и Pacman: эксперимент с сетевыми адаптерами 80-х

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

Здравствуйте, уважаемые читатели! Безусловно, все слышали про игру Pacman. А слышали ли Вы про Pacgirl? Это подруга Pacman — она с бантиком...

Основная «фишка» эксперимента этой статьи — это, конечно, сеть ИОЛА, построенная из советских комплектующих. Её основа — сетевые адаптеры, собранные на «рассыпухе» малой степени интеграции, работающие по сей день. Самая старшая микросхема в сетевой плате — почтенная К155ЛА3 — датируется аж 1985 годом. Ей «стукнул» 41 год.

Для демонстрации сетевого взаимодействия мы выберем развлекательно-игровую среду. В качестве сетевого теста у нас будет Pacman! Простейшая и в то же время класснейшая игрушка. В нашем эксперименте данные между двумя машинами мы будем передавать не дискетками и не нуль-модемным кабелем. Мы увидим, как работает FTP-сервер, запущенный под MS-DOS.

Гоним мистера Пакмана, Пакгёл, догоняй...

Пакман, за мной

Вы ещё пишете код слева направо? Тогда мы идём к вам

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

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

Задача тянет на головоломку, но в мире двумерного синтаксиса у неё есть красивое решение — просто отзеркалить операцию строчкой ниже. Такой трюк напрямую моделирует обратимость вычислений из квантовой физики.

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

Читать далее

Свой видеохостинг с P2P и Fediverse: PeerTube

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

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

Peertube основан на технологии P2P (peer-to-peer) для обмена видео по принципу всех известных торрентов. Исторически PeerTube использовал WebTorrent, но уже несколько лет (начиная с версии 6.0) проект полностью перешел на протокол HLS в связке с WebRTC.

Что лучше — централизация или децентрализация? Что такое Fediverse? И наконец — как создать свой инстанс-сайт для сохранения видео на случай, например, блокировки ютуба? Давайте-ка погрузимся в теорию и практику!

В конце концов мы опубликуем свой децентрализованный видеохостинг!

Читать далее

Ритуалы закончились: разворачиваем систему резервного копирования как код

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

Привет, Хабр! Это снова Денис — тимлид инфраструктурной Core-команды в Timeweb Cloud.

В прошлой статье я разбирал живые миграции: NBD, RDMA, switchover за сотни миллисекунд и прочий внутренний хардкор платформы. Там было вкусно инженерам. Сегодня — про другое удовольствие.

Вот у нас снова есть клиент. У него есть сервер. На сервере — жизнь бизнеса: сайт, база, файлы, пара скриптов «временно, но уже третий год». И где-то в голове тихо живёт мысль:

> «Бэкапы? Конечно. Сделаем. После релиза. И отпуска. И вот этого срочного.»

Знакомо до боли. Я как раз собрал сценарий для тех, кто уже устал откладывать и хочет нормальный бэкап без полугодового проекта внедрения. Открываете один файл настроек, запускаете Terraform — и получаете готовую систему резервного копирования в облаке.

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

Читать далее

Июльский дайджест — сервер за 30 секунд, новые модели и токены на агента

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

Вместо долгого начала про июльские отпуска и шуток про жару просто похвастаемся цифрами. Тридцать секунд — столько теперь занимает создание сервера. 2,7 миллиарда — столько объектов лежит в нашем S3. До 12,5 миллионов — столько токенов начисляем на первого AI-агента.

А если серьезно, за месяц у нас: два новых провайдера AI-моделей, обновления в S3, сертификаты Минцифры, приватные агенты, новая площадка для Амстердама и многое другое.

Не сбавляем темп — насыщенный на события июль ниже  

Читать далее

Размытая граница между состояниями CSS и событиями JavaScript

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

CSS «слушает» нас. Нет, не в буквальном смысле. Суть в том, что в CSS появляется все больше псевдоклассов, которые позволяют реагировать на события JS без необходимости писать сам JS. Формально псевдоклассы отслеживают состояния, а не события, но порой они настолько похожи на обработчики событий, что разница становится почти незаметной (хотя в контексте CSS это не так уж важно).

Читать далее

Ближайшие события

Starship Troopers 2005 vs Ultimate Bug War: разбор двух главных шутеров по культовой франшизе

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

‎Ладно, шучу, это не вся заметка. Просто недавно франшиза «Звездный десант» пополнилась добротным бумер-шутером Starship Troopers: Ultimate Bug War!. Игра сама по себе хороша, но дело в том, что это не первый шутер от первого лица по вселенной: есть еще старичок 2005 года от студии Strangelite, и пока я проходил «Окончательную жуковойну», то постоянно ловил себя на том, что сравниваю ее с той самой игрой из своего детства. Закончив прохождение, я вдруг понял, что Ultimate Bug War! в разных аспектах работает одновременно лучше и хуже, чем Starship Troopers 2005 года, именно как шутер по «Звездному десанту». Тогда и родился замысел этой статьи: подробно разобрать и сравнить два шутера по вселенной, чтобы определиться, какой из них все-таки лучше. Так сказать, где по жукам стрелять хорошо? Признаюсь: начиная этот разбор, я еще сам не знаю ответа. ‎

Читать далее

Тайна 3dfx Voodoo: изучаем архитектуру GPU из 90-х «по винтикам»

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

Недавно мне подарили настоящую легенду — STB 3dfx Voodoo 3 с двумя TMU, 16'ю мегабайтами видеопамяти и 2D-ускорителем. Как настоящий гик и любитель покопаться в ретро-железе, я сразу же нашел даташит и начал изучать внутреннюю архитектуру этого игрового монстра. И поверьте, здесь есть на что посмотреть!

В сегодняшней статье мы во всех деталях изучим архитектуру оригинальной 3dfx Voodoo, узнаем почему Nvidia выиграла в гонке видеокарт и почему игры с API Glide выглядели гораздо красивее, чем с D3D/OpenGL! Если любите настоящие технарские статьи без нейрослопа и рерайта — жду вас под катом!

Читать далее

Они все испортили. Как Nintendo Switch и Steam Deck убили индустрию портативных консолей, и всем с этим нормально

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

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

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

Текст ниже понравится далеко не всем

Мутоскоп для любимой: как я собрал механическую GIF-анимацию из бронзы и дерева

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

Любовь к жене и механике вылилась в неожиданное устройство — механическую «gif-анимацию» в стиле музейных мутоскопов XIX века: латунь, дерево, ручной привод и 36 кадров с фото жены и первыми днями дочки. Под катом — как я делал стальные пешки, ломал метчики и собирал мелкие оси одну за другой на ощупь.

Читать далее

ESP32 + MicroPython + трубка Гейгера: как за вечер собрать детектор радиации

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

Радиация окружает нас повсюду – естественный радиоактивный фон присутствует всегда и везде. Имея под рукой плату ESP32 за 8 долларов, OLED-дисплей за 3 доллара, MicroPython и трубку Гейгера – Мюллера, можно без труда собрать полноценный детектор радиации. Он сможет не только выводить текущие показатели на экран, но и отправлять данные на GMCMap, в Home Assistant и другие сервисы.

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

Читать далее

Как сделать игру для ZX Spectrum в 2026 (и зачем)

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

Идея заняться этим возникла после участия в качестве члена жюри последнего Технотекста (я оценивал статьи из хаба DIY и научпоп). Поначалу для меня было удивительно, зачем тратить столько времени на (казалось бы) странные вещи? Газоразрядная Хабралампа, радиотелескоп в сарае, разработка радиоуправляемой машинки с нуля.

А потом как понял…И сделал игру для дочки. Она несколько раз играла в Lode Runner в эмуляторе, и попросила меня сделать что‑нибудь для нее...

LOAD "" 🕹️

Собирали по частям, теряли по-крупному: почему новый сборщик мусора откатили в Python 3.14.5

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

В Python 3.14.0 (октябрь 2025-го) разработчики заменили классический иерархический сборщик мусора на инкрементальный – обещали более короткие паузы на больших свалках. Но уже в 3.14.5 (май 2026-го) это решение полностью откатили.

Что пошло не так? И почему альтернативный сборщик даже не сделали переключаемой опцией, как в Java или Go?

Разбираемся на бенчмарках, запустив локально обе версии интерпретатора.

Читать далее
1
23 ...