Униформологии вопрос

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

Покемон номер раз (вероятно, изображает чувака из Лейб-гвардии Егерского полка):

busty-redhead-reconstruction-1

Группа покемонов номер два (для русской пехоты у них слишком черные мундиры):

busty-redhead-reconstruction-17

С праздником!

Очень оригинально решил поздравить российских программистов с государственным праздником Gitlab:

https://gitlab.com/gitlab-com/www-gitlab-com/issues/5555

Если коротко — то предложили выставить на мороз сотрудников из России и Китая — а то они могут подсмотреть какие-то секреты у некоего неназванного «customer considering using GitLab.com». Ну я думаю, перечень таких «customer considering using», ради которых Гитлаб готов делать все, что угодно — не такой большой. Если вспомнить еще и недавнюю историю с «телеметрией» для платных пользователей — то ну его нахрен, такой гитлаб?

Про Agile

Навеяно беседами (раз, два) в фейсбуке, в которых железячники и к ним примкнувшие гнобят программистов за общую инфантильность и неспособность в предсказуемые сроки выдавать работающий результат. Так вот, хоть я и зарекся писать про TU D-stadt — что взять с убогих? — но не могу пройти мимо темы того, как в немецком программистском образовании освещены методологии разработки программного обеспечения. Их обзору посвящена целая лекция в конце первого семестра «общей информатики» (где учат в основном каким-то азам Java, да и тем плохо).

Краткое содержание лекции — «водопад это плохо, много ненужного бюрократизма, чуть получше — спиральная и V-модель, но истинное «наше все» — это гибкие методологии, Agile и прочий Scrum». Под стать ей — и вопросы в итоговой экзаменационной работе — например, «назовите недостатки Waterfall model». Напомню, что лучшее средство для того, чтобы студенты усвоили какую-то непреложную истину — вынести ее на экзамен, а в такой вот форме — будьте уверены, запомнят они именно недостатки.

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

PS Да, что касается шуточек о том, что скоро курс информатики будут преподавать по материалам ebanoe.it. Уже! В Штатах в University of Massachusets Boston в рамках курса CS410 (Introduction to Software Engineering) читается лекция What to Expect from Tech Companies and their Hiring Processes — разъясняется, что такое галера, гребцы, хрюши и все такое (нет, до такого еще не дошли — но скоро, очень скоро все будет!).

Будьте вежливы

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

А вот разъясните мне

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

Ретрокомпьютинга пост

Уволок с прошлой работы первое русское издание «Архитектуры компьютера» Таненбаума («Многоуровневая организация ЭВМ», издательство «Мир», 1979 год). Для развлечения читаю руководство по архитектуре VAX. На новой работе пришлось освежить в памяти, как работать с текстовым редактором vim.

Так, а что за последние 30 лет нового придумали?

Какой классный зиндан

zindan1

zindan2

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

Корпоратив индивидуального предпринимателя

Зарегался как индивидуальный предприниматель, открыл счет в банке «Точка». Оказывается, этот банк при открытии счета дарит небольшой сувенирный набор, куда входит в том числе мерзавчик вискаря (вполне неплохого — The Irisman Founder’s Reserve). Пустячок, а приятно!

Короче, я теперь могу бухать в одиночку и называть это «корпоративом».

Про плесень и журналистов

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

Короче, поглядел я на творчество этого, так сказать, «журналиста» — это несложно:

http://digimedia.ru/author/admin/

Особо не смотрите на сайт с криво натянутым вордпрессовским шаблоном (55$, чтобы купить шаблон, нашли — а сумму чуть побольше, чтобы перевести на русский Read More… и Comments — нет) — лучше попробуйте отнести материалы сайта к какому-нибудь из жанров, перечисленных хотя бы в книжке Тертычного:

http://evartist.narod.ru/text2/01.htm

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

Чуваки, а вот кадровый вопрос

Сорян, КДПВ отношения к происходящему не имеет.

IMG_20191009_212524_102

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

Вопрос — что будет дальше и как правильно послать охуевших мудаков?

Боже, какой ужас

Джаваскриптеры и не только решают задачку:

Написать функцию, которая для заданного отсортированного массива чисел (все числа разные) выводит текстовую строку диапазонов:

getRanges([0, 1, 2, 3, 4, 7, 8, 10]); // 0-4,7-8,10
getRanges([4, 7, 10]); // 4,7,10
getRanges([2, 3, 8, 9]); // 2-3,8-9

Кто-то создает на каждый чих по объекту, кто-то собирается писать «с помощью гугла и Stackoverflow», обсуждают читаемость простынки в несколько десятков строк с нетривиальной логикой… Ребята! Неужели приведенное на хабре решение более «читаемо», чем такое (простите, но это будет plain old C), написанное за десять минут?

void printRanges( int *arr, int len ) {
    int start = arr[0];
    int prev = arr[0];
    int printed = 0;
    int i;
    for ( i = 1; i < len + 1; i++ ) {
        if ( i == len || arr[i] != prev + 1 ) {
            if ( printed ) {
                printf( "," );
            }
            if ( start == prev ) {
                printf( "%i", start );
            } else {
                printf( "%i-%i", start, prev );
            }
            printed = 1;
            if ( i < len ) {
                start = arr[i];
            }
        }
        if ( i < len ) {
            prev = arr[i];
        }
    }
    printf( "\r\n" );
}

Да, тут есть возможные улучшения - но неужели решение из поста кажется более понятным?

А вот что про гитхаб пишут

Некая мадам с гуманитарным образованием пишет про свою работу в техподдержке Github:

