RSSAmplifier

Blog

J. Wied

RSS feed ↗16 posts

Latest posts

Learning Raku

J. Wied 2026-06-29 Learning Raku After 16 years with Perl 5 (since 2010) I m finally learning some Perl 6 (aka Raku). There is no particular trigger for that. Perl 5 is still my favorite scripting language. I can t imagine leaving it behind anytime soon. Why then? At work, our codebase is ~1.5 millions LoC. Many parts of it run concurrently via Mojolicious. I think, having built-in concurrency…

Tekel

J. Wied 2026-06-12 Tekel This is a program for testing command-line programs. Tutorial Suppose, you rewrote echo in Rust. Now you want to test it. E.g. echo -n hello should produce hello . Make a directory named as your program with arguments: mkdir 'echo -n' Create an input file for each case you want to test: touch 'echo -n hello' Create a file containing the expected output: printf "hello"…

Dynamic Options with OCaml’s Arg Library

J. Wied 2026-06-10 Dynamic Options with OCaml s Arg Library The compiler I m working on accepts several options - like most other command line programs. However, I wanted to allow only some combinations. E.g. in -i interpret -msp430 [mcu] compile for some MSP430 MCU -S emit assembly code the -S should only be valid with -msp430 . Turns out you can implement this restrictions with OCaml s Arg…

Kosten eines BE-Führerscheins (in 2026)

J. Wied 2026-02-22 Kosten eines BE-Führerscheins (in 2026) Grundgebühr Fahrschule: 130 EUR Erste-Hilfe-Kurs: 39,99 EUR Sehtest: 6,50 EUR Gebühr Kreis: 45,10 EUR Prüfungsgebühr TÜV: 129,83 EUR 5 Übungsfahrten: 295 EUR 3 Überlandfahrten: 234 EUR 1 Autobahnfahrt: 78 EUR 1 Nachtfahrt: 78 EUR Prüfungsgebühr Fahrschule: 195 EUR Summe: 1231,42 EUR Eigentlich dachte ich, der würde nur 700 bis 800 EUR…

Buchrezensionen

J. Wied 2026-01-18 Buchrezensionen Blandy Orendorff Tindall: Programming Rust I have only read about half of it. It s a good book about Rust, but Rust is not for me (yet). Bubenzer: Überrascht von Furcht crosstalk dürfte den meisten jungen Christen ein Begriff sein. Dieses Buch wurde von einem der beiden Typen geschrieben. Eine Zeitlang war es sogar auf der Amazon-Bestsellerliste. Wie der Titel…

f

J. Wied 2025-08-28 f This is a Vim9 plugin for finding buffers, files, and lines. Commands :Fb :Ff :Fl Install or Update $ curl https: j.wied.co f.vim \ --create-dirs \ -o $HOME .vim pack plugins start f plugin f.vim

uebertab

J. Wied 2025-08-21 uebertab This is a Vim plugin for supercharging the tab key. In normal mode, it jumps over indented lines. In insert mode, it completes the current word. Example Pressing tab anywhere on the first line will jump to the third line, because they have the same indentation: 1: A 2: B 3: C Install Update $ curl https: j.wied.co uebertab.vim \ --create-dirs \ -o $HOME .vim pack…

shellcheck

J. Wied 2025-07-18 shellcheck This is a Vim9 plugin for checking shell scripts. It will run shellscript whenever you open or write a shell script. The warnings are shown beneath the lines they are caused by. You can jump between them with [w and ]w . Install or Update $ curl https: j.wied.co shellcheck.vim \ --create-dirs \ -o $HOME .vim pack plugins start shellcheck plugin shellcheck.vim

perlcritic

J. Wied 2025-07-17 perlcritic This is a Vim9 plugin for critical Perl. It will run perlcritic whenever you open or write a Perl file. The warnings are shown beneath the lines they are caused by. You can jump between them with [w and ]w . Example Install or Update $ curl https: j.wied.co perlcritic.vim \ --create-dirs \ -o $HOME .vim pack plugins start perlcritic plugin perlcritic.vim

Althttpd

J. Wied 2025-07-03 Althttpd This is a tutorial for Althttpd - an HTTP server made by the SQLite crew. Build First, download althttpd.c . Then, create a file named VERSION.h : #define COMPILER "cc" #define MANIFEST_DATE "2025-07-03" #define MANIFEST_ISODATE "2025-07-03" #define MANIFEST_UUID "1" #define RELEASE_VERSION "2" Finally, compile the server: cc \ -DENABLE_TLS \ -I usr local include \ -L…

git-plot

J. Wied 2025-06-13 git-plot This is a program for plotting changes in a Git repository. Tutorial Go to into some Git repository: $ cd my-git-repo Plot all insertions and deletions in the last 30 days: $ git plot -30 ▃▅▉_▂▃▂▁▂▂_▄▁▄▂▂▁▁▂▂▁▂▁▁▁_▁▁▁_ Plot all insertions and deletions made by Linus Torvalds: $ git plot --author "Linus Torvalds" _▁▄▂▄▃_▂▉▃▃▅▁__▂▃▂▁_▂▂▂▃▄▂▃▁▄▄ Plot all insertions and…

Static OCaml Binaries

J. Wied 2025-01-18 Static OCaml Binaries When compiling OCaml files with -ccopt -static you might get the following warning: Using 'dlopen' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking This can be fixed by the following steps: install musl ( musl-bootstrap on VoidLinux) create a static switch: opam switch create 5.3.0+static…

Creating Databases on-the-fly with DBD::SQLite

J. Wied 2025-01-16 Creating Databases on-the-fly with DBD::SQLite At my current job the main API between developers and sales people are CSV sheets. In the past we imported these CSVs into an SQLite database, commited everything to Git, and pushed it to production. Now, in a new service, we just commit the CSVs and build the DB on-the-fly at startup: use warnings; use strict; use DBI; my $csv =…

<a href="https://lychee.electerious.com">Lychee</a> auf OpenBSD

J. Wied 2022-02-12 Lychee auf OpenBSD Pakete installieren: pkg_add \ php \ php-gd \ php-pdo_sqlite \ php-sqlite3 \ php-zip \ pecl80-imagick Verzeichnis anlegen: mkdir var www htdocs lychee httpd einstellen: server "default" { listen on * port 80 root " htdocs lychee public" directory index "index.php" authenticate with " htdocs lychee htpasswd" # PHP wem PHP gebuehrt location "*.php" { fastcgi…

eth0 statt enp0s31f6

J. Wied 2021-12-11 eth0 statt enp0s31f6 Früher hatten die Netzanschlüsse bei Linux deterministische Namen wie eth0 , wlan0 , etc. Jetzt heißen sie z.B. enp0s31f6 oder wlp59s0 . Wem das alte Namensschema besser gefällt, kann es so wiederherstellen: in der etc default grub die Variable GRUB_CMDLINE_LINUX_DEFAULT um die Option net.ifnames=0 erweitern, z.B. so: GRUB_CMDLINE_LINUX_DEFAULT="loglevel=4…

Comparison of MSP430 compilers

J. Wied 2018-01-12 Comparison of MSP430 compilers Abstract The MSP430 has one of the simplest RISC ISAs out there, let alone CISC ISAs. However, after using assembly for some time I got tired of hand optimizing it over and over again. Here I compare some of the C compilers available for the MSP430. At the end we ll see IAR does the best job. Starting point Compiler comparison is usually done by…