<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<title>Codemadness</title>
	<subtitle>blog with various projects and articles about computer-related things</subtitle>
	<updated>2026-03-29T00:00:00Z</updated>
	<link rel="alternate" type="text/html" href="https://www.codemadness.org" />
	<id>https://www.codemadness.org/atom.xml</id>
	<link rel="self" type="application/atom+xml" href="https://www.codemadness.org/atom.xml" />
<entry>
	<title>Wireguard on OpenBSD for use as a mobile VPN</title>
	<link rel="alternate" type="text/html" href="https://www.codemadness.org/wireguard.html" />
	<id>https://www.codemadness.org/wireguard.html</id>
	<updated>2026-03-29T00:00:00Z</updated>
	<published>2026-03-27T00:00:00Z</published>
	<author>
		<name>Hiltjo</name>
		<uri>https://www.codemadness.org</uri>
	</author>
	<summary>Guide to setup a Wireguard endpoint on OpenBSD to use as a (mobile) VPN</summary>
</entry>
<entry>
	<title>susmb: unprivileged mounting of SMB/CIFS shares via FUSE</title>
	<link rel="alternate" type="text/html" href="https://www.codemadness.org/susmb.html" />
	<id>https://www.codemadness.org/susmb.html</id>
	<updated>2026-03-06T00:00:00Z</updated>
	<published>2026-03-06T00:00:00Z</published>
	<author>
		<name>Hiltjo</name>
		<uri>https://www.codemadness.org</uri>
	</author>
	<summary>susmb: unprivileged mounting of SMB/CIFS shares via FUSE</summary>
</entry>
<entry>
	<title>Chess puzzle book generator</title>
	<link rel="alternate" type="text/html" href="https://www.codemadness.org/chess-puzzles.html" />
	<id>https://www.codemadness.org/chess-puzzles.html</id>
	<updated>2026-03-28T00:00:00Z</updated>
	<published>2024-02-02T00:00:00Z</published>
	<author>
		<name>Hiltjo</name>
		<uri>https://www.codemadness.org</uri>
	</author>
	<summary>Chess puzzle book generator</summary>
</entry>
<entry>
	<title>xargs: an example for parallel batch jobs</title>
	<link rel="alternate" type="text/html" href="https://www.codemadness.org/xargs.html" />
	<id>https://www.codemadness.org/xargs.html</id>
	<updated>2023-12-17T00:00:00Z</updated>
	<published>2023-11-22T00:00:00Z</published>
	<author>
		<name>Hiltjo</name>
		<uri>https://www.codemadness.org</uri>
	</author>
	<summary>xargs: an example for parallel batch jobs</summary>
</entry>
<entry>
	<title>Improved Youtube RSS/Atom feed</title>
	<link rel="alternate" type="text/html" href="https://www.codemadness.org/youtube-feed.html" />
	<id>https://www.codemadness.org/youtube-feed.html</id>
	<updated>2023-11-20T00:00:00Z</updated>
	<published>2023-11-20T00:00:00Z</published>
	<author>
		<name>Hiltjo</name>
		<uri>https://www.codemadness.org</uri>
	</author>
	<summary>Improved Youtube Atom feed by adding video duration and filtering away shorts</summary>
</entry>
<entry>
	<title>webdump HTML to plain-text converter</title>
	<link rel="alternate" type="text/html" href="https://www.codemadness.org/webdump.html" />
	<id>https://www.codemadness.org/webdump.html</id>
	<updated>2025-04-25T00:00:00Z</updated>
	<published>2023-11-20T00:00:00Z</published>
	<author>
		<name>Hiltjo</name>
		<uri>https://www.codemadness.org</uri>
	</author>
	<summary>webdump HTML to plain-text converter</summary>
</entry>
<entry>
	<title>Setup your own mail paste service</title>
	<link rel="alternate" type="text/html" href="https://www.codemadness.org/mailservice.html" />
	<id>https://www.codemadness.org/mailservice.html</id>
	<updated>2024-02-10T00:00:00Z</updated>
	<published>2023-10-25T00:00:00Z</published>
	<author>
		<name>Hiltjo</name>
		<uri>https://www.codemadness.org</uri>
	</author>
	<summary>Setup your own mail paste service using mblaze</summary>
