Shoor/нал

Акын-программист

О проекциях панорам
Рыжий бородатый
[info]shoorick
У hugin перед autopano помимо бесплатности есть ещё одно важное преимущество — возможность выбрать проекцию. В autopano (во всяком случае, в версии, что мне попадалась) я такой возможности не находил, а в hugin проекций множество — 19 штук. Среди них есть и проекция Меркатора, которая, как известно, сильно искажает расстояния (особенно, в полярных областях), но сохраняет углы.

Если попробовать автопаной клеить вертикальную панораму (например, с деревьями), то верхний край панорамы непропорционально растянется, из-за чего кроны деревьев будут напоминать верхушки укропа зонтичных растений. Hugin, за счёт использования проекции Меркатора, позволяет равномерно растянуть кроны — деревья выглядят гораздо естественнее:

Сравнение проекций

upd/11.11.2009: Второй вариант (сделанный хугином) выложен на панорамио.ком

Соединение пауз на многоголосных нотных станах
Рыжий бородатый
[info]shoorick
Лилипонд, как, впрочем, и сибелиус, при размещении нескольких голосов в одном нотном стане, рисует два комплекта пауз: для верхнего голоса и для нижнего. И даже в тех случаях, когда паузы совпадают, они не объединяются, а отображаются — и сверху, и снизу. В то же время в хоровых нотах нередко паузы всё-таки объединяют, вероятно для того, чтоб не замусоривать партитуру.

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

В лилипонде такой метод не работает: даже при удалении паузы (точнее, при замене паузы r на пропуск s) пауза соседнего голоса никуда не двигается. Гугление (в 4 часа ночи) открыло несколько методов (включая написание какого-то мегахака на Scheme), но наиболее простым оказался такой: надо добавить строку
\revert Rest #'direction
в нотный стан, где сидят несколько голосов (ну или внутрь определения переменной, вызываемой из разных нотных станов) — после этого паузы наложатся друг на друга и наступит Щастье™. Или не наступит, если в нотах попадаются паузы с точками (в этом случае паузы обрастут двоеточиями: в нотах появится что-то похожее на 7:) и многотактовые паузы (они вообще не реагируют на эту команду).

Чтобы убрать двоеточия, придётся всё-таки одну из таких пауз заменить пропуском (мне вчера повезло: на 103 набранных такта нашлась всего одна пауза с точкой) — после этого отобразится одна точка, как и задумано.

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

Придумал такой трюк: добавляем строку
\override MultiMeasureRest #'staff-position = 0
После этого и многострочные паузы становятся на третью линейку.

Писать в ЖЖ — из-под мозиллы с музыкой
Рыжий бородатый
[info]shoorick
Для файрфокса есть расширение Deepest Sender для работы с ЖЖ — можно писать и редактировать посты, а также быстро попадать на некоторые служеюные страницы. Раньше я не обращал на него внимание — как часть тормозиллы, Deepest Sender тоже был нетороплив. Но потом компьютер сменился более шустрым, а ljKlient перестал работать — пришлось вспомнить о DS, хотя бы потому, что он шустрее веб-интерфейса и может определять Current music. В отличие от Семаджика и ljKlient, DS может лишь прочитать текстовый файлик и взять что-нибудь оттуда.

Впрочем, и этого вполне хватает, если научить mpc писать в файл, что сейчас звучит — достаточно добавлять к вызовам mpc перенаправление вывода:
| head -n 1 > /tmp/mpc.now.txt
А чтобы не писать это перенаправление каждый раз вручную, достаточно добавить его в скрипты, вызывающие mpc: сейчас у меня постоянно используются 3 скрипта — для поиска в базе (с очисткой списка и без), для поиска в плэйлисте, а также 6 клавиатурных команд, заданных через KDE Control Center — для паузы/воспроизведения и для перемотки в разные стороны.

find
Рыжий бородатый
[info]shoorick
[info]bitlz как-то говорил мне:
— mc не нужен.

Чем дольше живу под фрёй, тем больше понимаю: видимо, не нужен. Хотя я, конечно, не достиг такой степени просветления, как bitlz, но, наверное, потихоньку, мелкими шажками, движусь куда-то туда.

