Archive for the ‘Personal’ Category


Countdown

So when I press F12 on my MacBook, I have the following widget running on my Dashboard:

223 Days, 14 Hours, 16 Min, 21 Sec

That’s the number of days I (supposedly) have left to my service in the army.

There’s a caveat to this, of course. By my own math, I should have to serve all the way till September 2009, but the government’s website currently reports my ORD to be in February 2009. The countdown on my Dashboard uses the more optimistic (that is, earlier) date.

I have very mixed feelings about the army and the military, and it’s no exaggeration to say that it’s been the primary cause of unhappiness in my life. Everyone has his or her valid views on the matter, of course, but I had the unfortunate experience of being exposed to Schindler’s List and graphic war poetry in primary school, and it’s colored my views on what being a soldier means ever since.

I keep telling myself that national defense is necessary, but my reaction to seeing a person in military uniform is always the same.

That person is evil.

Irrational, maybe. But then again, the notion that honor for country is nothing but a myth was planted in my mind from very early on. And the fact that I have to wear a uniform everyday, with the full knowledge of what it means when war inevitably comes, disturbs me greatly.

Nowadays I’m able to push these thoughts to the back of my mind, but sometimes, on evenings like this when the mortality of everyone I know becomes so real, I really don’t know what to think.

Future Projects

I enjoy writing code. I’m not very good at it, and my experience is that I don’t work well when coding in a group, but the point is that I enjoy building things that run on a computer. I enjoy the feeling of accomplishment that comes from seeing a system work and knowing that my handiwork was involved. Most of it isn’t really my effort, of course: the heavy lifting is done by the folks behind PHP and WordPress. I merely ride on the back of giants.

But that’s talking about web development work. More specifically, the enhancements I’ve made to my client Antonio’s site in recent weeks. What I’ve been dreaming of doing, however, is something similar but not quite the same.

I want to write a desktop application. Or rather, two desktop applications.

The first is a cross-browser, cross-platform bookmark synchronizer. The idea is simple: as part of my work, I use multiple browsers on multiple operating systems on multiple computers. It might seem like a silly thing, but I want the bookmarks in every one of those browsers to be exactly the same. I bookmark sites all the time, and it drives me crazy when I can’t access a bookmark because it’s living on a different partition.

The second application is a simple mouse-button to keyboard-shortcut mapper for OS X. A number of such applications already exist, but they’re shareware, and I want to write one that’s open-source. It would also be a great opportunity for me to learn about the Carbon API as well.

I don’t expect that writing either of these applications is going to be easy. While I have written modestly-sized web applications in the past, I have never succeeded to building a non-trivial desktop application from scratch. There’s just too much complexity. Traditional applications have to deal with threading, event handling, and all sorts of other dross. Web applications are hosted by a web server which handles most of this complexity—I just have to handle the POST data and I’m done! This is a gross simplification, I know, but web development just seems easier to me somehow.

Now that I’ve laid these plans out, however, it’s time to get started working on them. You know the mantra: Release early, release often.