Блог

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

    Одна из вещей, которых нас не учили на программировании в универе — делать именованные константы. Просто один пример на 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, делается коррекция часового пояса, конвертируется в тики.

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

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

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

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

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

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

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

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

  • Мой он-лайн SDR-приёмник

    Мой SDR-приёмник на базе OpenWebRX и RTL-SDR.

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

    Интересные частоты:

    • 144-146 МГц — любительский диапазон, но осмысленных сигналов там я ни разу не видел
    • 433-435 МГц — рации стандарта LPD (у которых 69 каналов), но чаще сигнализации автомобилей. Иногда переговоры в магазинах и на стройках
    • 466 МГц — рации стандарта PMR (у которых 8/16 каналов). Иногда переговоры в магазинах и на стройках, или бывает дети общаются
    • 485,71 — аудиодорожка от какого-то ТВ-канала
    • 509,71 — аудиодорожка от какого-то ТВ-канала
    • 557,71 — аудиодорожка от какого-то ТВ-канала
    • 613,71 — аудиодорожка от какого-то ТВ-канала
    • Все Питерские радиостанции от 65 до 108 МГц
  • Как включить 16 каналов на рации Motorola T42

    Всем привет! В рации Motorola T42 16 каналов, но для России разрешено использовать только первые 8 каналов. Чтобы переключить рацию в режим 16 каналов нужно нажать кнопку включения (чтобы номер канала начал мигать), затем 3 секунды удерживать кнопки «+» и «-«. Рация переключится на 16-канальный режим — на экране появится «16» на непродолжительное время. И выключить этот режим никак нельзя.

    Сброс — в выключенном состоянии зажать все четыре кнопки (включение, плюс, минус, нотку) — не поможет тоже. Как и извлечение батареек.

  • Он-лайн чат на азбуке Морзе

    Всем привет! Я сделал чат на азбуке Морзе 🙂

    https://morse.arikado.ru/

    Краткая инструкция:
    1) После входа вы видите сообщение .-- .- ---- / .--. --- --.. -.-- .-- -. --- .---, это значит что нужно ввести ваши позывные. Введите туда что-нибудь (чтобы вас отличать в чате)
    2) После ввода позывных нажмите кнопку .-- .... --- -..
    3) Вы увидите чат с сообщениями на азбуке Морзе. Показываются последние 10 сообщений. Чтобы прослушать конкретное сообщение, нажимайте на позывной оставившего сообщение.
    4) Новые сообщения будут автоматически проигрываться при получении. Ваши сообщения тоже.

    Ввод ключом
    В верхней части страницы есть кнопка с надписью -.- .-.. ..-- ---., это ключ. Краткое нажатие на кнопку — точка, длинное — тире. Длительность тире можно установить в блоке настроек под чатом.
    Под кнопкой есть два индикатора (прогресс-бара), один обозначает границу буквы, второй — границу слова. Чтобы начать вводить следующую букву дождитесь когда заполнится индикатор буквы. Чтобы начать вводить следующее слово, дождитесь, когда заполнится нижний индикатор.

    Ввод с клавиатуры
    Можно просто писать точки и тире с клавиатуры. При этом можно использовать тире (-), тильду «~», подчёркивание «_» как тире; точку «.», звёздочку «*», одиночную кавычку «‘» как точку. Между буквами один пробел. Между словами нужно ставить пробел, наклонную черту, ещё пробел.
    Если вы ввели недопустимые символы, появится сообщение об ошибке --- ---- .. -… -.- .- / -. . -.. --- .--. ..- … - .. -- -.-- . / … .. -- .-- --- .-.. -.--
    Телефоны иногда пытаются два дефиса переделать в тире. Чтобы этого не происходило, используйте, например, тильду «~» вместо тире.

    Настройки
    В нижней части, под чатом, можно настроить частоту звука, длительность точки в звуке; длительность тире, буквы и слова при вводе.
    Я плохо воспринимаю на слух пока, поэтому длительность точки по умолчанию — 200 мс. Кто хорошо воспринимает может поставить стандартные 75 мс.

    Если у кого-то не работает — сообщайте, я попробую исправить.

    Надеюсь вам понравится.

  • Преобразование русского текста в звуки азбуки Морзе

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

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

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

    • Можно поставить имя звонящего на виброзвонок, и слышать по вибрации кто звонит
    • Отладка программ для микроконтроллеров — вывод произвольного сообщения через один светодиод
    • Ну и может пригодится в случае апокалипсиса 🙂

  • Какие люди остаются в истории?

    Сочинение

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


    Есть несколько способов остаться в истории.


    Во-первых это исследователи и первооткрыватели. Все знают Магеллана, совершившего первое кругосветное путешествие, Дарвина, открывшего законы эволюции в своём «происхождении видов», супругов Кюри, исследовавших радиоактивность.


    Дальше я бы поставил изобретателей. Например Архимеда и Леонардо да Винчи, знают как изобретателей. Братья Райт построили первый самолёт, Кюньо паровую телегу, прообраз современных автомобилей.


    Писатели. Если вы хотите оставить след в истории, пишите трагедии. Евгений Онегин, Гамлет, Анна Каренина, преступление и наказание. Можно даже не называть имён авторов, все их знают.


    Политики и полководцы тоже оставляют свой след в истории. Они будут в одной группе,  Не все одинаково, конечно. Все знают русских царей (по крайней знают те, кто учился в России), Суворова, Сперанского, Меншикова.


    Так же все знают известных злодеев. Знают Герострата, сжёгшего храм Артемиды в своём городе, и ставшего нарицательным персонажем. Знают Гитлера, начавшего массовый геноцид. Но все довольно быстро забудут человека, который недавно вынес картину из третьяковской галереи. Вот я уже забыл.


    При всём при этом нет никакой гарантии, что конкретного человека будут помнить. Например Илон Маск является кем-то вроде мецената. Это греческое слово, а явление возникло ещё в древней греции. Но много ли меценатов того времени вы сможете назвать? Я ни одного не знаю.


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

  • Поисковик по фанфиков с fanfics.me

    Скачал все фанфики с fanfics.me, проиндексировал тексты, составил частотные словари, и вот, представляю вашему вниманию поисковик — https://fanfics.arikado.ru/

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

  • Мак Ройс или Ролс Ларен

    Ваня собрал гибрид макларена и ролс-ройса. Соответственно макройс или ролсларен.

  • Иерархия арифметических операций

    Нулевой уровень. Тут идёт самая простая операция — добавление единицы. Она как бы определяет в каком порядке идут числа.

    Первый уровень. Применив несколько раз эту операцию мы получаем следующую операцию — сложение. Сложение показывает сколько раз нужно добавить единицу к числу. То есть сколько раз нужно применить предыдущую операцию.

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

    Третий уровень. Возведение в степень — сколько раз нужно умножить число само на себя. Обычно этим всё и заканчивается, но в общем можно продолжать — так при описании числа Грэма пользуются стрелками чтобы показывать операции, которые идут после возведения в степень.

    Четвёртый уровень. Для примера возьмём операцию, следующую за возведением в степень — сколько раз число нужно возвести в степень себя же — и применим его к числу три. Обозначим её двойной крышкой: ^^

    3^^3 = 3^(3^3) = 3^27 = 7625597484987

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

    Можно подумать что нас бы спасла научная запись (запись вида (7.62 * 10^12), по даже тут показатель степени при десятке начнёт неудержимо быстро расти при увеличении уровня операции.