Почему ваш Scrum не будет работать, и вы это никак не исправите

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

Да, Матвейчев яркими примерами показывает, «Почему американцы побеждают» (обязательно перечитайте!), но обратите внимание, что относится это к политическому консалтингу, где, во-первых, игра зачастую идет в режиме «все или ничего», а во-вторых — время существования кроссфункциональной команды строго ограничено, после выборов она будет распущена безо всяких последствий. Обычный бизнес предпочтет как-то ограничить и полномочия «продакт-менеджера» (да, это уже не совсем product owner в смысле скрама, но по части определения целей они схожи), и обложить его творчество какими-то рамками, вот хотя бы даже возьмем пример с «согласованием у юристов» — пусть даже наличие отдельного юридического отдела замедляет работу, но оно же и ограничивает «владение продуктом». С точки зрения стабильности «бизнеса» нет ничего лучше обычной функциональной структуры — может быть, укрупненной, пример с раздельными «отделом фронтендеров», «отделом бекендеров» и «отделом тестирования» — это дичь (хотя часто встречающаяся), но в целом нормально выглядит структура R&D, когда условные «технари» собраны в один или несколько отделов, а все остальные вспомогательные по отношению к этому процессу функции — в функциональных подразделениях.

Впрочем, и тут есть забавные нюансы — например, такое разделение на «тематические» подразделения и «всех остальных» в Роскомиксе выглядело примерно так: есть «тематическое подразделение», сидящее на каком-то определенном внешнем заказе или типе заказов, в этом отделе собраны формально все необходимые инженеры, конструкторы, программисты, техники, … — в общем, все технические специалисты. Если тематическому подразделению надо что-то купить — то отдел закупок один на все предприятие, надо идти на поклон туда; согласовать договор с внешним контрагентом — к юристам; отправить официальное электронное письмо — тоже процесс, требующий одобрения от соответствующего подразделения. Разумеется, компетентность «общих» для всего предприятия закупщиков или юристов была ниже плинтуса. Скажем, чтобы купить достаточно дорогой прибор, надо было самостоятельно собрать три коммерческих предложения от разных поставщиков, подготовить проекты договоров, … — то есть буквально выполнить работу отдела закупок, да еще и объяснить контрагентам, что это пока так, собираем предложения, а когда купим — хер его знает. В итоге оказывалось, что в «тематическом» подразделении есть люди, числящиеся «инженерами», но фактически занимающиеся закупками, договорной работой, или даже буквально маркетингом — от поиска клиентов до организации стендика на отраслевых мероприятиях (да-да, вот вам и полная «кроссфункциональность»). Про «теневое IT» и «серую кассу», наполняющуюся самым невыгодным для родного завода образом, думаю, не стоит даже и задумываться :)

И второе очень сложное требование к product owner’у — кроме определения product goal, цели «с точки зрения бизнеса», этот же человек должен заниматься работой с «беклогом», то есть списком задач, причем обычно крайне «узкотехническим». Фактически, нужно сочетать в одном человеке две совершенно противоположные вещи, а это встречается крайне редко. Более того — для выходца «из менеджмента» все правила скрама покажутся детской возней в песочнице, особенно — когда начнется игра в planning poker. Для выходца «из технарей» — наоборот, совершенно неподъемной окажется «управленческая» работа (которая скрыта за словами вроде communicating, буквально «донести до команды необходимость выполнить задачу»), да и по части целеполагания возникнут вопросики.

