news
today's howtos
-
Linuxize ☛ Markdown Cheatsheet
Quick reference for Markdown syntax covering headings, formatting, links, images, lists, tables, code blocks, blockquotes, and common extensions.
-
Linux Capable ☛ How to Install Etherpad on Fedora 44
Install Etherpad on Fedora 44 as a managed systemd service with PostgreSQL-backed pads, a loopback-only listener, and Nginx at the public edge. Exact Git checkpoints, restore tests, and verify-first removal steps help protect collaborative data when the deployment changes.
-
ID Root ☛ How To Install OPNsense on Ubuntu 26.04 LTS
Every few months, someone on a networking forum asks the same question: “Can I install OPNsense directly on Ubuntu?”
-
peppe8o ☛ How to Install Stirling PDF on Raspberry Pi via Docker: A Real-World Performance Guide
This tutorial will show you how to install Stirling PDF on Raspberry Pi computer boards, giving you Docker commands to get it up and running in minutes [...]
-
It's FOSS ☛ Remapping the Useless Hey Hi (AI) Slop Copilot Key in Linux
Why let a key go to waste? I remapped the useless Copilot key on my keyboard to open a specific app.
-
Linuxize ☛ What Is stdin, stdout, and stderr in Linux
stdin, stdout, and stderr are Linux's three standard streams. See how file descriptors 0, 1, and 2 connect commands to terminals, files, and pipes.
-
Linuxize ☛ sha256sum Cheatsheet
Quick reference for generating and verifying SHA-256 and MD5 checksums with sha256sum, md5sum, and related GNU/Linux hash commands
-
Barry Kauler ☛ Fix sudo run as another user
EasyOS does not have 'sudo', instead has a light-weight replacement named 'sudo-sh': [...]
-
Hackaday ☛ Hackaday Europe 2026 – Build A Cable Modem For Your Arduino
Even for those of us that are quite technically minded, we spend precious little time thinking about the cables that carry our signals and do all the important work we need them to do on a daily basis. A great deal of theory and engineering goes into making things like telephone lines and HDMI cables work, but we mostly just plug them in and get on with whatever we’re doing.
-
Jason W Comeau ☛ Getting Started with Anchor Positioning
A common UI pattern on the web is having one element stick to another. Tooltips need to float above their targets, dropdown menus need to drop down from their triggers.
It seems pretty straightforward, but the devil is in the details. We might want our tooltip to float above its target, but if that target happens to be right at the top of the viewport, it’ll overflow: [...]
-
Kyle Reddoch ☛ Light Self Hosting Behind a Reverse Proxy
A self-hosted notes app or dashboard usually begins as a process listening on a local port. The risky step comes later: a router forward is added for convenience, an admin page is exposed along with the application, and nobody writes down which component renews the certificate or where the data is backed up.
A reverse proxy improves that design by giving web traffic one managed entry point. It can terminate TLS and route notes.example.com to one internal service and status.example.com to another. It does not patch either application, strengthen their login systems, or make a public admin panel private. Those remain separate jobs.
This guide is for a few services that one person or a small team can reasonably maintain. If the service handles regulated data, money, customer production workloads, or an availability commitment, the design needs more than a homelab checklist.
-
University of Toronto ☛ The early Research Unix exec(2) argv size limit
When you exec() something, you discard your current process's memory and address space to create create a new one for the new program. Your current (user) memory includes the argv you're passing to exec(), so the kernel has to copy it from your user space into the kernel and then back, temporarily holding it in some sort of kernel memory. In a modern kernel you might dynamically allocate this kernel memory in exec() through the kernel equivalent of malloc(), but the Research Unix kernels were simple and didn't have that sort of thing. Instead, through Research Unix V6, they got their temporary scratch space for exec() by allocating a disk buffer, reusing a facility the kernel already needed. These disk buffers were 512 bytes long, which is more or less where the 510 byte limit on argument size comes from.
-
TecMint ☛ agentOS: Run AI Agents in a Secure Linux Sandbox
Since I didn’t want an AI agent running random shell commands directly on my production server, every task needed its own isolated environment. Like many people, I started with Docker and later switched to a hosted sandbox service when Docker’s startup time became a bottleneck.
-
YouTube ☛ How to Install Arch Linux