суббота, 26 декабря 2009 г.

Сумбурный поток хотелок (дежавю?)

Все, надоело, опять нужен каталогизатор. Но прежние хотелки имеют обыкновение толстеть, меняться, отпадать. Чтобы их как-то устаканить, нужно выплеснуть весь сумбур из головы на бумагу.
Но просто выплеснуть - мало. На каждую хотелку сразу возникает мысль:"а как это сделать, а вот это наверное проблематично или долго, а вот это нафиг никому не нужно". Все это преждевременная оптимизация. Нужно в какой-то момент просто быть капризным пользователем, с незамутненным желанием "Хочу это! Лично мне нужно именно это.".

Хочу, чтобы он умел автоматически отслеживать определенную структуру каталогов, и сам обновлял список имеющегося. Чтобы умел автоматически вытаскивать метаинформацию из электронных книг разных форматов. Редактировать как метаинформацию непосредственно в книгах, так и информацию в самом каталоге. Чтобы по частично вбитой информации (ISBN или Title) умел вытягивать полную информацию о книге из определенных источников в сети. Чтобы мог хранить эту информацию, даже если книги фактически нет.

Хочу, чтобы к книгам можно было пришпиливать дополнения (архивы с исходниками, errata). Книги - это не один файл: зачастую это набор однородных или разнородных материалов, уж как получилось достать, так и получилось.
О таких глупостях, как запуск просмотрщиков для каждого формата даже и не заикаюсь, просто должно быть.

Хочу, чтоб была линейная или иерархическая система ключевых слов (тегов). Метаинформацию о книге должно уметь (при желании) преобразовывать в теги, но не наоборот.
Чтобы не только из UI, но и из командной строки можно было запросить книгу, и оно возвращало или путь к файлу, или сам файл.

Чтобы подобно DVCS была возможноть обмениваться с другими каталогизаторами, как списками книг (статей), так и самими экземплярами творчества. И чтобы было легко и удобно! Захотел, просто вытянул список того, чего у тебя нет, а есть на другом конце. Захотел, только список определенных ключевых слов будет задействован. Показал - "хочу это", вытянуло, если на другом конце разрешили.

Чтобы умел экспортировать список для простого обозрения (xml (rss, html)). Чтобы было удобно экспортировать сами книги (все или выборочно), как есть или в виде архивов (возможно с паролем). Если не сильно доверяешь левому Васе Пупкину, то можно не обмениваться напрямую, а залить на какую-нибудь файлопомойку. Но при этом чтобы не было гемороя с ползаньем по каталогам файловой системы и выбором книжек "ручками". Показал запрошенный список, или выбрал нужные из списка - и пожалуйста, формируется архив с запрошенным (флопинет тоже никто, до конца, не отменял).

Вот такой примерный набор хотелок.

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

Но это должен быть не универсальный каталогизатор для произвольного контента, который сильно долго под себя дотачивать. Это должен быть специализированный комплекс, расчитанный только на книги/журналы/статьи (и на сопутствующие материалы).

Чтобы пользоваться было очень легко и удобно настолько, насколько это возможно.

пятница, 25 декабря 2009 г.

Почти само разрулилось

Между делом поборол глюки емакса с меню (все загружаемые моды создавали менюшки без элементов или с элементами из Lisp Interaction). Все решилось пересборкой емакса с опцией WITHOUT_GTK. Попутно емакс и org-mode обновил до последних версий.

Вещи связанные с gtk/gnome/glib, под новый год, определенно доставляют хлопот.

И даже по мелочам писец

Pdftk в портах поломали. Ну с этим-то ничего побыстренькому не сделать пока.
Емакс взбесился, видимо после предпоследнего обновления: менюшки дополнительных скриптов (org-mode, python-mode) пустуют, или содержат в себе элементы какого-нибудь из емаксовой менюшки, которая была на этом месте до запуска соответствующего скрипта.

Одним словом - пидоэпидерсия.

вторник, 22 декабря 2009 г.

gconf радует

