Fri, 08 Oct 2010
dots: a Braille translator for GNOME
While I am at GNOME Accessibility Hackfest I think it's a good time to present a project we have been working on this year: dots. It is a Braille translator/transcriptor that translates a document (odt, pdf or html) into computer Braille representation so you can directly send it to a Braille printer (embosser):

You can configure the output (cells per line, lines per page, etc...) and select the translation table. Also it presents the document on the screen in ASCII representation of using a Braille font with a review line. All the low level transcription is done using
liblouis and
liblouisxml libraries (the same that orca uses for the braille output). Also another nice feature is that you can actually edit the translation table with a nice UI. All the code is hosted on GNOME git:
browse dots source code.
This development has been sponsored by Consorcio Fernando de los Rios:

Consorcio Fernando de los Rios is a public company of the Andalusian Government created to spread the Information Technology in Andalusia, and that means bringing technologies to every one in every place. To bring it to every place they created
Gudalinfo centers: to provide internet and information access to people living in remote and small villages. And to bring it to every one they have been investing a lot of time and money to improve GNOME accessibility: orca screen reader, caribou on screen keyboard, webkit accessibility, and this Braille translator.
[
16:02]
|
Permalink
|
0 comments
Wed, 21 Jul 2010
GUADEC 2010: The State of the Union
This year, the awesome Xan and I will be delivering another crazy talk at GUADEC 2010.Again, we have a teaser for the talk:

click on the image to view the teaser
Please, feel free to send us your suggestions for the talk and/or blame us on twitter:
ferulo,
xanlpz
[
14:53]
|
Permalink
|
0 comments
Mon, 31 May 2010
Idlelo 4
Two weeks ago I attended the Idleo 4 pre-conference in Accra, Ghana. I gave a 2 days GNOME Desktop Training on behalf of the GNOME Foundation. It was a great experience to meet people from all Africa involved in Free Software and, of course, to show how proud we are of GNOME Desktop. During the training I showed how to use the Desktop itself and the most popular applications. At the end I also demoed the upcoming GNOME 3 version with GNOME Shell and zeitgeist.
I also had time to hang around with Ben and chat a little bit about GNOME a11y and with Pierro from Fedora.

Training at Idlelo
[
13:47]
|
Permalink
|
0 comments
Tue, 11 May 2010
This is a test
[
18:33]
|
Permalink
|
0 comments
Wed, 05 May 2010
Welcome to the Fer and Xan weekly comic
Last weekend I attended the GNOME Hispano meeting. There was a lot of interesting meetings there (I will blog more about them in the next days), but there was also a presetation of TBO (code here), a GNOME application to create comics. It's really cool, and allows people to easily create comics, even those like me with zero artistic abilities.
After the presentation Kal from the Evince hall of fame, proposed me to create with Xan a weekly comic strip about GNOME. I don't know if I can be funny enough for this, and I have not talked with Xan about it yet, but here is my first try. (Disclaimer: Don't expect my humor to be politically correct. If you think you can be offended, just don't read it or take a deep breath before reading and relax)

Click the image to enlarge
Powered by:
[
11:49]
|
Permalink
|
0 comments
Fri, 29 Jan 2010
GNOME and KDE programming at the university
Next month I'll start teaching GNOME and KDE programming at ETSI de Telecomunicacion at Universidad Politecnica de Madrid. This is the Application development for GNOME and KDE course we have developed for CENATIC.
The insteresting part here is that the University is offering this course as an official elective course for the students curriculum (providing 5 credits). When I started studying at this same school more than ten years ago, and started my first linux related projects, I couldn't even dream to have an official course about Free Software.
If you want to take a look at the materials, you can directly checkout the svn repository from the desktopsl project page or view the contents loaded as SCORM modules directly at CENATIC e-learning platform.
[
18:40]
|
Permalink
|
8 comments
Wed, 18 Nov 2009
DLNA Media Server for Android
Recently we had a project at Onirica about creating/porting a DLNA Media Server for/to the Android platform. It was a good choice to start playing with the Android platform as it allowed us to evaluate several things:
- Android APIs usage (UI, Activities, Services, Content Providers, ...)
- Effort to port existing java code to Android
- Android tools
As our intention was not re-invent the wheel, we looked for some available Media Servers coded in Java to re-use and we found two:
The main problem with ps3mediaserver (that is the one I use at home) was that it was too oriented to transcoding and the code was not abtracted enough to get only the DLNA/upnp bits. The main problem with Cidero Server was that it was not serving local files at all, only links to internet radio stations, so one of the main functionalities was missing. Finally we choose to take the Cidero code, adapt it to the android platform, implement the missing parts and code the android specific parts.
The adapt/port process included:
- Adding a hook for opening local files (originally included in the .jar file) to use through android R.raw
- Replace the Xerces based parsing code with the XML stack available in Android
And the new bits we had to implement:
- http transfer for local files, including 206 Partial-Content support
- Scanning android MediaStore providers to get info (size, duration, title, mime types, etc...) from the content and add it to the server
- Minimal UI
- Activity and Service
As in every software development process we found some unexpected problems:
- Android emulator does not support multicast. UPnP servers use SSDP packets to announce the server in the local network using a multicast address. It was not trivial to solve: we had to create a dummy server doing only the SSDP announce outside the emulator and port redirection (android redir inside the amulator and rinetd on the host) so the clients in our local network could access the server
- Unexpected bugs on the android SDK
But finally the application is working nicely:

click on the image to view a demo video
[
22:38]
|
Permalink
|
4 comments
Wed, 28 Oct 2009
GNOME and KDE development course
Recently we have finished creating the materials for the Application development for GNOME and KDE course we have been working on for CENATIC. It is a modular course, so for example you can take only the modules for GNOME programming or KDE programming. It has been designed for on-line training (using e-larning systems that support SCORM format, as moodle), presential learning or mixed combination of boths. These are the included modules:
- 01 Introduction to Free Software_Desktops
- 02 Introduction to GNOME platform
- 03 Introduction to KDE platform
- 04 Introduction to Freedesktop APIs
- 05 Environement and development metodology
- 06 Basic GNOME application development
- 07 Basic KDE application development
- 08 GNOME Application study
- 09 KDE application study
- 10 Complete GNOME application development
- 11 Complete KDE application development
- 12 GNOME community development
- 13 KDE community development
- 14 Working_ ith GNOME community real_case
- 15 Working with KDE_community read_case
- 16 Application integration
- 17 Next steps in GNOME and KDE application programming
- 18 Next generation desktops
Each module is composed of:
- Teacher's Guide
- Presentation
- Reference material
- Consultation material
- Activities
Activities include questionnaries, exercises, forums, irc tutorials, etc...
The format we chose for the materials is OpenDocument, mostly for the easy content creation
WYSIWYG using
OpenOffice and the flexible XML formats that allows us automatic conversion into html and SCORM generation. Of course, all the materials are available under a free license (CC-by-sa).
This is how it looks like inside an e-learning system:

Now we are in the review process before releasing the first "stable" version, so we invite anyone in the GNOME and KDE community to send comments, suggestions, corrections, additions, etc... All the contents are available at the
desktopsl project forge and you can joing the
desktopsl-devel mailing list to send any feedback.
[
14:54]
|
Permalink
|
6 comments
Tue, 07 Jul 2009
Making of GNOME 1,2,3 talk
After our GNOME 1,2,3 talk some people asked Xan and me about how we made the presentation. So here are the technical details:
- We made the slides using OpenOffice Impress
- We converted slides to pdf and showed them on screen using Evince presentation mode
- We got most of the videos from YouTube. (that's a big improvemnt since our Birmingham talk, that we use full copies of movies)
- We use PiTiVi 0.13.1 version that was nicely updated on Fedora 11 some weeks ago. Many thanks to PiTiVi developers again, it was very easy and quick to use (in our previous talk we use mplayer -ss XX:XX -endpos YY to cut clips from the movies so, again, it's a big step forward)
- For remote controling the presentation we used Valerio Valerio's bluemaemo installed on my Nokia N800. I had to install maemo Chinook SDK and recompile it because there were only binary packages for Diablo and my N800 was not flashed with the firmware. I had to manually connect N800 to my laptop using hidd --connect because gnome-bluetooth applet was not able to connect to is as a input device. Bastien, I promise to look at it soon. This was a step-back from our Birmingham talk, because I didn't find my CordLess Presenter, which have nicer buttons than the N800 touchscreen
- To start playing videos I bind a key on the laptop to a custom shell script. The script just read from an index all the videos, and play the first one not yet played. For playing videos I considered first using totem, but startup time was not fast enough for a smooth experience. I tried then mplayer, however after the first 0.2 secs of video it stoped another 0.3 secs, so it wasn't an smooth experience either. After some basic debuging I realized that the problem was with the sound. Killing pulseaudio, a moving to real Alsa audio fixed this problem (I don't really know if it is pulseaudio or mplayer fault).
Some people also asked me about the song we used to test audio and video in the room. It was
Amelie-les-crayons singing Elizabeth: (click on the image to watch the video)
[
17:25]
|
Permalink
|
7 comments
Mon, 06 Jul 2009
GNOME 1,2,3
Click on the image to see the teaser
[
03:42]
|
Permalink
|
0 comments
Wed, 10 Jun 2009
Gran Canaria Desktop summit Teaser contest
We at Onirica considered sponsoring Gran Canaria Desktop summit. However it was too expensive for us (hopefully we can make it next year!). So this is our little contribution:
Gran Canaria Desktop Summit Teaser ContestRules are simple:
- Create a video promoting Gran Canaria Desktop Summit, GUADEC 2009 or Akademy 2009
- Upload it to a public video site
- You can blog about it, but make sure that you send an email to gdsteaser@onirica.com
- You can submit any number of videos until 26th June 00:00 GMT
- In 27th the jury (composed by Onirica employees and two semi-professional movie-makers) we'll announce the winner
- The prize for the winner is 100 EUR to be spent on amazon items
I created one video myself using
GIMP:
GUADEC 2009 Teaser 1, that is, of course is out of competition :).
So go and create your teaser videos!
[
00:52]
|
Permalink
|
0 comments
Wed, 03 Jun 2009
Back to Onirica
Since last March I'm not working anymore al Novell. The good news is that I'm working back at my own company: Onirica:

