Thursday, October 28, 2010

Patches for Claws Mail

Думал избавить claws mail от идиотской манеры гадить в ~/.claws-mail/newscache, а там оказалось не все так просто.

Оно сначала делает кэш, а потом читает с получившегося локального файла письмо. И точно также с imap. Пошуршал по плагинам--глухо. Зато обнаружил функцию folder_func_to_all_folders() и готовую функцию удаления кэша из 1 фолдера.

Тоскуя по mutt, нельзя не вспомнить как он дает прыгать к новому письму не открывая его и не трогая при этом флаги read/unread. Ужасно удобно, когда заходишь в newsgroup, где томятся 2584 старых письма и светятся 315 новых, раскиданных по 491 треду. В claws mail прыжок к новому письму всегда автоматически его (письмо) открывает, что иногда доводит меня до бешенства.

В общем, патчи для версии 3.7.6 лежат тут. Кто собирает порт в FreeBSD--просто киньте их в директорию files порта и собирайте порт как обычно. После инсталляции, в меню Tools появится пункт Purge Cache, а Go to Next/Previous Unread Message начнет работать правильно.

Tuesday, October 12, 2010

iTunes U RSS feeds

Часто, публичное в iTunes U которое читалось не last fall, а обновляется сейчас, хочется качать как подкаст без помощи толстопузого iTunes, что как бы официально нельзя. Ну, конечно, разумеется можно, только нужно для каждого курса знать URL секретной feed.

Если я правильно понял, университеты либо просто дают iTunes U свою feed (тогда URL ее, как правило, указан на сайте университета), либо закачивают файлы в эппловскую тучу, которая генерирует RSS сама. То есть, в любом случаи iTunes U сперва тянет feed и ничем это от обычного подкастинга не отличается.

Например, на talks в Yale Entrepreneurial Institute, подписаться никак, кроме как через благодаря посредством iTunes не дают. Но если посмотреть, например, wireshark'ом, куда iTunes незаметно лезет за файлами, то мы видим вот такую URL:

http://deimos3.apple.com/WebObjects/Core.woa/Feed/yale.edu-dz.4357409176.04357409178

Content-Type у нее почему-то text/html, но эта обычная, скучная rss 2.0. Проблемы начинаются, если скачать несколько (например, 4) enlosures одну за другой. В зависимости от степени тупости вашего podcacher'а, можно получить 1 (один) файл enclosure.mp3 содержащий либо 1-ю по списку enlosure либо 4-ю, но не все 4 файла по отдельности.

Почему? URL на mp3 файлы в у iTunes U вот такой:

http://deimos3.apple.com/WebObjects/[всякое].4721501315/enclosure.mp3

где изменяется только набор цифр, а предполагаемое имя для файла дается всегда одинаковое enclosure.mp3--что привело предыдущую версию uraniacast в тихое помешательство. Впрочем, в хедерах той URL стоит Content-Disposition: inline; filename=2001_conde.mp3, что дает некоторую надежду, если попытаться сказать podcacher'у: "смотри на Content-Disposition, а не на URL".

To make long story short. Теперь в uraniacast 0.16 можно указывать feed-specific downloader, а не только глобальный для всех. Для замученного Yale Entrepreneurial Institute получилось так:

# a crappy link from itunes
set feed(biz.yale.entrepreneurial_institute) {
    url {http://deimos3.apple.com/WebObjects/Core.woa/Feed/yale.edu-dz.4357409176.04357409178}
    sort decreasing
    fetch {curl -OJ --noproxy * %u}
}

Huzza!

Friday, October 1, 2010

A Horror Story From z1

Date: Tue, 28 Sep 2010 19:49:27 -0700
From: Ilya L <lvi123@yahoo.com>
Newsgroups: alt.russian.z1
Subject: Re: Chase online

On 9/28/10 5:52 PM, Sol Windborn wrote:

>> Только для чего-то наколенного, наверное. В нетривиальном коде
>> найдется кусочек, который на stdout вывалит debug message и кранты.
>
> Если что-то плюется отладкой на консоль, то это, скорее, наколенное.
> Ненавижу. Убивать сразу.

        У меня был чрезвычайно печальный опыт с приложением, которое с какой-то
забытой целью закрывало свой stderr. Наверное, чтобы ничего на консоль
не лезло. Наш код открывал /dev/sda. И так как descriptor #2 был unused,
этот /dev/sda туда и попадал. И отладка, которая печаталась once in a
blue moon, писалась в master boot record. Application занимался backup-ом :)