Что-то странное с поиском у интернет-базаров
Например, дезодорант «Schmidt’s», если
«Алиса» молчит
Как я уже писал у меня возникла задача, в рамках которой хочется научиться управлять «Алисой» из локальной сети. В прошлый раз я остановился на том, что научился искать «Алисы» по имени сервиса, а вчера вечером решил попробовать подключиться и подать на одну из домашних «Алис»
Поковырял первую попавшуюся библиотеку, выглядит несложно — получаем любым способом OAuth-токен «Яндекса» (я взял от «Яндекс.Музыки»), с его помощью запрашиваем структуру для работы с колонками, формируем команду и шлём её на порт 1961 по протоколу WebSocket.
cmd.sh ★
Я тут случайно в спор ввязался — можно ли переписать
Речь шла о вполне определённом файле, там запрограммировано небольшое меню и в зависимости от выбранного пункта запускается та или иная, одинаковая для всех ОС, последовательность команд.
Мой собеседник мне не верил, когда я утверждал, что это вполне возможно, и требовал доказательств.
Что ж. Основная моя идея была в том, чтобы заменить команды батника на вызовы
То, что мне предстояло адаптировать начиналось вполне стандартно:
@ECHO off
CHCP 1251
CLSЧто тут происходит? Выключается вывод команд на экран (при адаптации это можно игнорировать), ставится однобайтовая кодировка CP1251 (это хорошо бы учесть) и очищается экран.
Поскольку «баш» этих команд не знает, надо определить три функции, спрятав их от cmd.exe. Сделать это несложно. Команду «двоеточие» cmd.exe трактует как начало метки и на дальнейшее не реагирует, а «баш» считает её пустой командой, которую можно точкой с запятой отделить от строки, которую мы хотим спрятать:
:; @ECHO() { :;}; CLS() { clear; }; CHCP() { ENC="$1"; }Следующее, чему надо научиться — выводить текст в указанной в батнике кодировке. Это просто:
:; ECHO.() { echo $@ | iconv -f "CP$ENC"; }Если теперь сделать файл запускаемым и добавить впереди #!/bin/bash (и пренебречь тем, что cmd.exe успевает ругнуться на эту строку до очистки экрана), у нас получится следующий файл, работающий во всех трёх операционках (кодировка должна быть
#!/bin/bash
:; @ECHO() { :;}; CLS() { clear; }; CHCP() { ENC="$1"; }
@ECHO off
CHCP 1251
CLS
:; ECHO.() { echo $@ | iconv -f "CP$ENC"; }
ECHO. Всем приветА вот дальше сложнее. Само меню организовано в оригинале так:
SET /p opt=Введите цифру:
IF %opt%==1 GOTO dns_auto
IF %opt%==2 GOTO dnschange
IF %opt%==3 GOTO exitВ «баше» goto (переход к метке) отсутствует и это проблема. Аналогов тоже нет. Единственное, что тут можно сделать — использовать вызов функций, но синтаксис в «бате» и «баше» сильно различается.
Как быть?
:; SET() { shift; ECHO. -n "${@#*=}"; read -n1 "${1%%=*}"; echo; }
:; CALL() { eval "$(sed 's/%\(.*\)%/$\1/g' <<< "$1")" 2>&-; }
SET /p opt=Введите цифру:
CALL :menu_%opt%Первая функция парсит команду SET выводит строку после равно, ждёт ввода и записывает значение в имя переменной, указанной слева от равно.
Вторая — заменяет CALL. В ней %variable% заменяется на $variable, выполняется подстановка переменной и получившееся имя выполняется как команда или функция «баша». Конструкция 2>&- нужна, чтобы избежать вывода ошибки в ситуации, если пользователь введёт
Теперь надо
:function_1
ECHO это якобы функция
GOTO :EOFВ «баше» то же самое могло бы выглядеть, например, так:
function_1() {
echo это функция
}Как это объединить? Я придумал следующий подход:
:; GOTO() { :; };
GOTO ;#start
:function_1 (){
ECHO. это [якобы] функция
GOTO :EOF
:; }
:;#startВ первой строке определяется пустая функция для «баша», потому что эта часть синтаксиса
Ниже идёт строка GOTO ;#start. С точки зрения «баша» тут две конструкции — GOTO, которая вызывает определённую выше пустую функцию и #start — строка комментария, так как в«баше» с «решётки» начинаются комментарии.
В «батнике» же эта же строка будет означать переход к метке с именем ;#start. Этот переход нужен нам, чтобы «обогнуть» строки, которые определены ниже, иначе cmd.exe начнёт сразу их выполнять, а нам этого не нужно. Их нельзя «спрятать» ниже основной программы, так как в «баше» функции должны определены раньше их вызова.
Что происходит дальше? С точки зрения cmd.exe ниже расположена метка :function_1 (как показывают мои эксперименты, часть после пробела просто отбрасывается), потом тело функции, команда её завершения GOTO :EOF и метка с именем :;}.
С точки зрения «баша» там определяется функция с именем :function_1, ниже идут вызовы уже определённых мною функций ECHO. и GOTO, а ещё ниже — уже знакомая нам пустая команда : и фигурная скобка, завершающая тело функции.
Соединяем всё вместе и получается следующая программа:
#!/bin/bash
:; @ECHO() { :;}; CLS() { clear; }; CHCP() { ENC="$1"; }
@ECHO off
CHCP 1251
CLS
:; GOTO() { :; };
:; ECHO.() { echo $@ | iconv -f "CP$ENC"; }; PAUSE() { read; };
:; SET() { shift; ECHO. -n "${@#*=}"; read "${1%%=*}"; }
:; CALL() { eval "$(sed 's/%\(.*\)%/$\1/g' <<< "$1")" 2>&-; }
GOTO ;#start
:menu_1 (){
ECHO. Пункт первый
GOTO :EOF
:; }
:menu_2 (){
ECHO. Пункт второй
GOTO :EOF
:; }
:;#start
SET /p opt=Введите цифру:
CALL :menu_%opt%Мой оппонент признал, что в споре я победил.
Кирпич «ПС»
Сегодня повезло — гуляли с друзьями по центру города и я углядел новое для меня клеймо «ПС» за решётчатыми воротами. Попросили проходящих мимо жильцов нас пустить, благодаря чему удалось сделать несколько достаточно чётких снимков.
Кандидатов на это клеймо в моём справочнике формально трое:
- Смирнов Пётр с заводом в Казани (учреждён в 1860, существовал по меньшей мере до 1889)
- Сушенцев Пётр с заводом в Больших Клыках (начало
20-го века) - барон Симолин Павел с целой кучей заводов в Казани и окрестностях (начало
20-го века)
Но в реальности Смирнова, скорее всего, можно вычеркнуть — у меня есть теория, но клеймение кирпича докатилось до Казани достаточно поздно. Это вроде подтверждают даты постройки домов с клеймами в Казани (но я не разбирал все постройки, конечно же). Так что предполагаю, Смирнов свою продукцию просто не клеймил.
Поскольку у барона Симолина Павла Александровича заводов было несколько, чисто статистически, клеймо, скорее всего, принадлежит ему.
Зефирный тест
Не так давно
В процессе, помимо прочих наград, использовались зефирки, отсюда и название.
Эксперимент старый и известный, я его помнил, но для чего он производился и какие выводы сделали исследователи — забыл.
Оказалось, что самый важный вывод из этих исследований — корреляция между прохождением этого теста и успехами детей, в нём участвующих, много лет спустя. Те, кто продемонстрировал способности сдерживать желание, оказались более успешны в будущем.
Получается это очень важная жизненная стратегия, раз она оказывает такое большое влияние на будущее. Если подумать, логика в этом как будто бы есть. «Зефирный тест» это ведь не только про зефирки.
Примеров можно напридумывать массу — это про не курить сейчас, чтобы не лечиться от рака потом или, например, не спать в выходные до обеда, чтобы к понедельнику не сломать режим и лучше соображать на работе.
Любопытно можно научиться или научить с этим справляться лучше, если изначально получается плохо? Где репетиторы по прохождению зефирного теста?
Матрёна Григорьевна Степанищева
Как наверное помнят некоторые мои читатели, в одно время я серьёзно занимался исследованием своих предков — рылся в архивах, заказывал выписки, рисовал дерево. Но потом поток источников стал иссякать и хотя
Я надеяться не стал, решил подождать, когда
Пока этого не случилось, но мне иногда присылают
Пару часов назад прислали документ из архива РГАДА (фонд 580, опись 1, дело 2353). Документ содержит челобитную, поданную 19 сентября 1753 года:
Всепресветлейшая державнейшая великая государыня, императрица Елисавет Петровна, самодержица Всероссииская, государыни всемилостивейшая
Бьет челом Старооскольского уезду, Заровенского Стану, села Средней Апочки аднадворец Яков Михаилов сын Жилин того ж села на жителку, вдову, драгунскую жену Матрену Григорьеву дочь Степанищеву, и на детеи ее, Ивана да на Сергея, Костентиновых детей Степанищевых, а в чем мое челобитье, тому следуют пункты
С прошлого
732-го году у вышеписанной вдовы Матрены Григорьевой дочери Степанищевой находился я, именованный, по 742 год в доме ее по найму в работниках, точию за те годы, как тогда, так и ныне, заработных денег, незнаемо для чего, не заплатила, чем меня, именованного, привела в самою бедность, за чем по отбытии, а мою от неи поныне никаким куренишкам (?) не собрался, и за тем остал плотежа подушного окладуИ как в том
742-м году от неи, вдовы Матрены Степанищевой, отшел, то за неимением у меня, имянованного, и у брата моего, аднадворца Еремы Жилина, собственного гумна, свозили к ней, Матрены, в гумне с поля своего хлеба, ржи шестьдесят копен ценою копна по одному рублю |Лист 1об|, авса тритцать копен ценою капна по сороку копеяк, всего по цене на семдесят на два рубли, и тот хлеб вышеозначенныя дети ее Матрены, Иван да Сергей Степанищевы с людьми своими, знатно, с позволения ее, перемолотили, а мне, имянованному, не знаемо для чего не возвратили жИ дабы высочайшим вашего императорского величества указом повелено было сие мое челобитье в Старооскольской Воеводской Канцелярии, приняв, записать, и вышепоказанную вдову Матрену Григорьеву дочь, и детей ее, Ивана да Сергея, Степанищевых, сыскав и по сыске в заработных деньгах, и в перемолоте поставленного в гумне ее моего хлеба, в силе вашего императорскаго величества указов произвесть суд по форме, а ежели ани, вдова и дети ее, в чем будет запиратца, то во время суда изобличать буду
Всемилостивейшая государыня, прошу вашего императорского величества о сем моем челобитье решение учинить, 1753 году сентября 20 дня, к поданию надлежит в Старооскольскую Воеводскую Канцелярию, челобития писал Лантмилицкого Старооскольского полку ротной писарь Андрей Попов
К сей челобитной Ландмилицкого Староосколького полку ротнои писарь Ларион Панин вместо аднадворца Якова Жилина по ево прошению руку приложил
Текст длинный, но существенно для меня здесь всего несколько вещей: в 1753 году около Старого Оскола жила Матрёна Григорьевна Степанищева, вдова драгуна Констентина, у которой было два сына — Иван и Сергей.
Драгун Констентин с сыном Сергеем у меня имеется — это мой прямой предок. Написавший челобитную Яков Жилин, к слову, его двоюродный брат, с которым они
Получается, документ добавляет к моему дереву три существенные вещи — 1) к сентябрю 1754 года Констентин помер, 2) его жену звали Матрёна Григорьевна, а кроме того, 3) у него был ещё один сын — Иван.
У истории, кстати, есть продолжение — за Степанищевыми прислали людей, которые дальше пишут, что Сергея они не застали, так как тот был в отлучке в Яблоновском уезде, слободе Хмелевой, для продажи хлеба, а Матрёну и Ивана привели в Старооскольскую Воеводскую Канцелярию.
Про жизнь
Плюс вчера разбил стекло на одних из своих часов, которые мне очень нравятся, плюс пёс
Часы разбил, когда помогал дочке раздеться из школы — принимал у неё вещи и не уследил. Любопытно как она внимательно наблюдала за мной в этой ситуации, я хорошо это почувствовал. Вот так, видимо, и складываются у детей паттерны поведения в стрессе. Я подавил соблазн впасть в истерику, хотя был очень раздражён. Только сказал с расстроенным лицом, что мне очень жаль, что они разбились. После этого дочка обняла меня и сказала, что ей тоже очень жаль.
В общем, хочется, чтобы рабочий день побыстрее прошёл, надо бы расслабиться.
«Халва, халва»
В который раз натыкаюсь на цитату из Дейла Корнеги, не знаю правда ли он это сказал, но приписывают ему. «Имя человека — самый сладостный и самый важный для него звук». Возможно это чаще работает, чем нет, но на мне точно нет.
Можно было бы подумать, что мне моё имя не нравится, но это не так. Имя как имя. Но когда «мастера коммуникаций» начинают вставлять его чуть ли не через каждое слово, это меня раздражает, а не радует. Видимо не очень люблю сладкое.
Спам через пуши
Как и планировал купил себе
Поскольку про «Хуавей» мало кто вспоминает, по всей видимости мало кто делает поддержку пушей для этой платформы. Так что я жил в тишине и неведении. Теперь я пытаюсь избавиться от этого шума, который в первые дни сводил меня с ума — телефон жужжал, почти не переставая. Особенно отличились «Ламода» и сервисы «Яндекса».
Ребята, вы совершенно долбанулись, нафига мне вся эта рекламная шелуха? Я лучше выключу
Бажов «За Советскую правду»
Прочитал на днях повесть Павла Бажова «За Советскую правду». Это тот самый Бажов, который написал
Вроде ничего особенного, но повествование насыщено интересными деталями. Я прочитал на одном дыхании. Странно, но этот текст местами мной понимается куда меньше, чем более ранняя проза, скажем, — 19 века. Например, вот:
Есть и другое удостоверение: на имя Кирибаева — торгового агента по закупке товаров для кооператива. Удостоверение хорошее. Напечатано на машинке. Номер, печать с двумя руками, три подписи. Только полагаться на него
все-таки нельзя. Подписи плохо сделаны. Да и мало одного удостоверения. Опыт показал.
Что за «печать с двумя руками»? Я было подумал, что у печатей того времени с боков
Или вот:
В комнате тепло. В простенках столики, накрытые вязаными скатертями. Около печи узкий, обитый клеенкой диван. Божества навешано через число. Из угла иконы повылезли в стороны и перешли в картины, тоже с божественным отливом: «Житейское море»
«Афон-гора» и т. п.»
Что за «число», через которое «навешаны» «божества»? «Божества», я думаю, — это святые, а по поводу «числа» идей у меня нет.
И таких непонятных мест много. Удивительно прям.
Двухдиапазонное ускорение сети
И вот, спустя одиннадцать лет, обнаружил в своём смартфоне похожую функцию.
Моя идея была в том, чтобы цепляться сразу к двум точкам и использовать их обе для распределения соединений. Тут, насколько я понимаю, точка одна, зато могут использоваться два диапазона — более дальнобойный и медленный на 2,4 ГГц и 5 ГГц — более скоростной, но с меньшим покрытием.
Вечный рюкзак
Год назад писал про пост в клубе «Вастрика» про неубиваемые вещи. Полезный пост, кстати, возвращался к нему иногда, пока членство в клубе не кончилось. А сегодня, провожая жену на образовательный курс, я понял, что рюкзак (на фото), который она взяла с собой, куплен мною в 2002 году, 22 года назад! Удивительно, — до сих пор выглядит, как новенький.
У меня редко так бывает, чтобы я детально помнил почему, с кем и где я купил те или иные вещи, а про этот рюкзак помню всё. Ребята из компании, в которой я тогда тусовался, пригласили в поход в Марий Эл, а у меня не было ничего подходящего, чтобы нести вещи. Поэтому я попросил своего друга помочь мне выбрать рюкзак. В итоге, мы зашли в «Ютайтед Калорз ов Бенеттон» на Баумана и купили мне этот рюкзак.
Кстати, голубой «Полярик», который на фото, куплен для спелеологического путешествия
Весна в маске
Который год спасаюсь от весенней аллергии маской. Таблетки помогают,
Рекомендую всем аллергикам, которым таблетки плохо помогают.
Кстати, я вспомнил, что во время «ковида» много рекламировали, как бы невзначай, городские маски от смога. Про защиту от «ковида» ничего не говорилось, но как будто подразумевалось. Стоили они дорого и в народ
Интересно,
Старый пляж
Ну вот и настал тот день, когда дочка принесла из школы слово «сука». Сказала, что мальчики в классе его используют и спросила что оно означает. К счастью, я пришёл к этому разговору подготовленным, поэтому спокойно сказал, что это очень грубое слово и как такового значения у него нет, — просто обзывательство. Использовать его не надо, а знать нужно.
Несколько лет назад более опытные отцы научили меня как отвечать
С тех пор я несколько раз пользовался этим советом, но до сего момента слова были помягче. Мат — впервые.
Спокойное обстоятельное объяснение не даёт ребёнку ощущения, что он нашёл
Когда я впервые услышал в зале родительской квартиры слово «сука»
«Кировки»
Очень люблю наручные часы. Помню, когда переехал в Казань из родного Лениногорска, — очень небольшого города, моим любимым развлечением стало заходить в часовые магазины, где были выставлены самые разные часы.
Я ничего не покупал, только разглядывал, — денег не было. Ходил туда долгие годы, примерно раз в неделю. Со временем часовые магазины потеряли своё очарование, но часы любить я не перестал.
Иногда себе
Недавно прикупил себе ещё одни — 1938 года, сделаные вторым московским часовым заводом. Привлекло состояние и то, что сохранился (якобы) оригинальный ремешок, не так часто это встречается. Он немного повреждён, но учитывая, что у меня достаточно тонкое запястье, не проблема его укоротить и выкинуть повреждённую часть.
Часы из своей коллекции я ношу только в тёплое время года, когда запястье не перекрыто одеждой, в остальное время надеваю электронные часы. И ежегодно возникает интересная проблема — чем старше механизм, тем громче он тикает. Поскольку сейчас громкое тиканье мало кому привычно, некоторых людей это раздражает, поэтому я стараюсь поворачивать запястье к себе, если рядом
Как вспомнить забытое слово
У всех, наверное, бывает ситуация, когда забываешь самое простой слово, иногда даже очень часто используемое? Ну вот вылетает из головы. Что вы делаете в этой ситуации? У меня есть собственный способ, который у меня придумался сам собой. Я им часто пользуюсь.
В общем, когда я забываю слово, я его представляю. Ну или представляю предмет с нужной характеристикой. А потом просто смотрю на получившуюся картинку и называю предмет или свойство.
А недавно я подумал — все ли люди делают так же? Или есть другие способы? Может быть есть люди, у которых вообще никакого способа нет? Как у вас?
Землянка и любовь к истории
Когда знакомые узнают, что мне очень нравится «трогать историю руками» — забираться в заброшки, находить на кирпичах клейма, выкапывать
Я родился в Лениногорске, где, к сожалению, со стариной было туговато. Но, как я сейчас понимаю, всё детство я старательно цеплялся за то немногое, что хоть
Например, я безумно обрадовался, когда рядом с рекой, куда я любил бегать в детстве, нашёл полуобвалившуюся землянку. Мы даже постарались откопать её с моей одноклассницей. Землянка для меня означала старину.
В реальность меня вернула мама, рассказав, что землянку устроили
За всё детство таких эпизодов было несколько — как я нашёл на деревенской свалке угольный утюг, как с восторгом рассматривал
В общей куче других моих увлечений это были немногочисленные разовые эпизоды, поэтому я их не сразу вспомнил и объединил в систему. Но теперь понимаю, что их было так мало не потому что история мне была интересна меньше, чем
Иногда любопытно пошёл бы я в айти, если бы родился в городе с историческими развалинами — Самаре или Саратове, например. Может стал бы историком?
Зелёные номера в Китае
Один из друзей сейчас в Китае, прилетел
Легко догадаться, что зелёные номера должны давать
Исторический вандализм
В прогулках по городу я всегда максимально сосредоточен на городской среде — глаза ощупывают асфальт, столбики, стены зданий и так далее. Вдруг под ногами окажется крышка столетнего люка, а на стене — дореволюционное кирпичное клеймо?
Меня все эти милые детали очень радуют, я постоянно нахожу
Иногда расширяю тематику, потому что случайно начинаю обращать внимание
В последней своей прогулке с друзьями по этому интересу, мы нашли
Как я сейчас понимаю, я их видел и раньше,
Перенос WhatsApp
Недавно перешёл со смартфона «Хуавэй» на «Сяоми» (купил Сяоми 14 Ультра). Как я уже писал, очень сильно устал от шаманства с установкой приложений на «Хуавэе», да и других проблем хватало. В общем, перешёл. Перешёл, да не совсем.
День потратил на то, чтобы сконфигурировать новый смартфон так как я привык, установить всё нужное и восстановить или ввести везде пароли. Всё прекрасно заработало, тот же «Телеграм» бодро скачал свою историю, а вот с «Вотсаппом» снова начались проблемы.
Когда несколько лет назад переходил на «Хуавэй», способ, который предлагался в тогда интернете, предполагал, что у обоих смартфонов есть сервисы «Гугла». К сожалению, на «Хуавэе» они отсутствуют, так как «Гугл» наложил на эту компанию санкции.
Пришлось перетаскивать всё вручную — я взял файлы «Вотсаппа» из хранилища одного смартфона и подложил их в нужное место на другом смартфоне.
К сожалению, на «Сяоми», кажется, придётся перейти тем же способом. Если верить интернету, «Вотсапп» придумал за прошедшее время несколько хороших способов для переноса истории, но если верить своим глазам, то ни один из них не работает.
Если не рассматривать покупку специализированных приложений, то предлагается два способа: либо привязать новое устройство как вспомогательное, либо воспользоваться функционалом переноса чатов из приложения.
Первый способ плох тем, что передаётся не вся история — там
Придётся вспоминать что я там куда подкладывал.
Добавлено: в отдельном абзаце я хочу «похвалить» гениальное приложение «HiSuite» при помощи которого приходится работать с файлами хуавэевских смартфонов. Приложение, где пункт меню «копировать» не копирует на компьютер, для этого нужно файл «экспортировать».
При этом у экспорта нет
Ещё круто, что на размер, который показывает приложение ориентироваться нельзя — файл, у которого «HiSuite» показал размер 6,9 ГБ, на диске занял 7,39. В общем, пришлось дождаться момента, пока размер файла не перестал меняться. Очень удобно.