castanyes blaves

Random ramblings about some random stuff, and things; but more stuff than things -- all in a mesmerizing and kaleidoscopic soapbox-like flow of words.


A Must-See!!

Ubuntu FAQ guide


Things I want to read when I find time


# Instructions for compiling VLC with H264 and Live555 support under Ubuntu Breezy

# Install dependencies available from the Ubuntu repositories (main and universe)

sudo apt-get install libwxgtk2.6-dev libdvbpsi3-dev libmpeg2-4-dev libmad0-dev libasound2-dev libesd0-dev x11proto-video-dev libdvdnav-dev liba52-0.7.4-dev libflac-dev libfreetype6-dev libid3tag0-dev libogg-dev libpng12-dev libspeex-dev libtheora-dev libvorbis-dev libxml2-dev zlib1g-dev gcc g++ automake1.9 autoconf libtool subversion cvs libx11-dev

# Install libdvdcss (DVD support)

mkdir ~/videolan ; cd ~/videolan


tar -jxvf libdvdcss-1.2.8.tar.bz2 ; cd libdvdcss-1.2.8

./configure --prefix=/usr ; make ; sudo make install

# Compile faad2 (AAC support)

cd ~/videolan ; wget

tar -jxvf faad2-20040923.tar.bz2 ; cd faad2-20040923

./configure --prefix=/usr ; cd libfaad ; make

# Compile ffmpeg (support for H264 and many other codecs)

cd ~/videolan ; cvs -z9 co ffmpeg

cd ffmpeg ; ./configure --enable-pp --enable-gpl ; make

# Compile live555

cd ~/videolan ; wget ; tar -zxvf live555-latest.tar.gz

cd live ; ./genMakefiles linux ; make

# Compile libvc1 (WMV9 support)

# only if you have access to the files

# cd ~/videolan ; wget ; tar -zxvf libvc1-1.0.tar.gz

# wget

# unzip

# cp VC1_reference_decoder_release6/decoder/*.[ch] libvc1-1.0/src/.

# cp VC1_reference_decoder_release6/shared/*.[ch] libvc1-1.0/src/.

# cd libvc1-1.0 ; ./bootstrap ; ./configure --prefix=/usr ; make

# Install VLC

cd ~/videolan ; svn co svn:// vlc-trunk

cd vlc-trunk ; wget -O - | patch -p0

# only if you have access to VC1 files

# ./bootstrap ; ./configure --with-ffmpeg-tree=../ffmpeg --enable-faad --with-faad-tree=../faad2-20040923 --enable-esd --enable-flac --enable-theora --enable-libvc1 --with-libvc1-tree=../libvc1-1.0 --disable-hal --enable-livedotcom --with-livedotcom-tree=../live

./bootstrap ; ./configure --with-ffmpeg-tree=../ffmpeg --enable-faad --with-faad-tree=../faad2-20040923 --enable-esd --enable-flac --enable-theora --disable-hal --enable-livedotcom --with-livedotcom-tree=../live

#make ; sudo make install


Twiddling thumbs

Force filesystem check next time it boots

sudo touch /forcefsck


ps and kill

sleep 1000 &

ps x | grep sleep | cut -c1-5 | xargs kill -9 $1


Definitions of stumble on the Web:

* walk unsteadily; "The drunk man stumbled about"

* miss a step and fall or nearly fall; "She stumbled over the tree root"

* lurch: an unsteady uneven gait

* encounter by chance; "I stumbled across a long-lost cousin last night in a restaurant"

* make an error; "She slipped up and revealed the name"

* trip: an unintentional but embarrassing blunder; "he recited the whole poem without a single trip"; "he arranged his robes to avoid a trip-up later"; "confusion caused his unfortunate misstep"

Wow, that _is_ flashy...

Apple and Rosa Parks

If you visit today, you will find a nice image referring to Rosa Parks.


...ok, I found it:

if (!defined $term) {

my $notfound = 1;

print "# error $entry\n";

my @list = $term->add_alt_id($entry);

foreach $term (@list) {

print "# alternative $term\n";

$term = $graph->get_term($entry);

if (defined $term) {$notfound = 0;}


next if ($notfound);




I have been using Chris Mungall's go-perl recently, which is part of go-dev, and I have to say I am really impressed.

There is a lot of stuff one can do with it, and me using GO for a priori categorization of a gene list, I am enjoying it a lot.

A couple of hickups in it:

(1) the time it takes to load an obo file: ~1min in my laptop (~5 min if Perl-debugging)

(2) I haven't found a way yet to get "alt_id"s for entries that won't give a valid id:

$term = $graph->get_term($entry);

Some more pearls from the Google's Summer of Code

Praveenkumar Ponnusamy

Global Command History for Bash

This project is an extension to the GNU Bourne Again Shell(BASH). It is an implementation of global command history for BASH. The goal of this project is to provide the users of the BASH shell the capability to access command history across multiple

open instances of the shell.

I have to try this soon...

James Anderson


Tsync is a user-level daemon that provides transparent synchronization amongst a set of computers. Tsync uses a peer-to-peer architecture for scalability, efficiency, and robustness.

This one looks very promising...



How to keep four feet on the ground

Science must be great for this things... ain't?
How to keep four feet on the ground: "Mathematical proof ends wobbly table woes."



testing testing

uhmmm, something weiry is happening with this blog that is missing my latest 20 posts or so...



Stuff I have to read when I find time



Definitions of Caveat emptor on the Web:

* A Latin term meaning "let the buyer beware." A legal maxim stating that the buyer takes the risk regarding quality or condition of the property purchased, unless protected by warranty.


Things I will do when I find time

Learn some Javascript (You know, for the kids)


Expressions I heard today

secure a contribution based on a policy

seek to befriend a person

to be under oath

to pick one's battles

Someone's feet seem a little frozen


Linux drivers -- Airport Extreme, TrueMobile 1300 WLAN Mini-PCI Card...

Linux drivers -- Airport Extreme, TrueMobile 1300 WLAN Mini-PCI Card, Wireless 1350 WLAN Mini-PCI Card, WL-100G, Linksys WMP54G PCI, Belkin F5D7010 54g Wireless Network card, etc.


Honda?s More Powerful Fuel Cell Concept with Home Hydrogen Refueling

Maybe I will have a car afterall someday...


GPL Tarragona i DataSystem Megastore II

GPL Tarragona i DataSystem Megastore II: "La botiga d'informàtica DataSystem Megastore del carrer Gasòmetre ha rebut per part de l'associació GPL Tarragona 300 CDs d'Ubuntu junt amb un tríptic amb informació sobre Programari Lliure, Ubuntu i GPL Tarragona. Tota persona interesada pot passar a recollir gratuïtament una copia a la botiga. La primera vegada que es va realitzar aquest acord amb DataSystem Megastore va ser tot un èxit, tots els CDs van ser repartits per gent interesada en el programari lliure i Ubuntu GNU/Linux. Com la darrera vegada, els objectius són: - Fer arribar Programari Lliure a la gent de Tarragona - Promocionar la nostra associació com a referència a la província de Tarragona De nou, volem agrair les facilitats que ens ha donat la botiga en qüestió."


Sven Herzberg (herzi): Airport Extreme...

Sven Herzberg (herzi): Airport Extreme...: "Another possible victory over proprietary drivers..."



Wavelets stuff I got buried somewhere else

Meeting with B.A:

It went really well.

About which filter to use, he said that Daubechies is nice because of

the compact support: you know where are the border artifacts in the


About the different levels of Daubechies:

a0 + a1x + a2x^2 + a3x^3 + ...

D1 - Haar, is ok to remove the constant from the data (a0). So you

remove the constant and have the data normalised in the detail.

And there is no border effect in Haar if signal is 2^n.

D2 - To remove linear trends.

D3 - To remove low frequency trends.

D4 and so on is to de-correlate different point in the signal.

One of the approaches for the project (p1) would be:

1) Characterize the globals of the signal, i.e., have a global view of

how is the signal.

2) Detect the edges in the signal:

-- Simple continuous 'g1' can be used for that: derivative of the signal

at a certain scale. Or also 'g2'.

About the denoising, we have to take into account that if we use a

simple threshold, the coefficient of the threshold at each level has

to be in accordance with Donoho's formulae.

We tested the use of continuous wavelet decomposition with cwtd 1 8 6


They are also working on that but with data of gene density.

We are going to be in touch to collaborate on the issue in a near

future (a couple of months).

It might be worth to talk with P.L., although he is now in the

computer department in UCam.


Testing strategies

The tests that you must write in XP are isolated and automatic.

First, each test doesn't interact with the others you write. That way

