Software Design Principles

I have tried to collect the most important principles of software development. At least I consider them extremely important, I am sure that other people think otherwise. Good software designs should follow these principles as much as possible. Follow the links to learn more about the principles:

  • DRY Don’t Repeat Yourself
  • PoLS Principle of Least Surprise
  • DTSTTCPW Do The Simplest Thing That Could Possibly Work
  • YAGNI You Aren’t Gonna Need It

Continue reading

Svnadmin Dump And Load Over SSH

This is how I mirrored my subversion repository over a SSH connection:

svnadmin dump /path/to/repository |ssh -C username@servername 'svnadmin -q load /path/to/repository/on/server'

Before this works you need to log in on the server servername and create a repository with e.g. svnadmin create /path/to/repository/on/server.

How To Read a Paper

Some time ago there was a question on Lambda the Ultimate that asked how people read papers.

My problem is to quickly select the most promissing papers from the gazillions that are available. So, this is how I do it:

  1. Read the title
  2. Quickly skim the abstract – get an overview what it is all about
  3. Read the conclusion – find out what the paper really wants to tell you
  4. Really read the abstract – find out how the paper comes to the conclusion
  5. Read TOC – find out which chapters are worth reading
  6. Read the chapters that are worth reading.

After each step I decide if it is worth to spend more time on it or to move on to other papers.

Subversion Guideline

Some time ago I have written a Subversion Guideline. Contrary to the usual subversion information found on the web, I have tried to describe the subversion policies used in a project I work in as compact as possible. The result is now a 1 page description that can be nicely printed and pinned right next to the monitor.

Get it here, in different formats:

It is very likely that this guideline does not fit your exact need, you have to modify it to the development environment you want to apply it to. But it should be a good start.

My First Research Project

I have recently met a really old friend of mine, with whom I have done quite a lot crazy things like building a professional bow and then hunting rabbits, abseiling from a bridge, diving, building remote controlled bombs, etc. (yes we were young and stupid, but it was great and I do not miss a second of this :-)

One of our most advanced projects and what I consider my first research project ever, was an electric driven bicycle that was equiped with a windscreen whiper motor and severy rechargeable buggy batteries:


electric driven bicycle

This picture was taken in summer 1994, my friend Bernhard to the left, and me on the right. Believe me, it worked. Not only that, it totally rocked :-)