Wednesday, April 11, 2007

I'm Back Online

Wow, it's been almost two months since my last post... There have been many happenings in this period which I have written about but were not published. The posts were saved in my drafts just waiting to be blogged. What happened is since I moved to a new apartment, about 5 weeks ago, I had been fighting with my DSL provider trying to have my link working here. Now that it's finally up, I'll be able to publish those posts here:

  • Status of CarMan code refactoring

  • Moving to the new apartment

  • Bossa Conference

  • GUADEC presentation

  • My own N800

  • N800 ports


Lots of news coming. Stay tunned. :)

Tuesday, February 13, 2007

CarMan



Now it is time to talk about that python project I've been working for some time. Carman is a system for accessing on-board diagnostics of any car compliant with the OBD-II standard.

The project is Open Source, LGPL licensed and almost 100% written in python. Basically, it consists in three elements:


  • OBDlib:

  • This is a low level library responsible for the communication between the Maemo device (770 or N800) and the car's OBD system, doesn't matter if it's done by bluetooth or serial port.

  • Gtk+/Hildon UI:

  • This user interface is meant for more precise diagnosis. With it we are able to acquire data from all sensors or just a reduced set, record and play the data, perform tests and read fault codes with detailed description.

  • SDL (PyGame) UI:

  • We call this user interface "Rich View". It is mostly used for Gauges visualization and it is highly customizable via XML.


I'm already working on a complete refactoring of the GTK UI. The code is not too bad for my first python project, but it really can be improved a lot. The project is hosted at maemo garage. So, join the mailing lists and report bugs at will. More information can be found in the project web page.

gconf-editor update

Today i took some time to finish the port of gconf-editor to the Maemo platform. This port was mainly done to help the guys working on Canola to set up the application preferences in an easy and straightforward way.

Gconf-editor is an extremely useful application, but it is not recommended to users that don't know what it is all about. So be careful while changing the configuration values. You've been warned. :)

So thanks to Andrunko for the initial debian package and Osvaldo who uploaded the packages to the extras repository. I'll create the entries in the new maemo application catalog page, but if you can't wait for it, the links for the .install files are the following:



The version is 2.16.0, and I still have to spend some more time on it to polish the patch and submit it to the main tree. But anyway, the source packages are also in the repository.

Finally, there go the screenshots:

  • Running on 770


  • Running on N800


Wednesday, January 17, 2007

Bossa Conference

Last year, INdT started the effort of arranging and sponsoring a conference here in Brazil where would be possible to discuss and find ways to improve the many areas of Open Source Software targeting mobile systems and embedded devices. The idea was to cover as many areas as possible, from the kernel to the User Interface.



So finally the initial idea has turned into reality. The Bossa Conference will be held in Recife from the 12th to the 14th of March. People of many areas, such as bluetooth, VoIP and multimedia have already confirmed their participation in the event.

We are working really hard to make this first edition a huge success. If you got interested, please visit the Bossa Conference web site or drop an email to contact@bossaconference.org. I'm looking forward to meeting you here.

Tuesday, January 16, 2007

Python 2.5 for Maemo has been Released

The INdT team has just announced the latest release of the Python language and bindings for the Maemo Platform. My colleagues have been worked really hard for quite some time to make the packages available and working for both Nokia 770 (Maemo 2.1 "Scirocco") and N800 (Maemo 3.0 "Bora") devices. The main features include:

  • Updated to Python 2.5 version of the core language

  • Updated bindings

  • Added bindings to new Hildon widgets (Maemo GTK+ extension widgets)

  • Improved bindings to OSSO library (access to Maemo-specific services)

Visit the project page at garage and the release notes page for instructions on how to install, convert the existing applications to use the new version and further information.

gconf-editor

Yesterday I took some time to help the guys here porting a really useful application for 770/N800 devices. Hope to be able to release it soon. Scrennshot follows:

Applications on Nokia 770 and N800 Internet Tablets

Now that the Nokia N800 Internet Tablet is officially out, I took some time to test the applications I ported to the 770 on the new device. Some of them worked, some didn't and others didn't even install. Here is the list:

  • Gnumeric Spreadsheet: As far as I could see installed and worked fine. The gnumeric-plugins-extra package won't install due to the missing dependency of python2.4.

  • Evince: Didn't installed. The application manager couldn't some dependency package.

  • Xournal: Installed fine but didn't work at all. I have to check what is going on.

  • Leafpad: Installed and worked fine.

  • Games: All were installed and worked fine.


