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