noun: bruelltuete; noun: brülltüte

a thing that make noise, communication device

For updates, check the Atom feed.
If you came here via search engine please press Ctrl-F or whatever to find your search term.
Most recently updated section is at the top (reverse-chronological).

Raspberry Pi Pico

Been messing around with a Raspi Pico. Here's some stuff that might be useful:

Mainboard review

Built a micro file server with a Biostar X470N board.

Read review here

HTML pre-formatted cron emails

To be honest, emails from cron are pretty hard to read. That's because they are "composed" by capturing some tool output that may have been intended for the console and thus use some form of ASCII art. This totally breaks with "modern" email clients that try to reflow the text, making daily status emails a jumble of... just mess, really.
But fear not, there is a simple fix: make cron email HTML-pre-formatted! Voila, ASCII art tables are readable again!
I doubt this will ever get merged into FreeBSD source, so apply that patch yourself.
If you are using it you'd want to set cron_flags="-H" in /etc/rc.conf and daily_output="" (and related) in /etc/periodic.conf so that periodic's output goes to console where cron will capture it and send onwards.

CPUID info

Had a hard time coming by "raw" CPUID information for some CPUs I was curious about. Therefore here now info for some of my CPUs, as dumped by cpuid-etallen:


An extended periodic chksetuid script for FreeBSD. Aims to be immune to locale/env changes thus reducing unnecessary noise in daily security emails.

Source on GitHub


Run processes with low CPU priority.

slowrunner is a tool that starts a given program under lowered CPU priority.
It is similar to the Windows-builtin "start /belownormal" command, however,
the low priority will also apply to any descendant processes.
If slowrunner is killed (e.g. by CTRL-C) all (recursively) started processes
die as well.

Use it like:
  slowrunner.exe [-0|-1|-2] [-d][-e][-x][-m][-w][-v][-pe|-pp] devenv.exe mysolution.sln

Parameters are:
  -0    Start with and enforce IDLE_PRIORITY_CLASS
  -1    Start with and enforce BELOW_NORMAL_PRIORITY_CLASS
  -2    Start with and enforce NORMAL_PRIORITY_CLASS
  -d    Assign a separate desktop to the child process.
        Windows created by descendants will not be visible.
  -e    Prevents the Windows Error Reporting dialog box to pop up.
        In case of an error, the started application simply dies hard.
  -x    Do not try to escape or quote the parameters.
  -m    Try to minimize the console window and the window of the started
  -w    Wait for grandchildren processes as well before terminating. Otherwise
        whenever the directly started process finishes, any remaining
        recursively started processes die hard as well.
  -pe   Exit/terminate child process(es) when AC-line disconnects and system
        starts to run off batteries.
  -pp   Pause all (grand-)child processes when AC-line disconnects. Resume on
  -v    Verbose: print details of what we are trying to run, and some other
        more or less useful diagnostics.

Parameter parsing stops at the first unrecognised option.

Download Windows binaries

Download source code


Change process priority with the press of a (hot-)key.

Download Windows binaries

Download source code