воскресенье, 6 января 2008 г.

Дейтвительно краткое введение в mencoder

- Храните ваше видео пожатым.
(с) так и оставшийся неизвестным режиссёр
Преамбула, или вводная часть.

Скопилось у меня дома порядочное количество видео, снятое фотоаппаратом. Проблема заключалась в том, что видео было пожато кодеком mjpeg (ну или как там его), смысл которого заключается в том, что каждый кадр это обычный JPEG, что разумеется плохо сказывается на размере файла. Формат звукового потока тоже не радовал - обычный, не пожатый PCM. Клипов накопилось гигабайт так на 3-4, нужно было что-то делать.

Разумеется есть хорошая программа VirtualDubMod, с которой я уже работал. Но проблема заключалась ещё и большом количестве файлов. VirtualDubMod вроде как предлагает какие-то возможности пакетной обработки, но я решил изучить mencoder, который как известно является утилитой коммандной строки. Возможности пакетной обработки так и просятся в руки.
Ещё одним плюсом была возможность использовать mencoder в Windows(на работе) и в Linux(дома).

Сейчас я расскажу пару вещей, которые как мне кажется являются основами основ мироздания и mencoder-а.

Собственно амбула, или содержательная часть.

Что же нужно задать, что бы сконвертировать видео ?
1. Источник данных
2. Фильтры обработки (ресайз, кроп, подавление шума)
3. Кодек для сжатия звука.
4. Опции сжатия звука.
5. Кодек для сжатия видео.
6. Настройки сжатия видео.
7. Параметры выходного файла (имя, fourcc код)
Немного кофе/чая не помешает.

Теперь немного подробнее обо всех пунктах.

1. Нужно указать источник видео потока, который мы хотим конвертировать. Задаётся так-же как и в mplayer.
Пару простых примеров:
$ mencoder source.avi # avi файл на вход
$ mencoder dvd://1 # первый тайтл DVD на вход
$ mencoder dvd://1 -chapter 3 # первый тайтл, 3-ий чаптер DVD на вход (хм, как же тайтл и чаптер на русский переводятся ?)
$ mencoder dvd://1 -dvd-device /home/pupkin42/from_sidoroff/futurama # первый тайтл DVD на вход с указанием DVD устройства (тут просто директории с копией DVD)
так-же можно задать и другие источники - потоковое видео из сети, с TV-тюнера, DVB карты и т.д. Подробности в man

2. Можно задать различные фильтры, например для ресайза, кропинга, удаления шумов и т.д.
Подробности не привожу. По началу они не нужны, а потом можно посмотреть в man. Изучение можно начать с опции -vf cropdetect

3. Задаём кодек для сжатия аудио потока:
$ mencoder ... -oac mp3lame
-oac видимо означает output audio codec
Mencoder может кодировать звук несколькими кодеками. Один из них псевдокодек - copy. Он просто копирует входной поток в выходной, не производя никаких разжатий-сжатий.
Полезен в случае, если имеющееся аудиодорожка уже сжата как надо. Процессор при этом почти не используется.

4. Задаём опции для аудио кодека
$ mencoder ... -lameopts cbr:br=96:mode=1
тут после -lameopts идут опции кодека. Для другого кодека ключ будет другим. (Что-то вроде -anotercodecopts)
cbr означает константный битрейт
br=96 - битрейт в 96 килобит в секунду,
mode=1 - режим стерео joint

5. Задаём видеокодек.
$ mencoder -ovc lavc
(кодек lavc сокращённо от libavcodec)
Так же как и в случае с аудиокодеками, видеокодеков несколько. lavc - один из них.

