stefan's blag and stuff


  1. 2018 Feb 10

    Domain discontinued

    On Jan 19th, 2019 – in one year – we discontinue the domain After this date the domain, webpage and email is not under our control. We are not responsible for the content anymore.

    Currently – Feb 10th, 2018 – the webpage still hosts a simple webpage and javascript counter being a placeholder for an old drupal installation that a friend of mine and I hosted for our school and class mates. It was a lot of fun to create and build this website back in 2008/2009. Since our school days are already a long time ago we decided to cancel the domain contract for the domain

    If you want to see the simple webpage and counter after the domain contract has expired, you can visit I have reuploaded the html and javascript under a subdomain of so you and I look at the slowly but constantly increasing seconds since we left school and conquered the world.

    read more…
  2. 2017 Sep 15

    Yocto Recipes vs Packages

    While working with the Yocto/OpenEmbedded build system on a daily base I have learned a lot about the inner workings and maybe have already hit any pitfall that it contains. But while debugging and digging through the source code, I have always learned something new and have understood more of the magic.

    Since I didn't found any good explanation about the differences between recipes and packages, which is fundamental in the build system, here is my explanation: There is a nice to read blogpost More on Yocto Terminology – recipes and packages by Christopher Hallinan posted 2012, I found yesterday. Infact it was not hard to find. I you want to read another explanation, here it comes:

    read more…
  3. 2017 Sep 13

    How to do a basic and simple Yocto build

    The Yocto Project is an effort by the Linux Foundation to make building Linux based systems for embedded devices easier and more consistent. The community and industrial partners develop and maintain the Yocto build system. It consists of the reference distribution poky which is bundled together with bitbake, openembedded-core and an extensive amount of documentation in a git repository that is also called poky. Other known buildsystems for embedded devices are: ptxdist, buildroot and openwrt.

    In the last three years of my professional software developer life I used and work with the Yocto build system. As with every piece of software you use in your daily work, I have learned to hate it :-) Since the internet lacks some good and brain-dump copy&paste guides to just try out and build a poky image, here is it. My step by step guide: How to do a basic and simple Yocto build.

    I use the name simple instead of minimal for these build instructions, because you do not have to configure at lot of stuff. It works out of the box and should work reliable for different versions of poky.

    It's also not minimal because the build requires 30 GB of disk space and needs to download 5.2 GB of source code archives.

    read more…
  4. 2017 Sep 12

    About git tags

    What is a tag in git, the stupid content tracker? For short: It's an ordinary file in the git directory .git/refs/tags/ (the refs/tags/ namespace) containing a SHA1 checksum of a git object and is listed by the command git tag in alphabetical order. [1]

    But that's not everything you can say or write about tags. This blogpost covers some bits and piece that I have learned along the way and was sometimes surprising to me. So if you are curious, read on:

    read more…
  5. 2017 Sep 11

    How to restart a failed scp file upload

    From time to time I'm transferring big files (up to 150 GiB) over relative slow network links or to slow servers. These are either tar.gz backups, disk images or huge photo collections. Since the fancy web-UIs are non-scriptable, bloated and suffer from timeout issues, I prefer to use the scp command over a SSH connection:

    $ scp

    The command assumes that you have configured the host in your local ~/.ssh/config or your local username is the same as remote.

    Needless to say that a long running scp command can fail after some hours or days when your network connection is unstable, e.g. your upstream provider rotates your IP-address every 24 hours.

    In that case just reexecuting the scp is suboptimal, because it truncates the remote file, restarts the transfer from scratch and mostly will fail again.

    It would be really nice to have a commandline argument to reuse the already transfered bytes. Sadly scp does not have this feature, but rsync comes to rescue:

    read more…