Май 5

Про местонахождение азбукой Морзе

Общепринятый способ запросить местоположение — передать QTH? (на русском ЩТХ? азбукой −−•− − •••• ••−−••). Знак вопроса обязательно, если вы спрашиваете, а не отвечаете. Расшифровывается как «где вы находитесь?» или «передайте своё месторасположение».

Ответить можно и текстом, а можно передать QTH (без вопроса) и код места, где вы находитесь. Код места это две буквы, затем две цифры (если хочется передать точнее), а затем ещё две буквы (если ещё точнее). В полном варианте вы передадите своё местоположение на земном шаре с точностью 3-4 километра уложившись в шесть знаков!

Расшифровать местоположение можно например на сайте https://www.karhukoti.com/maidenhead-grid-square-locator/  (вписать код в поле Show A Particular Grid)

Март 18

Скриншоты Буратино для ZX

Прохождение игры Буратино в скриншотах.

Вступление

Вступление 1

Давным-давно, когда вас ещё на свете не было, жил старый шарманщик, по имени Карло.

Если вы читали сказку Алексея Толстого «Золотой ключик или приключения Буратино», то помните, что Карло из полена вырезал куклу и назвал её Буратино.

Именно с этого момента начинается наша игра.

Вступление 2

Папа Карло хотел, чтобы его сынок вырос умненьким-благоразумненьким, вот поэтому он продал свою единственную куртку и купил азбуку с чудесными картинками для Буратино.

И Буратино отправился в школу…

Вступление 3

Куда на самом деле пойдёт Буратино и что он будет делать — это уж вам решать, а наше дело дать вам несколько советов:

Когда захотите начать сначала, нажмите caps+break.

Не тратьте попусту деньги (если они у вас будут).

Если на вас напали разбойники, не огорчайтесь: это разбойники такие растеряхи.

Вступление 4

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

Обязательно прочтите ещё раз книгу «золотой ключик». Это неплохое руководство по нашей игре, хотя некоторые герои ведут себя не так, как в книге.

Вступление 5

Остаётся только сказать что игра была создана фирмой Copper Feet ((c) 1993) по заказу фирмы Compact-Studio, крупнейшего (!) распространителя программного обеспечения для ZX-Spectrum в Петербурге.

Автор игры: Вячеслав Медноногов

Музыка: Алексей Медноногов.

Вступление 6

Игра

Вступление 7

Играет шарманка папы Карло. Довольно растянутая вариация Jingle Bells.

Вступление 8

Выбор управления.

Игра

Игра 1

Буратино подобрал старое полено — последнее, что осталось у бедного папы Карло.

Дальше можно пойти в школу, и тогда будет концовка 1.

Игра 2

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

Игра 3

Буратино поменял свою азбуку на билет в кукольный театр.

Дальше в кукольном театре нужно бросить полено в огонь (или будет концовка 2).

Игра 4

Буратино рассказал Карабасу, какой он бедный и несчастный.

Карабас-Барабас подарил ему пять золотых монет и велел возвращаться домой.

Игра 5

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

Игра 6

Рецепт: как стать богатым!

  1. Иди в страну дураков, там есть поле чудес, иди туда
  2. Вырой ямку
  3. Положи золотой
  4. Посыпь солью
  5. Полей хорошенько
  6. Да, не забудь сказать: «крекс, пекс, фекс»
  7. Вырастет небольшое дерево, на нём вместо листьев будут золотые монеты!
Игра 7

Буратино нашёл ржавую лопату.

Игра 8

Буратино нашёл большую конфету.

Игра 9

(c) Copper Feet 1993

Автор программы Вячеслав Медноногов

Петербург 1433303

Игра 10

Старая черепаха Тортила рассказала, что у неё есть золотой ключик, но она отдаст его только тому, кто ей хорошо заплатит.

Игра 11

Мало!

Игра 12

Хозяин выскочил на встречу Буратино и низко кланялся, прося зайти.

Игра 13

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

Игра 14

Полицейский бульдог требовал с каждого, кто хотел пройти в страну дураков, одну золотую монету.

Игра 15

Мальвина, девочка с голубыми волосами, очень удивилась, увидев Буратино. Она напоила его кипячёным молоком и велела чистить зубы.

Игра 16

Буратино подарил Мальвине конфету, а она дала ему большую банку из-под малинового варенья.

