Hello everyone!

October 8, 2011

Long time no blog? I thought I would fill everyone in on what I’ve been up to, and that I’m back in the free software world.

I kind of disapeared, in my final year of school… engaging in a mad rush to actually graduate. Luckily, in May of 2011 I actually graduated (from Rennselaer Polytechnic Institute)!

Then I spent the summer, in Beijing studying the game go. Amazing experience, loved being in Beijing (though don’t think I would want to live there…) and finally got my go obsession a bit out of my system. Any Go players out there? Let’s play a game on KGS 🙂 Also willing to teach anyone who wants to learn.

Nooooooow, since September I’ve been working at Canonical! I’ve spent most of my time working on Unity bugs. The last few weeks I’ve been in to some exciting new stuff, all over place. Currently finishing up some patches to add support for Isolated Worlds to the WebKit GTK+ API. I think I’m going to be taking a more active role in maintaining Seed again as well (sorry about that guys, and thanks to all the people who have kept the project going!). In a few weeks, I’m off to UDS Orlando, and sometime around then you will probably hear more about what I’m working on!

On some other notes…currently living in Pennsylvania with my family waiting on my UK work permit, and then I’m off to London! no exact date yet, but I’m hoping to move to London around January. Really excited about it! Was in London for 2 weeks recently and made it to the GNOME Beer meetup 🙂

Off for now! Hope to start posting every so often describing what I’ve been hacking on.

Glide Update…

May 2, 2010

Glide has gained all sorts of awesome things in the last few weeks…I won’t try and enumerate them all here I guess, because I think the codebase has perhaps more than doubled in size since I last blogged…

But heres a picture:

Besides the UI overhaul, there’s an actor printing system (vector PDF export!), a new archive file format, a new animation system (with Vala?!?!), and this whole new inspector thing on the right…

Try it out?

So, I know this is really late, but my plans for the summer have, shifted around recently, and now I find myself looking for a summer job.

I was planning to stay in Troy for the summer, and continue my work with the Rennselaer Center for Open Source Software on Glide. However, due to a sort of perfect storm of a lot of things, and some personal reflection, I think I am going home for the summer, and taking some time to be in an environment where I can focus on developing a more healthy lifestyle. Need some time away from Troy too…

So, if anyone still has some summer positions available for a college student, and likes the idea of me working on open-source software (I would really love it if I could work on something in the GNOME ecosystem in particular) instead of flipping burgers this summer, I would love to hear from you! (racarr AT gnome DOT org). I would be looking to work from somewhere around June to August, but there is a little flexibility here.

To give people some background on me: I am currently a junior at Rensselaer Polytechnic Institute, majoring in Computer Science (though I expect to graduate with a dual in Pure Mathematics). I’m probably best known in the GNOME community for developing Seed, and I’m currently working on Clutter/GTK+ based presentation software, Glide (see a blog post back). I previously was an involved developer in the Beryl and Compiz Fusion projects. I’ve had some random (GNOME-y and not) dabblings too.

A position where I could work from home, would be greatly preferred…however…if anyone wants to relocate me to Europe…or maybe something like California for the summer…that would be pretty exciting also.

Anyway, if anyone has any prospects (or can maybe point me at some established things that are still open for application), it would be much appreciated. I have not updated a resume in a while, but I can prepare one in pretty short order.


This semester, with the (unfortunately blogless) Amy Wieliczka, I’ve been working sponsored by the Rennselaer Center for Open Source Software, on a project called Glide.
Excuse my broken GTK theme…

Glide is a Clutter/GTK based presentation application. I could go on for ages complaining about presentation applications, but um…maybe later, for now Glide is still a baby.

The code is on GNOME git, and, there is a fair amount there, and in fact, I think you could play with it today, using backgrounds+text/image elements, and some pretty Slide transitions, and probably make something a little more satisfying than you would in open office present. Build it, try it out. email me (racarr AT gnome), etc, etc…

Glide however is still in rapid development, within the next few weeks, there will likely be major changes. Probably an overhaul of the animations system, add a timeline editor for laying out transitions. An implementation of PDF export that doesn’t cheat. A templating/themeing system, along with an archive file format (containing all resources needed by the presentation! hoorah!). Then probably another pass over the UI…after this I’d like there to be some sort of 0.1 release.

Anyway, I’ve been putting off this post, and want to get it written…so…I’m going to leave it here. Thanks to Professor Moorthy and Sean O’ Sullivan for RCOS, a program which has perhaps been one of the defining experiences of my career as a student at RPI.

