The depth and breadth of Python
As of late I'm noticing a trend: I'm spending more time having in-person in-depth conversations, and less time coding. While I regret the la...
Algorithmic symphonies from one line of code
Lately, there has been a lot of experimentation with very short programs that synthesize something that sounds like music. I now want to sha...
Build your own operating system
Ten years ago (around the year 2001) I wrote a simple x86 protected-mode OS just to find out how operating systems work. That was really gr...
Why Not Haskell?
Why I haven't been writing much Haskell code lately.
Parsing: the solved problem that isn't
Updated (2014-10-24): If you find this article interesting, you may be interested in the follow-up article on an editor for composed programs .
Developer Income Report #16
Goal reached! My regular income still seems to grow. My lastly introduced in my “Make Money on Android” eBook method seems to be working very well (not only for me – check lastly …
Chess@home: Building the largest Chess AI ever (in JavaScript)
Update: We’ve won Node Knockout in the “Completeness” category ! Congrats to the team!
Coding tricks I learnt at Apple
When I worked at the Apple Online Store , we would never load test the live website. There was rarely a need. However, it was always an inte...
The Sad Reality of Post-Mature Optimization
Thoughts and musings of Dennis Forbes, expert software developer/architect and AI engineer
A Programmer’s Greatest Enemy
A programmer’s greatest enemy is getting stuck . A crucial skill in programming—and one that many of my beginning game programming students lack—is the ability to recognize when they’re stuck, to get out of being stuck, and to avoid getting stuck in the first place.
Annual Developer Income Report
It is over one year since I gave up my day job to become an independent developer (It is more than a year but I have missed a few reports so I will sum 12 months that has been reported on this blog…
Copy-on-write B-tree finally beaten.
Copy-on-write B-tree finally beaten by Andy Twigg, Andrew Byde, Grzegorz Mi?o´s, Tim Moreton, John Wilkesy and Tom Wilkie.
The Linux perf command rocks
A summary of Linux profiling/monitoring tools
Yammer moving from Scala to Java
Following up on my recent Scala posts , some commented that because I haven't used Scala seriously, my opinion is of little value. I respo...
Tricky Programming Concepts Aren’t
What Teachers do Wrong Teachers use subversive language. They say things like “this is a bit tricky” before introducing a concept. It’s in...
Underrated Features of PostgreSQL
Here are a list of features which I think are generally underrated in PostgreSQL and why. Many though not all of these are being used in t...
POSIX close(2) is broken
There's just one small problem: The way POSIX has defined close(2) is completely and utterly broken.