7/02/2009

Solang: покажите мне ваши фотографии

Давние читатели наверняка помнят цикл заметок, в котором я с переменным успехом пытался найти замену неповоротливому F-Spot'у. Этот пост от части будет напоминать предыдущие тирады. Перво-наперво хочу сообщить вам новость о новом каталогизаторе на GTK+ под кодовым именем solang. Еще одна попытка воплотить идею удобного и функционального фотоменеджера, на этот раз, используя C++.

solang photo manager

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

sudo aptitude install libflickcurl-dev libsoup-gnome2.4-dev libwebkit-dev libcurl4-gnutls-dev

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

Мой выбор опять переметнулся в сторону Picasa. Удивительно, третья версия, несмотря на алкогольную (Wine) реализацию, работает молниеносно и демонстрирует приятную анимацию. К одному не могу привыкнуть — альбомы-каталоги. F-Spot с общим timeline в этом плане импонирует больше.

Интернет сейчас переживает новый всплеск священных войн. Объект выбрали подходящий. Это наш горячо любимый Mono. Мое отношение к нему, с точки зрения пользователя, нейтральное. Есть отличные приложения, такие как Banshee и gnome-do. Они меня вполне устраивают. Без второго вообще не могу обойтись, так привык. Впрочем, в семье не без урода, F-Spot четко вписывается в эту поговорку. Что касается включения Mono в стандартную поставку дистрибутива, вопрос больше юридический. Если бы нашлась замена объективно качественным программам на Mono, можно обойтись :-) Сейчас намечается тенденция по портированию некоторых проектов. Это и нашумевший Gnote — порт Tomboy на C++, при желании и solang попадает под эту гребенку. По-моему, это шаг в правильном направлении. Если клоны переплюнут подозрительных в юридическом плане праотцов, им прямая дорога в default пользовательского окружения. А на сэкономленные мегабайты дискового пространства пусть мультики запишут ;-)

Читать дальше...

6/30/2009

Как google свинью подложил или хостинг файлов для блогера

Получил давеча письмо-уведомление от Google Sites Team. Сим посланием они предупредили, что после переезда Pages в состав Sites, все чужеродные файлы, хранящиеся там, будут недоступны. Под чужеродными файлами подразумеваются js, css, архивы — все кроме картинок. Признаюсь честно, такого фортеля не ожидал. То ли это связано с возросшим вниманием со стороны нехороших дядек, беспощадно выкладывающих варез на серверах гугла, то ли сервис стал убыточным, как youtube. Так или иначе, пришлось срочно подыскивать замену. К слову, у меня там были размещены иллюстрации к первым постам, css, парочка яваскриптов и картинки для шаблона блога.Первая мысль была наивной и мимолетной — переметнуться на сторону «красных», то бишь найти политическое убежище у яндекса. Искал, не нашел. Сервисы наподобие Яндекс.Народ мне по понятным причинам не подходят: ограничение времени хранения, отсутствие прямых ссылок.

Поиск в русскоязычном сегменте показал абсолютно индифферентное отношение нашего брата к надвигающейся угрозе. А вот коллеги-блогеры, излагающие на языке Шекспира, подготовились заранее. Выбрал первый в списке сервис-заменитель — Weebly. После непритязательной регистрации открылась страница с инструментами и макетом будущего сайта. Во вкладке "Multimedia" расположен элемент "File". Методом drag'n'drop кидаем элемент на страницу и загружаем необходимый контент.

Пару слов о контенте. Ваши файлы с Pages проще всего забрать одним архивом, перейдя по ссылки вида http://pages.google.com/migrationInfo/имя_сайта, где имя_сайта — ваш адрес googlepages.
Пришлось вчера потратить некоторое время на «перебивание» ссылок, но теперь, надеюсь, угроза миновала и блог будет по-прежнему отображаться.

Читать дальше...

6/22/2009

Время велопрогулок