I have been receiving lots of e-mails and comments in my previous posts about new features in all these applications. So, I'd like to tell everyone that I'm reading and taking note of all requests you've done. Please apologize me for not answering all messages. It's been a really busy moment for me. Also, I would be glad to help anybody who want to implement those features.

So what are my plans?

  1. Keep on releasing latest versions of each of the applications I've already ported and try to make them available for both Nokia 770 and N800 devices. This will be a really big challenge, as every day the dependency list of each application gets bigger and bigger. For example, cairo is not an optional dependency for Gnumeric anymore. So we have to be sure that there will not be too much impact in the performance.

  2. Implement click-to-open functionality for the file types not recognized by the device. For example, open .xoj files automatically in Xournal just by clicking on it in the file manager. The same for other applications, like Gnumeric and Evince.

  3. Help finishing Abiword port. Actually we're almost there. Tomas has already done most of the work but there is some weird crash happening.

  4. Finish Rhythmbox port.


It would be really really great to get a Nokia N800 device for particular use. We do have some of them at our office, but they're shared between everybody here and meant to be used for work purposes only. As others have already requested, I and many others would like to see these devices available for purchase in other places than Europe and North America.

2006 Holidays and Vacation

Last December, I took a two-week vacation near Christmas and traveled about 2500 km to my home city to visit my family and some old friends. It was raining *a lot* over there, so I could spend great moments with them and also take some rest (I really needed it). I hope I can come back there earlier this year.

Already missing my girlfriend, I was back to Recife for the new year party. So we took a 300 km trip by car to Pipa, in Rio Grande do Norte State. Great Time! Party all day and night long during three days...

Wanessa, Me, Patricia, Edgard, Espirro and VéioNew Year Party at Pipa Beach


Ok. That was enough for my vacation period. Next posts will be about my work, Maemo Platform and the brand new N800 device.

Wednesday, December 13, 2006

Getting Started with Python

It's been a couple of weeks since I've started to work on a new project (which I wish I can talk about it soon). One of my tasks involves implementing a GTK+ based UI from scratch, but using Python. I agreed it was time to learn something different of C and C++, mainly because it is (almost) impossible to have RAD using these languages.

I thought it would be a bit more difficult to deal with Python at the first time, but I am really a lucky guy, as we have some python specialists here. These guys, specially osvaldo, have been helping me a lot since I started coding. One nice thing they pointed me was tepache. A really easy way to develop PyGTK applications with Glade.

Until now, my work basically has been design the UI in Glade and testing it inside the Maemo/scratchbox environment and also in the 770. One thing I really liked was the Python code being really platform independent. I created a few classes in the i386 target and just copied them directly to the 770 and the program just worked without any need of recompiling stuff.

I'm really enjoying this new adventure. I've also successfully built the bindings for gconf and gnomevfs as they're not available in the current python distributed with Maemo rootstraps. There's still some work to get the proper debian package built but I'll make them available as soon as they're working fine.

Thursday, November 30, 2006

Canola has been released!


Yeah I know some other guys have already posted about this, but I was unable to do it as I was sleeping while people were working hard to ensure everything was working fine. They've found some issues in the installation process which were quickly solved. It works like a charm now.

Things about Canola I like a lot:


  • Incredibly easy to use UI

  • The wood theme

  • Web configuration tool

  • Canola Home Applet


So big congratulations (and sweet dreams) to the Canola Team (in no particular order): Marcelo, Gustavo, Chenca, Andrunko, Talita and Cidoca for this awesome software. Lets enjoy it!

Thursday, November 23, 2006

Gstreamer Training

Last week Edward "Bilboed" Hervey from Fluendo was here in Recife to give us an advanced training in GStreamer.



We spend five intense days (about 8 hours per day) learning about everything of this fantastic framework, from how to use GStreamer in applications and writing simple plugins to its deep internals, like QoS, clocks, synchronization, segments and so on. We've also found some bugs while trying to implement reverse playback in dvdemux and dvdec. In the end it was a very productive week and on Friday we were exhausted, as you can see in the next picture, taken during the lunch we had celebrating the end of the training.



I ended the training with some ideas of an interesting application using GStreamer. I really hope I'll be able to start it really soon. :)

Wednesday, November 22, 2006

Spreading Maemo Platform (and INdT projects)