Игра 17

Буратино наполнил банку водой.

Игра 18

Буратино вырыл ямку.

Игра 19

Буратино положил в ямку один золотой.

Игра 20

Буратино посолил свой золотой.

Игра 21

Буратино хорошенько полил золотой водой из банки.

Игра 22

Наконец, Буратино последний раз заглянул в рецепт и сказал: «крекс, пекс, фекс».

Игра 23
Игра 24

Вот это да! Буратино заполучил сто золотых монет.

Игра 25

Черепаха Тортила отдала Буратино золотой ключик.

Дальше можно попасть на концовки 3 (если попасться полицейским, что проще простого) или 4.

Побочные события

Побочное 1

Лиса Алиса напала на Буратино, отобрала у него один золотой и скрылась.

Концовки

Концовка 1

Буратино пошёл в школу, хорошо учился, и одним деревянным болваном в мире стало больше.

Концовка 2

Карабас-Барабас схватил Буратино и бросил его в огонь.

Концовка 3

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

Концовка 4 (часть 1)

Буратино сорвал холст с нарисованным на нём очагом и увидел потайную дверь, которую тут же открыл своим золотым ключиком!

Концовка 4 (часть 2)
Концовка 4 (часть 3)

Молодец, Буратино!!! Поздравляем!

Концовка 4 (часть 4)

И под занавес небольшая анимация, где лиса Алиса гонится за Буратино.

Март 2

Приём FT8 на RTL-SDR

Оказалось что мой SDR-приёмник ловит сигналы в КВ-диапазоне тоже (до 30 МГц, до этого мне казалось что не ловит ничего). В частности там ловится FT8 — цифровой формат передачи сигналов, используемый радиолюбителями. Просто надо было внимательнее смотреть.

Вот эта кривулина в тёмном окошке и есть сигнал в формате FT8. Вторая левее — второй сигнал, на другой частоте. OpenWebRX её расшифровывает в окошке внизу. И особой мощности сигнала не требуется.

Январь 18

Геометрия Лобачевского

Она же гиперболическая геометрия. Геометрия в пространстве с постоянной отрицательной кривизной.

Контринтуитивные вещи:

  • Несколько прямых, параллельных данной могут пересекаться (и даже быть перпендикулярными друг другу)
  • Параллельные прямые расходятся всё дальше друг от друга, но есть две асимптотически параллельные прямые, а остальные называются ультрапараллельными
  • Сумма углов треугольника всегда меньше 180 градусов, и чем больше треугольник, тем меньше углы
  • Существует максимальная площадь треугольника
  • Два треугольника равны если их углы равны (такого нет у Евклида!)
  • Подобных треугольников не существует, только равные
  • Линия, находящаяся на заданном расстоянии от прямой будет кривой. Ведь прямая, параллельная данной должна отдаляться по определению
  • Визуализация с помощью диска выглядит странной, но в 3д всё выглядит привычно. Разве что перспектива шире
  • Нельзя сделать маленькую карту местности — малая область пространства обладает существенно меньшей кривизной
  • При движении вперёд предмет растягивается в поперечном направлении — атомы пытаются двигаться вдоль параллельных прямых, а они расходятся.

== Ссылки ==

Декабрь 14

Восьмиточечный шрифт Брайля

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

Актуальный стандарт на время написания статьи — ГОСТ Р 50916-2017. Описывает соответствие кода символа символам шрифта Брайля. Вообще сказано что это КОИ-8 H1 из ГОСТ Р 34.303-92, но на вид как кодовая страница 866 из MS-DOS. Потому что обычно в КОИ-8 русские буквы шли по порядку АБЦДЕФГ, тогда как тут идут по порядку (за исключением ё).

Восьмиточечный шрифт используется в дисплеях Брайля. Сами дисплеи стоят тыщ двести. Двести тыщ, Карл! Так что проверить соответствие восьмиточечной кодировки реальности не представляется возможным.

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

В русском варианте суть сводится к тому чтобы дополнительными точками (7, 8) обозначать заглавные русские (точкой 7), английские (точки 7 и 8), а также маленькие английские буквы (точкой 8). Маленькие русские буквы при этом обозначаются как обычно, без дополнительных точек. Цифры при этом пишутся сниженными — иначе бы путались с буквами абцдефгхиж.

