Category: история

Category was added automatically. Read all entries about "история".

Бритоголовый и С1-97

Вот это терпение

Из очередного треда со смешными картинками узнал, что Джо Байден баллотировался в президенты еще в 1988 году.

biden-1988

Запись опубликована в блоге Шуры Люберецкого. Вы можете оставлять свои комментарии там, используя свое имя пользователя из ЖЖ (вход по OpenID).

Бритоголовый и С1-97

Загадка для математиков и причастных

quotes

Я угадал Кеннеди (”Ask not what your country can do for you – ask what you can do for your country”), Никсона (”I am not a crook!”), Мартина Лютера Кинга (”I have a dream”). Остальных – ХЗ, особенно Вейдера.

Запись опубликована в блоге Шуры Люберецкого. Вы можете оставлять свои комментарии там, используя свое имя пользователя из ЖЖ (вход по OpenID).

Бритоголовый и С1-97

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

Вот [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-ом – у меня для вас, действительно, плохие новости!

Запись опубликована в блоге Шуры Люберецкого. Вы можете оставлять свои комментарии там, используя свое имя пользователя из ЖЖ (вход по OpenID).

Бритоголовый и С1-97

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

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

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

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

Запись опубликована в блоге Шуры Люберецкого. Вы можете оставлять свои комментарии там, используя свое имя пользователя из ЖЖ (вход по OpenID).

Бритоголовый и С1-97

Отвертка

Дома валяется похожая, но год, скорее 1991, с пластиковой ручкой и надписью “ц. 3 р.” :)

Запись опубликована в блоге Шуры Люберецкого. Вы можете оставлять свои комментарии там, используя свое имя пользователя из ЖЖ (вход по OpenID).

Бритоголовый и С1-97

Практическое пособие по государственным переворотам

Забавно, что те, кто орет про “организованные протесты по госдеповской методичке”, обычно имеют в виду список Джина Шарпа, в целом довольно бессмысленный – ну разве что если вы не скучающие жидомасоны в тайном мировом правительстве, тогда он может пригодиться для забавной игры – выбираете случайный пункт и устраиваете его в подопечной стране. А есть и куда более полезная книжка – “Государственный переворот: Практическое пособие” Эдуарда Люттвака:

http://publisher.usdp.ru/catalog/887.html

Крайне рекомендую диванным революционерам-любителям.

Запись опубликована в блоге Шуры Люберецкого. Вы можете оставлять свои комментарии там, используя свое имя пользователя из ЖЖ (вход по OpenID).

Бритоголовый и С1-97

Язык Си образца 70-х годов

Есть одна статейка, описывающая портирование Unix с PDP-11 на VAX (кстати, вопреки обычно озвучиваемому мнению о легкой переносимости Unix между разными архитектурами, именно продукция фирмы Digital долгое время была основной и практически единственной “платформой” для Unix):

https://www.bell-labs.com/usr/dmr/www/otherports/32v.pdf

На последней страничке приведены пожелания для доработки компилятора, очень интересны пункты 2 и 3:

Based on our experience, we strongly recommend that the C language and its compilers be enhanced so that:
<…>
2. The ’->’ operator is checked to insure that the structure element on the right is a member of a structure to which the pointer on the left may point.
3. A structure element may be declared with any name as long as the name is unique within the immediately surrounding structure. (The current requirement that a structure element name must uniquely correspond to an offset from the beginning of the structure, across all structures in a compilation, creates naming problems and frequently leads to errors of the type noted in item 2 above.)

Написанное немного непонятно для тех, кто никогда не задумывался, как структурки лежат в памяти – поэтому коротенький пример с примером двух ошибок:

struct A {
    int first;
    int second;
};

struct B {
    int first; /* Так нельзя - имена членов структур должны быть уникальны, first уже есть в struct A, см. пункт 3 */
    int second;
};

struct C {
    char c_first;
    int c_second;
};

struct C c;
c.second = 123; /* Компилятор съест и не подавится, но запишет это 123 совсем не туда, куда хотелось бы, см. пункт 2 */
/* То же самое с точки зрения современного Си: */
((struct *A) &c)->second = 123; /* Ты сам себе злобный Буратино */

При этом это поведение, странное с точки зрения “высокоуровневого” программиста и абсолютно нормальное – с точки зрения “низкоуровневой”, когда мы думаем о байтиках в памяти, использовалось в коде Unix сплошь и рядом, как подсказывает нам статья, и явно привело к немалому количеству сюрпризов при переходе с 16 бит на 32.

Запись опубликована в блоге Шуры Люберецкого. Вы можете оставлять свои комментарии там, используя свое имя пользователя из ЖЖ (вход по OpenID).

Бритоголовый и С1-97

Кстати, про кино

А что у нас вообще есть в жанре “пьеса Шекспира, перенесенная в XX век”? Навскидку:

Вне зачета (хотя пушкинские исторические произведения – явное подражание Шекспиру) – “Борис Годунов” Владимира Мирзоева, 2011.

Запись опубликована в блоге Шуры Люберецкого. Вы можете оставлять свои комментарии там, используя свое имя пользователя из ЖЖ (вход по OpenID).

Бритоголовый и С1-97

Вот это я понимаю – нестареющая классика

Разбираясь в том, откуда взялись термины master и slave, докопался до книжки The Motor Vehicle за авторством T. K. Garrett, K. Newton и W. Steeds – у меня в виде pdf есть ее 13-е, “исправленное и дополненное” издание (2001 года) – а первое, где автором был один только Kenneth Newton, вышло аж в 1929 году:

https://openlibrary.org/books/OL6746007M/The_motor_vehicle

Cудя по иллюстрациям – что-то осталось даже от того первого издания.

