Тегеран-2023

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

Да, стоило это неприлично дорого — но блин, как же сюжет напоминает всякие «шпионские страсти»! Интересно, снимут ли фильм «Тегеран-2023»?

А вот серьезный вопрос

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

Менеджеры ресурсов: этот слой состоит из мощных функциональных модулей, реализующих стратегические задачи по управлению основными ресурсами вычислительной системы

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

Про embedded этот ваш

Случайно зашел на Synopsys OpenHub — а точнее, на страничку, посвященную операционной системе Riot, и увидел там вот такую картинку, график contributors per month, или сколько человек отправляют коммиты в этот проект:

Ого, подумал я — проект, похоже, загибается, и надо бы вовремя спрыгнуть с мертвой лошади! А какие у нас есть альтернативы? ARM mbed? После довольно впечатляющих успехов в 2018-2020 году проект по количеству участников скатился до уровня чего-то маргинального, с десятком активных участников во всем 2022 году!

Zephyr OS, при всей его накачке со стороны Linux Foundation, выглядит чуть бодрее — но и то с 2022 «контрибьюторы» начали разбегаться (да и в общем если вычеркнуть историю до 2014, то от того же Riot график станет неотличим):

Apache Mynewt и так особой популярностью не отличался, да и помер несколько раньше остальных, в 2020 году — но как пример загнувшегося проекта его привести можно:

Короче, вопрос — что случилось с «микроконтроллерными» операционными системами, почему опенсорсному embedded примерно в 2020 прикрыли краник с финансированием, и в какую сторону бежать?

Страшно не то, что мы взрослые, страшно, что взрослые — это мы

Принесли отзывы из некоего студенческого чатика, где магистры первого года обучения (4-5 курс на наши деньги) обсуждали читаемый им курс по информзащите. Текст, дословно:

если фирма нормальная у вас есть ибшники которые дадут по рукам или просто by default заблокируют небезопасные вещи, либо если их нет то ты в любом случае за это не отвечаешь и тебе похер. ну вообще, как я вижу, такой курс практической значимости для нашего будущего практически 0 несёт

До чуваков (специальность «Информационные системы и сети») еще не дошло, что это им придется быть теми самыми «ибшниками, которые дадут по рукам». Заодно конечно интересна уверенность в том, что им в будущем пригодится, а что нет.

PS Ну и особенно забавно, как эта уверенность в том, что в случае чего придет дядя-ибшник и все поправит сочетается с желанием основывать свои стартапы, например.

Автоматизированная УСН

С Нового года перешел на сабж — благо есть у меня ИП, закрывать не хочу, так как порой покупаю всякие детальки в Компэле, а эта штука кажется выгоднее, чем обычная «УСН доходы». Да, даже с учетом немного повышенной ставки, 8% вместо 6% — а почему? Дальше все прикидки будут идти исключительно для «ИП без сотрудников».

Во-первых — в АУСН нет обязательных платежей в фонды, а они составляли чуть больше 43 000 рублей. Взносы в фонды «за себя» можно было полностью зачесть «в счет уплаты УСН», но при доходе менее 700 тысяч рублей получалось, что «на налоги» уходит больше этих самых 6%.

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

При ставке налога 8% 55 тысяч мне пришлось бы заплатить при доходе как раз около 700 тысяч рублей — так что break-even point тут примерно аналогичный. А если учесть, что не ведущий деятельности ИП на АУСН вообще ничего не платит — то вроде вполне неплохая система, если статус индивидуального предпринимателя вам нужен для каких-то разовых халтурок.

Про ChatGPT этот ваш

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

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

PS Нейросетка на скрине пиздит, сложность этого алгоритма O(n*log n) или O(n²), зависит от реализации ассоциативного массива.

О кросс-платформенности

HomeAssistant, написанный на Python сервер «умного дома» — официально предлагается либо в виде образа виртуальной машины, либо в виде контейнера для docker, отличные от x86/x64 архитектуры сводятся к Raspberry Pi (с Raspbian, другие дистрибутивы не поддерживаются). Установка на «голый Linux» крайне не рекомендуется и официально приравнена к извращениям (заодно приводится какой-то ебнутый список зависимостей).

Fossil SCM, система контроля версий + вики + … (и SQLite вместе с ними), написана на C, представляет собой один-единственный исполняемый файл, компилируется под любую архитектуру — хоть Windows на x64, хоть Linux на ARM (даже кросс-компиляция для Synology DSM прокатывает), поддерживает несколько вариантов запуска в качестве веб-сервера, от standalone до разных вариантов CGI, в последнем варианте работает на любом shared-хостинге.

