CMake by Example

Mar 9, 2013

When trying to learn CMake I could not find any good introduction. The CMake documentation is quite comprehensive but not suitable for a beginner.
There are some useful tutorials linked on the CMake Wiki but most of them only cover very specific problems or are too basic.
So I wrote this short CMake introduction as a distilled version of what I found out after working through the docs and following stackoverflow questions.

Its a work in progress and I will try to continuously improve it.

CMake is a meta build tool that allows you to generate native build scripts for a range of platforms:

  • Unix Makefiles
  • Xcode
  • Visual Studio
  • CodeBlocks
  • Eclipse
  • and more...


Locking-in Knowledge

Feb 24, 2013

I hate it when I have to do extra work to publish and link to things I create on my local computer.

When I create notes and mark things in my PDF reader I want it to be instantly visible on the web. Same is true when working with any native app that allows me to create stuff.

The power of the web comes from the ability to link things - I can't link things inside desktop apps from the web!

Desktop apps are great for usability but they need to become a lot more open and connected.

Simple deployment to nginx using rsync

Jan 19, 2013

I'm hosting my websites on a small virtual server from Hetzner.

The setup with nginx was surprisingly simple after I found the right guides :)

I like to have all configs and data contained in one directory so that I can edit everything offline and just rsync it with the server.


Spawning a Node

May 2, 2011

I just published the source of what we’ve extracted out of whats been at the core of LivelyCouch. The result is a tiny generic library that gives you only a single function – “spawn”.

It allows you to spawn a Javascript function in a new Node.js instance and returns you an EventEmitter to communicate with it.

You can find more details on github:

Getting rid of C for-loops in Objective-C

Mar 15, 2011

Ever been annoyed by having to use C for-loops to do something simple like filtering or collecting objects from NSArray? Blocks finally allow you to get rid of them entirely!

As a Smalltalk lover I really had to write this simple library:

[someArray forEach:^(id each) {
  // do something with each element

NSArray* filteredArray = [someArray filter:^(id each) {
  return [each isEqual: aCoolObject];

NSArray* collectedArray = [someArray collect: ^(id each) {
  if([each isEqual: aCoolObject]) {
    return @"cool";
  } else {
    return @"not cool";

[someDictionary keysAndValues: ^(id key, id value) {
  //do something with the current key and value

Fork the source on github:

subscribe via RSS