<p>I did have to learn some Prolog when I was studying CS and back then it was one of those “why do we have to learn this when everybody is programming in C or Turbo Pascal” (yes, I’m old). For some strange reason things clicked for me quicker with Prolog than Lisp, which I now find quite ironic given that I’ve been using Emacs for since the early 1990s.</p>
<p>I’ve recently been working in <a href="http://clojure.org/">Clojure</a> on some code that really benefits from parallelization but doesn’t need to squeeze the last available cycle out of the machine.</p>
<p>Over on <a href="http://bitbashing.io/">bitbashing.io</a>, Matt Kline has an interesting blog post on how <a href="http://bitbashing.io/2015/02/16/shipping-culture.html">Shipping Culture is hurting us</a> as an industry. Hop over there and read it now, because he addresses another case of the pendulum having swung too far. Your developers take a long time to get a new version out? I know, let’s make them ship something half baked. Quality is overrated anyway. Especially when you…
<p>I encounter this on a fairly regular basis - a project uses a third-party library and there is either a bug in the library that we can’t seem to avoid hitting, or there’s a feature missing or not 100% ideal for our use case.</p>
<p>First, a confession - I actually occasionally call myself a coder, but in a tongue in cheek, post-modern and ironic way. Heck, it does make for a good blog title and license plate.</p>
<p>Like pretty much every other programmer with a Mac, I’m currently looking at <a href="https://developer.apple.com/swift/">Swift</a>. Will I write anything but toy programs in it? I don’t know yet - I don’t really write any Mac-ish software on my Mac, just unix-ish programs. If Swift doesn’t escape the OS X and iOS ecosystems it’ll be a nice exercise in a neat language that’s not really that relevant to the world at large, or at least to my part of the…
<p>I used to use <a href="http://www.emacswiki.org/emacs/CarbonEmacsPackage">Carbon Emacs</a> on OS X for quite a while, but with the release of Emacs 24 I switched to the stock GNU Emacs distribution. While GNU Emacs works fine on OS X, once you throw a German keyboard layout in the mix it doesn’t work so well as OS X uses Option + Number keys for a variety of characters needed for programming like [] and {}. GNU Emacs uses Option as Meta out of the box so the key mapping doesn’t…
<p>If you look at really productive programmers - like the top 10-20% - there are usually a couple of characteristics that they share. Aptitude and in-depth understanding of both the system they are working on and the technologies involved is obviously one very important factor. Another factor that tends to be overlooked is that these programmers are also masters of their tools in the same way that a master craftsman - say, a carpenter - is also a master of their tools. That includes potentially…