Не кажется ли вам, что что-то здесь неправильно?

А вот еще про гибкие (но не совсем) методологии

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

— разработка структуры БД;
— создание макета сайта;
— выбор дизайна;
— верстка и разработка;
— тестирование.

Какой там скрам, какие «гибкие методологии», когда на выходе имеем ЭТО?

Scrum без говна

Смотрю тут записи лекций с одного курса по Product Management’у, где в числе прочего лектор решил рассказать про Scrum — возможно, сознательно даже спровоцировав аудиторию, когда объявил Scrum совершенно универсальной методикой, подходящей для любой отрасли. Я уже чувствую ваше возмущение — и немудрено, я бы тоже немного прихуел. Следующим шагом было предложение применить Scrum там, где это сделать «ну никак нельзя», и аудитория предложила «а давайте сделаем по скраму ракету!»

Не знаю, было ли это домашней заготовкой, или хорошо отрепетированным экспромтом — но мое понимание Scrum перевернулось в момент, когда были произнесены слова «а product owner’ом можно было бы позвать, например, Сергея Павловича Королева, у него неплохо получалось». Короче, шуточка про «переименовываем планерки в дейлики» — это нихера не шуточка, все так и есть, если назвать всех участников Scrum своими именами — скажем, вместо product owner говорить «генеральный конструктор», а scrum master’а называть секретарем или администратором.

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

Про фантастику

Почитал тут случайно первоапрельские RFC 1994 года. То, что 28 лет назад казалось смешной шуткой:

The vast number space of the IPv9 protocol has also allowed allocation to be done in a straight forward manner. Typically, most high street commercial internet providers issue a range of 1 billion addresses to each house. The addresses are then dynamically partitioned into subnet hierarchies allowing groups of a million addresses to be allocated for each discreet unit (e.g., room/floor etc.) The allocation of sub groups then to controllers such as light switches, mains sockets and similar is then done from each pool. The allocation process is again done in a hierarchical zoned way, with each major application requesting a block of addresses from its controller. In this way the light bulb requests an address block from the light switch, the light switch in turn from the electrical system which in turn requests one from the room/floor controller. This has been found to be successful due to the enormous range of addresses available, and contention for the address space being without problems typically.

сегодня стало злоебучей реальностью, построить сеточку из раздающих друг другу блоки IP-адресов лампочек и выключателей может любой дурак.

А вот с мечтами о полетах на Марс из RFC 1607 пришлось распрощаться! Не думаю, что к сентябрю 2023 года нас ждет колонизация Солнечной Системы.

Про программистов опять

Поучаствовал в очередном мини-срачике о том, что о нас знают всякие гуглы и яндексы. Собеседник-программист отстаивал мнение, что ничего особенного они там не сохраняют, обосновывая все это богатым жизненным опытом — таким примерно:

Все данные нигде и никогда не хранятся. Чем больше ты хранишь тем меньше период. У нас на хайлоаде в прошлом месте где я работал логи забивали 2 Тб за неделю. И ротация логов была такой что дальше уже затирались старые.

Притом что тут исключительно текст и взаимодействия с мобилками. Там было всего несколько миллионов пользователей, а активных наверно тыщ 40 в день

Так вот, почему такая точка зрения, хоть и распространена, но абсолютно неправильна? Начнем хотя бы с того, что зарабатывать на программном продукте можно двумя способами — либо продавая его пользователям, либо продавая его пользователей. Первый способ понятен, наивен и в общем не особо прибылен — потому что все без исключения интернет-гиганты выросли на втором. Всякие там гуглы, фейсбуки, а в наших реалиях — пожалуй, яндекс и мейл зарабатывают в основном на том, что показывают пользователям рекламу.

Прокручивание рекламы — задача крайне интересная, без шуток. Достаточно посмотреть, например, свежие научные статьи на тему Thompson sampling, rank-1 bandits и тому подобных штук, или хотя бы на список публикаций и мест работы вот таких интересных чуваков:

https://bkveton.com/

Если уж совсем времени нет — то прочитайте хотя бы введение и раздел MovieLens Experiment вот этой статьи:

https://proceedings.mlr.press/v54/katariya17a/katariya17a.pdf

— а потом попробуйте ответить себе на вопрос, сколько может «стоить» перенос точки перегиба вот такого графика с отметки 500к хотя бы на 50к, на порядок левее:

