Free Printed Copies of "Version Control by Example"
The printed copies of Version Control by Example arrived last week. We moved seven tons of books into our fourth-floor office space and all the tenants on the third floor are still alive.
Understanding "Prototypes" in JavaScript
For the purposes of this post, I will be talking about JavaScript objects using syntax defined in ECMAScript 5.1. The basic semantics existed in Edition 3, but they were not well exposed. A Whole New Object In JavaScript, objects are pairs of keys and values (in Ruby, this structure
Peter Norvig's Sudoku solver: Clojure & Python side by side
As an exercise, I translated Peter Norvig’s Sudoku solver from Python to Clojure. There have been a couple other attempts before, but they both leaned on Clojure’s reference types as a …
A Collection of Examples of 64-bit Errors in Real Programs
A portfolio of HPC tools help data scientists, researchers, and developers efficiently build cross-architecture applications.
Overview of Text Editors for Programming on the Mac
In the last 10 years many new text editors became available for Mac OS X. Since I have tried most of them I wanted to give an overview and a brief description about each one of them. This is for developers that are looking for decent editors on the mac to get their job done.
Python 3.2 Released
The official home of the Python Programming Language
Scala Feels like EJB 2
At Devoxx last week I used the phrase "Scala feels like EJB 2 to me". What was on my mind? Scala For a number of years on this blog I'v...
Wield Python's super() like a Jedi
If you aren’t wowed by Python’s super() builtin, chances are you don’t really know what it is capable of doing or how to use it effectively. Much has been written about super() and much of that wri…
The joys of maintenance programming
Introducing new web service to determine if a number is odd or not. No new code dependency in your npm modules. Can use with almost any programming language, not just Javascript under node.js. No license. Easy to test in a web browser
IOS games using JavaScriptCore without WebKit
Less talk, more action – Apple just approved two of my JavaScript games for the AppStore: Biolab Disaster and Drop . Both are free; go check them out. You can also play them in your browser here and here .
How to process a million songs in 20 minutes
X X The recently released Million Song Dataset (MSD), a collaborative project between The Echo Nest and Columbia’s LabROSA is a fantastic resource for music researchers. It contains detailed…
Coding backwards
For a while I’ve wanted to write some personal finance software. Call me crazy, but I can’t find anything currently in existence that allows me to project my earnings and expenses 1 , then summarizes the net effect over a period of time. Basically, I want to be able to propose a budget to myself and simulate how it…
Why Philosophers Should Care About Computational Complexity
Update (August 11, 2011): Thanks to everyone who offered useful feedback! I uploaded a slightly-revised version, adding a “note of humility” to the introduction, correcting the footnot…
Insufficiently known Posix shell features
It's that time of year again apparently. Rather than fill in the template for you this time, I'll just give you the general outline of what...
How to become a proficient Python programmer
Update: This is a re-post of an older blog post of mine. Originally it was posted on my personal blog where it has >30 comments and >20’000 views over the last years. I’m deprecating my personal blog in favor of this 200OK blog.
(An ((Even Better) Lisp) Interpreter (in Python))
The tokens #t and #f are the True and False literals, respectively. The single quote mark serves to quote the following expression. The syntax ' exp is completely equivalent to (quote exp ) . The backquote character ` is called quasiquote in Scheme; it is similar to ' except that within a quasiquoted expression, the…
The Art of Computer Programming (interview with Don Knuth)
While he was over in the UK for a book tour and lecture series, Professor Donald Knuth made time to talk to BCS editor Justin Richards about his life.
Polyglot Platform
Programming languages are silos. The libraries, development tools, deployment practices, and even naming schemes associated with one language — say, Ruby —