И кстати, в достаточно большой организации не поможет и внедрение Scrum’а «сверху», которое обычно происходит, когда кто-то из руководства решит прочитать что-то о «революционном методе управления проектами» — потому что противодействие возникнет и на уровне «среднего менеджмента», тех самых кандидатов в product owner’ы — потому что вместе с офигенными полномочиями на «владельца продукта» свалится и офигенная ответственность, а суть карьеры многих «управленцев» как раз и состоит в избегании любой ответственности, местами — буквально по разделу General Interference with Organizations and Production из Simple Sabotage Field Manual. В результате у всех причастных возникает желание «все поменять, ничего не меняя», и поэтому внедрение Scrum обычно сводится к следующему — открываем Scrum Guide, внимательно читаем, вычеркивая обязанности и полномочия «по существу» — а с другой стороны, уделяем параноидальное внимание «ритуалам». Нет ничего проще «внедрения Scrum» в «функциональной» команде — скажем, состоящей исключительно из тестировщиков — просто добавляем в календарь бессмысленные «дейлики» и раз в две недели — «планирование спринта» (которое сводится к определению, сколько типовых задач из Jira можно будет переложить из графы «надо сделать» в графу «сделано»).

А в следующий раз — напишу немножко про «матричную структуру» — которую, внезапно, у нас толком не понимают, и совершенно шикарный способ ее поломать :)

Мастерская инноваций

Нашел тут официальный набор фоточек к 60-летию МИЭМ, где пытаются рассказать о том, какая замечательная мастерская имеется для будущих иннноваторов:

https://60.miem.hse.ru/innovation

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

Более сложное упражнение — найдите хоть одну фотографию, от которой не хочется сделать facepalm :)

Управлять программистами легко и приятно

Спрашивал на днях юных программистов, что такое Scrum; ответы были примерно такими:

— ну это где карточки на доске…
— нет, карточки на доске — это канбан!
— тогда где в покер на время выполнения задач играют!

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

Пятак торчит

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

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

Короче, пропагандистов губит натуральная жадность, буквально уровня анекдота «а цє під помидоры!».

Про блокировки всего

Вот подумалось тут — а что, если пресловутая «борьба с VPN», которая вылилась уже в предложения отдельной тарификации зарубежного трафика для конечных пользователей — это не столько цензура, сколько попытка запихать Рунет (почти) полностью в российскую юрисдикцию? Помните, скажем, «пиринговые войны» начала-середины 2000-х, когда отдельные сайты могли совершенно «честно» (и полностью правильно с технической точки зрения) классифицировать некоторых пользователей, как зарубежных? Тогда не редкостью было, что трафик пользователя из Петербурга на расположенный в Москве сервер маршрутизировался через Финляндию и Германию.

Впрочем, нижние уровни модели OSI «национализировать» несколько проще, чем самый верхний, восьмой уровень — до недавнего времени не редкостью были сайты, зависевшие от нормальной работы какого-нибудь там AWS, или Cloudflare, или любых других иностранных сервисов — да даже разместить «статику» на какой-нибудь нерусской CDN и сейчас не считается чем-то зазорным. Так вот — а не является ли целью всех этих нововведений принуждение популярных в России сайтов к «техническому» приземлению, чтобы даже в случае полного отрубания «внешнего» интернета они могли работать? А то помните, скажем — лежит AWS, а проблемы у Сбербанка, причем игрушечные, уровня «не загружается JS и CSS на сайте»? Вот и давят с двух сторон — и на пользователей, «деньгами» — чтобы зарубежный трафик влетал в копеечку, и на сайты — зависишь от буржуинов? Тогда к тебе заходить не будут!

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

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

Нечеловеческий язык

От нехуй делать зашел на сайт Резонита, где очень сильно зазывали зарегистрироваться в новом личном кабинете. Почитал FAQ по нему и прихуел от вот таких вот описаний:

Если требуется удалить Заказчика (Клиента), откройте вкладку Пользователи в разделе Клиенты и действуйте по одному из сценариев:

Вы единственный Пользователь и админ Заказчика (Клиента).
В этом случае доступна прямая операция удаления Заказчика (Клиента).

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

У Заказчика (Клиента) несколько Пользователей, и вы не админ.
В этом случае вы можете только покинуть Заказчика (Клиента).