you avoid the problem that one test fails and causes a hundred other

failures. Nothing discourages testing more than false negatives. You

get this adrenaline rush when you arrive in the morning and find a

pile of defects. When it turns out to be no big deal, it's a big

letdown. Are you going to pay careful attention to the tests after

this has happened five or ten times? No way.

The tests are also automatic. Tests are most valuable when the stress

level rises, when people are working too much, when human judgment

starts to fail. So the tests must be automatic - returning an

unqualified thumbs up/thumbs down indication of whether the system is


It is impossible to test absolutely everything, without the tests

being as complicated and error-prone as the code. It is suicide to

test nothing (in this sense of isolated, automatic tests). So, of all

the things you can imagine testing, what should you test?

You should test things that might break. If code is so simple that it

can't possibly break, then you shouldn't write a test for it.

One way a test can pay off is when a test works that you didn't expect

to work. Then you better go find out why it works, because the code is

smarter than you are. Another way a test can pay off is when a test

breaks when you expected it to work. In either case, you learn



Something that I had buried somewhere else

Reading Andreas' manual to install a lightweight DAS server in my


No root access needed. Just define ALTROOT.

Using GNU Stow:

The approach used by Stow is to install each package into its own

tree, then use symbolic links to make it appear as though the files

are installed in the common tree. Administration can be performed in

the package's private tree in isolation from clutter from other


Downloading LDAS:

Problems with permissions:

$# ln -s /usr/local/apache/cgi-bin/das /var/www/cgi-bin/das

DAS servers are of two kinds, reference servers and annotation

servers. We're not setting up a reference DAS server so we won't need

any assembly information. We still need to fetch reference and

annotation data though.

awk 'BEGIN { OFS="\t"; print "[annotations]"; } \

{ \

print "Gene", $10, $3, $2, $1, $4, $5, $7, $6, $8; \

}' human_chr7.gff | tr -d ';' >human_chr7.das

To set the passwords for mysql (for fresh installation):

[avb]$ mysqladmin -u root password "mypassword"

and to define the password for accessing to a specific database:

mysql> USE mydatabase;

mysql> UPDATE user SET Password=PASSWORD("userpassword") WHERE \


[avb@localhost data]$ mysql --user root -p

Enter password:

Welcome to the MySQL monitor. Commands end with ; or \g.

Your MySQL connection id is 8 to server version: 3.23.58

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql> CREATE DATABASE human;

Query OK, 1 row affected (0.00 sec)

mysql> GRANT ALL PRIVILEGES ON human.* TO avb@localhost;

Query OK, 0 rows affected (0.00 sec)

mysql> GRANT FILE ON *.* TO avb@localhost;

Query OK, 0 rows affected (0.00 sec)

mysql> GRANT SELECT ON human.* to avb@localhost;

Query OK, 0 rows affected (0.00 sec)

mysql> QUIT;


Loading the data:

[avb@localhost scripts]$ ./ --create --database human ~/ldas/data/human_chr7_ref.das ~/ldas/data/human_chr7.das

Unknown table 'fattribute' at /home/avb/bioperl/devel/bioperl-live/Bio/DB/GFF/Adaptor/ line 1088.

Unknown table 'fgroup' at /home/avb/bioperl/devel/bioperl-live/Bio/DB/GFF/Adaptor/ line 1088.

Unknown table 'fmeta' at /home/avb/bioperl/devel/bioperl-live/Bio/DB/GFF/Adaptor/ line 1088.

Unknown table 'fattribute_to_feature' at /home/avb/bioperl/devel/bioperl-live/Bio/DB/GFF/Adaptor/ line 1088.

Unknown table 'ftype' at /home/avb/bioperl/devel/bioperl-live/Bio/DB/GFF/Adaptor/ line 1088.

Unknown table 'fdna' at /home/avb/bioperl/devel/bioperl-live/Bio/DB/GFF/Adaptor/ line 1088.

Unknown table 'fdata' at /home/avb/bioperl/devel/bioperl-live/Bio/DB/GFF/Adaptor/ line 1088.

/home/avb/ldas/data/human_chr7_ref.das: loading...

Use of uninitialized value in join or string at /home/avb/ldas/LDasServer-1.11/scripts/ line 49, line 3.

Use of uninitialized value in join or string at /home/avb/ldas/LDasServer-1.11/scripts/ line 49, line 3.