6. Самое главное. Задаём настройки кодека. Для lavc кодека это будут значения ключа -lavcopts
$ mencoder ... -lavcopts vcodec=mpeg4:vbitrate=5000
vcodec - задаём формат выходного видеопотока. libavcodec может сжимать в разные форматы. В данном случае выбираем mpeg4
vbitrate=5000 - битрейт выходного потока. Тут я объяснять не буду, тема отдельной статьи. Но скажу, что это число всего-лишь верхний потолок. Если кодеку нечего будет жать, то он уменьшит битрейт. Так что указав, например, 10000, можно ожидать, что видео будет пожато в наилучшем виде, и при реальный битрейт может быть например 2000.
Обычно битрейт фильмов где-то на уровне 900-1500.
Ещё можно добавить следующие опции(что они делают я не в курсе, но все советуют и я буду)
-lavcopts vcodec=mpeg4:vbitrate=5000:mbd=2:v4mv:trell

7. Укажем имя выходного файла
$ mencoder ... -o output.avi
Так же для того, что бы некоторые плееры не ругались на неизвестный формат, можно указать FOURCC код выходнорго потока как DIVX
$ mencoder ... -ffourcc DIVX

8. Собираем все опции в одну строку и получаем что-то вроде:
$ mencoder dvd://1 -dvd-device /home/simpsons
-oac mp3lame -lameopts cbr:br=96:mode=1
-ovc lavc -lavcopts vcodec=mpeg4:vbitrate=800:mbd=2:v4mv:trell
-o simpsons-001.avi
-ffourcc DIVX

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

$ mencoder dvd://1 -dvd-device /home/simpsons
-oac copy
-ovc lavc -lavcopts vcodec=mpeg4:vbitrate=800:mbd=2:v4mv:trell:vpass=1
-o /dev/null
В первом проходе аудио не конвертируем. Сделаем это в последнем проходе.
Получающийся файл нам не нужен - отправляем его в /dev/null (в Windows -o NUL)
mencoder создаст файл divx2pass.log, в который запишет информацию о каждом кадре.

$ mencoder dvd://1 -dvd-device /home/simpsons
-oac mp3lame -lameopts cbr:br=96:mode=1
-ovc lavc -lavcopts vcodec=mpeg4:vbitrate=800:mbd=2:v4mv:trell:vpass=2
-o simpsons-001.avi
-ffourcc DIVX
Во втором проходе mencoder анализирует log файл и более оптимально перераспределяет видео поток в рамках выделенного битрейта.
Аудио разумеется нам нужно, выходной файл тоже. Дополнительно установим FOURCC код в DIVX, что-бы не было проблем.

Как можно заметить, кодирование с vpass=N не отличается от обычного кодирования, за исключением одной простой штуки:
vpass=1 заставит кодек записать log файл
vpass=2 говорит кодеку прочитать log файл, и использовать данные из него
vpass=3 и читает и пишет лог одновременно, ещё более его облагораживая.
Таким образом легко догадаться, что для многопроходной конвертации нужно сделать проходы с vpass=1, vpass=3, ... vpass=3, vpass=2

Хочу предостеречь от паралельного запуска нескольких многопроходных конвертаций в одной рабочей директории. Кодек обязательно запутается где чей log файл. В результате будет создан неверный выходной файл. Я напоролся на это, решив помочь серверу конвертировать симпсонов своим ноутбуком, и запустил конвертацию другого DVD но в той-же директории. В результате пол дня работы вылетело в трубу, пришлось всё пережимать.

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

P.S. Кстати о симпсонах. Я их таки сконвертил, все 4 диска по 26 серий на каждой. В линуксе это выглядит так:
for dvd in simpsons1 simpsons simpsons3 simpsons4; do
for title in $(seq 1 100); do
mencoder -dvd-device $dvd dvd://$
title -o $dvd-$title.avi (... параметры конвертации ...)
# второй проход и прочая работа
done
done
Проще говоря конвертируем все все копии 4-ёх DVD-шек, в каждой тайтлы от 1 до 100. На дисках их было по 25-26, и оставшиеся 27-100 просто отваливались с ошибкой, не создавая выходного файла, что меня вполне устраивало. Каждый тайтл - один мультфильм.

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