Мне кажется, что вот такая простыня в FAQ, предназначенном для пользователей (а может, Заказчиков/Клиентов/Админов — кто там еще упомянут?) — это просто признак профнепригодности аналитиков и/или техписателей. Нет, не имею ничего против такого подробного описания в материалах, предназначенных для «сайтостроителей», из этого получается и прекрасное описание ER-модели базы данных, и несколько user story и прочих юзкейсов — но блин, я нихуя не понял уже в первой фразе!

PS А также от нехер делать почитал их оферту и завис уже на такой фразе:

Продукция – результат выполненных работ по конструкторской документации (далее – «КД») Заказчика: печатные платы, трафареты, электронные модули. Область применения Продукции устанавливает Заказчик и у Исполнителя отсутствует возможность ознакомить Заказчика с Продукцией и ее назначением при заключении Договора.

Мне одному кажется, что в выделенной части что-то напутали?

Выкуп за невесту

Оцените красоту схемы, о которой с непередаваемой гордостью пишут на сайте УМВД по Амурской области:

Так, например, в прошлом году к нам прибыли старообрядцы — две сестры из Уругвая, воспользовались правом на получение подъемных, это около 200 тыс на каждую. Одна из девушек на территории Амурской области заключила брак и вместе с мужем переехали в Красноярский край. Перед тем, как выехать на постоянное место жительство в другой субъект, девушка написала добровольный отказ от участия в Государственной программе и возместила выплаченные ей деньги.

https://28.мвд.рф/news/item/81351311

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

Диванная экспертиза про экономику

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

— повышение зарплат в «реальном секторе» приведет к закрытию мелкого производственного бизнеса, он не выдержит конкуренции с Китаем и прочей Индией;
— среднему и крупному будет полегче, но тоже потрясет-полихорадит;
— ни о каких «25 миллионах высокотехнологичных рабочих мест» речи не идет (да и кому на них работать?);
— через это прогнозировался разгон инфляции, правда, с важным смягчающим фактором — неравенство в зарплатах несколько выравняется, условно, если в 2019 рабочий получал 50 тысяч, а программист 250 — то теперь рабочему будут платить 150, а программисту 300, цены же вырастут с тех же 50 до 150 (в мягком варианте, в злобном прогнозировался рост до 200);
— ну и за счет зачистки мелкого бизнеса прогнозировали рост безработицы (в 2024 в некоторых регионах она достигла нулевого уровня, хотя всякого рода экономисты утверждают в своих книжках, что ее целесообразно держать на некотором разумном уровне в 4-5%).

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

Во-вторых, в разделе вакансий на том же Авито за рабочие специальности категории «бери больше, кидай дальше» (какой-нибудь, условно, слесарь, «оператор ЧПУ» категории «закрепи деталь и отойди», «оператор производственной линии», то есть биоробот на конвейере, и так далее) что работодатели, что соискатели уже приблизились к «психологически важной отметке» в 100 тысяч на руки, а квалифицированным рабочим могут и 150-200 предлагать (да, с нюансами, но в доковидные времена это было бы невозможно в принципе). Программисты же на своем хабре жалуются на то, что айтишные зарплаты прекратили расти (да-да, их постоянный рост рассматривался, как что-то само собой разумеющееся), а индексации, если они где-то остались, не покрывают инфляции.

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

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

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

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

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

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

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

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

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