В общем, если совсем коротко — то успех любого из интернет-гигантов зависит от того, насколько успешно он показывает рекламу в зависимость от предпочтений пользователя. А для того, чтобы эти самые предпочтения пользователя определить — может служить буквально вся его история. Хранить ее не так дорого — вот возьмем хотя бы пример выше и посмотрим, сколько стоит двухтерабайтный жесткий диск в московской рознице — недорого, можно найти меньше, чем за 5 тысяч рублей. Щедро накинем вдвое и предположим, что хранение 2 Тб логов за неделю от 40 тысяч пользователей обойдется той конторе всего в 10 тысяч рублей. Сумма смешная, и это говорит нам об одном — весь этот «хайлоад» не приносит и одного лишнего рубля в месяц с пользователя. Гуглы же, фейсбуки и яндексы, я уверен, вполне себе способны просто за счет лучшего анализа поведения пользователей этот рубль совершенно честно заработать — хотя бы за счет более «подходящей» рекламы, на которую пользователь нет-нет, а все же нажмет.

PS Проанализируйте с этой точки зрения следующее высказывание того же программиста:

Я вот в компании предложил кликхаус поднять чтобы аналитика быстрее в 5 раз считаться начала. Ну мне тонко намекнули, то что я разобрался сам это хорошо, но вот больше никто разбираться не будет. И так серверов субд уже три типа и четвертый нахер не нужен. Это притом что кост тут был только людям разобраться.

Почему «аналитика быстрее в 5 раз» никому не нужна?

А подскажите всякой жести

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

— ЦОС в диапазоне «а вот у нас красивый Матлаб и мы получим коэффициенты для фильтра Чебышева 6 порядка» до «а это убогий Cortex-M3 и мы на нем будем делать этот фильтр в целочисленной арифметике!»;
— сети Петри/communicating sequential processes/что-то еще в этом духе, зайдет к разговору про безопасность, которая safety, и всякие там IEC 61508;
— фильтр Калмана и многочастичный фильтр — «как правильно использовать 6D-акселерометр»;
— Distributed Coordination Function в IEEE 802.11 и 802.15.4 — в первом случае это уже классика, во втором — есть мелкие подлые изменения, но очень показательные в плане отличия IoT от банальщины вроде этих ваших вайфаев;

Чего бы еще найти в категории «экзотика, но полезно»?

PS По заслуживающим доверия сведениям, магистры пришли в ужас при виде выписанной на доске формулы, описывающей ПИД-регулятор.

PS/2 Да, тут есть, от чего охуеть!

Мирная страна Швеция

Университет Уппсалы, лекция по монтекарловским методам в статистике. Буквально на втором слайде — задача натурально про то, как крылатая ракета летит над цифровой моделью местности.

https://www.it.uu.se/research/systems_and_control/education/2019/smc/schedule/lecture4.pdf

Про скорость работы

Все мы ругаем государственные органы за медлительность и нерасторопность, но вот вам для сравнения три примера:

  • Минобороны: за две недели проводит мобилизацию
  • Минцифры: за выходные рисует основания для отсрочки, форму на госуслугах, налаживает какое-то взаимодействие с военными
  • Крупная аккредитованная IT-компания: за полторы недели с трудом осиливает генерацию подписанных csv-файлов, с трудом рожает инструкцию с замечательными пунктами вроде «сделайте скриншот и пришлите нашим HR» (после этого в ручном режиме делается тот самый подписанный csv)

Нельзя айтишников в армию, они поголовно тормознутые.

Кто эти люди?

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

Да, а LaTeX в сочетании с git — это вообще настолько сильное колдунство, что на гуманитарных факультетах за него могут сжечь на костре, как колдуна.

Всратое айти

Захотел поменять домашний роутер, и решив шикануть — взял Keenetic Sprinter (благо у меня на другой точке со времен первого ковидного карантина стоит Zyxel Keenetic Ultra II, и с точки зрения реализации других хотелок некоторая унификация между роутерами могла бы быть полезна).

Дальше как обычно — купил, включил, не работает — точнее, не подсоединяется WiFi для первоначальной настройки, соединение устанавливается, но сразу же разрывается. Начинаю выяснять, оказывается, что происходит это ровно с одним из ноутбуков, с самой старой же вайфайной карточкой — Intel 6200, древность еще та. Немножко подумав и прикинув, что же может мешать, отключил в настройках галочку с подписью 256-QAM — и внезапно все заработало!

