Свежие иноагенты

Надеюсь, что упомянутая здесь MISRA не имеет никакого отношения к Motor Industry Software Reliability Association.

Писатель Ян Шенкман и микробиолог Александр Гольдфарб внесены в реестр иноагентов, сообщили в Минюсте.

В перечень также попали проекты MISRA, «Дозор в Волгограде» и медиапроект «Новая вкладка».

https://t.me/tass_agency/359093

Прогулки по Москве

Шел мимо «дома Жолтовского» на Смоленской — ну, вы знаете, что там отделка фасада асимметричная, в конце дома карниз обрывается, сам архитектор говорил про это «тема устала». Так вот, ровно в том месте, где это происходит, расчищенный тротуар превращается в снежную целину. Неизвестные дворники прекрасно дополнили творчество великого архитектора!

Вот и я думаю — откуда в жопе шоколад?

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

Long story short, но уже на третьей партии потребители обратили внимание, что в красивых фантиках завернуты не шоколадные конфетки, а самые натуральные говняшки! От претензий потребителей отбоярились тем, что сменился поставщик шоколада, а сами начали выяснять у индусов, что же такое они прислали. Преодолев языковой барьер, выяснили, что это не просто говно, а говно священных индийских коров, но если белые господа желают получить продукцию подешевле, то так и быть, можно разбавить слоновьим. Кроме того, индийский поставщик готов в неограниченных объемах поставлять упаренную коровью ссанину гомутру — и более того, даже может еще в Индии заворачивать ее в бумажки с изображением коровки!

Про Excel несколько слов

Тут недавно в одном телеграм-канальчике раскопали старые мысли интернет-пиздобола Джоэля Спольски о том, что формулами в Экселе никто не пользуется:

When we were designing Excel 5.0, the first major release to use serious activity-based planning, we only had to watch about five customers using the product before we realized that an enormous number of people just use Excel to keep lists. They are not entering any formulas or doing any calculation at all! We hadn’t even considered this before.

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

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

Возьмем достаточно несложную задачку судейства в автоспорте, причем опять же, простую как мычание дисциплину ралли-спринта. Выглядит этот любительский ралли-спринт, например, так — есть довольно компактная трасса, не замкнутая, то есть с отдельными стартом и финишем, на старте и на финише (в эконом-варианте, с хронометражом до секунд) стоят судьи с секундомерами — точнее, часами, показывающими секунды, фиксирующие время проезда участника и докладывающие по рации что-то типа «номер 14, время 12:34:56!» (ну или можно сократить до «34:56»). В будочке неподалеку от трассы сидит секретарь соревнования с ноутбуком и забивает вот эти доклады в протокол (его удобно оформить в экселе, но можно представить и другие варианты). В день соревнований выставляется две разных схемы трассы, у каждого участника есть 4-5 заездов по каждой из конфигураций, итоговым результатом является сумма наилучших времен проезда по обеим вариантам трассы. Так вот, дополним эту штуку еще одной вводной — участники хотят видеть результаты онлайн, достаточно оперативно (пока стоишь в очереди на следующий заезд, надо понять, был ли ты быстрее в этот раз или нет).

Ну в принципе, все же просто и понятно? Делаем веб-приложение, разрисовываем ER-диаграмму БД, пишем немного boilerplate на каком-нибудь Flask, рисуем две странички фронтенда — для секретаря и для участников, готово, вы великолепны! Даже сложность изменений в случае, когда к спринтам добавляется еще и слалом, где время умножается на коэффициент 3, а к докладу судьи добавляется еще один параметр — количество задетых ограничителей, каждый стоит 5 секунд, остается пока что приемлемой — «ну написать еще одну формулу в питоне и все».

В принципе, даже если заказчик придет к вам со следующей хотелкой — а давайте судить таким образом не спринты, а полноценное ралли (пусть даже и «третьей категории)! — вы с небольшими переделками (по человекомесяцу аналитика, бекендера и фронтендера) родите что-то более-менее работающее. Да, в процессе аналитик проклянет РАФ вообще и комитет ралли в частности, а особенно авторов правил, но зато разберется в нюансах вроде «как считать льготу на ВКВ, если на секторе была нейтрализация, а до этого накоплена судейская задержка». В принципе, пока еще все укладывается в модель «результаты участника определяются исключительно временем его отметки на судейских пунктах».

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

Продолжаем? Приходит к вам еще один организатор, берет вас нежненько за пуговку, и начинает рассказывать — вот знаешь, у нас часто участники путаются в порядке прохождения судейских пунктов, вот если правильная последовательность — 1-2-3-4, то что лучше? 1-2-4-3 или 1-2-4? А 4-3-1-2? Разобрав десяток примеров, пособирав из буковок слова КУПАНСКОЕ слова КУБРИНСК, КУПЯНСК и КУТАКБАШ вы, придете, конечно, к алгоритму вычисления расстояния Дамерау-Левенштейна — но вероятно, примерно в этот момент вам придется расстаться с бекендером, так как он отъедет в дурку.

Впрочем, дурка — это еще неплохо, потому что следующее предложенное изменение гарантированно сломает половину вашей логики! Один из «оргов» придумал правило вычисления результата дополнительного соревнования, если участник пропустил его старт или финиш (да, у этих извращенцев и такое бывает) — ему назначается худшее время из показанных «правильно проехавшими» плюс 900 секунд. Чувствуете, как ваша стройно выстраиваемая схема базы данных начинает ломаться?.. Где-то на этом моменте вы заорете — ДА ПИШИТЕ СВОИ ЕБАНЫЕ ФОРМУЛЫ САМИ!

