Рубрика: Software quality

Чума 21 века

Чума 21 века

Внимание! Если вы стали замечать у себя следующие симптомы:

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

— после установки обновлений вы уже не способны найти пункты меню там, где они всегда были. Объявив международный розыск по интернетам, выясняете, что они уехали совсем в другой край экрана, и стали подменю третьего уровня, вызываемого движением пальцем по экрану справа налево, строго от границы до середины экрана, с скоростью 5мм/сек.

— вы не получаете никаких сообщений и инструкций об изменениях и нововведениях. Поэтому каждый раз — сюрприз. Как склероз: ничего не болит, и каждый день — новости. Особенно доставляет, когда работа горит, всё срочно, гипс снимают, клиент уезжает, сейчас-сейчас, минуточку, заходите в меню… А его нет! Сюрприз! Разработчик внёс очередное изменение для улучшения, (бл.) «user experience». Экспириэнс владения русским матерным, действительно, растёт, как никогда.

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

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

Дополнительный, самый верный симптом заболевания:

— вы вдруг обнаруживаете, что дозвониться в техподдержку стало слишком просто. Объясняется это тем, что соучастие во всём описанном неискушённого юзера — основной пункт программы. Это ж главный принцип Агили — испытание юзера на прочность нервов.

В результате каждый раз вы даёте часовое интервью: — а какой у вас браузер? А обои в комнате какого цвета? А пришлите нам скриншот экрана. Спасибо. А пришлите нам ещё и видео, как это не работает. Огромное спасибо. Спасибо за сотрудничество. Всего доброго. Что? Программа всё равно не работает? Сам дурак.

Осторожно: заболевание практически неизлечимо. Проработав в заражённой Агилей среде, программист на всю жизнь остаётся профессиональным калекой и распространителем инфекции. У него снижается до нуля чувство ответственности за качество написанного кода, возникают признаки мании величия по отношению к подопытным кроликам (юзерам). Он распространяет инфекцию Агили в коллективе, с легкостью заражает не имеющих иммунитета, опыта и образования коллег и руководство, и в результате ранее годный программный продукт за год-два становится коллекцией багов, костылей и велосипедов. Потом юзеры, убившись об стену головой, начинают расползаться по конкурирующим продуктам, и проект тихо подыхает.

Клиническая картина заболевания со слов пострадавших описана верно, ими прочитана, дополнений не имеется.

З.Ы. Как она появилась на свет, чума 21 века.

По преданиям, 11 февраля 2001 года семнадцать мозголюбов собрались на лыжном курорте в горах Юты. Все они промышляли на жизнь тем, что рассказывали в разных частях страны программерам, как жить лучше. Однако что-то не ладилось, и хотя детей лейтенанта становилось всё больше, их уже начинали бить. На третий день беспробудной трапезы пришло озарение, что главное в софте — это не качество, а процесс. Надо, чтобы начальство видело, что процесс идёт, новые версии пекутся как пирожки, юзеры звонят в поддержку, с ними беседуют. Всё остальное — суета. За разработку кривого софта ещё никого не посадили, потому что законов таких нету. Словом, ну его на фиг, это качество и документирование. Количество важнее.

И так родилось письмо турецкому султану Agile Software Development Manifesto, на горе всем нам, неискушённым пользователям программного обеспечения… По преданию, один из апостолов новой веры озаботился тем, что американцы не знают, как правильно произносить слово Agile. Но ему быстро занесли в личное дело, чтобы не отсвечивал, и он успокоился. Других проблем не предвиделось.

И нетрудно догадаться, что всем понравилось. Лозунг «Ну её на фиг, эту работу» — тестировать, документировать, отслеживать изменения, — кому он не понравится? Это как небольшая кучка большевиков захватила власть в 17 году под лозунгами «землю крестьянам, фабрики — рабочим, а хрен — пользователям софта и прочим буржуям». Идея овладела массами, как и любая идея о том, что работать можно поменьше.

2. Вопрос любознательного читателя: «А это вы супротив развития или против регресса?» Ответ: Развитие не всегда означает прогресс. Всё может развиваться от плохого к худшему… Agile по сути — просто движение вперед мелкими улучшениям, Кайзен, по нашему, или НОТ. Ничего сверх того. Но на практике, в разработке софта, это 50 лет известный подход мутировал в сторону внесения изменений без должного тестирования и документирования. Так проще. Процесс идёт веселее, все (кроме юзеров) довольны, есть о чём п-ть на конференциях, в общем — дым коромыслом.

