Category: литература

Category was added automatically. Read all entries about "литература".

Sidious

Новая ошибка HTTP

В продолжение о машине голосования и её код-ревью

Недавно Mozilla сделала "программное заявление", что банить в соцсетях это очень демократично и инклюзивно, но ЭТО ТОЛЬКО НАЧАЛО (We need more than deplatforming)

Правда, они не особенно распространялись, какие именно шаги собираются сделать. Но кое-чего всплыло: их больше всего пугает, что НАРОД ВСПОМНИТ О ВЕБЕ 1.0, где ты заводишь собственный сайтик с гостевой книгой - и совершенно спокойно пишешь там всё, что захочется, и никакой цукерберг тебя не остановит, и даже безос удавится от злости, не в силах отключить ваш небольшой веб-сервер, крутящийся на домашнем сервере - вот же дикари, AWS же есть! Мы вам скидку дадим!

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



Хм, только сейчас сообразил, что 2020 = 404 * 5, и это многое объясняет :) (да, я знаю что forbidden это 403, но я в целом про весёлый год, а 404 куда известнее)

[На всякий случай]
Ошибка 2020: "За Байдена!" - это шутка, по крайней мере на данный момент. Подумалось просто, фамилия говорящая получается, характеризующая, что будет дальше.

А вот заявление Мозиллы - это чистая правда...
slow loris

Учение не создал, учеников разбазарил

Зато успешно переквалифицировался в понтифики, что дословно означает "строители мостов" :)

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

Ещё бы сейчас закончить свой проект - и пойти в отпуск, а то с августа 2019 года в отпуске не был, разве что месяц на самоизоляции на даче, но там я вкалывал вовсю, по-моему самую сложную часть сделал именно там, в полном сосредоточении и невообразимой тишине :)

А потом ещё книжку о кватернионах всё-таки дописать и сдать в печать - и жизнь потихоньку начнёт удаваться.


Отмечать день рождения собираюсь в пятницу вечером 30 октября, с 19:00, ориентировочно в кафе "Кулибин", если только они не закрылись, проверю.

А потом в воскресенье, 1-го ноября, уже дома, где-нибудь с 2 часов дня. Пишите в личку!
QuatCore

Проверяем "библиотеки" и вывод чисел в десятичной форме

Для начала мы ещё чуть доработали компилятор: он должен вести список файлов, которые он прочитал (т.е основной + все, загруженные через %include) и понимать, к какому из них относится текущая обрабатываемая строка, чтобы в сообщении об ошибке сказать, в каком файле эта ошибка.

Для вчерашнего примера TestBCD.asm, которая подключает Win1251.inc и QuatCoreConsts.inc, а также print.asm (в свою очередь подключающий QuatCoreConsts.inc) и Bin2Bcd.asm, мы получили успешную компиляцию - раньше мы получали жалобы на повторное определение метки UART (из QuatCoreConsts.inc) и пр. Сейчас повторно QuatCoreConsts.inc не подключается, что не может не радовать.

Единственно предупреждение, что мы получили, касается Hazard'ов:

Обрабатываем файл TestBin2BcdLib.asm
Конфликт (Hazard) между командами [SP+1] и [SP], файл Bin2Bcd.asm, процедура BetterBin2Bcd, строки:
				[SP+1]	0
				Acc	[SP]
Вставляем NOP


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

Надо попробовать убрать этот Hazard - и прошить всё это в ПЛИС!

Collapse )


С первого раза :)

Дальше на очереди - прошить программу обнаружения точек с выводом результатов работы по UART. Вот это и называется "Стремительным домкратом".

UPD. Ещё сделали файлик SetClock.asm с кодом для настройки тактовой частоты в 25 МГц. Подключили его в самом начале процедуры main. Всё в порядке, выдаёт то же самое, но на скорости 921 600.
QuatCore

Создание библиотек - QuatCore style

Настаёт время соединить толпу ранее написанного кода: обнаружение точек, аффинный алгоритм и процедуры для вывода в терминал или на ЖК-экранчик в "удобочитаемом виде".

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