Справка, разумеется, внятно описать, что такое 256-QAM, не может.

Внимание, вопрос — а как без трех лет профессионального опыта работы с WiFi (вовсе не настройки роутеров) угадать, какие из галочек тут стоит поставить, а какие не мешало бы отключить?

Вашингтонский консенсус 2.0 и Индустрия 4.0

Скоро за упоминание «индустрии 4.0» и прочих «интернетов вещей» будут давать в морду:

https://expert.ru/2022/07/21/vashingtonskiy-konsensus-20-pazl-raspadayetsya/

А также после нескольких панических абзацев про «создание единого общемирового протокола для «общения» вещей» не смог сразу прочитать вот это:

Синхронизация финансовой и цифровой инфраструктуры в едином правовом поле (TTP, TTIP и TISA) под силовом прикрытием НАТО предоставит оператору платформы ассиметричные (не преодолимые) преимущества над всеми остальными странами и участниками рынка.

— все мерещились буковки TCP/IP.

Про стартапы и санкции

Читаю тут в телеграме, а порой — в полностью охохлившихся твиторах и фейсбуках всяких там стартаперов, в феврале 2022 внезапно осознавших, что сколковские гранты больше в рот не лезут. Заодно, например, детальки Analog Devices или Nordic Semiconductor в Чип-и-Дипе теперь просто так не лежат, а всякие там Компэлы безымянным чувакам с улицы ничего не продают, так что многие из стартаперов выбрали для себя путь внезапной эмиграции куда глаза глядят.

Глядят они в самых разных направлениях, география просто шикарна — начиная от банальной Грузии (хотя она скорее в место для веселых тусовок превратилась) до Италии с Португалией. Кое-кто пытается заниматься любимым бесполезным делом, кое-кто пытается устроиться на нормальную работу — и везде сталкиваются с неожиданными подводными камнями. Нет, в португальской дыре на берегу моря нет «Резонита» с изготовлением печатных плат за два дня с доставкой DHL-ом к подъезду. Нет, в немецкой компании никого не впечатлит ваш «опыт работы» директором в сколковском стартапе, даже если вы покажете им собственноручно изготовленный макет наукоемкого прибора из ардуины и пучка проводов. Нет, в Болгарии вы не купите какие-нибудь хитрожопые детальки — просто вы даже не знаете, как они могут называться на болгарском!

Отдельно удивляет на фоне всего этого желание разорвать всякие связи с Россией — хотя для многих стартаперов это может превратиться в офигенное конкурентное преимущество! Во время собеседований вам прямым текстом говорят — нет, на работу вас взять не можем, но ваше решение очень интересное, мы были бы рады им воспользоваться? Еще не поняли намека? А ведь даже в нынешних реалиях, с укреплением рубля, все еще имеет смысл держать разработку в РФ, а продажи — в Европе. Более того, совершенно шикарные возможности открывает наличие «европейского офиса» для R&D в России — только подумайте, что таскать раз в месяц в чемодане скромную сумму в евро и обрезок ленточки с какими-нибудь хитровыебанными компонентами могут позволить себе не только лишь все из ваших сколковских конкурентов!

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

Ну и в заключение отмечу, что лучший музыкальный инструмент — это контрабас.

Про студентов

«Выпустил» двоих магистров. Ощущения довольно интересные. Кажется, я меньше волновался, защищая собственный диплом. Остался один бакалавр, но там, как мне кажется, успех гарантирован.

Нынешние первокурсники магистратуры производят странное впечатление. Мало анонимок — один из них умудрился написать курсовую с 59% «некорректных заимствований», и кажется, даже немного гордится этим — во всяком случае раньше, на ФКН ВШЭ, у него это прокатывало. Придется прочесть в чатике проповедь по правильной работе с литературой (ну и дать Умберто Эко почитать, как же без этого теперь).

Продумываю темы курсовых на будущий год, думаю, неплохо зайдет «Использование mesh-сетей в АСУНО» — в мирное время это «автоматизированная система управления наружным освещением», и там действительно всякого рода ZigBee и прочие 6LoWPAN используют, а вообще-то и для систем управления наведением и огнем это все лишним не будет :)

Изображаю сисадмина

Блин, что-то неудачный день сегодня выдался — на работе пол-дня занимался установкой убунты, дома вожусь с новым ноутбуком (установить всякое дерьмо, отключить ненужные настройки и так далее). Осталось только несвежий свитер надеть и стоптанные берцы.