Howdy!

Welcome to my blog where I write about software development, cycling, and other random nonsense. This is not the only place I write, you can find more words I typed on the Buoyant Data blog, Scribd tech blog, and GitHub.

Flying Without Adult Supervision

I have a lot of respect for both my flight instructor and his judgement, but for one reason or another today we taxied back to the parking area, he stepped out of the plane, wished me luck and told me to go fly some circuits. Leaving me to fly the plane by myself, without adult supervision.

Read more →

Searching for Centerline in Tracy

As I creep precariously close to my first solo flight, the only things stopping me right now are weather, and myself. When I called to get a weather briefing last night, the outlook for this morning’s lesson was not looking positive at all. I had some doubt that I would be able to fly at all given the low hanging clouds and higher winds that have been moving in to the bay area.

Read more →

Fly until the money runs out

If you were to ask me whether I wanted to fly when I was younger, I would have said “duh”, not because flight has been a life-long goal, but rather the question struck me similar to “would you like to be a millionaire?” Of course, who wouldn’t want to fly? The two kinds of people who I knew as pilots growing up were airline transport pilots, a profession I never wanted, or insanely rich people.

Read more →

Async sockets in Ada

Recently I’ve been experimenting with the concept of a high-performance (high parallelism, high concurrency, low CPU/memory footprint) TCP server in Ada. Developing on top of Linux, you cannot help avoid the epoll(7) I/O event notification system.

Read more →

Safe, Dynamic Task Creation in Ada

A few years ago, [Ada](https://secure.wikimedia.org/wikipedia/en/wiki/Ada_(programming_language) became my hobby/tinker programming language of choice, for a number of reasons, concurrency being one of them. In this post I’d like to walk you through an example of dynamic task creation in Ada, which uses Ada.Task_Termination handlers, a new feature in Ada 2005.

Read more →