From d026b3c3e20a717c7fd8aad8f5377c4fc4b90d0b Mon Sep 17 00:00:00 2001 From: Sergey Matveev Date: Tue, 9 Nov 2021 23:58:27 +0300 Subject: [PATCH] =?utf8?q?=D0=98=D0=BD=D1=82=D0=B5=D1=80=D0=B2=D1=8C=D1=8E?= =?utf8?q?=20=D1=81=20=D0=90=D0=BD=D0=B4=D1=80=D0=B5=D0=B5=D0=BC=20=D0=A1?= =?utf8?q?=D1=82=D0=BE=D0=BB=D1=8F=D1=80=D0=BE=D0=B2=D1=8B=D0=BC?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit http://stolyarov.info/misc/itbeard_interview.html https://www.youtube.com/watch?v=o111yYPqLHU Поверить что я буду смотреть почти четырёхчасовое интервью с человеком о котором почти ничего не знаю, кроме как факта написания им нескольких книг -- не поверил бы. Но это случилось. Я почти не встречал людей, даже по переписке, с которыми бы так много совпадал по не шибко нормальным особенностям. И не знаю встречал ли тех, кто давал бы прям чуть ли не байт-в-байт идентичные ответы которые бы давал и я на ряд ИТ-относящихся вопросов. Хотелось бы даже сказать что это типа я в "старости", но конечно не могу, ибо я уже не молод, а ничего так и не достиг. Он не использует смартфоны, ибо это штука которой не управляешь, а она явно заточена не для "добра" тебе. Он использует Devuan, ибо systemd (очевидно) бяка. Он не распространяет и не оставляет приватную информацию не потому что оценивает и думает как бы она могла навредить -- об этом не надо задумываться. И я аналогично отвечаю -- если *я* не знаю, то это не значит что другой тоже не будет в курсе. Просто не нужно оставлять следы. Он точно так же расплачивается только наличкой, по той же самой причине. JavaScript -- ну я годами абсолютно всё точно такие же аргументы и приводил. Извините, но заставлять *мой* компьютер выполнять произвольный код -- серьёзно? И он точно так же замечает что могло бы быть по другому, если бы проходила вереница из кучи предупреждений и аутентификации и разрешения выполнения такого кода... которое бы должно просто вырождаться в установку софта/пакета на компьютер. У него eeePC 901 на котором *все* задачи выполняются без проблем, кроме только броузера с JavaScript-ом. И из года в год нужно обновлять железо чтобы web-странички тормозили уже удовлетворительно (тормозить то будут в любом случае). Тоже помню что в институте я за 700 MHz MIPS64 ноутбуком и SAGE и LaTeX и QCad пользовался и никаких проблем. Аналогично меня обескураживают заявления что свободное/открытое ПО это не панацея от лазеек и багов -- само собой нет. Но, как и Столяров говорит, зато проприетарное/закрытое ПО это гарантия что будет всё плохо. Он аналогично тоже не понимает стриминговые музыкальные сервисы. Ну я уже вроде бы писал что это прям как-то совершенно разные способы потребления этой информации -- для меня до сих пор шок, что люди перестали (в массе) слушать альбомы. Лучше чем покупка аудио-CD, потом его копирования -- ничего не придумано. Точно такие же у нас у обоих огромные преогромные сомнения что всё это цифровое проприетарное дерьмо хоть как-то может ли называться удобным. Постоянно всё неработающее, протухающее, требующее обновлений, online-а, форсированного контроля третьими лицами -- это точно не про удобство. Он верно заметил что когда кассовый аппарат не принимает карточки, то так ли сложно человеку взять немного налички с собой? Несколько купюр точно не занимают ни объёма, ни массы не имеют. Я со стороны вижу как на работе всеми этими массовыми штуками и сервисами пользуются и... мне это всё точно не удобно, даже если не задаваться вопросом про свободное/проприетарное ПО или про компьютерную безопасность. Да и вообще: как можно слушать человека разглагольствующего про удобство, но который при этом использует email через web-сайт. А ведь сейчас масса людей которая полноценными почтовыми клиентами ни разу не пользовалась. Корпорации -- основные враги. С этим полностью согласен. Но вот там большая часть интервью уже касается его либертарианских взглядов, взгляды на свободы конечных индивидов -- тут моя дорога с ним конечно полностью расходится. Из книг всё обсуждение свелось к фантастике типа Лема, Шекли, Саймака, Лукьяненко. Всё как надо! Он тоже (ну точнее он то наверное давно, но я недавно к этому пришёл) использует такое понятие как "культура кода". И на работе упоминали что очень большая проблема в отсутствии культуры (как и кода, так и в целом подходов к разработке ПО). Он заметил, что объяснить что такое указатель в Си -- просто невыполнимая задача для тех кто не имеет опыта программирования. Ну что ж, с прошлого по этот год я осознал что действительно не понимал прежде эту концепцию. Удивлён, но в блоге про это почему то не написал -- наверное было просто стыдно. В прошлом месяце что-то писал на Perl и только только осознал (пришло озарение) что я *понимаю* почему, как и где использую всякие @{$...} конструкции с указателями и разными контекстами (скаляры, массивы). И только писав что-то хоть сколько-то серьёзное на Си у меня появилось чувство что я точно понимаю почему те или иные функции принимают именно в таком или таком виде свои аргументы (тоже вопросы указателей). Я много лет писал профессионально (за деньги, значит) на Perl, но я не понимал по сути указатели -- просто делал то так, то эдак, чтобы вроде бы нужное поведение программы достигалось. Даже не знаю как описать эти чувства, ибо я ещё в школе книгу по Си читал и всё с указателями же очевидно, но сейчас хочется сказать что не было "настоящего" понимания, настоящего чувства этой абстракции/парадигмы/whatever. У него и свой почтовый сервер и вообще он за, по сути, федеративные решения. И даже на домашней странице висит плашка о том, что с его IP-адреса спама не было, всё корректно настроено, но письма всё равно будут в "спам-ящике" Gmail.com -- аналогичная проблема и у меня, хотя даже SPF, DMARC, DKIM прописаны и используются. А ещё вбросил на тему побочных эффектов и языка Си. В его книге нашёл вот такие примеры показывающие как можно писать ужасно на Си и что за побочки: while ((*dest++ = *src++)); вот после такого, которое реально встречается на деле, Си точно точно не хочется причислять к языкам на которых бы стоило писать. Этот код куда лучше написать как (тоже из книги): while (*src) { *dst = *src; src++; dst++; }; *dst = 0; хотя лично я бы явно ещё и while (*src != NULL) написал. А ещё вот такое можно на Си: while(~wait(NULL)); Вот именно с началом писанины на Си и смотрения во всякие открытые проекты я ещё больше полюбил Go и убедился насколько же в нём продуманы мелочи. В общем, очень понравилось что есть (не совсем отщепенцы типа меня) люди, которые бы придерживались таких же взглядов на JS, web, smartphone, наличку и подобное! Хотя и кардинально с которыми расхожусь в, так сказать, политических взглядах. -- 2.48.1