off the stack

import sh

2014-06-02 | python

A small python library which seems to work rather well when it comes to shelling out is sh. It provides a handy and lightweight abstraction above the means already available within python.

The features I found most useful:

read more

software translation: real messages vs keyword messages


Translation systems are a vital part of software as they enable us to create programs which are accessible for a broader audience. Paired with other tools (e.g. locale based number and date formatting), they aid internationalization of software. In case you want to read more about "i18n" itself, I ...

read more

drupal experiences


During the past couple of months I learned quite a few things about Drupal. I built several sites in Drupal 7, "themed" them and built modules to tie things together.

For now I see the following good parts:

read more

builder for docker images

2014-03-21 | docker, python

Docker provides a facility to easily create images based on a recipe-like "Dockerfile". After the image is built using the docker build command, it can be run as a container and also be distributed using the public or a private docker registry.

While using the build command is easy enough ...

read more

How dokku works

2013-11-23 | docker

based on dokku v0.2.0-RC1-25-g698e5e5

What dokku is

Dokku markets itself as "Docker powered mini-Heroku. The smallest PaaS implementation you've ever seen" which pretty much describes what it is about.

The project uses Docker, Buildstep, ssh-command, pluginhook, ssh, git, nginx and some bash-glue to provide you with a ...

read more

Gather metrics using psutil

2013-09-28 | python

Psutil is a nice python module, providing an interface for gathering system and process related metrics.

It can be easily installed from pypi using pip for example. After that, a straightforward import psutil is enough to load the library.

Then one can get CPU metrics:

In [2]: psutil.cpu_percent()
Out ...

read more

Grouped rows (old experiment)


While digging through a pile of files today I found something interesting back.

A small JS experiment with the idea of having multiple views on the same data, grouped by some criteria. The data is defined up front and the views group and manipulate the data. While manipulation happens, views ...

read more

Two Scoops of Django: Best Practices for Django 1.5

2013-08-31 | django

Two Scoops of Django: Best Practices for Django 1.5

Over the course of the past two months, I read the fine book Two Scoops of Django: Best Practices for Django 1.5 cover to cover two times.

This book, written and edited by Daniel Greenfield and Audrey Roy (the folks behind as well as numerous Django experts ...

read more

Vagrant and veewee for development sandboxing


based on vagrant 1.0.5, veewee 0.3.1 and VirtualBox 4.2

As I am always looking for tools to simplify my work and play and was looking for some virtualization helpers to easily manage virtual machines for development I thought I should pick vagrant from my to-do ...

read more

Semantic versioning


Semantic versioning seems widespread and regarded as a good way to describe the purpose of certain library and program versions. Each release (version) receives a version number based on it's effect on the public API.

A version consists of three parts X, Y and Z. The version number is ...

read more

Web benchmarking software


Having an idea of how well a given (web) application performs is one of the important things to consider while evaluating it. How would it behave on a "normal" day, a busy day or during a Social media inflicted visitor flood? How much system resources does the application need under ...

read more

User services with runit


Runit is a pretty lightweight process supervisor (tool-set). It can be used alongside your distro's own init scripts to build flexible service structures.

To get a short overview/introduction one could read "Init scripts considered harmful", read a blog post or take a look on at the Arch Linux ...

read more

Keep in touch with your servers using XMPP

2012-10-10 | xmpp, monitoring, python


My first contact with XMPP was some years ago. Back then I had to glue together the and instant messaging features in one application providing an improved social experience while shopping over the internet.

Time has gone by and I still have Psi installed on ...

read more

A python can bite you too

2012-09-15 | django, python

While doing maintenance/bug fixing work on a website built with Django, a came across an issue with the commenting system. The problem was, that the order of the comments was not right sometimes. Comments which were placed as a comment on another comment were occasionally even displayed before their ...

read more

Piping hosts to Fabric

2012-09-11 | fabric, python

based on fabric version 0.9.1 and python 2.6

Fabric is a command-line tool and library which can be used to streamline various system administration and application deployment tasks providing facilities to run commands locally and remotely (through SSH).


For remote commands, you can specify the hosts ...

read more

Using TypoScript outside of Typo3

2012-07-02 | typo3, php

TypoScript is the main configuration language for the Typo3 Content Management System. Within Typo3 it is used for various things such as declaring what should be used to build the HTML of a page or declaring which "content columns" should be available to the CMS users for content entry.

For ...

read more