Я в той беседе приводил какие-то контраргументы, но получается так, что с ростом количества освоенных команд падает сила этих контраргументов. Как и нужность mc. Вот, например, я говорил, что мне mc нужен для поиска файлов. Сейчас мне уже проще воспользоваться командой find, чем ковыряться в mc.

P. S. Да ещё и автодополнение в mc, и так не самое лучшее (из-за использования Meta-Tab вместо привычного Tab) в свежей версии испортилось: ставит \ перед ~.

Обновление дырявого софра
Рыжий бородатый
[info]shoorick
Ленивый сособ обновления дырявого софта под FreeBSD:
portaudit -Fa \
| grep Affected \
| awk '{ print $3 }' \
| sort -u \
| xargs portupgrade -pP
Метки: ,

О выборе софта
Рыжий бородатый
[info]shoorick
Ну предустановленную на ноутбуке Windows Vista Home Premium я, пожалуй оставлю, ибо уплочено. Но думаю существенно поджать её, отобрав кусок винта в пользу более свободной ОСи. Осталось придумать, что ставить: то ли брать бубен и ставить FreeBSD, то ли какой-нибудь красивый линух воткнуть: у нас, вон, на работе полно всяких убунтов да мандрив.

Неудобно
В бабочке
[info]shoorick
Какой такой молодец нашёлся среди разработчиков МС Ёкселя, который догадался при сохранении файла стирать историю действий? Так вот сохранишь файл - и нет у тебя никакого undo.
Метки: ,

Переход в каталог заданного порта
Рыжий бородатый
[info]shoorick
cd `whereis имя_порта | awk '{ print $2 }'`

Вместо kate
Рыжий бородатый
[info]shoorick
Пробую для написание и отладки скриптов использовать вместо редактора kate монстрообразную kdevelop — полновесную IDE. Загружается и открывает проект долго: несколько секунд. Но работает, вроде, не слишком заторможенно. Понравилось наличие клиента к subversion и поиска по толпе файлов. Поглядим, что там ещё есть...

Повторяя
Рыжий бородатый
[info]shoorick
Лет двенадцать назад пробегал мимо меня IBM PC AT 386. Пробегая, несколько недель, он поработал у меня дома. В те стародавние времена я жил под ДОСом, изредка включая Windows 3.11 — да и то лишь для того, чтоб под ней запустить параллельно несколько досовых программ: например, турбо паскаль и дос навигатор...

Что мы видим сейчас? На компьютере установлена FreeBSD, поверх которой — KDE. А ужё в кедах — dosbox, в котором запущен всё тот же DOS Navigator. Который работает. И скринсейверы его: что текстовые, что графические — тоже работают. Фантастика! Найти, что ль, старых досовских игрушек?

Вместо IDE
Рыжий бородатый
[info]shoorick
В [info]ru_perl неоднократно задавались (в том числе и мной) волпросы о выборе перлового редактора/отладчика/IDE, порождая каждый раз немаленькие треды.

Я, съехав из-под винды, остановился на kate — достаточно мощном редакторе: с поддержкой разных кодировок, с подсветкой синтаксиса, сворачиванием блоков и прочими полезностями, среди коих — встроенный терминал, в котором можно запустить что угодно, в том числе и отладчик:
kate screenshot
А больше ничего и не надо...

Удивительное рядом
Рыжий бородатый
[info]shoorick
0. Иксы на домашней машине запускаются, но кеды ещё не установлены. Живу в консоли.

1. Лишь сегодня обнаружил
(методом научного тыка, разумеется), что во фрёвой консоли нажатие Break позволяет листать экран стрелками взад-вперёд. И это после 9 лет знакомства с бздёвыми осями...

2. centerim, отпочкававшийся от вечно падающего centericq, похоже, может постить в ЖЖ. Сейчас проверим.

О скорости
Рыжий бородатый
[info]shoorick
Складывается ощущение, что Konqueror и KMail работают шустрее, чем Firefox и Thunderbird соответственно.
Или это ложное чувство?

В сторону свободного софта
Рыжий бородатый
[info]shoorick
http://www.linuxalt.com/ — список свободных альтернатив коммерческому ПО.

