On my way to UDS-O

hello there !

long time no blog, I know, it sucks.

anyway, I'm about to board for the ubuntu developer summit which will be happening next week in Budapest and for which I'm sponsored by canonical. I will be working on more mpris goodness for ubuntu, and it will be the occasion to listen to different points of view about the shell / unity mess, (I've been following this mostly through the gnome community) and to see what we can do about it.

I will try to document what happens there as much as possible, as I.ve been kindly asked to do in order to avoid to keep the rest of the community in the dark. (closed doors are bad, right)

so, thanks canonical for flying me there, this is going to be an awesome week.

--

mirsal

MPRIS v2.0 "Better late than never"

Hello,

I would like to announce the release of the second major version of the Media Player Remote Interfacing Specification.

It is a standard D-Bus interface which aims to provide a common programmatic API for controlling media players.

It provides a mechanism for compliant media players discovery, basic playback and media player state control as well as a tracklist interface which allows client implementations to manipulate a short playlist.

This version is an almost complete rewrite of the specification and enumerating the changes would be long and boring.

The new spec is there: http://www.mpris.org/2.0/spec/

The source code is hosted in a gitorious git repository, there: git://gitorious.org/mpris/mainline.git

 - mirsal

Sponsor my part of the work: Flattr this

The Solidays (and how it relates to what we do)

Earlier this summer, I participated in the Solidays as a volonteer.

It is a rather large music festival organized by the french nonprofit Solidarité sida which uses the massive amounts of money gathered there to contribute in trying to solve the HIV/aids problem worldwide.

I like this kind of work not only because it serves a good cause which I feel very concerned about, but because I love the atmosphere found at this kind of events as well: People work together not for personal profit but for a goal which benefits the human kind as a whole, and they do it so the work is enjoyable in itself. (Working with and meeting very nice like-minded people is enjoyable. Seeing that by working together in an almost altruistic way, a few of us can make a 170k-people charity event a success also gives me very valuable hope about what we can achieve, plus we get to see a lot of concerts ;))

This is very close to what motivates people in the free software movement, and wonder why I didn't meet more freetards there.

The past two weeks

The past two weeks were particularly busy ones :  I moved to a new place and I got a bit swamped in client work as a result (by the way, my code is free, and on github even if I highly doubt it will be useful to anyone). I also got myself a n900, putting my little phone-less experiment to an end. Maemo is full of awesomeness, and I only barely scratched the surface yet. Hacking on it promises to be exciting.

My Gtk+ patch was accepted, but I did not have the time to work any more on gnome since then. However, I submitted two minor patches to ubuntu in order to scratch itches and stay in shape.

Hopefully, the coming days are going to be more relaxed and I plan to resume my exploration of GNOME's codebase :)

 

-mirsal

Volontarily shaving the yak

Yak-shaving can be kind of interesting when one's goal is to get her hands in all around a large code base, so I'm doing some, and it is rather fun. I was thinking about how I could add undo/redo capabilities to the empathy chat message input, so I read the code of GtkSourceView and I figured out it could use some gseal love along the way. I then started to remove direct access to GObject public structure members, and I stumbled upon sealed members that had no acessor function (As far as I understand, GtkSourceView uses its underlying GtkTextView's vertical and horizontal GtkAdjustment widgets to detect content overflow in order to compensate the loss of margin caused by the apparition of scrollbars) so I ended up writing a patch against Gtk+ that adds these accessors in order to remove direct access to sealed attributes while exploring the GtkSourceView code to see how it implements its undo stack so I can write something similar in Empathy (now *this* is shaving the yak, isn't it ?).

When Empathy has undo/redo capabilities, GtkSourceView is almost ready for Gtk 3 and GtkTextViews has accessors for its adjustments, I will start thinking about some things I'd really like to become real while continuing to learn with GnomeLove stuff :

* an autonomous music rating system using the Zeitgeist engine to retrieve metadata, playcounts and context.

* a personal publishing system probably using DesktopCouch and CouchDB's peer to peer replication goodness, along with webkit-gtk for live previews.

* The Mathusalem project, which is a framework for applications to make the desktop aware of long running operations (ie: file copy, disc burning software updates, bittorrent downloads, file indexing, etc...) and enables it to control their execution when possible in order to delay / throttle / queue them, which would eventually be done automatically using Zeitgeist (for example, it would be nice to stop cpu / io intensive non-mandatory background tasks when starting a foreground activity that needs resources)

 

-mirsal

Getting out of facebook and the likes

I will be gradually terminating my accounts on Facebook, Twitter, and some other non-free (as in freedom) online services I currently use. Facebook and twitter will be the first ones so go grab my e-mail address from there (or elsewhere) if you want to be able to contact me (I also use it with XMPP) after I do that in a few days

The next ones to go will be Posterous and Tumblr but not until I set up what's needed to maintain an online presence the right way.

I do not plan to get out from GMail, GReader and lastfm yet (sadly these got me really hooked up) and I'll keep using Identi.ca

First patch landed in empathy

I landed my first patch in Empathy (yay...) Well, the patch itself is a bit ridiculous, but hey, I gotta start somewhere !

My day job keeps me pretty busy so I didn't do much more than exploring the empathy codebase (some parts of it are a bit messy and could definitely use some cleaning, which I'll probably do, someday) and hitting walls trying to figure out how I could fix this: https://bugzilla.gnome.org/show_bug.cgi?id=598394 and how I could add undo / redo capabilities to the chat window's input. In both cases, the solutions I came up with were not really elegant so no patch for these yet.

I cloned the git repositories I'm working on on github so I can work from another machine if I need to. People can also pull my patches from there.

I also noticed that GNOME is no exception compared to most of the other free software projects I contributed to: posting on mailing lists and poking people on IRC is several orders of magnitude more efficient than only using the bug tracker.

Why I like Ubuntu

When I'm asked which distro I use, my answer is often met with a slight grin, and while there are a lot of things that are far from perfect with ubuntu, there is one aspect that makes me not want to stop using it and occasionally contributing to it. As surprising as it may seem, it has a lot to do with the name, which reflects the main idea behind the ubuntu project. It is meant to have the lowest possible barrier to entry for both users and contributors so that it maximizes the impact on society that every single contribution has, while also ensuring that contributing to it is painless enough to be something that even people with limited technical knowledge can do.

I think this is a really powerful concept that justifies chosing this distribution over other ones even if they are technically superior or if their contributors do fewer mistakes.

About being a corporate backed distro, well... this is Free Software, it is our responsibility as a community to prevent the project from drifting because of unethical agendas if there are any.

-mirsal