В ВШЭ, как бы к ней не относиться, была забавная фишка — два раза в год высчитывался и публиковался некий рейтинг студентов, упорядоченный по успеваемости, и в принципе любой заинтересованный в этом мог зайти на специальную страничку по каждой из образовательных программ (например) и посмотреть, какой у такого-то студента средний балл (ну или 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 нужна толпа дорогостоящих бездельников.

Чеклист

Иногда посматриваю на хабре творчество одного шиза под ником aabzel, в особенности нетленку под названием Hard Fault (или Вы в Самом Деле Хотите Стать Программистом Микроконтроллеров?). Похоже, что аффтар ее помаленьку дополняет, и в одной из свежих редакций появился вот такой абзац:

А если, господа, каждый день записывать темы разговоров, которые фигурируют среди современных российских инженеров за трапезой и на чаепитиях, то через полгода можно ну просто сойти с ума. Вот буквально подборка за прошлую неделю: ненависть к СССР, выпивка, питейные подвиги, телефонные мошенники, наркотики, цыгане, иудеи, церковь, рыбалка в городском пруду, гейские отношения, кормление свиней умершими людьми. Вот так…

Удивительно, что при всей любви автора к составлению всяких списков, он не оформил это в виде чеклиста с планом разговоров на неделю:

— ненависть к СССР;
— выпивка;
— питейные подвиги;
— телефонные мошенники;
— наркотики;
— цыгане;
— иудеи;
— церковь;
— рыбалка в городском пруду;
— гейские отношения;
— кормление свиней умершими людьми;
— разное.

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

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

Юридически-химический вопрос

Почему в КоАП РФ есть статья 6.13.1 «Пропаганда закиси азота», но нет статьи «Незаконное распространение пердячего газа»?

Как становятся маоистами

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

— историк, пищет что-то про Россию начала XX века (до революции), обнаруживает полное незнание работы фондового рынка, механизмов ценообразования ценных бумаг и всего такого прочего;
— «военный эксперт», в качестве важного преимущества AR перед АК упоминает, что все детали AR могут быть изготовлены буквально «в гараже», на универсальных станках низкоквалифицированными рабочими;
— программист, закончил Бауманку, но при этом с умным видом рассуждает, что все, буквально любые детали, вплоть до шарикоподшипников, в XXI должны изготавливаться исключительно на пятиосевых фрезерных станках с ЧПУ;
— опять историк, для разнообразия — занимается наполеоникой, при обсуждении российской торговли с Англией выдает, что Россия без английских товаров могла и обойтись, а российский экспорт (прежде всего лес и пенька) — опять же, «дешевый и никому особо не нужный»;
— историк, из коммунистов переметнувшийся в «националистическую» тусовку, с умным видом рассуждает про Среднюю Азию, умудряется забыть про выращивание там хлопка и проблемы с водой;
— специалист по «развитию и трансформации бизнеса», утверждает, что вот-вот у нас наступит новый технологический уклад, и от массового производства «одинаковых» товаров человечество перейдет к «уникальным и кастомизированным»;
— экс-политолог, ныне занимается организацией производства всяких полезных изделий, с умным видом рассуждает о том, как он построит Центр Коллективного Пользования с 3д-принтером для печати металлом, и на этом принтере будут делать пресс-формы для пластиковых изделий, и через это он заменит «ферму» из обычных китайских 3д-принтеров, печатающих пластиком (ход мысли может, и правильный, но дальше чувака уносит в мир фантазий);
— традиционалистов, мечтающих выселить русских из городов в деревни, где все будут заниматься фермерством, а в перерывах между фермерством — пачками рожать расово правильных русских детей, я даже считать устал.

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

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

Пострадайте и вы

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

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

Страшилка налогово-уголовного плана

Увидел вот такой примерно схематозик:

— некто скупает ОООшки-«зомби», то есть не ведущие фактической деятельности и сдающие последние несколько лет «нулевую» отчетность;
— у ОООшки меняются учредитель и генеральный директор, новый «учредитель» — аж из Чечни;
— одновременно меняются все коды ОКВЭД на набор «и по зерну, и по говну»;
— после смены директора фирма сдает скорректированную отчетность за прошлый год, согласно которой она вела бурную деятельность (налоги, естественно, с этой бурной деятельности не платятся);
— ???
— PROFIT!!!

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

Ну и да, сумма, которую «за беспокойство» получают экс-руководители фирмы, составляет что-то порядка сотни тысяч рублей. Вроде бы чуть поприличнее, чем просто «за бутылку», но учитывая, что дело пахнет уклонением от уплаты НДС в крупном размере…