hackitude: Collection of various coding projects – mainly related to Linux, networking, security, C/C++, and Python development.

Minimal init daemon as container entrypoint. Manages multiple processes in parallel without needing Docker Compose or the often fragile shell script approach.

Python library for managing todo lists on a NextCloud instance with the default Tasks app. Provides fully async access to the WebDAV API for managing iCal calendars.

Responsive console client for NextCloud todo lists, featuring convenient browsing and all common operations on lists and their tasks. Mouse support included.

Small script for playing any stream URL on a Chromecast Audio, for example from MPD, VLC, or a web radio. Supports automatic discovery and direct connections.

Adjust keystroke dynamics of MIDI NOTEON events from arbitrary input devices by mapping velocity values between ALSA sequencer i/o ports.

Simple python script that locally accepts any email and sends them to a remote server, unifying configuration and authentication without needing a real MTA.

Watch git repositories and trigger arbitrary pipelines such as docker build and run commands. Light on runtime resources and configuration overhead.

The default 256 ANSI color palette is not well suited for picking colors or gradients. A simple transformation reveals the underlying rainbow spectrum.

Watch the MPD playlist and automatically add similar songs before the queue runs out. Suggestions are based on LastFM or local heuristics such as genre tags.

Textual interface for the KeePass password manager databases. Provides convenient console access to KDBX files, as alternative to the lacking CLI support.

Syslog server and built-in Web-GUI with a simple query language, statistics plotting, and alerts. Logs are maintained as JSON files, no databases are involved.

Navigate the dungeons of a procedurally generated maze with real-time traced light effects. Noise textures and interactive light sources mark the way.

Create MaxMind-compatible GeoIP databases for IP geolocation from scratch, using only freely available address registry information and Whois-based Geofeeds.

Shift subtitles to be in sync with audio and video offset: Easily fix .srt files by adding or reducing the sub delay online. The first sentence can also start at a given point in time.

Collection of Makefile recipes, in especially for linting, testing, and documentation of projects with a Python or C/C++ pipeline.

Makefile snippets for branch prediction and call-graph profiling. The results can be used for performance analysis, optimized builds, and coverage QA.

Merge multiple logfiles to a single log stream or file. The interleaved result will again be sorted by increasing timestamps. Input files can be decompressed on-the-fly.

Parser for DWD open weather data into JSON. Detailed or simple worldwide hourly 10-day forecasts can be automatically generated without needing a special API.

Germany-wide live weather forecasts for the potential of drying laundry ten days in advance. Helps to choose the day with the best conditions for hanging out the wash.

Standalone IMAP mailbox filter tool that remotely sorts emails into folders according to centrally defined matching rules. Multiple accounts can be managed without additional software required.

Shorts

Generate moodbars used by various music players to navigate audio tracks. RGB color bands are derived by using the Fourier transform as provided by Python’s librosa.

Replace opaque LetsEncrypt certbot system configuration with a single timer commandline.

Standalone wrapper for self-hosting a GitWeb frontend as simple and unified replacement for git-instaweb.

Extract response content from HAR files, which can be captured by browser developer tools.

Fully customizable colorscheme and recursive grep support for the Ranger console file manager.

Create tracklists for the Lightweight Music Server via filename search or an existing playlist.

Directly create playlists from arbitrary search queries on tag metadata in audio files. Crawl a music library directory, check expressions against tags, and output matches for M3U playlists.

Nice borders for cowsay. Also features a small lolcat implementation.

Build an Matomo image with GeoIP library and database support. Also stream from syslog for live on-premise analytics.

Modernized AWStats theme stylesheet. More responsive towards high resolutions and with dark mode.

Plugin for the self-hosted RSS reader Selfoss that extracts a feed from website content via XPath queries.

Blocklists can also be directly used as hosts file for local resolvers, such as dnsmasq.

The volta javascript tool manager installs user-wide per default by modifying shell settings. A confined per-project installation just requires a few variables.

Ansible play to replace the controversial Firefox snap package on Ubuntu. The official Mozilla repository allows to use the .deb-based version via apt instead.

The default Xfce Greybird theme blends poorly with applications using Client-Side Decorations. A tweaked Xfwm theme provides better consistency and unified looks.

Archived

Sniff HTTPS traffic using libpcap and estimate plaintext HTTP request and response sizes from ciphertext metadata. This information can then be used to guess or identify accessed resources.

Lightweight and easily operable IRC daemon with SSL and systemd socket activation support. Allows for basic chat scenarios with essential IRC functionality.

Optimize the size of WOFF webfonts by deleting glyphs for characters that will not be used. Also, the vertical alignment of icons can be fixed for proper textflow baseline placement.

Explore a procedurally generated 3D-perspective 2D gameworld, including mazes and sokoban-like sublevels. Mainly interesting for basic OpenGL, texture tilemap, and geometry shader usage examples.

Including external resources for online social sharing buttons is not desirable for privacy reasons. Using local webfonts or icons avoids such tracking.

Inject missing files into an existing directory tree through a new filesystem. File contents are provided on-demand upon first access using external handlers.

Simple script that allows for stashing in SVN as e.g. supported by git. Working changes can be shelved interactively and thus committed selectively.

Spawn and trace a process using the ptrace system call. By interpreting i/o operations, all user interaction and communication can be transparently dumped to disk.

Convert copper lanes in Gerber format (e.g. from Fritzing) to a negative representation suitable for easy PCB milling. Unlike graphical approaches, only minimal rectangular CNC movements are needed.

Iptables statistics for collectd are per-rule only as unique rule comments are required. A small patch allows to sum up counter values of multiple rules.

Transparently intercept network traffic using the iptables nfqueue target. By simple string matches, payloads can be rewritten and re-injected on-the-fly.

Create a mosaic-like picture collage that consists of multiple input images. Each tile gets chosen from the input pool according to best matching color values.

CPU-only raytracer with interactive X-window or image output. Supports basic geometric primitives, lighting scenarios, and ambient occlusion approximation.

Run youtube-dl on “watch” URL requests and give playlists with resolved “videoplayback” audio URLs, suitable for most players with streaming support.

Simple kernel module (for 2.6.32-31) that simulates TTY keystrokes which are read from a character device. Incoming strings are sent to the current foreground terminal.

Alternative IR remote library using the non-standard Timer4 hardware interrupt on Arduino boards. Also features a more robust decoder for the common NEC infrared protocol.

Generate Intel NASM assembler code from a more intuitive programming language with basic higher-level features. Supported are for example variable typing, scoping, conditionals, and loops.

Interactively synchronize contents of two directories into a merged, up-to-date version. Both sides can each have independent changes that will be resolved.

Replace function calls in binaries with external tools or scripts using an LD_PRELOAD shared library. Useful for debugging or closed-source patching purposes.

Tunnel arbitrary traffic via HTTP using a local SOCKS daemon and a remote PHP proxy script. By only relying on plain HTTP requests, even default PHP installations are suitable endpoints.

Transparently intercept HTTPS traffic for access control, content inspection, or caching. Certificates are pre-computed or generated on-the-fly.

Brute-force MD5 hashes on a GPU by using OpenGL vertex shaders for parallelism. The keyspace can be salt-prefixed and restricted to a certain character range.

Manage a pool of proxies to be used globally or explicitly for certain applications. Arbitrary traffic can be tunneled via multiple upstream endpoints.

Parse a markdown file and pretty-print to the terminal, including colors, glyphs, and text wrapping. Gives a manpage-like experience for markdown on console.