воскресенье, 30 сентября 2007 г.

Mplayer Mini-HOWTO

Каким видеоплеером пользуетесь вы? В те времена, когда я работал под Windows, я перепробовал довольно большое количество видеоплееров, причем в основном моего внимания заслуживали только те из них, которые обладали довольно большим функционалом. Перейдя на Linux я открыл для себя Mplayer.

суббота, 29 сентября 2007 г.

Let's Learn Linux Together

Вчера совершенно случайно наткнулся на блог Let's Learn Linux Together. Мне он показался довольно интересным, так что рекомендую к прочтению. Вот, к примеру, наиболее полезные на мой взгляд статьи:
Монтирование образов дисков в Linux
Как добавить "DiggIt", "del.icio.us" и "News2.ru" в Blogger
Как конвертировать .flv в .mpg (.avi)
Работаем с FFmpeg
Установка .rpm в Debian (Ubuntu)
Add to Search Bar
Скриншоты в стиле Web2.0, используя Gimp
SSHFS -монтирование удаленных систем через SSH
Создание скринкастов в Linux
PS: Да, кстати, если кого интересует, можете подписаться на мои Google Reader shared items, в которые я время от времени помещаю наиболее интересные на мой взгляд новости, приходящие ко мне по RSS.

суббота, 22 сентября 2007 г.

Несколько примочек для Blogger

1. Вставка кода
Наверное, все современные форумы поддерживают тег [code][/code], позволяющий размещать в своих сообщениях блоки кода. В Blogger такой возможности нет. Я реализовал ее следующим образом:
В шаблоне, где описываются все стили (между тегами <b:skin><![CDATA[ и ]]></b:skin>) вставляем
pre.my_code_box {
border: 1px solid #aaaaaa;
overflow: auto;
padding: 10px;
font-family: courier new;
}
Теперь, чтобы выделить какой-нибудь текст как код, окружите его тегами <pre class="my_code_box"></pre> (естественно, в режиме "Изменить Html").

Update 07.12.2008:
Относительно вопроса подсветки синтаксиса: могу порекомендовать статью Highlighting thoughts, в которой автор рассмотрел различные подходы к решению данной проблемы.



2. Читать полностью...
Если хотите использовать "свертывание" статьи в ссылку "Читать полностью...", пропишите за тегом ]]></b:skin>, но в пределах <head> строки
<b:if cond='data:blog.pageType == "item"'>
<style>span.fullpost {display:inline;}</style>
<b:else/>
<style>span.fullpost {display:none;}</style>
</b:if>
Теперь перейдите в "расширенный" режим редактирования шаблона и найдите в нем тег <data:post.body/>. Сразу после него ставим
<b:if cond='data:blog.pageType != "item"'>
<br/><a expr:href='data:post.url'>Читать полностью...</a>
</b:if>
Свертываемую часть сообщения надо заключить в тэг <span class=fullpost></span>.


3. Облако тегов
То, как его сделать, описано тут.


4. Вставка в текст сообщения специальных символов
Если в тексте вашего сообщения содержатся специальные символы (к примеру, при вставке кода), то для того, чтобы они отображались так, как вы хотите, их нужно экранировать. Для этого замените следующие символы указанными последовательностями:
& - &#38;
< - &#60;
> - &#62;
" - &#34;

Вставлять их нужно в режиме "Изменить Html" и после этого не переключать режимы, иначе Blogger "забудет" о том, что вы их экранировали.

пятница, 14 сентября 2007 г.

SpreadBuntu - Ubuntu-like IceWM theme

Я являюсь поклонником оконного менеджера IceWM. Когда я поставил себе Ubuntu, то был слегка разочарован отсутствием в дистрибутиве темы, сделавшей бы внешний вид окон похожим на тот, который мы наблюдаем при работе в Gnome. Поэтому я задался целью найти такую тему.

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

Я переделал эту тему - ликвидировал данный недостаток, немного изменил цвета системного монитора в трее и сделал ее немного компактнее.

Если кого-нибудь интересует, взять ее можно здесь.

Вот как она выглядит:

воскресенье, 9 сентября 2007 г.

Управление KTorrent из консоли

Сегодня случайно набрел на форум http://ktorrent.org/forum/ и наткнулся там на довольно интересный скрипт, позволяющий управлять KTorrent'ом из консоли.

На мой взгляд, довольно полезная вещь. Причем, если посмотреть на сам скрипт, то очень легко разобраться, как он работает. К примеру,
dcop ktorrent KTorrent
показывает все функции, которые мы можем вызывать, и если выполнить
dcop ktorrent KTorrent stopAll 3
то KTorrent остановит все текущие торренты. А если прописать эту команду в cron, то мы получим функционал, которого нет в плагине-планировщике Bandwidth Scheduler, поставляемым вместе с KTorrent. ;)

Вот такие вот открываются возможности. :)

Vim HOWTO

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

четверг, 6 сентября 2007 г.

Немного о VIM

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

Когда я приступил к знакомству с VIM'ом, я первым делом полез в документацию с твердым намерением всю ее прочитать. Но довольно быстро я понял, что это не самый лучший способ изучить его. Если распечатать всю документацию по VIM'у, то она займет около 1000 страниц. И дело не в том, что у меня не хватит терпения всю ее прочитать - даже если я все прочитаю, то в голове у меня вряд ли останется и пара процентов от прочитанной информации.

Поэтому я решил, что на начальном этапе обучения следует обратить свое внимание на различные HOWTO. В сети подобных руководств можно найти довольно много, и, прочитав даже одно из них, вы уже вполне сможете комфортно работать в VIM (не забывайте про замечательный VIM Tutor, который поставляется вместе с VIM и переведен на русский язык). Свой конфигурационный файл вы будете формировать тоже, скорее всего, глядя на чужие конфигурационные файлы и выбирая из них интересные для вас опции.

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

Хочу заметить, что все вышесказанное не означает, что я отговариваю вас читать официальное руководство. Сам я его обязательно прочту, но не сейчас, а где-нибудь через пол года или год. К тому времени я как раз получу достаточный опыт в работе с VIM'ом и накоплю список вопросов, на которые мне стоит по-внимательней обратить внимание в руководстве. Вам я советую поступить также.

Так что удачи вам и терпения. Затраченное на обучение время обязательно окупится.

воскресенье, 2 сентября 2007 г.

Скрипт для получения серии скриншотов к видеофайлу

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

Но вчера один мой друг разместил у себя в блоге скрипт, который выполняет ту же задачу при помощи mplayer'а и ImageMagick.

Идея, с помощью которой реализуется данная задача, мне очень понравилась, но реализована она в этом скрипте, на мой взгляд, довольно криво. Вот недостатки, которые я заметил, натравив данный скрипт на несколько файлов:
  • Некорректно работает со многими wmv и HDTVRip видеофайлами (создает серию скриншотов из одного и того же кадра).
  • Иногда захватывает на 2 кадра больше, чем нужно.
  • Не умеет обрабатывать сразу несколько файлов.
  • Выводит кадры так, что в одной строке всегда находятся 4 кадра, и если задать вывод нечетного числа кадров, то в конечном изображении появляются дыры.
  • Нет возможности создавать скриншоты размером с кадр в фильме (на некоторых трекерах предъявляется такое требование).
Поэтому я решил полностью переписать скрипт так, чтобы он удовлетворял всем моим требованиям. При написании скрипта я старался добавлять по-больше комментариев, чтобы помочь людям, которые плохо разбираются в программировании на bash, но хотят что-нибудь исправить в моем скрипте под себя.