June 23rd 2006 What Do You Think You’re Doing?

No, don’t worry—this isn’t yet another post about why I haven’t posted lately. Not directly, at least. And anyway, you’ll probably notice that I have been posted more frequently as of late. I have more time on my hands now (or, at least, I’ve been taking more time to write), so I’ll probably be posting more often as the summer progresses.

I’ve actually been working on (or rather, taking apart and trying to understand) a number of Mac OS X open source software projects, namely Adium and Colloquy. In fact, about two weeks ago, I made my first contribution to open source software by patching a bug in Colloquy. I’ve really fallen in love with these projects. Both are extremely well written (especially Adium), and have helped immensely in understanding Cocoa software development.

I’ve also been spending some time actually reading Apple’s developers’ documentation. I’ve finished Framework Programming Guide, and I’m chewing my way through the Xcode 2.3 User Guide. Next on my “reading list” are Address Book Programming Guide, Core Data Programming Guide, Core Image Programming Guide, Spotlight Importer Programming Guide, Sync Services Programming Guide, and Apple’s Human Interface Guidelines (a tome I have been meaning to read for the past six years).

Why am I spending so much time reading so much weight programming material? Because I want to get out of here someday. And someday soon, hopefully.

For the benefit of those who don’t know me personally, let me give you a quick rundown of my life history (and I’ll try not to make it too boring). I grew up in Lewisburg—I’ve lived here since 1992. I’ve worked for Bucknell University since 2003, making this my fourth consecutive summer—a rarity for most student employees. And I attend Bucknell University as an undergraduate student.

So as you see, I’m going to school in my hometown, and working there over the summer (and all school year, for that matter), too.

And no, I don’t especially like Lewisburg; events have just transpired to keep me here—indefinitely, it seems at times.

Oh, sure, Lewisburg is a decent small town, but I’m not a small-town kind of person—I like the hustle and bustle and thrill of the city. Lewisburg is too “out in the middle of nowhere” for my tastes. And yet, here I am, living, schooling, and working in that same town. Living and working here aren’t so bad, but why did I choose to go to school here, too? It’s a question I have no good answer to, but I think the proper response lies in my laziness in applying to colleges (or perhaps my laziness in everything) during my senior year.

At any rate, I’m here, and now I want to get out. I can hack staying here for a two more years for school, but it’d be nice to get away for the summer. So my new goal for summer 2006: get out of Lewisburg and do something different.

But how to do that…? Well, my first goal is to get an internship with Apple. I think it’d be a lot of fun, and right up my alley. The more software I write for Mac OS X, the more I come to love the platform. From an architectural standpoint, it’s simply stunning in its craftsmanship and simplicity. Working on the inner workings of OS X is a cross between engineering and fine art, and something I’d love to do something (working for Apple on OS X is one of my long-term goals).

The problem is, that’s hard—they don’t just give those internships away. But I figure I have a whole year to brush up on Cocoa and general programming, so maybe when the time comes, I can apply for an Apple internship—and actually be competitive in getting it. Anything to get out of here, and get closer to real software development.

Barring that, I also could participate in Google’s Summer of Code 2007—a sort of “Plan B”, if you will. The pay isn’t bad at all—$5000 for a summer’s work is a lot more than I get paid now. I wouldn’t even have to hold any other job over the summer! And it would at least get me some much-needed experience in real-world software development. I consider this “Plan B” because I’d prefer to get out of Lewisburg for the summer, but this wouldn’t be a bad option. (Another bonus: the Adium project often acts as a mentor for Google’s Summer of Code!)

So basically, I’m planning on focusing more of my time on learning more about Cocoa software development, as well as following (and hopefully contributing to) the Adium and Colloquy projects, and any other interesting projects that happen to crop up. I need to re-orient myself and re-focus myself on some short-term goals, and getting the hell out of here seems like a pretty damn good one indeed.