Голубятня: Ужастик Евернот
Автор: Сергей Голубицкий
Опубликовано 18 сентября 2011 года
Я подготовил читателям два рассказа о софтверных ужастиках, с которыми вынужден сражаться последние годы. Сами по себе темы малопривлекательны (как и любой негатив в жизни), однако полезны с точки зрения философии программирования, ибо наглядно иллюстрируют, как не нужно делать программы.
Первый ужастик называется Evernote. О нем я впервые написал в бумажной Голубятне в апреле 2008 года («Глоток свободы на глубине два метра»). Тогда по рекомендации читателя я установил программу в версии для Windows (да-да, в прошлой жизни я пользовался этим чудовищем ☺), однако почти сразу удалил, поскольку мне не понравилась концепция хранения данных на облаке.
За три года взгляды мои по части хранения личной информации на сервере чужого дяди существенно либерализировались и сегодня я уже спокойно отношусь к неизбежному. Тем более, что облачная система предоставляет идеальную среду для синхронизации, которая с вхождением в мой обиход трех незаменимых и постоянно задействованных устройств (Macbook - iPad - iPhone) стала жизненно необходима.
По этой причине сразу после перехода два года назад на платформу Надкусана я вернулся к тестированию Evernote, тем более, что в то время эта программа практически не имела альтернатив и к тому же пользовалась культовой популярностью у яблочных фанатов.
На первых порах я проникся оптимизмом и с удовольствием принялся заполнять Evernote информацией, которую собирал ото всюду по профессиональным нуждам. Очень быстро, однако, начались неприятности: чем больше документов попадало в базу данных Evernote, тем неповоротливее эта база становилась.
Когда число вхождений перевалило за 4 тысячи, Evernote просто сдох. В прямом смысле слова: любое действие, любая операция с данными длилась не просто неприлично долго, а несовместимо с понятием осмысленной работы.
Я дождался окончания годовой подписки (да-да, Evernote штука платная, хотя формально можно пользоваться и бесплатным огрызком, однако длинный список ограничений, среди которых запрет на пользованием базой данных в режиме оффлайн на мобильных устройствах, превращают этот огрызок в насмешку) и удалил программу с компьютера.
На смену Evernote в роли моей главной информационной базы данных пришел EagleFiler, которым, собственно, пользуюсь до настоящего времени. У этой скромной программки есть много достоинств, однако имеющиеся недостатки не то, чтобы отвращают от пользования, но однозначно подвигают на постоянные поиски альтернативы. В частности EagleFiler довольно нерасторопен (хотя, конечно, ни в какое сравнение не идет с Evernote, чья неторопливость не позволяет работать) и - самое неприятное - начисто лишен каких бы то ни было форм синхронизации. Разработчик советует пользоваться Dropbox - я не против, но как работать с базой данных на мобильных устройствах, если у EagleFiler нет (и не предвидется!) никаких клиентов?!
Посему я периодически устраиваю шерстение сети на предмет выявления новых кандидатов для ведения информационной базы данных, а также проверки старых знакомых на предмет обновлений и новой / улучшенной функциональности. Поверите ли: я ставил Evernote четыре раза! И все четыре раза удалял, чертыхаясь и клятвенно обещая больше не повторять маразма. Потому что вот уж точно: рожденный ползать летать не научится никогда до самой своей смерти!
К сожалению в случае Evernote поговорка обретает зловеще хрестоматийное звучание: от версии к версии популярность программы в мире растет как ошпаренная, новых функций и рекламных примочек нарастает по самое не балуйся, однако ни один из врожденных дефектов не только не устраняется, но и с каждым разом все усугубляется и усугубляется.
Объясняется безысходность просто: все недостатки программы связаны с работой базы данных под нагрузкой. Вернее, в неумении Evernote работать под большой нагрузкой. Устранить этот дефект возможно только одним способом: переписать ядро базы с нуля, отказавшись на корню от используемого в настоящее время движка и алгоритмов. Разработчик, разумеется, ничего этого делать не будет и не собирается, поскольку проект коммерческий и главная задача - «наращивать мегапиксели», то есть обвешивать уже выращенное дерево рюшачками, фишечками и фенечками, популярными в гламурном народе.
До того, как Evernote превратился в то, во что он превратился сегодня - еле шевелящуюся разукрашенную ёлку - это была маленькая программа-блокнотик, созданный на основе концепции временной ленты. Рудименты этого нововведения сохранились до сих пор в форме никому не нужного и даже вредного (для полноценной базы данных) аппендицита. Временная лента в скромном блокнотике - самое оно: написал десяток другой заметочек («не забудь купить кефир!», «дернуть Нинку за косичку на перемене!»), прокрутил ленту по времени - лепота!
Потом, однако, этот блокнотик стали обвешивать кенгурятниками и трупоотбойниками, для него непредназначенными, в надежде превратить его в полноценный ПИМ. Вместо ПИМА вышла Шнива на 255ой резине.
Короче говоря, мораль проста: продумывайте свои софтверные творения изначально, предвосхищая даже самые последние дни их жизни! Потому что нет ничего ужаснее изменения парадигмы на середине пути: все равно ничего путного не выйдет. Если же не повезло и вы вляпались, то изыщите ресурсы для ведения параллельного проекта, пусть даже в закрытом виде, в рамках которого перепишите свою программу с нуля, подобрав для нее движок, адекватный новым заявленным функциям, а затем тихо и неприметно под очередной релиз подмените старую лошадь новой - можно даже без лишних фанфар и помпы.
Впрочем, можно и с помпой: как-никак подобный честный отказ от неработающего ядра и мобильный переход на новые рельсы с нуля многого стоит и о многом говорит!
Все эти рекомендации даю от чистого сердца, потому что вижу в Evernote потенциал, который при правильном векторе развития мог бы превратить программу в уникальный трансплатформенный облачный информационный центр.
И потом, чем черт не шутит: может разработчики, разговевшись на сочных харчах своих подписных услуг ( 5 долларов в месяц за пользование облаком - это вам не хухры-мухры!), пробудятся от гламурного морока и все-таки наберутся смелости переписать программу со здорового нуля?
Кафедра Ваннаха: Углерод и кремний
Автор: Ваннах Михаил
Опубликовано 19 сентября 2011 года
Мир информационных технологий – мир кремния. Ну а те вычислители, асинхронные нейросети или квантовые компьютеры (если принять гипотезу Пенроуза), на которых запущены процессы, дающие нам разум и самосознание, сделаны на углероде. Точнее – на органике. Соединениях углерода. Почему так? И так ли оно будет впредь?
Почему же жизнь функционирует на Земле на углероде? Потому что его много на нашей планете? Да, немало… Но кремния-то больше. Раз в 270-290 в земной коре! И, по идее, роль кремния в биосфере должна быть пропорционально больше? Ан нет… В организмах он присутствует, но изрядно, по классификации В.И. Вернадского, на "декаду" (не менее чем на десятичный порядок) уступая углероду.
Почему же так случилось?
Давайте же посмотрим на жизнь как на антиэнтропийный процесс. По давнему, начала 1960-х годов, определению А.А. Ляпунова, это "высокоустойчивое состояние вещества, использующее для выработки сохраняющих реакций информацию, кодируемую состояниями отдельных молекул". Скажем, в мировом океане существуют сохраняющие реакции, поддерживающие уровень растворённого в нем углеродного газа, – это взаимопереходы растворимого бикарбоната кальция и нерастворимого карбоната кальция. Но в молекулах в этом процессе ничего не кодируется – имеют место обычные химические реакции, преимущественно в ту или иную сторону.
Должно ли кодирование информации осуществляться именно состоянием молекул, вопрос отдельный. Но, как мы видим, в этом определении никаких ограничений на состав этих молекул нет. И почему бы эволюции было не воспользоваться тем, что у неё под рукой в большем количестве?
Вот отец неравновесной термодинамики Илья Пригожин отмечал, что у систем биологических, в отличие от физических, есть прошлое. Что молекулы, входящие в них, были отобраны прошлыми эволюционными процессами для участия в автокаталитических, усиливающих самих себя реакциях. Но и тут никакого запрета на применение кремния не существует. Так почему же жизнь и разум на нашей планете функционируют на основе углерода?
Дело в его химических свойствах. Атомы углерода меньше, нежели у кремния, - 91 пикометр радиуса против 132 пикометров. Образуемые ими связи, в том числе ковалентные углерод-углеродные, прочнее и разнообразнее. Какие полимеры образует в присутствии кислорода, синтезированного в топках звёзд ранних поколений, давших жизнь Солнечной системе, кремний?