Hello everyone! I know I haven’t been much around lately 🙁 life as a student is kind of dominating me. I am working on a Clutter based slide show application now (for the Rensselaer Center for Open Source Software http://rcos.cs.rpi.edu/ :D, thanks Sean O’Sullivan and Professor Moorthy) and I’m pretty committed to making a release in about two weeks. I’m pretty excited about this, but that’s not what this post is about.

I wanted to take an opportunity to show some awesome stuff people have been doing, and thank them for it, because I’ve been bad about replying to emails. A lot of people have been doing some cool stuff with Seed lately, so in no particular order…some cool stuff.

Alan Knowles has created a Seed documentation site (http://devel.akbkhome.com/seed/) generated from the code at http://git.gnome.org/browse/introspection-doc-generator/. I think this has been a clear gap missing, as C documentation can be a little intimidating for some people (despite how easy we C hackers would find it to translate). Alan spoke to me recently about maybe moving this in to gnome-js-common and I am all for it, hopefully something to that effect will happen for the next few days.

Alan also has a blog at http://alsaf1.wordpress.com/, where he’s been writing up some Seed tutorials. I’m really excited to have this sort of documentation for Seed, as it was…another gap! which neither the examples, or the few documents really fulfilled.

Alan has also been fixing a lot of bugs and just generally being awesome.

On the other Alan front, Alan Forbes has been helpful on the mailing list and has written a very introductory level tutorial at http://live.gnome.org/Seed/Tutorial.

Alexandre Mazari has written something called http://gitorious.org/seedkit, which I think is a really cool concept, and one I’ve thought about since the inception of Seed, I haven’t looked in to the implementation much yet though. Alexandre also fixed some bugs. Thanks 😀

A few other people have been fixing some bugs lately…I don’t want to name everyone for risk of missing someone, but thanks :D. I haven’t had much time to work on Seed lately, but have been excited lately to see people using it. Even though development has definitely slowed, I feel like a lot of the worst bugs have been solved, and as far as I know there are quite a few people out there trying to make applications with it (who occasionally send me emails!). I was excited to see the Seed based same-gnome rewrite on the 2.30 release notes, and I hope people are enjoying it 😀

Speaking of clutter-gnome-game-wizards. A big thanks to Tim Horton too, Seed never would have happened without Tim, and he keeps it going when I’m too holed away to pay attention to emails. Maybe an apology to Tim also.

School is going well…have to finish a radiosity solver today :(. Summer is approaching fast! If anymore interesting summer jobs than staying in Troy and hacking from home…

Seed FFI

August 2, 2009

I was bored yesterday and added a simple ffi to Seed…I imagine it might be useful for someone someday.

GObject = imports.GObject;
ffi = imports.ffi;
app = new ffi.Library(); // ffi.Library with no arguments is
                                 //equivalent to g_module_open with 
                                //NULL for filename.
sin = app.sin;
sin.signature = {arguments: [GObject.TYPE_DOUBLE], returns: GObject.TYPE_DOUBLE}
almostzero = sin (3.14);

More interestingly, I have a working computer again! (New 13 inch macbook pro). Hopefully I’ll be blogging and coding a little more often than the last month.

David posted recently on his experiences adding introspection to GUdev (cool!), and this reminded me to bring up something which I think is very useful.

If you are a maintainer of a library, or an application which exposes an API (to plugins, etc…), please consider adding introspection to your build system! Essentially, what works in the various introspection based bindings, is what we’ve had an opportunity to test, and every new library shows a few new corner cases, finding these is very useful (this is why in the Seed source tree, there are a large number of examples, trying to get an idea of how well introspection works with various libraries).

If you are looking for an example of how to do this, Clutter is a very good one I think. Essentially you first need introspection.m4, and then GOBJECT_INTROSPECTION_CHECK([0.6.3]) in configure.ac. Then, to the appropriate Makefile.am, you need to add the actual calls to the scanner and the compiler. See libclutter’s Makefile.am (around line 248). In most cases it will actually be a little simpler than it is in Clutter.

If you’d like introspection in your library/app, also feel free to email me, and assuming it’s not a complicated case, I’m perfectly willing to cook up a quick patch, and test some things out.

UDS, Seed 0.8

May 27, 2009


I’m at UDS this week, and it’s great as always, I’m really excited for Karmic as a release on the desktop front. I’m also looking forward to a session on packaging GObject-introspection stuff later today.

Barcelona seems to be a great city, though I’ve had a little trouble finding places for dinner, etc…I think this is mostly my fault. I’m completely exhausted, as always at UDS.

Seed 0.8 and WebKit upstream

I’m releasing Seed 0.8 later today, with all sorts of cool stuff (cairo bindings!). When looking back through commits to compile a ChangeLog, I was reminded of something that happened since the last release, that I thought might be worth bringing up. In the WebKit v. Mozilla debate, a lot of people have brought up the idea that somehow Mozilla will be a more responsive upstream to GNOME than WebKit (as WebKit is heavily funded by Apple). So, while writing the cairo bindings, I ran in to a bug in the JSCore API, and I mention in a commit message that this is “working around a WebKit bug”, and make a note to file a bug later. However, almost immediately, bdash pings me in #webkit, asking about the bug (someone is watching Seed commit messages I guess), I make a reduced test case, and it’s fixed upstream about 10 minutes later. WebKit upstream has been really friendly, both to me, and the WebKit/GTK+ developers (as mentioned by xan), and though Apple does have less of an interest in free software than Mozilla (though, it could be argued that Mozilla has almost no interest in Linux), there’s a lot of interest in supporting WebKit outside of their platform, and this is good for us.

Seed Logo

May 21, 2009

I was playing with Algorithm Ink

and I accidentally made what I have decided should be the Seed logo.

It looks sort of like a seed, and is a metaphor for um…It looks sort of like a seed, and looks cool.

In other news, headed back to Troy today, and then Barcelona on Saturday for UDS. Need to find places to explore in Barcelona on Sunday.

Today out of (mostly) random curiosity, I wanted to investigate putting gtk-doc/docbook inside pretty PDFs. Googling around there are a lot of solutions, however none of them seem to work too well except dblatex, so for the benefit of anyone else in a similar situation, probably jump straight to this.

I’ve tried running it on a few different things, just to see what the output is like:

It’s already pretty good, and with a little custom styling (requires making a new LaTeX document class), it could be a lot better. However, I’m not sure how much effort I want to put in, as it’s only somewhat useful.