«Телефон»

Я мало пользуюсь приложением «Телефон». Звоню только своим родителям и нескольким друзьям. В основном предпочитаю общаться через мессенджеры — из-за разницы в часовых поясах или распорядке дня. Поэтому «Телефон» у меня не слева внизу, куда его по-умолчанию помещает каждый производитель смарфонов, а просто на первом экране.

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

По моим наблюдениям, у большинства людей, с которыми я общаюсь ситуация та же — звонят они очень мало, но почему-то никто не переносит приложение «Телефон» из его левого нижнего угла. Я специально примерно месяц внимательно смотрел на экраны других людей.

Если вы тоже редко звоните, оно там лишнее. Поместите туда что-нибудь такое, чем вы пользуетесь чаще.

Экран смартфона с обоями в виде рыбы-клоуна среди морского анемоны; видны иконки приложений: Телефон, Сообщения, WhatsApp, Покупки, OpenConnect, Квартира, Opera, Камера, Telegram.
Экран моего смартфона — приложение «Телефон» на первом экране, но не в строке самых частых приложений

10 комментариев

Обновление прошивки автомобиля

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

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

Опасаюсь, что подсяду на эти положительные эмоции, и без них, когда обновления кончатся, будет чего-то не хватать. У меня так со смартфонами — пока обновляются, меня всё радует, как только перестают, есть период, когда мне хочется, чтобы уже что-нибудь поменялось. Потом привыкаю, конечно.

Экран авто: раздел System. Доступны обновления «Upgrade» и «Voice upgrade» (v4018). Кнопка Check/Update. Сообщение: «Ваше ПО уже обновлено».
Бортовой компьютер сообщает, что доступно обновление

9 комментариев

Конец ускоренной strlen на «Флиппере»

В итоге, эпопея с ускорением функции замера длины строки в кодировке UTF-8 на «Флиппере Зеро» подошла к концу — коммит не взяли.

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

Тем не менее, я с удовольствием повозился инструкциями SIMD. До этого мини-проекта у меня было теоретическое понимание о том, что это за функции, но на практике я их не использовал.

Моя функция, кстати, претерпела некоторые изменения:

size_t furi_string_utf8_length(FuriString* str) {
    size_t len = string_size(str->string);
    const char * cstr = string_get_cstr(str->string);
    const char* end = cstr + len;

    if(len >= sizeof(uint8x4_t)) {
        const char* vend = end - sizeof(uint8x4_t);

        int8x4_t zero = 0x00000000;
        int8x4_t one = 0x01010101;
        int8x4_t threshold = -1077952577; // -65, -65, -65, -65

        do {
            int8x4_t vec = *(int8x4_t*)cstr;

            __ssub8(threshold, vec);
            uint8x4_t result = __sel(one, zero);

            len -= __usada8(result, zero, 0);

            cstr += sizeof(uint8x4_t);
        } while(cstr <= vend);
    }

    while(cstr < end) {
        signed char c = *cstr++;
        len -= c < -64;
    }

    return len;
}

Оказалось, что тип FuriString хранит в себе бинарную длину строки, поэтому я переделал код, чтобы он не пытался читать чужую память. В векторизованой части это было вероятно, но своих рассуждений и дискуссии по коммиту я сделал вывод, что в случае «Флиппера» это не имеет какого-либо значения.

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

В итоге, решая эту, возможно несуществующую, проблему, я опробовал на практике векторные инструкции расширений NEON и DSP SIMD, научился делать два параллельных запроса на вливание в «Гитхабе» и ещё раз вспомнил как компилировать и заливать свою прошивку во «Флиппер Зеро».

Оставить комментарий

Опять голова болит

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

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

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

Как же я устал.

16 комментариев

М. Г.

Рассматривали тут с приятелем книгу с дореволюционными шрифтами, заметили непривычное сокращение — «М. Г.». Долго думали что это такое, потом меня осенило, что это «милостивый государь» или «милостивая государыня».

Циркулярные шрифты №27-й, кегль 12-й: «Москва. Число почтоваго штемпеля. М. Т. Настоящимъ доводимъ до Вашего свѣдѣнія, что нашъ представитель Іосифъ Александровичъ Черкасовъ
Вырезка из книги «Образцы шрифтовъ, линеекъ, украшеній, политипажей и примѣненій къ нимъ», типография В. В. Вараксина, Казань, 1911