</entry>
<entry>
	<title>A simple TODO application</title>
	<link rel="alternate" type="text/html" href="https://www.codemadness.org/todo-application.html" />
	<id>https://www.codemadness.org/todo-application.html</id>
	<updated>2022-07-01T00:00:00Z</updated>
	<published>2022-07-01T00:00:00Z</published>
	<author>
		<name>Hiltjo</name>
		<uri>https://www.codemadness.org</uri>
	</author>
	<summary>A simple TODO application workflow</summary>
</entry>
<entry>
	<title>2FA TOTP without crappy authenticator apps</title>
	<link rel="alternate" type="text/html" href="https://www.codemadness.org/totp.html" />
	<id>https://www.codemadness.org/totp.html</id>
	<updated>2022-10-29T00:00:00Z</updated>
	<published>2022-03-23T00:00:00Z</published>
	<author>
		<name>Hiltjo</name>
		<uri>https://www.codemadness.org</uri>
	</author>
	<summary>Using 2FA TOTP without crappy authenticator apps</summary>
</entry>
<entry>
	<title>Setup an OpenBSD RISCV64 VM in QEMU</title>
	<link rel="alternate" type="text/html" href="https://www.codemadness.org/openbsd-riscv64-vm.html" />
	<id>https://www.codemadness.org/openbsd-riscv64-vm.html</id>
	<updated>2021-10-26T00:00:00Z</updated>
	<published>2021-10-23T00:00:00Z</published>
	<author>
		<name>Hiltjo</name>
		<uri>https://www.codemadness.org</uri>
	</author>
	<summary>Setup an OpenBSD RISCV-64 VM in QEMU</summary>
</entry>
<entry>
	<title>Sfeed_curses: a curses UI front-end for sfeed</title>
	<link rel="alternate" type="text/html" href="https://www.codemadness.org/sfeed_curses-ui.html" />
	<id>https://www.codemadness.org/sfeed_curses-ui.html</id>
	<updated>2025-07-24T00:00:00Z</updated>
	<published>2020-06-25T00:00:00Z</published>
	<author>
		<name>Hiltjo</name>
		<uri>https://www.codemadness.org</uri>
	</author>
	<summary>Sfeed_curses is a curses UI front-end for the sfeed RSS/Atom parser</summary>
</entry>
<entry>
	<title>hurl: HTTP, HTTPS and Gopher file grabber</title>
	<link rel="alternate" type="text/html" href="https://www.codemadness.org/hurl.html" />
	<id>https://www.codemadness.org/hurl.html</id>
	<updated>2020-07-20T00:00:00Z</updated>
	<published>2019-11-10T00:00:00Z</published>
	<author>
		<name>Hiltjo</name>
		<uri>https://www.codemadness.org</uri>
	</author>
	<summary>hurl: HTTP, HTTPS and Gopher file grabber</summary>
</entry>
<entry>
	<title>json2tsv: a JSON to TSV converter</title>
	<link rel="alternate" type="text/html" href="https://www.codemadness.org/json2tsv.html" />
	<id>https://www.codemadness.org/json2tsv.html</id>
	<updated>2021-09-25T00:00:00Z</updated>
	<published>2019-10-13T00:00:00Z</published>
	<author>
		<name>Hiltjo</name>
		<uri>https://www.codemadness.org</uri>
	</author>
	<summary>json2tsv: a JSON to TAB-Separated Value converter</summary>
</entry>
<entry>
	<title>OpenBSD: setup a local auto-installation server</title>
	<link rel="alternate" type="text/html" href="https://www.codemadness.org/openbsd-autoinstall.html" />
	<id>https://www.codemadness.org/openbsd-autoinstall.html</id>
	<updated>2020-04-30T00:00:00Z</updated>
	<published>2019-04-24T00:00:00Z</published>
	<author>
		<name>Hiltjo</name>
		<uri>https://www.codemadness.org</uri>
	</author>
	<summary>OpenBSD: setup a local auto-installation server</summary>
</entry>
<entry>
	<title>Idiotbox: Youtube interface</title>
	<link rel="alternate" type="text/html" href="https://www.codemadness.org/idiotbox.html" />
	<id>https://www.codemadness.org/idiotbox.html</id>
	<updated>2021-12-25T00:00:00Z</updated>
	<published>2019-02-10T00:00:00Z</published>
	<author>
		<name>Hiltjo</name>
		<uri>https://www.codemadness.org</uri>
	</author>
	<summary>Idiotbox: Youtube interface</summary>