cd ~
Рыжий бородатый
[info]shoorick
Недавно, пытаясь фаром найти домашний каталог юзера, набрал вместо cd %USERPROFILE% более привычное cd ~ (ибо ещё помню, что в досе/виндовсе cd никуда не идёт, а просто выводит текущее место — как юниксовая pwd) — фар перешёл в C:\Program Files\Far

Интересный подход...
Метки: , , , ,

Ну хоть что-то
Рыжий бородатый
[info]shoorick
1. После portupgrade gimp\* наконец-то заработал GIMP. Жить стало лучше, жить стало веселее, ибо возможностей древней юниксовой XnView 1.70 для обработки картинок явно не хватает, а виндовая 1.91 перестала под вайном запускаться...

2. GIMP и FontForge, когда запущены под предварительно изменённой на английскую локалью, имеют вполне понятный английский интерфейс вместо русского, где постоянно приходится продираться сквозь изгибы мысли переводчика. Да и выбор клавиатурой команд из меню становится куда проще.

О внедрении клиент-серверной музыки
Рыжий бородатый
[info]shoorick
Прислушавшись к мнению товарищей [info]lodin и [info]bitlz, решил попробовать клиент-серверные методы прослушивания музыки — поставил mpd. И пару клиентов к нему: kmp (гуёвый, под KDE; не понравился) и консольный mpc (играет хорошо, без тормозов). Целый день рулил процессом с командной строки — надоело. Решил оптимизировать: настроить горячие клавиши (я подобными сочетаниями клавиш уже несколько лет в винампе пользовался).

Настроил KDE на вызов по горячим клавишам нужных команд mpc:
  • Win+Space — play/pause — mpc toggle
  • Win+Left — перемотка назад на 10 с — mpc seek -00:00:10
  • Win+Right — перемотка вперёд на 10 с — mpc seek +00:00:10
  • Win+PgUp — предыдущая — mpc prev
  • Win+PgDn — следующая — mpc next


Делается так: kcontrol → Regional & Accessibility → Input Actions, затем создаём акции типа «Keyboard Shortcut -> Command/URL (Simple)», а дальше, в общем-то, очевидно...

Желающие могут навешивание клавиш делать ковырянием файла ~/.kde/share/config/khotkeysrc — в моём случае туда добавилось 136 строк )

Вполне можно жить.

Устав от тормозного амарока
Рыжий бородатый
[info]shoorick
Amarok тормозит так, что звук икает.
Надоело, закрыл, стал слушать музыку с консоли, с помощью mpg123 — хорошо звучит, без глюков.
Метки: , , , ,

Ютюбик под FreeBSD
Рыжий бородатый
[info]shoorick
Желая поглядеть видео с YouTube на рабочем компьютере, поставил из портов флэшовый плагин для тормозиллы, но счастия не обрёл: firefox перестал писать, что ему нуже плагин, в about:plugins стал отображать сведения о нём, но вот картинки с YouTube показывать всё равно не стал, обзаведясь вдобавок вредной привычкой беспричинно молча склеивать ласты. Абыдна!

ЗЫ А видео всё равно удалось поглядеть. Обходным путём.

Мартышкин труд
Рыжий бородатый
[info]shoorick
Видя бардак с кодировками ID3-тэгов и помня, что, по стандарту, там не может быть ни UTF-8, ни КОИ-8, нашёл радикальный, но вполне корректный путь: перегнать коллекцию из mp3 в ogg vorbis, где с тэгами нет такого бардака, ибо они всегда в UTF-8. Да и сжатие там получше. Да и формат этот открытый...

Поискал конвертер в портах при помощи make search и, не заметив его в толпе софта, стал писать свой: традиционно, на перле.

Метод — ленивый до безобразия: взять файл, прочитать свойства и тэги (MP3::Info), декодировать звук (mpg123), послав его кодировщику (oggenc), попутно передав тэги, переведённые из windows-1251. Итого — 99 строк, 2 кБ (вместе с развесистыми комментариями). Работает. И называется, чтоб долго не думать, mp32ogg.

