Microsoft открыла код BASIC 6502, запустившего Commodore и Apple II

Microsoft открыла код BASIC 6502, запустившего Commodore и Apple II

Microsoft открыла код BASIC 6502, запустившего Commodore и Apple II

Microsoft выложила на GitHub полный исходный код Microsoft BASIC для процессора 6502 — версии 1.1 от 1978 года, на которой работали такие легендарные машины, как Commodore PET, VIC-20, Commodore 64 и Apple II. Теперь 6 955 строк ассемблерного кода доступны под лицензией MIT — каждый может изучать, использовать и даже изменять софт, с которого фактически начиналась революция персональных компьютеров.

Написанный Биллом Гейтсом и Риком Вейландом интерпретатор BASIC стал для миллионов людей в конце 70-х и начале 80-х первой возможностью «поговорить» с компьютером напрямую.

Простейшие команды вроде 10 PRINT "HELLO" и 20 GOTO 10 превращались в бесконечный поток текста на экране — и в первый опыт программирования для целого поколения.

Особенность кода в том, что он умещался в смешные по нынешним меркам объёмы памяти, когда каждый килобайт стоил сотни долларов. Процессор MOS 6502 обходился всего в $25, а его конкуренты — в восемь раз дороже. Поэтому именно этот чип стал сердцем домашних компьютеров и игровых приставок, от Atari 2600 до NES.

Интересная деталь из истории: Commodore в 1977 году заплатила Microsoft всего $25 000 за бессрочную лицензию на использование BASIC — без отчислений за каждую проданную машину. Учитывая миллионы Commodore PET и C64, выпущенные позже, в Redmond наверняка вспоминают этот контракт с лёгкой грустью.

В опубликованной версии 1.1 уже есть исправления и оптимизации, сделанные в 1978-м совместно инженером Commodore Джоном Фигансом и самим Гейтсом. Код поддерживал условную компиляцию — по сути, из одной кодовой базы собирались варианты и для Apple II (Applesoft BASIC), и для KIM-1, и для других систем.

Зачем это всё сегодня? Для энтузиастов ретрокомпьютеров — это шанс прикоснуться к «чистому» историческому артефакту, увидеть, как программисты выжимали максимум из железа с минимальными ресурсами. Эти приёмы до сих пор актуальны, когда речь идёт об оптимизации — будь то смарт-часы или спутники.

Microsoft в последние годы регулярно открывает старый код: раньше компания публиковала исходники GW-BASIC, MS-DOS 4.0 и даже самого первого Altair BASIC. Для корпорации, которая когда-то называла Linux «раковой опухолью» и «коммунизмом», это настоящая метаморфоза. А теперь — ещё и красивый жест: в Git-репозитории у исходников BASIC стоят фиктивные временные метки коммитов от июля 1978 года.

Фильтры AdBlock выдают страну даже при включённом VPN

Исследователи описали новую технику деанонимизации под названием Adbleed, которая ставит под сомнение привычное ощущение безопасности у пользователей VPN. Проблема кроется в блокировщиках рекламы. Такие расширения, как uBlock Origin, Brave или AdBlock Plus, работают на основе списков фильтров.

Есть базовый список EasyList с десятками тысяч правил для международной рекламы, а есть региональные — для Германии, Франции, России, Бразилии, Японии и других стран.

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

 

Adbleed использует довольно изящную идею: он измеряет время, за которое браузер обрабатывает запрос к определённому домену. Если домен заблокирован фильтром, запрос обрывается почти мгновенно — за считаные миллисекунды.

 

Если не заблокирован, браузер пытается установить сетевое соединение, и даже при ошибке это занимает в разы больше времени. Небольшой JavaScript-скрипт может проверить несколько десятков доменов, характерных для конкретного регионального списка, и по скорости отклика понять, активирован он или нет. Всё это происходит на стороне клиента без cookies, без всплывающих разрешений и без каких-то сложных эксплойтов.

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

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

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

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

RSS: Новости на портале Anti-Malware.ru