</entry>
<entry>
	<title>Gopher HTTP proxy</title>
	<link rel="alternate" type="text/html" href="https://www.codemadness.org/gopher-proxy.html" />
	<id>https://www.codemadness.org/gopher-proxy.html</id>
	<updated>2020-08-30T00:00:00Z</updated>
	<published>2018-08-17T00:00:00Z</published>
	<author>
		<name>Hiltjo</name>
		<uri>https://www.codemadness.org</uri>
	</author>
	<summary>Gopher HTTP proxy</summary>
</entry>
<entry>
	<title>Setup your own file paste service</title>
	<link rel="alternate" type="text/html" href="https://www.codemadness.org/paste-service.html" />
	<id>https://www.codemadness.org/paste-service.html</id>
	<updated>2018-03-10T00:00:00Z</updated>
	<published>2018-03-10T00:00:00Z</published>
	<author>
		<name>Hiltjo</name>
		<uri>https://www.codemadness.org</uri>
	</author>
	<summary>Howto setup your own secure file paste service</summary>
</entry>
<entry>
	<title>Setup your own git hosting service</title>
	<link rel="alternate" type="text/html" href="https://www.codemadness.org/setup-git-hosting.html" />
	<id>https://www.codemadness.org/setup-git-hosting.html</id>
	<updated>2022-08-07T00:00:00Z</updated>
	<published>2018-02-25T00:00:00Z</published>
	<author>
		<name>Hiltjo</name>
		<uri>https://www.codemadness.org</uri>
	</author>
	<summary>Howto setup your own git hosting service</summary>
</entry>
<entry>
	<title>Setup an OpenBSD SPARC64 VM in QEMU</title>
	<link rel="alternate" type="text/html" href="https://www.codemadness.org/openbsd-sparc64-vm.html" />
	<id>https://www.codemadness.org/openbsd-sparc64-vm.html</id>
	<updated>2020-04-18T00:00:00Z</updated>
	<published>2017-12-11T00:00:00Z</published>
	<author>
		<name>Hiltjo</name>
		<uri>https://www.codemadness.org</uri>
	</author>
	<summary>Setup an OpenBSD SPARC64 VM in QEMU</summary>
</entry>
<entry>
	<title>Tscrape: a Twitter scraper</title>
	<link rel="alternate" type="text/html" href="https://www.codemadness.org/tscrape.html" />
	<id>https://www.codemadness.org/tscrape.html</id>
	<updated>2020-07-20T00:00:00Z</updated>
	<published>2017-09-24T00:00:00Z</published>
	<author>
		<name>Hiltjo</name>
		<uri>https://www.codemadness.org</uri>
	</author>
	<summary>Tscrape: a Twitter scraper</summary>
</entry>
<entry>
	<title>jsdatatable: a small datatable Javascript</title>
	<link rel="alternate" type="text/html" href="https://www.codemadness.org/datatable.html" />
	<id>https://www.codemadness.org/datatable.html</id>
	<updated>2020-07-20T00:00:00Z</updated>
	<published>2017-09-24T00:00:00Z</published>
	<author>
		<name>Hiltjo</name>
		<uri>https://www.codemadness.org</uri>
	</author>
	<summary>jsdatatable: a small datatable Javascript</summary>
</entry>
<entry>
	<title>Stagit-gopher: a static git page generator for gopher</title>
	<link rel="alternate" type="text/html" href="https://www.codemadness.org/stagit-gopher.html" />
	<id>https://www.codemadness.org/stagit-gopher.html</id>
	<updated>2021-04-11T00:00:00Z</updated>
	<published>2017-08-04T00:00:00Z</published>
	<author>
		<name>Hiltjo</name>
		<uri>https://www.codemadness.org</uri>
	</author>
	<summary>a static git page generator for gopher</summary>
</entry>
<entry>
	<title>Saait: a boring HTML page generator</title>
	<link rel="alternate" type="text/html" href="https://www.codemadness.org/saait.html" />
	<id>https://www.codemadness.org/saait.html</id>
	<updated>2020-07-20T00:00:00Z</updated>
	<published>2017-06-10T00:00:00Z</published>
	<author>
		<name>Hiltjo</name>
		<uri>https://www.codemadness.org</uri>
	</author>
	<summary>Saait: a boring HTML page generator</summary>