Плавленный сырок "Дружба" - закусывайте.

И наступило вчера.
И захотелось мне макарон с сыром.
И решил я - да будет так...

Легко сказать, да трудно сделать. Твёрдого сыра нету, нетути! Конечно, я был не во всех магазинах в которых бывали министры всяких экономик, заявляющие потом, что всё у нас есть. А может плавленный сырок "Дружба" был принят ими за нормальный сыр? Ха. Ха. Ха. Опомнитесь господа министры! "Дружба" скорее родственна пластилину, но уж никак не сыру. Вчера я этого к сожалению не знал...

Но я отвлёкся. Для макарон с сыром были куплены: макароны, тушёнка с мясом и "Дружба".

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

Что-бы приготовить вкусные макароны, нужно их сварить. В воде. Тушёнку обжарить до состояния, приятного глазу. Для меня это состояние: "да шож ты делаеш, гад, ты же её спалил!". После готовности воду из макаронов слить и смешать с обжаренной тушёнкой. Ну а теперь можно и задуматься, а солили ли мы воду? Самое время, между прочим - всё ещё можно в тихую исправить и не получить по голове от близких и родных.

Затем идём спать, так как есть на ночь - грех.

Утром отпиливаем от общего комка макарон кусочек (небольшой такой, чтоб поместился в микроволновку), разогреваем его и посыпаем тёртым сыром. Пармезан подойдёт. Если нет пармезана, то его НЕ заменит замороженный плавленный сырок. И это надо помнить. Желательно всю жизнь.

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

Вывод значится такой: "Плавленный сырок "Дружба"! Не пейте чернила без закуски."

четверг, 29 ноября 2007 г.

Оруэлл отдыхает на скотном дворе

Уж не знаю, что там писало министерство правды году этак в 1984, но вот что пишут в Беларуси в 2007:

Депутатам 1000 долларов на жизнь не хватает

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

Министр экономики: обывателям кажется, что цены повышаются, но это не так

Я смотрю уже и не только обывателям это кажется, но и достаточно не бедным депутатам.
Может это министру экономики что-то кажется ?

пятница, 23 ноября 2007 г.

Баг с раскладками в Firefox исправлен!

Ура, ура, ура. Шестилетний баг с раскладками в Firefox исправлен.

Настораживает правда фраза
Патч написанный Олегом Крыловым получил одобрение разработчиков и был включен в код, а значит Firefox 3.0 выйдет уже без этой проблемы.
А 2.x как же ? Неужели они промаринуют баг до релиза 3.0 ?

Всё-таки я надеюсь на исправление в 2.0.0.10. Эта ошибка уже конкретно достала. Особенно невозможностью скопировать что-либо в буфер обмена.

Клац здесь, клац там. Аргх.... Раскладка то русская.

четверг, 22 ноября 2007 г.

Устанавливаем две лисы

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

Первым делом скачиваем инсталляцию. Например отсюда

Пока файл качается сохраним наш профайл Firefox 2.0:
Переходим в директорию
C:\Documents and Settings\<username>\Application Data\Mozilla\Firefox\Profiles

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

Итак, пеерходим в Application Data\Mozilla\Firefox\Profiles и видим там одну или несколько директорий с профайлами. Лучше всего весь Application Data\Mozilla\Firefox заархивировать и сохранить. Повреждений данных не предвидится, но есть одна тонкость о которой я скажу позже.

Теперь инсталируем Firefox 3.0b1. По умолчанию он ставится в отдельныую директорию и не помешает второй версии, но лучше это проверить, так как со временем это может изменится.
! Снимаем отметку «Запустить Firefox». Пока это нам не нужно.

Создаём директорию Application Data\Mozilla\Firefox3. Если вы не хотите переносить данные из Firefox 2.0, то переходим на следующий пункт, иначе копируем в неё содержимое вашего текущего профайла. Обычно она выглядит как Application Data\Mozilla\Firefox\Profiles\что-то-там.Default User

