Roland's homepage

My random knot in the Web


This is my home in the virtual world, where I write about things that I want to share. The freely available software that I've written as well as some of the photographs I've taken over the years can also be found here. Please use the navigation links on the right if you are looking for something.

Recent articles

  1. Modifying a FreeBSD port

    Installing software on FreeBSD is made easier by the ports system; a collection of Makefiles and patches that contains instructions on how to build programs and libraries. E.g. building and installing the mpv media player is done in the following way:

    # cd /usr/ports/multimedia/mpv
    # make install clean ...
  2. TeXcalc

    As an engineer, I often do diverse calculations that I want to save in my logbooks which I write in LaTeX. Up to now I've either formatted those by hand or used the listings package to include calculations made in IPython.

    These techniques are not optimal. Formatting by hand ...

  3. Stltools

    From the release of version 3.2, the py-stl software has been renamed to stltools. The reason I made this change mostly has to do with how FreeBSD handles packages. Programs that require an interpreter are prefixed with its name and version. So py-stl would become py27-py-stl, which would be ...

  4. Generate random passwords

    One way of making hard to guess passwords is to take random data and encode it with base64 to make it readable. This is what I've done in the script.

    This is mainly useful for passwords that you can store in a secure manner (like in an ...

  5. Repairing a color laserjet 2550

    Some time ago, my trusty old color laserjet 2550L more or less stopped printing, or at least I thought so. It turned out that the printer only printed in yellow. Which is not particularly useful.

    At the time I bought this printer not because I print very much, but because ...

  6. Installing OpenProject on FreeBSD

    At work we want to run OpenProject. But since this a ruby-on-rails app and installation on Windows is not supported, I volunteered to set up a dedicated FreeBSD server for it.


    The server install was a basic FreeBSD 10 install done via the memory stick image. On the harddisk ...

  7. Preventing the ~/Desktop direcory

    Some programs like e.g. Firefox have the annoying habit of creating a Desktop directory in your $HOME directory. It seems this is driven by the freedesktop specification, specifically xdg-user-dirs.

    Since I prefer a simple window manager to a complex and overweight “desktop environment”, this behavior annoys me to no end. Luckily there is a way to turn it off.

    Create a file named user-dirs.dirs in the directory ~/.config. This file should contain at least the following line:


    You should of course substitute your own username for <username>.

    There are several values that you can set in this file. Most of them only matter when you use a desktop environment. The defaults (without the XDG_ prefix and _DIR suffix) are defined in user-dirs.defaults.

    Some sources say that it is OK to use shell variables (like $ ...

  8. Keyword expansion with git

    Unlike systems like rcs, cvs and subversion, the git revision control system cannot provide keyword expansion. The cause for this is that you can't modify a file with information about the commit after you've committed, because git checksums the file first.

    Git git will let you inject text ...

  9. Initializing a new git repo for a project

    Create a directory for the new project:

    mkdir newproject
    cd newproject

    Initialize for git:

    git init

    Tell git which types of files to ignore, e.g. compiled Python files:

    printf '*.pyc\n*.pyo' >.gitignore

    Using filters we can change do keyword expansion during check-out. A filter named kw is defined ...

Page 1 / 11 »