Видел НЛО

У астрономов есть такое понятие — карта засветки, то-есть, карта, показывающая насколько сильно искуственный свет от жилых массивов влияет на наблюдения за небом. Скажем, посреди Токио, Нью-Йорка или Москвы наблюдать за небом практически бесполезно — засветка настолько велика, что видно только самые яркие астрономические объекты: Луну, Сириус, Юпитер, и так далее. Карта засветки доступна бесплатно вот здесь: https://www.lightpollutionmap.info/

Вот карта засветки штата Алабама. Ярко-красные местности — это крупные города, Хантсвилль, Монтгомери, Бирмингем, и так далее. В них на небе видно немного. А синяя точка со стрелочкой — это то место, куда мы ездим на охоту.

Звёздное небо там просто офигительное, несравнимо ни с чем, что я до этого видел. Потому что засветка, хоть и есть, но практически минимальна. Круче этого — только пустынные местности Запада США, где-нибудь в Неваде или Монтане. Ну или в Сибири или ещё где поотмороженней — в Северо-Западных Территориях Канады, например. Так что видно очень много — табуны спутников, метеоры. Иногда мне даже кажется, что я наблюдал Млечный Путь.

В том числе я был свидетелем невиданного мною ранее феномена. На небе вдруг зажглись три яркие оранжевые точки, построенные в виде треугольника, а потом они резво ломанулись через пол-неба и скрылись за горизонтом через секунду, не оставляя за собой следов. Примерно вот так:

Рациональное объяснение, кстати, есть. Оранжевым светят метеоры, в составе которых много натрия. Наверняка это был довольно крупный метеор, который взорвался при входе в атмосферу, разломившись на три части, и сгорел в плотных слоях. Интересно только, как часто в составе метеоров попадается натрий? Я никогда раньше оранжевый метеор не видел.

Интересная криптографическая статья

Очень интересная статья для людей, интересующихся криптографией.

Краткий пересказ. Современная тайнопись зиждется на несимметричной и симметричной криптографии. Все данные внутри уже установленной сессии шифруются симметричной криптографией — она быстрее, ибо не так ресурсоёмка. Обычно это AES. Ключ для AES шифруется уже несимметричной криптографией, чаще всего RSA, у которой есть два ключа — один открытый (публичный), другой закрытый (приватный). То, что зашифровано закрытым ключом, может быть расшифровано ключом открытым, и наоборот.

При установке сессии клиент и сервер договариваются о ключе для AES, и эти договоры шифруется RSA (курить Diffie–Hellman). Штука в том, что RSA работает на основе очень больших простых чисел, вся его защищённость состоит в том, что надо подобрать два множителя из простых чисел, у которых более тысячи цифр в каждом. Работа с настолько большими числами на компьютере иногда приводит к математическим ошибкам, и может привести к разглашению закрытого ключа! Затронутыми оказываются реализации RSA с закрытым кодом, в том числе устройства Зиксел (тот самый Зухель, ага) и Циско (гы-гы-гы). Алгоритм RSA в OpenSSH такому разглашению, что интересно, не подвержен — там знают о том, что могут возникнуть ошибки в расчётах, и от них предохранились.

Очень, очень любопытно! Покамест практические проблемы малы — даже RSA в тех же Циськах уязвим только в одном устройстве на тысячу, а реализация эксплойта не видится мне простой. Но учитывая, что таких устройств миллионы, и на кону могут стоять большие бабки…

В-общем, запасаемся попкорном. Может быть исключительно интересно.

Статья в ArsTechnica:

https://arstechnica.com/security/2023/11/hackers-can-steal-ssh-cryptographic-keys-in-new-cutting-edge-attack/

Ссылка на Cryptography ePrint:

https://eprint.iacr.org/2023/1711.pdf

Поколенческое про игры