Например «ПрЮвет Волку!1» будет так: ⡏⠗⡳⠺⠑⠞⠀⡺⠕⠇⠅⠥⠐⠂

Но, как написано в этом же ГОСТе, многие символы тут не получили однозначного закрепления.

Октябрь 12

Сайт для изучения азбуки Морзе на русском

Переделал сайт с чатом азбукой Морзе в сайт где можно в умеренно игровой форме учить азбуку.

Приём -> Случайные символы — сайт издаёт звук, пользователь должен просто нажать соответствующую кнопку. Позволяет оценить скорость восприятия на слух.

Приём -> Новости — позволяет послушать заголовки новостей с фонтанки ру азбукой.

Приём -> Калькулятор — озвучивает результат азбукой.

Приём -> Кликер — похоже на случайные символы, но без учёта скорости. Зато с учётом ошибок. Каждая следующая ошибка обходится дороже.

Приём -> Часы — показывают время азбукой морзе (цифрами), а при нажатии кнопки «сообщить время» передают текстом что-нибудь вроде «десять минут второго».

Передача -> Ключ — позволяет писать текст нажимая на кнопку как на ключ.

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

Чат — возможность пообщаться с другими азбукой. Хотя никто кроме меня там сейчас не пишет.

Конвертер — преобразовать текст в азбуку. Удобно если вы что-то забыли подсмотреть там символ.

Настройки — всякие настройки. Можно сделать чтобы точки и тире были короче или длиннее. Или чтобы писались текстом на экране. И ещё несколько настроек.

Ссылка: https://morse.arikado.ru/

Август 13

Вынесение констант в переменные

Одна из вещей, которых нас не учили на программировании в универе — делать именованные константы. Просто один пример на JavaScript:

function convertTimeToTicks(unixTimestampMs) {
    return (unixTimestampMs - (3600 * 3 * 1000)) * 10000 + 621355968000000000;
}

Ну как? Хорошо ещё название функции хоть как-то подсказывает, что происходит. А вот так было бы с именованными константами:

function convertTimeToTicks(unixTimestampMs) {
    let millisecondsInHour = 3600000;
    let timezoneCorrectionMs = millisecondsInHour * 3;
    let ticksInMs = 10000;
    let ticksBeforeUnixTimestamp = 621355968000000000;
    return (unixTimestampMs - timezoneCorrectionMs) * ticksInMs + ticksBeforeUnixTimestamp;
}

Да, много строк, да кажется что печатаешь лишнее. Но зато постороннему (и вам через пару лет) сразу ясно, что берётся время в миллисекундах от начала эпохи UnixTimestamp, делается коррекция часового пояса, конвертируется в тики.

Ну а тики нужны для работы с системой электронного документооборота, это уже другая история.

Июнь 28

Шрифт Брайля для зрячих

Ещё один сайт из серии сайтов-азбук. Теперь про шрифт Брайля.

Два сайта это же уже серия, правда?

Шрифт Брайля существенно проще азбуки Морзе, потому что у него только одно представление — текстовое. Поэтому сайт гораздо проще чем для Морзе.

⠠⠝⠁⠀⠎⠁⠯⠞⠑⠀⠺⠮⠀⠍⠕⠚⠑⠞⠑⠀⠏⠕⠟⠊⠞⠁⠞⠾⠀⠝⠕⠺⠕⠎⠞⠊⠀⠎⠀⠋⠕⠝⠞⠁⠝⠅⠊⠂⠀⠏⠕⠊⠛⠗⠁⠞⠾⠀⠺⠀⠗⠁⠎⠏⠕⠵⠝⠁⠺⠁⠝⠊⠑⠀⠎⠊⠍⠕⠺⠕⠇⠕⠺⠂⠀⠏⠕⠕⠃⠭⠁⠞⠾⠎⠫⠀⠱⠗⠊⠋⠞⠕⠍⠀⠠⠃⠗⠁⠯⠇⠫⠀⠇⠊⠃⠕⠀⠏⠗⠑⠕⠃⠗⠁⠵⠕⠺⠁⠞⠾⠀⠺⠁⠱⠀⠞⠑⠅⠎⠞⠀⠺⠀⠞⠕⠟⠅⠊⠲

Если надпись выше плохо читаема, значит у вас firefox. Я не знаю как это поправить.

Ссылка: https://braille.arikado.ru/