Оставить комментарий

Сгорели две GaN-зарядки

Какая-то напасть — одна за другой выгорели с громким хлопком две зарядки «Сяоми», сделанные по технологии GaN. Два года назад я рассказывал про них у себя в блоге.

Сгорели в момент включения с разницей всего в несколько дней. Вставлялись в две разные розетки, я их посмотрел потом тестером розеток — ничего необычного. Ничего не понимаю. Что это? Дефект партии (я их сразу две покупал)? Запланированное старение?

Белый сетевой адаптер с двумя круглыми штырьками европейского типа, лежащий на серой тканевой поверхности с выраженной фактурой плетения.
Одна из сгоревших GaN-зарядок

1 комментарий

Собачий возраст

Сегодня были у мамы жены, повод печальный, но я не хочу об этом. У неё живёт лабрадор Челси, которой 16 лет. Я не раз уже слышал, что возраст собаки надо умножать на семь, чтобы получить эквивалентный человеческий возраст.

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

Погуглил и нашёл более точную форуму — надо взять натуральный логарифм от возраста собаки, умножить на 16 и прибавить 31. Таким образом, «человеческий» возраст Челси — 16 × ln(16) + 31 ≈ 75 лет. Это куда больше похоже на правду.

10 комментариев

«Аватар: легенда об Аанге»

Недавно по приходе с работы застал дочку, прыгающую по дивану и выкрикивающую «Аппа, Аппа, йип-йип». Влияние школы — сверстники заинтересовали аниме-сериалом «Аватар: легенда об Аанге».

Дочка им очень увлеклась и вот уже какую неделю смотрит. Аппа — это магический летающий бизон, друг главного героя, а «йип-йип» — это, насколько я понял, команда «взлетай».

При этом больше всего она зафанатела почему-то крайне неоднозначным персонажем — принцем огня Зуко. Я не очень-то вникал, но кажется поначалу он был антогонистом, а потом присоединился к команде главного героя. Дочь сказала, что он «смешной и добрый».

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

В кадр попала другая её поделка — кошелёк из кожи, к «Аватару…» он отношения не имеет, просто рядом лежал.

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

Кукла в красном костюме с серебристым жилетом лежит рядом с коричневым кожаным чехлом на деревянном полу.
Это самодельный Зуко — один из действующих в сериале героев

7 комментариев

Проблемы лысых

У обеих наших машин панорамная крыша — стекло, прикрытое шторкой. Жена любит ездить с открытой шторкой, так как стекло сверху даёт ощущение простора. Я это могу понять, мне самому нравится. Чего, надеюсь, никогда в полной мере не поймёт моя жена — почему в мороз иногда мне приходится ездить в шапке. Шторка дают дополнительную теплоизоляцию, без которой у меня мёрзнет голова — я её брею налысо уже много лет.

9 комментариев

Отложенные сообщения

Для меня один из самых важных рабочих инструментов «Телеграма» — отложенные сообщения. Я крайне редко использую их в личной переписке, зато постоянно по работе.

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

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

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

14 комментариев

IAndex.Music

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

За пять прошедших лет нейросети пока ещё не развились до такого уровня, но уже появилась возможность проверить мои рассуждения на практике. С момента появления сервиса «Моя волна» в «Яндекс.Музыке», я почти всю музыку слушаю там, совершенно не утруждая себя запоминанием исполнителей или отдельных композиций, которые в данный момент хорошо легли на моё настроение.

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

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

Из-за этого паттерна мне совершенно нечем поддержать разговоры о музыке — я очень мало знаю о том, что я слушаю. Так что на вопрос что мне нравится на данный момент в музыке я, чаще всего, могу ответить только: «то, что мне подбирает „Яндекс.Музыка“».

13 комментариев

Сделал PR с новой strlen во «Флиппер»

Спасибо Шурику Бабаеву за помощь, добавил свой коммит с векторизованной функцией для измерения длины строки в кодировке UTF-8 в кодовую базу прошивки «Флиппера».

