I haven’t had any reason to write assembly by hand for quite a while, but the other day a deep hardware geek friend of mine asked for an opinion on an instruction set for an architecture he is working on — and of course that means using his assembly instructions directly. I had forgotten what […]
Month: August 2013
Keyboards, Machine Guns, and Other Daily Tools
I’ve got an annoying issue on my mind: keyboard layouts. This is brought on by the recurring need for me to travel to places where two different keyboard layouts are common and other programmers look at you funny if you have to glance down to make sure whether you’re hitting ‘@’ or ‘`’ or ‘”‘ […]
A Technically Inaccurate Explanation of Monads
I’ve come across a multitude of technically inaccurate explanations of monads on the web, all intending to explain them in simple terms to FP newbies, most revolving around their use in Haskell. They all suck. This is mine. It also sucks, but I hope it sucks less. [NOTE: I have no intent here to explain […]
Binary Search: Random Windowing Over Large Sets
Yesterday I came across a blog post from 2010 that said less than 10% of programmers can write a binary search. At first I thought “ah, what nonsense” and then I realized I probably haven’t written one myself, at least not since BASIC and Pascal were what the cool kids were up to in the […]
Don’t Get Class Happy
If you find yourself writing a class and you can’t explain the difference between the class and an instance of that class, just stop. You should be writing a function. This antipattern — needless classes everywhere, for everything — is driving me crazy. Lately I see it in Python and Ruby a good bit, where […]
“Never Underestimate…” Revisited
One of my daughters just surprised me by showing up dressed for bed — underbits, bound hair, PJ bottoms and top buttoned up. It surprised me because I was headed in to dress her. At first I figured her mother must have dressed her for me. But nope, she had done it alone and wanted […]