! Внутри Application Data\Mozilla\Firefox3 должны находится сами данные профайла, а не директория с профайлом. Проще говоря содержимое Application Data\Mozilla\Firefox3 и Application Data\Mozilla\Firefox\Profiles\что-то-там.Default User должны совпадать.

Примерно так:



Теперь необходимо подправить все ярлыки на Firefox3 следующим образом:
К Target "C:\Program Files\Mozilla Firefox 3 Beta 1\firefox.exe" добавим полный путь к новому профайлу:
"C:\Program Files\Mozilla Firefox 3 Beta 1\firefox.exe" –no-remote –profile "C:\Documents and Settings\<username>\Application Data\Mozilla\Firefox3"
Все кавычки нужны.

Параметр –no-remote позволит запускать разные версии лисы одновременно. Без него, лиса ищет в памяти уже загруженную копию (любой версии) и открывает ссылку в ней. Этот флаг отключает такую связь.

Кстати, просто создать ещё один профайл для Firefox 3 не получается. Каждый браузер при старте начинает почему-то проверять свои расширения, что раздражает.

Теперь можно запускать. Если ничего не напутано, то Firefox 3 будет использовать новый профайл, а Firefox 2 старый. Проверить это можно например добавив в закладки какую-либо ссылку, и перезапустив оба браузера.

Вот и всё. Теперь имеем 2 независимые лисы. Версия 2.0 продолжает работать как обычно, а 3.0 с параметром -no-remote будет иметь немного отличное от обычного поведение

Удаление. С удаление нужно быть осторожным. Отметку «Удалять личные данные» ставить не стоит – будут удалены профайлы лисы 2.0, а профайл от 3.0 останется нетронутым. Удалять профайл 3.0 (которым мы сами создали и поместили в несвойственное для него место) лучше руками.

пятница, 16 ноября 2007 г.

Некоторые 'проблемы' с prefwindow в XUL

Довелось мне вчера использовать контрол 'prefwindow'

Основное время использования (часа эдак 2) я пытался понять, почему ничего не работает и кто виноват.

Проблема была в том, что моё окно prefwindow появлялось в каком-то кастрированном виде. На диалоге была только одна закладка, в то время как их должно было быть 3. При этом сам FireFox открывал моё окно настроек (из окна управления расширениями) очень даже правильно.

Всё оказалось просто. Я открывал окно без указания опции toolbar, а сами ярлыки закладок были именно там. Поэтому не забываем этот факт и пишем так:

window.openDialog('chrome://ogameextender/content/options/options.xul', 'ogameoptions', 'chrome,modal,toolbar');

понедельник, 12 ноября 2007 г.

Расширяем гуглоблог

Редактор постов на blogger.com/blogspot.com не кажется мне слишком удачным.

Крошечное окошко для редактирования сообщений развивает у меня некое подобие клаустрофобии.

Но на помощь спешит FireFox с установленным расширением GreaseMonkey! Небольшой скрипт исправит положение и раздвинет окна широко, как только возможно.

Сам скрипт тут. Если кликнуть по ссылке при установленном GreaseMonkey, то последний предложит вам установить скрипт. Можете посмотреть исходный код и убедится, что форматировать винчестер я не собираюсь.


З.Ы. Высота окна редактирования пока не изменяется. Позже проработаю этот вопрос глубже, дальше, нежнее.

Update: все скрипты тут.

четверг, 8 ноября 2007 г.

Отдельные излишне возбуждаються...

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

Updated:
Я вспомнил, что у меня есть ftp доступ к хостингу на tut.by. Даю прямую ссылку на скрипт.
Если у вас установлен greasemonkey, то простого клика будет достаточно - firefox предложит установить его.

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

четверг, 1 ноября 2007 г.

OGame-Extender

Продолжаю тему игры OGame. Сама игра мне уже порядком поднадоела в виду того, что меня уже пару раз отпиздили (да так вот грубо). Но тем не менее, свой набор скриптов (который уже перерос в нормальное FireFox расширение) я продолжаю дорабатывать.

