tag:blogger.com,1999:blog-366935882024-03-08T06:11:08.997+03:00vonderer@darkstar:~$/home/vonderer at darkstarUnknownnoreply@blogger.comBlogger58125tag:blogger.com,1999:blog-36693588.post-67234896544065218062010-04-27T18:32:00.007+04:002010-04-27T20:29:15.367+04:00Zim: Вики-заметки на вашем компьютере<p>Довольно давно я пользуюсь апплетом xfce4 для заметок. Когда я решил поплотнее осваивать Bash, а так же решил познакомиться с Python, возникла необходимость в средстве организации конспекта, чтобы всё было под рукой. Ни xfce4-апплет, ни другие реализации «липких записок» вроде tomboy или knotes, для этого не годились: начиная с определённого критического количества записок, ориентироваться в них становилось невозможно. В итоге я попробовал <a href="http://www.zim-wiki.org" target="_blank">Zim</a>. Результатами своего знакомства с ним я и хочу с вами поделиться. Рассказывать буду о версии 0.46, самой свежей на момент публикации.</p><a name='more'></a><cut text="читать дальше"><p style="font-weight:bold;">Zim, настольная вики</p><p>Согласно <a href="http://ru.wikipedia.org/wiki/Wiki" target="_blank">Википедии</a>, вики — (англ. wiki) веб-сайт, структуру и содержимое которого пользователи могут сообща изменять с помощью инструментов, предоставляемых самим сайтом. Характерными особенностями вики-сайтов всегда были простота структурирования и встроенная простая разметка.</p><p>Эти две особенности разработчики Zim решили воплотить в этом удобном и простом инструменте для структурирования и хранения заметок. По сути Zim является WYSIWYG-редактором с базовым функционалом форматирования текста (списки, стили шрифта, вставка картинок и диаграмм) и поддержкой внутренних ссылок между заметками. При этом заметки он хранит в виде отдельных, чётко структурированных по каталогам текстовых файлов с вики-форматированием.</p><p>Но этим функционал программки не ограничивается: есть поддержка календаря, списков дел (т.н. ToDo-lists), проверка орфографии и даже экспорт в HTML.</p><p style="font-weight:bold;">Окно программы</p><p>Но, обо всём по порядку: давайте посмотрим на главное окно. (Для наглядности я покажу встроенную справку, оформленную в самом Zim, с примерами и наполнением, куда превышающим мои скромные записки.)</p><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjRFuqXowZvezKPV9N2WShWXdFweAO-Idv5buxMZo5dWs_gnq-4Vtzj55aupk1XZ0agUrMSxenTLcyE9fcQGhwYht3aSbiHQsO0yNJIl_GCSWcCkSaeAd8h3bT_6g3uSVXWvCWEnA/s1600/zim1.png"><img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 218px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjRFuqXowZvezKPV9N2WShWXdFweAO-Idv5buxMZo5dWs_gnq-4Vtzj55aupk1XZ0agUrMSxenTLcyE9fcQGhwYht3aSbiHQsO0yNJIl_GCSWcCkSaeAd8h3bT_6g3uSVXWvCWEnA/s320/zim1.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5464829695781409506" /></a><p>На главной панели имеются кнопки перехода между страницами и кнопка для перехода на домашнюю. Кроме того, режим «только чтение» включается здесь же. Далее следуют кнопки форматирования: жирный, курсив, подчёркнутый, зачёркнутый, кнопки добавления ссылки и картинки, а так же дополнительные кнопки, включающие расширения (в моём случае — проверку орфографии и список дел).</p><p>Всё остальное место занимают древовидная структура наших вики-заметок и само поле, куда вводятся и где отображаются наши заметки (над последним — отключаемая история переходов в виде кнопок с названиями страниц).</p><p style="font-weight:bold;">Форматирование</p><p>Новые заметки создаются из контекстных меню по правой клавише мыши, либо из ссылок, которые мы можем создавать в любом месте нашей настольной вики благодаря ключевым символам:<ul><li>:link создаст страницу в корне;</li><li>:link1:link2 создаст страницу link1 с дочерней страницей link2 и будет вести на link2 (абсолютная ссылка);</li><li>+link создаст дочернюю страницу текущей.</li></ul></p><p>Причём ссылка возникнет сразу же после ввода пробела или переноса строки после ввода самой ссылки, и переход по ней возможен как с помощью мыши, так и с помощью клавиатуры (просто навести курсор и нажать Enter).</p><p>К сожалению, создание внутренних ссылок «на лету» работает только с латиницей. Ссылки, содержащие кириллицу, в ссылки автоматически не превращаются (впрочем, через меню или кнопку ссылки с кириллическими именами вполне создаются).</p><p>Кроме того, вполне работают ссылки на файлы локальной машины, http-ссылки и даже быстрые ссылки на ресурсы, заданные в специальном файле настроек:<ul><li>нажатие на /path/to/file.ext будет автоматически открывать файл file.ext, находящийся в каталоге /path/to в приложении по умолчанию для оконной среды;</li><li>ссылка http://ya.ru/ откроет браузер на странице поисковика Яндекса;</li><li>а wp?wiki откроет страницу Википедии, рассказывающую про wiki, в умолчательном браузере оконной среды.</li></ul></p><p>Заголовки создаются с помощью знаков =, при чём от количества знаков зависит уровень заголовка:<br/>==Заголовок 1 уровня<br/>=======Заголовок 7 уровня</p><p>Ненумерованные списки создавать тоже просто: достаточно начать строку с знака * и пробела, чтобы начать новый список, при чём имеется поддержка многоуровневых списков по клавише Tab (правда, символы для разных уровней остаются одинаковыми: разница только в отступах). Поддержка нумерованных списков отсутствует, но, по словам разработчиков, планируется.</p><p>Для стилей текста подобных способов ввода нет, однако работают уже привычные многим хоткеи Ctrl+B, Ctrl+I, Ctrl+U. Для заголовков также можно использовать Ctrl+1-Ctrl+5, а Ctrl+0 сбрасывает форматирование выделенного фрагмента текста.</p><p style="font-weight:bold;">Дела</p><p>Zim обладает встроенной поддержкой списков TODO, которые можно создавать на любой странице вашей настольной вики: достаточно ввести [], чтобы получить чекбокс, рядом с которым можно указать задачу, а с помощью кода [d: 1/5] назначить дату (в данном случае 1 мая), и, возможно, приоритет задачи (! через пробел после текста, при чём, чем больше восклицательных знаков, тем выше приоритет).</p><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiroXD38EqsgRBtpIVFQ72FJGVtDV6EvVQDpWiTtzXKDkkd6IJjLCUTXCyBRT0WGfLaDQh7Y4pL_UZA055HLNK6FovibhryqY_Lb0-2Xmp7x3PXjq3JH7XxvDeHMyjeH29kNcjIbQ/s1600/zim3.png"><img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 158px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiroXD38EqsgRBtpIVFQ72FJGVtDV6EvVQDpWiTtzXKDkkd6IJjLCUTXCyBRT0WGfLaDQh7Y4pL_UZA055HLNK6FovibhryqY_Lb0-2Xmp7x3PXjq3JH7XxvDeHMyjeH29kNcjIbQ/s320/zim3.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5464832034521163874" /></a><p>Прилагающийся плагин Task List позволит вам просматривать список задач по всей вики, при чём нажатие на пункт в списке будет открывать в окне Zim страницу с задачей.</p><p style="font-weight:bold;">Плагины</p><p>В комплекте с Zim идут плагины для вставки скриншотов (требуется scrot), уравнений (latex+dvipng), диаграмм (graphviz), значок в трей, проверка орфографии (python-gtkspell и словарь aspell для соответствующего языка), уже упомянутый мною Task List, Link Map (graphviz, но у меня почему-то не работает), календарь, который позволяет мгновенно создавать страницу с адресом, соответствующим дате (например, :Calendar:2010:04:27), печать из браузера (в Zim не встроена функция печати, но документы можно экспортировать в браузер и печатать оттуда) и контроль версий (требует bzr).</p><p style="font-weight:bold;">Веб</p><p>Кроме уже перечисленных возможностей, стоит отметить и тот факт, что настольная вики Zim имеет возможности работы с вики-сайтами. Речь идёт не только о возможности экспорта всего дерева документов как веб-страниц (по заданному шаблону), но и о том, что структура заметок Zim являет собой комплект текстовых файлов, расположенных структурировано в заданном каталоге, при чём разметка внутри текстовых документов соответствует вики-стандартам. Я, к сожалению, не силён в принципах работы различных веб-сервисов, но мне кажется, что если все эти текстовые документы подключить к вики-движку, то в итоге можно получить сайт, содержимым которого можно будет управлять прямо из Zim.</p><p style="font-weight:bold;">Применение</p><p>Внимательный читатель уже, скорее всего, решил, что Zim ему пригодится и даже определился с тем, для чего. Я же предположу несколько областей, где Zim будет чрезвычайно полезен и незаменим:<ul><li>ведение конспектов: легко структурировать данные, легко искать информацию, легко делать ссылки на ходу;</li><li>написание документации: древовидная структура записок для этих целей идеальна, а возможность вставки скриншотов тоже придётся кстати;</li><li>блоговодство: когда ведёшь блог, рано или поздно понимаешь, что идеи редко возникают «вовремя», когда есть возможность заняться статьёй, а когда эта возможность появляется, идеи забываются.</li></ul></p><p style="font-weight:bold;">Надёжность, установка и зависимости</p><p>Стабильность работы Zim довольно высока, хоть и не идеальна. Ошибки время от времени случаются при удалении заметок. К скорости работы у меня претензий не возникло.</p><p>Zim есть в репозитариях Ubuntu и ArchLinux, так что с установкой проблем возникнуть не должно:<br/># aptitude install zim<br/># pacman -S zim<br/>В зависимостях главным образом python и GTK, плюс необязательные зависимости плагинов.</p><p>При запуске Zim предлагает создать каталог для заметок, который впоследствии будет использоваться по умолчанию. В качестве примера можете положить в этот каталог данную статью (работал над ней я как раз в Zim). Для этого нужно <a href="http://von-db.webhop.org/zim.tar.gz" target="_blank">скачать</a> архив и распаковать его в корень каталога с записками.</p><p>Приятной работы с заметками!</p></cut><div class="blogger-post-footer"><a href='http://creativecommons.org/licenses/by-nc-sa/2.5/'><img src='http://i.creativecommons.org/l/by-nc-sa/2.5/88x31.png'/></a><br/>This work is licensed under a <a href='http://creativecommons.org/licenses/by-nc-sa/2.5/'>Creative Commons Attribution-NonCommercial-ShareAlike 2.5 License</a>.</div>Vonhttp://www.blogger.com/profile/16565281226235591351noreply@blogger.com0tag:blogger.com,1999:blog-36693588.post-70243939392632994682009-06-04T18:45:00.012+04:002010-03-28T14:01:28.650+04:00Opera 10 Beta 1. Обзор.<p>Доброго времени суток, уважаемые читатели! В силу некоторых уважительных и не очень обстоятельств блог опять простаивает, что не есть правильно. А напишу я сегодня, пожалуй, на холиварную тему: не так давно вышла бета-версия браузера Opera. Я вообще очень рад тому, что в мире существует много различного софта, в том числе, веб-браузеров. Это, пожалуй, — область, в которой проходит неизмеримое множество холиваров, в той или иной степени справедливых объективно и, несомненно, священных с точки зрения субъективной. Впрочем, я наблюдаю эту ситуацию с обеих сторон, периодически переходя с одного браузера на другой, и делаю это не с проста: и Opera, и Firefox имеют свои плюсы и минусы. Поэтому в браузерной области наблюдается здоровая и интересная конкуренция. Ну да я отклонился от темы. Сегодня я рассматриваю Opera 10.00 Beta1.</p><a name='more'></a><cut text="читать дальше"><p style="font-weight:bold;">Что нового?</p><p><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhVmJqKVnmXwuy5gFjU6ejeJWlTKdl5zrwUQcrqbmrphSwbj3ogFxOVLYJXqDze_u_2bBkAXTqtqHmdpjhO6u84IKoeYpTVXEQ8dwA818JOa4dZ7Tbo94UYquin9q6Y5dHI6VGE/s1600-h/opera1.jpg"><img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 200px; height: 138px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhVmJqKVnmXwuy5gFjU6ejeJWlTKdl5zrwUQcrqbmrphSwbj3ogFxOVLYJXqDze_u_2bBkAXTqtqHmdpjhO6u84IKoeYpTVXEQ8dwA818JOa4dZ7Tbo94UYquin9q6Y5dHI6VGE/s200/opera1.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5343839741119888706" /></a>Те, кто пользовался Opera прошлых версий, сразу же увидят разницу. Остальным поясню: у Opera новое оформление по умолчанию. Оно стало чуть менее мрачным, чуть более «попсовым», но при этом остаётся довольно оригинальным. Для тех, у кого «не срослось» с умолчательной темой, всегда есть возможность выбрать что-нибудь себе по вкусу на странице коммьюнити Opera или использовать свою тему Windows/Qt.</p><p>Другое нововведение касается оформления вкладок. Как видно на скриншоте, теперь можно видеть миниатюры страниц в каждой из вкладок. Высота миниатюр регулируется тут же, миниатюры можно также отключить и пользоваться привычным вкладочным интерфейсом.</p><p>В левом нижнем углу располагается кнопка, включающая уже привычную с самых первых билдов 10 Оперы функцию: Opera Turbo. Принцип её работы напоминает принцип работы Opera Mini. Трафик сжимается на специальном сервере и мы видим страницу с пониженным качеством изображений, но загруженную в 4, 8 а то и 16 раз быстрее, если соединение наше с интернетом совсем уж медленное. Экономия траффика прилагается. Пользователи медленного и/или дорогого интернета, а так же те, кто вынужден время от времени пользоваться GPRS, будут в восторге.</p><p>Кстати, о скорости работы и загрузки страниц. Разработчики Opera творят чудеса, разгоняя загрузку страницы до бешеной скорости. Хотя, казалось бы, куда уж быстрее. Как обычно, замеров не произвожу, но субъективно скорость намного выше, чем в любом другом браузере, попадавшемся мне в руки.</p><p>Ещё одним интересным нововведением является проверка орфографии. К сожалению, в версии, взятой в одном из репозитариев ArchLinux, эта функция по каким-то причинам не работает. У любителей священных браузерных войн явно сокращается количество аргументов против Opera.</p><p><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgOO4EaaWE_v32s1WarKOqIV_jkJeAK5rzfqWIqrFCfGLzPTj8XwfzRlaP2_oIwdCEwv0Cw-sR5wsGXQWmzIZ5n1U5jA0U6ifJmRfIVkd3XW5aX3NZNBTs7q1VC9aMs3Kfr432J/s1600-h/Opera2-Speed_Dial.jpg"><img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 200px; height: 135px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgOO4EaaWE_v32s1WarKOqIV_jkJeAK5rzfqWIqrFCfGLzPTj8XwfzRlaP2_oIwdCEwv0Cw-sR5wsGXQWmzIZ5n1U5jA0U6ifJmRfIVkd3XW5aX3NZNBTs7q1VC9aMs3Kfr432J/s200/Opera2-Speed_Dial.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5343848144497091522" /></a>Speed Dial, или быстрый набор, ещё одна ставшая уже привычной функция Opera. Для тех, кто не в курсе, поясню: в новой открытой вкладке имеются несколько «кнопок», которым назначаются сайты для быстрого перехода по клику. Реализовано это в виде предварительно загруженных миниатюр, что делает работу с ними значительно проще. Ранее можно было разместить не более 9 кнопок на странице быстрого набора, а само оформление этой страницы зависело от текущей темы и по умолчанию фон был белым. Теперь же вы сами задаёте в настройках, сколько быстрых клавиш вам нужно: 4, 12 или, может быть, 25. Фон настраивается здесь же.</p><p>Ещё одним нововведением является более плотная интеграция с веб-сервисами. Теперь можно назначить автоматическое открытие формы ввода письма с помощью веб-клиента по ссылке mailto: или отправку RSS-потока в любимый Google Reader (Bloglines, NetVibes).</p><p style="font-weight:bold;">Другие функции Opera 10.00 Beta1</p><p>Для тех, кто никогда раньше не пользовался этим замечательным веб-браузером, предлагаю список других функций, которые уже давно успешно реализованы в Opera и, само собой, перекочевали в новую версию:</p><ul><li>«Мультиоконный» интерфейс. Все другие браузеры используют вкладки, но Opera предоставляет полноценное рабочее пространство с окнами-в-окне.</li><li>Удобная система управления внешним видом страницы: масштаб, принудительные переносы строк, пользовательские стили, всё это включается и выключается в два клика.</li><li>Использование текстовых «ярлыков» для поиска в адресной строке, например «g opera» отправит запрос «opera» в поиск Гугла.</li><li>Синхронизация закладок и быстрого набора. Вы можете пользоваться Opera в любом месте: дома, на работе, на ноутбуке или даже мобильном телефоне, ваши закладки будут всегда под рукой. Кроме того, ваши закладки доступны через веб-интерфейс в случае, если вы воспользуетесь другим браузером.</li><li>Несмотря на небольшой объём дистрибутива, в Opera включен почтовый клиент, в меру удобный и приятный в использовании.</li><li>Кроме того, на борту имеется встроенный RSS-ридер, который, в том числе, может показывать «подзамочные» записи ваших друзей, например, в ЖЖ.</li><li>Полностью конфигурируемые панели и положение кнопок на них.</li><li>Встроенная поддержка «мышиных жестов». Лучше один раз попробовать, чем много раз услышать о них. Это то, без чего лично я вообще не представляю себе использование веб-браузера.</li><li>Виджеты. Функция на любителя, которую я, увы, не понимаю.</li><li>Весьма малофункциональный и почему-то не уживающийся с NAT BitTorrent-клиент.</li></ul><p>К слову сказать, многие из перечисленных функций были впервые реализованы в Opera и уже потом перекочевали в другие браузеры или были прикручены к ним в виде расширений.</p><p>Как обычно, придерживаюсь нейтралитета в «браузерных священных войнах», ведь все популярные браузеры так или иначе заслуженно популярны. Opera 10 стала быстрее, приятнее глазу и удобнее. И, покуда мне вновь не захочется «пересесть» на Firefox или Chrome, я буду пользоваться ею. Приятного веб-сёрфинга, уважаемые читатели!</p></cut><div class="blogger-post-footer"><a href='http://creativecommons.org/licenses/by-nc-sa/2.5/'><img src='http://i.creativecommons.org/l/by-nc-sa/2.5/88x31.png'/></a><br/>This work is licensed under a <a href='http://creativecommons.org/licenses/by-nc-sa/2.5/'>Creative Commons Attribution-NonCommercial-ShareAlike 2.5 License</a>.</div>Unknownnoreply@blogger.com4tag:blogger.com,1999:blog-36693588.post-34149515096043243842009-03-05T00:08:00.024+03:002010-03-28T13:58:23.036+04:00Xfce: …and everything goes faster!<p style="text-align:right;"><span style="color:gray; font-style:italic;">"Xfce is a lightweight desktop environment for various *NIX<br />systems. Designed for productivity, it loads and executes<br />applications fast, while conserving system resources."</span><br />- Olivier Fourdan, creator of Xfce<br /><a href="http://www.xfce.org/" target="_blank">http://www.xfce.org/</a></p><br /><p><img style="margin: 0pt 10px 10px 0pt; float: left; width: 200px; height: 200px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjvCKzCHldcMuvOyy92bov9c0i7pg2qfN3QNICHfE7p3U-baH9gardUgEd_mX1_0A3e5abbnngTdZsP9f_eL561uY-aVPaopPgvG3ILV96SnvVKGGij6yTgfM8-ouOrfjt_Vjf7/s400/XFce_logo.png" alt="" id="BLOGGER_PHOTO_ID_5309466589046060402" border="0" />Совсем недавно, чуть меньше недели назад, вышла свежая версия этой замечательной легковесной настольной среды. Уважаемые читатели, возможно, обратили внимание, что я время от времени меняю рабочую среду и пишу об этом. Так вот, Xfce4 дважды постигала эта своего рода «участь». Первый раз это случилось ещё во времена моего первого знакомства с Linux: она шла вместе со Slackware Linux 10.2 наряду с KDE. Впечатления она оставила весьма и весьма приятные: легковесная, быстрая, аккуратная и не тянущая за собой того огромного количества софта, которое тащили за собой GNOME и KDE.</p><p>Некоторое время спустя, уже в Debian/Ubuntu я довольно плотно остановился на этой оконной среде: сочетание вышеозначенных качеств весьма и весьма привлекательно, однако я решил поэкспериментировать и снова стал пользоваться другими оконными менеджерами. С недавнего времени я вернулся к любимой оконной среде и, покуда меня не потянет на новые эксперименты, намерен наслаждаться сочетанием аккуратно оформленного GTK-окружения, быстро работающих окон и приятных глазу композитных эффектов.</p><a name='more'></a><cut text="читать дальше"><p><strong>Так вот ты какой…</strong></p><p>Впрочем, довольно лирики, приступим к знакомству. По умолчанию Xfce версии 4.6.0 в ArchLinux выглядит следующим образом:<br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhD_W7z214UVH1721CkCw3MYLXrO5FIirMbaQdSkpa0ju3LQisr-BVwSKUt9TMcSr6VMym9ekfTrew5xziubUMHKWVJ-CxbGPN0RxeoFHFRVfAXV1eyWYsNMbWt25260QVlLuq9/s1600-h/Screenshot1.png"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 256px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhD_W7z214UVH1721CkCw3MYLXrO5FIirMbaQdSkpa0ju3LQisr-BVwSKUt9TMcSr6VMym9ekfTrew5xziubUMHKWVJ-CxbGPN0RxeoFHFRVfAXV1eyWYsNMbWt25260QVlLuq9/s320/Screenshot1.png" alt="" id="BLOGGER_PHOTO_ID_5309452733822953234" border="0" /></a><br />Имеются: рабочий стол (в режимах «содержимое каталога ~/Desktop», «иконки свёрнутых приложений» и пустой), а также панелька, гибкая и богатая всяческими виджетами.</p><p>Немногим отличается от уже привычных большинству «вновь обращённых» пользователей Linux, не так ли? «Пуск», «быстрый запуск», панель задач, виртуальные рабочии столы и часы с областью уведомлений — всё как в KDE или GNOME. На рабочем столе по умолчанию располагается содержимое папки ~/Desktop. Пользователь Windows тут точно не потеряется. Схожесть с «виндами» принято считать недостатком: бытует мнение, что оказываясь в новом окружении пользователь должен приучаться к новым приёмам работы. Что ж, оставим рассуждения подобного рода за рамками данной статьи, остановившись на очевидном выводе: тут пользователь ОС Windows не потеряется.</p><p>Однако, оформление рабочей среды — это то, что остаётся на совести пользователя. Аскеты будут использовать простые, неприметные, но контрастные и легкочитаемые темы, эстеты — развернут что-нибудь этакое, приятное их глазу (в том числе, глазораздирающее с точки зрения остальных). Скажу только, что благодаря тому, что Xfce4 использует тулкит GTK2, к нему можно прикрутить одну из массы красивых тем этого графического окружения. Различные решения продемонстрированы <a href="http://www.xfce.org/about/screenshots" target="_blank">на официальном сайте</a>. А вот так светло-жизнерадостно выглядит мой Xfce4 в момент написания этой статьи (тема GTK2 MurrinaCandido, стиль декоратора окон Candido-Light, обои добыты со случайного сайта):<br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhEGqquC2XqWPzSLS7xfRpysJIzSqhSi8tVWxqPluqlQNFTodk3jiIqGANqUSpN9jC4kKmJnomRGFtHhZjCu4sfAOs8RYe30xJHg2HWkSqbTEgK4zy0hJ0V458rM7BjwwHTu1de/s1600-h/Screenshot.jpg"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 256px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhEGqquC2XqWPzSLS7xfRpysJIzSqhSi8tVWxqPluqlQNFTodk3jiIqGANqUSpN9jC4kKmJnomRGFtHhZjCu4sfAOs8RYe30xJHg2HWkSqbTEgK4zy0hJ0V458rM7BjwwHTu1de/s320/Screenshot.jpg" alt="" id="BLOGGER_PHOTO_ID_5309460098919962146" border="0" /></a><br />Что же касается непосредственного управления средой — в отличие от GNOME с его громоздкими меню и KDE с его центром управления, менеджер настроек Xfce4 в чём-то схож с виндовой «панелью управления», посмотрите сами:<br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiimCdEUC3xkwHhi-A5PmP4crLvLQrr4OkUVldgTVJhBeW5wWpEV0I_uL3QjZFJ031DuLFTirTeTd_82bHpgEyQZzlk1w__kNihQHmBjyacGlG73F5tTXGD-RDFfVygr3fX9-L2/s1600-h/Screenshot-2.png"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 259px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiimCdEUC3xkwHhi-A5PmP4crLvLQrr4OkUVldgTVJhBeW5wWpEV0I_uL3QjZFJ031DuLFTirTeTd_82bHpgEyQZzlk1w__kNihQHmBjyacGlG73F5tTXGD-RDFfVygr3fX9-L2/s320/Screenshot-2.png" alt="" id="BLOGGER_PHOTO_ID_5309462959037772834" border="0" /></a><br />Внимательные читатели, скорее всего, заметили — никаких системных настроек тут нет: только настройки оконной среды. Это одна из приятных черт Xfce4: отсутствие встроенных конфигураторов, а следовательно, отсутствие риска поломать какие бы то ни было системные настройки через графическую оболочку. А новичку — повод разбираться с конфигурационными файлами и не идти на поводу у графических интерфейсов.</p><p><strong>Комплектация</strong></p><p>Помимо панели и инструментов конфигурирования себя любимой, настольная среда Xfce4, как и положено приличной настольной среде, включает базовый набор встроенного софта. Такого же минималистичного и быстрого. Итак, что же включено:</p><ul><li>Терминал, который так и называется — Terminal. Весьма простой, но с поддержкой вкладок и композитной прозрачности для эстетов.</li><li>Файловый менеджер Thunar, легковесный, не обременённый широким функционалом, но содержащий прекрасный графический инструмент для массового переименования файлов.</li><li>Текстовый редактор Mousepad, отличающийся от виндового Notepad.exe лишь тем, что может показывать нумерацию строк.</li><li>CD-burner под названием Xfburn. К сожалению, как и его GNOME-аналог, не умеющий верифицировать свежезаписанные диски.</li><li>Xarchiver, приятный глазу графический архиватор.</li><li>Медиа-проигрыватель Xfmedia, минималистичный, но, к сожалению, далеко не самый рекомендуемый к использованию.</li><li>Application Finder — удобный инструмент быстрого поиска и запуска приложений.</li><li>А также календарь Orage, веб-браузер Midori, аудиомикшер на базе GStreamer'а и вьювер изображений Ristretto. Стоит ли упоминать их минималистичность? :)</li></ul><p>Вот и всё. Ничего лишнего. Все вышеозначенные компоненты — опциональны, кроме, разве что, Thunar'а.</p><p>Кроме того, хочется отдельно отметить встроенный оконный менеджер XfWM4 с интегрированным композитным функционалом: конечно, не настолько гибким и богатым эффектами, как Compiz Fusion, но вполне пригодным для создания аккуратных теней под окнами и эффектов прозрачности при перемещении окон или использовании терминала. Стоит ли говорить о его стабильности и скорости работы? Включение композитного режима внешне практически не сказывается на быстродействии. Ни одного вылета также не было замечено.</p><p><strong>…and everything goes faster!</strong></p><p>Этот слоган концентрирует внимание пользователя на быстродействии настольной среды. Насколько он достоверен, судить не возьмусь — нет никакого желания развёртывать другие настольные среды и оконные менеджеры и замерять показатели быстродействия. Однако, субъективно отмечу, что Xfce4 работает заметно быстрее, чем GNOME и, тем более, чем KDE4. Что же до встроенного софта — я пользуюсь только терминалом: всё остальное — Firefox, Nautilus, Totem, и даже строка типа «Run...» — сторонние приложения.</p><p>Мне кажется, Xfce на сегодняшний день — самая близкая к идеалу настольная среда в плане соотношения дружелюбности, стабильности и быстродействия. И она определённо стоит того, чтобы попробовать ею воспользоваться, если вас чем-то не устраивает ваш текущий WM/DE.</p><p>Боюсь, что в этой статье я не раскрыл многого: особенности конфигурации или использования этой настольной среды, поэтому, если у вас, уважаемые читатели, возникнет желание уточнить какие-то вопросы относительно Xfce4 — я постараюсь дать максимально информативный ответ.</p></cut><div class="blogger-post-footer"><a href='http://creativecommons.org/licenses/by-nc-sa/2.5/'><img src='http://i.creativecommons.org/l/by-nc-sa/2.5/88x31.png'/></a><br/>This work is licensed under a <a href='http://creativecommons.org/licenses/by-nc-sa/2.5/'>Creative Commons Attribution-NonCommercial-ShareAlike 2.5 License</a>.</div>Unknownnoreply@blogger.com13tag:blogger.com,1999:blog-36693588.post-15179554589280311012008-11-10T02:20:00.005+03:002009-03-31T00:08:27.050+04:00ArchLinuxВсё началось с выхода долгожданной версии Ubuntu 8.10 Intrepid Ibex. Ваш покорный слуга бросился опробовать свежую операционку при первой же возможности. Конечно, трудно опробовать обновления в виртуальной машине, поэтому Intrepid был установлен в качестве обновления к многострадальному Hardy. В результате поломались все настройки и пришлось перенастраивать всё с помощью dpkg-reconfigure с последующей подгонкой ручками. При первом же включении отвалилась <a href='http://vonderer.blogspot.com/2008/09/2_01.html' target='_blank'>типографская раскладка</a>, при первом же выключении Intrepid благополучно повис в момент отключения ALSA (да, в том был виноват PulseAudio, но без него было совсем тошно). Удаление PulseAudio привело к неприятному свисту из колонок, при чём никак не коррелирующему ни с тем, что звучало перед его возникновением, ни с тем, какая громкость была выставлена. И даже микрофон был тут не при чём. Пришлось написать скрипт, жестоко убивающий ALSA перед выключением.<br /><img src='http://img-fotki.yandex.ru/get/2713/vonderer.1/0_1cf0b_a70fe737_L.jpg' align='center'><br />Примерно в это время мне на глаза попал дистрибутив ArchLinux. Я и ранее слышал о нём много лестных отзывов. Поставил в виртуальной машине, установщик привёл в восторг своей продуманностью и скромностью, а настройка вызвала приятные воспоминания о Debian: концепция «сделай сам» вместо «всё и сразу». На просторах рунета нашлось грамотное и простое <a href='http://wildarcher7.wordpress.com/2008/07/06/archlinux-installation-200806/' target='_blank'>руководство по установке</a>, которое помогло разрешить некоторые сложности, возникшие в процессе (в частности, поддержка кириллицы). На сайте дистрибутива имеется объёмное вики, охватывающее основные вопросы установки и настройки. И я понял, что стоит попробовать. Поднял ArchLinux вместо Ubuntu. Установка и настройка всего необходимого заняла полдня. Первые впечатления: репозитории и система управления пакетами на очень высоком уровне: без подключения дополнительных репозиториев удалось установить практически всё, что могло бы мне понадобиться, включая Opera и Skype. Пакеты в меру новые. После установки из колонок перестал раздаваться противный свист и снова заработала типографская раскладка. Основные общесистемные настройки сведены в один конфигурационный файл, и это невероятно удобно! Это пока впервые впечатления, но они на редкость положительные. Пока что буду жить в Arch, а Ubuntu поселю в виртуальной машине.<br /><br />На всякий случай, скажу, что никакого холивара не подразумевалось и не подразумевается. Мне очень нравится Ubuntu со всеми его недостатками и преимуществами. Что же до дальнейшей тематики блога, вряд ли она сильно изменится: последнее время я писал скорее о Linux и FOSS вообще, чем об Ubuntu в частности.<br /><br />PS. Запись без «ката»… Просто не нашёл подходящего места, которое можно было бы оставить в качестве заглавного абзаца.<br /><br />PPS. Недавно блогу исполнилось два года, и последний год был несколько коматозным и скудным на записи, впрочем, над этим я работаю и вроде бы даже немного исправляюсь. :)<div class="blogger-post-footer"><a href='http://creativecommons.org/licenses/by-nc-sa/2.5/'><img src='http://i.creativecommons.org/l/by-nc-sa/2.5/88x31.png'/></a><br/>This work is licensed under a <a href='http://creativecommons.org/licenses/by-nc-sa/2.5/'>Creative Commons Attribution-NonCommercial-ShareAlike 2.5 License</a>.</div>Unknownnoreply@blogger.com27tag:blogger.com,1999:blog-36693588.post-22357260057259480542008-11-03T15:03:00.012+03:002010-03-28T14:18:13.577+04:00Fluxbox, simple and powerful<p>С момента последней записи прошёл месяц, вышел свежий Ubuntu Intrepid Ibex. Но о нём несколько позже. Сегодня я напишу об оконном менеджере, с которым некоторое время назад я уже пробовал знакомиться, но не очень успешно. Всё удовольствие портили локали меню: часть оного была в UTF-8, часть в KOI8-R, а на выводе всегда выходили кракозябры. С недавнего времени я пользуюсь en_GB локалью, поэтому часть проблем с кодировками для меня пропала, в том числе и эта. Теперь же о самом Fluxbox. В теме этой статьи уже обозначены два его неоспоримых преимущества: он прост и эффективен.</p><a name='more'></a><cut text="Читать дальше"><p>Итак, начнём с установки. Как всегда, легко и непринуждённо:</p><code>$ sudo aptitude install fluxbox fluxconf</code><p>fluxconf, в общем-то и не очень нужный пакет — графический инструмент для редактирования некоторых настроек. Через несколько секунд aptitude отчитается о результатах установки нового пакета.</p><a href="http://fotki.yandex.ru/users/vonderer/view/116278/"><img src="http://img-fotki.yandex.ru/get/3307/vonderer.1/0_1c636_151133ec_L.jpg" title="fluxbox-default" alt="fluxbox-default" align="center" border="0" height="400" width="500" /></a><p>Основные «фишки» Fluxbox, выделяющие его на фоне других лёгких оконных менеджеров:</p><ul><li>высокая гибкость;</li><li>наличие т.н. Slit, в котором могут жить док-приложения (gkrellm, апплеты WMaker);</li><li>наличие «слоёв» окон;</li><li>поддержка оконных вкладок.</li></ul><p>Теперь подробнее об этих преимуществах. По умолчанию Fluxbox почти не настроен, в файле ./fluxbox/keys прописаны только самые основные клавиши. Однако, откройте <a href="http://fluxbox.sourceforge.net/docbook/en/html/fluxbox-man.html" target="_blank">ман</a>, там найдётся немало команд, которым можно назначить быстрые клавиши, на любой случай жизни. Настраивать всё придётся самостоятельно, по умолчанию назначены лишь переключение окон и рабочих столов. Если вы просмотрели man fluxbox, то, думаю, обратили внимание, насколько гибок этот оконный менеджер. В файле ~/.fluxbox/init задаются основные настройки. Настраивается практически всё: положение, форма и поведение панели задач, её элементы, кнопки и их положение в заголовках окон, псевдопрозрачность и композитная прозрачность (реализуемая с помощью xcompmgr) и многие другие вещи.</p><p>Другой интересной особенностью Fluxbox является поддержка слоёв окон. В стандартных оконных менеджерах по умолчанию есть 3 «слоя» окон: «поверх всех», стандартный и «подо всеми». Выбранное в каждом слое окно перекрывает неактивные окна того же и более низкого слоя, не перекрывая окна более высокого слоя. Нажав правой клавишей на заголовок окна и выбрав Layers, можно задать окну один из 6 слоёв, правилам которого он будет следовать, с помощью ~/.fluxbox/apps можно задать окну слой, которому оно будет принадлежать при открытии.</p><p>Ну и наконец самая интересная функция Fluxbox, поддержка оконных вкладок. Вот вам пример: веб-мастеру нужно протестировать внешний вид веб-страницы в нескольких разных браузерах (Opera, Firefox и Midori, например), при чём делать это раз в несколько минут. Три отдельных браузера занимают место на рабочем столе и в панели задач, но они совсем не обязаны быть на виду одновременно и постоянно, поэтому их можно было бы объединить в одно окно в виде вкладок. Заманчиво? Fluxbox это умеет. Ниже приведены скриншоты, поясняющие работу вкладок в Fluxbox.</p><p>Xterm, контакт-лист Pidgin и Opera:</p><a href="http://fotki.yandex.ru/users/vonderer/view/117447/"><img src="http://img-fotki.yandex.ru/get/3000/vonderer.1/0_1cac7_1cfb32a4_L.jpg" title="Fluxbox-1" alt="Fluxbox-1" align="center" border="0" height="400" width="500" /></a><p>Xterm — MOC, чат Pidgin и Flock:</p><a href="http://fotki.yandex.ru/users/vonderer/view/117448/"><img src="http://img-fotki.yandex.ru/get/3103/vonderer.1/0_1cac8_4ca66491_L.jpg" title="Fluxbox-2" alt="Fluxbox-2" align="center" border="0" height="400" width="500" /></a><p>Как я уже упоминал выше, если ваша видеокарта поддерживает композитные окна, рекомендую установить xcompmgr. После его установки и запуска обробока перемещения окон стала заметно быстрее.</p><code>$ sudo aptitude install xcompmgr<br />$ xcompmgr -fc</code><p>Немножко дёгтя на последок:</p><ul><li>в Fluxbox отсутствует окошко переключения окон (Alt+Tab переключает окна сразу, не показывая их значков в специальном окошке), это непривычно и кому-то может показаться неудобным;</li><li>до сих пор в Fluxbox 1.0.0 существует проблема с кириллицей: часть меню отображается по-русски, часть — кракозябрами; это связано с тем, что русская версия файлов меню Fluxbox написана в KOI8-R, а не в UTF-8 (в отличие от debian-menu в Ubuntu) [Fluxbox 1.1.0 уже полностью на UTF-8, но его пока что нету в репозиториях];</li><li>как я уже отмечал выше, настройка Fluxbox — задача не совсем тривиальная и требует ознакомления с man;</li><li>не знаю, с чем конкретно это может быть связано, но у меня Fluxbox загружается довольно долго, впрочем, после загрузки он работает быстро и эффективно.</li></ul><p>Полезные ссылки: <a href="http://fluxbox-wiki.org/index.php?title=Fluxbox-wiki" target="_blank">Fluxbox wiki</a>, <a href="http://tenr.de/" target="_blank">tenr.de</a>.</p></cut><div class="blogger-post-footer"><a href='http://creativecommons.org/licenses/by-nc-sa/2.5/'><img src='http://i.creativecommons.org/l/by-nc-sa/2.5/88x31.png'/></a><br/>This work is licensed under a <a href='http://creativecommons.org/licenses/by-nc-sa/2.5/'>Creative Commons Attribution-NonCommercial-ShareAlike 2.5 License</a>.</div>Unknownnoreply@blogger.com4tag:blogger.com,1999:blog-36693588.post-36298957200106610692008-09-30T23:57:00.009+04:002010-03-28T14:21:37.710+04:00Подготовка фотографий к публикации в интернете. Часть 2.<p>Благодаря <a href='http://www.blogger.com/comment.g?blogID=36693588&postID=4718087276833884207&isPopup=true' target='_blank'>комментариям</a> читателей узнал несколько интересных вещей по теме. Итак, во-первых, оказывается, convert умеет производить «умный» ресайз: достаточно вместо ширины ввести квадрат, например 1024x1024, тогда convert «впишет» изображение в этот квадрат, сохраняя соотношение сторон исходной картинки.</p><p>Во-вторых, при уменьшении картинки часто возникает необходимость в повышении чёткости оной. Более подробно об этом <a href='http://dolzhenko.blogspot.com/2008/08/blog-post.html' target='_blank'>писал Владимир Долженко</a>.</p><a name='more'></a><p>Ну и наконец, скрипт, на котором остановился я:</p><pre><br /><span style="font-style: italic;color: #808080;">#!/bin/bash</span><br /><span style="color: #008000;">WATERMARK=</span><span style="color: #dd0000;">"</span><span style="color: #008000;">$HOME</span><span style="color: #dd0000;">/.watermark.png"</span><br /><span style="color: #000000;"> </span><br /><span style="font-weight: bold;color: #000000;">for</span><span style="color: #000000;"> i </span><span style="font-weight: bold;color: #000000;">in</span><span style="color: #000000;"> ~/Photo_publ/*</span><span style="color: #800000;">{.jpg,.jpeg,.png,.JPG,.JPEG,.PNG}</span><br /><span style="color: #000000;"> </span><span style="font-weight: bold;color: #000000;">do</span><br /><span style="color: #000000;"> </span><span style="font-weight: bold;color: #880088;">echo</span><span style="color: #000000;"> </span><span style="color: #dd0000;">"Working on </span><span style="color: #008000;">$i</span><span style="color: #dd0000;"> ..."</span><br /><span style="color: #000000;"> renrot --no-rename </span><span style="color: #008000;">$i</span><span style="color: #000000;"> </span><span style="font-weight: bold;color: #223388;">1></span><span style="color: #000000;"> /dev/null </span><span style="font-weight: bold;color: #223388;">2></span><span style="color: #000000;"> /dev/null</span><br /><span style="color: #000000;"> convert -adaptive-resize 1024x1024 -sharpen 0.1 -normalize -quality 89 </span><span style="color: #008000;">$i</span><span style="color: #000000;"> </span><span style="color: #008000;">$i</span><span style="color: #000000;"> </span><span style="font-weight: bold;color: #223388;">2></span><span style="color: #000000;"> /dev/null</span><br /><span style="color: #000000;"> composite -gravity southeast -dissolve 75 </span><span style="color: #008000;">$WATERMARK</span><span style="color: #000000;"> </span><span style="color: #008000;">$i</span><span style="color: #000000;"> </span><span style="color: #008000;">$i</span><span style="color: #000000;"> </span><span style="font-weight: bold;color: #223388;">2></span><span style="color: #000000;"> /dev/null</span><br /><span style="color: #000000;"> </span><span style="font-weight: bold;color: #880088;">echo</span><span style="color: #000000;"> </span><span style="color: #dd0000;">"... Done!"</span><br /><span style="color: #000000;"> </span><span style="font-weight: bold;color: #000000;">done</span><br /><span style="color: #000000;"> </span><span style="font-weight: bold;color: #cc00cc;">rm</span><span style="color: #000000;"> ~/Photo_publ/*_orig</span><br /><span style="font-weight: bold;color: #880088;">exit</span><span style="color: #000000;"> 0</span></pre><p>Теперь необходимость использования отдельных папок для «книжных» и «альбомных» фотографий отпала сама собой, поэтому достаточно одного скрипта. Кроме того, я добавил повышение резкости и использовал адаптивное уменьшение изображения, с цветовой нормализацией, плюс исправил удаление резервных копий, оставляемых renrot.</p><p>Ещё раз спасибо читателям за полезные комментарии!</p><div class="blogger-post-footer"><a href='http://creativecommons.org/licenses/by-nc-sa/2.5/'><img src='http://i.creativecommons.org/l/by-nc-sa/2.5/88x31.png'/></a><br/>This work is licensed under a <a href='http://creativecommons.org/licenses/by-nc-sa/2.5/'>Creative Commons Attribution-NonCommercial-ShareAlike 2.5 License</a>.</div>Unknownnoreply@blogger.com3tag:blogger.com,1999:blog-36693588.post-47180872768338842072008-09-30T20:22:00.006+04:002010-03-28T14:31:19.841+04:00Подготовка фотографий к публикации в интернете.<p>Не так давно я обзавёлся цифровой камерой, и на моём жёстком диске гордо заняла своё место и начала расти немалая стопка фотографий. Захотелось ими поделиться, но не тут-то было: мой асимметричный канал всяко противился загрузки фотографий в их исходном качестве (по 3,5 МБ на фото). Поэтому потребовалось придумать что-нибудь этакое, способное ресайзить фотографии пачками. Ещё мне хотелось поместить на них т.н. watermark («водяной знак») — поместить в один из уголков своё имя.</p><a name='more'></a><p>Под операционку имени Билла Гейтса существует множество платных программ, предназначенных специально для этих целей. Однако, у пользователей Linux есть более простые и гибкие инструменты, способные в считанные минуты справиться с этой задачей. Вот <a href="http://www.savvyadmin.com/resize-and-watermark-images-in-linux/" target="_blank">тут</a> предлагается решение этой задачи. Это пример того самого преславутого «unix-way», когда несколько небольших строго специализированных программ справляются со своей задачей лучше и быстрее монстра-комбайна по переработке картинок.</p><p>Итак, для начала нам понадобится эти самые специализированные программы. Вышеозначенные действия умеют выполнять программы из комплекта Imagemagick. Кроме того, нам будет полезна утилитка, которая переворачивает картинку в соответствии с её EXIF-тегом (цифровые фотоаппараты определяют, когда ориентация снимка была книжной и прописывают это в EXIF-теге). В этом нам поможет renrot. Ставим всё необходимое:</p><code>$ sudo aptitude install imagemagick renrot</code><p>Это ещё не всё. Так как нам нужен «водяной знак», который мы будем накладывать на фотографии, не помешает его заранее приготовить. Автор руководства по ссылке предлагает сделать его в формате JPG. Но это не обязательно, поэтому если хотите «водяной знак» с прозрачным фоном — PNG вполне сгодится. Поскольку мы планируем пользоваться им постоянно, готовый знак рекомендую спрятать с глаз долой, спрятав его в скрытую папку, либо просто переименовав его таким образом, чтобы первым символом в названии файла была точка.</p><p>Теперь, непосредственно к механизму работы нужных нам программ. Для изменения размера изображения нам потребуется утилита convert. У неё довольно обширные возможности, однако, нас интересует изменение размера и jepg-качества картинки. Это действие производится с помощью команды:</p><code>$ convert -resize N -quality M исходный_файл.jpg конечный_файл.jpg</code><p>Где N — желаемая ширина в пикселях, например 1024, а M — желаемое jpeg-качество, например, 89. Если вместо конечный_файл.jpg задать исходный_файл.jpg, то утилита преобразует исходный файл и заменит его новой, уменьшенной (или увеличенной) версией. Для того, чтобы вклеить в картинку знак, нам потребуется утилита composite:</p><code>$ composite -gravity northeast -dissolve L знак.jpg исходный_файл.jpg конечный_файл.jpg</code><p>Эта команда встроит ваш знак.jpg в правый верхний (northeast) угол картинки, прозрачность (точнее, непрозрачность) задаётся значением L. Исходный файл также, как и в случае с предыдущей командой, может быть заменён конечным.</p><p>В целом, всё необходимое уже есть. Наш скрипт будет выглядеть примерно так:</p><pre><span style="font-style: italic;color: #808080;">#!/bin/bash</span><br /><span style="color: #008000;">WATERMARK=</span><span style="color: #dd0000;">"</span><span style="color: #008000;">$HOME</span><span style="color: #dd0000;">/.watermark.png"</span><br /><span style="color: #000000;"> </span><br /><span style="font-weight: bold;color: #880088;">echo</span><span style="color: #000000;"> </span><span style="color: #dd0000;">"*****************************************"</span><br /><span style="font-weight: bold;color: #880088;">echo</span><span style="color: #000000;"> </span><span style="color: #dd0000;">"* Image Resize and Watermarking Script *"</span><br /><span style="font-weight: bold;color: #880088;">echo</span><span style="color: #000000;"> </span><span style="color: #dd0000;">"* By Gilbert Mendoza - SavvyAdmin.com! *"</span><br /><span style="font-weight: bold;color: #880088;">echo</span><span style="color: #000000;"> </span><span style="color: #dd0000;">"*****************************************"</span><br /><span style="font-weight: bold;color: #880088;">echo</span><span style="color: #000000;"> </span><span style="color: #dd0000;">" "</span><br /><span style="color: #000000;"> </span><br /><span style="font-weight: bold;color: #000000;">for</span><span style="color: #000000;"> i </span><span style="font-weight: bold;color: #000000;">in</span><span style="color: #000000;"> ~/Photo_publ/landscape/*</span><span style="color: #800000;">{.jpg,.jpeg,.png,.JPG,.JPEG,.PNG}</span><br /><span style="color: #000000;"> </span><span style="font-weight: bold;color: #000000;">do</span><br /><span style="color: #000000;"> </span><span style="font-weight: bold;color: #880088;">echo</span><span style="color: #000000;"> </span><span style="color: #dd0000;">"Working on </span><span style="color: #008000;">$i</span><span style="color: #dd0000;"> ..."</span><br /><span style="color: #000000;"> convert -resize 1024 -quality 89 </span><span style="color: #008000;">$i</span><span style="color: #000000;"> </span><span style="color: #008000;">$i</span><span style="color: #000000;"> </span><span style="font-weight: bold;color: #223388;">2></span><span style="color: #000000;"> /dev/null</span><br /><span style="color: #000000;"> composite -gravity southeast -dissolve 75 </span><span style="color: #008000;">$WATERMARK</span><span style="color: #000000;"> </span><span style="color: #008000;">$i</span><span style="color: #000000;"> </span><span style="color: #008000;">$i</span><span style="color: #000000;"> </span><span style="font-weight: bold;color: #223388;">2></span><span style="color: #000000;"> /dev/null</span><br /><span style="color: #000000;"> </span><span style="font-weight: bold;color: #880088;">echo</span><span style="color: #000000;"> </span><span style="color: #dd0000;">"... Done!"</span><br /><span style="color: #000000;"> </span><span style="font-weight: bold;color: #000000;">done</span><br /><span style="font-weight: bold;color: #880088;">exit</span><span style="color: #000000;"> 0</span></pre><p>Этот скрипт будет обрабатывать все файлы с расширениями .jpg, .jpeg, .png, .JPG, .JPEG, .PNG, находящиеся в папке ~/Photo_publ/landscape, заменяя их на новые. Знак находится в домашнем каталоге: ~/.watermark.png. При необходимости замените пути, не забудьте задать права на исполнение, разместите в /usr/local/bin и пользуйтесь.</p><p>Наблюдательные читатели уже заметили, что в вышеозначенном скрипте не фигурирует указанная мною ранее утилита renrot. Всё верно, этот скрипт предназначен для обработки «альбомно»-ориентированных изображений. Для «книжно»-ориентированных я предлагаю использовать следующий скрипт:<p><pre><span style="font-style: italic;color: #808080;">#!/bin/bash</span><br /><span style="color: #008000;">WATERMARK=</span><span style="color: #dd0000;">"</span><span style="color: #008000;">$HOME</span><span style="color: #dd0000;">/.watermark.png"</span><br /><span style="color: #000000;"> </span><br /><span style="font-weight: bold;color: #880088;">echo</span><span style="color: #000000;"> </span><span style="color: #dd0000;">"*****************************************"</span><br /><span style="font-weight: bold;color: #880088;">echo</span><span style="color: #000000;"> </span><span style="color: #dd0000;">"* Image Resize and Watermarking Script *"</span><br /><span style="font-weight: bold;color: #880088;">echo</span><span style="color: #000000;"> </span><span style="color: #dd0000;">"* By Gilbert Mendoza - SavvyAdmin.com! *"</span><br /><span style="font-weight: bold;color: #880088;">echo</span><span style="color: #000000;"> </span><span style="color: #dd0000;">"*****************************************"</span><br /><span style="font-weight: bold;color: #880088;">echo</span><span style="color: #000000;"> </span><span style="color: #dd0000;">" "</span><br /><span style="color: #000000;"> </span><br /><span style="font-weight: bold;color: #000000;">for</span><span style="color: #000000;"> i </span><span style="font-weight: bold;color: #000000;">in</span><span style="color: #000000;"> ~/Photo_publ/portrait/*</span><span style="color: #800000;">{.jpg,.jpeg,.png,.JPG,.JPEG,.PNG}</span><br /><span style="color: #000000;"> </span><span style="font-weight: bold;color: #000000;">do</span><br /><span style="color: #000000;"> </span><span style="font-weight: bold;color: #880088;">echo</span><span style="color: #000000;"> </span><span style="color: #dd0000;">"Working on </span><span style="color: #008000;">$i</span><span style="color: #dd0000;"> ..."</span><br /><span style="color: #000000;"> renrot --no-rename </span><span style="color: #008000;">$i</span><span style="color: #000000;"> </span><span style="font-weight: bold;color: #223388;">1></span><span style="color: #000000;"> /dev/null </span><span style="font-weight: bold;color: #223388;">2></span><span style="color: #000000;"> /dev/null</span><br /><span style="color: #000000;"> convert -resize 768 -quality 89 </span><span style="color: #008000;">$i</span><span style="color: #000000;"> </span><span style="color: #008000;">$i</span><span style="color: #000000;"> </span><span style="font-weight: bold;color: #223388;">2></span><span style="color: #000000;"> /dev/null</span><br /><span style="color: #000000;"> composite -gravity southeast -dissolve 75 </span><span style="color: #008000;">$WATERMARK</span><span style="color: #000000;"> </span><span style="color: #008000;">$i</span><span style="color: #000000;"> </span><span style="color: #008000;">$i</span><span style="color: #000000;"> </span><span style="font-weight: bold;color: #223388;">2></span><span style="color: #000000;"> /dev/null</span><br /><span style="color: #000000;"> </span><span style="font-weight: bold;color: #880088;">echo</span><span style="color: #000000;"> </span><span style="color: #dd0000;">"... Done!"</span><br /><span style="color: #000000;"> </span><span style="font-weight: bold;color: #000000;">done</span><br /><span style="font-weight: bold;color: #880088;">exit</span><span style="color: #000000;"> 0</span></pre><p>Во-первых, для этих картинок вам может понадобиться другой размер (меняем местами ширину и высоту), во-вторых, renrot создаёт резервные копии файлов при конвертировании (с расширением .*_orig), поэтому после эти файлы может понадобиться удалить. Всё остальное аналогично предыдущему, пути почти те же. Меняете, что нужно, добавляете атрибуты, кладёте в желаемое место, и пользуетесь. Длительность процедуры зависит от характеристик железа, всё-таки, работа с графикой требует от системных ресурсов многих усилий. Прежде, чем в полную силу использовать скрипт, рекомендую сделать резервные копии фотографий. Приятной обработки картинок!</p><p>PS. Мне кажется, что всё это можно привести к единому скрипту, нужно только заставить наш скрипт распознавать соотношение сторон и если оно соответствует одной маске — исполнять одну команду изменения размера, в противном случае — другую. Если уважаемые читатели знают, как это сделать, буду благодарен.</p><div class="blogger-post-footer"><a href='http://creativecommons.org/licenses/by-nc-sa/2.5/'><img src='http://i.creativecommons.org/l/by-nc-sa/2.5/88x31.png'/></a><br/>This work is licensed under a <a href='http://creativecommons.org/licenses/by-nc-sa/2.5/'>Creative Commons Attribution-NonCommercial-ShareAlike 2.5 License</a>.</div>Unknownnoreply@blogger.com8tag:blogger.com,1999:blog-36693588.post-69296264026424403372008-09-25T23:54:00.011+04:002010-03-28T14:39:41.823+04:00qutIM — полноценный icq-клиент для Linux.<p>Помнится, я очень сильно страдал из-за отсутствия полноценного асечного клиента в Linux: licq сразу же растерял мой контакт-лист, centericq не прижился из-за своей «консольности», мультипротокольные клиенты (и licq заодно с ними) страдали общей проблемой с кодировками (да, ася по-прежнему работает в местной cp1251 и всемирной utf-8 <i>одновременно</i>).</p><p>И это в то время как пользователи Windows обладали отличными асечными клиентами: Miranda, R&Q, qip. В начале текущего, 2008 года, на улице пользователей icq случился праздник: появился клиент <a href='http://qutim.org/' target='_blank'>qutIM</a>, являющий собой полноценный аналог старого qip (и гораздо менее чудовищный на вид, кстати).</p><a name='more'></a><p>Этот кроссплатформенный клиент написан на C++, версии для Windows и OSX также доступны для скачивания.<br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiGLEC5ONXeDqT63G8oB6VoSbMQPWaA1LCApHcRWtmTHxSXby1lgLbzvhgwP66OYGhGcXIY63k-CdtkcOERQs6HTqdUjLEgW_77ZmrYXakiRMR-MlEECOVHYoIyFjQMPVPGAI8b/s1600-h/screenshot_01.png"><img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiGLEC5ONXeDqT63G8oB6VoSbMQPWaA1LCApHcRWtmTHxSXby1lgLbzvhgwP66OYGhGcXIY63k-CdtkcOERQs6HTqdUjLEgW_77ZmrYXakiRMR-MlEECOVHYoIyFjQMPVPGAI8b/s320/screenshot_01.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5251183645476717762" /></a>Это контакт-лист icq. Те, кто пользуется или пользовался qip, сразу заметят сходство. Однако, у него есть замечательное отличие: в отличии от самого популярного программа поддерживает работу одновременно сразу с несколькими аккаунтами. При чём, эта функция реализована подобным gajim образом: контакт-листы разных аккаунтов можно либо интегрировать, либо держать отдельно друг от друга. qutIM полностью поддерживает X-статусы (!). Насколько мне известно, это единственный клиент icq для linux, обладающий этой функцией.</p><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg3rJ4z-J-vK4vvmK2SdpnNI2qB1G-goap4jKaKJUG8y1rvg0sVJ1aB-w_GXvoC0qiT_ac9td7q4eyvWcMsRwybnQCwAtMmE1mnf1qHubRQstsHuCYmlUsIg4M_go8iqkHitz_p/s1600-h/screenshot_02.png"><img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg3rJ4z-J-vK4vvmK2SdpnNI2qB1G-goap4jKaKJUG8y1rvg0sVJ1aB-w_GXvoC0qiT_ac9td7q4eyvWcMsRwybnQCwAtMmE1mnf1qHubRQstsHuCYmlUsIg4M_go8iqkHitz_p/s320/screenshot_02.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5251187870344340098" /></a>Окно чата напоминает старые версии qip. При выходе qutIM «запоминает» открытые в момент выключения программы окна и вкладки чатов, восстанавливая их при последующем запуске. Вкладки на момент закрытия окна также запоминаются, поэтому если вы закрыли окно с одной открытой вкладкой, а чуть позже решили пообщаться с другим контактом, будьте уверены, что когда вы откроете чат с ним, не закрытая ранее вкладка тоже будет восстановлена. В qutIM встроен набор графических смайлов (угадайте, каких? ^^ Тот же Kolobok, что и в qip).<br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg54B1Iq_n5j0XlVCLZkNVoJ_toprelH0FzE8IYdtTnds-jSvbPovdKoNUIDuqHIEcO5trVVhO1ntr7Vj5jpMEhalNwWfgte44kJVLWbT8UXBXnNlg-DliZuu9MdIzlj_JXKtKY/s1600-h/screenshot_03.png"><img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg54B1Iq_n5j0XlVCLZkNVoJ_toprelH0FzE8IYdtTnds-jSvbPovdKoNUIDuqHIEcO5trVVhO1ntr7Vj5jpMEhalNwWfgte44kJVLWbT8UXBXnNlg-DliZuu9MdIzlj_JXKtKY/s320/screenshot_03.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5251190870210692242" /></a>Разработчик снабдил qutIM немаленьким набором настроек, аккуратно упакованных в многоуровневый конфигуратор. Часть настроек задаётся для каждого аккаунта по отдельности. qutIM поддерживает разнообразные темы и наборы графических смайлов.</p><p>Теперь и у нас, пользователей Линукс, есть отличный стендэлоун клиент для icq, способный удовлетворить пользователей этой службы мгновенных сообщений.</p><div class="blogger-post-footer"><a href='http://creativecommons.org/licenses/by-nc-sa/2.5/'><img src='http://i.creativecommons.org/l/by-nc-sa/2.5/88x31.png'/></a><br/>This work is licensed under a <a href='http://creativecommons.org/licenses/by-nc-sa/2.5/'>Creative Commons Attribution-NonCommercial-ShareAlike 2.5 License</a>.</div>Unknownnoreply@blogger.com20tag:blogger.com,1999:blog-36693588.post-35769272043265086542008-09-09T01:44:00.003+04:002008-09-09T01:54:00.170+04:00Hab.laВ ленте случайно наткнулся на ссылку на сервис <a href='http;//www.hab.la' target='_blank'>Hab.la</a>, который позволяет встроить в вашу страницу виджет, дающий возможность начать чат в реальном времени между гостем и хозяином сайта. Основано это великолепие на протоколе Джаббер, при чём вам предлагается либо использовать аккаунт @Hab.la как отдельный JID, либо подключить его транспортом к вашему JID, поддерживается даже GMail. После регистрации вам предоставляется аккаунт, транспорт и html-код со ссылкой на ява-скрипт, который предлагается встроить в код страницы. Если ваш сервис не поддерживает встраиваемые ява-скрипты, можно подключить «кнопку», которая каким-то образом (уж простите, не силён в веб-технологиях), перенаправляет нажавшего на своего рода гейт, который позволяет открыть виджет чата и продолжить беспрепятственный сёрфинг по сайту. Максимально возможное число пользователей, с которыми можно вести чат — 5 человек, поэтому флуда быть не должно. В порядке эксперимента встроил в свой блог сам скрипт. Посмотрим, что из этого выйдет.<div class="blogger-post-footer"><a href='http://creativecommons.org/licenses/by-nc-sa/2.5/'><img src='http://i.creativecommons.org/l/by-nc-sa/2.5/88x31.png'/></a><br/>This work is licensed under a <a href='http://creativecommons.org/licenses/by-nc-sa/2.5/'>Creative Commons Attribution-NonCommercial-ShareAlike 2.5 License</a>.</div>Unknownnoreply@blogger.com3tag:blogger.com,1999:blog-36693588.post-91519173616576403122008-09-01T22:49:00.004+04:002010-03-28T14:42:38.595+04:00О раскладках клавиатуры — 2<p>Рассказывая о раскладках клавиатуры <a href='http://vonderer.blogspot.com/2008/08/blog-post.html' target='_blank'>в прошлый раз</a>, я забыл упомянуть о <a href='http://ilyabirman.ru/tools/typography-layout/' target='_blank'>типографской раскладке Ильи Бирмана</a>. Исправляю это упущение. Особенностью этой раскладки является наличие ещё одного регистра клавиатурной раскладки: по клавише AltGr, или «правому Alt», мы получаем возможность использовать некоторые особенно полезные в блоггерском деле символы Unicode, например кавычки-«ёлочки» или кавычки-„лапки“, или, очень важный, но часто игнорируемый символ, — длинное тире, знак «ударе́ния» и знак §параграфа. Полный список символов можно обнаружить на сайте Ильи. Однако, он предлагает решение для Windows. Внимательный читатель найдёт в самом низу страницы с описанием типографской раскладки ссылку на некую <a href='http://regolit.com/posts/xkb_unicode' target='_blank'>«версию для Линукс»</a>.</p><a name='more'></a><p>«Поймав волну», я закатал рукава и принялся за правку конфига, предложенного <a href='http://otmenych.livejournal.com/profile' target='_blank'>Сергеем Столяровым</a>, особенностями его решения были раскладка Winkeys для кириллицы (я хотел использовать виндовую машинопись) и переключение между кириллицей и латиницей комбинацией Shift_L+Shift_R (что мне кажется довольно неудобным). Обрадовавшись возможности, я решил убить сразу двух зайцев. Напомню, что Linux — очень гибкая штука, поэтому, взяв в руки напильник и разложив в поле пару граблей, я занялся правкой конфига. В итоге получилось <a href="http://narod.ru/disk/2354893000/.xkb_config_tl.html">вот это</a>. Раскладки переключаются клавишей Caps_Lock (при этом индикатор работает в стандартном режиме: нажали — загорелся, нажали ещё раз — погас, если случайно переключите с помощью Shift+Caps Lock, рекомендую также переключать обратно, так как индикатор в этом случае менять состояние не будет, а раскладка переключится, кроме того, я оставил рабочей комбинацию Shift_L+Shift_R), пока зажат AltGr («правый Alt») можно вводить типографские символы.</p><p>Для того, чтобы заставить это великолепие работать, необходимо положить куда-нибудь этот конфиг, например в ваш домашний каталог, и выполнить следующую команду (для .xkb_config_tl, лежащего в вашем домашнем каталоге):</p><code>$ xkbcomp ~/.xkb_config_tl $DISPLAY</code><p>Готово. Теперь до конца текущей сессии вы будете наслаждаться комбинацией из раскладок Ильи Бирмана, машинописи Windows и стандартной QWERTY. Стоит ли говорить о том, что этот конфиг можно легко подогнать под себя, например, поменять QWERTY на Dvorak?</p><p>Для того, чтобы отныне и всегда ваш новый конфиг запускался вместе с вашей сессией, придётся поплясать с бубном. Ковыряние ~/.xsession не дало результатов, хотя, возможно, я просто не смог с ним разобраться. Я воспользовался встроенным в Xfce4 менеджером автозагрузки, при чём назначил исполнение вышеозначенной команды в xterm:</p><code>$ xterm -e "xkbcomp ~/.xkb_config_tl $DISPLAY"</code><p>Думаю, любой из моих читателей сможет воспользоваться встроенными в рабочую среду средствами автозагрузки, или, если кто-нибудь из Вас знает, каким макаром прикрутить к этому великолепию ~/.xsession, поделитесь, пожалуйста, опытом — я думаю, он будет полезен не только мне, но и многим моим читателям.</p><p>Если вы хотите воспользоваться winkeys-вариантом, просто сравните оригинал и мою версию: Caps Lock настраивается в самом низу скрипта.</p><div class="blogger-post-footer"><a href='http://creativecommons.org/licenses/by-nc-sa/2.5/'><img src='http://i.creativecommons.org/l/by-nc-sa/2.5/88x31.png'/></a><br/>This work is licensed under a <a href='http://creativecommons.org/licenses/by-nc-sa/2.5/'>Creative Commons Attribution-NonCommercial-ShareAlike 2.5 License</a>.</div>Unknownnoreply@blogger.com12tag:blogger.com,1999:blog-36693588.post-70434962550316201902008-08-31T15:11:00.003+04:002008-08-31T15:21:10.659+04:00День блоггера и пеар. :)Всех блоггеров с <a href='http://www.blogday.org/ru.htm' target='_blank'>праздником</a>! Интересных постов вам и вашим коллегам, блоги которых вы читаете! Адекватных анонимов и полезных идей в комментариях! Удач и позитива по жизни вам, коллеги! :)<br /><br />О том, что сегодня праздник я узнал из <a href='http://mydebianblog.blogspot.com/' target='_blank'>Записок дебианщика</a>, где этой теме посвящена <a href='http://mydebianblog.blogspot.com/2008/08/2008.html' target='_blank'>статья</a>, в которой содержится огромное количество информации о ведении блога, полезной как начинающим, так и опытным блоггерам. Просто не могу пройти мимо и не пропеарить. :)<div class="blogger-post-footer"><a href='http://creativecommons.org/licenses/by-nc-sa/2.5/'><img src='http://i.creativecommons.org/l/by-nc-sa/2.5/88x31.png'/></a><br/>This work is licensed under a <a href='http://creativecommons.org/licenses/by-nc-sa/2.5/'>Creative Commons Attribution-NonCommercial-ShareAlike 2.5 License</a>.</div>Unknownnoreply@blogger.com2tag:blogger.com,1999:blog-36693588.post-57582064615739462182008-08-30T19:23:00.011+04:002009-03-31T00:20:12.577+04:00О раскладках клавиатурыНекоторое время назад меня увлекла тема альтернативных клавиатурных раскладок. Материала по этой теме нашлось немало, посему предоставляю на ваш суд статью несколько отдалённую от Свободного ПО, но, в то же время, неразрывно связанную с ним.<br /><br />А начну я, пожалуй, с того, с чего и должна начинаться нормальная статья любого уважающего себя блоггера - с истории вопроса. Раскладка первых печатных машинок поражала воображение - все буквы были расположены строго по алфавиту. Однако, при быстрой печати на таких печатных машинках возникали проблемы - литеры наиболее часто используемых символов находились слишком близко друг к другу, поэтому ножки при скоростном наборе цеплялись друг за друга и застревали (примерно <a href='http://en.wikipedia.org/wiki/Image:TypewriterHermes.jpg' target='_blank'>так</a>). Тогда-то, в 1868 году, Кристофер Шоулс развёл наиболее часто используемые символы по сторонам и рядам, благодаря чему литеры перестали застревать. (По материалам <a href='http://ru.wikipedia.org/wiki/Qwerty' target='_blank'>Википедии</a>.)<span class='fullpost'><br /><pre>[`][1][2][3][4][5][6][7][8][9][0][-][=][\]<br />[TB][q][w][e][r][t][y][u][i][o][p]{[}{]}<br />[CPS][a][s][d][f][g][h][j][k][l][;][']<br />[SHFT][z][x][c][v][b][n][m][,][.][/]<br /><br />[~][!][@][#][$][%][^][&][*][(][)][_][+][|]<br />[tb][Q][W][E][R][T][Y][U][I][O][P][{][}]<br />[cps][A][S][D][F][G][H][J][K][L][:]["]<br />[shft][Z][X][C][V][B][N][M][<][>][?]</pre><br />Таким образом, проблема была решена с появлением раскладки QWERTY. Однако, эта раскладка имеет недостаток другого рода - разрабатывая её, Шоулс боролся с механическими проблемами, не заостряя внимание на эргономических, поэтому, при наборе текста с помощью такой раскладки, основная нагрузка ложится на левую руку. Впрочем, это не мешает подавляющему большинству пользователей компьютеров во всём мире использовать эту раскладку клавиатуры. Однако, существуют альтернативы QWERTY, построенные уже не для механики, а для людей. Одним из примеров такой раскладки может служить т.н. упрощённая раскладка Дворака.<br /><br />Эта раскладка была разработана в 1936 году доктором Августом Двораком. Основной целью её разработки стало снижение нагрузки на руки машинисток. Основные принципы клавиатуры Дворака:<br /><ul><li>Знаки должны набираться поочерёдно обеими руками.</li><br /><li>Для наибольшей скорости и эффективности, наиболее часто используемые знаки должны быть в наиболее удобных местах. Это значит, что они должны находиться на основном ряду.</li><br /><li>Соответственно, наименее используемые знаки необходимо разместить в нижнем ряду - наименее удобном для доступа.</li><br /><li>Основная часть нагрузки должна лечь на правую руку, т.к. большинство людей - правши.</li><br /><li>Наиболее часто используемые вместе буквы не должны находиться под соседними пальцами.</li><br /><li>Набор должен производиться от краёв к центру. Постучите пальцами по столу, как будто нервничая - и вы заметите, что для вас привычнее и удобнее ударять сначала мизинцем, потом безымянным и т.д., то есть в обратном порядке.</li></ul><br />(По материалам <a href='http://en.wikipedia.org/wiki/Dvorak_Simplified_Keyboard' target='_blank'>Wikipedia</a>)<br /><br />Клавиатура Дворака предназначена для американского английского языка - ведь в каждом языке имеются свои "буквы-любимицы". Поэтому существует несколько раскладок для европейских языков, построенных по принципу клавиатуры Дворака. (Например, такие есть в Германии и Швеции.) Кроме того, Дворак разработал раскладки для печати одной рукой. Ниже приведена раскладка Дворака для клавиатур США.<br /><pre>[`][1][2][3][4][5][6][7][8][9][0]{[}{]}[\]<br />[TB]['][,][.][p][y][f][g][c][r][l][/][=]<br />[CPS][a][o][e][u][i][d][h][t][n][s][-]<br />[SHFT][;][q][j][k][x][b][m][w][w][v]<br /><br />[~][!][@][#][$][%][^][&][*][(][)][{][}][|]<br />[tb]["][<][>][P][Y][F][G][C][R][L][?][+]<br />[cps][A][O][E][U][I][D][H][T][N][S][_]<br />[shft][:][Q][J][K][X][B][M][W][V][Z]</pre><br />Я освоил эту раскладку и уверен, что своей цели она достигает: печатать становится удобнее, однако очень сложно привыкнуть разделять владение двумя разными раскладками одного и того же алфавита: первое впечатление при обратном переходе было неприятным, как будто впервые за клавиатуру сел. Ещё одним серьёзным недостатком является привязка хоткеев к QWERTY раскладке: клавиши zxcv, например, расположены куда менее удобным для нажатия комбинаций с CTRL одной рукой образом. Впрочем, к ним тоже можно привыкнуть, или извернуться и поковырять файлы, отвечающие за раскладки клавиатуры.<br /><br />Кроме разработки доктора Дворака существует ещё несколько известных раскладок клавиатур: например, Colemak и Maltron. <a href='http://colemak.com/' target='_blank'>Первая</a>, к слову сказать, является открытой разработкой, своего рода адаптацией QWERTY под человеческие руки (многие клавиши расположены так же, как в самой старой раскладке, QWERTY, поэтому её легче учить, чем раскладку Дворака, в которой с QWERTY по расположению совпадает лишь несколько клавиш). Кроме того, отдельно отмечу гениальное решение - назначить клавише Caps Lock, бессмысленной в её первоначальном предназначении, столь удобно лежащей возле левого мизинца, значение клавиши Backspace. Невероятно удобно!<br /><br /><img src="http://lh5.ggpht.com/vonderer/SLlqWnApM-I/AAAAAAAAAVI/gGlYQ703Uek/Colemak_layout_2.png" border="0" alt="Раскладка Colemak: http://www.colemak.com/" align='center' /><br /><br />Клавиатуры <a href='http://www.maltron.com/' target='_blank'>Мальтрон</a> поражают своими формами - они максимально эргономичны не только порядком клавиш, но и их положением в пространстве (также, отдельно хочется отметить разработки этой фирмы для левой и правой рук, а так же для людей, которые, в силу физических ограничений, вынуждены набирать текст с помощью карандаша, зажатого в зубах).<br /><br /><b>UPD</b>: Для удобства русскоязычных пользователей также существуют фонетические раскладки латиницы: сходные по звучанию в английском языке буквы находятся на месте аналогичных по звучанию русских букв в раскладке ЙЦУКЕН. Такие раскладки созданы для тех, кто освоил слепую печать кириллицей, но хочет также быстро печатать по-английски, не тратя время на изучения слепой печати на QWERTY или Dvorak-раскладке.<br /><br />Поговорим теперь о кириллических раскладках. Наиболее популярной, да и, пожалуй, чуть ли не единственной, остаётся раскладка ЙЦУКЕН, которая существует со времён первых печатных машинок с русской раскладкой дореволюционного периода. Кроме того, существует несколько так называемых "фонетических" раскладок, в которых символы кириллицы расположены на клавишах с аналогично звучащими символами латиницы. Существуют также некие частные версии кириллической раскладки, изучать которые нету смысла в связи с их незначительной популярностью: в дистрибутивы изделия от Майкрософт и открытых операционок эти раскладки не входят - их приходится ставить неестественным путём.<br /><br />Отдельно скажу пару слов про ЙЦУКЕН. С тех пор, как она впервые попала в Россию (да, она была разработана за рубежом), она почти не менялась. Однако, умельцы из Microsoft крайне жестоко обошлись со своими русскоязычными клиентами, впарив им кириллическую раскладку с запятой в верхнем регистре. Не хватило господам из корпорации мозга сообразить, что в русском языке, в отличии от их, вражеского, запятая используется крайне часто. (по материалам <a href='http://www.artlebedev.ru/kovodstvo/sections/105/' target='_blank'>блога А.Лебедева</a>.) Кроме того, одной из основных особенностей (да и проблем) кириллической раскладки является количество символов в русском алфавите. Напомню, что их на 9 больше, чем в латинице. Основные знаки препинания оказались в верхнем регистре числового раздела - хотя нужны они значительно чаще самих цифр, а буква "Ё" оказалась вынесенной на клавишу "~", ей и раньше пренебрегали, а сейчас и совсем забыли. К счастью, не всё так плохо: во всех операционках наряду со знакомой и привычной всем winkeys-раскладкой, присутствует т.н. typewriter-раскладка, или машинопись: взята она с тех самых печатных машинок.<br /><br />Машинопись Linux:<br /><pre>['][!][№][/][;][:][,][.][_][?][%][-][=][(]<br />[TB][й][ц][у][к][е][н][г][ш][щ][з][х][ъ]<br />[CPS][ф][ы][в][а][п][р][о][л][д][ж][э]<br />[SHFT][я][ч][с][м][и][т][ь][б][ю][ё]<br /><br />["][1][2][3][4][5][6][7][8][9][0][_][+][)]<br />[tb][Й][Ц][У][К][Е][Н][Г][Ш][Щ][З][Х][Ъ]<br />[cps][Ф][Ы][В][А][П][Р][О][Л][Д][Ж][Э]<br />[shft][Я][Ч][С][М][И][Т][Ь][Б][Ю][Ё]</pre><br /><br />Машинопись Windows:<br /><pre>[|][№][-][/]["][:][,][.][_][?][%][!][;][)]<br />[TB][й][ц][у][к][е][н][г][ш][щ][з][х][ъ]<br />[CPS][ф][ы][в][а][п][р][о][л][д][ж][э]<br />[SHFT][я][ч][с][м][и][т][ь][б][ю][ё]<br /><br />[+][1][2][3][4][5][6][7][8][9][0][=][\][(]<br />[tb][Й][Ц][У][К][Е][Н][Г][Ш][Щ][З][Х][Ъ]<br />[cps][Ф][Ы][В][А][П][Р][О][Л][Д][Ж][Э]<br />[shft][Я][Ч][С][М][И][Т][Ь][Б][Ю][Ё]</pre><br />Машинописью я пользуюсь уже довольно давно: знаки препинания расположены довольно удобно и легкодоступны, а буква "Ё" больше не дискриминируется. Точка и запятая нажимаются указательными пальцами, без подъёма каретки. Единственный возможный недостаток такой машинописи - цифры в верхнем регистре, к которым, к сожалению, привыкаешь отнюдь не сразу. Настоятельно рекомендую своим читателям обратить внимание на эту раскладку и вспомнить о том, что в русском алфавите есть буква "Ё".<br /><br /><b>Выводы.</b> Консервативность можно рассматривать и как положительную, и как отрицательную черту человеческой природы. В первом случае это залог стабильности, во втором - враг прогресса. Выражаясь менее высокопарно, замечу, что немного жаль, что упрощённая раскладка Дворака так и не стала популярной: она гораздо удобнее. Моё отношение к ней неоднозначно: с одной стороны - она удобнее, с другой - QWERTY это не только хоткеи, но и пароли. И если хоткеи не настолько критичны, а набираемый текст всегда можно без проблем отслеживать, то с паролями неминуемо возникают сложности. С машинописью же всё намного проще: просто устанавливаете эту раскладку и пользуетесь.<br /><br />Приятной работы за компьютером! :)</span><div class="blogger-post-footer"><a href='http://creativecommons.org/licenses/by-nc-sa/2.5/'><img src='http://i.creativecommons.org/l/by-nc-sa/2.5/88x31.png'/></a><br/>This work is licensed under a <a href='http://creativecommons.org/licenses/by-nc-sa/2.5/'>Creative Commons Attribution-NonCommercial-ShareAlike 2.5 License</a>.</div>Unknownnoreply@blogger.com13tag:blogger.com,1999:blog-36693588.post-80331759521071808392007-10-28T02:10:00.000+03:002007-10-28T02:14:13.391+04:00С днем Рождения, блог. :)Этому блогу уже год. (Статьи я начал писать чуть раньше — 15 сентября 2006 г., но в другом блоге.) Огромное спасибо Вам, уважаемые читателям, за внимание и комментарии! Постараюсь и в дальнейшем писать максимально интересные и полезные статьи.<div class="blogger-post-footer"><a href='http://creativecommons.org/licenses/by-nc-sa/2.5/'><img src='http://i.creativecommons.org/l/by-nc-sa/2.5/88x31.png'/></a><br/>This work is licensed under a <a href='http://creativecommons.org/licenses/by-nc-sa/2.5/'>Creative Commons Attribution-NonCommercial-ShareAlike 2.5 License</a>.</div>Unknownnoreply@blogger.com5tag:blogger.com,1999:blog-36693588.post-33257167474176961672007-10-24T19:48:00.000+04:002007-10-28T02:17:14.646+04:00ATI FGLRX 8.42.3, решение проблемы с загрузкой модуляВ <a href='http://vonderer.blogspot.com/2007/10/ati-fglrx-8423.html' target='_blank'>предыдущей статье</a> я посетовал на то, что по <nobr>каким-то</nobr> причинам модуль fglrx.ko удаляется из каталога с модулями и не загружается в систему. Решение нашлось, хотя и не такое изящное, каким бы оно должно было быть (в конце концов, я не такой уж и искушенный линуксоид): нам потребуется создать небольшой скрипт и сделать так, чтобы он загружался автоматически вместе с системой.<span class='fullpost'> Приступим. [В качестве редактора я, как обычно, использую vim. Уважаемый читатель может воспользоваться любым другим редактором.]<br /><blockquote>$ sudo vim /usr/local/bin/fglrx_module_fix.sh</blockquote><br />Прописываем туда следующий текст:<br /><blockquote><pre>#!/bin/sh<br />rmmod fglrx<br />ln -s /lib/modules/2.6.22-14-generic/misc/fglrx.ko /lib/modules/2.6.22-14-generic/volatile/fglrx.ko<br />modprobe fglrx</pre></blockquote><br />Задаем права на запуск:<br /><blockquote>$ sudo chmod 755 /usr/local/bin/fglrx_module_fix.sh</blockquote><br />Теперь прописываем автозапуск, добавляя в конец файла rc.local следующий текст:<br /><blockquote><pre>echo " Loading fglrx kernel module... "<br />/usr/local/bin/fglrx_module_fix.sh<br />exit 0</pre></blockquote><br />После этого проверяем результат своей работы, то есть перезагружаем систему:<br /><blockquote>$ sudo reboot</blockquote><br />Если все было сделано правильно, то после первой загрузки <nobr>X-сервера</nobr>, консоль на запрос<br /><blockquote>$ fglrxinfo</blockquote><br />ответит, что в данный момент используется драйвер, предоставленный ATI, а не Mesa.</span><div class="blogger-post-footer"><a href='http://creativecommons.org/licenses/by-nc-sa/2.5/'><img src='http://i.creativecommons.org/l/by-nc-sa/2.5/88x31.png'/></a><br/>This work is licensed under a <a href='http://creativecommons.org/licenses/by-nc-sa/2.5/'>Creative Commons Attribution-NonCommercial-ShareAlike 2.5 License</a>.</div>Unknownnoreply@blogger.com8tag:blogger.com,1999:blog-36693588.post-32041523138507950982007-10-24T00:10:00.000+04:002007-10-28T02:20:29.631+04:00ATI FGLRX 8.42.3Да, товарищи. Мы, владельцы видеокарт ATI, ждали этого очень давно. Наконец-таки вышел драйвер, поддерживающий расширения AIGLX. Ура! Ну, с патетическими речами можно покончить и поглядеть, что мы в итоге получили.<span class='fullpost'><br /><br /><b>Установка</b><br />За день до официального релиза я обновил свой kubuntu Feisty Fawn до Gutsy Gibbon. Подробно останавливаться на этом моменте не буду, да и желания нету. Скажу только, что после обновления я получил ядро <nobr>2.6.22-14</nobr>, и естественно, мне пришлось снести предыдущее ядро (<nobr>2.6.20-16</nobr>) и старый FGLRX за версией 8.38. Однако, своими силами, из бинарного пакета с сайта разработчика, мне поставить более новый 8.40.4 мне не удалось. То есть, <nobr>устанавливаться-то</nobr> он устанавливался, а GL не запускался. Поэтому я махнул на него рукой в ожидании сегодняшнего события и поднял открытый драйвер, естественно, установив Compiz Fusion. Сегодня вечером появился драйвер и я не мог удержаться от того, чтобы не «пощупать» его. Попытка установить бинарный драйвер, даже следуя всем возможным инструкциям благополучно провалилась. И я уже было разочаровался и приготовился ждать выхода либо готового пакета для ubuntu, либо ждать адекватной инструкции по установке. Честно говоря, не хотелось. Решение оказалось абсолютно дилетантским и непростительно неюниксовым, но оно сработало. Вооружившись скриптом Envy, предназначенным для установки проприетарных драйверов, я установил драйвер версии 8.40.4, после чего сразу же, поверх него своими силами поставил 8.42.3, в соответствии с инструкцией для Ubuntu Gutsy для предыдущих версий. И это сработало. Команда fglrxinfo дала соответствующий вывод (OpenGL vendor string: ATI Technologies Inc.), и я, с радостным боевым воплем, принялся плясать с бубном вокруг запуска всяких рюшечек.<br /><br /><b>Запуск</b><br />Прежде, чем <nobr>что-то</nobr> заработает, нам необходимо выправить скрипт запуска Compiz’а, который уверен, что fglrx совсем не дружит с композитными окнами, а также разубедить в этом xorg.conf. Обрадуем обоих: дружит, теперь дружит. Добавим в скрипт /usr/bin/compiz в строку WHITELIST волшебное слово fglrx. В файле /etc/X11/xorg.conf найдем секцию "Extensions" и впишем в опцию "Composite" слово "Enable". Все. Теперь можно отойти на безопасное расстояние и запускать: обещаные композитные окна заведутся и потихоньку покатят.<br /><br /><b>Впечатления</b><br />А впечатления, друзья мои, смешанные. <nobr>Во-первых</nobr>, драйвер неплохо оптимизирован: glxgears на моей ATI Mobility Radeon 9600 выдает аж 2,5 тысячи FPS (на открытом драйвере с трудом достигалось значение в 1,5 тысячи). Композитные окна действительно есть и работают: достаточно быстро, как подобает работать композитным окнам под проприетарным драйвером. OpenGL-игрушки носятся и летают, обрадованные тем, что им приходится иметь дело не с чем-нибудь, а с самым настоящим проприетарным драйвером: Alien Arena — просто заглядение: и тени, и динамическое освещение, и блум-свечение, и никаких артефактов, которые кишели при запуске игры с открытым драйвером. Отлично! Однако, это первый блин, которому, как известно, положено выходить комом: <nobr>во-первых</nobr>, меня сильно огорчил конфликт Compiz и Conky в KDE: при обновлении системного монитора (ровно раз в секунду) наблюдался рывок в <nobr>GL-графике</nobr>. <nobr>Во-вторых</nobr>, часть эффектов просто не стала работать: размытие, которое и под свободным драйвером завешивало иксы, под свежим драйвером просто не дает никакого эффекта. <nobr>В-третьих</nobr>, я так и не понял, каким макаром мне смотреть видео с этим драйвером. Если при использовании открытого, видео работало с <nobr>xv-выводом</nobr>, просто не таскало его за собой при изменении экрана (картинка оставалась на месте, перекрываясь пустым черным полем в случае смещения «угла обзора»), то здесь <nobr>xv-вывод</nobr> просто дал равномерную черную заливку вместо нормальной картинки, <nobr>gl-вывод</nobr> перекрыл вообще всё, оставив окно с видео поверх всего, что происходило на экране, а x11 — ну это же несерьезно, выводить видео программно, так ведь?<br /><br /><b>Выводы</b><br />Наигравшись с композитными окнами, я отложил их. Теперь гораздо проще будет показывать красоты Compiz непосвященным: никакой правки конфигов не надо — <nobr>запускай-не</nobr> хочу! Да и самому иногда хочется поглядеть на все эти красоты. Несмотря на недостатки, я остался доволен новым драйвером. Это шаг вперед для ATI, будем надеяться, что развитие будет продолжено в правильном направлении, и будем ждать новых, более совершенных версий драйвера.<br /><br /><b>UPD:</b> уже сегодня, после установки драйвера, обнаружился пренеприятнейший глюк. Каждый раз при загрузке системы из каталога /lib/modules/2.6.22-14-generic/volatile/ удаляется симлинк или копия fglrx.ko. Иначе говоря, система грузится, а модуля не находит. Приходится ручками его переносить из ../misc в volatile и переопрашивать на предмет наличия модуля.</span><div class="blogger-post-footer"><a href='http://creativecommons.org/licenses/by-nc-sa/2.5/'><img src='http://i.creativecommons.org/l/by-nc-sa/2.5/88x31.png'/></a><br/>This work is licensed under a <a href='http://creativecommons.org/licenses/by-nc-sa/2.5/'>Creative Commons Attribution-NonCommercial-ShareAlike 2.5 License</a>.</div>Unknownnoreply@blogger.com9tag:blogger.com,1999:blog-36693588.post-34410835750806131832007-10-16T13:50:00.002+04:002009-06-05T19:08:49.140+04:00Расширения Firefox, которые я использую.Нынче стало обычным делом делиться информацией об используемых расширениях (extensions) Firefox. Вследствии недавнего набега на <a href='https://addons.mozilla.org/ru/firefox/' target='_blank'>addons.mozilla.org</a>, я обзавелся некоторыми новыми расширениями. Плюс опишу несколько старых. Возможно, уважаемые читатели, вас <nobr>что-то</nobr> из этого списка заинтересует.<span class='fullpost'> Итак, начнем. Рассматривать буду в алфавитном порядке:<br /><br /><a href='https://addons.mozilla.org/ru/firefox/addon/1865' target='_blank'>Adblock Plus</a> — думаю, стандартный мастхэв любого уважающего себя пользователя Firefox. Баннеры надоедают всем не только <nobr>из-за</nobr> того, что едят траффик или канал, но и своим постоянным миганием и отвлечением читателей непосредственно от контента, который их интересует. Кроме того, Adblock Plus удобен в использовании и умеет блокировать flash и java объекты, а так же целые фреймы.<br /><br /><a href='https://addons.mozilla.org/ru/firefox/addon/4364' target='_blank'>Adblock Plus: Element Hiding Helper</a> — люди, которые пользовались Opera 9, знают об одной из ее функций, сходной с Adblock Plus: прятать баннеры, флэш-объекты и фреймы, но добавление (в целях последующего удаления из виду) их идет не из контекстного меню: броузер просто переводится в режим блокировки, а пользователь сам просматривает страницу и указывает обычным мышиным кликом, какие именно объекты он не желает видеть. Element Hiding Helper — «дополнение к дополнению» для Adblock Plus — добавляет эту функцию в Firefox.<br /><br /><a href='https://addons.mozilla.org/ru/firefox/addon/1194' target='_blank'>Calculator</a> — название говорит само за себя. Калькулятор — он и в Африке калькулятор, сколь бы необычна не была его реализация. Думаю, читателям легко представить себе Microsoft PowerToy Calculator или qalculate!-kde/-gtk. Это расширение имеет подобный вышеозначенным программам интерфейс и достаточно просто в использовании (открывается в сайдбаре, отдельном окне или вкладке). Кто знает, когда он может понадобиться? Но когда понадобится — он точно под рукой. :)<br /><br /><a href='https://addons.mozilla.org/ru/firefox/addon/1330' target='_blank'>CuteMenus — Crystal SVG</a> — просто добавляет значки в меню в стиле Crystal.<br /><br /><a href='https://addons.mozilla.org/ru/firefox/addon/3372' target='_blank'>external IP</a> — незаменимое расширение для пользователей провайдеров с динамическим прямым IP (например пользователи <nobr>Dial-Up</nobr> соединений или СТРИМ). Отображает в правом нижнем углу Firefox текущий IP адрес. Умеет оповещать об изменении внешнего IP и копировать его в буфер обмена.<br /><br /><a href='https://addons.mozilla.org/ru/firefox/addon/1951' target='_blank'>Fission</a> — раньше Safari существовал исключительно в OS X, ныне его портировали в Windows. Естественно, я попользовался им и мне многое в нем понравилось. Особенно — индикатор загрузки страницы, встроенный в адресную строку. Это расширение добавляет в Firefox именно эту функцию. Также его можно переключить в режим <nobr>а-ля</nobr> Opera, когда полоса загрузки отображается возле кнопки «перейти», но все равно внутри адресной строки.<br /><br /><a href='https://addons.mozilla.org/ru/firefox/addon/2410' target='_blank'>Foxmarks Bookmark Synchronizer</a> — раньше, для синхронизации закладок в Firefox на разных машинах или в разных системах (особенно с переносной версией для Windows) я использовал Google Browser Sync. Он синхронизировал не только закладки, но еще и пароли и кукисы. Однако в качестве «камеры хранения» закладок он имел существенный недостаток: в условиях отсутствия Firefox или расширения-синхронизатора, или даже просто на чужой машине, я не мог получить доступ к своим закладкам. <a href='http://www.foxmarks.com/' target='_blank'>Foxmarks.com</a> решил мою проблему. На сайте имеется веб-интерфейс для управления закладками. Названное мною расширение ни что иное, как инструмент для синхронизации закладок с этим сервисом.<br /><br /><a href='https://addons.mozilla.org/ru/firefox/addon/219' target='_blank'>Foxytunes</a> — как я уже писал у себя в блоге, для прослушивания музыки я использую MPD. С выбором клиента мне было очень сложно определиться: gmpc — информативный, но с неудобным плейлистом, mpcool — на java, qmpdClient — слишком громоздкий. После визита addons.mozilla.org решение нашлось само собой: Foxytunes может работать клиентом для <a href='http://vonderer.blogspot.com/2007/07/music-player-daemon.html' target='_blank'>MPD</a>, и я могу управлять прослушиванием музыки прямо из браузера. Конечно, он не позволяет, например, править плейлист. Но для базового управления чертовски хорош. При желании можно раскрасить темкой, что я и сделал. Кроме того, умеет вставлять в блоггер (и, возможно, куда-нибудь еще :) ) вот такие подписи:<br /><blockquote>------<br />Now playing: <a href="http://www.foxytunes.com/artist/freak+kitchen/track/sob+story">Freak Kitchen — Sob Story</a><br />via <a href="http://www.foxytunes.com/signatunes/">FoxyTunes</a></blockquote><br /><br /><a href='https://addons.mozilla.org/ru/firefox/addon/1672' target='_blank'>ImgLikeOpera</a> — в разговоре о браузерах я всегда отзываюсь об Opera с большой теплотой. Особенно мне нравится виндовая версия — тем что она очень шустрая. Не знаю, что виной ее медлительности в linux, ну да я отклонился от темы. В Opera всегда была замечательная система управления изображениями. Это расширение добавляет аналогичные функции в Firefox. Юзабилити на высшем уровне. :)<br /><br /><a href='https://addons.mozilla.org/ru/firefox/addon/39' target='_blank'>Mouse Gestures</a> — вообще, пользователей компьютеров условно можно разделить на два вида: мышекликатели и хоткейщики. Это расширение для первых. Я снова упоминаю Opera, так как там я встретился с этой функцией впервые. Встретился — и сразу влюбился в нее, потому что она действительно невероятно ускоряет и упрощает процесс серфинга в сети. Хоткейщикам же очень рекомендую обратить внимание на <a href='https://addons.mozilla.org/ru/firefox/addon/4891' target='_blank'>Vimperator</a>. Думаю, не пожалеете.<br /><br /><a href='https://addons.mozilla.org/ru/firefox/addon/2558' target='_blank'>Permatabs</a> — нынче стали входить в моду всяческие web-интерфейсы и web-приложения. <nobr>Кто-то</nobr> постоянно держит открытым Google Reader, <nobr>кто-то</nobr> GMail, <nobr>кто-то</nobr>, и я тоже, постоянно использует Bloglines. Как часто вы по случайности закрывали вкладку с запущенным сервисом? Permatabs предназначен для фиксирования открытой вкладки. Фиксирование подразумевает не только блокировку от случайного закрытия, но и блокировку от ухода со страницы по ссылке (все ссылки и даже введенные в адресную строку адреса открываются в новых вкладках), а так же сохранение этой вкладки после перезапуска Firefox.<br /><br /><a href='https://addons.mozilla.org/ru/firefox/addon/3529' target='_blank'>Russian Hotkey Bugfix</a> — мастхэв для всех русскоязычных пользователей Firefox под linux. Дело в том, что если вы в Firefox под linux нажимаете, не сменив раскладку на английскую, скажем Ctrl+м вместо Ctrl+v, то хоткей просто не срабатывает. Данное расширение — простое и изящное решение данного бага.<br /><br /><a href='https://addons.mozilla.org/ru/firefox/addon/5593' target='_blank'>Simple Mail</a> — помимо использования почтовых клиентов существует еще множество разнообразных способов уведомления пользователя о новой почте. Просто введите mail в поиске на addons.firefox.com, и вы сами увидите результат. Я избегаю как отдельных почтовых клиентов, так и отдельных RSS-ридеров, так как частенько возникает желание воспользоваться ими <nobr>из-под</nobr> разных платформ или даже на разных компьютерах (дома/на работе). Поэтому гораздо проще следить за своим почтовым ящиком через web-интерфейс. Но хорошо, если у вас один почтовый аккаунт — открыл Permatab с веб-интерфейсом и наслаждаешься свободой веб-полета. А если несколько? Использовать расширения-уведомления? Нет, есть гораздо более изящное решение. Simple Mail — это почтовый клиент во вкладке Firefox, способный не только получать и отображать письма с почтовых ящиков, но и отправлять письма с помощью SMTP. Также, расширение умеет одновременно удалять письма в клиенте и на сервере. (Но с GMail такое не пройдет.)<br /><br /><a href='https://sxipper.com/' target='_blank'>Sxipper</a> — продвинутый менеджер форм и паролей. Снова вспомню Opera, где есть так называемая «волшебная палочка» (wand). Все данные хранятся локально, кроме того, в случае наличия установленного и настроенного sxipper пользователь может использовать свою страницу sxipper (да, для использования этого расширения необходима регистрация) в качестве OpenID (к сожалению, другие OpenID он заполнять не умеет — постоянно предлагает свой). Однако, лично для меня это не стало большой проблемой: его можно привязать к блогу точно таким же образом, как и pip.verisignlabs.com, просто поменяв эти две строчки в head из предложенных sxipper в настройках расширения, после чего верифицировать его в соответствующем поле и — вуаля — OpenID тот же, а провайдер другой. LiveJournal и Wordpress подмены не заметили. :)<br /><br /><a href='https://addons.mozilla.org/ru/firefox/addon/2755' target='_blank'>Torrent Finder Toolbar</a> — просто дополнительная панелька, которая умеет искать торренты на 150 поисковиках. <br /><a href='https://addons.mozilla.org/ru/firefox/addon/2254' target='_blank'>UnPlug</a> — вам нужно скачать видео-файл с YouTube или аналогичного сервиса? Тогда это расширение для вас. (yack! как банально звучит :) ) На нужной странице жмем на кнопку UnPlug и попадаем на страницу со списком всех имеющихся SWF-объектов, в том числе нужным нам flv-видео, просто нажимаем кнопку Save под нужным пунктом и наслаждаемся полученным видеороликом.<br /><br /><a href='https://addons.mozilla.org/ru/firefox/addon/59' target='_blank'>User Agent Switcher</a> — самый простой способ прикинуться ослом. Ой, простите. :) Надеюсь, вы меня правильно поняли: это расширение позволяет вам менять поле ’user agent’ на нужный вам пункт, в том числе IE (в простонародье — «осел»), дабы сайты, требующие от вас самоубийственных действий успокоились и позволили на себя зайти.<br /><br />Это небольшой список тех расширений, которые использует ваш покорный слуга в своем повседневном путешествии по всемирной www-помойке. Естественно, этот список не конечный: возможно, от <nobr>каких-то</nobr> из них я откажусь, а <nobr>какие-то</nobr> новые появятся в очень скором времени.</span><div class="blogger-post-footer"><a href='http://creativecommons.org/licenses/by-nc-sa/2.5/'><img src='http://i.creativecommons.org/l/by-nc-sa/2.5/88x31.png'/></a><br/>This work is licensed under a <a href='http://creativecommons.org/licenses/by-nc-sa/2.5/'>Creative Commons Attribution-NonCommercial-ShareAlike 2.5 License</a>.</div>Unknownnoreply@blogger.com15tag:blogger.com,1999:blog-36693588.post-81157227873509064942007-10-14T14:30:00.001+04:002008-07-15T03:14:26.275+04:00OpenIDПока полноценных статей нету, но кое-какие новости, все же, имеются. Организовал себе OpenID, и, благодаря <a href='http://sovety.blogspot.com/2007/09/openid-blogger.html' target='_blank'>руководству в блоге "Жизнь на свободе"</a>, связал его с этим блогом. (<b>UPD 7.02.2008</b>: на самом деле, автором этой заметки является <a href='http://www.blogger.com/profile/07477969170420159102'>Michael de`Oz</a>, вот <a href='http://de-oz.blogspot.com/2006/08/openid.html'>ссылка на статью</a>.)<br /><br />В качестве OpenID сервера использую <a href='http://pip.verisignlabs.com/' target='_blank'>Personal Identity Provider от Verisign Labs</a>. Пробовал еще некоторые сервисы (moikrug.ru, sxipper, videntity.org), но PIP мне понравился внешним видом и тем, что использует шифрование. Мелочь, а приятно. :)<br /><br /><b>UPD 7.02.2008</b>: уже давно не пользуюсь PIP, так как нашел более приятный и удобный в использовании <a href='https://www.claimid.com/'>claimID.com</a>.<div class="blogger-post-footer"><a href='http://creativecommons.org/licenses/by-nc-sa/2.5/'><img src='http://i.creativecommons.org/l/by-nc-sa/2.5/88x31.png'/></a><br/>This work is licensed under a <a href='http://creativecommons.org/licenses/by-nc-sa/2.5/'>Creative Commons Attribution-NonCommercial-ShareAlike 2.5 License</a>.</div>Unknownnoreply@blogger.com13tag:blogger.com,1999:blog-36693588.post-56290867883066894192007-07-31T20:32:00.000+04:002007-07-31T20:40:15.748+04:00ОтпускТе две недели, пока я в отпуске, можете писать мне на джаббер vonderer@radio-t.com. E-mail и icq те же.<div class="blogger-post-footer"><a href='http://creativecommons.org/licenses/by-nc-sa/2.5/'><img src='http://i.creativecommons.org/l/by-nc-sa/2.5/88x31.png'/></a><br/>This work is licensed under a <a href='http://creativecommons.org/licenses/by-nc-sa/2.5/'>Creative Commons Attribution-NonCommercial-ShareAlike 2.5 License</a>.</div>Unknownnoreply@blogger.com1tag:blogger.com,1999:blog-36693588.post-5589890957057624202007-07-29T14:53:00.000+04:002008-01-24T10:06:55.450+03:00Все еще ковыряюсь с Я.руvondererlive добавился с первого раза, а этот блог мне добавляли админы ручками и при этом он очень криво собирался по rss. Попытки написать администрации Яndex результатов не дали.<br /><br />25680257.b47f3f5fbfa22cb6dcd942986f9ed7fd.1201158195.1ee2906ea52a46cd44d896e0459df617<div class="blogger-post-footer"><a href='http://creativecommons.org/licenses/by-nc-sa/2.5/'><img src='http://i.creativecommons.org/l/by-nc-sa/2.5/88x31.png'/></a><br/>This work is licensed under a <a href='http://creativecommons.org/licenses/by-nc-sa/2.5/'>Creative Commons Attribution-NonCommercial-ShareAlike 2.5 License</a>.</div>Unknownnoreply@blogger.com7tag:blogger.com,1999:blog-36693588.post-78565760761311732902007-07-28T17:55:00.000+04:002007-07-28T21:53:32.132+04:00Почему XMPP? Часть 4. Безопасность и покой.Последняя на сегодняшний день статья Aaron Toponce о Jabber.<br /><br /><b>Почему XMPP? Часть 4. Безопасность и покой.</b><br /><br />Одним из самых насущных вопросов для людей, пользующихся проприетарными протоколами, является вопрос безопасности (например, шифрования), а вернее - ее отсутствия. XMPP с этой точки зрения превосходен, и, более того, продолжает развиваться в этом направлении.<span class='fullpost'><br /><br />Шифрование данных - одна из моих самых любимых тем. Я много раз писал о безопасности и давал много презентаций. Я не считаю себя экспертом, но вполне разбираюсь в этой теме, по крайней мере с тех пор, как в 2001 году создал свой GnuPG ключ. Поскольку шифрование данных является столь важной частью моей повседневной жизни, для меня важно использовать протокол, который поддерживает его нативно. Это еще одна причина тому, чтобы выбрать Jabber. Присмотримся получше и включим воображение.<br /><br />Для начала, воображение. Представьте, что вы работаете на крупном предприятии. Вы используете icq для связи со своими коллегами и возможно даже клиентами. В течение дня вы спорите с коллегой о том, что он(а) делает, на ваш взгляд, неправильно. У нее к вам тоже есть аналогичные претензии. Постепенно вы приходите в праведный гнев и перестаете стесняться каких бы то ни было выражений. Вы ведь никогда не ладили с ним(с ней), и у него(нее) есть несколько друзей, которые хотят ему(ей) помочь любыми доступными способами. Зная о том, что сообщения icq передаются по сети открытым текстом, вы запускаете Wire Shark и отлавливаете все icq пакеты, наблюдая за его(ее) разговором с друзьями о вас. Да, вы сможете видеть весь текст после очистки TCP дампа.<br /><br />Я не смирюсь со сниффингом пакетов в копоративной сети. Речь о том, что если вас поймают, то вас уволят (если, конечно, вы не из персонала IT). Но, урок есть урок. Используя доступные инструменты сниффинга пакетов, вы можете заполучить логины, пароли и целые разговоры по протоколам IM, которые не используют шифрования. В их числе MSN, AIM, icq, Yahoo! и большинство других. С моей точки зрения все, что передается без шифрования, есть дыра в безопасности. Итак, используя протоколы, которые не шифруют свой траффик, вы просто сами напрашиваетесь на неприятности.<br /><br />И тут на сцене появляется Jabber. Когда появился XMPP, SSL был явлением первой важности. Каждый аккаунт Jabber, должен был быть соединен шифрованным потоком. Конечно же, изначально SSL использовался по умолчанию. Теперь, с появлением TLS, Jabber по умолчанию использует TLS. Некоторые сервера Jabber поддерживают и SSL, и TLS для максимальной обратной совместимости. В любом случае, вы можете быть уверены, что траффик между вами и сервером на 100% шифрован. Это означает, что сколько бы времени злоумышленник не пытался отловить пакеты с помощью сниффинга, он не сможет заполучить информацию аккаунта, пароль или содержание разговора.<br /><br />К сожалению, шифрование производится дважды: на клиенте и на сервере. Это означает, что на компьютере пользователя и на сервере могут открытым текстом храниться логи разговоров. В качестве примера: если вы используете Gmail в качестве аккаунта Jabber, вы можете заглянуть во вкладку "Чаты" в веб-интерфейсе Gmail. По умолчанию, логи всех ваших бесед хранятся в вашем аккаунте Gmail (но при желании их можно отключить). Они хранятся открытым текстом после расшифровки их сервером. Меня, и, к счастью, команду разработчиков XMPP, это беспокоит. Почему мы не можем использовать механизм шифрования "клиент-клиент" вместо "клиент-сервер(-сервер)-клиент"? К счастью, в следующих релизах XMPP планируется поддержка такой функции. В любом случае, по проводам идет шифрованный поток и вы можете не беспокоиться насчет не в меру ретивых сотрудников, пытающихся сниффить ваши пакеты в надежде выведать, что же вы говорите о них друзьям. :)<br /><br />Шифрованием данных никого не удивишь. Многие клиенты включают в себя различные плагины сторонних разработчиков, дающие возможность шифрования в режиме "клиент-клиент" вне зависимости от протокола. Я уже когда-то писал об этом, в надежде хотя бы на какое-то подобие стандарта в этой области. Однако, все эти инструменты просто шифруют текст сообщений, оставляя доступным IP в пакете. Представьте себе шифрование целого пакета "от и до", без единого нешифрованного байта. Именно к этой цели и стремятся разработчики XMPP.<br /><br />Благодаря децентрализации XMPP, установка Jabber в локальной сети - это еще один способ достичь безопасности. Не только шифруя пакеты, но и изолируя их от внешней сети в принципе - о таком уровне безопасности многие даже и не мечтали! Используя проприетарные IM-сети, вы автоматически ставите себя в зависимость от двух вещей: Интернета и IM-провайдера. Установив на предприятии собственный сервер XMPP, вы получаете невероятно удобное положение: вам совсем не нужно подключение к Интернету и надежный внешний IM-провайдер. В этом случае именно вы держите штурвал в своих руках, и мне кажется, что такого уровня безопасности другими методами вам просто не достичь. Зачем рассылать пакеты по всему Интернету, если они все равно вернутся к вам на предприятие?<br /><br />Надеюсь, что этот плюс в пользу XMPP убедит пользователей других IM-сетей перейти на Jabber и избавиться от своих проприетарных аккаунтов. Безопасность важна всегда, и почему другие сети до сих пор не занялись ею, остается для меня загадкой. Объединив сторонние плагины шифрования и внутреннюю корпоративную сеть, вы сделаете ваш сервер Jabber защищенным от ненужных глаз. Команда разработчиков XMPP занята усовершенствованием безопасности Jabber, поэтому мне кажется, что этот протокол должен стать единственным используемым всеми. Просто вглядитесь в возможности.<br /><br />© <a href='http://www.aarontoponce.org/' target='_blank'>Aaron Toponce</a>, '<a href='http://www.pthree.org/2007/07/17/why-xmpp-part-4-security-means-peace-of-mind/' target='_blank'>Why XMPP Part 4- Security Means Peace Of Mind</a>', немного вольный перевод: vonderer.<br /><br />PS. К слову сказать, в пользовательском соглашении icq черным по белому (или какими-то другими, но все равно довольно контрастными цветами) явно прописано примерно следующее: "пользователь icq отказывается от всех интеллектуальных прав на материал, переданный с помощью icq". Как люди после такого прямого заявления о том, что все, что они пишут, может быть на совершенно законных основаниях прочитано (а еще более меня раздражает, что об этом говорят напрямую, вероятно исходя из мнения "пользователь==идиот"), соглашаются и начинают этим пользоваться, мне до сих пор не понятно. Единственная причина, как мне кажется, - у нас, в России, никто не читает пользовательских соглашений, только флажки ставят - лишь бы быстрее начать писать.<br /><br />Для пользователей beta.ya.ru, которая до сих пор отказывается адекватно работать с этим блогом, ЕЩЕ РАЗ пытаюсь добавить его в свой я.ру:<br />25680257.b47f3f5fbfa22cb6dcd942986f9ed7fd.1185645117.8a2a514dff43e029f67ece40af8234a5</span><div class="blogger-post-footer"><a href='http://creativecommons.org/licenses/by-nc-sa/2.5/'><img src='http://i.creativecommons.org/l/by-nc-sa/2.5/88x31.png'/></a><br/>This work is licensed under a <a href='http://creativecommons.org/licenses/by-nc-sa/2.5/'>Creative Commons Attribution-NonCommercial-ShareAlike 2.5 License</a>.</div>Unknownnoreply@blogger.com2tag:blogger.com,1999:blog-36693588.post-30249438925447106252007-07-24T22:36:00.000+04:002007-07-25T00:51:01.547+04:00ОбновленияИзменил дизайн на более читаемый и встроил "социальные" кнопки. В общем и целом готово, но детали еще будут правиться. Кроме прочего сократил число меток, уж больно много их было.<br /><br />PS. Огромное спасибо Михаилу aka virens за <a href='http://mydebianblog.blogspot.com/2007/07/blogger.html' target='_blank'>очень полезные ссылки</a>.<div class="blogger-post-footer"><a href='http://creativecommons.org/licenses/by-nc-sa/2.5/'><img src='http://i.creativecommons.org/l/by-nc-sa/2.5/88x31.png'/></a><br/>This work is licensed under a <a href='http://creativecommons.org/licenses/by-nc-sa/2.5/'>Creative Commons Attribution-NonCommercial-ShareAlike 2.5 License</a>.</div>Unknownnoreply@blogger.com3tag:blogger.com,1999:blog-36693588.post-32585778126841353072007-07-24T19:08:00.001+04:002009-03-31T00:13:20.223+04:00Qt клиенты для MPDКак я и обещал, напишу о нескольких MPD клиентах на основе библиотек Qt. К сожалению, они менее популярны, чем GTK, поэтому клиентов мне попалось всего три (клиентов MPD на GTK и Java намного больше). И каждый из клиентов - по-своему интересен. Конечно, все клиенты так или иначе работают с одинаковыми функциями, таково уж ограничение mpd. Однако, в отношении графического оформления всего этого великолепия каждый разработчик может творить, как ему вздумается. Полный список клиентов со ссылками на них можно найти на <a href='http://mpd.wikia.com/wiki/Clients' target='_blank'>официальном wiki проекта MPD</a>. К сожалению, в репозитариях ubuntu не оказалось ни одного Qt-клиента для MPD. Все описанные ниже клиенты собирались мною. При сборке ни один компилятор не пострадал (однако, не забудьте, что наличие установленного пакета qt-apps-dev не повредит). :)<span class='fullpost'><br /><br /><b>kmp</b><br />Первое слово, за которое зацепился глаз - <a href='http://www.threadbox.net/pages/kmp' target='_blank'>kmp</a>. Есть в этой букве K что-то притягательное для пользователя KDE, не находите? :) Итак, оформление крайне простое и винампоподобное. Несмотря на то, что фактически винамповых окон нету, сходство видно невооруженным глазом:<br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgZHbaCFeLeL1KDKKkbcUdGHWs-9W9gWrnNRO4X1TzRZqSN9jOG6LG1Un5c_v30b0wTcdAPsTv84kfmkKgoXr-iknhhBj1hBY7LNV8tcTySYkfU6a1OjcOfnGxGzd2dukEvF8O0/s1600-h/kmp1.jpg"><img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgZHbaCFeLeL1KDKKkbcUdGHWs-9W9gWrnNRO4X1TzRZqSN9jOG6LG1Un5c_v30b0wTcdAPsTv84kfmkKgoXr-iknhhBj1hBY7LNV8tcTySYkfU6a1OjcOfnGxGzd2dukEvF8O0/s320/kmp1.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5090783141089553282" /></a><br /><a href='https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi7p21-IxQFACFpaK_Jq0eSGIz9CrphW2-PmbKKI-27NcCUE2TjjkPAyYdjbsQPkvr8kZwFTivHD6MUPE0UJssNQqVFF7EEv3XyY_Vn64Ax6jMkY9gEzH19e1OiOOgENjxdsMmD/s1600-h/kmp2.jpg' target='_blank'>Плейлист</a> и <a href='https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgRYKt-XUEiSIQw7DgEiTwOSV_9ubzwUtiHSAKrPNdRnkj8YqQgLulJG3sVlKRDQZ4cBYL7b-SmPeTA2V657WkCqirknAItK1nJhBMHISAxChoyVwRDKxvGFhkjyEQkl9EFltBa/s1600-h/kmp3.jpg' target='_blank'>индекс папок/тегов</a> не отличаются особой изящностью, но и глаза не режут. Все просто и удобно. Отдельно стоит отметить иконку в трее: она не только отображает статус, но при нажатии на нее средней клавишей, пользователь может приостановить воспроизведение. Кому-то может понравится. В общем, клиент прост и в меру удобен. Перейдем к более примечательным клиентам.<br /><br /><b>Quimup</b><br />Все гениальное - просто. Фраза старая и знакомая каждому. И, каждый из читателей может привести пример чего-нибудь гениального и простого. Вот и я приведу такой пример. <a href='http://www.coonsden.com/' target='_blank'>Quimup</a> - один из лучших клиентов MPD, с которыми я познакомился. Интерфейс главного окна все также интуитивно понятен, как и у kmp. Нажатие на кнопку "список" вызывает редактор плейлиста, а "молния" - опции. (К слову сказать, эта "молния" - символ этого клиента и... угадайте какого проигрывателя? ;) )<br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhwtQwg8df1KuTybpBTZF3kg1jJuTku2ujD5mzTni8drz_fMkPZMwezflL-XBgkMThwTBy2nYOmQYsFwPnOBG7YF_kRCBAXMOK3WcDIPBYW9UXWywB8ngcRGuxa0v40NZX53hWt/s1600-h/quimup1.jpg"><img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhwtQwg8df1KuTybpBTZF3kg1jJuTku2ujD5mzTni8drz_fMkPZMwezflL-XBgkMThwTBy2nYOmQYsFwPnOBG7YF_kRCBAXMOK3WcDIPBYW9UXWywB8ngcRGuxa0v40NZX53hWt/s320/quimup1.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5090790923570293682" /></a><br />Однако, в окне помещается обложка альбома (или, после нажатия на нее - комментарии к дорожке, если mpd настроен на поддержку этой функции) и небольшой "светодиод", работающий как индикатор состояния (не соединен с сервером - красный, соединен, но простаивает - синий, соединен и играет - голубой, приостановлен - желтый). На иконке проигрывателя в трее такой же "светодиод", который смотрится аккуратно и стильно. По нажатии на него средней клавишей мыши проигрывание приостонавливается. Однако, особую ценность для меня представляет редактор плейлиста, который выполняет все мои требования к оному:<br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhT5yrkJhBwvzJvSxzfHjjPfLtVIFGzGh3BKqbboG-IPRDcPJdVGDLrUovu9wxdyoQJiFyvVjUdmWgKZ-gZRnMA4eAQ1PLxD-Z3rurdNzlqeTDlyZlc1_ZRprfvbzHHI1u90hft/s1600-h/quimup2.jpg"><img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhT5yrkJhBwvzJvSxzfHjjPfLtVIFGzGh3BKqbboG-IPRDcPJdVGDLrUovu9wxdyoQJiFyvVjUdmWgKZ-gZRnMA4eAQ1PLxD-Z3rurdNzlqeTDlyZlc1_ZRprfvbzHHI1u90hft/s320/quimup2.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5090791859873164226" /></a><br />Отображать индекс можно либо по папкам, либо по исполнителю-альбому. Здесь же имеется один неприятный момент. Если в заголовках файла не указан альбом или исполнитель, то в индексе по исполнителю-альбому песня не отображается.<br /><br />Кроме всего вышеозначенного, Quimup поддерживает запуск и выключение mpd вместе с клиентом, для этого нужно выставить необходимые настройки во вкладке 'Server'.<br /><br />UPD: У меня в kubuntu 7.04 Quimup работает, к огромному сожалению, крайне нестабильно и вызывает зависание сервера.<br /><br /><b>QMPDClient</b><br />Другой, не менее замечательный клиент, <a href='http://havtknut.tihlde.org/qmpdclient/' target='_blank'>QMPDClient</a>, основан на библиотеках Qt4. Это самый "продвинутый из рассматриваемых здесь клиентов. Я думаю, скриншот проиллюстрирует мою последнюю фразу лучше всяких слов.<br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi9W4wS7_NtOBWlNSc9oVuCLwM2WMKw_yXwJZ2oy5OpnytODvi_SBjsp643vBja7Nku8N9aBb9-aCVpTLVo8BiB2V8FQcosXdGB_yJEQDWhiEWmKOcxEc1uJnw2w7gF8OJ_uqPl/s1600-h/qmpdclient1.jpg"><img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi9W4wS7_NtOBWlNSc9oVuCLwM2WMKw_yXwJZ2oy5OpnytODvi_SBjsp643vBja7Nku8N9aBb9-aCVpTLVo8BiB2V8FQcosXdGB_yJEQDWhiEWmKOcxEc1uJnw2w7gF8OJ_uqPl/s320/qmpdclient1.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5090795454760790994" /></a><br />Музыкальные проигрыватели можно условно разделить на две категории: состоящие из отдельных окон и "монолитные", где плейлист, библиотека и элементы управления находятся в одном окне. QMPDClient относится именно к этой категории. В окне программы умещается все необходимое, включая вкладку для интернет-радио. Кроме того, на борту у этого клиента имеется несколько других интересных функций: отображение названия текущего трека во всплывающем окошке и "угадывание" заголовков по имени файла, а использование для него Qt4 дает результат в виде красивого рендеринга шрифтов.<br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjgrhHDUjdhk7PbzGNPH_YDZFMbnTrep99uaXZSVXYi68TnZ8GUctMwG44JnU5xxCY684drQokQD0suRpfVOU2q2VP7nOP2r3W0fbQdc7ZPmGLk19EabKMupCGszI5bzE1XNz3D/s1600-h/qmpdclient2.jpg"><img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjgrhHDUjdhk7PbzGNPH_YDZFMbnTrep99uaXZSVXYi68TnZ8GUctMwG44JnU5xxCY684drQokQD0suRpfVOU2q2VP7nOP2r3W0fbQdc7ZPmGLk19EabKMupCGszI5bzE1XNz3D/s320/qmpdclient2.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5090796983769148386" /></a><br /><br /><b>В заключение</b><br />Возможность выбора клиента для mpd очень замечательна тем, что она соответствует самой идее свободного ПО: пользователь в праве выбирать то, что нравится ему, никто ничего не навязывает. Поэтому MPD идеологически правилен. Кроме всего прочего, если приспособиться, он чертовски удобен. Надеюсь, что статья оказалась полезна читателю, и помогла выбрать клиент для себя или просто узнать что-то новое. И я очень надеюсь, что в репозитариях Ubuntu появятся Qt-клиенты для MPD.<br /><br />Конечно же, существует множество других клиентов: GTK2, Java или просто клиенты ввода с устройств. Если читателю будет угодно, я попытаюсь осветить некоторые из них позже. Спасибо за внимание. :)</span><div class="blogger-post-footer"><a href='http://creativecommons.org/licenses/by-nc-sa/2.5/'><img src='http://i.creativecommons.org/l/by-nc-sa/2.5/88x31.png'/></a><br/>This work is licensed under a <a href='http://creativecommons.org/licenses/by-nc-sa/2.5/'>Creative Commons Attribution-NonCommercial-ShareAlike 2.5 License</a>.</div>Unknownnoreply@blogger.com2tag:blogger.com,1999:blog-36693588.post-11364751323259337712007-07-24T12:51:00.001+04:002009-03-31T00:14:44.257+04:00Music Player DaemonВ один прекрасный момент меня окончательно достала заторможенность amaroK, очень хорошего KDE'шного проигрывателя. Заторможенность, как мне показалось, вызвана встроенным файловом браузером, да и при добавлении в плейлист бедный amaroK каждый раз перечитывает теги тех композиций, которые когда-то ранее он уже проигрывал. Так часто упоминаемый мною MOC поглюкивал с ALSA-выводом звука и зашкаливал даже при нормальных настройках громкости. (Проблему я уже решил, но об этом в другой раз.) Поэтому я решил рискнуть и попробовать какой-нибудь другой проигрыватель. От проигрывателя мне требуется следующее: быстрота запуска и отклика, универсальность в поддержке форматов и простой и понятный интерфейс (по возможности - Qt3 или Qt4), включающий в себя максимально удобную интеграцию файлового браузера и плейлиста (собственно, как в MOC или amaroK), а так же, очень желательно, поддержку отправки статистики на last.fm. На этот раз, отказавшись от тучи различных вариантов (благо проигрывателей навалом), я остановился на Music Player Daemon.<span class='fullpost'><br /><br />Те, кто внимательно читал мои комментарии в этом блоге, могут удивиться - мне ведь раньше очень не нравился MPD. Мне всегда не нравилась одна его особенность: необходимость просканировать папки с музыкой прежде, чем он сможет эту музыку играть. Этакая "навязанная" JukeBox'овость, если позволите, мне не нравится и сейчас. Однако, в этом и "фишка" mpd. Объясню, почему. Как я уже написал выше, все проигрыватели со встроенными браузерами тормозят в двух местах: при чтении папок и при чтении заголовков музыкального файла. Тормозят независимо от того, используют ли они ncurses или Qt3. Однако, если вся эта информация уже проиндексирована и хранится в просто понимаемом проигрывателем файле, то скорость его работы резко возрастает. Добавьте к этому серверно-клиентскую работу, поддержку last.fm и возможность подключения различных клиентов, коих на просторах Интернета - десятки, на любой вкус. В общем, есть над чем задуматься.<br /><br />Установка в ubuntu, как всегда, простая и непринужденная:<br /><blockquote>$ sudo aptitude install mpd</blockquote><br />Если нужна поддержка last.fm, следует проделать и следующее:<br /><blockquote>$ sudo aptitude install mpdscribble<br />$ sudo dpkg-reconfigure mpdscribble</blockquote><br />И ответить на все вопросы.<br /><br />После установки рекомендуется почитать man mpd, man mpd.conf и man mpdscribble. Если пользователь в системе один, рекомендуется настройки задавать в /etc/mpd.conf и /etc/mpdscribble.conf. Если несколько - в ~/.mpdconf и ~/.mpdscribble/.mpdscribble.conf. В манах это написано, но я здесь продублирую: очень полезно сделать симлинки папок с музыкой в уже указанной в конфиге папке - /var/lib/mpd/music. В остальном файл конфигурации прекрасно закомментирован и вполне доступен любому пользователю, знакомому с английским языком.<br /><br />Перейдем к клиентам. Поскольку, как я уже сказал, их существует в избытке, я буду рассматривать их по частям. Начну с консольных. Вообще, мне известно всего лишь два: mpc - просто команда для дачи инструкции серверу и ncmpc - полноценный ncurses-клиент. К ознакомлению рекомендуются оба. Добываются способом, привычных нам с самых первых страниц этого блога:<br /><blockquote>$ sudo aptitude install mpc ncmpc</blockquote><br />Пара примеров использования mpc (допустим, вы уже добавили все необходимые симлинки в нужную папку, комментарии отделены двумя слэшами):<br /><blockquote>$ mpc update //обновим индекс<br />$ mpc ls //просмотрим корень индекса<br />$ mpc add path/to/file.mp3 //добавим файл в плейлист (автодополнение работает)<br />$ mpc play //запустим проигрывание<br />$ mpc //посмотрим статус проигрывания</blockquote><br />Очень подробная инструкция по использованию дана, как обычно, в man mpc. А я перейду к другому клиенту, особенно дорогому мне, как любителю MOC, скриншоты объяснят все куда красноречивее, чем слова.<br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj7yvoGdbUJNMNwWbczEUaNmLrWYgpkQxOMB9P7yRjCwQZHSkITj8dNzb0uiInIpJF4Os3Tktdm3hsOxm0nZ6ZNtXZLPnR1E59DUxnDfF_sExF3Tq-zzXRPESu6d1EyCeDcgTEQ/s1600-h/ncmpc1.jpg"><img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj7yvoGdbUJNMNwWbczEUaNmLrWYgpkQxOMB9P7yRjCwQZHSkITj8dNzb0uiInIpJF4Os3Tktdm3hsOxm0nZ6ZNtXZLPnR1E59DUxnDfF_sExF3Tq-zzXRPESu6d1EyCeDcgTEQ/s320/ncmpc1.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5090748708336741202" /></a><br />На первом скриншоте - изначальное состояние окна. Мы видим уровень громкости, режим (r - повтор, x - режим ознакомления, z - режим вразнобой), плейлист, состояние воспроизведения. Клавиши 1-6 (F1-F6) переключают режимы: 1 - помощь, 2 - плейлист, 3 - навигация по папкам, 4 - навигация по тегам, 5 - поиск, 6 - часы.<br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjyCw9qXknfj8tn_3cshLyNFvBlMDNeMJSICZalTAetZ4Fr4Fbqr-rVjeSnwKLvFqdh5qLC1vP3FQZnwsn9KkUHcNw15couvT_-WtJf73xPYMPemX2mMXBSUT7Pi2cUWBjVVzFA/s1600-h/ncmpc2.jpg"><img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjyCw9qXknfj8tn_3cshLyNFvBlMDNeMJSICZalTAetZ4Fr4Fbqr-rVjeSnwKLvFqdh5qLC1vP3FQZnwsn9KkUHcNw15couvT_-WtJf73xPYMPemX2mMXBSUT7Pi2cUWBjVVzFA/s320/ncmpc2.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5090748832890792802" /></a><br />В режиме помощи можно ознакомиться с горячими клавишами и даже назначить новые. Интерфейс прекрасно русифицирован. Управление покажется очень знакомым людям, часто пользующимся vim: с помощью клавиш j/k ведется навигация по папкам, плейлисту и даже помощи.<br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEix4PE84aLR3x2Web39cFPizuJdHWArwb7rTmhnVzLYybH7QackAksMmZwz8_cvGtNrt46KTPTh-ttHD-ydReRi6DHQpTLSsSe9JmFkeHlw-R1tGNfbgiyteChN7VRr-vWUlL-c/s1600-h/ncmpc3.jpg"><img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEix4PE84aLR3x2Web39cFPizuJdHWArwb7rTmhnVzLYybH7QackAksMmZwz8_cvGtNrt46KTPTh-ttHD-ydReRi6DHQpTLSsSe9JmFkeHlw-R1tGNfbgiyteChN7VRr-vWUlL-c/s320/ncmpc3.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5090748944559942514" /></a><br />Навигация по папкам (да и по тегам) вполне стандартная - со времен mc более удобного способа еще не изобрели.<br /><br />Вот так, теперь я пользуюсь проигрывателем, против которого так упорно выступал. И его главный минус - необходимость в предварительной индексации папок с музыкой, прекрасно компенсируется главным плюсом - быстротой работы.<br /><br />В следующий раз, расскажу о нескольких иксовых клиентах. Спасибо за внимание. :)<br /><br />PS. Music Player Daemon поддерживает работу только с UTF-8 заголовками mp3-файлов. Иначе говоря, прежде, чем вы сможете видеть кириллицу в заголовках большинства скачанных с интернета и не только файлов, вам потребуется перекодировать их заголовки в UTF-8, довольно подробное руководство можно найти в <a href='http://valeholinux.blogspot.com/2007/07/idv3.html' target='_blank'>блоге ValehO</a>.</span><div class="blogger-post-footer"><a href='http://creativecommons.org/licenses/by-nc-sa/2.5/'><img src='http://i.creativecommons.org/l/by-nc-sa/2.5/88x31.png'/></a><br/>This work is licensed under a <a href='http://creativecommons.org/licenses/by-nc-sa/2.5/'>Creative Commons Attribution-NonCommercial-ShareAlike 2.5 License</a>.</div>Unknownnoreply@blogger.com21tag:blogger.com,1999:blog-36693588.post-20171892106880935382007-07-21T12:10:00.000+04:002007-07-24T21:38:31.866+04:00BitTorrent клиенты на Qt<span class='fullpost'>Небольшая предыстория. Раньше я редко пользовался BitTorrent-сетью. Когда я использовал СТРИМ, у меня был динамический, но собственный IP и я мог использовать на тот момент еще не прикрытую сеть eDonkey2000, поскольку был соединен с Интернетом напрямую. Чуть позже, когда у меня появилось подключение к локальной сети и я смог наконец начать использовать Linux (да, до этого у меня был программный ADSL-модем), я лишился возможности использовать eDonkey2000 и GNUtella из-за того, что в сети применяется <a href='http://ru.wikipedia.org/wiki/NAT' target='_blank'>Network Address Translation</a>. Меня это не сильно расстроило, благо внутренних ресурсов хватает. Тогда я впервые попробовал воспользоваться локальным BitTorrent трекером и был благополучно забанен из-за того, что не знал, что такое трекер и ратио (проще говоря, скачал в несколько раз больше, чем раздал). И уже тогда я столкнулся с внешними трекерами (я стал увлекаться аниме, а не всякое аниме возможно было раздобыть в нашей сети).<br /><br />Однако, вернусь к статье. </span>В Linux я использовал в основном два BitTorrent клиента - KTorrent и qBitTorrent. В этой статье я приведу их плюсы и минусы. Начну с того, что после установки свежей версии kubuntu, мне потребовалось сразу использовать сеть BitTorrent, поэтому я сразу освещу один неочевидный плюс KTorrent - он поставляется вместе с KDE и для новичка очень просто сразу начать им пользоваться.<span class='fullpost'><br /><br />Итак, теперь к конкретике. Ниже приведены скриншоты основного окна KTorrent. (Прим.: панель меню вынесена в верхнюю панель рабочего стола à la MacOS, поэтому на скриншоте ее не видно.) Сразу видно, что информативность на очень высоком уровне. Особенно приятна вкладка "файлы", в которой мы можем наглядно ознакомиться со степенью выполнения задачи и структурой каталогов, попутно отмечая или снимая отметки с нужных и ненужных соответственно файлов "на лету".<br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiGi84gdnX-nxLxVxZWApGSeOlcKDpEnklOx2iqat2nl5l8n1AB4Y3ikFCOl68rFzIVRZxzcWieB2XpzJChhYRox8Mo9ePyVIhCIK5vA9Y5awcUCKuBbQ6dXlVKQJMAyCLJJ2iH/s1600-h/ktorrent1.jpg"><img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiGi84gdnX-nxLxVxZWApGSeOlcKDpEnklOx2iqat2nl5l8n1AB4Y3ikFCOl68rFzIVRZxzcWieB2XpzJChhYRox8Mo9ePyVIhCIK5vA9Y5awcUCKuBbQ6dXlVKQJMAyCLJJ2iH/s320/ktorrent1.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5089565049709701842" /></a><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj9OZ3L1O3SoiKUQdyc43x1aMj8xrj6EY_H-5aCTg6Fp58q1TSCef5H67o-tQdOubUhFdBA1E2iELJGams4uTVEpTfY8nrakE6fjFXeG-ZnxJPDsLRISJTYQ3LaBSDKGeDsFJ-W/s1600-h/ktorrent2.jpg"><img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj9OZ3L1O3SoiKUQdyc43x1aMj8xrj6EY_H-5aCTg6Fp58q1TSCef5H67o-tQdOubUhFdBA1E2iELJGams4uTVEpTfY8nrakE6fjFXeG-ZnxJPDsLRISJTYQ3LaBSDKGeDsFJ-W/s320/ktorrent2.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5089566647437535970" /></a><br />В KTorrent встроено некое подобие поисковика. Это встроенное в KTorrent окно Konqueror'а, в котором загружается поисковая машина указанного пользователем трекера.<br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEggbqMYJDIqQ9Q2BZlS6qzHOhqxW4P0X2hUoCRqcshJHLrRdHOkSXVMd6TGu6-7KkXadeygoD7nE83WgFwzjCwYpHUQU0L0DwclZ7b4ZXVjLEC9swVK5QojRp5Yp3IfTMqNA1zB/s1600-h/ktorrent3.jpg"><img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEggbqMYJDIqQ9Q2BZlS6qzHOhqxW4P0X2hUoCRqcshJHLrRdHOkSXVMd6TGu6-7KkXadeygoD7nE83WgFwzjCwYpHUQU0L0DwclZ7b4ZXVjLEC9swVK5QojRp5Yp3IfTMqNA1zB/s320/ktorrent3.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5089574361198799634" /></a><br />При добавлении торрента в закачки возникает окно, спрашивающее, куда положить файлы торрента, а также окно, предлагающее выбрать, какие файлы из закачки исключить:<br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEidAlZmvUszQWu9mqajarCsix4JKEA1B0tUXBHsiuq9KBoaV80O7wutPmVbMtnrvjgDjpYH9j66gnbjc3DUP3n2_w_85OqD2TWUkru6PmPEz8b31YZ7FLJO9fVUV2Jc5LgyR9uF/s1600-h/ktorrent5.jpg"><img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEidAlZmvUszQWu9mqajarCsix4JKEA1B0tUXBHsiuq9KBoaV80O7wutPmVbMtnrvjgDjpYH9j66gnbjc3DUP3n2_w_85OqD2TWUkru6PmPEz8b31YZ7FLJO9fVUV2Jc5LgyR9uF/s320/ktorrent5.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5089574910954613538" /></a><br />О приятностях я рассказал, теперь о неприятном. И тут уже виной не оформление. При попытке добавления некоторых торрентов с разных трекеров вылезает сообщение "неправильный формат torrent-файла". А при попытке закачать другой торрент я столкнулся с тем, что KTorrent просто повис, а при последующих попытках загрузиться - благополучно вылетал до тех пор, пока я ручками не удалил этот торрент из его папки.<br /><br />Теперь посмотрим на главное окно qBitTorrent. Первое, что бросается в глаза - это рендеринг шрифтов и красивое оформление. Да, это Qt4. Благодаря этому клиент очень красивый. И это, несомненно плюс. Теперь о приземленном. В отличии от KTorrent, информативность этого клиента страдает неполнотой. В главном окне у нас имеется список файлов и лог. Никакой вам подробной информации о доступности торрентов, ни возможности посмотреть структуру каталогов торрента.<br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgKtdPHLP8qZNEaJIgU71vRAVK9p8RoZY4ZBzPXYx_1Jzbx1cEGnRX4gcpf5_D-rqaZFOyeppuZELfErKkL3p9YOxLQ7PChq35ArkpA1LIpFJ5HSSj2fdcWMrQ-UDDXFhISvjGV/s1600-h/qbittorrent1.jpg"><img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgKtdPHLP8qZNEaJIgU71vRAVK9p8RoZY4ZBzPXYx_1Jzbx1cEGnRX4gcpf5_D-rqaZFOyeppuZELfErKkL3p9YOxLQ7PChq35ArkpA1LIpFJ5HSSj2fdcWMrQ-UDDXFhISvjGV/s320/qbittorrent1.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5089568683252034290" /></a><br />Конечно, можно посмотреть подробную информацию о торренте, но никакой структуры каталогов мы здесь не увидим.<br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjSNCPz6VwgpPQ-F1EFxzp9249iLX4KYh1WdZsSmiq9P3psZPnXW1_c38uiImjmGe4YO4Z4Dg-06vLi8OK-Se8cDE13pRdW-SxvWUA8gy1s9QjX8dHWunlm8dld0auoB5h3cHmf/s1600-h/qbittorrent4.jpg"><img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjSNCPz6VwgpPQ-F1EFxzp9249iLX4KYh1WdZsSmiq9P3psZPnXW1_c38uiImjmGe4YO4Z4Dg-06vLi8OK-Se8cDE13pRdW-SxvWUA8gy1s9QjX8dHWunlm8dld0auoB5h3cHmf/s320/qbittorrent4.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5089577835827342130" /></a><br />Вкладка "поиск" - очень заметна (в KTorrent она конечно тоже есть, но вынесена в не очень удачное место). Так что перейдем к ней. Замечательнейшая функция. Позволяет искать торренты прямо из клиента, при этом не подгружая никакие веб-страницы. Поиск ведется сразу в выбранных поисковиках. К сожалению, список поисковиков расширить невозможно - их стабильно четыре: Mininova, ThePirateBay, ISOhunt и Meganova. Впрочем, лично мне их хватает за глаза.<br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhtL-TcO4puCr1W1XHrF9L1lWDkov7Zl7G8u7rd3cdQslNpyDH7Hdum9OznnuyKt-o8Ux7cjUi1fzVX572P5e4euSdS9TTtQBWjSjneJ6ZlWcxMuMAJq-9s73W9v4CtFUAkX60V/s1600-h/qbittorrent2.jpg"><img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhtL-TcO4puCr1W1XHrF9L1lWDkov7Zl7G8u7rd3cdQslNpyDH7Hdum9OznnuyKt-o8Ux7cjUi1fzVX572P5e4euSdS9TTtQBWjSjneJ6ZlWcxMuMAJq-9s73W9v4CtFUAkX60V/s320/qbittorrent2.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5089570100591241986" /></a><br />С добавлением торрентов та же проблема, что и с отображением информации о них. Структура каталогов просто не используется - мы тупо видим список файлов.<br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhLAigc6prTi-_9jTUFF6JsXtUXOm-9Rpa1iVA61NblLAuPH8NF-KIgl_jB6U_TbwZaiic5Z14VgrqNwZZzE9WgwBoawcYQQuvLOiXpNQaESePaczDVG2_5JauqCInE2rXEsUhyphenhyphen/s1600-h/qbittorrent5.jpg"><img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhLAigc6prTi-_9jTUFF6JsXtUXOm-9Rpa1iVA61NblLAuPH8NF-KIgl_jB6U_TbwZaiic5Z14VgrqNwZZzE9WgwBoawcYQQuvLOiXpNQaESePaczDVG2_5JauqCInE2rXEsUhyphenhyphen/s320/qbittorrent5.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5089578282503940930" /></a><br />Я перешел на qBitTorrent совсем недавно и еще не сталкивался с тем, чтобы какой-то торрент отказался качаться. Очень надеюсь, что и не столкнусь.<br /><br />UPD: Не столкнулся. qBitTorrent ест торренты, которые не принимает KTorrent. Засада в другом. Дело в том, что я попытался скачать файлов на 1 ГБ из торрента объемом в 16 ГБ. Нужные файлы он, конечно же скачал. Но при этом <i>зарезервировал место на все 16 ГБ, забив его пустышками</i>. Такой наглости я от такого замечательного клиента не ожидал. Поэтому оставлю его исключительно в качестве "саппорта" для KTorrent, который свободное место не забивает.<br /><br />Подведем итоги.<br /><br />KTorrent:<br />+ Информативность<br />+ Работа со структурой каталогов торрента<br />- Не самый удобный поиск<br />- Не самая лучшая совместимость с некоторыми торрентами<br /><br />qBitTorrent:<br />+ Удобный поиск<br />+ Красивое оформление<br />- Непригоден для выкачивания неполных торрентов, ибо все равно забивает место "пустышками"<br />- Малая информативность<br />- Отсутствие работы со структурой каталогов<br />- Невозможность добавлять поисковые сервисы<br /><br />PS. qBitTorrent отсутствует в репозитариях Ubuntu, о том, как его установить, написано на <a href='http://qbittorrent.sourceforge.net/download.php' target='_blank'>официальном сайте qBitTorrent</a>.</span><div class="blogger-post-footer"><a href='http://creativecommons.org/licenses/by-nc-sa/2.5/'><img src='http://i.creativecommons.org/l/by-nc-sa/2.5/88x31.png'/></a><br/>This work is licensed under a <a href='http://creativecommons.org/licenses/by-nc-sa/2.5/'>Creative Commons Attribution-NonCommercial-ShareAlike 2.5 License</a>.</div>Unknownnoreply@blogger.com7tag:blogger.com,1999:blog-36693588.post-64405117444689692212007-07-21T00:52:00.005+04:002010-08-14T12:15:14.448+04:00file+cuesheet, практичное решениеСогласитесь, один альбом в связке файл+cuesheet - штука крайне неудобная. Нет, конечно для нарезания на болванку разницы нету. Но в каждодневной эксплуатации такая связка неудобна по двум причинам: отдельный трэк невозможно добавить в плейлист - надо добавлять сначала весь альбом, а потом убирать из плейлиста ненужные трэки. Это в целом. А вот у пользователей Linux есть вторая, не менее серьезная причина - в Linux в принципе нету проигрывателя, способного использовать связку file+cuesheet. Значит, гораздо удобнее будет разбить один целый файл на несколько маленьких - отдельных трэков. Чем мы и займемся. Итак:<br />
<br />
<b>Дано:</b> связка file+cuesheet, являющаяся lossless (или lossy - тут уж без разницы) рипом какого-нибудь аудио компакт-диска.<br />
<b>Задача:</b> разбить этот рип на отдельные трэки.<span class="fullpost"><br />
<b>Решение:</b><br />
Поскольку задача сформулирована в общем плане, придадим ей немного конкретики удобства ради. Альбомы, пожатые в lossy-формат (всякие ogg, mp3, aac, wma и им подобные) в один файл в сопровождении cue-списка, мне ни разу не попадались, да и кому такой изврат нужен? А вот в lossless (например, flac, ape, wavpack) такое - сплошь и рядом. Поэтому будем изначально ориентироваться на выходные файлы в формате <a href="http://www.flac.org/" target="_blank">FLAC</a>, как на идеологически правильные и широкоподдерживаемые на всех платформах. А вот поступать к нам будут файлы разных форматов, но скорее всего - ape/wavpack/flac. Поэтому во время установки необходимых пакетов будем исходить из заданных условий.<br />
<br />
Теперь непосредственно к решению задачи. У нас есть два пути: использовать bchunk, предварительно раскодировав файл в wav и получив на выходе wav-файлы, которые потом надо будет кодировать в нужный формат, или не тратить наше драгоценное время и работать с файлом напрямую с помощью shntools. Поразмыслив, можно придти к выводу, что второй вариант куда удобнее. Им мы и воспользуемся.<br />
<br />
Для начала установим все необходимое. Если хотим подружить систему с Monkey's Audio, то в /etc/apt/sources.list добавляем следующую строку:<br />
<blockquote>deb http://morgoth.free.fr/ubuntu feisty-backports main</blockquote><br />
И ставим необходимые кодеки и софт:<br />
<blockquote>$ sudo aptitude update<br />
$ sudo aptitude install flac wavpack monkeys-audio shntool cuetools</blockquote><br />
<br />
Теперь - самое интересное. Будем кромсать файл. Допустим, имеются у нас некоторые filename.ape и filename.cue. Натянем резиновые перчатки и возьмем в руки скальпель... Хорошо, а теперь:<br />
<blockquote>$ cuebreakpoints filename.cue | shnsplit -o flac filename.ape</blockquote><br />
Начнется процесс в итоге, в каталоге, в котором мы проводим эти жуткие эксперименты, получим следующее: подопытные файлы остались нетронутыми, а кроме них в этой папке лежат n файлов, которые называются 'split-track001.flac', 'split-track002.flac', 'split-track003.flac'... 'split-trackn.flac'. Вот они-то и есть результат нашей беспощадной деятельности. Итак, файлы мы разрезали, пробуем открыть - да, друзья мои, еще не все. Свеженарезанные файлы не имеют заголовков. Займемся ими. На этот случай у нас припасен скрипт cuetag.<br />
<blockquote>$ cuetag filename.cue split-track001.flac split-track002.flac ... split-trackn.flac</blockquote><br />
Неудобно? Тогда поступим проще:<br />
<blockquote>$ cuetag filename.cue `ls split-track*.flac`</blockquote><br />
Он пожалуется на несколько ошибок из-за специфики заголовков FLAC (–remove-vc-all и –import-vc-from). Проверяем, и - вуаля! - все свеженарезанные файлы обзавелись заголовками в соответствии с cue-файлом.<br />
<br />
Надо бы упростить задачу, а то приходится производить слишком много лишних телодвижений, вы не находите? Перефразируя одно известное высказывание: "Линуксоид - человек ленивый. Он обязательно приложит максимум усилий чтобы в последствии не напрягаться." Тогда приступим к написанию скрипта. После нескольких попыток, у меня получилось таки создать нечто похожее. :)<br />
<blockquote>$ sudo vim /usr/local/bin/cue2flac.sh</blockquote><br />
<blockquote>#!/bin/sh<br />
cuebreakpoints "$1" | shnsplit -o flac "$2"<br />
cp "$1" tmp.cue<br />
cuetag tmp.cue `ls split-track*.flac`<br />
rm tmp.cue</blockquote><br />
<blockquote>$ sudo chmod 755 /usr/local/bin/cue2flac.sh</blockquote><br />
Здесь следует отметить, что хоть и создание временной копии cuesheet'а совершенно необязательно (команды cp "$2" tmp.cue и rm tmp.cue), ее все равно лучше сделать. Почему-то скрипт cuetag не работает с пробелами в названиях файлов, даже если название этого файла заключено в кавычки. По этой же причине я бы не рекомендовал использовать при генерации отдельных файлов префикс, содержащий пробел или другие спецсимволы. После того, как вы сделаете этот скрипт, команда<br />
<blockquote>$ cue2flac.sh "filename.cue" "filename.ape"</blockquote><br />
сделает все за вас - вам следует только не перепутать cue и файл с записью местами и "откинуться на спинку стула". Если вы хотите изменить префикс файлов на выходе или задать им папку - всегда пожалуйста. Для этого почитайте маны и поправьте скрипт по своему вкусу.<br />
<br />
К сожалению, я так и не нашел способа автоматизировать процесс переименования готовых файлов исходя из их тегов. Поэтому предлагаю делать это ручками. По крайней мере, команда<br />
<blockquote>$ grep TITLE filename.cue</blockquote><br />
хоть немного поможет вам в этом.<br />
<br />
Спасибо за внимание. Статья была написана на основе статьи <a href="http://aidanjm.wordpress.com/" target="_blank">aidanjm</a> под названием <a href="http://aidanjm.wordpress.com/2007/02/15/split-lossless-audio-ape-flac-wv-wav-by-cue-file/" target="_blank">Split lossless audio (ape, flac, wv, wav) by cue file in Ubuntu</a>.</span><div class="blogger-post-footer"><a href='http://creativecommons.org/licenses/by-nc-sa/2.5/'><img src='http://i.creativecommons.org/l/by-nc-sa/2.5/88x31.png'/></a><br/>This work is licensed under a <a href='http://creativecommons.org/licenses/by-nc-sa/2.5/'>Creative Commons Attribution-NonCommercial-ShareAlike 2.5 License</a>.</div>Unknownnoreply@blogger.com26