Попутно выяснилось, что «Флиппер» использует функцию замера длины из библиотеки M*LIB. Можно было бы закоммитить новую версию в неё, но не стал этого делать по двум причинам.

Во-первых, моя версия заточена под конкретную платформу, а M*LIB, кажется, универсальная библиотека. Во-вторых, если бы мой коммит в неё и приняли, надо было бы ещё каким-то образом добиться обновления библиотеки в прошивке «Флиппера», а это, наверняка, непростая задача.

Кстати, сделал итоговые замеры. Миллион итераций с четырьмя короткими строками (от ЯБ12341 до ЯБ12341234) моя версия делает за шесть секунд, тогда как прежняя — за 39.

Оставить комментарий

«Жгонский язык» А. В. Громова

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

Я ему попытался помочь и в некоторых позициях даже преуспел. Особенно хочу выделить книжку Александра Вячеславовича Громова «Жгонский язык», которую каким-то чудом удалось отыскать в одном из антикварных онлайн-магазинов и купить за 700 рублей.

Книжка редкая — выпущено было всего 500 экземпляров, но интересна, конечно, только очень узким специалистам.

Жгонский язык — тайный язык ремесленников, изготавливавших валенки. Как следует из слова «тайный», нужен был, чтобы оберегать профессиональные секреты от посторонних.

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

Разворот словаря с определениями слов на русском языке, включая «Балзи́мко», «Безми́жово», «Белёхово» и другие, с пояснениями и примерами употребления.
Разворот книги «Жгонский язык» А. В. Громова

Книжка пришла, и у меня дилемма. С одной стороны, я очень трепетно отношусь к авторским правам — следую принципам добросовестного цитирования, всегда смотрю лицензию используемых изображений и так далее. С другой стороны книга «Жгонский язык» как будто бы совсем не коммерческий проект, но автор умер и из каких соображений он её издавал точно сказать нельзя.

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

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

11 комментариев

Надо бы добавить мой strlen во «Флиппер»

Можно подумать, что я забросил возню с «Флиппером», так как какое-то время писал об этом часто, а сейчас поутих. На самом деле я всё жду, когда разработчики прошивки вмержат мой коммит для поддержки Юникода, плюс потихоньку вожусь со своей векторной реализацией функции для определения длины строки в кодировке UTF-8.

До недавнего времени я её надеялся ускорить, поэтому пытался вносить какие-то мелкие улучшения, но все они никакого эффекта не дали. Зато при аккуратном тестировании нашёл ошибку, — неправильно задал граничное условие в векторизованном куске. Хорошо, что проверил. В блоге у меня уже исправленная версия.

Будем считать, что с этим вопросом я закончил, хочу теперь попробовать добавить этот код в прошивку «Флиппера». Остались сделать два шага.

На замерах моя реализация обогнала встроенную на порядок — восемь секунд против 55 на двух миллионах итераций по небольшой строке. Но теперь надо воткнуть её в прошивку, чтобы учесть влияние реализации строкового типа FuriString, в котором будет использоваться эта функция и провести новые замеры. Надеюсь сделать это в ближайшие выходные.

Второй шаг для меня сложнее. У меня уже есть выписанная прошивка «Флиппера», в которой торчит непринятый коммит. Я никогда раньше не создавал на «Гитхабе» два разных запроса в рамках одного чужого проекта, не знаю как это делается. Если кто-то умеет, расскажите в комментариях.

8 комментариев

Шутка, которая не работает

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

Проблема тут в том, что вызов os.remove умеет удалять только файл, тогда как System32 — папка, знакомая многим пользователям Виндоуз. Я не уверен точно, но думаю, что при её удалении система будет сопротивляться. Она, вроде, как-то защищена от такого.

Возможно, кстати, код и не предполагалось делать рабочим, а шутка немного тоньше — ведь вызов os.remove можно прочитать как «удалить операционную систему», не знаю, я в любом случае хотел рассказать не об этом.

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

В Линуксе или МакОСи надо в любом месте, где будет запускаться эта программа, создать папку C:, в ней — папку Windows, а в ней — файл System32, который и удалится, если выпадет искомое число на рандомайзере.

