Обновить
23
Андрей Туркин@arteast

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

0,6
Рейтинг
1
Подписчики
Отправить сообщение

На странице https://phantom.sannata.org/viewtopic.php?t=45022 есть архив IOLANET.ZIP с кучкой всяких интересных утилит. Там, среди прочего, есть NETBOOT.COM - сервер для сетевой загрузки, и MAKEBOOT.EXE - утилита для дампа загрузочной дискеты в файл, пригодный для сетевой загрузки. А еще IOLA.HL, где кажется есть документация по ним.

Я подозреваю, что option ROM эмулирует дисковод и беспроблемно загрузить можно в лучше случае что-то, что влезает на дискету.

Часть дорожек скрыта микросхемой, но похоже, что плата занимает 64кб, начиная с D0000, где 16 раз подряд идет содержимое 4кб ROM.

Если бы эта ПЗУ была установлена в «кроватку» — считал бы программатором, а выпаивать ещё не решился

Зачем выпаивать? Втыкаете в компутер, грузите DOS и debug-ом дампите память, куда оно мапится. Адрес option ROM можно найти перебором или посмотреть, что к чему подключено у микросхемы-декодера.

Какие файлы операционной системы, где и на чём расположены — и передаются ли они на бездисковую загружающуюся станцию?

Скорее всего что-то самобытное. Если сдампите ROM, можно будет посмотреть )

у потока, запускаемого впервые, rip заполняется при создании и указывает на точку входа

При запуске нового потока ему же выделяется стек? Вот на вершину этого новенького стека можно положить точку входа, чтобы ret перешел туда, куда надо. Еще в тему - непонятно, как оно работает сейчас, когда в Lswitch_return делается косвенный переход, а там отсутствует endbr64

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

Это понятно. Я о том, что с точки зрения вызывающей функции (в контексте конкретного потока) это обычная функция, которая возвращается туда, откуда была вызвана - а не уходит неизвестно куда как longjmp. Поэтому rip сохранять для переключения не надо, потому что оно лежит на стеке как обычно, и надо только сохранить все callee-saved и спецрегистры.

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

Не очень понял прикол с Lswitch_return. Если в Context.rip всегда будет одно и то же значение, то зачем вообще неявная адресация? jmp всегда будет приземляться сразу после себя. Грубо говоря, если switch_contextведет себя как обычная функция и всегда возвращается туда, откуда была вызвана (в изначальном контексте, в который переключаемся) - то смысла в rip в принципе нет.

превратили общенациональную сеть камер Flock в инструмент слежки

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

QEMU действительно самостоятельно не эмулирует скорость линии, но THRE он снимать умеет. Он просто проксирует все на фронтенд устройства uart. Если фронтенд - это консоль, и пишем мы десяток символов, то оно пролетит моментально. А вот если, к примеру, устройство UART гостя отображается на реальное uart-устройство хоста, то настройки в госте (типа divisor) будут приводить к соответствующей перенастройке реального устройства, и наоборот, переполнение буфера реального устройства будет приводить к заполнению xmit FIFO на госте, и снятию THRE. Конечно, получается не вполне честное поведение (как минимум фактическая глубина FIFO будет больше, чем должно быть для 16550) - но если послать "войну и мир" в COM-порт, который замаплен на настоящий COM-порт, то средняя скорость передачи будет реально такой, какая была настроена в 16550 (и THRE большую часть времени будет снят).

По делу надо еще этот UART сначала настроить, а потом для каждого символа дожидаться, пока регистр (Transmitter Holding Register в NS16550A, который в virt эмулируется) освободится. Впрочем, туториалов такого рода в интернете немало, и никто этого не делает... потому что никто не запускает их на реальном железе и не пытается напечатать что-то более длиннее hellord.

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

Таймвеб - российский облачный провайдер. У которого массово зарезали диапазоны и положили много живого бизнеса.

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

С рождения никто не знает. Есть те, кто перед написанием кода немного погружаются в предметную область. И другие.

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

Но у нас же теперь есть LLMки, которые знают за нас. Вот я в курсор закинул первые два абзаца из статьи и получил:

Похоже на проблему с индексом seek в WebM или с range-запросами.

Симптом очень типичный для WebM без нормального seek-индекса (Cues).

Что происходит

Браузерный MediaRecorder / захват из Телемоста часто пишет WebM «на лету»:

  • в файле нет полноценного элемента Cues (карта таймкод → offset), либо он неполный;

  • duration может быть неизвестен или некорректен;

  • clusters идут подряд без удобного индекса.

