среда, 1 октября 2008 г.

Печатай и беги

Эволюция пользователя Windows проходит следующим образом. Для запуска приложений виндузятник-неофит пользуется мышкой, тыкая в "Пуск", "Программы" и т.д. Занятие это неспешное и очень умиротворяющее. Но со временем человек понимает, что как-то это неправильно — делать столько движений мышкой ради запуска одной из десятка программ. Здесь-то и находится ключевой момент эволюции, из которого все идут в разные стороны. Варианты возможны разные:
  • создавать кучу ярлыков на рабочем столе (тупиковая ветвь, поскольку через месяц рабочий стол покрывается ровным слоем всякого нужного и ненужного барахла, в котором может разобраться только автор этой помойки, и то не сразу);
  • вешать на ярлыки горячие клавиши;
  • создавать ярлыки в панели быстрого запуска;
  • пользоваться функцией "Run...";
  • пользоваться постоянно открытой консолью (для тру-извращенцев или как вариант страшной кары для линуксоида);
  • поставить какие-нибудь "специальные программки".
Долгое время я был апологетом панели быстрого запуска, благо рабочий набор у меня относительно постоянный и не приходится часто что-то запускать. Но разум отказывался смиряться с несправедливостью, из-за которой некоторые программы получали прописку возле кнопки "Пуск" (этакая виндовая Рублевка), а остальные томились в недрах иерархии меню "Программы".
В общем, разум поднапрягся, погуглил и нашел-таки парочку шибко полезных программок для а) ускорения запуска всего-чего-угодно и б) повышения чувства собственной крутости.

Launchy — этакая всплывающая командная строка в стиле Vista. По нажатию определенной комбинации клавиш (по умолчанию Alt-Space) вылезает окошко. В нем можно что-нибудь написать, а оно, в свою очередь, проявит зачатки интеллекта и попытается понять, что вы имели в виду. Если предложенный вариант вас не устраивает, через некоторое время озадаченное окошко выдаст список того, что (по его окошечьему мнению) может иметь какое-то отношение к тому, что вы там навводили.

Launchy
Вдумчивый пользователь через пару минут пользования сразу смекнет, что, мол, вышеупомянутый интеллект ограничивается деревом меню "Программы". Так оно и есть. Но если залезть в настройки (видите на рисунке в правом верхнем углу шестеренку?), то можно там добавить и другие папки и даже типы файлов, которые Launchy будет индексировать.
Когда один из предложенных в ответ на введенную строку вариантов устраивает, можно просто нажать Enter, чтобы его запустить. Если хочется указать параметры запуска, жмем Tab, пишем параметры, и снова Enter. Простенько и со вкусом. Кстати, входящий в поставку плагин Runny позволяет создавать собственные алиасы — полезно, если нужно запускать некие утилиты с кучей параметров. Например, создать команду "mailto: $1" с алиасом "mail" (пример из документации), после чего написание в окне Launchy команды "mail (Tab) vasya@pupkin.net" приведет к открытию умолчального почтового клиента в режиме создания нового письма Васе Пупкину. Плагин-побратим Weby позволяет делать то же самое с интернет-адресами, там даже по умолчанию забито несколько (буржуйских) сайтов. Главное, Гугл не забыли.
Приятно также отметить, что есть версия для Linux. Неприятно отметить, что при первом запуске в браузере открывается страница-попрошайка "Donate!", что на мой взгляд, просто хулиганство. На первый взгляд порадовал режим работы "portable", когда все настройки и индекс сохраняются там же, где программа и установлена. Но на деле, если Launchy индексирует множество каталогов, то, скажем, установка ее на флэшку приведет к тому, что при втыкании оной в другой компьютер весь накопленный индекс станет бесполезным, и его придется делать снова. Да и потом, портабельное использование предполагает, что сначала программу все же установят.

