I recommend to accept Emilio as a Debian Developer.

Woo!

Working on Liferea

Since this January, I’ve been doing upstream work for Liferea. This is a great oportunity to learn C and to contribute more to an upstream project! And the atmosphere around Liferea is great. Today I’ve published my first post in the Liferea blog. If you are a Liferea user, you may want to subscribe to it!

There is a lot of work going on in Liferea. We are working hard to release 1.6 (which will use WebKit as the rendering backend) without any known regressions. Most of the performance work will likely go into the next series though, but 1.6 shouldn’t be any worse than 1.4.

If you would like to contribute, don’t be shy and join #liferea on Freenode! We have some blockers for 1.6 and some other things to do, and we will appreciate any contributions. Testing is also appreciated. We are mostly interested in the unstable series, so if you find a bug in the latest unstable release or in trunk, file a bug report!

Collaborative maintenance

The Debian Python Modules Team is discussing which DVCS to switch to from SVN. Ondrej Certik asked how to generate a list of commiters to the team’s repository, so I looked at it and got this:


emilio@saturno:~/deb/python-modules$ svn log | egrep "^r[0-9]+ " | cut -f2 -d'|' | sed 's/-guest//' | sort | uniq -c | sort -n -r
865 piotr
609 morph
598 kov
532 bzed
388 pox
302 arnau
253 certik
216 shlomme
212 malex
175 hertzog
140 nslater
130 kobold
123 nijel
121 kitterma
106 bernat
99 kibi
87 varun
83 stratus
81 nobse
81 netzwurm
78 azatoth
76 mca
73 dottedmag
70 jluebbe
68 zack
68 cgalisteo
61 speijnik
61 odd_bloke
60 rganesan
55 kumanna
52 werner
50 haas
48 mejo
45 ucko
43 pabs
42 stew
42 luciano
41 mithrandi
40 wardi
36 gudjon
35 jandd
34 smcv
34 brettp
32 jenner
31 davidvilla
31 aurel32
30 rousseau
30 mtaylor
28 thomasbl
26 lool
25 gaspa
25 ffm
24 adn
22 jmalonzo
21 santiago
21 appaji
18 goedson
17 toadstool
17 sto
17 awen
16 mlizaur
16 akumar
15 nacho
14 smr
14 hanska
13 tviehmann
13 norsetto
13 mbaldessari
12 stone
12 sharky
11 rainct
11 fabrizio
10 lash
9 rodrigogc
9 pcc
9 miriam
9 madduck
9 ftlerror
8 pere
8 crschmidt
7 ncommander
7 myon
7 abuss
6 jwilk
6 bdrung
6 atehwa
5 kcoyner
5 catlee
5 andyp
4 vt
4 ross
4 osrevolution
4 lamby
4 baby
3 sez
3 joss
3 geole
2 rustybear
2 edmonds
2 astraw
2 ana
1 twerner
1 tincho
1 pochu
1 danderson

As it’s likely that the Python Applications Packaging Team will switch too to the same DVCS at the same time, here are the numbers for its repo:

emilio@saturno:~/deb/python-apps$ svn log | egrep "^r[0-9]+ " | cut -f2 -d'|' | sed 's/-guest//' | sort | uniq -c | sort -n -r
401 nijel
288 piotr
235 gothicx
159 pochu
76 nslater
69 kumanna
68 rainct
66 gilir
63 certik
52 vdanjean
52 bzed
46 dottedmag
41 stani
39 varun
37 kitterma
36 morph
35 odd_bloke
29 pcc
29 gudjon
28 appaji
25 thomasbl
24 arnau
20 sc
20 andyp
18 jalet
15 gerardo
14 eike
14 ana
13 dfiloni
11 tklauser
10 ryanakca
10 nxvl
10 akumar
8 sez
8 baby
6 catlee
4 osrevolution
4 cody-somerville
2 mithrandi
2 cjsmo
1 nenolod
1 ffm

Here I’m the 4th most committer :D

And while I was on it, I thought I could do the same for the GNOME and GStreamer teams:


emilio@saturno:~/deb/pkg-gnome$ svn log | egrep "^r[0-9]+ " | cut -f2 -d'|' | sed 's/-guest//' | sort | uniq -c | sort -n -r
5357 lool
2701 joss
1633 slomo
1164 kov
825 seb128
622 jordi
621 jdassen
574 manphiz
335 sjoerd
298 mlang
296 netsnipe
291 grm
255 ross
236 ari
203 pochu
198 ondrej
190 he
180 kilian
176 alanbach
170 ftlerror
148 nobse
112 marco
87 jak
84 samm
78 rfrancoise
75 oysteigi
73 jsogo
65 svena
65 otavio
55 duck
54 jcurbo
53 zorglub
53 rtp
49 wasabi
49 giskard
42 tagoh
42 kartikm
40 gpastore
34 brad
32 robtaylor
31 xaiki
30 stratus
30 daf
26 johannes
24 sander-m
21 kk
19 bubulle
16 arnau
15 dodji
12 mbanck
11 ruoso
11 fpeters
11 dedu
11 christine
10 cpm
7 ember
7 drew
7 debotux
6 tico
6 emil
6 bradsmith
5 robster
5 carlosliu
4 rotty
4 diegoe
3 biebl
2 thibaut
2 ejad
1 naoliv
1 huats
1 gilir


emilio@saturno:~/deb/pkg-gstreamer$ svn log | egrep "^r[0-9]+ " | cut -f2 -d'|' | sed 's/-guest//' | sort | uniq -c | sort -n -r
891 lool
840 slomo
99 pnormand
69 sjoerd
27 seb128
21 manphiz
8 he
7 aquette
4 elmarco
1 fabian

