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.

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 →