</entry>
<entry>
	<title>Stagit: a static git page generator</title>
	<link rel="alternate" type="text/html" href="https://www.codemadness.org/stagit.html" />
	<id>https://www.codemadness.org/stagit.html</id>
	<updated>2021-04-11T00:00:00Z</updated>
	<published>2017-05-10T00:00:00Z</published>
	<author>
		<name>Hiltjo</name>
		<uri>https://www.codemadness.org</uri>
	</author>
	<summary>a static git page generator</summary>
</entry>
<entry>
	<title>OpenBSD httpd, slowcgi and cgit</title>
	<link rel="alternate" type="text/html" href="https://www.codemadness.org/openbsd-httpd-and-cgit.html" />
	<id>https://www.codemadness.org/openbsd-httpd-and-cgit.html</id>
	<updated>2021-04-11T00:00:00Z</updated>
	<published>2015-07-05T00:00:00Z</published>
	<author>
		<name>Hiltjo</name>
		<uri>https://www.codemadness.org</uri>
	</author>
	<summary>OpenBSD httpd, slowcgi and cgit</summary>
</entry>
<entry>
	<title>twitch: application to watch Twitch streams</title>
	<link rel="alternate" type="text/html" href="https://www.codemadness.org/twitch-interface.html" />
	<id>https://www.codemadness.org/twitch-interface.html</id>
	<updated>2020-12-14T00:00:00Z</updated>
	<published>2014-11-23T00:00:00Z</published>
	<author>
		<name>Hiltjo</name>
		<uri>https://www.codemadness.org</uri>
	</author>
	<summary>twitch: application to watch Twitch streams</summary>
</entry>
<entry>
	<title>Userscript: focus input field</title>
	<link rel="alternate" type="text/html" href="https://www.codemadness.org/userscript-focus-input-field.html" />
	<id>https://www.codemadness.org/userscript-focus-input-field.html</id>
	<updated>2014-03-02T00:00:00Z</updated>
	<published>2014-03-02T00:00:00Z</published>
	<author>
		<name>Hiltjo</name>
		<uri>https://www.codemadness.org</uri>
	</author>
	<summary>Userscript to focus the first input field on a page with a hotkey</summary>
</entry>
<entry>
	<title>Userscript: Youtube circumvent age verification</title>
	<link rel="alternate" type="text/html" href="https://www.codemadness.org/userscript-youtube-circumvent-age-verification.html" />
	<id>https://www.codemadness.org/userscript-youtube-circumvent-age-verification.html</id>
	<updated>2020-12-27T00:00:00Z</updated>
	<published>2013-02-21T00:00:00Z</published>
	<author>
		<name>Hiltjo</name>
		<uri>https://www.codemadness.org</uri>
	</author>
	<summary>Userscript to circumvent Youtube age verification and redirect to the video</summary>
</entry>
<entry>
	<title>Userscript: block stupid fonts</title>
	<link rel="alternate" type="text/html" href="https://www.codemadness.org/userscript-block-stupid-fonts.html" />
	<id>https://www.codemadness.org/userscript-block-stupid-fonts.html</id>
	<updated>2020-03-10T00:00:00Z</updated>
	<published>2012-10-21T00:00:00Z</published>
	<author>
		<name>Hiltjo</name>
		<uri>https://www.codemadness.org</uri>
	</author>
	<summary>Userscript to whitelist your favorite fonts and block the rest</summary>
</entry>
<entry>
	<title>Sfeed: simple RSS and Atom parser</title>
	<link rel="alternate" type="text/html" href="https://www.codemadness.org/sfeed-simple-feed-parser.html" />
	<id>https://www.codemadness.org/sfeed-simple-feed-parser.html</id>
	<updated>2022-11-05T00:00:00Z</updated>
	<published>2011-04-01T00:00:00Z</published>
	<author>
		<name>Hiltjo</name>
		<uri>https://www.codemadness.org</uri>
	</author>
	<summary>Sfeed is a simple RSS and Atom parser (and format programs to add reader functionality)</summary>
