Забыл пароль от личного кабинета налоговой. При попытке восстановления просят кодовое слово, которого я не задавал. В противном случае предлагают прийти в налоговую лично.
Зашёл в налоговую. Там э... толпа. Примерно треть хотят пароль от личного кабинета. Дистанцирование не соблюдается. Подсчитать долю людей в масках я, к сожалению, не догадался.
В первую минуту я решил всё-таки там постоять. Попробовал получить талончик, но оказалось, что экраны их терминалов не реагируют на мои кожаные перчатки, которые я снимать не хотел.
Во вторую минуту я понял, что если я тут простою третью минуту, меня точно заразят, пусть я и в маске.
Для меня два главных триггера лохотронов следующие: 1. От вас хотят денег. 2. Решение об отдаче денег надо принять срочно, иначе быть беде!
Если вы знаете ещё какие-либо очевидные триггеры, сообщите, пожалуйста.
С пунктом 1 может быть проблема, поскольку может быть неочевидно, что вы свои деньги отдаёте иным лицам. Вам может казаться, что вы переводите их между своими счетами или просто отдаёте сдачу/возвращаете ошибочный перевод.
Недавно заметил ещё один трюк, который не является явным триггером лохотрона, однако может повышать его эффективность. А именно -- мошенники рассказывают вам о методах мошенничества и предупреждают вас, что так делать не надо. А потом сразу же просят это сделать.
А второй прикол был такой. Мне периодически звонят на городской и сотовый и загробным голосом сообщают, что я имею право на бесплатную юридическую помощь. Звучит довольно крипово. Я и не знал, что это лохотрон, поскольку голос был автоматический, и я всегда бросал трубку. Потом я прочитал, что если к ним обратиться, то юридическая помощь моментально становится платной, при этом ценник накручивают очень нехило.
Недавно мне позвонили и совершенно тем же голосом сообщили немного иную информацию:
"Здравствуйте! Сообщаем вам, что в последнее время участились случаи мошенничества, навязанного под видом бесплатной юридической помощи. Мошенники берут с клиентов деньги, но услуги фактически им не оказываются. Наша организация предоставляет юридические услуги уже более десяти лет. За это время мы привлекли к уголовной ответственности 56 мошенников и вернули клиентам более 300 миллионов рублей".
<< Проблема издания долгоиграющих серий в том, что с выходом следующих томов остаётся все меньше лиц, которые их покупают. Кто-то неизбежно бросает собирать серию, а с середины покупать неинтересно.
Я слежу за русским изданием классической серии ЧН с 2014 года -- с самого начала. У меня ими заставлена уже целая полка. Первые выпуски были изданы тоненькими книжечками и имели тираж 3000. Они быстро разошлись, так что были допечатаны.
К 19-му выпуску продажи упали. Поэтому издатели чтобы сократить накладные расходы стали печатать по 10+ выпусков в одной книжке, в твёрдой обложке. Первые книжки были изданы тиражом 2000 (они включали в себя первые выпуски). И их тоже допечатали.
Но девятая, последняя книжка основной серии, имела тираж всего 1500.
Кроме основной серии есть ещё серия "Рассказы", о которой я подробнее писал тут. Второй "том" рассказов издатели хотели напечатать в 12 книгах по 250 страниц. Но продажи стали падать даже у толстых книжек. Первый том рассказов был издан тиражом 3000 (и до сих пор в наличии). Пятая книга второго тома же -- те же 1500. Поэтому издатели решили об'единять уже несколько таких "книг" в одну. В результате книг получилось восемь. Начиная с 6-й тома выходят в 2-3 раза толще. Хвала богам (и издателям), серию удалось издать полностью, причём без падения качества. Но тираж последних книг составляет всего 600 экземпляров. Для дальнейшего сокращения расходов издатели поставляют эти книги только в свой магазин, остальные читатели могут заказать по почте. Для сравнения, особо "эксклюзивный" том "черепашьи сны", содержащий в себе упоротые и никому не нужные истории, был издан тиражом 800 экземпляров.
Из-за об'единения тома получились супер-увесистыми. Когда-то издатели писали -- вооот, Черепашьи сны -- самая толстая книга, что мы издали (532 страницы). Но рассказы 6-7 содержат 570 страниц. А рассказы 8-10 -- невероятные 850 страниц. Такую книгу уже тяжело держать в руках.
Единственный недостаток -- книги настолько разной толщины некрасиво смотрятся на полке. Однако этот недостаток ничто по сравнению с тем, что серия всё-таки издана целиком на русском языке. С учётом того, что пока всё в наличии, полагаю, что число людей, собирающих полную серию, составляет примерно 400 человек.
Том 5 содержит в себе выпуски серии Tales of TMNT, vol. 2: 02, 35, 30, 19, 44, 11, 48, 65.
В этот том сгруппировали истории, тематически относящиеся к мистике. Увы, больше половины историй -- слабые.
Мне понравились: "Пантеон" (35) -- очень интересные подробности о том, кто такой на самом деле Крысиный король. Раньше он мне чудился не то положительным персонажем, не то тёмной лошадкой. Тут он показан с отрицательной стороны, хм. "Круг тьмы" (30) -- очень хорошая лавкрафтовская оккультная история. "Амулет" (44) -- немного о прошлом Караи.
Том 6 содержит в себе выпуски: 03, 04, 13, 14, 33, 40, 41, 55.
Якобы тут собраны истории с путешествием во времени, но это скорее прошлое, настигшее настоящее.
Тут всё хорошо.
"Черви безумия" (03-04) сначала кажутся ещё одним воскрешением Шреддера, но получилось всё несколько более зловеще. "Петли" (13-14) следовало бы включить в книгу Пантеон. Необычный персонаж и необычная история. Очень удивил рассказ "Лебединая песнь" (41). Кто бы мог подумать, что возлюбленная Леонардо -- это Радикал!
Том 7 содержит в себе выпуски 41, 67, 07, 15, 12 ,69, а также тетралогию Raphael: Bad moon rising.
Это всё про Шэдоу.
Bad moon rising -- цельная история, которая начинается с выпуска 07 из серии Tales, vol. 2, а потом оказывается, что у неё есть продолжение. История хорошая и запутанная, было ясно, что есть подвох, но было неясно -- в чём он.
За душу берёт история "Мрачные тени" (69). Это предпоследний выпуск всей серии. К этому моменту мы всё ещё многого не знаем о том, что происходило в прошлом -- мы видим картину будущего. И эта картина мрачная.
И именно мрачностью, драмой и жестокостью и хороша классическая серия ЧН.
-- Оплата картой у вас есть? -- Есть ко куэр-коду.
Смотрю -- там рядом с кассой карточка приклеена с надписью типа "Сбербанк -- оплати по куэр-коду!"
-- Не, по куэр-коду я не знаю, как. -- А давайте я вас научу. -- Не хочу. -- Почему? -- Там наверняка надо будет приложение поставить на смартфон. -- Да, надо будет. А почему не хотите приложение ставить? -- Слишком много всяких приложений развелось.
Чёт я не понял, отчего ко мне кассирша прицепилась. Когда настаивают на оформлении дополнительной гарантии, скидочных карт и прочей лабуды -- это понятно. А тут-то что? Расплатился наличкой.
***
Магазин был в подвале. Я попытался выйти через подсобку.
Первый сезон был интересен необычной постановкой вопроса -- влюблённые играют в интеллектуальные поддавки. К концу сезона этот градус ослабел. А второй сезон поддавков практически не содержит. Это просто милая романтическая комедия с любимыми персонажами. При этом некоторый сдвиг жанра выполнен нормально -- во втором сезоне много сильных сцен, ради которых его стоит смотреть.
Ввели нового персонажа -- девицу из комитета по этике (или как он там называется). Этой девицей я недоволен. С ней нет хороших сцен. В основном она просто врывается к остальным персонажам в неподходящие моменты для создания комического эффекта.
Удивила проблема Исигами, который, оказывается, был вовлечён в интересную историю в прошлой школе. Он... не то чтобы он был целиком прав, но действовал более-менее нормально -- и, самое главное, он был прав перед собой. Что же у него так крышу рвёт? Вообще, эта история интересная -- но не совсем по теме сериала. Персонажа, конечно, надо как-то показывать, но другие персонажи подобными скелетами похвастаться не могут. Автор показал что-то автобиографическое?
Чувак задаёт в чате мне вопросы по компьютерной игре. Я отвечаю. У него в сообщениях постоянные опечатки из-за которых смысл фраз становится непонятным. Я всё время переспрашиваю.
Потом мне надоело, я ему пишу -- слушай, у тебя очень много опечаток, тяжело читать.
После этого он стал... записывать мне голосовые сообщения. И это было бы куда ни шло, но... они оказались на украинском языке!
Несколько послушал, потом сказал, что я на работе и слушать не могу.
Эта библиотека пытается быть совместимой с т.н. "сокетами Беркли", поэтому половина функций названы по прототипам 80-х годов. А что не влезло -- по современным. Это создаёт путаницу. Тогда ещё не было методологии именования функций, в т.ч. системных, поэтому функции приёма и передачи данных называются просто recv и send. А что в программе могут быть другие функции отправки и приёма другими способами -- никого не волнует.
recv просто так не вернёт вам управление, пока не получит данные или пока не сработает таймаут. Да, у меня на приём отдельный поток, но всё равно я хочу иногда чем-нибудь ещё заниматься, а не только ждать, пока мне пришлют запрос. Как же проверить, сколько байт пришло?
А для этого есть специальный флаговый параметр, который должен быть установлен в MSG_PEEK. Тогда мы сразу получим то, что уже готово.
Функция возвращает число типа int. Оно обозначает количество принятых байт. Если нам пока ничего не пришло, сколько байт вернётся? Наверное, ноль.
Но нет. Ноль зарезервирован для случая отключения второй стороны/ошибки связи. А сколько должна вернуть функция, если ничего не пришло, в документации Microsoft не указано!
Поэтому я поставил эксперимент и обнаружил, что в случае, если данные не пришли, recv возвращает -1. Это оказалось неожиданно.
Я поставил для браузера расширение NoScript, так что у меня на сайтах все скрипты по умолчанию выключены. Если сайт хорошо знакомый, я разрешаю некоторые скрипты -- пока он не заработает приемлемо.
Мало какие сайты сейчас обходятся без ява-скрипта вовсе. И многие без скриптов работают неадекватно. Некоторые сайты так погрязли в скриптах, что приходится временно разрешать всё для этого сайта, чтобы с ним поработать. Лично меня больше всего бесит, когда одни скрипты подгружают другие. Открываешь список скриптов -- там один сайт. Разрешаешь его. В списке появляется пять других сайтов. Разрешаешь один из них -- и сайтов уже 10. Уууу!
Основное применение скриптов -- подгрузка "динамического" содержимого -- наличие товаров на складе, посты/комментарии, переключение "вкладок" и подобное. Но на днях я столкнулся с тем, что динамически подгружаются элементы сайта, которые динамическими быть не должны. А именно -- телефоны организации. С выключенными скриптами отображаются одни телефоны. А со включёнными скриптами -- другие!
Если на шиномонтаже у вас новые диски, то сначала их вообще-то должны примерить, а только потом бортировать. Но, оказывается, так делают не всегда. Удобнее быстренько надеть на диски шины, а потом сразу прикручивать.
Поэтому необходимо контролировать, что шиномонтажники действительно диски проверили на совместимость. Ибо если на диск наденут шину, вы потом этот диск в магазин обратно уже не сдадите.
Совместимость дисков вопрос не праздный. Даже если на дисках написаны все правильные циферки, диски могут не подойти. А уж если циферки неправильные -- тем более. Самый тонкий параметр -- вылет (ET). Внешне подходящее по всем параметрам колесо может из-за неправильного вылета не вставать на место.
Действительно ли большинство населения мира -- быдло, гопники и иные люди без стремлений с низким уровнем интеллекта и образования? Можно встретить такие утверждения, но сам я на таких людей натыкаюсь редко. Те, с кем я общаюсь -- умнейшие, культурнейшие и грамотнейшие люди (пусть даже и ругаются матом). А быдло-то, где оно?
В телеграме я сижу в чатах около-игровой, компьютерной и эзотерической тематики. Там все адекватные и культурные. Но вот недавно я зашёл в один чат научно-популярной тематики. И у меня появилось ощущение, что до этого я находился в сейф спейсе. Следующие реплики были сказаны разными людьми в адрес разных людей:
-- Если ты так правда думаешь, то мне тебя жаль. -- Мне некогда выводить формулы. Почитай умные книжки, может что-нибудь поймёшь. -- Неужели ты такой тупой, что не можешь понять, что ты ошибаешься? -- Даже написать фразу грамотно не можешь.
Такая необоснованная агрессия выглядит как троллинг. Но не может же быть полчата троллями?
Я уже когда-то писал об этом, но идея скрыта в глубине очень длинного поста.
1. В морозилке должен быть замороженный лёд кусочками, потому что неизвестно, когда он может пригодиться. 2. Готовый лёд имеет тенденцию испаряться, поэтому периодически надо удостоверяться, что лёд у вас всё ещё есть.
Одно время у меня был странный распорядок дня, включающий в себя два часа сна с побудкой по будильнику каждые 30 минут. Это был дополнительный сон, а не основной. Выключив будильник, я ложился спать обратно. Нужно это было, чтобы не заснуть слишком глубоко -- и посмотреть больше снов. Можно подумать, что выспаться так нельзя, но спать в таком режиме было очень приятно и эффективно.
Сейчас у меня режим сна ещё более упоротый, но речь не об этом. В один из дней меня с самого утра стали будить по работе. График побудки был примерно таким же. Я должен был ответить на какой-нибудь вопрос по телефону, потом сделать несколько кликов по удалёнке -- и я свободен на полчаса. Естественно, я ложился спать обратно. До следующего звонка.
И вот за эти 2-3 часа я совершенно не выспался. Таким образом, я сделал вывод, что на высыпаемость влияет не сам факт промежуточной побудки, а величина умственного напряжения при этом.
На работе я допросиживал штаны до такой степени, что стул сломался.
Я говорю начальнику -- нужен новый стул. Он говорит -- хорошо. Я говорю -- только вы перед покупкой мне скажите, что вы там покупать собрались.
Ну, это вообще было ошибкой. Надо было просто сразу самому стул выбрать, как я сам выбирал монитор, конфигурацию полок и т.д. Начальник, конечно, не стал со мной согласовывать модель стула.
Старый стул был у меня с тремя степенями свободы. А новый мне купили только с двумя. Он не откидывался, хотя по остальным параметрам был норм. Откидывание же для меня является важным параметром.
Сначала я с согласия коллеги взял нормальный стул у него. Он посидел на новом и попросил старый обратно.
А через какое-то я узнал, что он увольняется. И мне другие коллеги говорят -- вот, он уволится -- заберёшь его стул! Это был разумный совет.
Коллега отработал последние дни, со всем попрощался, пожали ему руку, и он ушёл. А уже через пять минут я пошёл за его стулом. Коллеги начали смеяться.
-- Что смешного? -- Ну, он только что ушёл, а ты уже стул забираешь. -- Он же не умер, не надо 40 дней ждать. -- Но стул даже ещё не остыл! -- И что?
Я вообще очень нервный. Я иногда так волнуюсь при просмотре культурных произведений, что не могу смотреть дальше. Настолько мне стыдно или страшно за персонажей.
Если ты в реальности находишься в ситуации, которая тебя волнует, то с этим ничего не сделаешь -- приходится её переживать (хотя тут возможны некоторые трюки). Если же волнуешься при просмотре, то можно поставить на паузу, что я регулярно и делаю. Это сильно увеличивает время просмотра, а многие сериалы так и застряли на середине какой-нибудь пятой серии. Это проблема, и пока я не нашёл её решения в общем виде, но придумал вот что:
1. Испанский стыд гораздо слабее, если не читать субтитры, а слушать на слух. Об'яснений этому у меня нету. Разве что часть сознания отвлекается на перевод. 2. Можно взять яйца в руки и смотреть дальше. Но это сложно. 3. Можно промотать немного вперёд, чтобы узнать, чем закончилась сцена, а потом вернуться к стыдному моменту.
Если у вас есть ещё какие-нибудь идеи, сообщите, пожалуйста.
Казусов в винапи, конечно же, множество. Я расскажу об одном контринтуитивном значении, на котором можно попасться, если невнимательно читать документацию. Но если читать -- проблем не возникнет.
Ком-порт это очень древняя вещь, но она не умрёт никогда, потому что когда нужен простой способ обмена данными -- выбор очевиден. А ещё есть виртуальный ком-порт, через который работает множество устройств. Преобразуется он потом в реальные интерфейсы серии RS-*/UART или что там ещё с ним происходит -- не имеет значения.
У ком-порта есть настройки. Если настройки на обоих концах не совпадают, то обмена данными у нас не будет. Основные настройки это скорость, число битов в байте, проверка чётности и количество стоповых битов. Что всё это означает на практике знать не нужно, надо чтобы было совпадение настроек с обоих концов. Вы можете поменять эти настройки в диспетчере устройств Windows, но это настройки по умолчанию. При запуске программы она, конечно же, должна брать нужные для работы настройки, а не умолчальные. Для этого есть функция SetCommState. Поскольку настроек у ком-порта много, она использует структуру типа DCB.
Из четырёх настроек, что я привёл выше, три используются в структуре напрямую в тех же единицах измерения. То есть, если скорость обмена 115200, то в поле BaudRate надо писать просто 115200. Если в байте шесть бит, то в поле ByteSize надо писать число шесть.
Но с числом стоповых битов дела обстоят не так. Протоколы обмена для ком-порта предусматривают три допустимых значения для числа стоповых битов: один, полтора (!) и два. Поле StopBits имеет тип BYTE. Это тип винапи, который эквивалентен unsigned char, то есть целый, беззнаковый, восьмибитный. Как же в нём сделано значение полтора? Наверное, там специальная константа.
Да, она специальная, но не только у значения полтора, но и у двух остальных.
Одному стоповому биту соответствует число... ноль. Полутора -- один. И только двум соответствует два. С одной стороны это логично -- 1, 1.5 и 2 должны быть последовательным значениями. Но с другой -- нелогично. Один стоповый бит -- это самая частая конфигурация. Но если по инерции написать .StopBits=1, то получишь шиш, а потом будешь долго разбираться, в чём причина, почему устройство не отвечает.