Скриншот кода russian_roulette.py: импорты random, os. Проверка случайного числа 0-6. Если 1 — удаление C:\Windows\System32.

4 комментария

Киргизский самовар

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

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

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

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

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

Бронзовый самовар с гравировкой: герб, надпись «ТОВАРИЩЕСТВО ТОРГОВАГО ДОМА БР. ШЕМАРИНЫХЪ» и изображения монет с датами 1894, 1896, 1903–4.
Дореволюционный самовар на дороге на Иссык-Куль, таких там несколько десятков

1 комментарий

Песенный и разговорный языки

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

В общем, мне интересно это посмотреть, как раз потому что я ничего в этом не понимаю.

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

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

Возможно это потому, что я чаще тренируюсь распознавать речь и этот навык мало что даёт в плане распознавания слов в песнях из-за разницы произношения? Если это так, то люди, слушающие только песни, должны быть плохи в аудировании речи.

6 комментариев

Какой же купить смартфон?

Продолжаю неспешно выбирать себе новый смартфон. Как я уже ворчал, на третий год жизни с «Хуавеем» у меня накопилось много претензий и хочется переехать на что-нибудь другое.

Главная претензия связана с тем, что «Хуавей» отлучили от сервисов Гугла. Из-за этого тут собственный магазин приложений, в котором, конечно, есть далеко не всё, что нужно. Некоторые приложения можно скачать просто из интернета, но ещё часть сильно интегрирована с сервисами Гугла, поэтому их приходится ставить очень особенным способом.

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

Скриншот экрана смартфона с виджетом погоды в Казани: -15°C, 17 октября, суббота; видны иконки Gmail, Календарь, Карты, Финансы, Галерея.
Плёнка на экране за год стала очень некрасиво отклеиваться, видимо надо менять

Второй набор претензий к самому устройству, — у меня раскладной Mate Xs 2. Несмотря на то, что это не первое поколение раскладных устройств, недостатков у него хватает — довольно компромиссная камера, временами неустойчивый приём, аккумулятора хватает только до вечера, иногда с натягом.

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

В общем, очень я настроился смартфон поменять. Только вот на что? Посмотрел несколько обзоров, даже вспомнил, что знаю одного из техноблогеров с канала «Дроидер» — снимали когда-то квартиру вместе, спросил и у него тоже.

Пока фаворит по всем моим хотелкам — Oppo Find X7 Ultra. Стандартный магазин приложений, бомбические камеры, глобальная гарантия на весь мир, топовое железо. Хотя до сих пор продолжаю изучать рынок, всё больше склоняюсь к покупке именно этого устройства.

21 комментарий

Любовь и химия

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

Ну там прервать несчастную любовь или возродить погасшую. Не знаю какая там статистика по сердечным страданиям, а по разводам слышал, что в России распадается более 70% браков. Как мне кажется, это очень много. Хочется думать, что сходились эти пары по любви, ну хоть в большей части.

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

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

С таксистом эту тему я не стал развивать — какая-то она уж очень личная, да и может прозвучать так, как будто я коммивояжер каких-нибудь сомнительных приворотных зелий.

Возвращаясь к науке.

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

20 комментариев

Дискета на 90 мм

Некоторое время назад я прочитал в «Википедии», что дискета на 3,5 дюйма на самом деле метрическая и её ширина — 90 миллиметров, а вовсе не 88,9 как должно было бы быть. Поскольку «Википедия» источник сомнительный, я решил это проверить — нашёл дома дискету и ещё одну купил. Замерил обе линейкой. Получилось примерно 88,9 миллиметров.

Многие засомневались в точности моей линейки, несколько читателей даже замерили свои дискеты штангенциркулем и все замеры совпали с тем, что написано в «Википедии» — получилось 90 миллиметров.

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

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

Заодно разобрал дискету и померил сам диск. Получилось что-то около 86,5 мм. Тоже не 3,5 дюйма.

Рука измеряет штангенциркулем ширину чёрного прямоугольного устройства, установленного на колене в джинсах; фон размыт, виден белый коробок слева.
Дискета 3,5 дюйма на самом деле метрическая — 90 миллиметров

5 комментариев