Я заметил одну интересную вещь про компьютерные игры и молодое поколение — и чем они младше, тем больше это правда. Вот мне (поколение Х), например, не очень интересно рассматривать, как кто-то играет в игру. Нет, я иногда смотрю, это верно — например, поглядеть на какое-то интересное творение в Scrap Mechanic, или как пройти особо злющего босса. Но в целом смотреть на то, как играют другие мне в целом не сказать, чтобы сильно завлекательно — значительно интереснее играть самому.

А вот молодым, особенно поколению альфа (2010+), практически равноценно: что смотреть на то, как играют другие, что играть самим. Они получают практически такое же удовольствие от обоих видов развлечения. Сам я не сильно понимаю, как так, но с другой стороны, смотрим же мы футбол, бейсбол, хоккей, и прочий бобслей — непосредственно в них не участвуя, но получая удовольствие от просмотра.

Нашёл в ентих ваших инторнетах интересную картинку, подтверждающую мои наблюдения.

Сварческое

Я уже очень давно, и с большой любовью смотрю ютуб-канал Project Farm. Мужик тестирует самые разные вещи, используемые нашим братом селюком — малые ДВС, смазочные материалы, бензины, генераторы, сварочные аппараты, самые разнообразные инструменты, и прочие приспособления для жизни в сельской местности.

Мне очень импонирует его способ тестирования — это не какое-то утончённое эстетство, а проверка работы оборудования во вполне реальных ситуациях. И не абы как, а с довольно научным подходом. Так, при тестировании генераторов он обязательно отсылает использованное масло на тестирование в лабораторию — поглядеть, как сильно изнашивается сам двигатель.

Тут у него наконец дошли руки протестировать дешманские сварочники по сравнению с нормальными (нормальные — это Линкольн или Миллер). И, разумеется, результаты меня, использовавшего поревный говнокитайский говносварочник “Чикаго Электрик” из магазина “Харбор Фрейт”, а потом — нормальный полуавтомат Линкольн, не удивили.

Вот, наглядно, как с обратной стороны выглядит сварной шов пластин 19mm стали, сваренный встык. Предварительно место будущего шва было сошлифовано под скос 45 градусов (так сварочный шов получается лучше, нет проблем с проваром).

Чикаго Электрик:

А это Линкольн Электрик:

Ощутите разницу. А почему так? А потому что электроника в Линкольне нормальная. Дело не в том, что она выдаёт какой-то там бОльший ток или ещё что, нет. Хорошая электроника выдаёт СТАБИЛЬНЫЙ ток и СТАБИЛЬНОЕ напряжение, а у говносварки оно “прыгает” туда-сюда. Поэтому в одном месте у тебя будет непровар, а в другом — прожог. А надо и не то и не то, надо стабильность, чтобы одинаково было, и в начале шва, и в конце.

Именно поэтому я всегда буду отсоветывать покупать дешманские сварочники, особенно начинающим! Как можно чему-то учиться, если результат каждый раз получается разный, и “гуляет” в середине? То-есть, конечно, изготавливать крякозабры, чтобы подвязывать помидоры, можно и порнухой вроде “Чикаго Электрик”, но чтобы получать стабильный, устойчивый результат, который не совестно показывать людям — надо иметь нормальное оборудование.

Конечно, в конкурсе участвовал не только один “Чикаго Электрик”, были и другие сварочники, многие из которых были лучше этой худой марки. Но всё же ни один из них не показал настолько добросовестный, надёжный результат, как Линкольн. ЧТД.

Поглядеть самому можно здесь.

А существует ли тёмная материя?

Очень интересные нынче открытия намечаются. Общепринятая нынче точка зрения заключается в том, что если мы возьмём все наши существующие наблюдения по поведению небесных тел, проанализируем их, используя Общую Теорию Относительности Альберта нашего Эйнштейна, то получится, что у нас в наблюдаемой вселенной решительно недостаточно массы, чтобы в рамках ОТО объяснить поведение астрономических объектов. Поэтому ввели понятие “тёмная материя” — это нечно совершенно необъяснимое и ненаблюдаемое, но обладающее значительной массой, и гравитационно воздействующее на небесные тела.