А потом выясняется, что в портах уже есть mp32ogg. И делает он то же самое. И тем же самым путём.

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

ЗЫ Но вот железные MP3-плееры да музцентры с магнитолами нечасто ogg понимают...

Раскрашивание стрелок в Inkscape
Рыжий бородатый
[info]shoorick
Оказывается, в Inkscape есть эффект, позволяющий почти автоматически красить наконечники стрелок в нужный цвет: Эффекты / Изменение контура / Раскрасить маркеры в цвет штриха. Но у меня оно не работает :-(
The inkex.py module requires PyXML. Please download the latest version from <http://pyxml.sourceforge.net/>.
Хотя py-xml установлен...

Пришлось идти уже знакомым обходным путём: ковырять XML:
  • Выделив нужный элемент, нажать Ctrl+Shift+X — откроется XML-редактор
  • у выделенного элемента смотрим значение атрибута style — там, помимо прочего, указан и ID маркера, например: marker-start:url(#Tail)
  • В XML-дереве ищем элемент <svg:svg ...><svg:defs ...><svg:marker id="нужный_нам_ID"><svg:path ...>
  • добавляем к атрибуту style нужные нам цвета: fill — цвет заливки, stroke — цвет штриха; или меняем значения на нужные, если цвета уже указаны
  • радуемся :-)

ЗЫ Поставил вчера на домашнюю машину виндузовую версию Inkscape. Работает...

Генерализация треков в GPS-навигаторе Garmin
Рыжий бородатый
[info]shoorick
Практика показала, что при сохранении трека в GPS-навигаторе Garmin GPSmap 60 (наверное, и в других гарминовских железяках тоже) трек не только упрощается (остаётся 500 точек из максимально возможных 10 000), но и лишается другой информации. Сравним пару точек из активного трека и сохранённого:
47.145500, 42.442980,1, 181.8,39367.9196296, 12-окт-07, 22:04:16
и
44.829750, 34.908800,1, 197.6, 0.0000000, ,
соответственно. То есть, из всего, что было, остаются только координаты и высота над уровнем моря. Время прохождения точки теряется, что плохо, ибо по такому треку нельзя, например, привязывать фотографии. А если читать треки родным гарминоским софтом, а не Ozi Explorer'ом — что получится? Кто-нибудь пробовал?
Метки: ,

Re: Навстречу свободной записи музыки
Рыжий бородатый
[info]shoorick
1. В портах живёт какой-то очень древний lilypond: 2.2.2, в то время, как ракеты бороздят в природе существует 2.10.31. Пришлось ставить ручками свежий. Свежий поставляется в виде здоровенного sh-скрипта, вынимающего из своих внутренностей tar.bz2-архив и распаковывающего его в /usr/local/lilypond

2. Для визуального редактирования нот есть Denemo, умеющее сохранять ноты в формат лилипонда, но не умеющее (во всяком случае, в виндузовой версии 0.7.6.beta3 и в юниксовой 0.7.6) его читать.

О кодировках текста в mc
Рыжий бородатый
[info]shoorick
Экспериментальным путём выяснил, что синий миднайткомандер тоже умеет перекодировать текст. Нажатием всё того же сочетания: Ctrl+T. Поэтому снёс mc-light и вернулся к исходному mc.

P. S. Рассказал админам. Админы попробовали, удивились и порадовались.

Нумерация в траке и свн
Рыжий бородатый
[info]shoorick
Subversion для всех проектов одного репозитория использует сквозную нумерацию коммитов.
Trac — отдельную нумерацию тикетов для каждого проекта.

Тракодировка
Рыжий бородатый
[info]shoorick
Указываемая в trac.ini кодировка:
[trac]
default_charset = utf-8
относится только к отображению исходников. SVN-комментарии к коммитам показываются одинаково вне зависимости от: хоть КОИ-8 ставь, хоть UTF-8 — однофигственно.

Переводя трак
Рыжий бородатый
[info]shoorick
Потерпев неудачу в попытке нагуглить русскую версию трака, приходится переводить самому. Попутно делаю интересные наблюдения. Например, в отчётах некоторые поля можно переименовать (добавив в SQL-запрос AS новое_имя), а с некоторыми такой фокус не проходит:
  • если переименовать time из created в создана, то дата отображается не в соответствии с локалью, а в секундах с начала эпохи
  • если переименовать поля id из ticket в карточка и summary — в описание, то номер карточки (тикета) и описание перестают быть ссылками
О сколько нам открытий чудных...

Так не бывает
Рыжий бородатый
[info]shoorick
Заапгрейдил апач на рабочей банке с 1.3 до 2.2 — в результате «пропал» htpasswd. «Так не бывает!» — подумал я и полез искать. В первую очередь пошёл туда, где лежит apachectl — моём случае, /usr/local/sbin/ — там htpasswd и валяется. Из миднайт командера (коль встать на файл и нажать Enter) запускается, а с командной строки (если не указывать путь) — хрен. И which htpasswd его тоже не находит, хотя остальные файлы, там же лежащие, видит... Парадокс!

upd/06.08.2007: пробую сегодня:
$ which htpasswd
/usr/local/sbin/htpasswd
Хотя ничего не делал...
Метки: , ,

Типографская раскладка
Рыжий бородатый
[info]shoorick
Давно искал метод вводить кавычки-ёлочки да тире по-простому, без charmap/kcharselect и набирания Alt+код. И ведь нашёл: существует Типографская раскладка Ильи Бирмана. Поставил вчера на ноутбук с виндой — работает. Жить стало лучше, жить стало веселей. Особенно если учесть, что на ноутбучной клаве нет ни NumPad’а, ни клавиши Num Lock. Приходилось делать хитрый финт ушами: например, ввод длинного тире требовал нажатия Fn+Ins (на этом сочетании клавиш сидит NumLock), затем Alt+mjij, затем снова Fn+Ins, чтоб вместо букв не выскакивали цифры.

Теперь осталось воплотить то же самое на рабочей машине под FreeBSD, и будет ваще хорошо!

Re: Quanta+
Рыжий бородатый
[info]shoorick
Что радует, подсветка синтаксиса в Квантеплюс совпадает с такой же в Kate. И бо́льшая часть клавиатурных команд подходит.

В сторону свободного софта
Рыжий бородатый
[info]shoorick
Оказалось, что для моих задач Quanta+ является вполне адекватной заменой Macromedia Adobe Dreamweaver’у: синтаксис подсвечивает, тэги и их атрибуты подсказывает, позволяет редактировать как исходный код веб-страницы, так и её визуальное представление (включая режим, когда показываетс и то, и другое) — а больше мне ничего и не надо.

Вернувшись домой с празднования Дня сисадмина
Рыжий бородатый
[info]shoorick
Не запустить ли portupgrade -а на рабочей машине?
Хотя нет. Не запустить. Места не хватит :-(
Придётся апгрейдиться по частям.
Метки: ,

Чтение файлов с неродных файловых систем
Рыжий бородатый
[info]shoorick
Из-под FreeBSD читать файлы с неродных файловых систем, таких как FAT32 или NTFS, можно. Сегодня попробовал решить обратную задачу: прочитать файлы с UFS (или с FFS?), то есть, фрёвые, из-под винды. Гуглем нашлось несколько вариантов, которые сразу же были испытаны в деле:
ufs2tools
Весит 80 кБ, CLI. Работает. Позволяет читать все файлы/каталоги, вне зависимости от прав доступа к ним. По симлинкам не ходит. Не пишет, хотя в README в разделе Todo есть единственный пунктик «write support».
FFS File System Driver for Windows
Весит 120 кБ, выглядит как маленькое окошко для выбора мышкой нужным параметров. Должен, по идее, монтировать выбранный диск/партицию/слайс на указанную букву. На практике выяснилось, что буква предлагается всего одна — X, на которую ffsdrv примонтировал совсем не то, что надо. После чего отказался отмонтировать: LockVolume error.
UFS Explorer
Весит много. Платный. Есть разные варианты междумордия интерфейса: и GUI, и CLI. Только чтение. Триальная версия не читает файлы больше 16 кБ.
Марал сей басни: всё опробованное — только для чтения. Исходя из работоспособности, цены и размера, наш выбор — ufs2tools.