Сегодня вечером я завершил релиз 1.0. В данном релизе я сделал то чего мне давно хотелось - составил сводную табличку по ресурсам со всех планет.


На панели с ресурсами появилась надпись All resources. При наведенн на неё курсора всплывает табоичка, которую можно видеть на картинке. Колонка Big.Transports указывает примерное число больших транспортов для вывоза всех ресурсов.


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


В планах составить такую-же табличку для обороны/флотов/уровней построек + считывание информации о флотах находящихся в полёте.

Расширение пока нигде не доступно, но по просьбе могу выслать на e-mail

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

Игла для распутывания узлов

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

Итак выглядит сей чудесный инструмент так:


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

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

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

Вобщем, очень полезная штука - убедился на собственном опыте. Обычно за рыбалку у меня происходит 2-3 серьёзных запутывания. Ну и куча мелких, которые, впрочем, легко распутываются руками.

Превед медвед !

Contex, сцуко, жжот.

Пару дней назад в 12 штучной упаковке презервативов Contex Light было обнаружено следующее чудо:


Поводов для волнения два.
Во первых это был тринадцатый (!) презерватив из 12.
А во вторых, не увижу ли я медведа, когда буду его использовать по назначению ?

Подтвержнеие участия в blogowar.ru

Пробую играть в Blogowar.ru. А пост этот извращённой формы подтверждение.

пятница, 19 октября 2007 г.

Jabber+Gecko

Появилась странная идея. Записываю, что бs не забыть обдумать её.

Итак, идея в том, что бы написать Jabber клиент на основе XULRunner-а (т.е. на ядре Gecko)

Белорусские дороги

Всё-таки отсталая страна Беларусь.

Кто сказал, что у России 2 беды - дураки и дороги ? Неправда ваша !
Это у Беларуси 2 беды - ДУРАК и дороги.

Ну, насчёт дурака вы и сами наверное всё знаете, а вот насчёт дорог можно посмотреть тут.
И сравнить российские дороги и белорусские.

Оказывается в беларуси 3 дороги и МКАД....

FireFox и OGame - друзья навек

Последнее время играю в одну незамысловатую онлайн игру. Называется ogame. Игра и вправду незамысловатая, особенно в части интерфейса. Интерфейс неудобен и крив. Но на помощь к нам спешит FireFox и один из его плагинов - Greasemonkey.

Плагин Greasemonkey позволяет добавлять на любую страницу свой JavaScript и исполнить его. А так как DHTML это сила, то становится возможным перекроить страницу как только угодно.

Этим я и занялся. Плюсы занятия очевидны - я получаю более удобный интерфейс, и знания в области JavaScript и HTML DOM.

Итак, рассмотрим одну из страниц игры - "Технологии". На ней расположена таблица, в которой отображено какие технологии нужно изучить и на каком уровне для возможности что-то построить/изучить.
Имеем (142 k):

Не очень то удобно... Например, если есть выбор что изучить - Плазменную технологию, или Лазерную технологию, что выбрать ? Нужно выбрать ту, что даёт более желаемый результат. Но, что даст Плазменная технология просто так не узнать. Нужно найти все вхождения её во втором столбце. Что нудно и вообще не интересно.

Значит нужен 3-ий столбец, показывающий что даёт данная технология/постройка. Берём в руки DOM и точим напильником (то есть JavaScript-ом).
Получаем (130k):


Что ещё мы тут имеем ? А вот что:
  • Таблица стала на всю ширину экрана. От уеньких табличек у меня развивается клаустрофобия.
  • Были зверски убиты дополнительные возможности, связанные с реальными деньгами. Я не платил и не собираюсь платить за какого-то там командира. И знать количество Тёмной материи (денег проще говоря) мне незачем.
  • В качестве бенефита я решил слегка изучить Graphviz - комплекс программ, позволяющий генерировать различные графы. И после непродолжительного мучения получен следующий граф (33k):