We founded it about ten years ago and we had lot of nice experiences and projects related to Open Source technologies. Around 2004, as we were a quite small company, we decided to move on and get some experience working on others big companies. That's how I worked at Tecsidel (where Carlos joined later), Nokia (with some really amazing guys, you know all of them) and Novell (with also lot of amazing people). Now I have decided to get back to Onirica, using all the experience we have adquired in our Open Source involvemnt to offer development, consulting and traning services. Currently we are working on a project with CENATIC designing and developing an "Open Source Desktop applications development" course. I'll keep you soon updated about this exiting project.
[
16:21]
|
Permalink
|
0 comments
Tue, 16 Sep 2008
Pluton Verbenero
Finally your dreams come to true. Don't miss it.

Click on the image to visit Alex de la Iglesia blog about Pluton Verbenero, the first spanish Sci-Fi sitcom
[
21:02]
|
Permalink
|
1 comments
Thu, 22 Nov 2007
Mono summit in Madrid
Mono Summit in Madrid is approaching. Let me share with you some small and random tips&tricks about Madrid social-cultural life:
Art. If you are interested in art and paintings, you probably want to visit the 3 main musseums in the city:
- Museo del Prado: Classical art, one of the most relevant Pinacothecas in the world. Could be a little bit crowled because the renovation and the nice exhibition about Velazquez
- Museo Reina Sofia: Modern art, stuff like Picasso, Miro, Dali, Gris, etc... Also a very interesting building
- Museo Thyssen-Bornemisza: small but perfect collection
Monuments. Madrid doesn't have many relevant monuments like other cities in Spain (Toledo, Salamanca, Granada), but if you like them, you can visit Palacio Real, hang aroung Plaza Mayor, Puerta del Sol, etc...
Food. Spanish food is famous over the world, and of course in Madrid you can find almost every kind of nice food. You'd probably enjoy eating "tapas", the location of the summit is a nice area for "tapas", but also the very-close area "La Latina". If you are looking for a very nice restaurant, I'd suggest you
Casa Lucio for tipical spanish food (you'd need a reservation) and Kabuki for the best (about 60 EUR pp.) Sushi in town.
Going out. Welcome to Madrid, the city that never sleeps. If you want to enjoy Madrid night life just go the area that better matchs your musical tates: Malasaña if you like rock and underground music, Huertas for more commercial and posh pubs, La Latina if you are looking for a relaxed ambient and Chueca if you want to try out the gay night life.
Music. There is no opera performances at Teatro Real during the summit, that is a pity, and National Auditorium is closed until February, so not good chances for a nice classical music evening. About rock, the more relevant concert is the Boss on 25th but there are no more tickets availabe. You can check for more
rock concerts. For jazz lovers there are
hundred of concerts during the summit, in small venues/pubs, I'd suggest you Chano Dominguez at Clamores and Chucho Valdes in the same venue.
Shopping. For luxury brands you should check Barrio de Salamanca area around Calle Serrano. If you want more trendy clothes hang around Fuencarral street and Chueca. If you need want to buy some music or computer supplies the best option is fnac in Calle Preciados.
Sports. Real Madrid doesn't play home during the summit, so your only option to watch spanish football (or soccer) is to visit Vicente Calderon stadium to watch Ateletico de Madrid in action.
If you have any question, specific interest about something in Madrid, drop me an email, fherrera at onirica dot com.
[
17:16]
|
Permalink
|
2 comments
Wed, 14 Nov 2007
Madrid and Moonlight
I'm back in Madrid. Last 30th October I spent my last minutes in Helsinki, in the same hotel everything started. After more than one year and a half I left nokia and Finland. Reasons are mostly personal and related to quality of life, but some kind of violence and a company driven by panic modes didn't help. I left there very good friends and awesome people, special kudos to the three letters gang: xan, tko, and mdk.
Now I'm living in the very heart of Madrid, enjoying great food, nice weather and plenty of cultural and social life. Yesterday I started a new job at
Novell working in the
moonlight team. I'm really excited about this great team and new technology. In an image:
[
00:21]
|
Permalink
|
8 comments
Sun, 30 Sep 2007
And breakpad is almost here
This week I went insane while debugging some obscure crash in ARM + glib + logging + threads. Finding this kind of stuff on glibc scares me:
/* Atomic compare and exchange. These sequences are not actually atomic;
there is a race if *MEM != OLDVAL and we are preempted between the two
swaps. However, they are very close to atomic, and are the best that a
pre-ARMv6 implementation can do without operating system support.
LinuxThreads has been using these sequences for many years. */
at least, it's documented :)
On the other hand I got enough energy for some very low-level hacking and finally got DWARF2 symbols dumping for breakpad/bug-buddy minidumps! The bad news are that it's a
_ugly_ hack on top of valgrind code, trying to de-valgrinize (and bastardazing it while doing it). However it works, and should be enough for our target in GNOME for having rich backtraces coming from people without debugging symbols and enriching them in the debug server. Also the socorro server is prepared for deployment with our (GNOME) custom modifications and nice and beautiful features:

Did I hear eye-candy? transparency? No, this is just about reading the _real_ code crashing :)
Here are the bits:
git-clone http://www.gnome.org/~fherrera/dumper.git
git-clone http://www.gnome.org/~fherrera/socorro.git
git-clone http://www.gnome.org/~fherrera/bug-buddy.git
Currently, if you want to test it you'd need to point bug-buddy to my home server or if you are brave enough, run your own socorro collector. Ah, I also started using git :)
Finally the last open issue to get all of this working are the
package collectors: a simple piece of code that has to:
- Download all packages from a distro
- Check for updates and download them
- Extract binaries from those packages onto a temporal directories
- Feed those packagers to our symbolsuplier
And that's all. I'll probably start working on a RPM based one this week, but of course all your help is highly appreciated
[
17:27]
|
Permalink
|
5 comments
Tue, 11 Sep 2007
And all that jazz
Just reading planet and mailing lists these days...:
git filter-branch --subdirectory-filter directory refspec
git clone --no-hardlinks /tmp/gtk2-perl Gtk2-SourceView.git
git tag -f -d ${TAG}
git filter-branch --subdirectory-filter Gtk2-SourceView HEAD
git reset --hard
git gc --aggressive
git prune
git-svn clone svn+ssh://username@svn.gnome.org/svn/modulename/trunk modulename
git-svn rebase
git checkout -b mybranch
git merge --squash mybranch
git-svn dcommit
Liz: clone!
Annie: filter
June: squash
Hunyak: hard tag
Velma: checkout
Mona: rebase
He had it coming
He had it coming
He only had himself to blame
If you'd have been there
If you'd have seen it
I betcha you would have done the same!
[
16:38]
|
Permalink
|
0 comments
Fri, 17 Aug 2007
Fantastic
When I was child I read a lot of comics books, tons of them. I started doing my first budget managment figuring out how many monthly series I was able to afford. At that time I was mostly a Marvel fanboy, following all those series about mutants, avengers, etc... One of my favourite one was Fantastic Four. I read and re-read those comics by John Byrne and Walt Simonson. My favourite between the Four was Reed Richards, Mr. Fantastic. I love his scientific approach to live and when fighting against super-villains. At that time I could never even dream about Mr. Fantastic using one of projects I have been working on as one of his gadgets/inventions:
- "Come on!, Fer! this is a product placement issue."
- "Yeah, and superheroes don't exist."
[
13:24]
|
Permalink
|
2 comments
Thu, 19 Jul 2007
Clutter presentations with pdfs and smashing your laptop.
Half an hour of hacking with arc. Nice clutter API, nice opt presentation toy, nice poppler-glib API and all's done. Click on the image to view the viedeo :)
[
17:54]
|
Permalink
|
11 comments
Tue, 17 Jul 2007
Epiphany running webkit
When these people get lunch toghether:

Things like this happens:

Epiphany with webkit-gtk. I love GUADEC
[
19:43]
|
Permalink
|
14 comments
Wed, 13 Jun 2007
Lagrimas Negras
Aunque tu me has dejado en el abandono,
aunque tu has muerto todas mis ilusiones
en vez de maldecirte con justo encono
en mis sueños te colmo,
en mis sueños te colmo
de bendiciones.
Sufro la inmensa pena de tu extravio
siento el dolor profundo de tu partida
y lloro sin que sepas que el llanto mío
tiene lagrimas negras,
tiene lagrimas negras,
como mi vida.
Tu me quieres dejar,
yo no quiero sufrir,
contigo me voy mi santa
aunque me cueste morir.
[
03:57]
|
Permalink
|
5 comments
Mon, 19 Feb 2007
Helsinki and maemo stuff
It has been 9 months since I moved to Helsinki (con mi pequenia maleta de carton): like a pregnancy. Just listen to Tom Waits Helsinki mood song from One from heart's SoundTrack (am I the only one that hates the new imdb.com interface?). Complain about food, complain about people not saying hello in the lift, complain about how hard is to go out when it's -27 Celsius degrees outside, complain about taxes. Then listen to Dalida's cover of Besame mucho, and then to Extremoduro's Jesucristo Garcia.
At OSSO/nokia/maemo we are doing lot of cool stuff. Finally we are moving the platform to gtk 2.10. Also our Sardine development distribution is getting more and more love (from OSSO people and from the community). Finally, in the Desktop team we are prototyping new ideas/ui/features. Click on the image to watch this video I took last Friday during our Friday Coffee demos:
[
19:36]
|
Permalink
|
8 comments
Mon, 11 Dec 2006
Cairo, Pango and my new heroes
I have lot of new heroes.Xan is like a detective, like Sherlock Holmes. Last week he used a new fancy tool (xtrace) to figure out why the Xserver was taking more time to render glyphs coming from pangocairo than from pangoxft. Then, this morning, Behdad, one of the most popular GNOME heroes just fixed the thing. This heroes list also includes, of course, Mr. Carl Worth (conducting the whole cairo as a perfect symphonic orchestra), Daniel Amelang (improving performance for non-FPU hw) and Pachi (Improving tessalator). Click on the image below to read Xan's blog:

Please, stop requesting
jdub to add
Xan's blog to
Planet GNOME. We all know that he still needs a cool hackergotchi. Ah,
tigert promised one as cool as the
Alex Graveley one
[
15:23]
|
Permalink
|
2 comments
Tue, 28 Nov 2006
Everything You Always Wanted to Know About your bugs But Were Afraid to Ask
Today I implemented a great idea from Federico: Helper to collect more info in bug-buddy. Just add
X-GNOME-Bugzilla-ExtraInfoScript=myscript
to you .desktop file or a
bugzilla:extra_info_script
entry in your .server file. When you application crahses bug-buddy will include the output of that script into the bug report. Some nice information that some applications would like to know:
- Totem: output of a typefind gst pipeline over the current playing media file
- gnome-volume-control: list of alsa devices
- Add your most wanted info here!
We are already telling the user that the data he is submiting could include some personal information and we are requesting him to review it, however we should never collect sensitive information as emails contents, contact lists, etc..
[
21:56]
|
Permalink
|
1 comments
Sun, 26 Nov 2006
Travels music, friends and some more stuff
After coming back to Chile I went for a weekend to Berlin. My friend Luis is living there and also Mario did a little trip from Köln to Berlin. The funny thing is that it was supposed to be a surprise for Luis, but they parents were visiting him _the same_ weekend. So finally we managed to get dinner and stuff all togheter. The surprise for me was that Diamanda Galas was singing (she tours rarely) that Saturday on a church at Berlin!. We mamaged to get ticket, and I enjoyed it very very much. Quite impressive to see/listen to her live.