Поэтому:

  • старт с начала — ок (последовательное чтение);

  • короткая перемотка — ок (можно «досканировать» ближайшие clusters);

  • прыжок сразу на ~10-ю минуту — плеер не знает байтовый offset, начинает тянуть большой диапазон, буфер растёт, а воспроизведение не стартует, пока не найдётся нужный keyframe/cluster.

Ну и дальше - как посмотреть в webm и подтвердить (ffprobe/mkvinfo), и как перестроить webm через ffmpeg, чтобы индексы появились.

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

Из судебного решения (которое не самодостаточно, полной информации о доказательствах там нет, но все же):

  • Although no images or chats were found on any of the devices seized from the bedroom in his parent’s house which the police believed to have been utilized by Brandon Klayme ...

  • In addition, the police in Wisconsin had obtained CH’s iPhone and they were able to extract 80 photographs of her in various stages of undress,... 76 of the 80 images did constitute what the Criminal Code defines as “child pornography.”

  • The Court ultimately concluded ... that Mr. Brandon Klayme ... had demanded that CH send sexually explicit photos and videos of her, being a 12-year-old girl, to him.

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

Явно не написано, откуда они взяли "posession"; видимо, сделали вывод "запросил и получил" => "в какой-то момент имел в наличии".

Не надо ничего регистрировать. Все доказательства, которые вообще были - на устройстве у ребенка; у самого героя рассказа ничего не было и быть не могло (притом его каким-то образом арестовали в том числе за "possession of child pornography" - хотел бы я увидеть, как они этот пункт доказывали на суде).

Если ник известен - то просто берем, делаем фальшивые сообщения в этом мессенджере (что там, sqlite какой-нибудь или типа того?) с этим ником, и зовем полицию.

Давно все балуются. Россия всякие требования удалить зарубежным сайтам и маркетплейсам шлет. GDPR у ЕС распространяется на весь мир. Местные НДС с зарубежных продаванов вообще каждая вторая страна требует.

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

Кстати, по трем колоскам позже было "лиц, виновных в мелких единичных кражах общественной собственности, или трудящихся, совершивших кражи из нужды, по несознательности и при наличии других смягчающих обстоятельств". Лично я вижу отчетливую разницу между человеком, который украл батон - свою единственную еду на сегодня, и человеком, укравшим батончик (помаду, телефон, etc) просто потому, что может.

Нет, это недополученная прибыль. Правда, цифры у меня не сходятся.

Kromm, 60, who averaged 60 hours a week at Ford in 2025

ffered his job back working his original shift from 7 p.m. to 7 a.m.

Пока сходится, 12 часов смена, 5/2 неделя - как раз 60 часов.

On Saturday, May 16, a Ford supervisor called Kromm into the office and informed Kromm he was fired for non-payment.

On Wednesday, June 17, Ford notified Kromm he would be “returned to work” on June 22.

On Thursday, June 18, UAW Local 862 skilled trades chairman Mike Dunn called Kromm to say he would be “made whole” for five weeks of lost wages

Опять сходится, 5 недель пропущенной работы по вине работодателя.

earning $48 an hour at Ford

Then on Thursday, June 25, he received two checks totaling $28,000 but less than the $33,000 he was told by the UAW that he would be getting.

$48/час x 60 часов= $2,880 в неделю. $2,880/нед x 5 недель = $14,400. Это не "made whole", это вдвое больше упущенной выгоды.

I earned over $200,000 last year

$2,880 x 52 ~= $150k, без отпуска и праздников. Чтобы при $48/час заработать $200k, надо работать по 12 часов каждый день, 80 часов в неделю, а не 60.

В общем что-то где-то кто-то наврал.

То, что автомат батончик отдал - не важно; важно, что для любого разумного человека очевидно, что это автомат по продаже товаров, а не раздаче их бесплатно. Вы взяли батончик, заведомо зная, что за него надо заплатить, и заведомо зная, что не заплатили. Поскольку вы не заплатили, продажи не было, и батончик остался в собственности вендора (пусть и лежал он не внутри закрытого бокса, а в лотке) - тем не менее, вы его забрали и съели. Это называется мелкая кража.

Суда не было, но именно так - это "упущенная выгода", а не уже заработанные деньги.

Интересно, а на других платформах такое бы прокатило?

В загрузчиках игр на zx spectrum это было стандартным трюком.

1
23 ...

Информация

В рейтинге
2 231-й
Откуда
Нижегородская обл., Россия
Дата рождения
Зарегистрирован
Активность