How I became a software engineer, 8-bit version

How I became a software engineer, 8-bit version

You could say Z-80 assembly language is what really turned me into a software developer.

My first programming language was BASIC, which was built into my first computer (a TRS-80 Model III). I wrote a lot of BASIC code, including arcade-style games (compiled BASIC — you can still play them on this TRS-80 Model III Emulator).

I always wanted to keep learning. There was no World Wide Web for research and nobody I knew could guide me, so we went to Radio Shack and asked them how else I could program the computer. They sold us the Editor/Assember package.

My 100x ROI as accidental domain speculator

One of the hazards of working in the web biz is impulse-buying domain names.

Back in the Web 2.0 boom days, there were a lot of “social” web plays with silly names.

I thought I’d satirize this by registering numbr.com and making a social site where you could “friend” the number 7 and that sort of thing.

I never got around to building that site. However I did get a curious email one day from “Joe” who wanted to know if I’d sell the name. He was with a startup that was going to offer temporary phone numbers for Craigslist postings or something. After some back and forth, we agreed on a price: $1000.

Neo4J and Graph Databases

Neo4J and Graph Databases

noSQL is a big tent with lots of interesting tech in it. A few years ago at work I got an assignment to evaluate graph databases as a possible datastore for our 40-million-pageviews-a-day CMS. Graph DBs are elegant stuff, though not a particularly special fit for that application. Here’s what I had to say.

Graph databases are all about “highly connected” data. But instead of tracking relationships through foreign-key mappings RDBMS style, they use pointers that directly connect the related records.

How did I get here?

How did I get here?

(I recently posted this on Quora in response to a question along the lines of “Engineers, when did you decide to study Computer Science?”)

I have been a full-time software engineer for the last 7 years, and a part-time one for ten years before that.

I have never formally studied computer science.

It wasn’t an option before college (small high school in rural Vermont). And at the otherwise excellent small liberal arts college I attended, it wasn’t one of the available majors.

The Riak key-value database: I like it

The Riak key-value database: I like it

(Note: This is a writeup I did a few years ago when evaluating Riak KV as a possible data store for a high-traffic CMS. At the time, the product was called simply “Riak”. Naturally, other details may be out of date as well.)

Riak is a distributed, key/value store written in Erlang. It is open source but supported by a commercial company, Basho.

Its design is based on an Amazon creation called Dynamo, which is described in a 200-page paper published by Amazon. The engineers at Basho used this paper to guide the design of Riak.