Крыса в лабиринте

Крыса в лабиринте

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

А сегодня был в шоке. После последнего (апрельского) автоматического (которое вы не можете отменить) обновления Windows 10 в списке языков на компьютере сам собой появился English (UK), то есть британский английский, в котором буковки не совпадает с надписями на клавишах. Это несколько неудобно, и поэтому попробовал его удалить. Потратил полчаса, потом решил не трахать себе мозг понапрасну и обратиться в поддержку Микрософт.

Получил полное удовлетворение. Не от того, что проблема была решена. Она решена не была. Если исключить предложение переустановить Windows заново с удалением всех данных. Для этого, сами понимаете, большого ума не надо.

Специалист поддержки Windows (по условному имени Mehra) – уж не знаю, кто — он (она,оно). Подключился к моему компьютеру и два часа упражнялся с ним. Было забавно и увлекательно наблюдать движения его мышки по экрану. Интересно, но это отлично отражает стиль мышления и даже просто знания специалиста.

За два часа сидения за компьютером и смотрения на метания мышки по экрану были сделаны интересные наблюдения. Настолько интересные, что первые двадцать минут я просто смотрел, а потом взял в руки смартфон и включил видеозапись с экрана. Записи могу выложить для просмотра заинтересованной публике. Более чем 50 минут увлекательного видео.

  1. Хаотичное, но быстрое перемещение курсора по разным пунктам меню в поиске нужного. Показывает, что у специалиста есть определённый опыт – куда надо смотреть (приблизительно), но в деталях нет достаточного оптыта, перебирает всё подряд, пока не наткнётся куда надо.
  2. Самое интересное началось на десятой примерно минуте, когда для поиска решения специалист поддержки Микрософт открыл гугл и стал искать ответ. Я чуть не упал со стула и понял, что никакой базы данных ошибок в Микрософт нет. Набирают более-менее грамотных в ИТ людей, которые хотя бы слышали слово «регистр» и бросают их в свободное плавание.
  3. Действия специалиста поддержки напоминали метание крысы в лабиринте. То есть не остановиться и подумать, а метаться по разным сайтам в интернете и пробовать все доступные варианты в надежде случайно найти выход. На скорость.
  4. Я был восхищен энергией и упорством специалиста (я бы так не смог). Смотрел и комментировал, как футбольный болельщик в 80-х. – Жми на Apply – кричал я, глядя на хаотические метания крысы по лабиринту и мышки по экрану. Но меня никто не слышал, естественно. Крыса уже сходила с ума в лабиринте и прыгала на стены и не видела проходов.
  5. В конце концов, через два часа, крыса, видимо, упала без сил от потери энергии, потому что в окне появилась надпись “Mehra disconnected…”. Я бы такой марафон метаний по лабиринту выдержал бы минут 20. И то не уверен.
  6. Естественно, проблема осталась нерешённой. Я ещё повозился сам часок для интереса, но, видимо, это такая хорошо прошитая ошибка, что её не обойти никакой ценой. Теперь тщательно прицеливаюсь, нажимая клавиши, и знаю, что символ @ достигается нажатием русской букы Э на верхнем регистре.

Мораль:

Дорогие мои, мы думали, что муравьиное будущее человечества где-то далеко, лет через 100. Ничего подобного, оно уже здесь. Если гугл сейчас отключить или вырубить весь интернет, то человечество просто вымрет. За месяц. Потому что молодые, талантливые, креативные, самые замечательные работники, которых набирает на работу Микрософт (по крайней мере, в техническую поддержку), имеют очень примитивный разум и никаких объемных знаний. Фактически, есть один рефлекс: набрать в гугл запрос, нажать на кнопки как там написано, и если нет результата, пробовать это до бесконечности. И побыстрее. Видимо, там у них ещё счётчик времени стоит.

Дополнение:

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

Где-то на полпути они встретятся — и настанет «точка нулевого баланса» —  эквивалентности сознания компьютера в своём развитии и человека в своей деградации. Место встречи изменить нельзя.

Agile она же Агиля

Agile она же Агиля

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

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

Всё это человечество уже проходило. До рождения этого хлыща.

Принцип Агили номер Один. Движение вперед путём маленьких, но частых улучшений. Ба, да это же знакомый мне с детства (столько не живут) Кайзен. Ровно таким же самым образом сам пишу свои гавнокоды — сначала попроще, потом усложняю. Понемногу, и всё время и постоянно. Ну так я и называю их соответственно — «гавнокоды». То есть сработает почти всегда. И ошибку выдадут тоже — почти всегда.