Argument "" isn't numeric in numeric gt (>) at /home/avb/bioperl/devel/bioperl-live/Bio/DB/ line 2221, <> line 1.

/home/avb/ldas/data/human_chr7_ref.das: 1 records loaded

/home/avb/ldas/data/human_chr7.das: loading...

Warning: unable to close filehandle DAS2GFF properly.

/home/avb/ldas/data/human_chr7.das: 784 records loaded

Editing /usr/local/apache/conf/das.conf/human.conf

mapmaster =

Changed cgi-bin to allow links to other cgi-bin directories:

AllowOverride None

# Options None

Order allow,deny

Allow from all

Options FollowSymLinks

Adding hardcoded path to Bio/DB/ in the

/usr/local/apache/cgi-bin/das script with:

use lib qw(/my/path/to/bioperl-live);

awk 'BEGIN { OFS="\t"; print "[annotations]"; } \

{ \

print "Gene", $10, $3, $2, $1, $4, $5, $7, $6, $8; \

}' human_tm_7.gff | tr -d ';' >human_tm_7.das

To upload the data to the DAS sources, you have to be outside the

EBI/Sanger Firewall, so that your server is visible to the receiving

server, which is in the Sanger Centre.


Advanced Perl Programming:

Implementing Object Persistence:

Adaptor is intended to be a group of modules that translate a uniform persistence interface to specific types of persistent stores

Object Oriented Perl Session Finale:

Multiple Dispatch

Persistent Objects

The ability of a system or module to make an application's data live longer than its application is called persistence.

Using Data::Dumper:

$encoding = Data::Dumper->Dump([$str, $num, $ref, \@arr, \%hsh],

[qw($str, $num, $ref, \@arr, \%hsh )]);

open STORAGE, ">persistent.dat"

and print STORAGE $encoding

and close STORAGE

or die "can't save persistent data\n";

Then the complete code can be reinstated with simply:

do "persistent.dat";



Notice that method calls do not evaluate within a double-quoted string in Perl. For example, the statement:

print "Name is: ", $dna_seq->get_seq, "\n";

cannot be written as:

print "Name is: $dna_seq->get_seq\n";

Sometimes array-based objects are used in Perl because it is somewhat faster to access an array using defined indices than it is to access a hash with its keys. Despite the faster access, most object-oriented Perl modules create hash-based objectes because hashes are more flexible. It is easier to add additional attributes simply by defining a new string for use as a key than it is to maintain a list of defined array indices.


Great Networking in Fedora has Arrived

Faithful users of the Fedora Core 4 linux distribution can now connect to wireless networks reliably. A version of NetworkManager 0.5.0 was released into the popular distribution's updates-testing channel, allowing users the chance to preview the software before it is released as an update to the general Fedora user base. Using a laptop doesn't have to be difficult, said Christopher Aillon, of Red Hat, Inc. With NetworkManager 0.5.0, users will find they are able to roam without worrying about typing in a command to get their wireless working. The new NetworkManager boasts a plethora of enhancements over the versions previously found in Fedora Core 4, including smarter handling of different wireless networks, improved artwork, and a better overall experience. While not yet at version 1.0, NetworkManager is stabilizing pretty rapidly, and many users will find it to be very useful. I find it to be much more stable than previous versions notes one user. David Zeuthen, a Danish software engineer, agrees. It's like my Mac, actually, he said. I can suspend and resume, it reattaches to the network on resume, and VPN works. Users of Fedora Core 4 who wish to download the new NetworkManager packages may do so by typing the following command: yum --enablerepo=updates-testing" Hopefully this, or something similar, will make it into Ubuntu soon.


What is a blog -- What isn't a blog

A blog is a solution to the typical work colleague that resends 10 cool (or pretending to be) cool links or ppt attachments that another work colleague has already sent 20 minutes before to 30 more people: you can use your blog for all that stuff and people will choose to visit your blog or not.

A blog isn't, in my case, a place where you can make up your minds about what kind of person am I. What I write in my blog mostly relates to what happens when I'm in front of the computer, which is about 10-15% of my life, in terms of hours spend (yes, I almost exclusively work in front of the computer).

If you want to make up your minds about what kind of person I am, you should really try to contact me in person (female applicants strongly preferred :-)).


Optical illusion

This is amazing! You should try it:



Insects tapped for better rubber

