jeudi, décembre 18 2014

Kernel hacking workshop

As part of our "community" program at Collabora, I've had the chance to attend to a workshop on kernel hacking at UrLab (the ULB hackerspace). I never touched any part of the kernel and always saw it as a scary thing for hardcore hackers wearing huge beards, so this was a great opportunity to demystify the beast.

We learned about how to create and build modules, interact with userspace using the /sys pseudo-filesystem and some simple tasks with the kernel internal library (memory management, linked lists, etc). The second part was about the old school /dev system and how to implement a character device.

I also discovered lxr.free-electrons.com which is a great tool for browsing and find your way through a huge code base. It's definitely the kind of tool I'd consider re-using for other projects.

So a very a cool experience, I'm still not seeing myself submitting kernel patches any time soon but may consider trying to implement a simple driver or something if I ever need to. Thanks a lot to UrLab for hosting the event, to Collabora for letting me attend and of course to Hastake who did a great job explaining all this and providing fun exercises (I had to reboot only 3 times! But yeah, next time I'll use a VM :) )

kernel-workshop.jpg Club Mate, kernel hacking and bulgur

vendredi, novembre 8 2013

Building a single GNOME module using jhbuild

I often see new contributors (and even seasoned hackers) wanting to hack on a GNOME module, say Empathy, trying to build it using:

jhbuild build empathy

This is obviously correct but asks jhbuild to build not only Empathy but also all its dependencies (62 modules) so you'll end up building most of the GNOME stack. While building a full GNOME stack may sometimes be useful that's generally not needed and definitely not the easiest and fastest way to proceed.

Here is what I usually do.

First I make sure to have installed all the dependencies of the module using your distribution packaging system. This is done on Fedora using:

sudo yum-builddep empathy

or on Ubuntu/Debian:

sudo apt-get build-dep empathy

If you are using a recent distribution, there are good chances that most of these dependencies are still recent enough to build the module you want to hack on. Of course, as you are trying to build the master branch of the project some dependencies may have been bumped to one of the latest developement releases. But first let's try to build just Empathy.

jhbuild buildone empathy

There are good chances that some dependencies are missing or are too old, you'll then see this kind of error message:

No package 'libsecret-1' found
Requested 'telepathy-glib >= 0.19.9' but version of Telepathy-GLib is 0.18.2

That means you'll have to build these two libraries in your jhbuild as well. Just check the list of depencies of the module to find the exact name of the module:

jhbuild list empathy | grep secret
jhbuild list empathy | grep telepathy

In this example you'll see you have to build the libsecret and telepathy-glib modules:

jhbuild buildone libsecret telepathy-glib

Of course these modules may have some extra depencies on their own so you may have to do some iteration of this process before being able to actually build the module you care about. But, from my experience, if you are using a recent distribution (like the latest Fedora release) the whole process will still be much faster than building the full stack. Furthermore, it will save you to have to deal with build errors from potentially 62 modules.

vendredi, avril 12 2013

Atelier Git ce mercredi 17 avril

J'animerai ce mercredi, dans le cadre du hackerspace de l'ULB, un atelier sur le système de versioning Git.

Le contenu exact de l'atelier n'est pas encore arrêté mais devrait être accessible à toute personne ayant peu d'expérience avec Git. Selon le temps disponible et le niveau des participants, on abordera peut-être des fonctionnalités plus avancées, mais il y a de bonnes chances que celles-ci soient plutôt étudiées lors d'un atelier futur.

Si le sujet vous intéresse, vous êtes les bienvenus (inscription optionnelle mais appréciée).

lundi, septembre 17 2012

GNOME 3.6 Brussels party

Next week GNOME 3.6 will be released upon the world. That's the perfect excuse to meet the day after the release (Thursday 27th) and share some beers together. All the infos are on the wiki.

lundi, juillet 30 2012

Empathy BoF at GUADEC

I'll lead an Empathy BoF session tomorrow (Tuesday) from 4 to 6 (room 2.2a) feel free to show up if you are interested about the recent redesign work we have done in Empathy and our plans for the future.

Btw, a bunch of people have asked me about two annoying Telepathy issues:

 * GTalk contacts not showing up. That's actually a telepathy-glib bug which has been fixed in 0.18.2. If you are running F17 you can upgrade by grabbing the package from updates-testing: yum --enablerepo=updates-testing update telepathy-glib
 * Not being able to chat with 'People Nearby' contacts. Turns out that's because of Fedora's stupid firewall blocking incoming connections; disabling the firewall should make you reachable with Salut.

vendredi, juin 15 2012

New Empathy contact list

