Category: фантастика

Category was added automatically. Read all entries about "фантастика".

петросян

журналистика

Лёха Андреев (Мерси Шелли) обладает интересной сверхспособностью: обнаруживать в любом доступном потоке новостей всякую *странную фигню*. Наиболее ярко она проявлялась когда он работал в ленте.ру/газете.ру времён их создания, и видел "ленту новостей" в её первозданном, непричёсанном и неотредактированном виде, но и сейчас, отойдя от этого вида деятельности, сверхспособность иногда срабатывает. Например, на оффлайновые издания.

В общем, читаем - Лёха Андреев, избранное из приложения журнала Tatler "Лучшие школы мира 2020". Журналистика жжот.

https://lexa.livejournal.com/533660.html
опять накурился?

амор-тизатор

...Вот интересно, "амортизатор" - это "а-мортизатор", то есть "обессмертиватель", или тут как в "амортенции" (которая из гаррипоттера) корень "амор", и это про любовь?
Загадка!..
филосораптор

ступенька

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

https://sam-newberry.livejournal.com/1016683.html

А я про другое вспомнил. Про недавние уязвимости процессоров - а именно про Meltdown и Spectre (так их уже с два десятка есть, это самые известные). А основаны они на так называемом "спекулятивном выполнении" в современных процессорах: там, в самом центре ядра процессора, где собственно и происходят вычисления, всё крутится с такой бешеной скоростью, что "думать некогда, считать надо", и совершенно штатной является ситуация, что к моменту начала исполнения команды мы ещё не знаем, надо ли её вообще исполнять - доступны ли все данные вот прям счас, "не подвели ли смежники" (успешно ли выполнилась предыдущая команда, от которой зависит эта), по этой ли ветке условного перехода пойдёт выполнение, и даже имеем ли мы право её вообще исполнять (есть ли у процесса доступ к той памяти, к которой команда хочет доступиться). Поэтому команда, а то и ветка команд, начинает выполняться сразу (и бывает что успевает выполниться на пару операций "вглубь"), а уже в процессе выполнения процессор выясняет, стоило ли вообще это выполнять, или не стоило (в абсолютном большинстве случаев стоило, за счёт этого и происходит ускорение - мы не теряем времени на проверки). Если же не стоило - просто выбрасывает результаты выполнения, а команду заворачивает в специальную очередь на повторное выполнение (или не заворачивает, если оказалось что её выполнять вообще не надо было(*)).
При этом "выбрасывание результата" штука не такая тривиальная - нужно ведь чтобы в случае отмены спекулятивного выполнения не осталось буквально никаких алгоритмически значимых следов этого выполнения, и у программы создавалось впечатление исполнения строго-по-порядку-и-правильно (есть ведь ещё "внеочередное исполнение инструкций", тоже интересная тема, а ещё "неправильно" выполненная инструкция вовсе не обязательно останавливает выполнение следующих за ней). И специально для такого "выбрасывания" в процессоре реализована целая куча механизмов, вплоть до возможности "откатить" даже запись в память (для этого сделан короткий "буфер записи", через который проходят все операции записи, прежде чем реально записаться в память, и пока операция в буфере - её можно просто вычеркнуть, как будто ничего и не было). Но поскольку изначально задача зачистки вообще всех "хвостов" не ставилась, ставилась задача чтобы все эти фокусы были незаметны чисто, так сказать, алгоритмически, а например обращение к памяти так или иначе "задевает" довольно много узлов процессора (кеш, таблицы дескрипторов, что-там-ещё), оставляя косвенные признаки того, что обращение было, эти признаки можно пытаться обнаруживать - то есть команда вроде как бы и не выполнилась, никакого _результата_ после себя не оставила, но _следы_ попыток её выполнения - остались.

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

