news
today's howtos
-
idroot
-
ID Root ☛ How To Install Lighttpd on Debian 13
Lighttpd (pronounced “Lighty”) stands as one of the most efficient and lightweight web servers available today. This high-performance server excels at serving static content while consuming minimal system resources, making it an ideal choice for resource-constrained environments, embedded systems, and high-traffic websites.
-
ID Root ☛ How To Install Puppet on Debian 13
Managing multiple servers manually becomes increasingly challenging as your infrastructure grows. Puppet offers a powerful solution for automating configuration management across your entire infrastructure. This comprehensive guide walks you through installing and configuring Puppet Server and Agent on Debian 13 Trixie, enabling you to manage your systems efficiently from a centralized location.
-
ID Root ☛ How To Install Puppet on Rocky GNU/Linux 10
Configuration management has become essential for modern IT infrastructure. Puppet stands out as one of the most powerful automation tools available, enabling system administrators to manage thousands of servers efficiently. Rocky GNU/Linux 10, as a robust enterprise-grade distribution, provides an excellent foundation for Puppet deployment.
-
-
Sean McPherson ☛ CSS nesting is (almost) ready
I've been hearing a lot about CSS nesting, but I figured that it was still years away from being ready for use even on a site like this.
-
Cassidy Williams ☛ The what, how, and why of CSS clamp()
CSS clamp() is cool and you should use it.
In a sentence, clamp() lets you assign a value to a CSS property between a minimum and a maximum range, and uses a preferred value in that range. It’s really helpful for responsive layouts and typography!
-
Markup from Hell ☛ Controlling dialogs and popovers with the Invoker Commands API - HTMHell
The Invoker Commands API adds new attributes to the <button> element to control interactive elements on the page such as popovers and modal dialogs without having to write JavaScript. Dialogs have been available in all modern browsers since March 2022, and the Popover API is available in all modern browsers as of January 2025.
Until now, users wanting to implement the <dialog> element needed to write their own JavaScript to power the show and hide functionality using the HTMLDialogElement interface, while the Popover API and Invoker Commands API for popovers work identically by using HTMLElement attributes to show, hide, or toggle the popover.
-
Web Performance Calendar ☛ Web Performance 2025: The Shift from Optimization to Prediction - Web Performance Calendar
To build instantly loading websites was always my goal. For years, however, this remained an aspirational target rather than a technical reality for the open web. We spent a decade optimizing critical rendering paths and shaving milliseconds off Time to First Byte, but the physical limits of the network always kept “true instant” just out of reach.
But this changed in 2025—at least for Chromium browsers.
-
University of Toronto ☛ Our mixed assortment of DNS server software (as of December 2025)
Without deliberately planning it, we've wound up running an assortment of DNS server software on an assortment of DNS servers. A lot of this involves history, so I might as well tell the story of that history in the process. This starts with our three sets of DNS servers: our internal DNS master (with a duplicate) that holds both the internal and external views of our zones, our resolving DNS servers (which use our internal zones), and our public authoritative DNS server (carrying our external zones, along with various relics of the past). These days we also have an additional resolving DNS server that resolves from outside our networks and so gives the people who can use it an external view of our zones.
-
University of Toronto ☛ Turning to systemd units for easy capturing of log output
Suppose, not hypothetically, that you have a third party tool that you need to run periodically. This tool prints things to standard output (or standard error) that are potentially useful to capture somehow. You want this captured output to be associated with the program (or your general system for running the program) and timestamped, and it would be handy if the log output wound up in all of the usual places in your systems for output. Unix has traditionally had some solutions for this, such as logger for sending things to syslog, but they all have a certain amount of annoyances associated with them.
-
Rob Zolkos ☛ Vanilla CSS is all you need
I cracked open the source code for Campfire, Writebook, and Fizzy and traced the evolution of their CSS architecture. What started as curiosity became genuine surprise. These are not just consistent patterns. They are improving patterns. Each release builds on the last, adopting progressively more modern CSS features while maintaining the same nobuild philosophy.
These are not hobby projects. Campfire is a real-time chat application. Writebook is a publishing platform. Fizzy is a full-featured project management tool with kanban boards, drag-and-drop, and complex state management. Combined, they represent nearly 14,000 lines of CSS across 105 files.
Not a single line touches a build tool.