31 янв. 2009 г.

Pseudo OOP


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

Vimperator

установил для Firefox'а плагин,, называется Vimperator.
это то, о чём я давеча думал - мол нехватает возможностей и всяких крутостей vim'а в других программах.
а этот плагин как раз делает в firefox'е всякие удобные сочетания из vim'а.
в списке возможностей vimperator очень важным пунктом стоит
"- бибикает при ошибке" (: ну не прелесть ли? прямо как vim..
куда-то сразу пропала менюшка и адресная строка (фтопку их). зато появилась внизу статусная строка как в виме.
и это правда удобно и вообще здорово, сразу настраивает на крутанское восприятие интернетов (:
всем рекоммендую. впрочем как и vim (;

vimperator

28 янв. 2009 г.

$ man id3-project

NAME
id3-project - прожект по созданию инструментов работы с музыкальными тегами формата id3.

SYNOPSIS
Этот прожект включает в себя библиотеку (на Haskell'е) и программу для работы с тегами музыкальных файлов формата ID3v2. Библиотека включает в себя обширный набор парсеров и инструментов, для чтения и редактирования тегов. Программа имеет простой но удобный консольный shell-интерфейс и оставляет возможности для расширения.

DESCRIPTION
В настоящее время, для Haskell'а нет библиотеки для работы с музыкальными тегами. За исключением ,TagLib которая, к сожалению, имеет весьма ограниченную функциональность и является лишь привязкой к одноимённой библиотеке на C++. Функции в ней определяются вызовами соответствующих с++-функций из TagLib. В id3-project предполагается создание native-haskell библиотеки.
Для чтения тегов используются монадические комбинаторы парсеров из библиотеки PolyParse.
Для консольного интерфейса используется библиотека Shellac. Она позволяет в декларативном стиле очень просто и быстро создать весьма удобный и легко переносимый командный shell-интерфейс с заменяемым backend'ом, который предоставляет набор дополнительной функциональности, такой как история команд или автодополнение.

OPTIONS
о Состояние
В настоящее время проект находится в стадии активной разработки.

о Программа минимум
+ Корректное чтение тегов в соответствии со стандартом.
- Корректная запись, добавление и удаление тегов.
- Консольный интерфейс.
- Работа с группами файлов.

о Программа максимум
- Всё то, что содержит "программа минимум".
- User-friendly графический интерфейс.
- Извлечение информации из имени файла и его расположения в соответствии с заданным образцом и запись в тег.
- Наоборот: извлечение информации из тега и корректировка имени файла.
- Индексация медиатеки - составление сводной базы данных с собранной по тегам информации.
- Поиск соответствий в онлайн-базе и корректировка/дополнение тегов.
- Нахождение "похожих" тегов в разный файлах для корректировки опечаток и т.п.
- ... всё, что только может понадобиться практической необходимостью и удобством.

BUGS
нет информации.

PORTABILITY
Portable. Библиотека должна одинаково хорошо работать как под *nix-системами так и под windows.

AUTHOR
Автор предпочитает не упоминать своё настоящее имя в общедоступных источниках информации, но известен его псевдоним и адрес электронно почты, по которому с ним можно связаться: laughedelic [at] gmail [dot] com

SEE ALSO
man haqid3 (not released yet)

STANDARDS
Официальный сайт стандарта id3

HISTORY
laughedelic's short story:
"Причина возникновения этого проекта заключается в том,, что у меня накопилось довольно много музыки (около 100GB) и я пользуюсь iTunes. А это означает, что музыка упорядочивается именно по тегам и даже более или менее чёткая структура расположения музыки в файловой системе не играет особенной роли. Естественно, что теги прописаны далеко не все, которые хотелось бы,, и далеко не во всех файлах. Существует множество программ для редактирования тегов и каталогизации музыки,, но ни одна из них не удовлетворила меня полностью в плане настраиваемости и функциональности. Поэтому я решил сделать свою программу. Всё просто.
Кроме того, для меня, как для программиста на Haskell, особое значение имеет свой вклад в дело т.н. lambda-revolution (:"


September 28, 2009


:_

27 янв. 2009 г.

"The beauty of Open Source"


по каким-то таинственным, неизвестным мне причинам, моё давешнее знакомство и дружба с open-source протекали в какой-то мягкой, безболезненной форме.
конечно у меня были разнообразные приключения с Linux'ом,, но там я их по большей части искал сам, да и они были в основном на верхнем уровне.
то есть я сталкивался с проблемами и "играми" open-source вне самих source.
а вот за последние несколько дней я окунулся в эту среду с головой и осознал таки что это такое изнутри.
3 дня и 3 ночи пытаясь скомпилировать всякие чужеродные библиотеки и плагины, разрешая сложную паутину взаимозависимостей и совместимостей и
(самое жёсткое) исправляя многочисленные ошибки в чужих исходниках,, я наконец понял что значила фраза в описании одного плагина
"Its the beauty of Open Source software. Study the code, change it, and use it."
там говорилось мол, это работает "из коробки" только для ххх, но вы легко можете переделать это для других платформ - угу "/ не тут-то было!
в общем вдоволь я наковырялся чужих исходников.. больше не хочу. сегодня ночью вроде и уже и не делаю ничего такого - а уснуть всё равно не могу.
всё время какие-то идеи...

26 янв. 2009 г.

Cabalizing! "/

в последние дни я упорно пытался постичь Кабаллу Хаскелла.
3 дня и 3 ночи я сидел в консоли и бубнил магические заклинания:
$ cabal configure
$ cabal build
$ cabal install

failed!
$ cabal --reinstall install
$ cabal,, cabal,,, cabal!!

иногда правда приходилось произносить и обычные заклинания, типа
$ ./configure
$ make
$ sudo make install

но и они приносили мне немало хлопот..
а потом всё запутывалось,, падало, катилось в тартарары и приходилось начинать всё сначала...
иногда даже приходилось произносить страшное рекурсивное заклятие:
cabal install cabal
О_О
или такое: cabal install cabal-install..

всё это отняло у меня много сил,, исчерпалась моя мана,, а опыт я получил весьма сомнительный. /=
поэтому я решил прекратить эти оккультные эксперименты и заняться снова
обычной монадической алхимией, с привычными парсерами,, комбинаторами и прочими артефактами лямбда-ленивости...

25 янв. 2009 г.

testing vim blogposting

всё таки кое-как мне удалось прикрутить этот плагин к vim для постинга в blogger.
один плагин не работает.. другой тоже.. третий вот запустил но при этом мне пришлось исравлять ошибки в коде на питоне - а я ведь его не знаю совсем..
но,, как известно,, я парень с мышлёный (; так что всё уладилось.
а вообще... надо просто брать и самому писать такие скрипты! не блог весть какая ерунда.
если не лень будент - так и сделаю в ближайшее времечко..

upd: оказалось лень и не досуг...

23 янв. 2009 г.

"Getting Started"

В этом блоге я буду писать о своих начинаниях, идеях, успехах и всяческом "лидировании в области программирования" (: