Roland's homepage

My random knot in the Web

Older articles (3/17)

  1. State machines in Python

    State machines can be relatively easy defined as a data structure.

    It has been said that data structures are central to programming. So we should find a way to express a state machine into a data structure.

    The following dictionary of state transitions can be used to define a state …

  2. Fixing dependencies after mesa ports consolidation

    After the 2017-05-12 mesa port consolidation, there were packages left with missing dependencies. This is how to fix them


    The update from mesa 17.0.3 to 17.0.4 merged libGL, libEGL, libglesv2, libglapi, and gbm into mesa-libs, and moved dri to mesa-dri. I performed the update using …

  3. Building gphoto2-ffi on FreeBSD


    Clone the repository from

    > cd ~/github
    > git clone


    I had to specify where to find the include files.

    > env C_INCLUDE_PATH=/usr/local/include python3 build

    Install and clean-up

    # python3 install
    # python3 clean …
  4. Evaluating Zstandard compression

    Recently I became aware of the zstd compression program. I wanted to see how it stacks up against gzip, bzip2 and xz.


    Compression with zstd is blisteringly fast.

    But xz still yields the smallest files.

    Test setup

    The tests are done on an otherwise idle machine. The test …

  5. Removing big files from git history

    By accident I checked 60-odd full-size photographs into the git history of my website. I shrunk them in a next commit, but the history was still there leading to a bloated .git directory. This took a lot of time when making backups. This documents how I cleaned up this mess …

  6. Using gnuplot from Python

    According to my revision control systems (rcs in those days), I’ve been using gnuplot to make graphs since at least 2002. And I’ve got it set up via a custom gnuplotrc to match the style of the TeX documents I often use the graphs in.

    At work we …

  7. Comparing stock ffmpeg with optimized ffmpeg

    Recently FreeBSD changed the multimedia/ffmpeg port to drop the -ffast-math and -fno-finite-math-only from the CFLAGS when building an optimized binary. The following experiment was conducted to see how much of a difference this makes.

    First we look at ffmpeg binary compiled with the standard options.

    >du /usr/local/bin …
  8. PDF tricks

    This article contains several useful tricks for manipulating PDF files.

    The focus of this article is on Open Source and Free software, that are available for UNIX-like operating systems. These tools are made for use on the command-line of a shell.

    Adding password restrictions to a PDF file

    PDF …

  9. Updating python3 to 3.6

    This article document how I updated python3 from version 3.5 to 3.6 on FreeBSD.

    This article is written for FreeBSD 11-STABLE amd64. The procedure on other supported FreeBSD versions should be similar if not identical. Commands following a “>” can be run as an unprivileged user. Commands following …

  10. Chrome versus Firefox

    After trying google chrome (technicaly “chromium”) for about half a year, I switched back to mozilla firefox.

    After Firefox started requiring the rust language to build, I thought it might be a good idea to check out google’s Chrome browser, in the form of FreeBSD’s chromium port.

    I …

←  Page 2 Page 3 / 17 Page 4 →