Компьютерное
Это потому, что ты — побрекито.
This entry was originally posted at http://scholar-vit.dreamwidth.org/517528.html. Please comment there using OpenID.
By logging in to LiveJournal using a third-party service you accept LiveJournal's User agreement
Category was added automatically. Read all entries about "it".
This entry was originally posted at http://scholar-vit.dreamwidth.org/517528.html. Please comment there using OpenID.
This entry was originally posted at http://scholar-vit.dreamwidth.org/511339.html. Please comment there using OpenID.
Маркс, как известно, считал капиталистическое государство комитетом по делам буржуазии в целом. Этот комитет, похоже, что-то имеет против крупной буржуазии, что доказывает форма 1040-V. Это бумажка, которую надо приложить к чеку, посылаемому в налоговое управление. Так вот, бумажка эта говорит, что налоговое ведомство, видите ли, не может принимать чеков на сумму в сто миллионов долларов и выше. Так что если вам нужно заплатить дяде Сэму сто миллионов десять долларов, то извольте мучиться, выписывая целых два чека: один на девяносто девять миллионов девятьсот девяносто девять тысяч девятьсот девяносто девять долларов, а второй на одиннадцать долларов. Или платите онлайн.
А все потому, похоже, что их программисты не предусмотрели больше десяти цифр (плюс десятичная точка и знак доллара) в форме.
Возмутительно, вот что я вам скажу.
This entry was originally posted at http://scholar-vit.dreamwidth.org/503811.html. Please comment there using OpenID.
Все-таки это удивительное чудо, когда ты пишешь длинные уравнения, придумываешь алгоритмы, потом программисты переводят твои прототипы в тысячи строк production code — а потом все работает именно так, как ты задумал.
Или когда экспериментаторы меряют, меряют, — а потом их точки ложатся именно туда, куда ты сказал, что они лягут.
И всякий раз поражает, что твоя модель, эта сильно упрощенная и стилизованная карикатура на действительность, оказывается не такой уж бессмысленной.
Ощущение счастья и благодарности.
От юристов пришел проект заявки на патент. Кстати, они нашли опечатку в одном моем уравнении: плюс вместо минуса. Молодцы. Правда, наши программисты нашли эту же опечатку раньше. Все-таки есть на свете люди, которые меня внимательно читают.
Так вот, там, как водится, были вопросы юристов. Почему-то они начинались с обращения "Inventors". Типа "Inventors, please explain what does this thingamajig do". Меня это обращение, направленное в наш с коллегой адрес, все время коробило. "Товарищи ученые"...
Прислали замечательное из Hacker News; но по-моему, я это уже видел много лет назад.
Мои друзья из IBM говорят, что искусственный интеллект все еще нуждается в доработке. В ходе слепых проверок исследователи почти всегда могли отличить холодные бездушные ответы, лишенные каких бы то ни было признаков человеческого участия, от ответов, сгенерированных компьютером.
Комментируя мою предыдущую
запись, pigbig указала
на идеи Ритцера о Мак-Дональдизации общества (см. изложение концепции
в рецензии
на книгу Ритцера).
Книгу я ещё почитаю, но подмеченное автором стремление к воспроизводимости и предсказуемости мне кажется очень интересными наблюдением. При этом, если верить рецензенту, эта предсказуемость становится не средством, а целью: "Не надо лучше, надо по правилам!"
Это напомнило мне эпизод, про который я, кажется, уже рассказывал. В конце прошлого века судьба и воля начальства занесла меня на семинар для менеджеров программистских компаний. Ни до, ни после этого случая я этими вопросами не интересовался, поэтому я не могу сказать, насколько общепринятыми были взгляды преподавателя. Возможно, что это были его личные заморочки - а может, наоборот, так все менеджеры думают. Впрочем, это не так уж и важно.
Преподаватель начал с того, что всем присутствующим известны замечательные программисты, способные быстро писать прекрасный код, точно решающий поставленную задачу. Они на голову выше остальных сотрудников, и заменить их практически невозможно. Задача менеджера состоит в том, чтобы таких сотрудников выявить и немедленно уволить. Их наличие несовместимо с современным промышленным производством, которому нужна воспроизводимость. "В правильно организованной компании, - подчеркнул преподаватель, - вы можете дать одну и ту же задачу двум разным программистам, и получить практически одинаковый код. Именно в этом состоит ваша цель". Преподаватель не произносил слов про средневековье и шедевры, но мысль его была вполне узнаваема: программист должен, как рабочий у конвейера, стать типовой деталью стандартного механизма. Интересно, что про качество кода при этом ничего не говорилось: в полном соответствии с идеями Ритцера (как я их понял из краткого изложения), предсказуемость и воспроизводимость тут не средство, а цель.
Я не знаю, получилось ли с этим у менеджеров, но сам подход тогда поразил меня размахом, достойным сэра Томаса Мора или Угрюм-Бурчеева. Уходящие в бесконечность правильные геометрические ряды одинаковых серых кубиков, в которых сидят взаимозаменяемые программисты, пишущие стандартный код. Они едят стандартную еду в стандартных Мак-Дональдсах, лечат их от типовых болезней типовые доктора (если два врача увидят одинаковые симптомы, они должны выписать одинаковые рецепты!), а взаимозаменяемые юристы оформляют им типовые разводы.
См. мультипликационную заставку к "Иронии судьбы".
Есть старый анекдот про то, как программистам прислали нового менеджера, который попробовал "навести порядок" и заставить всех работать с девяти до пяти. Программисты стали жаловаться, возмущаться, грозить уходом. В конце концов менеджера повысили в должности, а на его место наняли нового. При новом менеджере программисты перешли на привычный режим работы: с полудня до полуночи.
Я вспомнил этот анекдот, когда М. рассказала мне о проблеме, которую обсуждали на совещании на работе. Дело в том, что один из младших программистов - ярко выраженная "сова". Приходит и уходит он поздно. Но у них два раза в неделю получасовое совещание в 10:30 утра. И хотя парень живет в пяти минутах от работы, он все время опаздывает. А на последние два он просто не пришел: не успел. Возник вопрос, что с ним делать. Перенести совещание невозможно: у босса (кстати, бывшего программиста) день расписан.
В итоге решили подарить ему бегающий будильник.
Мне нужно было переделать пару картинок к постеру. Соавтор уезжает на конференцию, постер нужен срочно, плюс у меня ещё куча дел. Ну, захожу в директорию, меняю параметры, говорю make — и все вылетает с кучей ошибок.
Пошаговое прохождение показало, что все начинается с того, что Sweave выдает замечательное предупреждение:
Warning: '01_preparation.rnw' has unknown encoding: assuming Latin-1Но исходный файл вовсе не в кодировке Latin-1: он обрабатывает полученные из России по-русски данные, и в нем есть процедуры типа
RussianToLevel <- function(x) { x <- as.character(x) if (grepl("^нет",x)) return(1) if (grepl("^чуть",x)) return(2) if (grepl("^незнач",x)) return(3) if (grepl("^средн",x)) return(4) if (grepl("^сильн",x)) return(5) if (grepl("^очень",x)) return(6) return(NA) }В файле они превратились в такое:
RussianToLevel <- function(x) { x <- as.character(x) NA NA NA NA NA NA return(NA) }Неудивительно, что на следующем шаге все вылетает.
Ок, вручную понабирал команды R, получил картинки, послал.
Затем стал думать, что же случилось. С момента, когда я делал эти картинки в прошлый раз, успел обновить R.
Почитал логи программистов. Замечательная запись:
[CHANGES IN R VERSION 2.13.2:] Sweave now knows about a few more Windows' encodings (including cp1250 and cp1257) and some inputenx encodings such as koi8-r.
Это случай так называемого вранья. На самом деле все в точности наоборот: раньше Sweave знала про эти кодировки, а именно в версии 2.13.2 перестала их извлекать из файла. Смена inputenc на inputenx не дала результатов.
Ещё немного экспериментов показало, что если указать кодировку явно, Sweave милостиво соглашается работать.
В итоге все вылечилось заменой в Makefile строчек
%.tex: %.rnw R CMD Sweave $< %.R: %.rnw R CMD Stangle $<на строчки
%.tex: %.rnw echo "Sweave ('$<', encoding='koi8-r')" | R --slave %.R: %.rnw echo "Stangle ('$<', encoding='koi8-r')" | R --slave
И на что я, спрашивается, потратил день?!
Програм-м-м-мисты...