8-bit Assembly was Fun Ramblings of a not-so-old Programmer

About

Thanks for reading!

This is my blog, it should not have a name, it only does because the software made me. As far as I can tell this is a perfect forum for me to talk at length about things that nobody cares about.

Mostly I wanted a place to express my opinions and thoughts about software engineering. Sometimes I will even believe the opinions that I express. I also wanted to be able to describe some of the software projects I write as a hobby.

Who am I?

A husband, a father, a former rock climber, a former cross-fitter. This blog will likely deal mostly with my software development interests, so for those purposes: a software engineering manager by trade. A software engineer by training and inclination. I currently work for Google, leading a few Site-Reliability Engineering (SRE) teams. Before that I worked for a decade in high-frequency trading leading a few software engineering and Ops teams. Before that I was a PhD student, in the area of distributed real-time systems (yes, they do exist). Before working on my PhD I spent a few years working on military training systems for general staff officers. Picture a small-scale MMORPG with convincing simulation of troop movements, logistics and engagements. My undergrad degree is in math, so at some point I could do algebra all by myself.

I have been coding since 1985, and programming professionally (as in my main source of income) since I think 1989, but could be 1988, cannot remember anymore. My main programming language is C++, since I think 1990, but I have done C, Fortran, Assembly, Perl, Python, Ruby, Shell, R, K, SQL and many other languages (yep, Java was not on that list, obviously I have read and written a little Java, too small to count). My main platform is Linux these days, and I have used Solaris, VxWorks, LynxOS, HP-UX, Irix, Domain/OS, Windows NT, Windows CE, DOS, and probably others that I forget (is CP/M a platform? Did I code anything on it?).

I have coded on almost anything from 8-bit microprocessors to multiple core computers (and using all the cores, mind you), to massive clusters. I only recently picked parallel programming when I was teaching myself OpenCL.

I have been known to craft a webpage or two, but they do not look nice. If this one does, is because I took the templates from Lanyon and did not mess with them (too much). Their License is reproduced on this site. I have been known to craft a GUI or two, but the last time was on X11/Motif, and (you can laugh) most of the graphics were plain Xlib, with some OpenGL added later. That is to say, I have been mostly building and/or leading teams that build “infrastructure software” of some kind or another. Low level stuff that when it breaks, the whole company stops. Things where the only user interface is some kind of RPC, or at best some kind of status page.

PS: You got all the way here? Color me impressed.