2021

Why .every() on an empty list is true

Or why .some() on an empty list is false.

2018

Git power tools for daily use

Three little Git gems I cannot live without.

An intro to decoders

Type-checking your boundaries.

2015

pip-tools 1.0 released

The future is now

Beautiful code

When was the last time you marveled at a piece of code?

Beautiful map

Map isn't mad. It's beautiful.

Thinking in streams

On building an elegant DSL for composing streams from generators.

2014

Modifying Deeply-Nested Structures

A little journey of stripping down a problem to its essence.

Use More Iterators

Reasons and practical tips to convert your code to use iterators.

Iterables vs. Iterators vs. Generators

A little pocket reference on iterables, iterators and generators.

Writing a Command-Line Tool in Python

How to write a quality command line tool in under 60 seconds.

2013

Better Package Management

Ideas for improving package dependency management in Python.

Alexander Klöpping in Silicon Valley

I transcribed some videos.

2012

Pin Your Packages

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

Some thoughts on how I like to write libraries as "open source" projects.

Introducing RQ

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

A new Vim plugin for automatically running Flake8 checks.

Introducing Times

A tiny pet library for dealing with datetimes and timezones in Python.

2011

Chords + Lyrics

I released my first iPad app to import/manage chords and lyrics.

A git-flow screencast

Dave Bock created a nice video on using git-flow.

2010

How I boosted my Vim

Where I lay out the recent changed I made to my Vim setup.

A whole new blog

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 peek of its internals.

An upgrade of gitflow

Last week, I silently tagged gitflow 0.2. These are the most important changes since 0.1.

gitflow 0.1 released

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.

A successful Git branching model

In this post I present a Git branching strategy for developing and releasing software as I’ve used it in many of my projects, and which has turned out to be very successful.

2009

Auto-generate classes for your Core Data data model, revisited

Automatically generate classes for your Core Data data model

NSManagedObjectContext extensions

NSPredicateEditor tutorial