PS Master cylinder там встречается в описаниях тормозной системы, а вот slave cylinder почему-то попадается только в экзотических гидроусилителях рулевого управления.

Запись опубликована в блоге Шуры Люберецкого. Вы можете оставлять свои комментарии там, используя свое имя пользователя из ЖЖ (вход по OpenID).

Бритоголовый и С1-97

Сталинские методы против плоской иерархии

В одном высшем учебном заведении решили вместо обычных курсовых перейти на “проекты”, причем – что особо смешно – групповые. Ну вы представляете себе, что происходит, когда три-четыре студента, да к тому же с дерьмом в голове в виде сказок про flat hierarchy (”как в Silicon Valley!”), пытаются делать что-то вместе. Херня получается. По этому поводу дал одному из участников такой “проектной группы” несколько советов, как всех построить и заставить работать.

Но начну издалека, с описания “управленческой” структуры советского государства образца 30-х годов – она по-своему занимательна. Для начала, вооружившись Конституцией 1936 года, попробуем понять, кто мог бы по ней считаться главой государства. Так как власть у нас – советская, то в 30 статье провозглашалость, что высшим органом государственной власти является Верховный Совет СССР – этакий двухпалатный парламент, состоящий из Совета Союза (1 депутат на 300 тысяч человек населения) и Совета Национальностей (25 депутатов от каждой союзной республики, 11 депутатов от каждой автономной республики и так далее по убывающей). Нетрудно догадаться, что “совет” из тысячи с лишним человек полностью недееспособен – поэтому в 48-49 статье вводится Президиум Верховного Совета, состоящий из председателя, 11 его заместителей, секретаря и 24 членов; согласитесь, что 37 человек скорее смогут о чем-то договориться, нежели 1000. Исполнительная власть – Совет Народных Комиссаров – подотчетна Верховному Совету (точнее, его президиуму, так как сам совет – не постоянно действующий орган). Председатель Совета Народных Комиссаров, по нашим понятиям – глава правительства. В принципе, нормальная такая парламентская республика.

Так вот, где в этой системе место И. В. Сталина? А его там и нет; председатель президиума (иностранцы считали его “президентом”) – “всесоюзный староста” Михаил Иванович Калинин, председатель СНК – Вячеслав Михайлович Молотов. Сталин станет председателем СНК только в 1941 году, накануне войны. Но параллельно “государственной” системе управления, существовала еще и “партийная”, про которую в Конституции – буквально три строчки (из 126 статьи):

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

И здесь не обходится без странностей – РСДРП/РКП(б)/ВКП(б) с самого начала – партия с “внутренней демократией”, без должности “председателя партии”, но так или иначе, руководящий орган в ней образовался, хотя назывался крайне странно – вдумайтесь – “Секретариат Центрального Комитета”. С 1922 по 1934 год должность Сталина – “Генеральный секретарь”, с 1934 до 1953 года Сталин – лишь один из нескольких секретарей ЦК ВКП(б). И в 1922 году секретариат ЦК действительно занимался канцелярской и организационной работой. Думаю, “старые большевики” неоднократно потешались над тем, как горячий грузинский парень яростно изъявляет желание “порулить” секретариатом партии, то есть секретаршами и машинистками. Зря смеялись – благодаря этому уже в конце 1922 года в “Письме к съезду” Ленин пишет, что “тов. Сталин, сделавшись генсеком, сосредоточил в своих руках необъятную власть”; в том же абзаце критикуется его “чрезмерное увлечение чисто административной стороной дела”.

В чем же состояла “необъятная власть”? Плавненько “секретариат” из чисто вспомогательного, административного органа превратился в “руководящий” (хотя в конце 20-х все еще занимался организационной работой, вплоть до распределения путевок на отдых среди членов ЦК), а “генеральный секретарь” из секретаря превратился, фактически, в главу государства. Так вот, метод “генерального секретаря” прекрасно уничтожает любую “плоскую иерархию” за крайне малое время.

Что можно сделать применительно к такому вот “студенческому проекту”? Для начала – прикинуться дурачком, то бишь грузином или блондинкой. Старательно законспектировать трехчасовой треп в Zoom о судьбах проекта, выделить основные тезисы и разослать всем в качестве meeting minutes. Первый шаг сделан – особенно удачно было бы сопроводить его неким недоумением, мол, правильно ли я все понял? Остальные участники проекта решат, что вы действительно туповаты и не будут воспринимать вас всерьез.

На втором шаге – пожалуйтесь, что вот этот ежедневный/еженедельный треп отнимает массу времени и предложите заранее, перед созвоном определять обсуждаемые вопросы. Можно попытаться ввести регламент – зачитываем вопрос, каждый высказывается (не более 5 минут), формулируем решение или откладываем до следующего раза. За соблюдением регламента следите, разумеется, вы – вряд ли кто-то пожелает заниматься подобной скучной работой, а вы дурачок/грузин/блондинка, вам только это доверить и можно. Любая “бюрократия” – от “слушали … постановили” (хотя так явно палиться не надо) до похожих на веселые игры ритуалов Scrum (всякие там stand-up meeting, planning poker и так далее) вам тут на руку.

Уже к третьему-четвертому такому созвону вы будете знать о проекте больше любого другого участника, сможете формировать “повестку дня” и предъявлять другим участникам претензии за несделанную работу – то есть в бывшей плоской иерархии превратитесь в полноценного “менеджера проекта”. Как вы распорядитесь доставшейся вам необъятной властью – уже другое дело, погоны генералиссимуса вы вряд ли получите, но попробовать стоит.

Запись опубликована в блоге Шуры Люберецкого. Вы можете оставлять свои комментарии там, используя свое имя пользователя из ЖЖ (вход по OpenID).