А теперь рассмотрим ситуацию, в которой человечество живёт и обсчитывается в некоей Матрице. Чисто из соображений эффективности, мир при этом удобно разбить на систему слабосвязанных участков, и каждый такой участок обсчитывать на своём вычислительном узле - тогда не придётся учитывать "влияние всего на всё" (ретроградного Меркурия на успех Великой Октябрьской Социалистической Революции), а обойтись относительно небольшим потоком информации между узлами. Это мы, в принципе, и наблюдаем - люди любят селиться компактными кучками (города, сёла) с относительно слабыми связями (интернет это изменил, но не так чтобы радикально), звёзды-планеты вообще отдельно, и до недавнего времени вообще сводились к "точкам на небесном своде". Но при этом, как за счет ограниченности потока данных, так и временнЫх задержек, точное состояние "внешних" узлов при обсчёте будет частично "угадываться" (кстати, не эту ли проблему должен был решить хак с квантовой механикой?), что неизбежно будет приводить к рассогласованиям между реальностями разных узлов. При синхронизации эти рассогласования будут, разумеется, обнаружены и скомпенсированы - в лёгких случаях простым "приведением в соответствие" (небольшие сбои в реальности мало кто заметит), в более серьёзных - с "коррекцией прошлого" (частичной заменой памяти/предыстории).
Но, поскольку изменяется только так сказать явная, "видимая" часть памяти, а неявная, то есть весь букет ассоциаций и поведенческих нюансов, с этой памятью связанных, не изменяется (поскольку это потребовало бы фактически пересчёта этого участка заново от момента первого изменения, а это не просто затраты времени, но и рассинхронизация участков), как раз и возможны всякие странные ситуации. Начиная с "события как бы не было, но его последствия есть" и до "ложной памяти" вроде той самой "ступеньки" по ссылке.

Я, конечно, упрощаю (сказал я, глядя на три абзаца текста). Но всё-таки. Если есть люди, "ступеньку" наблюдавшие, то не все же они психи, кто-то видел такое в самом деле? А значит есть где-то во вселенной спекулятивное выполнение и коррекция прошлого для обеспечения консистентности будущего?..

===
(*) в плане спекулятивного выполнения мне вот что больше всего понравилось.
Вот программа-злоумышленник выполняет инструкцию с обращением к чужой памяти. Инструкция начинает выполняться, пока она выполняется процессор обнаруживает что выполнять её нельзя ни в коем случае, и генерирует исключение. Управление передаётся операционной системе, а та, при достаточно параноидальной настройке, тупо прибивает программу. Да и при менее параноидальной испортить жизнь злоумышленнику не так уж сложно, хотя бы кеш инвалидировать - уже большая часть атак отвалится.
А теперь мы кладём эту же инструкцию в одну из веток условного перехода, и подначиваем процессор думать, что эта ветка более вероятна (методы есть). Процессор спекулятивно выполняет инструкцию, обнаруживает обращение к чужой памяти... но мы тем временем выполняем переход по _другой_ ветке, и поскольку оказывается что инструкцию выполняли зря, и надо сделать вид что этого не было - исключение _не_ генерируется, и злоумышленник спокойно переходит к следующему этапу (обычно это опрос кусочка своей памяти на предмет выяснения, что из этого кусочка есть в кеше).
Работает же фантазия у людей!
опять накурился?

space vampires

Как мы знаем из XKCD, телескопы-рефлекторы (зеркальные) имеют один крупный недостаток: в них нельзя наблюдать космических вампиров. А поскольку большинство серьезных телескопов сейчас именно рефлекторы, то Земля может заметить вторжение космических вампиров только когда будет уже поздно.

Но есть нюанс. Вампиры не отражаются в зеркалах потому, что отражающий слой зеркала делается из серебра, а серебро, как "чистый" металл, не отражает "нечисть" - вампира (по этой же причине серебро для него смертельно). Но уже давно существует более дешевая технология - изготовление зеркал с алюминиевым слоем: они немного хуже серебряных, зато намного дешевле. И подозреваю что "дешевые китайские телескопы" для астрономов-любителей начального уровня, имеют алюминиевые зеркала - а значит вполне отражают вампиров. Кстати, по этой же причине сами вампиры в средние века использовали медные зеркала - в них-то они отражались, а алюминия тогда не было.

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

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

Kimura2

CGA!