Однако ОТО и уравнения Исаака Ньютона — не единственные на сегодняшний день теории гравитации. Их много.

И вышел недавно целый залп научных статей, использующих данные, полученные от европейской космической обзерватории Гайя, согласно которым, если вместо ОТО использовать теорию МОНД (МОдифицированная Ньютоновская Динамика), то поведение астрономических объектов описывается ею лучше, чем Общей Теорией Относительности.

Отличие МОНД от ОТО заключается в том, что она может лучше описывать поведение небесных тел с очень малым гравитационным ускорением. И — не подразумевает наличия тёмной материи, позволяя объяснять наблюдения без этой неведомой зверушки.

Интересно, крайне интересно!

Хорошее видео с объяснением от английского доктора наук по астрофизике, Ребекки Сметёрст:

Статьи:

https://arxiv.org/pdf/2305.04613.pdf
https://arxiv.org/pdf/2304.07322.pdf
https://arxiv.org/pdf/2205.02846.pdf

Оксфордская запятая

Вот в русском языке при перечислении перед союзом “и” запятая не ставится:

Саша поужинал, сделал уроки и лёг спать.

А в английском языке — ставится, называется “оксфордская запятая“:

Саша поужинал, сделал уроки, и лёг спать.

И мне эта запятая очень нравится, потому что в отдельных случаях её отсутствие может сильно влиять на смысл предложения.

Например, “я познакомил жену со своими родителями, Президентом Трампом и Бритни Спирс”. Это может быть прочитано так, будто Трамп и Бритни Спирс — мои родители. А если оксфордскую запятую поставить: “я познакомил жену со своими родителями, Президентом Трампом, и Бритни Спирс”, то будет понятно, что жена была познакомлена с четыремя людьми, а не с двумя. “А Слава КПСС — вообще не человек”.

Или ещё, например. “Я позавтракал тостом, кофе и яйцами”. То-есть сначала съел тост, а потом выпил чашечку кофе, в которой плавали яйца. Как хорошо, что теперь есть искуственный интеллект, который может легко вообразить себе даже такую бредятину!!!

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

Спекулятивное исполнение

Вот как вы думаете, современные процессоры, встретив в коде условный переход типа if () {} else {}, какую ветвь кода выполняют?

Правильный ответ: обе.

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

Только вот с выбрасыванием есть… эффекты. Которыми можно злоупотребить. Именно отсюда растут ноги туевой хучи эксплойтов типа Spectre, Meltdown, и прочих радостей. Теперь с эффектами засветились процессоры AMD.

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

https://www.bleepingcomputer.com/news/security/new-inception-attack-leaks-sensitive-data-from-all-amd-zen-cpus/

Когда же всё это починят? Да никогда. Убирание спекулятивного исполнения стоит огромного падения в производительности. Поэтому оно с нами будет как минимум до тех пор, пока память типа SRAM не будет стоить как обычная оперативка RAM.

Неметрическое

Читаю ругательный пост про Сухой Суперджет от авиационного механика. О том, что самолёт сильно страдает от “нестандартных технических решений”, хотя иногда создаётся впечатление, что он его хает только потому, что Сухой — не Боинг 🙂 В частности, он сильно возмущается наддувом бака с гидравлической жидкостью. На Боингах и Эрбасах она делается при помощи сжатого воздуха, отбираемого от компрессора, или азотом. А на Сухом она делается поршнем, что вызывает сложности — поршень давится азотом высокого давление, и никак иначе, поэтому если почему-то азота нет, то бак ты не наддуешь, и гидравлика может не работать.

Почему сделали так, а не как на Боинге? Предположу, что Сухие не стали изобретать велосипед, и взяли уже придуманный узел от какого-нибудь боевого самолёта, типа Су-34. Поршень имеет свои преимущества: в баке не болтается газовый пузырь, поэтому если делать какие-нибудь фигуры высшего пилотажа или просто лететь вверх ногами, то в гидравлическую систему попадёт газ, она не будет работать, и разобьёсся к соответствующей матери. Бочку, впрочем, сделать можно.