В Минске, да и в других городах популярность велосипедов растет с каждым годом. Давайте попробуем объяснить причину этой аномальной тенденции. Во-первых, велосипед позволяет вам сидеть, а значит привычная поза у компьютера остается нетронутой. Во-вторых, ничто так реально не педалит, как велосипед. С этим, думаю, все согласятся. В-третьих, двухколесный конь не требует экзотической категории прав для вождения или каких-то сверхнавыков, "порог вхождения" минимален. И это далеко не весь перечень. Надеюсь, мысленно вы со мной согласились - затронутая тема актуальна и нуждается в детальном рассмотрении. Я не буду касаться нравственных аспектов вождения велосипеда, каждый самостоятельно выбирает манеру езды. Предметом нашего разговора станет молодой и перспективный сервис для аккумулирования безопасных веломаршрутов.
BikeMe, он же bkme призван облегчить жизнь велосипедисту, предоставив на обозрение рауты пользователей и возможность создавать свои собственные. Теперь вы наглядно продемонстрируете подрастающему поколению, как человечки на двух колесах попадают из пункта A в пункт B, с какими трудностями встречаются на своем пути и где взять мужество для их преодоления. Подозреваю, что вам понравится отсутствие регистрации (вместо нее OpenID) и картографический сервис по умолчанию, роль которого мужественно исполняет OpenStreetMap. Места боевой славы обозначаются двумя способами: либо ручным рисованием посредством расстановки меток/фишек, либо с помощью загрузки GPS-трека. За неимением навигатора, был избран первый вариант. Так выглядит мой основной маршрут:


Правда, указать второстепенные параметры, как то промзоны с собаками, тротуарные и дорожные участки, я пока не удосужился. Зато успел побеседовать с разработчиком сервиса - Аркадием Чумаченко, который, к слову, оказался нашим человеком по части приверженности к Free Software и OpenSource, а также согласился дать небольшое импровизированное интервью.
____
Традиционно первый вопрос будет касаться вас самих. Расскажите о себе, чем занимаетесь, повлияло ли творчество Корнея Чуковского на ваше становление в жизни? :-)
Сам я по профессии программист, по образованию - не совсем, но тоже компьютерщик. В студенчестве баловался веб-сайтами, потом немного занимался разработкой игр в CREAT studios, а после Криата захотел свободы, поверил в свои силы и ушел на веб-фриланс, часто больше похожий на дауншифтинг. На велосипед сел в 12 лет, на что, видимо, повлиял не Чуковский и "ехали медведи на велосипеде", а Меркьюри с его "I like to ride my bicycle" :)

bkme имеет четкую социальную направленность и явно создавался "для себя и людей". Когда вы решили воплотить свой замысел и какие цели преследовали при проектировании?
Давно была мысль сделать что-то свое, и необязательно ради денег. А весной друг, заядлый "катун", рассказал, как ездил почти через весь город по удобному тротуару на набережной, а еще чуть позже я вспомнил, как этому же другу показывал "секретный" маршрут через переход под железнодорожными путями - тут и родилась идея дать другим возможность поделиться такими вот неофициальными велодорожками. Буквально за ночь (не спалось чего-то) сделал прототип, понравилось, двинулся дальше. Хотя тут термины "проектирование" и "цели" не очень применимы. Я сам человек не очень общительный, в вело-тусовке не вращаюсь, и собирать серьезную команду для работы над проектом на чистом энтузиазме мне как-то не очень хочется, так что проект пока идет just for fun.

Изначально сервис отображал маршруты на фоне карт Google. С чем связан переход на OpenStreetMap и какие преимущества OSM дарит пользователям?
Все банально - в OSM есть карты многих городов, которых нет в Google/Yandex (не обязательно мелкие - Минск и Краснодар, например), а карты Москвы или Питера гораздо более актуальные. Я был удивлен, но факт - на Google Maps нет открытых с полгода назад развязок, а в OSM - пожалуйста. Более свежих ориентиров я просто не вспомнил :) Плюс, библиотека OpenLayers умеет переключаться между разными провайдерами карт, в том числе и Google. Собственно, я уже подключил гугловские карты и спутниковые фото, но пока не починил для них перемещение по карте.