Летом 2014 года я пришла на собеседование в стартап-платформу для разработки продуктов с открытым кодом, офис которой находился на месте бывшей фабрики по производству сухофруктов.

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

<…>

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

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

<…>

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

https://vc.ru/life/86558-rukovoditeli-kotorye-ne-umeyut-rukovodit-yadovitaya-atmosfera-i-vygoranie-pochemu-ya-razocharovalas-v-startap-kulture

Вот прямо интересно стало, не играл ли кто в ролевую игру «Билл Клинтон и Моника Левински» в этой копии Овального кабинета.

Инсулиновая помпа по джаваскриптерски

Вместо «охуеть» следует говорить «я поражен»:

https://liamz.co/blog/im-a-cyborg-now-on-building-my-own-artificial-pancreas/ (пересказ на русском)

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

Немножко о позднесоветской микроэлектронике

Немножко угорев по советским VAX-ам, полистал книжку Б. М. Малашевича «50 лет советской микроэлектронике», где довольно подробно описана история создания микропроцессорных комплектов серий 1801 и 1839. В книжке, конечно, все написано в духе «сам себя не похвалишь — никто не похвалит» — впрочем, автор и сам прекрасно описывает эту практику:

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

Здесь речь идет о 1801 серии — которая была во всех отношениях довольно оригинальной. Малашевич, конечно, сильно сетует на то, что «оригинальную» систему команд «НЦ», изначально реализованную в этой серии, заменили системой команд PDP-11 — но он электронщик, его хлебом не корми, дай сделать что-то свое, ни с чем не совместимое — в то время как любому программисту понятно, что лучше ДВК с ОС ДЕМОС, чем с какой-то непонятной фигней :)

Впрочем, про историю ДВК и БК есть и у Малашевича, а мы сейчас пойдем чуть дальше — в 1985 году была начата ОКР «Электроника-32» по разработке процессора, совместимого с VAX (это следующая за PDP-11 архитектура процессоров фирмы DEC). Примерно одновременно с этим ГДРовские немцы срисовали выпущенный VAX микропроцессорный комплект microVAX II, и вроде бы эти микросхемы начали выпускать (а похоже — только корпусировать) в Воронеже на заводе «Процессор» под названием 1807 серии — но это совсем другая история.

1839 комплект

В «Ангстреме» срисовывать было западло, поэтому 1839 серия — полностью оригинальная. В интернете можно найти даже исходники (!) микрокода с забавными комментариями вроде «2500 И 2501 — TOЧKИ BXOДA ДЛЯ CБOEB HAYMEHKOBA И ГEPЫ». Разработка в основном была завершена в 1988 году, и по словам Малашевича «Комплект был существенно мощнее ЭВМ «micro-VAX-I» и несколько превосходил «micro-VAX-II», выпущенных примерно в то же время фирмой DEC». Здесь мы сталкиваемся как раз с описанным в процитированном выше абзаце «лукавством» — сопоставимые с К1839ВМ1 (время цикла 200 нс) microVAX (время цикла 250 нс) и microVAX II (200 нс) были выпущены в 1983 и 1985 году соответственно, а в конце 1987 вышла уже следующая серия, под названием CVAX — со временем цикла 80 или 90 нс, то есть почти в 2,5 раза более производительная. CVAX был снабжен забавной надписью прямо на чипе — американцы попытались перевести на русский фразу «CVAX: When you care enough to steal the very best» (получилось вот так: «СВАКС… Когда вы заботите (?) довольно воровать настоящий лучший»), но похоже, что адресаты ее так и не смогли оценить:

cvax

Кроме того, в момент выпуска 1839 серии «Ангстрем» с трудом осваивал двухмикронную технологию (с обычными осложнениями этого всего в виде позднесоветского раздолбайства на всех уровнях, очень рекомендую прочитать записанное социологом Белановским «производственное интервью» с рабочим «Ангстрема» — и осознать уровень творившегося там пиздеца) — а DEC вообще собственного полупроводникового производства не имел, но… Уже во время разработки первого microVAX в Штатах существовали компании по заказной разработке интегральных схем, и готовые сделать «что угодно» производители микросхем — что описано в «рекламной» статье DEC и фирмы Silicon Compilers (которая спроектировала топологию микросхемы). Intel в те же годы выпустил первые 386 процессоры с технологическими нормами 1,5 микрона. Представляете? Целое советское министерство оказывалось в догоняющем положении по отношению к одной из многих американских фирм — кроме DEC и Intel, проектированием 32-битных микропроцессоров баловались Motorola, SUN, кучка фирм поменьше — а некоторые занимались многими проектами параллельно, например, тот же Intel.

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

PS Книжку Малашевича стоит прочитать в том числе и ради «разоблачения» популярного нынче мифа о Филиппе Старосе (он же Альфред Сарант), который якобы спроектировал первый в СССР «персональный компьютер» и даже показал его Хрущеву.

Борьба с карикатурным злодеем

Вот пишут, что в попытках помешать «нехорошей» Иммиграционной и таможенной полиции США некий программист удалил свой код с гитхаба.

https://www.theverge.com/2019/9/20/20876495/github-seth-vargo-pulled-code-chef-ice-deportations-trump-administration

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

PS Кстати, полномочия этой самой Иммиграционной и таможенной полиции впечатляют: например, она обладает правом потребовать разделегирования доменных имен в зонах .com, .net и .org:

https://www.theguardian.com/technology/2011/jul/03/us-anti-piracy-extradition-prosecution