На сугубо гражданском самолёте это, конечно, нафиг не надо, но то отдельный разговор. Эмбраер тоже так делает, “по-нашему, по-бразильски”.

Всё это была присказка. Удивило меня в этом посте не это. Вот что меня удивило:

Нет, не скалывающаяся краска. И даже не то, что на русском самолёте стоит американский манометр калифорнийской компании Роджерсон-Кратос.

Удивило меня то, что давление на русском ероплане меряется в наших посконных фунтах на двадратный дюйм (PSI). Только позавчера я поддувал шины своего пикапа до пятидесяти фунтов на квадратный дюйм 🙂 Гляди-ка, и на иностранных еропланах точно так же. И на европейском Эйрбасе давление тоже меряют в PSI.

Рехнуться. А вы всё спрашиваете, “когда же, наконец, Америка перейдёт на метрическую систему?” Полагаю, что в отдельных нишах на метрическую систему даже зарубежные страны не перейдут никогда, как водопроводные и газопроводные трубы в России до сих пор меряют в дюймах.

Игры с акселерометром

Решил немного попробовать поиграться с акселерометрами. Чисто по приколу. Оказалась весьма занятная вещь.

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

Взял совсем недорогой и простенький акселерометр ADXL335 (картинка с Adafruit):

ADXL335

Даже тупо по надписям на плате сразу понятно, как с ним работать.

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

Теперь немного технического описания и математики. ADXL335 я питаю от 3.3 вольт. При ускорении в 0g, на соответствующем выходе платы имеем VCC/2, т.е. 1.65V. АЦП на ATMEL ATmega328P — 10-битные, соответственно, получаем разрешение 5V/1024 = 4.9mv на одну единицу. 1.65V/4.9mv = 336.

Так оно и получилось: будучи положенными на абсолютно плоскую доску, оси X и Y при считывании выдавали 336, а ось Z — 403 (потому что гравитация, и там у нас не 0g, а вовсе даже 1g).

Чувствительность акселерометра составляет, при питании от 3.3 вольт, 330 милливольт на 1g. 330mv/4.9mv = 67, 336 + 67 = 403, всё правильно.

Но, блин, Ардуино, это, конечно, хорошо, но не очень. При запитывании платы напрямую от USB, на входе АЦП микроконтроллера есть очень сильный шум. У меня постоянно прыгали измерения — от 0.98g до 1.02g. Связано это даже не сколько с самим микроконтроллером, сколько с тем, что напряжение 5 вольт, выдаваемое обычным компьютером — это что-то чудовищное, с высокочастотными наводками, и прочими радостями. Поэтому если кому-то хочется на обычной Ардуино заниматься считыванием АЦП — сделайте себе одолжение, подключите сначала нормальное стабилизированное питание. Запитался от моего старого лабораторного БП с линейным стабилизатором напряжения — и наконец-то узрел нормальные непрыгающие значения.

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

Поэтому в данном виде акселерометр для таких задач непригоден. С ним можно только приблизительно рассчитывать, как наклонена плата. Ведь при наклонении акселерометра, ускорение свободного падения на оси Z падает, и начинает действовать на другие оси. А дальше, в-общем, простая тригонометрия — проекции сил на оси, треугольники. Угол наклона оси Z — арккосинус от считываемого ускорения, никакой магии. Наклони её на 90 градусов — будешь считывать 0g, arccos(0) = 90°, всё правильно.

Дабы не мудохаться со сложными схемами питания, заказал другой акселерометр — MPU6050. У него внутри неонка свой АЦП, причём 16-битный, что круче в 64 раза, а данные он отдаёт по I2C или SPI. Кроме того, у него есть трёхосный гироскоп! Я даже не знал, что бывают твёрдотельные гироскопы, круто! Буду продолжать изыскания.