Наконец-то прижали этих мразей

BBC пишет, что в Великобритании запретили рекламу Playtrix-овских игр:

https://www.bbc.com/news/technology-54509970

Пойду менять проксик на британский.

Нам не всем пиздец

Вот [info]mbr посмотрел ролик про то, как нейросетка пишет код на питоне лучше выпускника трехмесячных экспресс-курсов, и предрекает всем программистам погибель и замену нейросеточками.

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

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

А вообще — все это немного напоминает переход к CAD-ам в проектировании микросхем. Вплоть до начала-середины 80-х это был процесс с массой ручной работы, топология рисовалась практически вручную, вручную же и проверялась — вот в этом видео Боб Супник, занимавшийся проектированием микропроцессоров в DEC, вспоминает о том, как это было организовано (на 1:28:16):

So in, sort of, the last summer that I was there, we had an army of summer students and volunteers crawl over our paper schematics, and we hand transcribed them into a netlist. And then, we used the netlist for layout verification, and it worked. It worked. Because in comparison, T11 had done its layout verification the old fashioned way, which is to print out these monster plots. And then, we all crawled all over it with colored pencils and rulers, measuring things and seeing that they went from point «A» to point «B» correctly. It took us 3 months with 12 people to verify 12,000 transistors.

https://www.computerhistory.org/collections/catalog/102738263

Примерно о том же пишет Юрий Отрохов (один из разработчиков микропроцессорного комплекта 1801/1806/1836 серии, советского одночипового PDP-11) в теме о советских микропроцессорах на ixbt-шном форуме:

Да, как помнится, была такая система с названием Кулон в которой девочки-топологини на компьютерах послойно рисовали топологию на основе заданной электрической схемы прошедшей моделирование в АСКТ. По программе ПАСС моделировали только критические по быстродействию узлы схемы даже с учётом получающихся при рисовании параметров топологии. Потом эта топология, совмещённая по слоям, разными цветами прорисовыалась на листах майларовой плёнки, которые склеивались для проверки глазками соответствия топологии электрической схеме. Т.е. ни какого автоматизированного синтеза топологии по схеме, ни автоматизированной верификации топологии на соответствие схеме тогда ещё не было.

https://forum.ixbt.com/topic.cgi?id=64:3394:1596#1596

Что же случилось ближе к началу 90-х? Мощность компьютеров позволила делать и автоматический синтез топологии, и проверку ее на соответствие схеме. По воспоминаниям Отрохова из той же темы на форуме, в начале 2000-х из попытки перевести 1806 на более современный техпроцесс, «родилась» 1836 серия — уже полностью автоматически синтезированная по схемам от 1806, безо всякого ручного труда и рисования топологии на полу.

Вопрос: что же случилось с профессией тополога? Она умерла, замененная всякими CAD-ами (хотя до сих пор умные люди оптимизируют, скажем, алгоритмы раскладки элементов в ПЛИС, пытаясь добиться еще лучшего результата — только работают они в конторах, которые делают эти самые CAD-ы). А разработка микросхем в целом? Вовсе нет, сейчас она стала проще в разы и доступна, скажем, студентам профильных ВУЗов (через программы вроде Europractice) или совсем небольшим fabless-компаниям.

А если вы боитесь, что вас заменят CAD-ом — у меня для вас, действительно, плохие новости!

Г — глобализация

Купил в немецком магазине док-станцию для китайского ноутбука Lenovo американской марки Thinkpad. На ярлычке, приклеенном на коробку, написано Europe/Korea (видимо, отличается комплектация в плане блоков питания), в приклеенном на коробку рядышком кармашке лежит гарантийный талон с надписями исключительно хангылем, а на этикетке написан еще и адрес дилера в/на Украине (что-то вроде Одесса, Малая Арнаутская, 14/88).

Ну а про EMS и Почту России я в другой раз напишу.

Про контроль версий

Кстати, если вы хотите понять, что такое контроль версий, все эти git, Subversion, Mercurial — просто зайдите на страничку

https://www.mos.ru/city/projects/covid-19/documents/

и попытайтесь из приведенных документов скомпоновать текст 12-УМ на текущий день.

КМПВ, российское законодательство будет опубликовано в вики-формате, а некоторые чиновники заменены несложными скриптами на Perl.

Егор Бугаенко, Elegant Objects/Элегантные объекты

Полистал книжку, где рассказывается, что ООП в том его изводе, которому учат немецких студентов — страшное зло, все надо делать совсем не так. Изложенные идеи красивые, правильные и даже, можно сказать, элегантные в математическом смысле — и это, конечно, мне очень понравилось. Потом взглянул на код реального проекта и загрустил.

Не читайте, если не хотите погрузиться в глубокую депрессию.

PS Впрочем, есть одно средство от депрессии — идите в embedded, пишите на голом Си, это весело и даже может сопровождаться красочными спецэффектами.

Про «профессиональные сообщества» в рунете

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

Enterprise Quality Coding

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

Короче, FizzBuzz Enterprise Edition — это не шутка, а жестокая реальность.

Supra, но не Toyota