Conclusions:
- Why do I have the full python-modules and pkg-gstreamer trees, if I have just one commit to DPMT, and don’t even have commit access to the GStreamer team?
- If you don’t want to seem like you have done less commits than you have actually done, don’t change your alioth name when you become a DD ;) (hint: pox-guest and piotr in python-modules are the same person)
- If the switch to a new VCS was based on a vote where you have one vote per commit, the top 3 commiters in pkg-gnome could win the vote if they chosed the same! For python-apps it’s the 4 top commiters, and the 7 ones for python-modules. pkg-gstreamer is a bit special :)

Hello Planet Debian!

Hello Debian fans! I’m Emilio Pozuelo Monfort (aka pochu), a Debian contributor coming from Ubuntu (where I’m a MOTU), and hopefully a DD in the near future, as I’m in NM. Sandro Tosi has added me to Planet Debian, so here I am! I’ll be posting from time to time (don’t expect me to flood your feed reader, I’m more of a casual writter) with Debian-related topics.

For those of you who don’t know me, I’m an Spanish guy contributing mostly to the GNOME packages and some Python applications. But if something breaks in your desktop, don’t blame me, but my sponsor! :P

Freenode

Today’s my birthday on Freenode :-)

01:06 [notice(NickServ!NickServ@services.)] Information on pochu (account pochu):
01:06 [notice(NickServ!NickServ@services.)] Registered : Dec 13 21:40:22 2006 (2 years, 0 weeks, 0 days, 02:26:05 ago)
01:06 [notice(NickServ!NickServ@services.)] Last addr : n=emilio@ubuntu/member/pochu
01:06 [notice(NickServ!NickServ@services.)] vHost : ubuntu/member/pochu
01:06 [notice(NickServ!NickServ@services.)] Last seen : now
01:06 [notice(NickServ!NickServ@services.)] Logins from: pochu
01:06 [notice(NickServ!NickServ@services.)] Nicks : pochu pochu_
01:06 [notice(NickServ!NickServ@services.)] Email : asdf@asdf.com (hidden)
01:06 [notice(NickServ!NickServ@services.)] Flags : HideMail
01:06 [notice(NickServ!NickServ@services.)] *** End of Info ***

New Maintainer

About one year and a half after my first package was uploaded to Debian, I decided to apply to become a Debian Developer last month. It didn’t happen inmediately because in order to apply you are asked whether you have read the foundation documents, the policy, the developers reference… and I didn’t want to cheat! :D So I took the time to read all of them, and then applied on November 1st!

Loïc Minier advocated me (thanks!) and now I’m waiting to be asigned an AM. I hope not to loose interest in the meantime ;)

Hardy Heron t-shirts

Ralph Janke points out that Thomas David has created a very nice image of a lot of the Hardy Heron contributors.

As the Hardy Heron t-shirts are already out of stock, could we get a new design (t-shirts and/or posters) with Thomas’ image, possibly with a discount for the people mentioned in the image? ;)

Carpe Diem

Porque mañana puede ser demasiado tarde… Merece la pena leerlo.

Recovering erased files from a flash memory

Have you ever erased some files from a flash memory? I did that with a bunch of photos by mistake, and then realized what I had done. But not everything is lost, as you probably can recover them (as long as you haven’t formatted the memory, or copied new files on top of them).

So if that has happened to you, or in case this ever happens again to me, here is what you can do to recover them.

DISCLAIMER: this worked for me after trying a lot of things. It may work for you, but it may not. If you do this, you do it at your own risk.

So how did I got the files back?

First, I used gddrescue (which should be packaged in most distros, at least it is in Debian and derivatives) to create an image of the flash memory. gddrescue will try to create it even if the memory is damaged, skipping the damaged files.

I created the image with:
ddrescue -v /dev/sdb Recovered ddrescue.log
Where -v is verbose mode, /dev/sdb is where the memory was mounted, Recovered is the image which will be created and ddrescue.log is, as it’s name says, ddrescue’s log file, which is really useful since it can resume an image thanks to it.

And now what? Let’s use foremost to scan the image and get the recoverable files from it. From foremost’s manpage:

foremost – Recover files using their headers, footers, and data structures

I run it with:
foremost -i Recovered -o recovered_files/
foremost will put the recovered files (if any) under some subfolders in recovered_files/

And that’s it! I don’t know whether this will work for you. It did for me, so I’m posting this here in case I need it again in the future. But feel free to leave a comment saying whether it worked for you or not.

Good luck!

Liferea localized feedlists

I’ve been working in bug #51604, which is about adding some Ubuntu feeds to Liferea’s default feed list.

So I’ve added Planet Ubuntu and The Fridge to all of them, English and non-English, and some local planets to the ones that have (or that I’ve found) one.

So far Liferea actually has localized feedlists for English, Brazilian Portuguese, Bulgarian, Catalan, German, Spanish, Basque, French, Dutch, Polish, Russian, Slovakian, Slovenian and Turkish. So if your language is missing in the list, make one and submit it upstream! Or attach it to the bug report and I’ll forward it. You can base it in any of these. Hint: make them as distro neutral as possible, since they are targeted upstream! Also note that with the current implementation, there needs to be a Translation for your language in order for the localized feedlist to be used, since it’s set up in one string translation.

I’ve added localized Ubuntu planets/feeds to the Brazilian Portuguese, Catalan, Dutch, German, Spanish, French and Polish ones.

It’s time to make Liferea rock in Ubuntu a lot more, helping Liferea upstream providing localized feedlists too!