Часто ли приходилось сталкиваться с проблемами технического характера? Назовите наиболее яркие скачки в эволюции ресурса.
Главной проблемой стало падение базы данных 1 июня. Пропало почти 200 маршрутов, почти сразу резко уменьшилась посещаемость... В общем, неприятно. Если же брать чисто разработку... я в основном занимаюсь серверным программированием, так что много времени и сил отнял javascript, особенно переход на OpenLayers - она очень мощная и навороченная. Из скачков могу отметить опять же скорее организационные моменты - посты о сервисе на Интернетных Штучках и Сайтах Дня у Рамблера. Причем, если Рамблер брал интервью, и я о посте знал заранее, то пост в ИШ был полнейшей неожиданностью - я увидел свое же "лого" в ленте Google Reader и почти расстроился, что кто-то уже использовал эту иконку, а только потом заметил скриншот своего сайта :) Конечно, после этого желание сделать что-то реально крутое совсем оформилось и окрепло :)

OpenID, OSM, Django - проект буквально зиждется на открытых технологиях. Как, по-вашему, справляется выбранный "каркас" со своими обязанностями? Если бы вы начали создавать bkme сейчас, изменилась бы его начальная концепция и используемые инструменты?
Инструменты бы точно менять не стал - Django неоднократно показал себя с лучшей стороны на многих веб-проектах, где я принимал участие (взять хотя бы bobrdobr.ru - до его нагруженности bkme если и дорастет, то очень нескоро). Концепцию... тоже, наверное. Может быть, больше бы уделял внимания всяким социальным штучкам и просто демонстрации маршрутов (а-ля gpsies.com, но с велосипедными прибамбасами). Хотя, с другой стороны, есть идеи по созданию совсем крутой автоматической прокладки маршрута, но для этого нужна солидная база этих самых маршрутов.

Настоящее проекта мы можем лицезреть. Что ждет велосипедистов, использующих браузер, завтра, то бишь в недалеком будущем?
Есть идея сделать единый location-based портал для велосипедистов (и, наверное, немножко роллеров:). С поиском готового маршрута, удобной публикацией своего, организацией покатушек (да, уже есть katushk.in, но у меня пользователи несколько раз уже просили эту фичу:)), библиотекой интересных точек маршрутов (достопримечательностей, веломагазинов и мастерских, biker-friendly заведений и просто красивых мест для отдыха). Возможно - со службой помощи велосипедистам, у автомобилистов есть, а чем мы хуже? :) Недавно вот люди с velo-gorod.ru предложили проводить игры по ориентированию (аналог Бегущего Города, не столь масштабные, зато довольно часто) - не уверен, что у меня на это сейчас хватит пороху, но в перспективе - почему бы и нет? :)
А вообще, сервису пока всего 2 месяца, а идей уже море - надеюсь, что регулярно будут появляться и реализовываться новые.
____
От себя хочу пожелать проекту роста и процветания. А читателям предлагаю чаще отвлекаться от компьютеров и следовать здоровому образу жизни, энергично раскручивая педали ;-)

Читать дальше...

6/03/2009

За кулисами браузера

На рыбалке, как известно, ценится не улов, а сам процесс. Блогинг отличается от забрасывания удочек — подготовка постов и поиск тем отнюдь не монотонное слежение за поплавком, это больше походит на охоту.
Сегодня я хочу рассказать вам о "закадровой" подготовке, проследить движение по цепочке. Итак, сначала было слово. Нет, сначала был предмет разговора, точнее не предмет, а тема, о которой хочется написать. Тут все просто до безобразия: или я ставлю сети в RSS-агрегаторе и неустанно слежу за интересными новинками, или google/delicious подкидывает пищу для размышления, или смотрю в потолок и ожидаю музу дальних странствий... таких "или" довольно много, поэтому они имеют свойство материализовываться. Представим, что тема найдена. Необходимо удостовериться в ее благонадежности, то есть узнать, подходит ли она к профилю блога. Чаще всего я пишу о программах и стараюсь выбирать соответствующие темы. Переходим к процессу написания.
Если муза настигает вне досягаемости компьютера, на помощь приходит телефон, который через мобильную версию evernote посредством слепого двупальцевого метода осуществляет перенос информации в осязаемые байты. Если компьютер рядом, использую стандартный редактор gnome — gedit.
Текст набран, пора взяться за иллюстрации. Возникающие на экране образы сохраняются чрезвычайно удобной программой shutter (обзор на rus-linux.net). Далее приступаю к web'ианизации, включающей форматирование текста, расстановку ссылок и выгрузку картинок. Всем этим заправляет Petrus Blogger, уже рассмотренный на страницах "Крапленой колоды".
Как это происходит у вас, коллеги-блогеры?

