Abdellatif Housni: TIL

Things I've learned, collected in abdelhousni/til. Site pattern and tooling adapted from simonw/til.
LinkedIn Badge

81 TILs so far. Atom feed.

Browse by topic: ansible 12 · apache 1 · claude-code 1 · cloud-init 1 · git 4 · github-pages 3 · gitlab-ci 1 · http 1 · kubernetes 13 · linux 3 · nixos 7 · oauth2 1 · packer 2 · podman 7 · proxmox 5 · python 2 · seo 4 · ssh 1 · terraform 4 · tls 3 · vscode 1 · windows 4

Recent TILs

ansible Building an Ansible execution environment from a locked requirements file - 2026-09-29

Third entry in the Ansible development environment series. An execution environment (EE) is a container image holding the whole Ansible runtime: ansible-core, ansible-runner, Python packages, collections and system packages. The first entry ranks it against the venv-based…

ansible Locking an Ansible development environment: pip, venv, pip-tools, uv or an execution environment - 2026-09-29

First entry in the Ansible development environment series. An Ansible project needs a runtime on the control node, the machine that runs ansible-playbook. That runtime has five layers, and each tool below fixes some of them:

ansible Pinning ansible-core with pip-tools, uv and Poetry - 2026-09-29

Second entry in the Ansible development environment series; the first ranks all the options. pip-tools, uv and Poetry all do the same job for an Ansible project. They record the exact ansible-core a project runs, plus everything it pulls in, so every laptop and CI job installs…

ansible Handling deployment failures with Ansible's block/rescue/always - 2026-09-29

Saw a LinkedIn post comparing Ansible's block/rescue/always to try/catch — deploy, roll back automatically on failure, alert the team, clean up regardless. It's a real, built-in Ansible feature (current docs), and it's more precise than "try/catch" once you look at what…

python Getting a newer Python on RHEL without touching the system python3 - 2026-09-29

RHEL (and Rocky/Alma/CentOS Stream) ties /usr/bin/python3 to whatever version the OS release shipped with. dnf and a bunch of system tooling depend on that exact interpreter, so replacing it is how you break dnf on the next update. uv, a Python package and project manager from…

terraform What Terraform, OpenTofu, and Packer promise about secrets, and where each promise stops - 2026-09-29

The Ansible Vault entry on this site was framed around a boundary Ansible states outright: encryption there "ONLY protects data at rest." Terraform's equivalent — the sensitive argument — makes no such promise, and it's worth being precise about which of the three tools can…

windows Installing PowerShell 7 on Windows, Debian and RHEL, the way Microsoft documents it - 2026-09-29

PowerShell 7 (pwsh) is the cross-platform PowerShell. On Windows, it installs next to Windows PowerShell 5.1 (powershell.exe) rather than replacing it. On Linux, Microsoft's preferred source is its own package repository, packages.microsoft.com ("PMC"). Commands below are from…

linux Checking new firewall rules with nc and Python: open, refused, or dropped - 2026-09-29

The security team has opened these flows for dar-servera:

claude-code Starting with Jev in Claude Code: a plugin that adds a skill, and an API key for experiments - 2026-09-29

Jev is TypeSafe's first "System One" model. It doesn't write text or code. You send it some state and a map of typed questions, and it answers each one with a number or a label: a yes/no probability, a choice among options, or a score. The idea is to replace fragile parsing, or…

linux Building a custom WSL2 kernel on GitHub Actions: `KCFLAGS`, not `CFLAGS` - 2026-09-28

A custom WSL2 kernel is one bzImage file and one line in .wslconfig. Compiling it takes a full Linux toolchain and a quarter of an hour of four cores. GitHub Actions provides both. Standard runners are free for public repositories, with 4 CPUs and 16 GB of RAM. Private…

ansible

github-pages

gitlab-ci

http

podman

proxmox

python

seo

tls

cloud-init

git

oauth2

kubernetes

packer

ssh

terraform

apache

linux

windows

vscode

nixos

claude-code