30 сентября 2008 г.

Подготовка фотографий к публикации в интернете. Часть 2.

Благодаря комментариям читателей узнал несколько интересных вещей по теме. Итак, во-первых, оказывается, convert умеет производить «умный» ресайз: достаточно вместо ширины ввести квадрат, например 1024x1024, тогда convert «впишет» изображение в этот квадрат, сохраняя соотношение сторон исходной картинки.

Во-вторых, при уменьшении картинки часто возникает необходимость в повышении чёткости оной. Более подробно об этом писал Владимир Долженко.

Подготовка фотографий к публикации в интернете.

Не так давно я обзавёлся цифровой камерой, и на моём жёстком диске гордо заняла своё место и начала расти немалая стопка фотографий. Захотелось ими поделиться, но не тут-то было: мой асимметричный канал всяко противился загрузки фотографий в их исходном качестве (по 3,5 МБ на фото). Поэтому потребовалось придумать что-нибудь этакое, способное ресайзить фотографии пачками. Ещё мне хотелось поместить на них т.н. watermark («водяной знак») — поместить в один из уголков своё имя.

25 сентября 2008 г.

qutIM — полноценный icq-клиент для Linux.

Помнится, я очень сильно страдал из-за отсутствия полноценного асечного клиента в Linux: licq сразу же растерял мой контакт-лист, centericq не прижился из-за своей «консольности», мультипротокольные клиенты (и licq заодно с ними) страдали общей проблемой с кодировками (да, ася по-прежнему работает в местной cp1251 и всемирной utf-8 одновременно).

И это в то время как пользователи Windows обладали отличными асечными клиентами: Miranda, R&Q, qip. В начале текущего, 2008 года, на улице пользователей icq случился праздник: появился клиент qutIM, являющий собой полноценный аналог старого qip (и гораздо менее чудовищный на вид, кстати).

9 сентября 2008 г.

Hab.la

В ленте случайно наткнулся на ссылку на сервис Hab.la, который позволяет встроить в вашу страницу виджет, дающий возможность начать чат в реальном времени между гостем и хозяином сайта. Основано это великолепие на протоколе Джаббер, при чём вам предлагается либо использовать аккаунт @Hab.la как отдельный JID, либо подключить его транспортом к вашему JID, поддерживается даже GMail. После регистрации вам предоставляется аккаунт, транспорт и html-код со ссылкой на ява-скрипт, который предлагается встроить в код страницы. Если ваш сервис не поддерживает встраиваемые ява-скрипты, можно подключить «кнопку», которая каким-то образом (уж простите, не силён в веб-технологиях), перенаправляет нажавшего на своего рода гейт, который позволяет открыть виджет чата и продолжить беспрепятственный сёрфинг по сайту. Максимально возможное число пользователей, с которыми можно вести чат — 5 человек, поэтому флуда быть не должно. В порядке эксперимента встроил в свой блог сам скрипт. Посмотрим, что из этого выйдет.

1 сентября 2008 г.

О раскладках клавиатуры — 2

Рассказывая о раскладках клавиатуры в прошлый раз, я забыл упомянуть о типографской раскладке Ильи Бирмана. Исправляю это упущение. Особенностью этой раскладки является наличие ещё одного регистра клавиатурной раскладки: по клавише AltGr, или «правому Alt», мы получаем возможность использовать некоторые особенно полезные в блоггерском деле символы Unicode, например кавычки-«ёлочки» или кавычки-„лапки“, или, очень важный, но часто игнорируемый символ, — длинное тире, знак «ударе́ния» и знак §параграфа. Полный список символов можно обнаружить на сайте Ильи. Однако, он предлагает решение для Windows. Внимательный читатель найдёт в самом низу страницы с описанием типографской раскладки ссылку на некую «версию для Линукс».

31 августа 2008 г.

День блоггера и пеар. :)

Всех блоггеров с праздником! Интересных постов вам и вашим коллегам, блоги которых вы читаете! Адекватных анонимов и полезных идей в комментариях! Удач и позитива по жизни вам, коллеги! :)

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