А ведь как только вы предложили пользователям самостоятельно писать формулы для расчетов — то в принципе, вы изобрели половину экселя; вторую его половину вы придумаете, когда задумаетесь об удобстве ввода данных. И окончательно добью тем, что знаю минимум три экселевских таблички, которые реализуют большинство озвученных тут хотелок — причем без участия аналитика и бекендера, да-да, эти таблички нарисовали сами их активные пользователи, не прибегая к помощи «программистов». Да-да, Дамерау-Левенштейна тоже считают, на VBA, это может быть, и некоторое читерство — но не зря же его включили в Эксель?

А что же с исходной хотелкой, с онлайн-табло результатов? И такие примеры есть, опять же, с экселем. Чуваки из Мосавтослалома (собственно, откуда «несложная задачка» и возникла) поступили чудовищно просто — есть «считающая результаты» табличка (отдельная вкладка с результатами, которая смотрит ВПР-ом на вкладку с введенным протоколом), и есть кнопка, запускающая несложный скрипт на VBA — текущие результаты экспортируются в CSV и по FTP загружаются на сайт — https://mosautoslalom.ru/table/class.html — вот тут можно посмотреть, как это устроено, буквально сотня строчек тупейшего кода для красивого отображения этой csv-шки.

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

Книжек надо прикупить

Как же мне нравится раздел с print-on-demand на Озоне, можно прикупить бестселлеров 20-х годов — от «Евгеники» до «Химии отравляющих веществ» (а к химии, не отходя от кассы — еще и всего необходимого для синтеза какого-нибудь иприта).

Когда доел салатики, а бухлишко еще осталось

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

В общем, есть ПэКа с линуксом и подключенный к нему по USB десяток разных микроконтроллеров (в основном STM32 и nRF52) с отладчиками (отладчики какие попало, есть J-Link, STLink и даже CMSIS-DAP — в общем, разные); хочется удаленно прошивать их, перезагружать и может быть даже отлаживать через веб-приложение на Flask. Так исторически сложилось :), что приложенька умеет делать все это через GDB (pygdbmi или как-то так) и GDB-шные команды вроде monitor.

Так вот, «ценное техническое решение» видится таким — запускаю на этом ПэКа десяток копий openocd, постоянно работающих, с интерфейсом gdb на разных портах (3333, 3334, 3335 и так далее), возможно, с чуть разными конфигурационными файлами (для разных пар отладчик-микроконтроллер), и тем самым «сводим задачу к предыдущей». А чтобы эти openocd не перезапускать ручками всякий раз (бывает, что они падают по каким-то причинам) — хочу использовать supervisord, его в каком-то мануале по Flask рекомендовали для запуска питоновских веб-приложений, так что он там будет.

Собственно два вопроса — нормально ли держать запущенными кучку openocd, и нормально ли пользоваться supervisord?

Биография

Читал википедию, делал выписки из биографии Николая Владимировича Елизарова:

(ранняя биография неинтересна, родился в 1910, отец ушел из семьи, в 1925 отправили учиться в Москву, …)

С 1931 по 1932 год принимал участие в коллективизации сельского хозяйства в сёлах Зарайского района Московской области Большое Жоково и Большое Коровино.

В 1932 году прибыл в Свердловск, где работал на заводе «Уралмаш» в механическом цехе, в 1934 году стал редактором заводской газеты «За тяжёлое машиностроение».

Дальше много интересных событий, арест в 1937, все такое, богатая и бурная биография партийного деятеля — все выписывать долго — а заканчивается все тем, что 70-х он активно участвовал в деятельности Всемирной антикоммунистической лиги.

Очень прикольно можно там отдельные фразочки повыдирать! :)

В англовики еще можно прочитать, как он в 1942 курировал ларечников и пас проституток.

Про эскорт-услуги, массажные салоны и турецкие бани

Всегда орал от существования в ОКВЭД кода 96.09, объединяющего в себе массу разнообразных видов деятельности («прочих персональных услуг, не включенных в другие группировки»):

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

Да-да, эскорт-услуги есть в нашем ОКВЭД! Интересно, есть ли честно зарегистрированные ИПшницы с этим видом деятельности?

Так вот, как и большинство наших шизофренических классификаторов, ОКВЭД происходит от ООНовского документа, International Standard Industrial Classification of All Economic Activities (или сокращенно ISIC), и там пункт 96.09 включает массу интересных эвфемизмов, вроде Turkish baths и massage salons:

This class includes:
— activities of Turkish baths, sauna and steam baths, solariums, reducing and slendering salons, massage salons etc.
— astrological and spiritualists’ activities
— social activities such as escort services, dating services, services of marriage bureaux
— pet care services such as boarding, grooming, sitting and training pets
— genealogical organizations
— shoe shiners, porters, valet car parkers etc.
— concession operation of coin-operated personal service machines (photo booths, weighing machines, machines for checking blood pressure, coin-operated lockers etc.)

Английская версия ООНовского классификатора лежит по этой ссылке: https://unstats.un.org/unsd/classifications/Econ/Download/In%20Text/ISIC_Rev_4_publication_English.pdf

Но ведь русский — один из рабочих языков ООН, на него переводятся все важные документы, так что посмотрим — как же ООНовские переводчики перевели все это?

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

https://unstats.un.org/unsd/classifications/Econ/Download/In%20Text/ISIC_Rev_4_publication_Russian.pdf

Смысл самого интересного пункта оказался полностью потерян! Чуваки из Минэкономразвития оказались умнее дипломатов с английским из анекдота «МГИМО финишед».

Месяц: 1 Неделя: 1 День: 1

А также после изощренного самоубийства жежешечки (подробности: https://ru-news.livejournal.com/80899.html) понял, что надо начать новый год с создания канальчика в телеграме:

https://t.me/shura_luberetsky