Текст книги "Журнал "Компьютерра" №720"
Автор книги: Компьютерра Журнал
сообщить о нарушении
Текущая страница: 6 (всего у книги 10 страниц)
СОФТЕРРА: Лилипуты в стране великанов
Автор: Александр Клименков
Прелесть маленьких программок даже не в размере, а в том, что одно-единственное действие, для которого предназначены эти лилипуты, они выполняют хорошо и на совесть. Они не требуют инсталляции, не подминают под себя все свободные ресурсы, а самое главное, не перегружены вагоном и маленькой тележкой совершенно ненужных функций.
Bloatware
Английский термин bloatware можно перевести как «разбухшее ПО». Так называют программы, которые предоставляют минимальную функциональность и при этом требуют для работы несоразмерно большое количество дискового пространства и оперативной памяти. Пренебрежение разработчиков к оптимизации размеров программ также заслужило специального определения – creeping featuritis, то есть «ползучий улучшизм».
Сколько раз приходилось видеть софтверных великанов, список возможностей и функций которых занимал не одну страницу. Если принять во внимание «пиратскую» скидку, широкое распространение таких программ вполне объяснимо. Купил за несколько десятков рублей диск, поставил на многогигабайтный винчестер и забыл. Мало ли что может понадобиться. А тут программа под рукой – все умеет, со всем разберется.
Тем удивительнее, что малыши становятся все популярнее. И тому есть причины. Такие программы достаточно мобильны, их легко переносить с компьютера на компьютер. Хоть с точки зрения функциональности они звезд с неба и не хватают, зато быстро и умело выполняют действия, необходимые большинству пользователей. При этом у них есть одно важное преимущество: они просты, разобраться в них нетрудно. Да и опытные пользователи порой устают от слишком обширной функциональности. Например, моя жена, работающая с большими сложными пакетами, с удовольствием пользуется маленькими программками, которые я ей подкидываю. А уж маленькие аркадные и логические игрушки для КПК неизменно обходят в нашем семейном рейтинге больших многодисковых монстров игровой индустрии. Кроме всего прочего, такими малютками приятно пользоваться, как приятно держать в руках добротную миниатюрную вещь. Такие программки входят в повседневную жизнь и стоят на компьютере годами. К ним привыкаешь как к старой машине, они превращаются в удобный, привычный инструмент.
Далее мне хотелось бы рассказать о программах-малютках, которыми я пользуюсь почти ежедневно. Возможно, и читателям они пригодятся.
Маленькая выжигалка
О назначении программы Small CD Writer недвусмысленно говорит ее название. Она пишет диски. Не печатает к ним этикетки, не тестирует привод, не создает виртуальные дисководы, а просто пишет диски. Она действительно small – последняя версия весит лишь 398 Кбайт. При таком размере программа умеет писать CD– и DVD– болванки, создавать загрузочные диски и работать с ISO-образами. Программа не требует инсталляции и не занимает места на диске под кэширование файлов (как делают многие ее старшие собратья). Объективности ради отмечу, что мне приходилось слышать от знакомых, пользовавшихся Small CD Writer, о каких-то проблемах с записью DVD, но сам я ни с какими проблемами не сталкивался.
У читателей может возникнуть закономерный вопрос: почему же автор, коли ему не нужны всякие дополнительные функции, не пользуется стандартными средствами для записи дисков, имеющимися в Windows XP? Ответ простой: дополнительные функции мне все же нужны. Но не печать этикеток к дискам, а, скажем, возможность установить скорость записи. Кроме того, программа подкупает своим аскетичным, но в то же время изящным интерфейсом. Обычно программисты-одиночки не отличаются хорошим вкусом и не дружат с дизайном, но и из этого правила бывают приятные исключения.
Кроме маленькой выжигалки дисков, на сайте разработчиков (www.avtlab.ru) имеется еще несколько неплохих программ. Это клиент-пчелка The Bee размером 753 Кбайт, работающая с электронной почтой, news-серверами и основными сервисами ICQ; и URL-Album размером чуть меньше мегабайта, позволяющая хранить коллекцию ссылок, снабжая каждый линк автогенерируемым маленьким скриншотом с сайта.
Тигровый блокнотик
Блокнот TigerPad (tigerpad.narod.ru) на самом деле вовсе не «тигровый», а «львиный», в том смысле, что в его интерфейсе всюду отображаются картинки из диснеевского мультфильма «Король Лев». И «шкурка» у окон программы соответствующая: песчаный рельеф и львиные лапки. Программа действительно удобная и красивая, но, к сожалению, с 2004 года автор по неизвестным причинам прекратил работу над своим детищем. Однако и в последней версии, размер которой всего 623 Кбайт, уже столько полезных возможностей, что программа успешно конкурирует с целой когортой подобных ей редакторов текстовых файлов.
TigerPad обладает всеми необходимыми функциями для программ этого класса: умеет на лету преобразовывать кодировки, помогает подставлять теги html (мне лично греет душу возможность автоматического прописывания высоты и ширины картинки при вставке тега ), умеет подсвечивать синтаксис различных языков программирования и форматов, помогает получить html-код выбранного цвета, переводит число в текст и т. д. Перечислять можно долго, но не стоит – все эти функции уже стали классическими для программ-блокнотов.
Лучше сосредоточиться на тех возможностях программы, которые не дают мне с ней расстаться уже много лет. Начну с функции форматирования текста. Это шедевр. С помощью команд и настроек TigerPad может автоматически отформатировать практически любой текст, какие бы фантазии ни пришли в голову его автору. Но чаще всего эту функцию приходится использовать, как ни странно, именно для того, чтобы форматирование убрать. В современном мире экранов разной ширины, мобильных устройств и программ-читалок форматирование текстового файла со строго заданной шириной колонки и принудительными переводами строки выглядит анахронизмом. И все равно многие упорно продолжают выравнивать текст книги по ширине. Мой стандарт соответствует простому правилу: "один абзац – одна строка" – а читалка сама разберется, где делать перенос. К опции форматирования прилагается целый сонм функций по умному удалению или добавлению символов в начале строки, в конце строки или по определенному шаблону.
Еще одна замечательная опция "Найти и заменить". Поразительно, но в большей части текстовых редакторов, которые я видел, она отсутствует. Программа, как я уже писал, обладает богатыми возможностями по работе с html – как с точки зрения удаления тегов, так и с точки зрения превращения текста в html. TigerPad умеет оптимизировать код, добавлять шаблон заголовка и работать с коллекцией скриптов (то есть делать то, ради чего обычно пишутся отдельные приложения).
Есть и опции, в общем-то, бесполезные, но в своем роде уникальные, с философским наполнением. Я имею в виду команды "Убрать мат из текста" (ну тут все понятно – обычный фильтр) и… "Добавить мат в текст" (а вот это действительно уникально).
Дорогу худым
Знаменитый Никлаус Вирт в статье «Долой „жирные“ программы» определил два фактора, которые приводят к постоянному и неоправданному разрастанию размеров программ:
• быстро увеличивающаяся аппаратная производительность;
• игнорирование принципиальной разницы между жизненно важными возможностями и теми, которые "хорошо бы иметь".
Проблему больших, "жирных" программ автор рассматривает почти с философской точки зрения: "Легкость использования системы всегда должна быть главной целью, но эта легкость должна опираться на лежащие в основе системы концепции, что и позволяет сделать работу с нею почти интуитивной. Кажется, однако, что чем дальше, тем больше люди склонны неверно истолковывать сложность как изощренность, которая сбивает с толку, – а ведь непостижимость должна вызывать подозрение, а не восхищение".
Продвинутые таблицы
TablePro была когда-то телефонным справочником. Хорошим, добротно сделанным приложением для хранения контактов в csv-файле. Напомню, что формат csv подразумевает хранение табличных данных в простом текстовом файле. Одна строка такого файла соответствует одной строке таблицы. Колонки внутри строки разделяются определенным символом (чаще всего запятой). Этот формат в некотором роде является универсальным. Его понимает даже Excel.
Создав телефонный справочник, его автор Григорий Жмулевский не остановился на достигнутом и решил сделать маленький и удобный табличный редактор, который сможет работать с любыми таблицами в распространенном и простом формате csv. Так на свет появилась TablePro.
По словам Жмулевского, это "простая и удобная база данных для дома и офиса. Быстрый и мощный поиск, экспорт в различные форматы, печать, сортировка по всем полям, настройка пользовательского интерфейса, очень быстрая загрузка и обработка огромного количества записей". Это чистая правда. При размере чуть больше 300 Кбайт программа умеет выполнять практически все функции, необходимые для работы с таблицами. Сами csv-файлы занимают мало места (по сравнению с xls и dbf). Параметры таблицы (ширина и название колонок, тип хранимой в ячейках информации, общие настройки таблицы и т. п.) хранятся в xml-файле – отдельном для каждой таблицы. Оба файла совершенно прозрачны.
При желании всю таблицу (или выделенные строки) можно экспортировать в классические форматы: html, xls, ini, dbf, doc. Программа снабжена удобным конструктором таблиц, умеет автоматически выполнять операции вставки, замены, удаления и преобразования содержимого ячеек.
Для добавления и редактирования записей используется удобное окошечко, в котором автоматически располагаются различные элементы интерфейса, соответствующие формату данных, заданных для тех или иных колонок таблицы. Программа умеет работать с различными макросами подстановки (например, автоматически добавлять в ячейки текущую дату в заданном формате), позволяет производить вычисления по несложным формулам. Судя по отзывам на форуме программы, многие успешно используют ее в деловой практике – например, для ведения базы клиентов.
Скачать TablePro можно на сайте автора (zgsprojects.narod.ru). Там же в разделе "Файлы" выложены различные базы данных для программы, созданные пользователями. Есть и словари, и справочники, и даже сонники. Программа не требует инсталляции и ничего не пишет в реестр. Хорошие программисты живут на Сахалине…
Настраиваемая газета
Для просмотра RSS-каналов существует множество приложений. Умеет это делать и каждый уважающий себя браузер. Но почти все эти программы построены по одному и тому же принципу – заголовки новостей отображаются в специальной таблице, новости просматриваются в специально выделенной области. Аналогично выстроен интерфейс большинства почтовых клиентов. Хочешь посмотреть письмо – кликни на строку с его названием. Хочешь посмотреть другое – кликни на другую строку. С почтой это удобно. С небольшими RSS-новостями – нет. Мне всегда хотелось читать последние новости с какого-либо сайта в виде маленькой газетки – все на одной странице. Да и общий вид страницы хотелось бы настраивать по своему вкусу. После долгих скитаний по Сети и десятков перепробованных RSS-ридеров я нашел программу, которая делает именно то, что мне нужно, – YH RSS Aggregator (yuhala.narod.ru/yhrss.html).
Список RSS-лент организован в древовидной форме. При закачке каждая лента сохраняется в отдельный html-файл установленной структуры. Его оформление можно как угодно настраивать с помощью обычного CSS и html-файла шаблона. В шаблоне используются специальные строчки-макросы, которые обозначают места, где программа автоматически вставит заголовок новости, имя автора, время создания, текст статьи и т. п. В архиве программы уже есть несколько готовых шаблонов и тем, но можно создавать и свои. Можно также выбрать каталоги, в которых будут храниться шаблоны, xml-файлы и автоматически сформированные html-файлы с отображением новостей. В общем, простор для творчества и полная прозрачность. Умеет программа работать и в "классическом" режиме": строчка – новость.
Этот маленький аггрегатор весит всего полмегабайта. Он умеет сворачиваться в трей и получать новости с определенной периодичностью. Ну и конечно, обладает необходимыми инструментами поиска новостей.
Программы-лилипуты очень помогают в повседневной жизни и работе. Как бы хотелось, чтобы их было как можно больше – маленьких, аккуратных, быстрых и удобных. Но многие авторы упорно плодят монстров, обрастающих все новыми и новыми ненужными функциями. На сей раз я говорю уже не о корпорациях, а о программистах-одиночках. В Сети много таких программ, узнать их нетрудно – в названиях, как правило, присутствуют слова "Super", "Mega" и т. п., список возможностей занимает не один экран. Что ж, такие программы тоже имеют право на жизнь и, наверное, неплохо продаются. Но пользоваться ими что-то не хочется.
Контраргумент
Интересно, что думают сами программисты о размерах приложений. Известный софтмейкер Джоэл Сполски считает, что все не так просто, как кажется, – пользователи разные, и у каждого свои понятия о том, что является основными функциями программы (которые надо непременно оставить), а что – второстепенными (от которых можно легко отказаться).
Например, в вышеупомянутой статье Вирта говорится о том, что "многие разработчики программного обеспечения попадаются на старое, как мир, правило "80/20". Кажется совершенно очевидным, что 80% людей используют лишь 20% возможностей программ. И вы убеждаете себя, что вам надо внедрить только 20% возможностей, и вы все равно сможете при этом продать 80% копий. К сожалению, это не всегда одни и те же 20%. Каждый использует разные вещи".
ИНТЕРНЕТ: Где эта улица, где этот дом
Автор: Александр Бумагин
Возможно, кто-то сочтет, что Wikimapia – родная сестра Википедии. Однако это не так, схожесть названий – лишь пиар-ход создателей картографического ресурса, желавших очевидным созвучием обозначить уровень собственных претензий.
Не родственники, но однофамильцы
Если в двух словах, то Wikimapia создана для того, чтобы описать всю Землю. Во всяком случае, именно об этой скромной цели можно прочесть на сайте wikimapia.org. Под «всей Землей», правда, понимается лишь географическая карта мира от Google и объекты, видимые на ней. Впрочем, объектов на нынешних спутниковых снимках можно рассмотреть столько, что никакому коллективу, сколь бы крупным он ни был, и за всю жизнь не описать. Тем более что авторов и владельцев Викимапии всего двое – это программисты из подмосковного Троицка, которым однажды захотелось поработать вместе.
О майских субботниках
«Я и Евгений Савельев давно пытаемся сделать что-то путное в Интернете, – рассказывает Александр Корякин, с которым нам удалось встретиться. – Евгений уже имел опыт создания сайтов, он и предложил мне в 2002-м заняться каталогом товаров в Интернете».
Идея не показалась Александру перспективной, и хотя работа в этом направлении велась, коллеги продолжали изучать спрос на ту или иную информацию в Сети. В конце концов было решено воспользоваться доступностью Google Maps и сделать нечто связанное с картами. Сначала соавторы хотели создать что-то похожее на Panoramio [www.panoramio.com – проект, посвященный пользовательским фотографиям, привязанным к конкретным местам на географической карте. Проект куплен компанией Google], потом у Евгения возникла идея о туристической информации на карте – и постепенно, шаг за шагом, сложился облик будущего проекта. К началу 2006 года в активе предприятия были кое-какие наработки [Предварительная работа над программным кодом была отдана на откуп фрилансерам. Их труд и сейчас используется], но они по большей части оказались непригодными, так как Google поменял код своего API. Когда истекал срок поддержки старой версии API, друзья взяли быка за рога. "В майские праздники мы вдвоем ударными темпами, буквально в две недели, создали наш сервис, – вспоминает Александр. – Это стало возможно во многом потому, что Wikimapia, в отличие от наших прежних проектов, нам самим очень интересна".
Дело-то нехитрое…
Конечно, в мае 2006-го было трудно предвидеть все последующие дополнения и изменения в проекте, и нынешний код отличается от первоначального, но суть остается прежней: пользователи самостоятельно идентифицируют на карте знакомые объекты, обозначают их и создают описание. Новое описание проверяют другие пользователи, которые могут признать или не признать его соответствующим действительности. Неподтвержденные объекты с карты автоматически удаляются. Каждый объект может быть прокомментирован пользователями, благодаря чему о каждом мало-мальски значимом месте на карте должна появиться полезная информация.
До описания каждой подворотни дело, разумеется, не дошло. Огромное количество объектов вообще не снабжено комментариями, а большая часть комментариев к объектам районного масштаба словно выдернута из плохо модерируемого форума, где "собеседники" от вялого препирательства переходят на личности. В то же время есть и положительная сторона. Неподалеку от своего дома автор нашел с десяток интересных описаний разных мест, а другие описания содержали пусть и знакомые, но потенциально полезные для других сведения.
Как рассказал нам Корякин, в самом начале жизни проекта своеобразным картографическим вандализмом занималось около пяти процентов посетителей. Сейчас ситуация несколько исправилась. Пользователи имеют разный статус, самым проверенным позволено удалять неверно описанные объекты, которые всеми правдами и неправдами прошли через сито проверок [Сделать так, чтобы твой объект появился на карте, не слишком трудно. Во всяком случае, автор без труда создал в собственном микрорайоне безобидный, но ложный объект, который прошел верификацию].
Будет ли небо в алмазах?
На нашей стране, однако, свет клином не сошелся. «Россия – это 1,5–2% мирового интернет-трафика, – объяснил нам Александр Корякин. – Наш проект примерно отражает то же соотношение. Именно такая часть наших пользователей из России. И именно поэтому у нас глобальный проект, а не чисто российский. Вот, скажем, Соединенные Штаты – это 18% нашей аудитории» [Отметим, что активность жителей разных стран и городов сильно различается. Москвичи отметили на карте своего города примерно столько же объектов, сколько жители Нью-Йорка, Лондона, Парижа и Мадрида вместе взятые. Лас-Вегас по активности сравним с Иркутском. А такой «известный» индийский город, как Поннани, опережает Москву более чем втрое. Полезность объектов и комментариев к ним мы оставляем… без комментариев]. Проект изначально делался как коммерческий, а привлечь внимание крупного инвестора проще всемирной популярностью. Известность пришла внезапно.
Перед запуском авторы мечтали о десяти тысячах посетителей в день. Эту веху они сами себе поставили как значимую. Для популяризации сервиса на одном из американских популярных сайтов была опубликована новость с описанием проекта и ссылкой на него. Отклик, по словам Корякина, был сумасшедший. Сервер получал до двухсот запросов в секунду. Это был пик, а потом темпы снизились, но и по сей день рост не останавливается.
Продавать свое детище Александр и Евгений не торопятся. Предложения о покупке были у них с самого начала, но они не показались интересными. Проект продвигается собственными силами и на собственные средства, которые, по словам Корякина, в основном приносит Wikimapia [Прочие проекты почти заброшены] за счет показа рекламы от Google. "Мы пока маловаты для того, чтобы успешно внедрять коммерческое размещение тех или иных объектов (магазинов, например), – считает Корякин, – но имеем в виду и такую возможность".
Google Maps vs Google Earth
По мнению нашего собеседника, достаточно большим проект станет тогда, когда количество посетителей проекта вырастет вдвое. Возникает резонный вопрос: не является ли интерес к проекту временным, подобно тому, как многие на короткое время увлекаются членством в различных социальных сетях.
"У нас не социальная сеть [Общаться пользователи Wikimapia, конечно, могут, но процесс этот идет вяло. Изначально планировалось и общение к карте привязать, но в дальнейшем было решено не смешивать два этих направления. Общение, говорит Корякин, скорее всего будет вынесено в отдельный проект], – парирует Корякин. – У нас есть желание сделать проект, который станет аналогом Википедии на карте, на которой уже сейчас есть почти шесть миллионов объектов. Мы хотим собрать всю потенциально полезную информацию о каждом месте, а потом ее структурировать, причем создание структуры – уже в ближайших планах". Корякин уверен, что процесс создания такой карты интересен пользователям, и именно поэтому стоит рассчитывать на успех. По оценке Александра, полезность локальной информации растет, и спада быть не должно, тем более что работы пользователям вскоре прибавится.
"Недавно мы ввели функцию добавления очертаний объектов, что теоретически позволяет обозначить на карте любой видимый объект произвольной формы, – рассказывает Корякин – Надеемся, что со временем у нас будет полностью интерактивная карта. Мы уже рисуем дороги со всеми дорожными объектами. Далее – маршруты общественного транспорта. В перспективе – интеграция с навигационными приборами".
Александр и Евгений понимают, что из-за обилия самых разных объектов придется вводить, по аналогии с Google Earth, отключаемые слои на карте. В данный момент нет конкретного решения, которое бы было простым и удобным. Главным козырем в соперничестве с Google Earth Александр считает именно простоту. "Там все очень сложно, – объясняет он. – Нужно приложить немало усилий, дабы научится эффективно использовать программу от Google. Мы в этом плане гораздо дружественнее" [Автор полностью согласен с таким мнением].
Второе достоинство Wikimapia – работа непосредственно в браузерах. С ними, правда, тоже не все гладко: до недавнего времени, как рассказал Александр, браузер при использовании сервиса занимал в памяти компьютера слишком много места (до двух гигабайт!), но мало-помалу ситуация улучшается. Существует практически готовый вариант сервиса, написанный во Flash, однако по действующей лицензии на API от Google использовать спутниковый слой с этой технологией не разрешается.
Спираль эволюции
Корякину двадцать семь лет, Савельеву – чуть меньше. Евгений Савельев закончил Физтех, у него, по словам выпускника Плехановской академии Александра Корякина, гораздо лучше с математикой. В любом случае, оба не случайные люди в программировании.
Сервер проекта работает на ОС Linux, которую Корякин и Евгений изучили досконально. Для программирования используются только открытые продукты: PHP, Apache, nginx и др. Сначала Корякин делал ту часть работы, которая касалась PHP, а Евгений курировал Javascript. Потом работа с языками перешла к нашему собеседнику, а Евгений стал заниматься больше организационными вопросами. Впрочем, все решения принимаются коллегиально.
Одним из таких решений, судя по всему, станет своеобразное возвращение на круги своя. Возможно, Александр и Евгений снова займутся каталогами товаров, вот только помогать в выборе покупок будут пользователи, оставляющие отзывы. "Что касается социальных сетей в чистом виде, – говорит Александр Корякин, – то есть нацеленных главным образом на общение, вряд ли их останется так много, как сейчас".