Evince отказывается открывать ссылки на внешние ресурсы с помощью заданного броузера.
Решил разобраться. Устанавливаем нужный броузер (проверяем, что все верно).
$ gconftool-2 -t string -s 
/desktop/gnome/url-handlers/http/command
"firefox3 %s"
$ gconftool-2 -g
/desktop/gnome/url-handlers/http/command
firefox3 %s
Выставляю отладочную печать запросов к gconf и запускаю evince, где кликаю на http-ссылку в pdf-документе. Evince быстренько рожает сообщение об ошибке в своем окошке:
Unable to open external link
Failed to execute child process "epiphany" (No such file or directory)
Смотрю в консоль, на запросы сделанные evince к gconfd, все чинно (обращается туда, куда и надо).
$ export GCONF_DEBUG_TRACE_CLIENT=1
$ evince
** (evince:92952): WARNING **: Failed to create dbus proxy for org.gnome.SettingsDaemon:
Could not get owner of name
'org.gnome.SettingsDaemon': no such name
GConf-Message: REMOTE: Query for
'/apps/evince/override_restrictions'
GConf-Message: REMOTE: Query for
'/desktop/gnome/lockdown/disable_save_to_disk'
GConf-Message: REMOTE: Query for
'/desktop/gnome/lockdown/disable_printing'
GConf-Message: REMOTE: Query for
'/apps/evince/override_restrictions'
GConf-Message: REMOTE: Query for
'/desktop/gnome/lockdown/disable_save_to_disk'
GConf-Message: REMOTE: Query for
'/desktop/gnome/lockdown/disable_printing'
GConf-Message: REMOTE: Query for
'/desktop/gnome/url-handlers/http/command'
GConf-Message: REMOTE: Query for
'/desktop/gnome/url-handlers/http/enabled'
GConf-Message: REMOTE: Query for
'/desktop/gnome/url-handlers/http/needs_terminal'
Так откуда ж он этот бляцкий epiphany берет!? :(

понедельник, 21 декабря 2009 г.

трогаем ff3.5

Захотелось поглядеть, как там ff (3.5) развивается за то время, пока я им не пользовался (лет 5, как минимум, спрыгнул на оперу).

Отчего то надрало в нем и опере запустить acid3-тест.
Opera 10.10
Failed 0 tests.
Test 26 passed, but took 141ms (less than 30fps)
Test 69 passed, but took 38 attempts (less than perfect).
Total elapsed time: 3.10s

Firefox 3.5.6
Failed 7 tests.
Test 26 passed, but took 237ms (less than 30fps)
Test 69 passed, but took 168 attempts (less than perfect).
Test 70 failed: UTF-8 encoded XML document with invalid character did not have a well-formedness error
Test 71 failed: expected '1' but got '2' - wrong number of children in HEAD (first test)
Test 75 failed: anim.beginElement is not a function
Test 76 failed: expected '0' but got '100' - Incorrect animVal value after svg animation.
Test 77 failed: expected '4776' but got '7180' - getComputedTextLength failed.
Test 78 failed: expected '90' but got '0' - getRotationOfChar(0) failed.
Test 79 failed: expected '34' but got '33' - SVGSVGTextElement.getNumberOfChars() incorrect
Total elapsed time: 4.96s


Конечно не критерий, но как говорят: "мелочь, а не приятно".
Правда на единичных фактах доказывать, кто из броузеров румяней и белее, не собираюсь. Это тема для отдельного и большого поста, содержание которого может потерять актуальность уже через довольно короткий срок.

Никто не сомневался, что сходу будет не хватать мелочей, к которым уже привык:
- настройка key-binding'ов: в опере, для юнихов есть специально заготовленный пофиль; кроме того, любой профиль можно взять за основу собственного, настроенного под себя;
- speed dial;
- некоторые внутренние настройки (например, запретить отсылку referrer'ов);
- разные режимы показа (author mode, user mode) и настройка режимов под себя;
- автовыравнивание страницы.

Как только запускаешь и медленно ощупываешь непривычный броузер, он кажется голым.
Но в том и прелесть, что в ff все перечисленное, и куча всего, что в опере нет (и возможно не будет), достаточно просто настраивается аддонами. Может и правильнее было бы сразу засунуть некоторые возможности "в коробку", но я от этого сильно не страдаю.

воскресенье, 13 декабря 2009 г.

Зачастую все выходит само-собой

Некоторые обладатели гаджетов для чтения электронных книг сразу приступают к расхваливанию своего приобретения или же наоборот, начинают его ругать за просчеты разработчиков. Я наверное еще не достаточно долго попользовался своим ридером, чтобы делать подобное. Меня пока все устраивает.

Опишу, как на момент покупки выбирал себе подходящий девайс (выбран PocketBook 301 Plus).
Инструменты стараюсь подбирать под свою ситуацию и (зачастую) привычки. При покупке техники меня привлекает простота использования, простота обслуживания, приемлемое соотношение цена/качество, некоторая минимальная функциональность, наличие сервисного центра в родном городе. Это критичные требования. Для ebook-reader в голове уже был готов следущий список:
1. 6-ти дюймовый дисплей (т.е. покрупнее из того, что в наличии).
2. Широкий набор поддерживаемых форматов: есть куча документации и книг pdf, chm, html, djvu, fb2, txt.
3. Покупка за наличные: есть возможность пощупать, попробовать в работе, выявить брак и попросить другой экземпляр, итд.
4. Присутствие сервисного центра в родном городе.
5. Возможность менять и модифицировать ПО по своему усмотрению (на случай неких ограничений в фирменном).
6. Не перегруженная лишними кнопками панель прибора.
7. Простое и удобное управление: удобно держать в руках (желательно в одной руке) и управлять поменьше раскорячивая пальцы на разные кнопки.
8. Без лишних наворотов: отсутствие лишних функциональных узлов и максимально возможная простота (и цена) ремонта (гарантийный срок не вечен).

Необходимости в привязке гаджета к какому нибудь онлайновому сервису у меня нет (я даже, наверное, против этого).

Собственно размер экрана и набор поддерживаемых форматов оставили только одного стабильного претендента (PocketBook). 6-ти дюймовые модели Azbuka и Lbook v3 new и v3 ext сняты с производства или только оптовая закупка (в продаже исключительно 5-ти дюймовые модели). В Sony бедный набор поддерживаемых форматов (главная причина), цена подороже, с покупкой и возможным ремонтом небольшие затруднения для моего города.

PocketBook 301Plus: fb2, txt, pdf, djvu, rtf, doc, html, chm, prc, epub, doc, tcr (jpeg, bmp, png, tiff).

Тут бы впору огорчиться таким бедным ассортиментом, но все сложилось удачно: Pocketbook полностью подошел по всем критериям, которые я перечислил, поэтому мне не пришлось испытать никаких сомнений и душевных мук. С чем себя и поздравляю. :)

понедельник, 7 декабря 2009 г.

Здравые инстинкты победили здравую мысль :)

