Cross-platform CLI Tools

Cross-platform CLI Tools

In this post I share a selection of cross-platform command-line tools that you can use interchangeably on PowerShell, CMD, WSL2, macOS and Linux. These are modern, fast and lightweight utilities that replace or greatly improve classic tools like ls, cd, find or even command history. They not only speed up everyday tasks, but also offer a more consistent user experience across systems. They don’t depend on specific shells like Bash or Zsh, and work the same whether you use PowerShell, Terminal, Alacritty, VSCode or any modern environment. As I discover new CLI utilities that fit this cross-platform, no-heavy-dependencies approach, I’ll keep adding them. …

July 19, 2025 · 3 min
Home mDNS

Home mDNS

Multicast DNS (mDNS) is a networking protocol designed to resolve hostnames to IP addresses within small networks, without the need for a local DNS server. It requires no configuration (zero-configuration) and uses the same programming interfaces, packet formats and operational semantics as unicast Domain Name System (DNS). It was designed to work as either a standalone protocol or alongside standard DNS servers. mDNS can work together with DNS Service Discovery (DNS-SD), a complementary zero-configuration networking technique specified separately in RFC 6763. …

March 9, 2025 · 6 min
Router with PiHole 6

Router with PiHole 6

A couple of months ago I moved the DHCP and DNS services to my home Linux router and left the Pi-Hole 5 service on a separate virtual machine. Despite everything working perfectly, I hit a snag: troubleshooting from PiHole is complicated because all DNS queries are resolved by the router and PiHole sees nothing. So I decided to redesign the setup. In this post I describe how I install Pi-Hole 6 on my Linux router so it provides DNS, DHCP (with dnsmasq) and ad sinkholing. This involves undoing the native dnsmasq installation. …

March 8, 2025 · 7 min
Self-Hosted Bitwarden

Self-Hosted Bitwarden

In this post I describe the process of installing a “Bitwarden” server. I’ve been using their Cloud service for several years, but I’ve decided to go with an on-premise home installation. While researching I discover with surprise that I have two options, the first is to use the official Bitwarden self-hosted (which consumes quite a few resources and seems complex) or go with a lightweight Vaultwarden, a clone of the former, which apparently installs quickly and is simple. …

March 2, 2025 · 4 min
DHCP and DNS Server

DHCP and DNS Server

In this post I describe how I’ve evolved my home DHCP and DNS server. Until now I had a PiHole dedicated on the network to DHCP, DNS and ad sinkhole. I’ve decided to migrate to a different configuration, move both DNS and DHCP services to the home router (Linux). I realized that when PiHole went down, the rest of the home services would spiral out of control, despite having the router and internet working, so I’m leaving PiHole exclusively as the ad sinkhole. …

December 26, 2024 · 10 min
CRLF vs LF

CRLF vs LF

When working in software development, one of the most subtle yet crucial aspects you need to be aware of is the difference between line endings in text files between Windows (CRLF \r\n) and Linux/MacOS (LF \n). This small detail can cause big problems if not handled correctly, especially when working in mixed environments – version control conflicts, script incompatibilities, compilation or execution issues. I wrote this post to have a handy reference for dealing with this topic, including a few tricks. …

September 28, 2024 · 3 min