I finally got back from Switzerland. Google invited all the Summer of Code students to visit their offices. I chose to go to the Zurich one. It wasn’t the closest (London was) but it was the largest and it had more engineers than MBAs.

It has been very interesting meeting other Summer of Code participants from all Europe and a lot of other people of the free software community. There were about 40 people overall for the meeting at Google, along with free beer, cake and nice food.

I gave a talk about Aptitude, how it could be useful and how I worked so far. It was nice to see that nearly a third of the audience used Debian or a derivative.
By the way, the proprietary Nvidia X driver seriously messed up with the projector. It just wouldn’t detect the external display at more than 640×480, which Impress didn’t like at all. I didn’t feel like hacking around my xorg.conf while on stage so I went without the slides (well, you could see about a half of each slide actually). I heard that it was because of my old GPU (GeForce 7400) that I had poor support and the impossibility of, for example, doing RandR correctly. I had to restart X and stuff…
The talk went smoothly otherwise and Google staff graced some of us with a guided visit of the 6 stories building, complete with slides, cable-cars and 18th century-themed rooms. I had to sign a NDA over whatever secrets I may see and surender my DSLR, but you can find pretty pictures in this blog post from Valleywag.
The Google office really lived up to the hype. I wondered: do people actually work in there ? I guess they must do, and very well.

I’m going to the Google Europe Headquarters in Zerich, Switzerland, tomorrow (July 10th).
Google is inviting us Summer of Code students, which is really nice.
I should be there in the middle of the afternoon from Paris.
I’ll be wearing a Slashdot tshirt. Drop me a mail or a comment if you go too so we can meet!
New status update!
Here’s what Aptitude looks like:

(more screenshots after the break)
I’ve been exploring how the APT libraries work and how to interact with the aptitude back-end and here’s what it can do now:
- Update package lists
- Display package lists
- Basic package search
- Mark packages for install/remove/purge/keep/hold
- Display package actions for execution
- Display conflicts
- Display and navigate between package conflict solutions
- Apply them
- Execute package actions (ie. actually install stuff)
What’s missing:
- A real user interface
- Being reliable…
- Packages dependencies, pre-dependencies, etc.
- Hyperlinks between packages
- Advanced package search
- Tags support (tag clouds ?)
- Linking with interesting data sources like popcon
- A lot of interesting things
Basic functions of a package manager are already covered. We’re still at the APT API exploration phase although we’re almost done with it. I will soon start working on the final user interface and the real code design.
The current code is about 2000 lines of hastily hacked together C++ and XML. I’ll have to restart the coding with a more elaborate Object design. Something that will be easier to work with in the future.
The code is on http://dev.graffit.net/aptitude/trac. You can try to compile it and play with it. On the other hand I’m going to scrape most of the code soon for the restart so if you’re bored..
A walkthrough and more screenshots after the break.
Continue reading “State of the Aptitude (week 7)”