30 августа 2008 г.

О раскладках клавиатуры

Некоторое время назад меня увлекла тема альтернативных клавиатурных раскладок. Материала по этой теме нашлось немало, посему предоставляю на ваш суд статью несколько отдалённую от Свободного ПО, но, в то же время, неразрывно связанную с ним.

А начну я, пожалуй, с того, с чего и должна начинаться нормальная статья любого уважающего себя блоггера - с истории вопроса. Раскладка первых печатных машинок поражала воображение - все буквы были расположены строго по алфавиту. Однако, при быстрой печати на таких печатных машинках возникали проблемы - литеры наиболее часто используемых символов находились слишком близко друг к другу, поэтому ножки при скоростном наборе цеплялись друг за друга и застревали (примерно так). Тогда-то, в 1868 году, Кристофер Шоулс развёл наиболее часто используемые символы по сторонам и рядам, благодаря чему литеры перестали застревать. (По материалам Википедии.)
[`][1][2][3][4][5][6][7][8][9][0][-][=][\]
[TB][q][w][e][r][t][y][u][i][o][p]{[}{]}
[CPS][a][s][d][f][g][h][j][k][l][;][']
[SHFT][z][x][c][v][b][n][m][,][.][/]

[~][!][@][#][$][%][^][&][*][(][)][_][+][|]
[tb][Q][W][E][R][T][Y][U][I][O][P][{][}]
[cps][A][S][D][F][G][H][J][K][L][:]["]
[shft][Z][X][C][V][B][N][M][<][>][?]

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

Эта раскладка была разработана в 1936 году доктором Августом Двораком. Основной целью её разработки стало снижение нагрузки на руки машинисток. Основные принципы клавиатуры Дворака:
  • Знаки должны набираться поочерёдно обеими руками.

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

  • Соответственно, наименее используемые знаки необходимо разместить в нижнем ряду - наименее удобном для доступа.

  • Основная часть нагрузки должна лечь на правую руку, т.к. большинство людей - правши.

  • Наиболее часто используемые вместе буквы не должны находиться под соседними пальцами.

  • Набор должен производиться от краёв к центру. Постучите пальцами по столу, как будто нервничая - и вы заметите, что для вас привычнее и удобнее ударять сначала мизинцем, потом безымянным и т.д., то есть в обратном порядке.

(По материалам Wikipedia)

Клавиатура Дворака предназначена для американского английского языка - ведь в каждом языке имеются свои "буквы-любимицы". Поэтому существует несколько раскладок для европейских языков, построенных по принципу клавиатуры Дворака. (Например, такие есть в Германии и Швеции.) Кроме того, Дворак разработал раскладки для печати одной рукой. Ниже приведена раскладка Дворака для клавиатур США.
[`][1][2][3][4][5][6][7][8][9][0]{[}{]}[\]
[TB]['][,][.][p][y][f][g][c][r][l][/][=]
[CPS][a][o][e][u][i][d][h][t][n][s][-]
[SHFT][;][q][j][k][x][b][m][w][w][v]

[~][!][@][#][$][%][^][&][*][(][)][{][}][|]
[tb]["][<][>][P][Y][F][G][C][R][L][?][+]
[cps][A][O][E][U][I][D][H][T][N][S][_]
[shft][:][Q][J][K][X][B][M][W][V][Z]

Я освоил эту раскладку и уверен, что своей цели она достигает: печатать становится удобнее, однако очень сложно привыкнуть разделять владение двумя разными раскладками одного и того же алфавита: первое впечатление при обратном переходе было неприятным, как будто впервые за клавиатуру сел. Ещё одним серьёзным недостатком является привязка хоткеев к QWERTY раскладке: клавиши zxcv, например, расположены куда менее удобным для нажатия комбинаций с CTRL одной рукой образом. Впрочем, к ним тоже можно привыкнуть, или извернуться и поковырять файлы, отвечающие за раскладки клавиатуры.

Кроме разработки доктора Дворака существует ещё несколько известных раскладок клавиатур: например, Colemak и Maltron. Первая, к слову сказать, является открытой разработкой, своего рода адаптацией QWERTY под человеческие руки (многие клавиши расположены так же, как в самой старой раскладке, QWERTY, поэтому её легче учить, чем раскладку Дворака, в которой с QWERTY по расположению совпадает лишь несколько клавиш). Кроме того, отдельно отмечу гениальное решение - назначить клавише Caps Lock, бессмысленной в её первоначальном предназначении, столь удобно лежащей возле левого мизинца, значение клавиши Backspace. Невероятно удобно!

Раскладка Colemak: http://www.colemak.com/

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

UPD: Для удобства русскоязычных пользователей также существуют фонетические раскладки латиницы: сходные по звучанию в английском языке буквы находятся на месте аналогичных по звучанию русских букв в раскладке ЙЦУКЕН. Такие раскладки созданы для тех, кто освоил слепую печать кириллицей, но хочет также быстро печатать по-английски, не тратя время на изучения слепой печати на QWERTY или Dvorak-раскладке.

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

Отдельно скажу пару слов про ЙЦУКЕН. С тех пор, как она впервые попала в Россию (да, она была разработана за рубежом), она почти не менялась. Однако, умельцы из Microsoft крайне жестоко обошлись со своими русскоязычными клиентами, впарив им кириллическую раскладку с запятой в верхнем регистре. Не хватило господам из корпорации мозга сообразить, что в русском языке, в отличии от их, вражеского, запятая используется крайне часто. (по материалам блога А.Лебедева.) Кроме того, одной из основных особенностей (да и проблем) кириллической раскладки является количество символов в русском алфавите. Напомню, что их на 9 больше, чем в латинице. Основные знаки препинания оказались в верхнем регистре числового раздела - хотя нужны они значительно чаще самих цифр, а буква "Ё" оказалась вынесенной на клавишу "~", ей и раньше пренебрегали, а сейчас и совсем забыли. К счастью, не всё так плохо: во всех операционках наряду со знакомой и привычной всем winkeys-раскладкой, присутствует т.н. typewriter-раскладка, или машинопись: взята она с тех самых печатных машинок.

Машинопись Linux:
['][!][№][/][;][:][,][.][_][?][%][-][=][(]
[TB][й][ц][у][к][е][н][г][ш][щ][з][х][ъ]
[CPS][ф][ы][в][а][п][р][о][л][д][ж][э]
[SHFT][я][ч][с][м][и][т][ь][б][ю][ё]

["][1][2][3][4][5][6][7][8][9][0][_][+][)]
[tb][Й][Ц][У][К][Е][Н][Г][Ш][Щ][З][Х][Ъ]
[cps][Ф][Ы][В][А][П][Р][О][Л][Д][Ж][Э]
[shft][Я][Ч][С][М][И][Т][Ь][Б][Ю][Ё]


Машинопись Windows:
[|][№][-][/]["][:][,][.][_][?][%][!][;][)]
[TB][й][ц][у][к][е][н][г][ш][щ][з][х][ъ]
[CPS][ф][ы][в][а][п][р][о][л][д][ж][э]
[SHFT][я][ч][с][м][и][т][ь][б][ю][ё]

[+][1][2][3][4][5][6][7][8][9][0][=][\][(]
[tb][Й][Ц][У][К][Е][Н][Г][Ш][Щ][З][Х][Ъ]
[cps][Ф][Ы][В][А][П][Р][О][Л][Д][Ж][Э]
[shft][Я][Ч][С][М][И][Т][Ь][Б][Ю][Ё]

Машинописью я пользуюсь уже довольно давно: знаки препинания расположены довольно удобно и легкодоступны, а буква "Ё" больше не дискриминируется. Точка и запятая нажимаются указательными пальцами, без подъёма каретки. Единственный возможный недостаток такой машинописи - цифры в верхнем регистре, к которым, к сожалению, привыкаешь отнюдь не сразу. Настоятельно рекомендую своим читателям обратить внимание на эту раскладку и вспомнить о том, что в русском алфавите есть буква "Ё".

Выводы. Консервативность можно рассматривать и как положительную, и как отрицательную черту человеческой природы. В первом случае это залог стабильности, во втором - враг прогресса. Выражаясь менее высокопарно, замечу, что немного жаль, что упрощённая раскладка Дворака так и не стала популярной: она гораздо удобнее. Моё отношение к ней неоднозначно: с одной стороны - она удобнее, с другой - QWERTY это не только хоткеи, но и пароли. И если хоткеи не настолько критичны, а набираемый текст всегда можно без проблем отслеживать, то с паролями неминуемо возникают сложности. С машинописью же всё намного проще: просто устанавливаете эту раскладку и пользуетесь.

Приятной работы за компьютером! :)

28 октября 2007 г.

С днем Рождения, блог. :)

Этому блогу уже год. (Статьи я начал писать чуть раньше — 15 сентября 2006 г., но в другом блоге.) Огромное спасибо Вам, уважаемые читателям, за внимание и комментарии! Постараюсь и в дальнейшем писать максимально интересные и полезные статьи.

24 октября 2007 г.

ATI FGLRX 8.42.3, решение проблемы с загрузкой модуля

В предыдущей статье я посетовал на то, что по каким-то причинам модуль fglrx.ko удаляется из каталога с модулями и не загружается в систему. Решение нашлось, хотя и не такое изящное, каким бы оно должно было быть (в конце концов, я не такой уж и искушенный линуксоид): нам потребуется создать небольшой скрипт и сделать так, чтобы он загружался автоматически вместе с системой. Приступим. [В качестве редактора я, как обычно, использую vim. Уважаемый читатель может воспользоваться любым другим редактором.]
$ sudo vim /usr/local/bin/fglrx_module_fix.sh

Прописываем туда следующий текст:
#!/bin/sh
rmmod fglrx
ln -s /lib/modules/2.6.22-14-generic/misc/fglrx.ko /lib/modules/2.6.22-14-generic/volatile/fglrx.ko
modprobe fglrx

Задаем права на запуск:
$ sudo chmod 755 /usr/local/bin/fglrx_module_fix.sh

Теперь прописываем автозапуск, добавляя в конец файла rc.local следующий текст:
echo " Loading fglrx kernel module... "
/usr/local/bin/fglrx_module_fix.sh
exit 0

После этого проверяем результат своей работы, то есть перезагружаем систему:
$ sudo reboot

Если все было сделано правильно, то после первой загрузки X-сервера, консоль на запрос
$ fglrxinfo

ответит, что в данный момент используется драйвер, предоставленный ATI, а не Mesa.

ATI FGLRX 8.42.3

Да, товарищи. Мы, владельцы видеокарт ATI, ждали этого очень давно. Наконец-таки вышел драйвер, поддерживающий расширения AIGLX. Ура! Ну, с патетическими речами можно покончить и поглядеть, что мы в итоге получили.

Установка
За день до официального релиза я обновил свой kubuntu Feisty Fawn до Gutsy Gibbon. Подробно останавливаться на этом моменте не буду, да и желания нету. Скажу только, что после обновления я получил ядро 2.6.22-14, и естественно, мне пришлось снести предыдущее ядро (2.6.20-16) и старый FGLRX за версией 8.38. Однако, своими силами, из бинарного пакета с сайта разработчика, мне поставить более новый 8.40.4 мне не удалось. То есть, устанавливаться-то он устанавливался, а GL не запускался. Поэтому я махнул на него рукой в ожидании сегодняшнего события и поднял открытый драйвер, естественно, установив Compiz Fusion. Сегодня вечером появился драйвер и я не мог удержаться от того, чтобы не «пощупать» его. Попытка установить бинарный драйвер, даже следуя всем возможным инструкциям благополучно провалилась. И я уже было разочаровался и приготовился ждать выхода либо готового пакета для ubuntu, либо ждать адекватной инструкции по установке. Честно говоря, не хотелось. Решение оказалось абсолютно дилетантским и непростительно неюниксовым, но оно сработало. Вооружившись скриптом Envy, предназначенным для установки проприетарных драйверов, я установил драйвер версии 8.40.4, после чего сразу же, поверх него своими силами поставил 8.42.3, в соответствии с инструкцией для Ubuntu Gutsy для предыдущих версий. И это сработало. Команда fglrxinfo дала соответствующий вывод (OpenGL vendor string: ATI Technologies Inc.), и я, с радостным боевым воплем, принялся плясать с бубном вокруг запуска всяких рюшечек.

Запуск
Прежде, чем что-то заработает, нам необходимо выправить скрипт запуска Compiz’а, который уверен, что fglrx совсем не дружит с композитными окнами, а также разубедить в этом xorg.conf. Обрадуем обоих: дружит, теперь дружит. Добавим в скрипт /usr/bin/compiz в строку WHITELIST волшебное слово fglrx. В файле /etc/X11/xorg.conf найдем секцию "Extensions" и впишем в опцию "Composite" слово "Enable". Все. Теперь можно отойти на безопасное расстояние и запускать: обещаные композитные окна заведутся и потихоньку покатят.

Впечатления
А впечатления, друзья мои, смешанные. Во-первых, драйвер неплохо оптимизирован: glxgears на моей ATI Mobility Radeon 9600 выдает аж 2,5 тысячи FPS (на открытом драйвере с трудом достигалось значение в 1,5 тысячи). Композитные окна действительно есть и работают: достаточно быстро, как подобает работать композитным окнам под проприетарным драйвером. OpenGL-игрушки носятся и летают, обрадованные тем, что им приходится иметь дело не с чем-нибудь, а с самым настоящим проприетарным драйвером: Alien Arena — просто заглядение: и тени, и динамическое освещение, и блум-свечение, и никаких артефактов, которые кишели при запуске игры с открытым драйвером. Отлично! Однако, это первый блин, которому, как известно, положено выходить комом: во-первых, меня сильно огорчил конфликт Compiz и Conky в KDE: при обновлении системного монитора (ровно раз в секунду) наблюдался рывок в GL-графике. Во-вторых, часть эффектов просто не стала работать: размытие, которое и под свободным драйвером завешивало иксы, под свежим драйвером просто не дает никакого эффекта. В-третьих, я так и не понял, каким макаром мне смотреть видео с этим драйвером. Если при использовании открытого, видео работало с xv-выводом, просто не таскало его за собой при изменении экрана (картинка оставалась на месте, перекрываясь пустым черным полем в случае смещения «угла обзора»), то здесь xv-вывод просто дал равномерную черную заливку вместо нормальной картинки, gl-вывод перекрыл вообще всё, оставив окно с видео поверх всего, что происходило на экране, а x11 — ну это же несерьезно, выводить видео программно, так ведь?

Выводы
Наигравшись с композитными окнами, я отложил их. Теперь гораздо проще будет показывать красоты Compiz непосвященным: никакой правки конфигов не надо — запускай-не хочу! Да и самому иногда хочется поглядеть на все эти красоты. Несмотря на недостатки, я остался доволен новым драйвером. Это шаг вперед для ATI, будем надеяться, что развитие будет продолжено в правильном направлении, и будем ждать новых, более совершенных версий драйвера.

UPD: уже сегодня, после установки драйвера, обнаружился пренеприятнейший глюк. Каждый раз при загрузке системы из каталога /lib/modules/2.6.22-14-generic/volatile/ удаляется симлинк или копия fglrx.ko. Иначе говоря, система грузится, а модуля не находит. Приходится ручками его переносить из ../misc в volatile и переопрашивать на предмет наличия модуля.