Пока этот граф нужно генерить самому на основе описания. Описание же графа генерится JavaScript-ом, и помещается под таблицей технологий (на картинках не видно). Что конечно не удобно и вообще...

З.Ы. Скрипт тут

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

Гастрономия - мать всех наук

Сегодня я расскажу о странном способе приготовления куриных лапок.
Первым делом ставим на огонь сковороду, и поливаем её маслом. Масла нужно не много.
Затем кладём на сковороду маринованные лапки курицы. И заливаем 1-2 стаканами воды.
(Этот шаг я бы никогда не додумался совершить, так как поджаристая лапки и вода в сковороде у меня никак не ассоциируются.)

(Нет, такой зелёной курица быть не обязана)

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

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

RAW формат цифровых фотографий

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

Далее достал из RAW данных 16-битный TIFF и открыл его в GIMP. Но ! GIMP Не поддерживает 16-битные картинки, поэтому картинка была порезана при открытии до 8-и бит !

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

JPG

RAW


На JPG явно заметно покраснение неба, тогда как на RAW - ничего подобного. Опять таки, повторюсь, что при этом GIMP ещё и немного порезал качество RAW. В Photoshop всё будет ещё лучше. Насколько - посмотрим.

вторник, 25 сентября 2007 г.

Некоторые теоретические философствования с практическим уклоном

Сегодня у нас пойдёт речь об одной глубоко философской пословице, а именно "Нельзя приготовить омлет не разбив яиц". А поскольку пост носит сильный практический уклон, то этим мы и будем заниматся - разбивать яйца.

Что важно для рыбака ? Разумеется словить рыбу. Но ещё важнее эту рыбу уметь использовать. Вылов рыбы с последующим её неиспользованием является глубоко порочным явлением, которое мы будем пресекать всеми силами. Итак, рыбу разумеется можно приготовить - пожарить например или посушить. Но для этого её нужно предварительно почистить и выпотрошить. Желательно это действо пропустить и доверить жене/подруге: и совесть чиста и сон крепче. Но, если она упрямо отказывается чистить рыбу (привет, Алёна :) ), то как ни печально, придётся это сделать самим.

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


Первым делом нужно собрать всё мужество в кулак. Тут торопиться не надо.

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


Потом, как это не отвратительно, нужно засунуть указательный палец прямо в начало разреза со стороны хвоста (в жопу по простому). И... выдавить все внутренности наружу проталкивая палец вдоль спины. (Отвратительно....).


Наконец нужно взять нож и, прижав внутренности к разделочной доске (но не отрезая их !), вытянуть их вплоть до головы.


Готово. Можно выдохнуть и бросить рыбку в заранее подготовленную ёмкость!


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

Ну а с чисткой чешуи справится даже ребёнок.

Приятного времяпрепровождения !

понедельник, 24 сентября 2007 г.

Выходные 2

Как обычно по выходным я зависаю на Комсомольском озере.

В субботу зависание было не очень успешным, или вернее сказать очень неуспешным. Были словлены 3 рыбы, 2 из которых были взяты домой и пожарены. Фото этого убогого зрелища я приводить конечно не буду.

Зато в воскресенье было выловлено несколько рыб хорошего размера. И вот их фото (вместе с вездесущей зажигалкой... Ума не приложу, как она всегда попадает в кадр)

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

Сворачивающийся текст в блоге

Как сделать сворачивающийся текст ? Очень просто.
Нужно вставить следующий код в режиме редактирования Html:
<div style="border: solid 1px ;" text="First line
Second line
Third line" onclick="javascript:if(this.innerHTML == '@') this.innerHTML = this.attributes['text'].value; else this.innerHTML = '@'">@</div>
В результате получается вот что (кликабельно !)
@


При этом нужно следить за строками. Движок любит их схлопнуть в одну.