I've been working for a while implementing a new Empathy contact list and I'm happy to announce that this work just reached master! It's based on a brand new design from Allan; I'm pretty happy with the result as it looks pretty similar to the mockups.

This new contact list has been implemented using Alexander's awesome EggListBox. This new GTK+ container has been extracted from Contacts to its own git repository to be easily usable by other applications using git submodule or subtree. If you've ever cursed at GtkTreeView for being such a pain to use you should really give it a try. It's a delight to use: you can pack any GtkWidget in it and so don't have to use GtkTreeModel and GtkCellRenderer any more.

New Empathy roster - no group

One of the goals of this new design is to unify the way contacts are presented to users across the whole GNOME desktop, which is why it looks pretty similar to Contacts. We also wanted to make it look 'cleaner' so presence statuses are now only displayed if the contact explicitly defined one. Groups have been disabled by default as most users don't really use them (they are not as useful as they used to be as you can quickly find any contact using the integrated live search) but can easily be re-enabled in the preferences dialog.

A very nice feature of this new roster are the 'top contacts' which are always displayed at the top of the contact list. It contains the contacts you tagged as 'favourite' but also the contacts you to talk most often. This is done using Folks's Zeitgeist integration[1].

New Empathy roster - groups

I want to thanks all the people involved especially Alexander for his help with EggListBox, Allan for his design, Seif for the Zeitgeist integration, Danielle who reviewed my code, Intel who funded parts of the Folks and Zeitgeist work and of course Collabora who sponsored most of this work.

Notes

[1] It's actually disabled atm as we are waiting for a Folks release which should happen soon

lundi, avril 16 2012

GNOME 3.4 Brussels party this Thursday at 'Chaff'

GNOME 3.4 has been released since a short while and we didn't find the time to properly celebrate it here in Brussels. It's time to fix this critical mistake and so I'm glad to announce the GNOME Brussels Beer 3.4 party this Thursday. Feel free to join us if you're around and want to share some beers with us.

lundi, janvier 16 2012

GNOME Beer event at FOSDEM 2012

Despite what some stats may say, my biggest contribution to GNOME is not in bugs or code but in the organization of beer related events!

So I'm pleased to announce that, like each year, we'll have a GNOME Beer party on the Saturday night of FOSDEM (4th Feb). People seemed happy of the location of last year, so we decided to stay at "La Bécasse" in the city center. Feel free to add yourself to the wiki if you are planning to attend.

See you at FOSDEM!

mardi, septembre 27 2011

Calling phone numbers in GNOME 3.2

One of my favourite feature of my N900 is the ability to very easily call a contact using my SIP account. Calling phone numbers in Empathy through SIP is possible since a while using the New Call dialog but you have to enter the number manually which can be annoying. Thanks to Folks's evolution-data-server backend, GNOME 3.2 will allow you to very easily call contacts from your address book!

First step is to mark a SIP account as being able to call phone numbers. We added an option for that in the accounts dialog.

accounts-dialog.png

Then if an IM contact is linked to an Evolution one having at least a phone field, you can call him from the contact list! Soon you should be able to call IM contacts publishing their phone numbers in their personal personal info as well.

empathy-call-phone.png

You can also call any contact using gnome-contact directly; just click on the phone icon next to the phone number.

gnome contacts

This is pretty cool because thanks to gnome-shell's contact integration it's now easier than ever to call a contact. Just search for him in the Shell overview and then start the call from gnome-contacts. That's the kind of integration we were aiming for when we started the Telepathy and Folks projects and it's great to see that we are finally getting there!

jeudi, septembre 15 2011

GNOME Brussels Beer 3.2

It's been a while since our first beer event and the GNOME 3.0 release party so I'm please to announce that the GNOME Brussels Beer 3.2 event will be the 22th Sept (next Thursday).

As you can see I synced the version with GNOME releases as a I think it's a good idea to have at least one per release. :)

So if you're around, feel free to add your name on the event page and join us!

See you there!

lundi, août 29 2011

Shiny new UI in Empathy 3.2

One of our main goals during this developement cycle was to continue improving Empathy's user experience by re-designing different parts of the UI. To do so our Empathy team at Collabora worked closely with designers from the awesome GNOME Design Team.

The log viewer has been completely re-written based on an original design from Matthew Paul Thomas (Canonical). As you can see, this new log viewer now displays calls and offers different options to easily search through the mass of logs.

Empathy 3.2 will also introduce a whole new experimental user interface for audio and video calls designed by Nick Richards (Intel). The new UI is based on Clutter and allows users to select the webcam and microphone used during the call, move the video preview around, etc. It should also gain support for video effects once Raluca finishes integrating her work with Nick's design. This new UI will be optional in 3.2 as it relies on new Telepathy API but will definitely become the default as soon as those API are stabilised.