Желание из предыдущего поста хорошо подумало, и отклонило мое решение, об отклонении упомянутого желания. :) Так что теперь я стал владельцем ридера PocketBook 301 Plus.

Эту модель я выбрал из-за 6-ти дюймового дисплея. Вроде бы более "вкусная" (а заодно и более дешевая) модель PocketBook 360 , в 5-ть дюймов, при сравнительном обзоре проиграла - дюйма не хватает (стар стал и подслеповат). Увеличение шрифтов конечно здорово, но слишком уж мало влезает на экран. Настолько визуально разница раздражала, что раздумывал не сильно долго. Пришлось скрепя сердцем брать подороже. Жаль что туда впендюрили mp3-плейер, который мной игнорируется (фигня не для этого гаджета).

Вкусного в модели 360 были автоповорот изображения (встроен гиродатчик) и малый размер, гаджет спокойно залезает почти в любой карман. Разницу в 20 грамм я не беру в расчет вообще. Но оказалось, что "вкусное" мне особо и не вкусно: я большой и карманы у меня большие, 6-ти дюймовка нормально влезает. Автоповорот экрана я бы выключил, рано или поздно: не приятно, когда изображение прыгает при смене положения и жрет заряд. Тем более что поворот изображения в 301-ой модели делается за 4-ре нажатия практически вслепую. А прошивка практически одна и та же.

Итог: кроме удушения своей зеленой жабы я больше никакого дискомфорта не испытал.
Радуюсь удачному для меня выбору и наслаждаюсь чтением. :)

Кстати, внутри Linux, SDK выложен в открытый доступ. Из-за этого момента я и обратил внимание на сей ридер, по наводке моего жж-френда phd. По соотношению цена-качество гаджет, в итоге, меня устроил больше, чем остальные модели этого и остальных производителей.