Читать дальше...

5/28/2009

GoldenDict. Не простой, а золотой

Программа GoldenDict не так давно появилась в заголовках новостей ЛОРа, но уже успела вырасти до релиза 0.9 и переманить на свою сторону некоторых пользователей StarDict. Давайте посмотрим, что там блестит и можно ли считать это золотом.
Для начала небольшая ложка дегтя, ввиду новизны проекта или по ряду других причин на сайте отсутствуют пакеты для популярных дистрибутивов. Можно скачать уже скомпилированную сборку (12 Mb) и после распаковки сразу же приступить к использованию. Второй вариант для храбрых рыцарей — компиляция. Мы ведь не из робкого десятка, так? Ставим необходимые библиотеки:

sudo aptitude install libxtst-dev libvorbis-dev zlib1g-dev libzip-dev libhunspell-dev x11proto-record-dev
Забираем последний архив с исходниками и компилируем внутренности:
qmake
make
С недавних пор я стал использовать checkinstall. Этот инструмент позволяет без лишних усилий собрать deb-пакет для собственных нужд. Преимущество в том, что вы легко сможете удалить программу, не засоряя системных директорий. Поэтому следующая команда у меня:
sudo checkinstall

GoldenDict

Запускаем-проверям. Приложение любезно импортировало существующие словари StarDict'а (SD). Все на месте, интерфейс логичный. В том же SD, по-моему, перестарались с количеством кнопок, иконок и прочей атрибутики. Рендеринг статей нареканий не вызывает, WebKit уже не мальчик. Он, как нетрудно догадаться, отвечает и за online-словари с википедией. Цветовое оформление мягкое, салатовых и розовых вкраплений, коими славится конкурент, нету. В принципе этих доводов уже достаточно, чтобы заменить звезду на золото. Пока поселил их вместе, понаблюдаю.

StarDict

Во время подготовки поста набрел на репозиторий с правильным StarDict'ом. Правильность заключается в починенной пиктограмме (ох, как она меня раздражала), то есть прозрачность и обтекаемость гарантируется. Наглядный пример:


Выбор за вами ;-)

Читать дальше...

5/11/2009

Остановка диска в Jaunty. Временное решение

Все хорошо в Зайцелопе за исключением одного весьма досадного бага. Тем обиднее, что баг свежий — до обновления все работало.
Диагноз следующий: sdparm перестал останавливать жесткий диск, в моем случае внешний накопитель на 500 Гб, подключаемый посредством USB.
Вчера, наконец, удалось найти решение. Необходимо остановить обработку событий udev перед манипуляциями с диском.
Написал до поры до времени скрипт, автоматизирующий выполнение нескольких необходимых команд.

#!/bin/bash
exec 2>&1
udevadm control --stop-exec-queue
umount $1
sdparm --command=sync $1
sdparm -6 -f --command=stop $1
echo -n "You can unplug device now. Do you want to start udev events? (y/n) "
read x
case "$x" in
y | yes )
udevadm control --start-exec-queue
echo "Signal udevd to enable the execution of events.";;
n | no ) echo "Signal udevd to stop executing new events.";;
esac

Скрипт принимает в качестве аргумента адрес устройства, например:
eject-off /dev/sdb1

Всех заинтересованных прошу отписаться на странице бага в launchpad.

Читать дальше...