Not actually me

I have to say that working closely with designers is a really enjoyable experience. It's good to have people to ask to when we are unsure about the best way to present a feature or an option to users. I'm really looking forward to continuing to improve Empathy with them.

jeudi, août 11 2011

GNOME IM integration BoF today at 4

As some people have to leave earlier today, the GNOME IM Integration BoF will a start at 4 rather than 5 today. See you there, room 1.204

vendredi, août 5 2011

Desktop Summit schedule on your N900

Thanks to Olivier and Will you can very easily check the full schedule of the Desktop Summit on your N900. Just install the latest version of sojourner and enjoy!

GNOME IM integration BoF during the Desktop Summit

Like 36 other Collaborans, I'm going to attend to the Desktop Summit in Berlin.

I'll lead the GNOME IM integration BoF session on Thursday. It will basically be a follow up of our Hackfest in June so if you are interested into instant messaging integration in GNOME feel free to join us.

mercredi, juin 8 2011

IM, Contacts & Social hackfest

I'm happy to announce that next week a bunch of developers and designers from Telepathy, libsocialweb, Empathy, Folks and GNOME will meet in Cambridge (UK) for the first IM, Contacts & Social GNOME hackfest.

We are going to work on making GNOME a more social desktop. This includes improve IM and contacts integration into the Shell, the new Contact app, the Online accounts panel, etc.

Thanks to my employer, Collabora, for hosting and allowing me to organise this event.

So stay tune next week for more info. :)

mardi, avril 12 2011

GNOME 3.0 Brussels party this Wednesday at 'Chaff'

The GNOME 3.0 Brussels Launch Party will be this Wednesday at Chaff (the same place where we did our first GNOME beer event) from 6:30 pm.

We'll order food around 8 and we'll have a bunch of GNOME 3 goodies to give away.

I know it's pretty short notice, sorry for that, but we had some troubles to find a place. We were initially looking for a place that would have allowed us to do some presentations but didn't find any. Anyway, we'll have beers which is certainly the most important thing. :)

See you there!

mercredi, mars 16 2011

New Empathy icon!

Since its first release, Empathy was using the Telepathy logo as icon.

This icon suffers different problems, the main ones being its look in smaller sizes. Also, 2 blue heads may not be the best way to present an IM client to users.

So, after lot of discussions and different propositions, Empathy has now, thanks to Jakub Steiner, a new icon! As you can see, we now have slightly different versions depending on the size.

I hope you'll like it!

jeudi, février 3 2011

GNOME at FOSDEM 2011

Just 2 days before FOSDEM! Like most years, I helped a bit with the organisation on the GNOME side. So I can already tell you that we'll have stickers and brand new t-shirts available at our stand.

But my most important contribution is certainly the organisation of the GNOME Beer event. The most common complain regarding this event was the massive amount of smoke at La Porte Noire, so we decided this year to look for a new place. It wasn't an easy task as it's pretty hard finding a big enough place having a decent choice of beers and a non smoking policy. But I'm glad to say that La Bécasse fits all these requierements so I'm sure we'll have a great time.

See the wiki for all the details and an extensive FAQ where I tried to reply to most of the questions you may have. If I forgot anything please just ask.

See you there!

edit: humm looking at the top 3 posts of this blog, it seems that my main contribution to GNOME is now organizing beer-oriented events; I'm still not sure if that's a good thing or not...

mercredi, décembre 15 2010

GNOME Brussels Beer : change of place!

So, tonight is the first GNOME Brussels Beer. The good news is, 11 people have planned to attend! That's a lot more that I would have expected, cool. :)

The bad news is, there has been a problem with the place where we initially planned to go. So it's not at La porteuse d'eau any more but at Chaff. Check the wiki for the exact address, but don't worry, it's pretty close to the initial place.

I'm really sorry for this last minute change. I already contacted all the people on the wiki, so hopefully that shouldn't be too much of an issue.

mardi, décembre 7 2010

GNOME Brussels Beer 1.0

We have a ressonably good Belgian GNOME community (for such a small country) but even so we only see each other once or twice per year. In order to try to improve that I'm happy to announce the first GNOME Brussels Beer event which will take place the 15th December[1].

The idea is pretty similar to the London Beer events: meet at some nice place to discuss around some beers (except ours will be proper beers ;).

So if you're around Brussels this day, feel free to join us!

Notes

[1] I know it's a bit short notice, sorry for that. Hopefully the next ones will be announce earlier

- page 1 de 7