Другой кандидат на тот же пост — TypeAndRun — творение российского программиста Евгения Галанцева. Принципиальным отличием от Launchy я бы назвал ориентированность на более продвинутую публику. Подчеркнуто минималистичный дизайн, куча настроек, попытка приблизить поведение к оболочке bash, не слишком внятная логика работы... Зато, как и полагается, возможности поражают. Полнейшая портабельность (нет даже возможности установки), куча плагинов, включая отображение списка процессов и управление WinAMP, горячие клавиши, возможность добавление файла в список команд из контекстного меню...
Справки по плагинам, можно сказать, нет.

TypeAndRun
Резюме будет противоречивое. В блогах (например, здесь, здесь и тут) хвалят (кто бы сомневался) TypeAndRun. Не иначе как из ностальгии по командной строке Юникс-подобных. Мне лично она показалась не слишком удобной и чрезмерно перегруженной функциями, а порой и просто нелогичной. Launchy в этом отношении более сбалансированный и какой-то понятный. Тем не менее, я, поигравшись некоторое время с этими микрошедеврами, снес оба. Потому что понял, что за весь день, проведенный за компьютером, в лучшем случае запускаю пять-шесть программ. Но кому-то наверняка понравится и покажется удобным и полезным. А уж посмотреть однозначно всем стоит.
Не надо также думать, что других подобных программ нет. Отнюдь.
В общем, наступил я на горло собственному снобизму и вернулся к варианту с панелью быстрого запуска.

вторник, 2 сентября 2008 г.

Браузер от Google

Честно говоря, я чуть со стула не упал, когда узнал. Меня спасло любопытство - хотелось скорее посмотреть, что же это такое. Итак, в самом деле, Google сегодня выпускает бета-версию своего браузера Chrome в более чем 100 странах. Будем надеяться, и нам перепадет.
К сожалению, бета-версия будет доступна только под Windows, но гугловцы обещают, что конечные версии будут доступны и для Mac и Linux. Насчет модели распространения можно уверенно сказать, что она будет бесплатной, а вот насчет кода есть сомнения. Вроде бы код можно будет посмотреть:
We've used components from Apple's WebKit and Mozilla's Firefox, among others -- and in that spirit, we are making all of our code open source as well.
Но что-то мне с трудом верится, честно говоря, что Google последует модели open source. Все же один из основных их козырей - команда высококлассных специалистов, и пускать в святая святых посторонних людей они вряд ли станут. Да и не водилось у Google склонности к опенсорсу. Скорее, код если и будет доступен, то только для ознакомления и обнаружения уязвимостей. Хотя кто знает, open source нынче в моде...

Утверждается, что браузер написан с нуля (хотя и с использованием некоторых сторонних наработок), и что главный упор делался на безопасность. Теперь каждая вкладка обрабатывается отдельным процессом, в результате чего обеспечивается полная изоляция открытых страниц. Затея благая, но представляю, как будет выглядеть Task Manager... Хотя, может быть, они под процессами имели в виду что-то вроде дотнетовских доменов? Кто знает.
Движок браузера - опенсорсный WebKit, тот же что используется в Android. Это хорошо, это совместимость мобильного браузера с десктопным.

Но это все так, цветочки. Самое интересное начинается, когда дело доходит до JavaScript. В пресс-релизе это описано туманно:
We also built a more powerful JavaScript engine, V8, to power the next generation of web applications that aren't even possible in today's browsers.
Ключевая фраза здесь "that aren't even possible in today's browsers". Это означает только одно - что Гугл самостоятельно расширяет JavaScript, причем это расширение не будет совместимо с существующими браузерами. От же ловкие какие! Учитывая превосходство Google в мире веб-ориентированных сервисов, нетрудно догадаться, что случится. Будет объявлено, что полная функциональность их сервисов доступна только из Chrome. Пока разработчики остальных браузеров буду, матерясь и обливаясь потом, приводить свою реализацию JavaScript к гугловским стандартам, те усвистят вообще за горизонт. Замечательный козырь в войне браузеров. Нет, серьезно, я уверен, что гугловский браузер довольно быстро оттяпает серьезную долю рынка. Хотя, вроде бы, виртуальная машина V8 будет открытой - это несколько снижает ее конкурентную ценность.
По существу про новую виртуальную машину JavaScript в Chrome можно сказать немного. Во-первых, она станет JIT-компилируемой (еще один шаг к полноценным приложениям, выполняемым в браузере!), со всеми плюшками вроде нормальной сборки мусора, компиляции в машинные коды и оптимизацией под архитектуру. Во-вторых, сам язык приобретет некоторые новые качества, например, неявное определение классов.

