261-character git one-liner of the day

I wanted to have a quick way to see what the other team members are doing, and after pillaging a half-dozen SO posts this is what I came up with. git branch -va --sort=-committerdate --format='%(HEAD) %(color:yellow)%(refname:strip=-1)%(color:reset) - %(color:red)%(objectname:short)%(color:reset) - %(contents:subject) - %(authorname) (%(color:green)%(committerdate:relative)%(color:reset))' --color=always I added it to my git aliases as recent-commits. Sample output: AC-6929 - e0c57582a - Added sorting to event list - Pat (2 hours ago) AC-7054 - 0a9c84222 - Updated 'No mentor selected' option - Sam (5 hours ago)

How things get better after you screw up at work

(Hint: it’s about your team.) A couple weeks ago I accidentally replaced our live, production database with a 17-hour old snapshot. This is an always-on application with users around the globe, so the mistake was likely to have blown away some new user-entered data. I didn’t realize what I had done for an hour or so (I thought I had targeted a test database server, not production). When it hit me, I had already left work.

XFCE Good

After a couple years of mostly using XMonad on my Linux machines instead of a standard Desktop Environmnt, I’m coming around to using XFCE. I’ve always liked it; it’s been my installed “fallback” DE (for when you need the damned settings dialog for some thing or other). Now it’s becoming my primary. I like the low resource use. I don’t hate Unity and Gnome Shell but they are too much for my older machines.
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.

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.
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.