Wednesday, December 27, 2006

Command of the day: convmv

If you are moving around files from one system (ubuntu: default encoding is utf8) to another (debian: historical default encoding for catalonians who want to use the euro sign is latin1) or getting files from CD's built in windows (spanish windows encoding cp850), you surelly will get on the filenames strange signs instead accents, tilded n's and c's with cedillas, opening question marks... not talking about the weird (for us) nordic and eastern signs. You may say that using such names for files is getting in trouble, but i like them for mp3 in order to convert back and forward from id3 tags to filenames.

Now that i have to move to another office and another computer i had such filename encoding problems. I knew how to convert the encoding of the content of a file with iconv how to solve that problem on the file names. 'apt-cache search' gave me the solution: convmv.

You can use it recursively with an '-r' option, it detects which files are already on utf8 and you have to explicitly indicate the 'from' and 'to' encodings. It will be nice it to detect the original encoding when there is no conflict but, at least it lets you do a temptative conversion and see how it would look after conversion. So the way of working is:

Do a temptative conversion for all the files you need to convert:

convmv -f latin1 -t utf8 -r . | less

Check the output and see whether the non utf8 files have been properly converted. If some files were not latin1 neither utf8, the name will be not properly converted, just prove a different origin encoding for those concrete files. When you know which is the encoding to translate just execute:

convmv -f latin1 -t utf8 -r . --notest

If the applied conversion was not the proper one, just apply the conversion backwards and you'll have
the original one again.

Saturday, November 18, 2006

Why my qt plugins are not loading?

That was a question i asked myself hundred of times while developing the CLAM Prototyper using Qt4.
Plugins don't load, i get no message and the ninety nine other reasons i found the last days are not happening.

I just wrote an article that collects the experience i got to spot and fix such problems.

Thursday, October 26, 2006


After the PLoP we took a jet to Santa Barbara for the ACM-Multimedia conference. What a weather change!! We left Portland raining and Santa Barbara weather seems like the one at Barcelona in July!

It has been a pity because while preparing the CLAM demo we missed most of the talks. Yesterday we received the prize to the best opensource multimedia project for CLAM and today we did the demo having some unrelevant logistic problems. The audience got the rapid prototyping idea very well, as we intended.

I saw few paper presentations. The one left i felt interesting for us was about extracting brush patterns to identify painting style/author. We assisted but, sadly, we were solving some problems with our demo and we couldn't pay the attention the topic required to understand it properly. :-(

Most of the presentations were about video. Nearly none about audio but ours and Peter and Markus' poster. We meet those nice guys at the ISMIR last year. They have done a very nice and impressive work on navigating music collections. Tomorrow the Audio workshop starts, so we'll get our audio meat. ;-)

Being about multimedia you can feel the shadow of two of the most successful phenomena in internet this year: Google Maps and YouTube. A lot of papers were about integrating geographical information with media and social networks.

Xavi, which is very busy with the conference arrangements took us yesterday to the UCSB (the university were he works in). He showed us the Allosphere project which is an impressive multimedia installation that puts you into a interactive 3D world.

Tuesday, October 24, 2006


I was amazed with the insight we got on our own pattern at the PLoP writer's workshow. You can learn a lot by having seven experts on patterns talking behind you about your paper without you being able to talk, just listening.

It was a pity that we had relation mostly with the people on our workshop, but, anyway, people in our workshop was very interesting to know. No doubt about Ralph, but also Jason, Amr, Hishem, Dirk, Paddy, Leon... all of them gave us very valuable feedback.

A part from Jason's paper, the one about stand-up meetings i already commented, the other i liked the more was the one about Functional testing. Regardless pattern like formatting flaws it contained a lot of insight on functional testing that will help Pau and me to better communicate the functional tests principles to our Software Engineering students.

Back to the games, a funny one we played was the one of segregating people by things we thought make each one weird. Just 5 of about 40 keept on one side on the statement 'I don't use windows'. Of those 5, 3 were Mac'ers. Having that much veterans computer scientists, was very interesting the segregation on statements about knowing weird programming languages and having using old technologies.

We really enjoied our first PLoP. I hope we could be back some year.

Saturday, October 21, 2006

Plopping, first day

PLoP (Pattern Languages of Programming) conference is really a weird one. We were already shocked by the paper 'admission' and paper review process and, the conference itself has started in the same weird/unusual way.

It's nice to see a core of veteran people to meet each other so touched. It's a family that joins once a year since 1994 and most of them are old workmates of the old smaltalker times. All the organization was all but formal what i really like. They also made us to play some games in order to break communication walls. Also the main purpose of the conference itself it is a major novelty for us. It is not about presenting your work and know what others are doing but about helping authors to improve our work by discussing the papers we submitted.

We have meet some big names on the Software Engineering field. We sitted just beside Ward Cunningham, the inventor of the wiki among other things. We also meet Ralph Johnson, one of the GoF, which is the moderator of our discussion group.

About the discussion itself, we discussed two interesting papers. One about the Value Object pattern, that highlighted some insightfull consequences i even never had thought about. The other was really interesting and funny to read because it explained some patterns to have a successfull 'standup meeting' and some 'bad smells' to dectect when things are not working properly. It was very funny because it highlighted meeting situations we all have experienced and the solutions he proposed were very clever and pleasant to read.

Starting up

The purpose of this blog is to post entries about open source and code development, mostly technical. VokiBlog will be still the blog where i still post personal messages, mostly in catalan and spanish addressed to non-technical friends. It's just to not nag them ;-)