P.S.
Под freebsd 7.2 stable устройство не видимо как флешка; даже обещали, что будет видно "две флешки" (внутренняя память и sd-карточка). Ну да и ладно, всему свое время, может на 8-ке поправили. А пока мне sd-карточку не лень переставить из ридера в нотик лишний раз.

суббота, 5 декабря 2009 г.

Нет ридерам?

Хорошо подумав над покупкой e-book reader, решил сие желание отклонить как диверсию: я работать перестану, если можно будет развалиться на диване или кресле и удобно почитать такую кучу книг. :)
Ну или подожду пока эта заманчивая гадость на четверть подешевеет.

воскресенье, 29 ноября 2009 г.

Страх возникает внутри сразу же, как только для него внутри освободилось место.
Место для него есть всегда. Но когда пропадают мысли, остальные чувства, пустота -- место для страха освобождается намного больше. Тогда и возникает то ощущение, которое люди привыкли называть страхом.

воскресенье, 15 ноября 2009 г.

Freebsd 7.2-stable, Atheros AR5BXB63

Для своего ноутбука (Dell Studio 1535) приобрел встроенную wifi-карту "Atheros AR5006EG Wireless Network Adapter", модель AR5BXB63. Обошлась мне она всего в 150 грн (почти 19$).

Нашел на радиорынке случайно, но взял почти не раздумывая — давно искал хоть что-нибудь из Atheros (или поддерживаемую модель от Intel). Предыдущая карта — Broadcom (BCM4310), не имеющая драйверов для linux и freebsd, вынуждала пользоваться ndis. Ее работу лишь с некоторой натяжкой можно назвать удовлетворительной, и удовлетворять она меня перестала окончательно.

В связке старой карты и ndis-драйвера было много неприятного, что выяснилось только в процессе длительной эксплуатации. Не работает сканирование доступных устройств. При выключении беспроводных устройств (тумблером на панели нотика) или выходе за пределы видимости точки доступа устройство не желало заново соединяться (приходилось делать это вручную), а в логе (при неудачной фазе луны) начинали вылазить сообщения об ошибках из ndis-драйвера. Ошибки появлялись при длительной работе (больее суток) или большом объеме скачанной/отданной информации. Не работал световой индикатор wifi на панели ноутбука. Вообщем, терпеть подобное можно не более полугода, а дальше вопрос о замене становится очень актуальным.

Новая карточка решила практически все недостатки своей предшественницы. Система ее распознала без лишних телодвижений (драйвер ath по умолчанию вкомпилирован в ядро). Не удалось только заставить работать световой индикатор (трюк, используемый на Acer-овских нотиках, не сработал):
sysctl dev.ath.0.ledpin=3
sysctl dev.ath.0.softled=1
А в остальном все пока работает более чем пристойно, без ошибок. Конечно же дальнейшая эксплуатация выявит недостатки, но по сравнению с предыдущей их пока не видно. :)

Вывод: устройства на чипсетах от Atheros продолжают оставаться очень хорошим выбором для работы с открытыми ОС. Broadcom — это кошмар.

вторник, 3 ноября 2009 г.

Едкое

Дожили! У гугла не работает поиск по блогам.
Правильнее будет сказать, что не у всех он работает.
В блоге где я потихоньку выкладываю список имеющихся в коллекции книг, поиск по блогу находит только самые свежие записи. Запись за 28-sep-2009 уже не доступна для поиска, на сегодняшний день (за этот период записей вообще мало). Зато из обычного гугловского поиска записи прекрасно находятся.

У кого возникла подобная проблема, может помочь работникам гугла пофиксить проблемы, заполнив маленькую форму с тестовыми данными.

понедельник, 26 октября 2009 г.

Ужасное настроение

Просматриваю книгу Брюса Эккеля "Thinking in Java". После языка Python чтение вгоняет в невыносимую тоску, просто жуткое зрелище. Бедность и корявость языка не компенсирует даже богатая стандартная библиотека. Не позавидую себе, если прийдется на этом программировать. В голову пришла мысль: Java это Python, переболевший оспой и полиомиелитом. Даже преимущества статической типизации бледнеют.

Но прочитал пока не так много, надеюсь, что дальше будет слегка получше.

Кстати говоря, начинал читать перевод книги. Так вот, лучше читайте оригинал. Я не подмечал, есть ли там огрехи перевода, но примеры исходных текстов исковерканы (местами пропущены точки и двоеточия).

Высокий рабочий стол: мысли о рабочем месте

После непродолжительного времени работы в новом положении (стоя) сделал вывод. Рабочее место должно обеспечивать оба положения.

Недостаточно удобно все время стоять или сидеть: организму нужна просто периодическая смена положения. Если я целый день буду стоять у монитора, заболят ноги, если сидеть - заболит седалище. Стоя работать легче, перерывы делать действительно проще, удобнее отвлекаться на рабочую доску, но без сноровки целый день оказалось не просто вытерпеть.

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

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

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

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

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

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

среда, 21 октября 2009 г.

Высокий рабочий стол: два дня работы

Топорный макет для проверки условий работы за компьютером стоя обладает недостатком: не обеспечивает достаточную площадь поверхности, мышь уже некуда поместить. Некоторые работы, к сожалению, еще пока требуют ее использования.
Еще один недостаток, уже мой личный, привычка горбиться за столом. Отсюда некоторая усталость спинных мышц в новом положении.

Но даже не смотря на эти недостатки, лично для моей ситуации, достаточно плюсов.

1. Если уровень рабочей поверхности правильный, то сохраняется осанка. Горбится стоя почему-то не получается. Руки находятся в удобном положении, когда запястья слегка касаются клавиатуры, локтевой сустав расположен под углом чуть большим чем 90 градусов: предплечья достаточно расслаблены. Т.е. по идее достигается та самая идеальная осанка, которую не выходило выработать сидя. Глаза расположены на должном расстоянии от экрана.

2. Я не скован в движениях.
Стоя на месте ноги сами по себе не дают мне стоять столбом: небольшие движения не позволяют им так затекать, но и не отвлекают. Достаточно повернуться, чтобы сделать пометки на маркерной доске. Чтобы "встать" и размять спину, руки, ноги достаточно сделать шаг в сторону, получив достаточно пространства для любых резких движений.
Я работаю дома (есть маленький любознательный и активный ребенок). Приходиться иногда отвлекаться на домашние проблемы. Сделать это гораздо легче, чем чертыхаясь выползать из-за стола, отодвигая стул или кресло.

3. Не нужно сидеть задницей на стуле -- основная цель. Перспектива заработать простатит и гемморой меня не вдохновляет. А постоянное сидение тому очень способствует, особенно при отсутствии регулярных и серьезных физических нагрузок. Глаза тоже дают о себе знать. Заставить себя встать, чтобы сделать перерыв, значительно сложнее.

Положение стоя даже провоцирует на частую смену положения: стоять не настолько удобно, как сидеть. Работа может не прекращаться, мозг продолжает работать. Но самому не обязательно пялиться в монитор: все процессы в голове. Отойти на секундочку потянуться и встать назад очень просто. Да и большинство хороших идей не посещают меня на рабочем месте, как (по отзывам) и остальных.

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

Далее нужно вложить чуть больше, чем две секунды времени, в прототип, и глядеть что же будет дальше.

понедельник, 19 октября 2009 г.

Высокий рабочий стол

Я уже и забыл, что можно делать не только макеты програм. Цель макета - быстро реализовать идею в приближенном варианте: работает ли вообще, какие выявятся недостатки, какие преимущества, ну итд.
Носился я как-то с мыслью о рабочем столе, за которым нужно стоять. Заказывать такой мне не хватало времени да и выкинуть деньги на ветер тоже не хотелось. И тут вдруг понял, что идею можно легко воплотить подручными средствами для проверки ощущений. Всего то нужно поставить на стол обычный деревянный табурет, на который положить ноутбук.
Полившаяся высота рабочей поверхности мне сразу понравилась (в таком положении и пишу). После напишу о том, как повел себя "макет" в боевых условиях, да и собственно о том, зачем это было нужно.

суббота, 26 сентября 2009 г.

Реструктуризация

Чтобы избавить себя от дурной работы я решил перенести список книг в отдельный блог. Дешево и сердито (blogspot это позволяет), а система тегов для структуризации списка меня пока устраивает. И не нужно пополнять список в двух блогах, обновляя содержимое еще и на домашней странице.
Вообщем, список книг теперь на ysae-books.blogspot.com. Сперва начну посты со списками уже имеющихся.