Хотя зря я на Кайзен бочку качу. Более правильный пример — письмо из Простоквашино. «Всё у нас хорошо, только лапы ломит и хвост отваливается». Если вы пишете софт для управления ракетой, то так нельзя. А если для управления чайником на кухне — сойдёт.

Принцип номер 2.  («Customer collaboration over contract negotiation«). Как говорил Балбес в «Самогонщиках»: — иди тренируйся на кошках (http://bit.ly/2Iva2V4). То есть на юзере. Выживает сильнейший. Юзер. Естественный отбор, строго по Дарвину. Написал г/к (гавнокод) — и в продакшн. Юзер завыл (или украли 100500 мильёнов из банка) — разбираемся, обновляем. Не завыл — мы молодцы! — всем по медальке.

Принцип 3. Ещё один принцип Агили мне нравится («Working software over comprehensive documentation«). Не надо документировать код по-взрослому. Надо жить здесь и сейчас. Я и сам ни фига не помню написанный мной код через полгода. Что и зачем написано. Старческий склероз. Просто баран смотрит на новые ворота. Если кому-то понадобится доработать написанный мной софт, пусть сразу застрелится. Сам бы написал лучше заново, чем пытаться понять забытое. Агиля рулит! Но я таки пишу на одну строчку кода в среднем две строки комментов. Спасает.

Принцип 4. Супер! Да расслабьтесь и живите спокойно («Responding to change over following a plan«). В дословном переводе: «лучше рефлексировать на жизнь вокруг, чем следовать плану». Пока гром не грянет, или жареный петух куда-то там не клюнет, «respond only to change» (реагируйте только на истерику юзера).

Послесловие с разъяснением.

Если кто не понял, это не только про Агилю. Это про пещерную безграмотность, которая овладела массами. Человечество стало катастрофически неэффективно — оно не изучает накопленный ранее опыт. Оно изобретает велосипеды, а проблемы решает методом костыля. Пресловутые принципы Агили — это как раз те ошибки программиста, с которыми всегда боролись, чтобы сделать надёжный продукт, который не откажет в критической ситуации и который можно ставить в ракеты, электростанции и т.д. Сегодня слишком много устройств и сервисов вокруг нас используют софт, который создаёт риски и неудобства в нашей жизни. У меня не вызывают радости ежедневные обновления софта, которые состоят в основном из заплат, срочно сляпанных для устранения выявленных ошибок, но при этом добавлена еще куча новых: http://bit.ly/1rmCG1t

 

Самая большая ошибка человечества

Самая большая ошибка человечества

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

Пока сами пользователи разрабатывали программы, естественно, они сами делали в них ошибки и сами за них расплачивались. Пролетел спутник мимо Луны из-за одной неправильно написанной строчки на Фортране – претензии предъявлять было некому, кроме как себе любимому.

Потом программное обеспечение стало товарным продуктом и его начали продавать. Но всё же, без него можно было обойтись, и поэтому те, кто покупали программы, давали своё добровольное согласие стать подопытным кроликом. За свои же деньги (как я стал им в своё время с Windows 1.0), потому что в лицензионном соглашении оговаривалось условие полного отсутствия какой-либо ответственности разработчика за ошибки в программе. Да, собственно, Windows 1.0 и не работала – это был такой фэйк (фикция) для шибко продвинутых гиков. Разводка на деньги красивой идеей.

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

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

Чуть случается нетипичная ситуация, шаг влево-вправо от инструкции – и софт начинает вытворять с техникой нечто такое, что даже перевод в режим ручного управления уже не поможет. Вот скажите, отказ одного из двух датчиков должен привести к падению самолёта? А ведь это реальность. Программа не рассчитывала на такой поворот событий и стала выдавать пилотам совершенно дикие показания приборов. (В обтекаемых фразах, отредактированных отделом PR, это будет звучать примерно так: «вводящие в заблуждение сигналы включающегося и выключающегося предупреждения о сваливании, противоречащие реальному пространственному положению самолёта, могли стать факторами, значительно затруднившими анализ ситуации экипажем»).

Да те же банковские программы – сколько раз в месяц вы видите предложение срочно обновить приложение из-за «обнаружения критической уязвимости»? Как правило, «критическая уязвимость» есть результат применения Agile (http://bit.ly/2jI4GMJ) и выявляется после того, как со счетов клиентов были украдены сотни миллионов денег.

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

Естественно, как и всегда, отсутствие ответственности за чужие потери стимулирует к сокращению затрат на тестирование и разработку методик обеспечения надёжности программ. Майерс с его фундаментальной книгой «Надёжность программного обеспечения» забыт намертво.

И сейчас мы подошли к той критической черте, когда вся наша жизнь определяется софтом, в котором количество ошибок увеличивается с каждым годом геометрически, и критичность сфер применения ПО — тоже. (http://bit.ly/2i9Gd3a)

Так вот, сдаётся мне, джентльмены: пока государства не введут законы об ответственности разработчиков за потери пользователей программ от разгильдяйства разработчиков (хотя бы для критических предложений), самой главной опасностью для нашего с вами существования будут ошибки ПО. Вы уверены, что завтра из-за ошибки в программе в вас не полетит весь арсенал ядерных ракет США или России? Мы все со страшной скоростью влетаем в жизнь, которой управляют программы, разработанные полоумными говнокодерами.

З.Ы.

1. http://bit.ly/2qaqD9P

2. http://bit.ly/1UkOCfB

3. Только для гурманов: http://govnokod.ru

Новая вера или из жизни муравьёв

Новая вера или из жизни муравьёв

     Когда Генри Форд изобрел конвейер (хотя это не он его изобрел), это привело к прорыву в производительности труда. Машины по цене стали доступны для рядового потребителя (средний класс). Оборотная сторона медали: каждый из работников конвейера умел закручивать одну только гайку и выполнять только одну элементарную операцию. Он не представлял себе, как работает автомобиль, из каких частей он состоит и как они между собой взаимодействуют. Сегодня человек становится всё более специализированным существом. Высоко оптимизированным для одной единственной операции. Хорошо это или плохо? Говорят, что для решения проблемы нужно уметь увидеть её с целиком (helicopter view). Способны ли даже тысяча таких рабочих конвейера, собравшись вместе, объединённые сколь угодно эффективной системой коммуникаций, увидеть «автомобиль» целиком, а не как набор определённым образом соединённых деталей? Думаю, что нет. Для этого нужны не только знания, что с чем соединять, куда что прикручивать, но также знания механики, физики, математики, эргономики и других чуждых для них знаний.

Пример, конечно, утрированный. Но на полном серьёзе периодически встречаются высказывания, что «наша программа не имеет алгоритма, она работает по принципам искусственного интеллекта». Что такое искусственный интеллект, и то, что он основан на тех же самых алгоритмах, мало кто понимает. Как и то, что алгоритмы пишут программисты, которые имеют свойство ошибаться. Как и все другие люди. Те, кто писал когда либо программы, знают, что ошибка может оставаться необнаруженной долгие годы, особенно, если нет возможности независимой проверки решений, выдаваемых программой. Предположим, вы купили программу, которая анализирует резюме кандидатов и отправляет в помойку те из них, которые не отвечают заданным вами критериям. Вы свято верите в то, что программа действительно анализирует на соответствие вашим критериям и никак иначе. Скорее всего, это не так, если у вас нет другой, независимо разработанной программы, которая делает то же самое – чтобы сравнить результаты. А у вас её нет, а если бы и была, то вы вряд ли сможете проверить, как она работает во всех режимах. Например, она может прекрасно отбирать по трём критериям, а на четвертый реагировать только в том случае, если термин написан большими буквами.

Это типичная проблема SAP  и других подобных систем.  Пользователь хочет одно, консультант понял кое-что и запрограммировал другое, в результате после 10 неудачных попыток создания разных форм отчётов конечный пользователь оставляет всякую надежду и начинает по-тихой вести табличку в Экселе. Наблюдал это неоднократно, проводя аудиты. И это хорошо, если пользователь обнаруживает ошибку ручным подсчётом, а во многих случаях ошибка остаётся незамеченной. Я встречал даже случаи умышленного мошенничества, в которых SAP использовался как инструмент манипуляций с финансовой отчетностью. А что – идеальное преступление: мало кто понимает, как делаются эти отчёты, да и в случае чего «ошибку» можно списать на дурака-консультанта.

В науке есть такой критерий: если теорию нельзя проверить или представить себе некий эксперимент, который мог бы её опровергнуть, то эта теория считается ненаучной. В неё можно только верить. Или не верить. Как в бога или НЛО. Так вот, мы вступили в принципиально новую эпоху существования человека. Это эпоха веры не в бога, а в безгрешность решений, принимаемых информационными системами. И зависимости от них. Проверить, правильно ли работает программная система резервирования билетов, расчёта прибыли или отсеивания кандидатов мы не можем – значит, остаётся только свято верить в безгрешность систем, принимающих решение об отказе в выдаче вам визы или запуске ракет.

Мы вступили в эпоху, когда компьютеры управляют людьми без права обжалования или аппеляции…

ЗЫ:

1. Человек имеет два варианта в отношении любого нового явления: либо найти ему объяснение исходя из законов природы и логики и научиться им управлять; либо просто придумать непроверяемое объяснение и поверить в него. Во втором случае существует больше вариантов для манипуляции массами — потому что придумать можно всё, что угодно. Например: «Наша биллинговая программа показала, что вы израсходовали за час 6 Гб». «Но я  вообще не включал телефон!» «Ничего не знаем, наша программа не ошибается» — такой диалог у меня был реальности с одним сотовым оператором на букву М.

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

И вот оно — прилетело как доказательство (13.07.2016): «Зарегистрировался очень давно на Superjob в качестве работодателя, аккаунтом не пользовался много лет. Сегодня получил на почту такое письмо: «Вам нужен HR-bot? Закажите его разработку Superjob! Чат-бот от Superjob уже подбирает сотрудников «Связному» в Telegram: в день @Svyaznoyhrbot проводит сотни собеседований и получает десятки контактов. HR-бот не просто задает кандидату вопросы, подготовленные при помощи его будущих руководителей, но и дает обратную связь. Срок разработки и запуска бота после согласования технического задания — 7 рабочих дней.»

И ещё — (19.08.16): «Почта-банку потребуется автоматизация как массового найма, так и профессионального. Это будет достигаться за счет перевода традиционных этапов найма в онлайн-формат. Так, система Skillaz будет использовать автоматическую оценку и сбор резюме с открытого рынка, диалоговые тренажеры, тесты с автоматической оценкой кандидата на психологические и профессиональные навыки, видео- и аудиоинтервью»
(http://www.kommersant.ru/doc/3066680).

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

4. Есть еще одна беда: раньше было принято информировать пользователей об изменениях в программном обеспечении. Типа, вот теперь вы должны делать это так и так. Фильмики снимали, как освоить новизну. На трубе размещали. Ссылочки давали. Вот жисть была! А теперь Вы чувствуете себя как лабораторная мышь — и фактически ею являетесь. Вас никто не спрашивает. Обновления загружаются автоматически, программа начинает работать по-другому. Ваша мышиная задача — найти выход в лабиринте костылей и велосипедов и не сдохнуть от эксперимента внедрения Agile. Впрочем, потери мышки никто не заметит. Вот когда они начнут дохнуть тыщями… хотя и тогда вряд ли что-то произойдет. Ну, закроется один сайт, начнет работать другой. Программеры перетекут туда и будут творить, творить…

5.  Лет эдак 40-50 назад мы знали не меньше, чем сейчас, если считать объем информации. Да, не было мобильных телефонов, интернетов, а телевизор никто не смотрел по причине того, что смотреть там было нечего. Вместо интернета было издательство «Мир», книги которого надо было заказывать на почте по каталогу и ждать целый год. Но стоили они 1-2 рубля и на зарплату рядового инженера их можно было купить штук 100. Сейчас рядовой инженер для этого должен зарабатывать тысяч триста в месяц. Да он, может, столько и зарабатывает, беда только в том, что инженеров не осталось.

А тогда мы знали, как устроен карбюратор и радиоприёмник, и сами чинили всё, что нас окружало. То есть буквально всё. Весь мир вокруг был понятен и управляем, хотя и не простирался дальше соседней улицы. Сегодня мы можем открыть капот своего авто, глубокомысленно посмотреть на нечто и закрыть. Дай бог знать, куда бензин в неё заливать. Мы знаем очень много — но ни о чём. Телевизор работает потому, что на пульте нажимаем кнопки. Машина едет потому, что нажимаем на педаль — да скоро и этого не нужно будет. Наступает эра невыносимой легкости бытия…

6. Похоже, что развитие телекоммуникаций несовместимо с развитием разума. Поиск в Гугл заменяет нам учебники и годы труда на их изучение — стоит только набрать запрос. Правда, проверить правильность результата поиска никак не получится. Не всегда получится и понять смысл ответа. Но ведь это неважно. Вот и учёные обнаружили: развитие коллективного разума чревато сокращением интеллектуальных способностей у отдельно взятого индивида. Нейронные структуры, отвечающие за обучение, память и восприятие, у ос, живущих в одиночестве развиты намного сильнее, чем у тех, что проживали малыми группами или в сложных колониях. В последнем случае, осы и овсе оказывались намного «глупее» своих собратьев-одиночек. http://www.ecobyt.ru/news/3481/

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

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

7. «Да, обезьяньи высказывания просты — обычно в них от двух до пяти слов, — а словарный запас небогат. Самые продвинутые активно используют 400–500 слов, хотя понимают гораздо больше (впрочем, в пиджин-инглише всего около 600самостоятельных, несоставных слов — и это полноценный человеческий язык, на котором выходят газеты и вещают радиостанции).»(http://bit.ly/29W8Pa3). Мне тут вспомнилась статья о результатах последних вступительных экзаменов в МГУ? http://bit.ly/29JPb4f

8. А вообще искусственный интеллект отличается от натурального точно так же, как надувная женщина отличается от настоящей:)

Ковбои на костылях

Ковбои на костылях

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

Да, мы все знаем, что одобрямс Минздрава стоит некую сумму, права пилотов продаются за некую другую сумму, а купить независимого аудитора можно за третью. Для очень независимого аудитора из большой четверки это дороже, для маленькой, но гордой аудиторской фирмочки – дешевле. Всё это понятно. Но сейчас речь не об этом.

Существует огромная сфера деятельности, от которой каждый из нас зависит ежедневно, полностью и бесповоротно, но в которой нет никаких, даже призрачных гарантий того, что вы получаете безопасный и соответствующий заявленным характеристикам продукт. Это – программное обеспечение. То, что с ним происходит, можно описать словами “Дикий запад”. Или “Полная ж..а”. Кому что нравится.

Доски объявлений хэдхантеров заполнены объявлениями типа: “Срочно нужен программист, умеющий разбираться в чужом коде”. Честно говоря, я бы поостерегся пользоваться программой, разработанной такой фирмой. Сам пишу код помаленьку, до сих пор, по служебной необходимости, для себя; в прошлой жизни занимался качеством программного обеспечения и понимаю: это уже конец, если не сказать хуже. Это означает, что прежний программист встал и ушёл, документации на код никакой нет, проект горит – будем вставлять костыли. А через месяц ЗБС-банк радостно сообщает: “Мы разработали новое онлайн приложение для Андроид!” И в этот момент как-то не по себе становится. А вот и последние новости подоспели: “Неизвестные хакеры взломали счета 100000 пользователей ЗБС-банка. Украдены стопятьсот миллионов рублей”.

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

Я вот седьмой год сражаюсь с агрегатом фирмы IVT, который вроде бы предназначен для геотермального отопления моего дома. Это такой у меня личный майн кампф. Борьба идёт явно не в мою пользу. Один раз меняли ему мозги. Не помогло, потому что у него их оказалось явно больше, чем у меняльщиков. Летом он устраивает в доме 30-градусную жару, зимой – бодрящий холод. А тут вдруг решил, что всё, хватит, покрылся льдом и через аварийный клапан залил пару комнат. Пришлый умелец, он же serviceman (по-ихнему), разводит руками. Поразводил, поразводил на новый кран и уехал.

Но это всё наша местная лагерная лирика. А вот и основной вопрос: когда же общество созреет до понимания, что аудиторы нужны не только для финансовой отчётности? Когда невозможно будет выпустить на рынок или в эксплуатацию программный продукт, который не прошёл независимый аудит?

ЗЫ.

Разработчики по снимают с себя всякую ответственность (вспомните, какие «лицензионные соглашения» Вы принимаете). Там разве что нет права поиметь вас в ж… Хотя надо почитать — наверняка есть:) Представьте себе, вы садитесь в самолёт, а вам на подпись дают бумагу, что вы принимаете на себя все риски, что самолёт не долетит, долетит не туда, багаж потеряется и так далее:) Я бы предложил ввести даже не сертификацию, а хотя бы аудит (с чего-то надо начать), чтобы пользователь получал вместе с программным продуктом ссылку на заключение аудитора. А стандарты у всех могут быть внутрифирменные. То же самое, как сейчас проводят аудит финансовой отчётности.