2013
Better Package Management
Published: May 08, 2013
Published: May 08, 2013
You are managing your Python packages using pip and requirements.txt spec
files already. Maybe, you are even pinning them
too—that’s awesome. But how do you keep your environments clean and fresh?
Alexander Klöpping in Silicon Valley
Published: May 07, 2013
Published: May 07, 2013
Over the last three weeks, the Dutch broadcaster VARA has been airing three special episodes of DWDD University: a documentary Alexander Klöpping made about Silicon Valley.
2012
Pin Your Packages
Published: September 26, 2012
Published: September 26, 2012
In building your Python application and its dependencies for production, you want to make sure that your builds are predictable and deterministic. Therefore, always pin your dependencies.
Open Sourcing: the Ultimate Isolation
Published: September 09, 2012
Published: September 09, 2012
Reflecting on how I build software lately, I noticed a pattern. I tend to write libraries in absolute isolation, as if they were open sourced and the world is watching along.
In this post I try to explain why this works so well for me.
Introducing RQ

Published: March 28, 2012
Published: March 28, 2012
Today, I’m open sourcing a project that I’ve been working for the last few months. It is a Python library to put work in the background, that you’d typically use in a web context. It is designed to be simple to set up and use, and be of help in almost any modern Python web stack.
vim-flake8: Flake8 for Vim
Published: February 14, 2012
Published: February 14, 2012
Just a quick post to let you know that I discarded my vim-pep8 and
vim-pyflakes Vim plugins yesterday in favor of
vim-flake8.
Introducing Times
Published: February 02, 2012
Published: February 02, 2012
Lately I’ve been getting sick of working with datetimes and timezones in Python. The standard library offers many different conversion routines, but does not prescribe a best practice way to deal with them. Luckily, Armin Ronacher did in his article Dealing with Timezones in Python.
2011
Thank you, Steve

Published: October 06, 2011
Published: October 06, 2011
This night, I woke up to the news that Steve Jobs passed away. I did not expect to be this touched by the news, although it was to be expected.
Chords + Lyrics
Published: October 05, 2011
Published: October 05, 2011
It’s been quite a while since I took the time to update this blog. Many things have happened in the meanwhile, though. The most important happening for me is that I launched an iPad app and I founded a company called 3rd Cloud last week.
A git-flow screencast

Published: January 27, 2011
Published: January 27, 2011
Dave Bock created a nice video on using git-flow.
2010
Survey: Python vs Ruby Test Ecosystems

Published: November 16, 2010
Published: November 16, 2010
In this post I call out for participation in a survey that I quickly put together this evening to get a better overview of the most-used unit testing, spec and code coverage tools for both Python and Ruby.
Suffice to say that I will blog about any interesting results or conclusions that I will draw from this survey.
How I boosted my Vim

Published: September 14, 2010
Published: September 14, 2010
A few weeks ago, I felt inspired by articles from Jeff
Kreeftmeijer and Armin
Ronacher. I took some
time to configure and fine-tune my Vim environment. A lot of new stuff made it
into my .vimrc file and my .vim directory. This blog post is a summary
describing what I’ve added and how I use it in my daily work.
A whole new blog

Published: September 13, 2010
Published: September 13, 2010
Finally, I’ve made the move to a static blog engine! I’m using nanoc now. nanoc is a very flexible and customizable static site generator, written by Denis Defreyne. As with all static site generators, nanoc lets you write your source files in a simple markup language. However, nanoc is much more flexible and customizable than most of the others out there. Let me show you a sneak peak of its internals.
An upgrade of gitflow
Published: March 04, 2010
Published: March 04, 2010
Last week, I silently tagged gitflow 0.2. These are the most important changes since 0.1.
Unexpected side effects in Python classes
Published: March 03, 2010
Published: March 03, 2010
Today, I lost several hours while debugging a language implementation detail in Python that I did not know of and that really feels counterintuitive and dangerous to me.
gitflow 0.1 released
Published: January 26, 2010
Published: January 26, 2010
After the overwhelming attention and feedback on the Git branching model post, a general consensus was that this workflow would benefit from some form of proper scriptability. This post proposes the initial version of a tool I called git-flow.
Building Git from scratch on Snow Leopard
Published: January 13, 2010
Published: January 13, 2010
When you try to build Git from scratch on a Snow Leopard machine, you may have ran into the following problem:
A successful Git branching model

Published: January 05, 2010
Published: January 05, 2010
In this post I present the development model that I’ve introduced for all of my projects (both at work and private) about a year ago, and which has turned out to be very successful. I’ve been meaning to write about it for a while now, but I’ve never really found the time to do so thoroughly, until now. I won’t talk about any of the projects’ details, merely about the branching strategy and release management.
2009
Auto-generate classes for your Core Data data model, revisited
Published: September 19, 2009
Published: September 19, 2009
A few months ago, I wrote about automatically generating classes for your Core Data entities and how to automate Xcode using users scripts, such that, when your model changed, you only needed to run your custom script again and your intermediate model files would reflect the new situation.
Automatically generate classes for your Core Data data model
Published: June 30, 2009
Published: June 30, 2009
When designing a Core Data data model for your Xcode projects, you can choose to create Objective-C object wrappers for your entities, so that you can profit from type-safe code. The normal, tedious, workflow for this is that you select each entity from the model designer, select all of its attributes and relationships, Ctrl-click it and from the contextual menu first select “Copy Obj-C 2.0 Method Declarations To Clipboard”, paste it into the appropriate class header file, then do the same thing for the method implementations in the class implementation file. Waaaaaay too much work. Not to mention the manual copy-pastes are really hard to keep in sync once you start adding functionality to these class files, since you don’t want to overwrite those additions, but you want to keep replacing everything else.
NSManagedObjectContext extensions
Published: June 22, 2009
Published: June 22, 2009
The Core Data framework rules, and its API is really really powerful. But really, why does the Core Data API require us to write so much boilerplate code? Simple things need to be simple.
NSPredicateEditor tutorial

Published: June 20, 2009
Published: June 20, 2009
Cocoa offers a nice visual editor for editing NSPredicate objects templates, called NSPredicateEditor. The NSPredicateEditor can be set up using code or in Interface Builder, which is preferable for simple use. The setup is fairly easy once you know how to do it. In this tutorial, we’ll be building a simple predicate editor example which shows the basic functionality of the predicate editor.