Прекрасный рассказ о том, как перепродавцы китайского дерьма российский B-бренд электроники Supra попытался влезть в поставки оборудования на конвейер автозаводов:

Уже со слов о том, что было создано отдельное юрлицо с уставным капиталом 30000 рублей, стало очень смешно — и я не разочаровался, ребята умудрились пройти по всем возможным граблям.

Если бы ковида не было, его стоило бы выдумать

Прекрасно раскрываются многие персонажи из соцсетей. И если конспирологи («ковида не существует»), конформисты («всем надо срочно носить маски и самоизолироваться!»), юридически подкованные нонконформисты («согласно подпункту г пункта 14 статьи 88 ФЗ-666 маску можно носить хоть на затылке»), пофигисты (тут все понятно) — это уже известные паттерны поведения, то ковид выявил еще один типаж — злорадных конформистов, это те типчики, что старательно выполняют все указания по ношению масок/перчаток/анальных пробок и с мерзкой улыбочкой пишут что-то вроде «вот я выживу, а вы все — нет!», получая от этого какое-то удовольствие.

Держитесь от таких подальше — и речь идет не о полутораметровой дистанции! Лично я с некоторыми на одном поле срать не сяду.

Ну и продолжим автоспортивную тему

Тут в этом самом РСКГ случился небольшой скандальчик — нашли визитку Яроша левые медицинские справки у участников. Совет РАФ по спорту принял воистину шедевральное решение, не могу не процитировать самую мякотку:

РАФ начнет проверки медицинских справок, предъявленных в сезоне 2020 года, в том числе при получении международных лицензий РАФ и лицензий National D. При обнаружении факта использования фальшивой медицинской справки, спортсмен будет дисквалифицирован на срок один год с момента выявления. Медицинские справки спортсменов, добровольно оплативших вышеуказанную денежную пенализацию, не будут подвергаться дополнительной проверке.

http://raf.su/news/3145-vypiska-iz-protokola-8-zasedaniya-soveta-raf-po-sportu-01-oktyabrya-2020-g

По-моему, прекрасный пример логики современного российского должностного лица (ну да, РАФ формально — общественная организация, но люди везде более-менее одинаковы) — да, левые медсправки предъявлять нехорошо, но если вы добровольно-принудительно заплатите 50 тысяч рублей — так и быть, проверять не будем. Мне кажется, пора узаконить продажу индульгенций — особенно в наше ковидное время, в виде намордников с QR-кодом.

Просто текст новости

Самое острое и принципиальное противостояние в этом сезоне русских гонок — битва Lada и Subaru в классе «Супер-продакшн».
И судьба титулов решится в эти выходные на этапе в Грозном.
Сейчас в обоих зачетах впереди субаристы из нижегородской Sofit Racing Team — но отрыв от соперников минимальный.

https://www.facebook.com/story.php?story_fbid=1468058126718610&id=227694254088343

А лет двадцать назад звучало бы чистой фантастикой — и про «битву Lada и Subaru», и про этап в Грозном. До чего Путин страну довел!

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

А в результате занял второе место в Чемпионате Московской области по ралли.

IMG-20201004-WA0013

Песики-котики

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

Не смотрите эту хуйню, а лучше в наше ковидное время ездите в метро с затычками для носа, глаз и ушей.

Надо бы тоже поворчать

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

https://www.riot-os.org/

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

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

https://github.com/RIOT-OS/RIOT/commits/master/drivers/dht

С момента, когда код драйвера попал в эту помойку каталог с драйверами внешних устройств RIOT-а, и вплоть до самого недавнего времени, драйвер был абсолютно непригоден для какого-либо нормального использования. Я не шучу — с 29 мая 2015 года вплоть до 19 июля 2019 в коде драйвера присутствовал бесконечный цикл, в который мы попадали, если датчик решал заглючить или отвалиться. Ну вы представляете себе «умную теплицу» в исполнении типичного ардуинщика? Китайские датчики с алиэкспресса, гнилые провода, повышенная температура и влажность, …

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

Ну и скажите теперь, можно ли пользоваться системой, в которой четыре года (!) живет вот такой драйвер, которым попросту нельзя пользоваться (вопрос о том, можно ли пользоваться купленными на алиэкспрессе датчиками, отложим на потом)?

Прекрасный, замечательный тест

https://mel.fm/worldskills/1456237-shovel_or_code

Сомнения возникли уже на первом вопросе. С одной стороны, все эти «биоэтики» и «евангелисты генной инженерии» придуманы АСИ и упомянуты в «Атласе новых профессий». А с другой — на фоне этого всего даже астролог кажется уважаемым специалистом.

Деньги кончились

Наткнулся на статейку, где описываются три умерших инновационных проекта «Северстали»:

https://vc.ru/severstal/158831-failures

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

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

Замах на рубль, удар на копейку

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

Если к первому IoT еще можно как-то притянуть за уши, то второе — вообще к нему отношения не имеет. Заодно удивляет представление программистов о том, что на любом устройстве с какой-то network connectivity непременно должен быть Линукс. Нет, это совсем не так.