В общем, граждане, ясно говорю вам, грядет революция в веб-технологиях. И на коне будут те, кто вовремя освоют JavaScript. Я понимаю, что формат немного не для этого блога, и я обязательно раскрою тему подробнее в своем typedef'е, но все же и для мира пользователей это не менее важное событие. Пожалуй, браузеры - это единственная область в софтостроении, где присутствует полноценная, без дураков, конкуренция. И это не может не радовать, поскольку дальше все будет только лучше (в отличие от сами-знаете-какой компании, которая выпускает сами-знаете-что).

Подробности про новый браузер можно почитать в виде комиксов.

понедельник, 1 сентября 2008 г.

PDF-читатели: гонка за лидером

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

Читательство PDF-, равно как и DJVU-файлов, для меня - ежедневная действительность, без которой я жизни не представляю. А посему проблема выбора соответствующего софта для меня весьма актуальна.
Adobe Acrobat 9Слухи об Acrobat Reader 9 гласили, что адобовские программисты превзошли сами себя, и что нынешняя версия работает достаточно быстро. Вспоминая, насколько тормознутыми были предыдущие версии, я относился к таким заявлениям достаточно скептически. Но в конце концов настойчивость слухов взяла свое, и я решился. Выкачал без малого 34 Мб установщика, запустил. Установщик пошуршал и порекомендовал "перезагрузиться для завершения установки". Ну это, братцы, вообще хулиганство. Я понимаю там, антивирус какой-нибудь или еще какая гадость, запускающая лапы в ядро системы, но просмотровщик!.. В общем, я с презрением отверг кощунственное предложение. Как оказалось, все работает и так.STDU Viewer
Пока качался Акробат, я нашел в списке программ, ожидающих обзора, еще один релевантный экземпляр: STDU Viewer. Программа позиционируется как "Scientific and technical documentation utility" (то есть, средство просмотра технической и научной литературы, что мне как раз и нужно было) и умеет читать не только PDF, но еще и DJVU и даже TIFF. Этакий комбайн. Установщик весит всего 1,4 Мб, и процесс установки не в пример шустрее адобовского монстра. И перезагрузки не требует.

Сравнивал я оба творения со своими старыми добрыми Foxit Reader версии 2.2 и WinDjView версии 0.5.
Как ни удивительно, оба новичка показали неожиданно хорошие результаты по времени загрузки и открытию небольших файлов - и то, и другое они выполняют практически мгновенно. С большими файлами тоже более-менее неплохо справляются, но STDU Viewer ощутимо подтормаживает при подгрузке очередных фрагментов. Даже Foxit Reader, эталон в отношении скорости, иногда притормаживал при быстрой прокрутке. Adobe Reader же прокручивал файл со сверхъестественной плавностью и скоростью, тут он явно лидер, хотя по потреблению памяти тоже легко обходит всех остальных.
Здоровенный, жирный минус Акробата выявился почти сразу: он иногда отказывается отображать структуру файла в виде навигационного дерева. На некоторых файлах отображает, на некоторых - нет. Foxit Reader и STDU Viewer на тех же файлах дерево показывают всегда. Учитывая, что формат PDF - исконно адобовский, это большой для них позор.
Для файлов DejaVu сравнение окончилось, едва успев начаться. STDU Viewer позволяет прокручивать DJVU-файл только невообразимо медленно. Звучит это довольно дико, но так оно и есть: такое количество оборотов колесика мышки, которое нужно потратить, чтобы прокрутить файл на 10 страниц, в WinDjView хватит на прокрутку всей 500-страничной книги. В результате просмотр в STDU Viewer становится совершенно невозможным.

Резюме предсказуемо. Снес обоих претендентов на чемпионский титул и убедился в правильности своего изначального выбора.