</entry>
<entry>
	<title>Vim theme: relaxed</title>
	<link rel="alternate" type="text/html" href="https://www.codemadness.org/vim-theme-relaxed.html" />
	<id>https://www.codemadness.org/vim-theme-relaxed.html</id>
	<updated>2011-01-07T00:00:00Z</updated>
	<published>2011-01-07T00:00:00Z</published>
	<author>
		<name>Hiltjo</name>
		<uri>https://www.codemadness.org</uri>
	</author>
	<summary>a dark VIM theme I made and use on a daily basis</summary>
</entry>
<entry>
	<title>Seturgent: set urgency hints for X applications</title>
	<link rel="alternate" type="text/html" href="https://www.codemadness.org/seturgent-set-urgency-hints-for-x-applications.html" />
	<id>https://www.codemadness.org/seturgent-set-urgency-hints-for-x-applications.html</id>
	<updated>2020-07-20T00:00:00Z</updated>
	<published>2010-10-31T00:00:00Z</published>
	<author>
		<name>Hiltjo</name>
		<uri>https://www.codemadness.org</uri>
	</author>
	<summary>Seturgent is a small utility to set an application it&#39;s urgency hint</summary>
</entry>
<entry>
	<title>DWM-hiltjo: my windowmanager configuration</title>
	<link rel="alternate" type="text/html" href="https://www.codemadness.org/dwm-hiltjo-my-windowmanager-configuration.html" />
	<id>https://www.codemadness.org/dwm-hiltjo-my-windowmanager-configuration.html</id>
	<updated>2020-07-20T00:00:00Z</updated>
	<published>2010-08-12T00:00:00Z</published>
	<author>
		<name>Hiltjo</name>
		<uri>https://www.codemadness.org</uri>
	</author>
	<summary>My DWM configuration; a few added features to suit my needs</summary>
</entry>
<entry>
	<title>Query unused CSS rules on current document state</title>
	<link rel="alternate" type="text/html" href="https://www.codemadness.org/query-unused-css-rules-on-current-document-state.html" />
	<id>https://www.codemadness.org/query-unused-css-rules-on-current-document-state.html</id>
	<updated>2010-04-21T00:00:00Z</updated>
	<published>2010-04-21T00:00:00Z</published>
	<author>
		<name>Hiltjo</name>
		<uri>https://www.codemadness.org</uri>
	</author>
	<summary>How to see all the rules in a stylesheet (CSS) that are not used for the current document</summary>
</entry>
<entry>
	<title>Driconf: enabling S3 texture compression on Linux</title>
	<link rel="alternate" type="text/html" href="https://www.codemadness.org/driconf-enabling-s3-texture-compression-on-linux.html" />
	<id>https://www.codemadness.org/driconf-enabling-s3-texture-compression-on-linux.html</id>
	<updated>2020-08-21T00:00:00Z</updated>
	<published>2009-07-05T00:00:00Z</published>
	<author>
		<name>Hiltjo</name>
		<uri>https://www.codemadness.org</uri>
	</author>
	<summary>driconf: enabling S3 texture compression</summary>
</entry>
<entry>
	<title>Getting the USB-powerline bridge to work on Linux</title>
	<link rel="alternate" type="text/html" href="https://www.codemadness.org/getting-the-usb-powerline-bridge-to-work-on-linux.html" />
	<id>https://www.codemadness.org/getting-the-usb-powerline-bridge-to-work-on-linux.html</id>
	<updated>2019-12-06T00:00:00Z</updated>
	<published>2009-04-13T00:00:00Z</published>
	<author>
		<name>Hiltjo</name>
		<uri>https://www.codemadness.org</uri>
	</author>
	<summary>A guide to get a USB-powerline bridge with the Intellon 51x1 chipset working on Linux</summary>
</entry>
<entry>
	<title>Gothic 1 game guide</title>
	<link rel="alternate" type="text/html" href="https://www.codemadness.org/gothic-1-guide.html" />
	<id>https://www.codemadness.org/gothic-1-guide.html</id>
	<updated>2026-03-14T00:00:00Z</updated>
	<published>2009-04-12T00:00:00Z</published>
	<author>
		<name>Hiltjo</name>
		<uri>https://www.codemadness.org</uri>
	</author>
	<summary>Gothic 1 game guide with some useful tips</summary>
</entry>
</feed>