Тут наткнулся на пару статей (ссылки внизу).
Есть одна демо-группа - это люди, которые пишут программы с демонстрацией спецэффектов, как правило на античных компах, потому что на новых это слишком просто и потому неинтересно (они существуют!!! до сих пор!!). Так вот, они взяли IBM PC/XT с видеоадаптером CGA (это 1981 год, графический режим с использованием 4 цветов из палитры в 16 цветов, текстовые режимы с использованием 16 цветов, причём 16 цветов там как бы принципиальное ограничение железа - на стандартный выход идёт четыре цифровых сигнала - RGB и "светлый" - и что с этим не делай, больше 16 комбинаций не получишь). И, используя несколько очень хитрых трюков, получили на нём... 1024 цвета! Показываемых одновременно, правда в низком разрешении, но "сравнительно честных" - без дизеринга, мелькания и подобных трюков, правда не на мониторе, а на условном "телевизоре" через композитный выход видеокарты.
Каким образом они совершили невозможное и выбили из CGA больше цветов чем когда-то позже сделают в VGA я пересказывать не буду - оно "изобилует сценами неприкрытого насилия", в том числе и над здравым смыслом, отмечу что меня больше всего удивило.

Дело было в 2015 году. Меня не очень удивляет, что в 2015 году находятся люди, с энтузиазмом ковыряющиеся в железе 1981 года с целью наковырять в нём что-нибудь интересное. Меня вообще не удивляет что люди находят в железе недокументированные возможности, и используют их в своих целях - там по второй ссылке есть забавный пример использования на CGA почти-как-настоящего разрешения 640х200 с 16 цветами (на самом деле хитрого текстового, но сразу-то и не разглядишь).
Меня удивляет то, что когда эпоха CGA безвозвратно ушла и забылась, когда казалось бы уже были открыты (и забыты за ненадобностью) все "хитрые трюки" того железа, уже в наше время, когда всё меряется гигабайтами и гигагерцами, народ открывает НОВЫЕ возможности того железа, причём в разы превосходящие то, что было открыто "по горячим следам", когда CGA была ещё хоть немного актуальна.

В общем:
https://habr.com/ru/post/358122/ - хаброперевод статьи про демку, есть видео демки (на реальном железе, эмуляторы в такое не умеют)
https://int10h.org/blog/2015/04/cga-in-1024-colors-new-mode-illustrated/ - статья с описанием того, как удалось добиться 1024 цветов от принципиально 16-цветной карточки. Самое интересное, "для тех кто понимает"
A.J.

фанфикостроение

Новости фанфикостроения.

1. Оказывается, уже полгода как обновился Харитоновский "Факап" (http://samlib.ru/h/haritonow_m_j/fuc.shtml). Последнее обновление которое я помню было кажется в 2016 году, а поскольку это был как бы "окончательный релиз", я и не проверял нет ли чего новенького.
Первое ощущение - "редакторская правка": исправлены опечатки (это хорошо), слегка изменён стиль изложения (теперь Яков Вандерхузе говорит ещё более короткими фразами, как по мне это уже немного перебор). Может ещё что изменилось, но это уже надо с лупой сравнивать.

2. Пока я тут ездил, вышло продолжение "Живёшь только трижды" Алекс Hitech! Джеймс Бонд в теле Гарри Поттера, всё как мы любим (жаль Стругацких нет, было бы ещё круче).
Первая часть (для тех кто не читал) - http://samlib.ru/h/hitech_a/you_only_live_thrice.shtml
Вторая (с продолжением) - http://samlib.ru/h/hitech_a/you_only_live_thricepart2.shtml
петросян

иридиум купороса

И ещё об "Иридиум Купороса" и прочих заклинаниях.
В мире Гарри Поттера умели варить Оборотное Зелье. А у нас в институте есть аж целое Оборотное Водоснабжение - в нём по кругу гоняется Оборотная Вода.

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

почта

Почта России, что ты делаешь, прекрати! Тестируй телепорты на ком-то другом! Мне неважно что в 2035 году обещали уже внедрить - телепортируйте, вон, кирпичи со стройки, им пофиг!

(Читать снизу вверх. Конечная точка в обоих случаях - 603006, Нижний Новогород, "прибыло в место вручения". Но нельзя же просто взять и прибыть в место вручения, обязательно нужно после этого проверить, "а если катапультой?"(с))
(Отдельно доставляет следить за этим по карте. Бдыщ, вжжжух, чпойнк...)
(Ну и долгая дорога из Нижнего в Нижний на втором фото тоже радует)

A.J.

стимпанк

Разминаюсь на тему календарика 2018, или "let's glue some gears on it, and call it steampunk" :-)
Тренируюсь на обломках фанеры, поэтому оно такое, немного поломанное.