I am really proud of my friend Luis Carlos: he is hacking a wireless driver for the linux kernel for OLPC.I still remember when we went to Seville Guadec and our hacking action at Eurielec
During this week I had a severe sleep disorder, ending with this Friday not being able to sleep until 8 or 9am and then waking up at 17pm without hearing the alarm clock. Really bad :(
Finally I went to Tallinn on Saturday/Sunday. I really love that city. Nice coffeshops, nice shopping, nice restaurants and good Sushi!
No, the ending was the song of the week: Coin, Operated boy by Dresden dolls.
[
19:35]
|
Permalink
|
1 comments
Fri, 10 Nov 2006
Encuentro Linux Chile, Talca
We are having nice talks and hacking sessions here in Talca. I did yesterday my presentation about GNOME past, present future. This evening g mariano is talking more about GNOME projects.On Saturday, during the GNOME day I'll talk about maemo. Nice people, nice place and nice food.
[
15:32]
|
Permalink
|
4 comments
Mon, 06 Nov 2006
Gtk+ performance
Xan has been measuring gtk+ performance on ARM using some different gtk+ flavours:
- maemo-gtk (2.6)
- stock gtk+ 2.10 + stock cairo
- gtk+ 2.10 patched to use XFT for text rendering
- gtk+ 2.10 + cairo patched to use the magic number tecnique for the fixed_from_double
Interesting results. Read it:
Gtk+ Performance Measurement (I)
[
16:52]
|
Permalink
|
0 comments
Sun, 29 Oct 2006
Scripting your desktop with dogtail
Today I was preparing some slides for my upcoming talks at 7th Encuentro Linux 2006 in Chile. I had planned to use some music in sync with some slides. However embbeding music in OpenOffice Impress is not easy. Also I'd prefer to use a PDF with evince in presentation mode. Solution? Using evince for display slides and totem for playing the music, both syncronized using a dogtail script. Here are the fundamentals:
Guess what page evince is displaying from:

If the page has changed, check in an array if the new slide has music. If no music associated, press pause button on totem. If music associated, search totem playlist for the song and press play button. That's all: 30 lines of python where you can embbed your music array:
#!/usr/bin/python
import gtk
from dogtail.tree import root
music = {}
music['3'] = '03. Nina Simone - Pirate Jenny'
music['5'] = '04-raimon - diguem no.mp3'
current = '0'
def check_music():
global music, page, play, totem, current
if current == page.text:
return True
else:
current = page.text
if music.has_key(page.text):
entry = totem.child(roleName='table cell', name=music[page.text])
entry.doAction('activate')
if play.name == 'gtk-media-play':
play.click()
else:
if play.name == 'gtk-media-pause':
play.click()
return True
evince = root.application('evince')
toolbar = evince.child(roleName='tool bar')
page = toolbar.child(roleName='text')
totem = root.application('totem')
play = totem.child(name='gtk-media-play')
tag = gtk.timeout_add (500, check_music)
gtk.main()
Next improvement would be adding a gui for creating playlists, associating PDF presentation and slides, lauching evince and launching totem with the created playlist
[
11:55]
|
Permalink
|
3 comments
Mon, 28 Aug 2006
dyckola: bye bye
Last Thursday I was watching a really bad spanish movie on my computer when it just died. No power up, so I though that it was a problem with the power suply or the motherboard. It was a really old computer: 1998. I upgraded it twice, with a new hd and later, two years ago with an old motherboard/micro that my friend Luis Mago gave me. So it was a good time to buy a new desktop computer. On Friday I went to verkkokauppa, a computer store very close to Nokia NCR in Helsinki, with moi. So on Saturday morning I set up my new computer, with a very big surprise: my old hard disk was also dead. Only a little bit of noise on power on, and nothing, no more. Everything lost: my music, my documents, my writtings, my pictures... 8 years of stuff. It is a big coincidence, because some days ago Jesus warned me about hard disk failures, so I bought a dvd writer for doing backups. But I got this lumbago pain so I delayed the dvdrw instalation a few days...and then it died! :(
The instalation of the new machine was funny, I got a asus motherboard with the JMB363 SATA chipset. None of my on-cd distros (thanks Novell for the SuSE boxes) recognized this chipset, and the DVD drive was not functional. I googled a bit, and I needed some brand-new kernel to make it work with the all-generic-ide param. No luck. I tried Fedora Core 6test2 with a pretty kernel panic. I need to hack a little bit to get a Fedora rawhide 2.6.17-1.2586 kernel booting on my machine and inside a bootable CD. After that I tried to do a network installation. FTP failed a lot, so I finally got the minimal installation with HTTP.
Now it's time to try to recover all my data from the dead hd. So, lazy web:
Do you have any experience with data recovering companies?
It's a 120 GiB HD with 7 ext3 partitions. Something giving me the full data on DVDs and not very expensive would be great. If you can recommend me any company it would be great.Thanks!
[
03:04]
|
Permalink
|
3 comments
Sun, 06 Aug 2006
Wireless music at home
Yesterday I assembled my new IKEA desk. It's nice to have my computer again on a desk :). In Madrid I used to connect my computer audio output to my Hi-Fi system to be able to listen to my mp3/ogg/flac music on the living room with a long RCA audio wire. However that is not anymore possible in my new apartment. I though about some other solution to play my music. First I considered buying an Apple Airport Express: 130$. Then I realized that I already have a gadget with wireless and audio output: my Nokia 770 so let's code it!.
- First I need a music server: after some web crawling tangerine was the perfect piece of software, quick, easy and just works.
- Then I needed some DAAP client code for the 770: python-daap looked great, so I could write a quick 770 python player.
- I did some local testing on my computer and I had to hack python-daap to connect/disconnect after each request, because downloading more than one song was failing: ugly hack for python daap
- Finally a quick and dirty test player in python for the 770, based on the Muine idea: Add -- Play/Enqueue
So after ~200 lines of python I got it:

My Hi-Fi system with the 770 connected wih a jack2RCA wire

Main play window

Add Song window
Here are the files:
Currently DAAP server address is harcoded and stop button is not working, so there is lot of stuff to do:
[
16:23]
|
Permalink
|
3 comments
Mon, 26 Jun 2006
Hacking at GUADEC
Really nice GUADEC week here in Vilanova. Interesting talks and meetings. Of course, lot of party and hacking. Yesterday, with the help of Lorenzo Gil I added support to pygtk to report a bug with bug-buddy when an exception happens. Today Arturo, Antonio and me hacked a little application using the hdaps driver for IBM sensor to do funy things with compiz: gtollina.c: (click on it to watch the video)

Notice that this is version 0.1 (Codenamed "Lorenzo nos va a hacer un Gazpacho en la GUADEC")
[
16:39]
|
Permalink
|
30 comments
Tue, 13 Jun 2006
New country, new job, new team
Last Wednesday I arrived to Helsinki. I have joined nokia for working in the maemo team:

Simplified Bug Buddy usgin XML-RPC
Finally with the great help of Brent Smith and Olav Vitters we have a flamant bug-buddy 2.15.0 out of the door. It now makes really easy for the user to submit a bug (crash) report and no long need a sendmail installation working.
[
17:49]
|
Permalink
|
0 comments
Mon, 24 Apr 2006
Encoding videos for Nokia 770 with GStreamer
Recently I have been traveling a lot. I use to sleep during train/plane/bus travels, but it is not always possible. Also recently I began to watch some TV shows that some friends of mine recommended to me:
So in my travels, when not sleeping it great to watch some of these tv show on my
Nokia 770. I was using some scripts based on mplayer or ffmpeg to transcode them to a suitable format for the nokia, but as I wanted to use
GStreamer I hacked some bits:

It is an small gst-python application, but if you want to use it, you need some more bits:
- As nokia770 currently only supports avi, 3gp, mpeg and rm cointainers, you would need the upcoming port of avimuxer to gstreamer-0.10. The patch is for bug #332031, however you current n770 player only wants to demux avis containig "DIVX" fourcc on the avi header. When using mencoder, ffmpeg or transcode there are some hacks to force this fourcc (-ffourcc DIVX for mencoder, -vtag DIVX for ffmpeg or using avifix -F DIVX for transcode). So I added this hack too to this upcoming avimuxer. here is the combined patch against gst-plugins HEAD
- Also there is a bug on gstreamer videoscale that doesn't allow you to specify only one of height/witdh and get the other one generated to maintaing pixel-aspect-ratio: bug #338991. However I need to hack again the patch to get it working and also for maintainig both height and witdh being multiple of 16. Of course these size adjustements could be calculated on the transcoder application, but I wanted to use only a simple decodebin without worrying at all of the input file. So here is the combined patch against gst-plugins-base HEAD
Finally here is the python script:
gnome-nokia770-encode.py. The UI is HORRIBLE, I just cooked it in some minutes, and the idea is that someone wanting to play with pygtk improve it. Here are some ideas:
- Make a decent visual design
- Use gnome-python thumbnail factory to get the thumbnail of the video
- Add support for command-line options so it could be also a non-interactive script
- ...
Send patches!!!.
Many thanks to
Thomas, Tim-Philipp Mueller and the other guys on #gstreamer for helping with my dumb questions about gst :)
Update:I forgot to mention that also another patch is needed for making the transcode. It fixes a videorate bug which creates an infinite loop when changing fps: bug #339013
[
12:16]
|
Permalink
|
0 comments
Sat, 08 Apr 2006
RAD in GNOME: We got it
In 1997 Miguel de Icaza and Federico Mena started the GNOME project. We got GNOME 1.0, then we got an usable and accesible Desktop with GNOME 2.0. Recently we got a GNOME 2.14, a desktop that my mum can use. Now, with the release of MonoDevelop 0.10 we finally got Rapid Application Development in GNOME:
- Open MonoDevelop
- Create a new project
- Add some widgets to MainWindow
- Add Handlers for events
and you got it, just in 3 minutes:
[
08:25]
|
Permalink
|
1 comments
Wed, 22 Mar 2006
ETA announces permanent ceasefire
[
13:28]
|
Permalink
|
0 comments
Mon, 20 Mar 2006
Xara LX
Xara LX source code has been released under the GPL!. They claim great perfomance of their drawing engine: 2x compared to Microsoft GDI+ and 4x with cairo 1.0. They have release nice docs too. Altough the graphic engine (CDraw) source code has not yet been released "Xara intends to release these under the same license as the remainder of the Xara LX program". So great news.
[
11:38]
|
Permalink
|
2 comments
Tue, 14 Mar 2006
GNOME 2.14 Relase party
Woops, I didn't forget it....Here we are again! New GNOME, new party! Tomorrow GNOME 2.14 will be launched with lot of new features and improvements, so kudos to all developers and people that made this possible!. Now to celebreate it let's party tomorrow or during the weekend. To organize or join a local Release party visit the Gnome214Party wiki page.
[
09:14]
|
Permalink
|
0 comments
Thu, 09 Mar 2006
Phobia
A long time ago, my friend Ismael asked me for pubs and clubs for going out at night during a Hipalinux congress, so I updated a guide I wrote several years ago for my friends in Madrid. Ismael published this guide as Madrid de Noche. As google love open source freaks this guide became popular in google, and as my email address was on top of it I got lot of emails for people interested on Madrid night life: people just visiting Madrid, people making company parties, DJs from Argentina looking for a new job in Madrid, etc... I have touhght several times to make a cool portal/personal web page about this stuff but I have been really busy last years. Maybe now it's time to do it. In the meantime I got an email from a pub I used to go often asking me to update the guide Ismael published to link to their web site. So here is it:
Phobia
Also I'm back from my long trip to Buenos Aires, Uruguay and Lisbon.
[
20:58]
|
Permalink
|
0 comments
Mon, 06 Feb 2006
New bug-buddy: less is more
Thanks to the great Olav we have XML-RPC on GNOME bugzilla (testing version). So I finally committed to an experimental branch the new bug-buddy "less is more":
- No more application/product/component selection
- No more long descriptions
- No more mostfreq stuff
- No more gdb pages
- No more save report
- No more sendmail at all
Just catch the crash, get the info and send it. The remaining issues are:
- Should we ask the user what was he doing during the crash? (Windows and other reporting tools are not doing it)
- Should we ask email address to the user?
Click on the image below to see a gif-screencast of it in action:
[
16:36]
|
Permalink
|
0 comments
Sat, 14 Jan 2006
Playing with webcam
Ross: Maybe you want:
gst-launch-0.10 v4lsrc ! video/x-raw-yuv,width=352,height=288 ! ffmpegcolorspace ! tee ! xvimagesink tee0. ! theoraenc quality=8 ! oggmux ! filesink location=test.ogg
magic
GStreamer pipeline to view and record webcam feeds. I'm playing a bit with
GStreamer to make a stupid webcam application for taking funny pictures with deformation effects (like those you can see in a "House of Mirrors" or
apple's isight):

Currently I have only the main skeleton for multiplexing video and appliying custom filters to it. I have ported lens effect from
effectv to gst and parametrized it little bit. Lot of fun to hack on optical and math stuff.
[
07:11]
|
Permalink
|
3 comments