Hacker News Digest

Тег: #windows-xp

Постов: 3

What algorithm did Windows XP use to choose your initial user picture? (devblogs.microsoft.com) 🔥 Горячее

Windows XP выбирает начальное изображение пользователя случайным образом из папки %ALLUSERSPROFILE%\Application Data\Microsoft\User Account Pictures\Default Pictures, используя алгоритм одноходовой выборки (reservoir sampling с k=1). Для генерации случайных чисел применяется функция RtlRandomEx, инициализированная значением GetTickCount() — счётчиком миллисекунд с момента загрузки системы. Алгоритм проходит по файлам в директории последовательно, поддерживая счётчик обработанных файлов и заменяя текущий «победитель» с вероятностью 1/count на каждый новый файл. Это обеспечивает равномерное распределение вероятности выбора любого файла из всей коллекции, независимо от порядка обхода. Подход выбран из-за эффективности: он требует только одного прохода по файловой системе, минимизируя дорогостоящие операции ввода-вывода, и устойчив к изменениям содержимого директории во время выполнения. Для защиты от аномалий (например, миллиона файлов) алгоритм останавливается после обработки первых 100 изображений. Таким образом, выбор картинки зависит от точного момента времени создания аккаунта через GetTickCount() и порядка перечисления файлов в файловой системе, что делает его псевдослучайным, но предсказуемым при известных условиях.

by soheilpro • 10 сентября 2026 г. в 09:04 • 256 points

ОригиналHN

#filesystem#gettickcount#reservoir-sampling#rtlrandomex#windows-xp

Комментарии (120)

Алгоритм выбора изображения в Windows XP был сознательно оптимизирован под ограничения ресурсов 1990-х: использовался reservoir sampling с k=1, RtlRandomEx и GetTickCount() для минимизации памяти и дисковых операций — без загрузки всех имён файлов. Ограничение в 100 файлов соответствовало реальным условиям: в папке по умолчанию было значительно меньше изображений. Применение простого rand() % n исключалось из-за отсутствия динамических структур и необходимости двух проходов или предварительного подсчёта файлов — системного вызова для этого не существовало, так как добавление метаданных увеличивало накладные расходы на FAT32/NTFS. GetTickCount() как источник случайности был стандартной практикой — криптографическая стойкость не требовалась. Отсутствие проверки на совпадение с существующими аватарами подтверждает, что выбор был локальным и случайным, без учёта конфликтов. Сложность алгоритма отражает тогдашнюю культуру оптимизации даже мелких операций — сегодня это кажется избыточным. Доступ к исходному коду NT5 на GitHub подтверждает, что Microsoft сохраняет утекшие версии как исторические артефакты. Некоторые предлагали детерминированный выбор по первому символу имени, но это не реализовали — вероятно, чтобы избежать предсказуемости. Windows XP — последняя версия, где такие детали считались важными; в современных системах приоритеты сместились. В 2004 году даже подсчёт файлов мог быть дорогим — reservoir sampling был необходимостью, а не изыском.

Show HN: I recreated Windows XP as my portfolio (mitchivin.com) 🔥 Горячее 💬 Длинная дискуссия

Привет!
Кликни по аватарке, чтобы войти в «Windows XP» с моим портфолио. Всё внутри работает как настоящий рабочий стол: иконки, панель задач, кнопка «Пуск».
После загрузки откроются:

  • Обо мне
  • Резюме
  • Проекты
  • Контакты

Связаться: LinkedIn | GitHub | Instagram
Для эффекта CRT и полноэкранного режима жми иконки в трее.

by mitchivin • 07 сентября 2025 г. в 01:44 • 886 points

ОригиналHN

#github#linkedin#nostalgia#portfolio#web-design#windows-xp

Комментарии (290)

  • Пользователи в восторге от детализации и ностальгии, но спорят: копирование XP ≠ дизайнерский талант.
  • Основные претензии: AI-аватар, неточности пикселей, скролл-бары, отсутствие теней и Easter-egg’ов в консоли.
  • Советуют убрать «студий-гибли» аватар, добавить мини-приложения (Minesweeper, проводник) и open-source’нуть проект.
  • Мобильная версия похвалена, но просят доработать CMD и убрать «размывающие» скан-линии.
  • Вывод: крутая визуальная витрина, но чтобы впечатлить индустрию, нужно больше собственных идей и меньше «копипаста» 2001 года.

Windows XP Professional (win32.run) 🔥 Горячее 💬 Длинная дискуссия

  • Используйте клавиши ↑ (Вверх) и ↓ (Вниз), чтобы переместить указатель к нужному загрузочному устройству.
  • Нажмите Enter для попытки загрузки или Esc для отмены.

Параметры загрузки:

  • Обычная загрузка Windows
  • Установить Windows
  • Встроенный NIC (IPv4)
  • Встроенный NIC (IPv6)

Другие параметры:

  • Настройка BIOS
  • Конфигурация устройств
  • Обновление прошивки BIOS
  • Изменить режим загрузки

by pentagrama • 07 августа 2025 г. в 13:58 • 393 points

ОригиналHN

#bios#ipv4#ipv6#v86#virtualization#win32#windows-xp

Комментарии (217)

  • Пользователи делятся ссылками на JS-клон Windows XP (win32.run) и настоящие эмуляторы (VirtualXP, v86).
  • Все восторгаются ностальгией: звук загрузки, старый ключ продукта, кастомизация TweakXP.
  • Замечены неточности клона: шрифты, тени, отсутствие Pinball, «быстрая» загрузка, Python 3 вместо 2.x.
  • Кто-то шутит, что запустит сайт на полный экран в офисе, чтобы напугать IT.
  • Общий вывод: XP — пик дизайна и функциональности, но перед нами всё-таки симулятор, а не настоящая система.