Пока что мне кажется, что для этого достаточно уже имеющихся возможностей компилятора QuatCore, а именно простейшей директивы %include...

Collapse )
PhysUnitCalc

TeX-калькулятор?

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

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

Скажем, вбиваешь в окошке

\frac{1}{\sqrt{3}}


а тебе выдаётся ответ:


(Кстати, недавно узнал: если нужно, чтобы после запятой в формуле не делался отступ, проще всего заключить её в фигурные скобки. Пока книжку верстали, использовали более злой синтаксис)

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

Есть примочка для TeX, которая делает какие-то вычисления в процессе формирования документа, но это совсем другое применение.

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

Ну и с размерностями, чего уж там, понравилось мне это дело.

Радиофизика и электроника для начинающих - 2-е издание

Хорошая новость - первое издание "Радиофизики и электроники для начинающих" за авторством 2born и вашего покорного слуги было раскуплено целиком, и сейчас было напечатано 2-е издание, исправленное и дополненное.



И оно уже в продаже.

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

Спешите приобрести!

Сказки роботов о настоящем человеке

Побывал в субботу на этом спектакле - просто восторг!

Всем поклонникам роботов и творчества Станислава Лема - смотреть обязательно.

Как оно примерно выглядит, можно посмотреть в этом 23-минутном ролике, но сам спектакль длится около часа, и не ограничивается одной лишь сказкой о королевиче Ферриции и королевне Кристалле.


Collapse )

Очень хочу сходить ещё разок, на этот раз с биноклем, и разглядеть все фигурки и антураж.

Чаще всего они выступают в центре драматургии и режиссуры на беговой:
http://teatrcdr.ru/skazki-robotov-o-nastoyashhem-cheloveke/

Ближайший спектакль - сегодня в 18:00, остался аж 1 билет, может какой счастливчик сейчас прибежит!?

Следующие - 1 декабря, 13 и 27 января в 18:00.

Если кто хочет пойти - напишите, пожалуйста, может вместе сходим.

UPD. Голливудский трейлер:


и механический трейлер:


UPD2. Спектакль и детям должен понравиться, по кр. мере с 8 лет, как и указывается в афише.

Ликбез по кватернионам, часть 13: Дэвенпорт берёт след!

Часть 1 - история вопроса
Часть 2 - основные операции
Часть 3 - запись вращения через кватернионы
Часть 4 - кватернионы и спиноры; порядок перемножения
Часть 5 - практическая реализация поворота
Часть 5 1/2 - введение метрики, "расстояния" между поворотами
Часть 6 - поворот по кратчайшему пути
Часть 6 1/4 - кратчайший поворот в общем случае
Часть 6 2/4 - поворот, совмещающий два направления
Часть 6 3/4 - кватернион из синуса и косинуса угла
Часть 7 - интегрирование угловых скоростей, углы Эйлера-Крылова
Часть 8 - интегрирование угловых скоростей, матрицы поворота
Часть 8 1/2 - ортонормирование матрицы и уравнения Пуассона
Часть 9 - интегрирование угловых скоростей с помощью кватернионов
Часть 10 - интегрирование угловых скоростей, методы 2-го порядка
Часть 11 - интегрирование угловых скоростей, методы высших порядков (в разработке)
Часть 12 - навигационная задача
Часть 13 - Дэвенпорт берёт след!
Часть 14 - линейный метод Мортари-Маркли
Часть 15 - среднее от двух кватернионов
Часть 15 1/2 - проверка и усреднение кватернионов
Часть 16 - разложение кватерниона на повороты

Не зря эта часть 13-я по счёту: она самая сложная, но дело того стоит. Освоив её, вы сможете без особенных проблем осилить 90% всей литературы по астронавигации. Это и есть всем известные тернии, через которые лежит дорога к звёздам!

Итак:

Дэвенпорт берёт след!

