Про рукожопие

Ехал сейчас в метро, попал на поезд в честь RT. Там прилепили на поручни вот такие макеты микрофонов, мало того, что они херово напечатаны на 3D-принтере и покрашены чуть ли не кисточкой из ведра, так еще у монтажников не нашлось подходящего крепежа и они захерачили их на болты подлиннее, да еще и с запасом — чтобы кто-нибудь точно руку пропорол.

Бесит настолько, что точно напишу и в метро, и в дептранс, и в RT, пусть ебутся!

Мемы и гигиена

Увидел сегодня сайтик, откуда в околоайтишную среду пошла лексика вроде «кабанчик» (или, со смесью страха и подобострастия — «Иван Кабаныч»), «гречневые» и прочее подобное. Про то, почему меня туда занесло — потом, а пока напишу одну недомыслишку про вот такие определения.

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

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

Широка Россия

Днем в одном чатике обсуждали фрезерные станки и общий бардак на китайском заводе, а вечером там же — матерные двустишия польских улан, чтоб всем соседям икалось!

Про микробизнес

Может ли директор ООО, который еще и является его единственным учредителем, уволить сам себя за появление на рабочем месте в состоянии опьянения (ну и по другим стыдным основаниям из пункта 6 статьи 81 ТК РФ)?

新年快乐

Так проникся печальной судьбой несчастного одинокого китайца, что купил себе в сычевальню хотпотницу и праздную Китайский Новый Год, не отходя от станка Компаса, Candle и прочего grbl.

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

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

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

Продолжим про готовку

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

Мощность у него составляет 60-70 Вт, так что о готовке речь не идет, только о разогреве чего-то готового. Второй вариант — «мини-мультиварка» объемом 0,9 л и мощностью около 600 Вт — что позволяет даже готовить «мультиварочное хрючево» — закинул мясо и овощи, долил воды, в зависимости от количества воды получается либо «суп», либо «жаркое». С другой стороны, эта «мультиварка» больше похожа на большой стакан, и разогревать что-то в ней неудобно.

Есть, конечно, мнение, что в конце концов приду к такому варианту:

— покупается «машина для завтрака 3 в 1» (так оно называлось на алиэкспрессе);
— крутилки «духовки» ампутируются, вместо них ставится контроллер термопрофиля для пайки SMD;
— чайник и верхние конфорки используются по прямому назначению, не отходя от производственной линии.

Есть ли еще какие-то предложения, как организовать «кухонный уголок» с минимумом посуды и занимаемого места?

Большая трагедия маленького электрогриля

Смотрел тут на Озоне кухонную технику с китайским уклоном, и наткнулся на прибор, который у нас обозвали «электрогрилем»:

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

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

Священные Персональные Данные

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

А все почему? Да потому, что сочетание ФИО со средним баллом — это Священные Персональные Данные, которые никогда, ни при каких условиях нельзя публиковать — а то вдруг кто-то узнает, что студент Писькин учится хорошо, а Хуйкин — не очень! Интересно будет посмотреть, что случится с публикацией дипломных работ — потому что, цитирую,

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

https://t.me/sforsecurity/1039

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

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

Надеюсь, что упомянутая здесь 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-х годов — от «Евгеники» до «Химии отравляющих веществ» (а к химии, не отходя от кассы — еще и всего необходимого для синтеза какого-нибудь иприта).