IncludeIf: A digital space written in pencil
Articles
Series
Answerrit
/dev/null
About
Latest articles
Cut the noise: Declarative web components with HTMLElementSugar
2026-09-08
HTMLElementSugar simplifies web component development by eliminating boilerplate for attribute definitions, aliases, templates, and configuration inheritance.
Config based git hooks for fun and profit
2026-08-18
Git 2.54 adds config-based hooks, letting you share hooks across projects without a shared hooks directory — and without Husky staging a hostile takeover.
How to replicate bum
2026-07-14
Bum is small scripts, sensible guardrails, and gitconfig as a runtime — all built on git's own plumbing. No magic, no reinvention. Just git, used well.
All your Traefik are belong to us
2026-06-17
Run Traefik as a permanent service on your dev box. One wildcard cert, with real domains, and self-registering Docker projects. Scales to production too.
Greybeards rise
2026-05-19
How I unified my entire desktop under one vim colorscheme, iceberg, spanning terminal, prompt, i3, rofi, screensaver, and git. Consistency over aesthetics.
I just wanted PHP 8.2 (Composer had other ideas)
2026-04-21
Create a Laravel 12 project targeting PHP 8.2 while running 8.4. Composer said no. This is the docker workaround, and the permission fix that followed.
Yet Another CLI framework
2026-04-07
YA::CLI is a Perl CLI framework that eliminates boilerplate by auto-discovering subcommands, handling POD help pages, and using Moo roles — so you just write the logic.
Latest answers
Question: My Debian doesn't boot with a GUI
2026-08-25
Troubleshoot Debian not booting to GUI by checking display manager status, systemd targets, and default-display-manager configuration.
Question: How do I register deepin-terminal as an alternative on Debian?
2026-07-03
Register custom terminal emulators in Debian's alternatives system using update-alternatives, including --slave option for man page integration.
Question: How does Debian solve converging configuration files?
2026-06-02
Learn how to override Debian package configs without losing changes during upgrades using .d directories, ordering, and dpkg-diver
Question: How to avoid killing an i3 scratchpad window
2026-05-06
Why i3's scratchpad_state is always none in get_tree, how to find it on the floating_con parent, and a script to avoid killing scratchpad windows by mistake.
Latest snippets
vim and zsh: Creating directories for files with ease
zsh: drop sed for regexp-replace and use zstyle to avoid hardcoding things in a script
git status can now compare branches
zsh: Dynamically ignore files for autocomplete