Искусственный интеллект - [78]

Шрифт
Интервал



Есть и другой пример типичной проблемы, которая может принимать разные формы. Однажды код выдал ошибку, я не могла понять ее природу. Я решила создать новую базу данных и протестировать код на всех моих 3,5 млн записей – тот же результат. Первые 10 секунд все работало, затем появилась другая ошибка. Я исправила то, что – как мне казалось – стало ее причиной, и затем пыталась загрузить данные снова. Не сработало. Я что-то еще поменяла в коде, и все стало только хуже. Я переключилась на первую базу данных и попыталась воссоздать первую ошибку. Не вышло – вылезла новая ошибка. Тогда я поняла, что не смогу поправить первую базу данных, и перешла ко второй. У меня было плохое предчувствие; другие члены моей команды пользовались первой базой данных, и тот факт, что она была доступна и при этом содержала ошибки, мог сильно повлиять на результат их работы. На самом деле это была обычная ошибка контроля версий ПО, однако в связи с тем, что в программировании важную роль играет точность, получилось, что ошибки, спровоцированные мной, привели к каскаду новых неисправимых ошибок, затрагивавших работу других разработчиков.

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

На сегодняшний день мой проект не сильно распространен, но имеет мощное влияние. Я не слежу за тем, сколько репортеров использовали его для создания историй, однако я часто им пользуюсь на занятиях. Каждый семестр я учу около 30 студентов. Это значит, что каждый семестр с помощью «Бейливика» создается как минимум шесть историй. Результат вполне оправдывает затраченные усилия. Если бы им постоянно пользовались в новостных редакциях, можно было бы получать доход, разместив рекламу внизу страниц. Очевидно, что программа не станет ключевым параметром доходов, однако что-то будет капать. И, конечно, «Бейливик» не смог бы привлечь столько же средств, сколько продукты массового спроса, однако мог бы стать ремесленной продукцией, генерирующей небольшой доход.

Пока мой инструмент анализа системы финансирования избирательных кампаний не приносит денег вовсе. На финансовом языке это значит, что у него нет стратегии устойчивого развития. «Бейливик» имеет смысл как инструмент обучения, как модель для проектов – расследований, наконец, в качестве примера практического исследования (имеется в виду «нетеоретическое исследование») в рамках вычислительной журналистики. К моему сожалению, эта неочевидная ценность не помогла мне ежемесячно содержать серверы «Бейливика», что обходилось в $1000. А вот и очередной «секрет» техномира: инновации стоят дорого. Если бы я знала, что проект окажется настолько дорогим, в процессе разработки я бы принимала другие решения. Однако, поскольку никто до нас не создавал такой софт, было совершенно невозможно предсказать расходы. У меня была своя слепая зона – она есть всегда, когда создаешь новую технологию: необходима вера в то, что ты создашь то, что задумала и что на это хватит финансирования. Процесс разработки иногда может быть будоражащим прыжком в неизвестность.

12

Стареющие компьютеры

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

Веб-сайты, приложения и программы всегда ломаются, потому что компьютеры, на которых они работают, необходимо постоянно обновлять. Мир меняется. Программному обеспечению нужны обновления. Если у вас на хостинге располагается даже простейший сайт компании, надо быть готовыми к тому, что компания всегда будет претерпевать управленческие изменения, что нужно будет обновлять серверы и что-то пойдет не так. Каждый год работы того или иного программного продукта накапливает технический долг – стоимость поддержания его актуальности, добавления патчей и латание багов. В своей редакторской колонке для The New York Times профессора Эндрю Рассел и Ли Винзел пишут, что 60 % всех затрат на софт приходятся на поддержание его работоспособности – исправление багов и обновления[163]. В противовес популярному представлению невероятное количество разработчиков и программистов не участвует в реальной разработке инновационных продуктов; 70 % задействованы в поддержании существующих проектов.


Рекомендуем почитать
История географических названий Руси

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


«Боевая стрельба из пистолета. Израильский стиль»

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


Метод солнечных обращений

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


Затаенное имя - Тайнопись в 'Слове о полку Игореве'

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


Крестоносцы, Они же татары

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


Электрошокеры - осторожно, злая собака!

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