Nice one! Insects tapped for better rubber: "Super-resilient material could be useful for medical implants."


Don't gawk

I was watching the "Stuck on you" DVD the other day and found out that "gawk" is, apart from the GNU version of the program "awk", an english verb:

Definitions of gawk on the Web:

* lout: an awkward stupid person

* goggle: look with amazement; look stupidly

It is funny how biased one can be when learning new words of a language not in an academic way, but from using the words in everyday's life.

I remember playing "Civilization" when I was a kid, and learning the word "settlers" by context, simply by learning that this character in the game meant something I related to the Far West "colonizers".

Definitions of settlers on the Web:

* Settlers are people who have travelled of their own choice, from the land of their birth to live in "new" lands or colonies. In modern history, the word "settlers" is synonymous with terms like pioneers, colonists, or (as British people once called them) "colonials". It has been argued that all peoples are "settlers", since migration has featured throughout human history and prehistory. However, the word settler is generally used only in relation to modern or early modern history.



Linux and aviation

Lange Flugzeugbau GmbH has used embedded Linux to build a battery-propelled self-launching sailplane that it says is more reliable, quieter, and easier to operate than similar gliders powered by combustion engines. The Antares glider uses a Geode-powered PC/104 Linux system for flight control and battery management.

Tuomas Kuosmanen (tigert): Category fun: "So, I think this might be my first chance to post something that goes on both category ?Aviation? and ?Linux? A battery-propelled self-starting sailplane (glider) with embedded linux controlling the lithium-ion battery pack and engine system ?The advantages? (of Linux) ?are obvious ? we can modify or adapt anything we want. And we are starting to know the system well.? Pretty cool! Wish I had one of those.. Some day when I have a lot of free time (hah) I want to design graphics and usability stuff for airplane cockpit displays. On Linux. "



systemtap looks promising

Systemtap looks promising... If it is already available for FC4, I wonder why it was less known than dtrace on the latest Boston Summit 2005...
Mikael Hallendal (Hallski): Back from the Summit: "Arrived back from the Boston Summit 2005 earlier this morning. The flight back went well and it feels good to start the process of getting all the cheese out of my system. Was a lot of fun to meet up with everyone again and the summit was great even though I didn't get much hacking done. I mean, it's not everyday you hear Alex comment that: 'Daniel you look like David Hasselhof' and get an 'I second that' from Jonathan. There was a strong focus on performance which is great, we really need work done in this area. D-Trace looked really useful but at the moment is Solaris only and what I heard was intentionally made GPL-incompatible. Mark showed me SystemTap which seems to aim to provide us with better tools too. There was a scheduled BOF for discussing IM for GNOME but it was sadly canceled. Would have been good to get something happening in that area. Comment on this entry"



UNIX help for users:

Intermidiate UNIX training:



Would you NOT like fries with your burger?

More and more computer shops are selling computers with FreeDOS instead of Windows either by default or as an option. This makes sense for people not using Windows at all, which won't have to directly or indirectly pay for that when buying their piece of hardware. Anyway, things look better as time goes on, Albert. Windows perd el monopoli a Manresa: "Fa temps, vam comentar a Catux que no hi havia cap botiga que vengués un ordinador amb Linux pre-instal·lat, excepte una anomenada UPI situada al carrer Barcelona. Doncs bé, avui he descobert una altra botiga que ven tots els seus ordinadors amb programari lliure pre-instal·lat, però no es tracta de cap Linux, sinó de FreeDOS. Els ordinadors que es venen són de la marca Beep i Benq en general. La botiga en qüestió esta situada al Passeig on hi havia l'antic Born12 i ja pinta bé (encara està en construcció) Espero que poc a poc les altres botigues també ofereixin el mateix servei."



Is Ubuntu a Debian fork? Or spoon? What sort of silverware are you, man?


200409   200412   200501   200502   200503   200504   200505   200506   200507   200508   200509   200510   200511   200512   200601   200602   200603   200604   200605   200606   200607   200608   200609   200610   200611   200612   200701   200702   200703   200704   200705   200707   200708   200709   200710   200711   200712   200801   200802   200803   200804   200805   200806   200807   200808   200809   200810   200811   200812   200901   200902   200903   200904   200905   200906   200907   200908   200909   200912   201001   201002   201003   201004   201007   201009   201011   201102  

This page is powered by Blogger. Isn't yours?

Subscribe to Posts [Atom]