It’s been long since I wrote about anything non-specific. I guess it’s a common symptom amongst bloggers from my generation (age jokes will draw ire). For me, it just stopped being so important to say anything, what with every major insight seeming pretty ciichéd and/or obvious by the time I got down to writing it. Can’t you just see the brain cells sizzle away?
As I was wont to do in days gone, let me start with books. I spent a long time re-reading books, sometimes more than once. Seemed to take a lot less effort than reading new books. Ditto movies, when I had enough time to watch them. Of course, bite-sized chunks of TV series were easier to grok as well. With a conscious effort now, I’ve started reading more new stuff, the latest of these being Neil Gaiman’s American Gods. Gripping book, that. Incidentally, if you’ve not read Richard Morgan’s Altered Carbon, you’re missing out on what I am certain is one of the best SF works in recent times. Have been promised access to the remainder of his novels featuring Takeshi Kovacs, so looking forward to that.
On the music front, I sold off my guitar a year and a half ago (the neck warped too often) and now intend to buy a new guitar. Saw a fairly decent and not-too-pricey Granada at Furtado’s, and it’s now somewhere near the top of my acquisition list. As before, my tastes are (a) relatively esoteric, and (b) temporally out of phase. My latest obsession are the Yeah Yeah Yeahs, about whom Rolling Stone has a brilliantly written article that borders on idolation.
Moved to a new house, and unpacking and settling in slowly proceed. All the running around before this and now mean that I still have to establish a proper working environment and discipline. I’ve been trying (with only moderate success) to maintain a reasonably “normal” diurnal cycle. Should be more successful as things settle further.
I’ve got a couple of work related blog posts lined up in my head, but that’ll have to wait for later. I hope this particular post heralds some exercising of atrophied writing muscles.
Good night, world.











(Gst)Discovering Vala
My exploits at Collabora Multimedia currently involve a brief detour into hacking on Rygel, specifically improving the DLNA profile name guessing. We wanted to use Edward’s work on GstDiscoverer work, and Rygel is written in Vala, so the first thing to do was write Vala bindings for GstDiscoverer. This turned out to be somewhat easier and more difficult than initially thought. :)
There’s a nice tutorial for generating Vala bindings that serves as a good starting point. The process basically involves running a tool called vapigen, which examines your headers and libraries, and generates a GIR file from them (it’s an XML file describing your GObject-based API). It then converts this GIR file into a “VAPI” file which describes the API in a format that Vala can understand. Sounds simple, doesn’t it?
Now if only it were that simple :). The introspected file is not perfect, which means you need to manually annotate some bits to make sure the generated VAPI accurately represents the C API. These annotations are specified in a metadata file. You need to include things like “the string returned by this function must be freed by the caller” (that’s a transfer_ownership), or, object type Foo is derived from object type FooDaddy (specified using the base_class directive). Not all these directives are documented, so you might need to grok around the sources (specifically, vapigen/valagidlparser.vala) and ask on IRC (#vala on irc.gnome.org).
All said and done, the process really is quite straightforward. The work is in [my gst-convenience repository][arun-gst-conv-ks.git] right now (should be merged with the main repository soon). I really must thank all the folks on #vala who helped me with all the questions and some of the bugs that I discovered. Saved me a lot of frustration!
I’ve already got Rygel using these bindings, though that’s not been integrated yet. More updates in days to come.