Дойдя до 13-й части «ликбеза по кватернионам» читатель вправе предположить: и в навигационной задаче кватернионы должны быть полезны! Действительно, львиная доля всех методов, которые применяются для решения данной задачи, используют кватернионы, и все опираются на труд Дэвенпорта, который, однако, так и не был по-нормальному опубликован. Как правило, все ссылаются на доклад «Для служебного пользования» [A Vector Approach to the Algebra of Rotations with Applications by Paul B. Davenport, Goddard Space Flight Center, Greenbelt, Md, 1968]. Уже название немножко смущает – почему же это «векторный подход», если он должен быть кватернионным?

Оказывается, начальник Дэвенпорта на дух не переносил двух вещей: кватернионов и фильтры Калмана, и, в общем-то, его можно понять. И те, и другие только начинали свой путь в космическую технику, и амбиции были гораздо выше реальных результатов. Математики били себя кулаком в грудь – «фильтр Калмана из любого мусора получит точные измерения», «кватернионы – самый естественный способ описания вращения», но оказывалось, что принцип «мусор на входе – мусор на выходе» никто не отменял, а всем причастным куда как ближе по духу были курс-крен-тангаж, а не «эти ваши кватернионы».

Collapse )

В следующей части: Линейный (!) метод Мортари-Маркли.

Встречайте: "Медицинская физика для начинающих" и "Урматы для начинающих"

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

И сейчас вот открыл книгу, увидел в самом начале "классификацию уравнений в частных производных", и на меня нахлынули воспоминания, как я пытался, возращаясь на электричке из МФТИ, осилить выкладки со сдвоенными суммами и толпой частных производных, и каждый раз засыпал напрочь - какое-то это чтиво ну совсем не электричковое.

А ведь поговаривают, что и Лифшиц вот так вот ехал на электричке, правил рукописи Ландау, заснул, несколько страниц выкладок выпали из его рук и завалились под лавку. Уже дома обнаружив пропажу, он не стал унывать, написал "очевидно, что... " и продолжил как ни в чём ни бывало.

По счастью, авторы, про которых сегодня пойдёт речь, так не поступают!
Collapse )

Ликбез по кватернионам, часть 5: практическая реализация поворота


Поздравим с днём рождения Виктора Чапаева victor_chapaev, который сподвиг меня написать данный "опус".

Часть 1 - история вопроса
Часть 2 - основные операции
Часть 3 - запись вращения через кватернионы
Часть 4 - кватернионы и спиноры; порядок перемножения
Часть 5 - практическая реализация поворота
Часть 5 1/2 - введение метрики, "расстояния" между поворотами
Часть 6 - поворот по кратчайшему пути
Часть 6 1/4 - кратчайший поворот в общем случае
Часть 6 2/4 - поворот, совмещающий два направления
Часть 6 3/4 - кватернион из синуса и косинуса угла
Часть 7 - интегрирование угловых скоростей, углы Эйлера-Крылова
Часть 8 - интегрирование угловых скоростей, матрицы поворота
Часть 8 1/2 - ортонормирование матрицы и уравнения Пуассона
Часть 9 - интегрирование угловых скоростей с помощью кватернионов
Часть 10 - интегрирование угловых скоростей, методы 2-го порядка
Часть 11 - интегрирование угловых скоростей, методы высших порядков (в разработке)
Часть 12 - навигационная задача
Часть 13 - Дэвенпорт берёт след!
Часть 14 - линейный метод Мортари-Маркли
Часть 15 - среднее от двух кватернионов
Часть 15 1/2 - проверка и усреднение кватернионов
Часть 16 - разложение кватерниона на повороты

Мы выяснили, что такое кватернионы и почему они должны состоять именно из четырёх компонентов, узнали основные действия с ними, разобрались, как с помощью кватернионов описывается вращение в пространстве.

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

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

Реализация поворота вектора с помощью кватерниона
У нас есть кватернион Λ с единичной нормой:

и некоторый вектор , который мы записываем как кватернион с нулевой скалярной (действительной) частью:

Рассмотрим, как повернуть вектор наиболее эффективным способом.
Collapse )

Пока что кватернионы проигрывают в простоте и эффективности матрицам поворота (хотя и не значительно). Их полюбили в космической технике явно за другое… Продолжение следует.