INdT crew is really working hard on spreading our commitment to the open source community by showing the projects we participate in various events that occured all around brazilian northearsten region. We gave talks related to our projects regarding Python, VoIP, Gstreamer and specially the Maemo platform. A small summary of some of the events we participated follows:

  • V SEC: Marcio Macedo talked about Multimedia and Mobility in Free Software and my presentation was about the Maemo Platform. The audience (mostly students) was really impressed to see me switching the slides remotely using a Nokia 770 (which was running vncviewer).



  • II EPSL: Marcio Macedo talked about Developing VoIP Applications, Osvaldo Santana presented the Maemo platform and Gustavo Barbieri talked about python language, his Eagle Library and some other examples in Maemo Platform.


  • III FCSL: This time I gave two talks, the first one was the default Maemo platform presentation and the other was about my experience in porting some desktop applications to it. Eduardo Valentin from INdT Manaus office talked about the work he has done building ALSA support to Maemo. Daniel D'andrada, talked about Python in mobile devices such as cellphones and the Nokia 770 and also gave a mini course of python using the scratchbox environment and the Maemo platform. Ilias Biris, also from INdT Manaus gave a talk about testing the Linux Kernel in various platforms. Finally Edgard Lima talked about the gstreamer framework, which he is deeply involved.



  • SEMANASOL: This time Osvaldo Santana gave two talks. The first one was the "default" Maemo Platform presentation and the second talking about Free Software Project Management.


It's kind of weird to talk about such an amazing development platform when we are not able to buy the only compatible device (770) here in Brazil. :(

Thursday, November 16, 2006

Canola Release Date

It's been some days since Marcelo announced Canola release date, but I think it's never too late for it.

Canola will be available for download on november 29th


We just can't wait to get it released!

Thursday, November 9, 2006

More action!

Marcelo has just uploaded another video to YouTube showing Canola in action, but this time accessing a huge shared playlist. You can also see my sharing there ;). The results are quite impressive. Great job guys!

Friday, November 3, 2006

Canola preview video

It's hosted on YouTube. Go for it.



Some discussion can be found in Marcelo's blog.

Wednesday, November 1, 2006

Nokia 770 as a portable media center?

We've been thinking a lot about turning the Nokia 770 device into a pocket-sized media center. What about enjoying all your music, videos and photos anywhere? Well, I can say this is really near to become true. A little bit of its taste can be found in Marcelo's blog. Check it out:

Friday, September 15, 2006

Rhythmbox is near

I'm almost done with Rhythmbox for Nokia 770. I expect to have something by the end of the next week or so. I'm facing some problems specially with mp3 streams over the internet at this moment but it is already usable. Music sharing via DAAP is supported as you can see in the following screenshots:


Monday, September 11, 2006

Yet another bug

This time the bug was in the xournal package. There was availability of "Annotate PDF" but it was not working at all. The problem is xournal uses /tmp to create a temporary directory where it stores a copy of the chosen pdf and calls pdftoppm to convert each page of the document before loading them as background. Taking a quick look at the device partition table:


Nokia770-26:~# df -h
Filesystem Size Used Available Use% Mounted on
/dev/mtdblock4 2.0M 2.0M 0 100% /mnt/initfs
none 512.0k 28.0k 484.0k 5% /mnt/initfs/tmp
/dev/mtdblock4 123.5M 87.0M 36.5M 70% /
none 512.0k 28.0k 484.0k 5% /tmp
none 1.0M 44.0k 980.0k 4% /dev
/dev/mmcblk0p1 60.9M 32.1M 28.8M 53% /media/mmc1


So, I realised that 484 KB in /tmp were not enough for our needs. Just changed the directory to /home/user/.xournal/ and got another issue fixed. Please upgrade your xournal package by refreshing the package list and clicking on "Check for Updates" button in the application manager main window.

Friday, September 8, 2006

Gnumeric Excel Import Bug Fixed

I've finally managed to fix the annoying bug in Gnumeric Excel importer in Nokia 770. Actually I don't know if it was really a bug. Anyway, special thanks to Morten Wellinder for the precious tip.

Users, please try to refresh the package list and then click on "Check for updates" button in Application Manager main window. If this does not work, try uninstalling and installing gnumeric again.

One Bug Leads To Another

I was trying to figure out why Gnumeric excel importer is broken in Nokia 770 version, but then I discovered it is not possible to save in other formats than Gnumeric XML. With a couple of lines, now the save dialog includes a combo box to let user choose which file type he/she wants to save:



So, with this bug fixed, lets keep searching the reason for that former bug. I just whish it would be as easy to fix as the save dialog one.