<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>Daniel Cosenza&apos;s Blog</title><description>Deep technical notes on operating systems, virtualization, and cloud-native infrastructure — kernels, filesystems, emulation, and the history behind the tools that keep systems running.</description><link>https://danielcosenza.com</link><language>en-us</language><item><title>Fixing a Failed or Stuck Helm Release</title><link>https://danielcosenza.com/posts/devops-fix-helm-release-failed</link><guid isPermaLink="true">https://danielcosenza.com/posts/devops-fix-helm-release-failed</guid><description>A helm upgrade fails partway, or a release gets stuck in &apos;pending-upgrade&apos; state, blocking every subsequent operation on it. Here&apos;s how to actually recover instead of getting stuck retrying the same failing command.</description><pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate><category>SRE &amp; DevOps</category><category>fix</category><category>helm</category><category>kubernetes</category></item><item><title>Fixing ImagePullBackOff in Kubernetes</title><link>https://danielcosenza.com/posts/devops-fix-imagepullbackoff</link><guid isPermaLink="true">https://danielcosenza.com/posts/devops-fix-imagepullbackoff</guid><description>A pod can&apos;t start because Kubernetes can&apos;t pull its container image — the fix depends entirely on which of a handful of specific causes is actually responsible, from a typo to a private registry auth problem.</description><pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate><category>SRE &amp; DevOps</category><category>fix</category><category>kubernetes</category><category>containers</category></item><item><title>Fixing a Kubernetes Node Stuck NotReady</title><link>https://danielcosenza.com/posts/devops-fix-node-not-ready</link><guid isPermaLink="true">https://danielcosenza.com/posts/devops-fix-node-not-ready</guid><description>kubectl get nodes shows a node stuck in NotReady state, and pods are being evicted from it. Here&apos;s how to check kubelet, container runtime, and network plugin health in the right order.</description><pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate><category>SRE &amp; DevOps</category><category>fix</category><category>kubernetes</category><category>nodes</category></item><item><title>Fixing OOMKilled Containers with Correct Resource Limits</title><link>https://danielcosenza.com/posts/devops-fix-oomkilled-containers</link><guid isPermaLink="true">https://danielcosenza.com/posts/devops-fix-oomkilled-containers</guid><description>A container gets killed repeatedly with reason OOMKilled, even though the application &apos;shouldn&apos;t&apos; need that much memory. Here&apos;s how to find its actual peak usage and set limits that reflect reality instead of guesses.</description><pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate><category>SRE &amp; DevOps</category><category>fix</category><category>kubernetes</category><category>memory</category><category>resource-limits</category></item><item><title>Fixing Pods Stuck in Pending State in Kubernetes</title><link>https://danielcosenza.com/posts/devops-fix-pending-pods</link><guid isPermaLink="true">https://danielcosenza.com/posts/devops-fix-pending-pods</guid><description>A pod stuck Pending means the scheduler couldn&apos;t place it anywhere — here&apos;s how to read the actual reason from pod events instead of guessing at resource, taint, or affinity problems.</description><pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate><category>SRE &amp; DevOps</category><category>fix</category><category>kubernetes</category><category>scheduling</category></item><item><title>Fixing Terraform Provider Version Conflicts</title><link>https://danielcosenza.com/posts/devops-fix-terraform-provider-conflicts</link><guid isPermaLink="true">https://danielcosenza.com/posts/devops-fix-terraform-provider-conflicts</guid><description>terraform init fails with incompatible provider version constraints, or plan produces unexpected changes after an update. Here&apos;s how to read the constraint error and pin versions correctly across a team.</description><pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate><category>SRE &amp; DevOps</category><category>fix</category><category>terraform</category><category>providers</category></item><item><title>How to Set Up Canary Analysis with Automated Rollback</title><link>https://danielcosenza.com/posts/devops-howto-canary-automated-rollback</link><guid isPermaLink="true">https://danielcosenza.com/posts/devops-howto-canary-automated-rollback</guid><description>A complete walkthrough using Flagger to automate a canary rollout that promotes or rolls back based on real metrics — no human needing to watch a dashboard and decide manually.</description><pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate><category>SRE &amp; DevOps</category><category>howto</category><category>canary</category><category>flagger</category><category>kubernetes</category></item><item><title>How to Implement GitOps with ArgoCD</title><link>https://danielcosenza.com/posts/devops-howto-gitops-argocd</link><guid isPermaLink="true">https://danielcosenza.com/posts/devops-howto-gitops-argocd</guid><description>A complete walkthrough setting up ArgoCD so a Git repository becomes the single source of truth for your cluster state — deploy by merging, not by running kubectl commands manually.</description><pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate><category>SRE &amp; DevOps</category><category>howto</category><category>gitops</category><category>argocd</category><category>kubernetes</category></item><item><title>How to Set Up Kubernetes NetworkPolicies</title><link>https://danielcosenza.com/posts/devops-howto-network-policies</link><guid isPermaLink="true">https://danielcosenza.com/posts/devops-howto-network-policies</guid><description>A complete walkthrough restricting which pods can talk to which — Kubernetes allows all pod-to-pod traffic by default, and NetworkPolicies are how you actually change that.</description><pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate><category>SRE &amp; DevOps</category><category>howto</category><category>networkpolicy</category><category>kubernetes</category><category>security</category></item><item><title>How to Configure Pod Disruption Budgets in Kubernetes</title><link>https://danielcosenza.com/posts/devops-howto-pod-disruption-budgets</link><guid isPermaLink="true">https://danielcosenza.com/posts/devops-howto-pod-disruption-budgets</guid><description>A complete walkthrough setting PodDisruptionBudgets so voluntary disruptions — node drains, cluster upgrades — never take down more replicas of a service than it can actually tolerate at once.</description><pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate><category>SRE &amp; DevOps</category><category>howto</category><category>kubernetes</category><category>pdb</category><category>availability</category></item><item><title>How to Set Up Prometheus and Grafana Monitoring for Kubernetes</title><link>https://danielcosenza.com/posts/devops-howto-prometheus-grafana</link><guid isPermaLink="true">https://danielcosenza.com/posts/devops-howto-prometheus-grafana</guid><description>A complete walkthrough deploying Prometheus to scrape cluster metrics and Grafana to visualize them — the standard monitoring pairing across the cloud-native ecosystem.</description><pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate><category>SRE &amp; DevOps</category><category>howto</category><category>prometheus</category><category>grafana</category><category>monitoring</category></item><item><title>How to Write a Helm Chart from Scratch</title><link>https://danielcosenza.com/posts/devops-howto-write-helm-chart</link><guid isPermaLink="true">https://danielcosenza.com/posts/devops-howto-write-helm-chart</guid><description>A complete walkthrough building a Helm chart for a simple application — templates, values, and the conventions that make a chart genuinely reusable rather than a one-off wrapper around raw YAML.</description><pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate><category>SRE &amp; DevOps</category><category>howto</category><category>helm</category><category>kubernetes</category><category>packaging</category></item><item><title>Docker Donates containerd to the Cloud Native Computing Foundation</title><link>https://danielcosenza.com/posts/devops-news-containerd-donated</link><guid isPermaLink="true">https://danielcosenza.com/posts/devops-news-containerd-donated</guid><description>Accepted as an incubating CNCF project on March 29, 2017, containerd split out the core container-runtime functionality from Docker itself — becoming the shared runtime foundation much of the ecosystem, including Kubernetes, later standardized on.</description><pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate><category>SRE &amp; DevOps</category><category>news</category><category>containerd</category><category>cncf</category></item><item><title>Kubernetes Removes Dockershim in Version 1.24</title><link>https://danielcosenza.com/posts/devops-news-dockershim-removed</link><guid isPermaLink="true">https://danielcosenza.com/posts/devops-news-dockershim-removed</guid><description>Deprecated in December 2020 and fully removed in the April 2022 release of Kubernetes 1.24, dockershim&apos;s removal ended direct Docker Engine support in kubelet — a roughly 16-month migration window the project deliberately built in.</description><pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate><category>SRE &amp; DevOps</category><category>news</category><category>kubernetes</category><category>dockershim</category></item><item><title>Helm Is Born at the First KubeCon, Modeled on Homebrew and apt</title><link>https://danielcosenza.com/posts/devops-news-helm-created</link><guid isPermaLink="true">https://danielcosenza.com/posts/devops-news-helm-created</guid><description>Started as a Deis project on October 15, 2015, Helm brought familiar package-manager concepts to Kubernetes — later merging with Google&apos;s Deployment Manager to become the Helm 2 the ecosystem would standardize on.</description><pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate><category>SRE &amp; DevOps</category><category>news</category><category>helm</category><category>kubernetes</category><category>packaging</category></item><item><title>The Open Container Initiative Launches, Standardizing Container Formats</title><link>https://danielcosenza.com/posts/devops-news-oci-founded</link><guid isPermaLink="true">https://danielcosenza.com/posts/devops-news-oci-founded</guid><description>Founded June 22, 2015 by Docker, CoreOS, and a broad industry coalition, the OCI set out to make container images and runtimes portable across tools and vendors rather than tied to any one implementation.</description><pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate><category>SRE &amp; DevOps</category><category>news</category><category>oci</category><category>containers</category><category>standards</category></item><item><title>Prometheus Joins the CNCF as Its Second Hosted Project</title><link>https://danielcosenza.com/posts/devops-news-prometheus-cncf</link><guid isPermaLink="true">https://danielcosenza.com/posts/devops-news-prometheus-cncf</guid><description>Accepted on May 9, 2016, Prometheus became the CNCF&apos;s second project after Kubernetes itself — an early, deliberate signal that observability, not just orchestration, belonged at the center of the cloud-native stack.</description><pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate><category>SRE &amp; DevOps</category><category>news</category><category>prometheus</category><category>cncf</category><category>observability</category></item><item><title>Fixing USB Drive Detection Issues on FreeDOS</title><link>https://danielcosenza.com/posts/dos-fix-usb-drive-not-detected</link><guid isPermaLink="true">https://danielcosenza.com/posts/dos-fix-usb-drive-not-detected</guid><description>A USB flash drive doesn&apos;t show up as a drive letter under FreeDOS. Since there&apos;s no native USB support, this comes down to getting USBASPI&apos;s driver chain correctly configured, or falling back to BIOS-level access.</description><pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate><category>FreeDOS</category><category>fix</category><category>usb</category><category>hardware</category></item><item><title>How to Set Up a Development Environment on FreeDOS</title><link>https://danielcosenza.com/posts/dos-howto-dev-environment</link><guid isPermaLink="true">https://danielcosenza.com/posts/dos-howto-dev-environment</guid><description>A complete walkthrough installing a C compiler and assembler on FreeDOS and building your first program — for anyone wanting to write software for DOS rather than just run it.</description><pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate><category>FreeDOS</category><category>howto</category><category>development</category><category>open-watcom</category><category>freedos</category></item><item><title>How to Set Up Long Filename Support on FreeDOS with DOSLFN</title><link>https://danielcosenza.com/posts/dos-howto-doslfn-setup</link><guid isPermaLink="true">https://danielcosenza.com/posts/dos-howto-doslfn-setup</guid><description>A complete walkthrough installing DOSLFN, understanding what it can and can&apos;t do, and verifying long filenames actually work with your specific FreeDOS utilities.</description><pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate><category>FreeDOS</category><category>howto</category><category>doslfn</category><category>filenames</category></item><item><title>How to Set Up FreeDOS for Playing Classic DOS Games</title><link>https://danielcosenza.com/posts/dos-howto-play-classic-games</link><guid isPermaLink="true">https://danielcosenza.com/posts/dos-howto-play-classic-games</guid><description>A complete walkthrough getting sound, mouse, and memory configured correctly for DOS-era gaming — the three things almost every classic game setup guide assumes you already have working.</description><pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate><category>FreeDOS</category><category>howto</category><category>gaming</category><category>sound-blaster</category><category>freedos</category></item><item><title>How to Set Up a RAM Disk on FreeDOS</title><link>https://danielcosenza.com/posts/dos-howto-ramdisk-setup</link><guid isPermaLink="true">https://danielcosenza.com/posts/dos-howto-ramdisk-setup</guid><description>A complete walkthrough configuring a RAM disk with the built-in RAM driver — a fast, volatile drive letter backed entirely by memory, useful for temporary files and speeding up disk-heavy tasks.</description><pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate><category>FreeDOS</category><category>howto</category><category>ramdisk</category><category>memory</category></item><item><title>How to Build a TSR-Aware Batch Menu System on FreeDOS</title><link>https://danielcosenza.com/posts/dos-howto-tsr-batch-menu</link><guid isPermaLink="true">https://danielcosenza.com/posts/dos-howto-tsr-batch-menu</guid><description>A complete walkthrough building a batch-file boot menu that correctly manages memory-hungry TSRs — loading only what a chosen task actually needs, freeing conventional memory for everything else.</description><pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate><category>FreeDOS</category><category>howto</category><category>batch-files</category><category>tsr</category><category>memory</category></item><item><title>How to Connect a USB Drive to FreeDOS with USBASPI</title><link>https://danielcosenza.com/posts/dos-howto-usb-drive-setup</link><guid isPermaLink="true">https://danielcosenza.com/posts/dos-howto-usb-drive-setup</guid><description>A complete walkthrough configuring the USBASPI/ASPIDISK driver chain to give FreeDOS a working drive letter for a USB flash drive — DOS-era drivers bridging a much newer standard.</description><pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate><category>FreeDOS</category><category>howto</category><category>usb</category><category>usbaspi</category><category>hardware</category></item><item><title>FreeDOS 1.1 Ships, Six Years After 1.0</title><link>https://danielcosenza.com/posts/dos-news-11-release</link><guid isPermaLink="true">https://danielcosenza.com/posts/dos-news-11-release</guid><description>Released January 2, 2012, FreeDOS 1.1 filled a long gap since the 1.0 release, refining package management and driver support without changing the project&apos;s core commitment to MS-DOS compatibility.</description><pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate><category>FreeDOS</category><category>news</category><category>freedos</category><category>release</category></item><item><title>FreeDOS 1.4 Ships After Three Years, Refreshing Core Tools</title><link>https://danielcosenza.com/posts/dos-news-14-release</link><guid isPermaLink="true">https://danielcosenza.com/posts/dos-news-14-release</guid><description>Released April 5, 2025, FreeDOS 1.4 updated FreeCOM, FDISK, and the mTCP networking suite, while deliberately keeping the same kernel as 1.3 until the next kernel version is fully tested.</description><pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate><category>FreeDOS</category><category>news</category><category>freedos</category><category>release</category></item><item><title>FreeDOS Turns 25, and Jim Hall Tells the Origin Story Again</title><link>https://danielcosenza.com/posts/dos-news-freedos-25th-anniversary</link><guid isPermaLink="true">https://danielcosenza.com/posts/dos-news-freedos-25th-anniversary</guid><description>Marking a quarter-century since the June 1994 announcement, FreeDOS&apos;s 25th anniversary in 2019 brought renewed attention from Slashdot, Opensource.com, and Linux Journal to a project still actively releasing new versions.</description><pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate><category>FreeDOS</category><category>news</category><category>freedos</category><category>anniversary</category></item><item><title>Microsoft Declares MS-DOS 6.22 and Earlier Obsolete</title><link>https://danielcosenza.com/posts/dos-news-msdos-end-of-support</link><guid isPermaLink="true">https://danielcosenza.com/posts/dos-news-msdos-end-of-support</guid><description>On December 31, 2001, Microsoft stopped supporting and patching MS-DOS 6.22 and older versions — though DOS embedded within Windows 95/98/Me lingered in support for years afterward.</description><pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate><category>FreeDOS</category><category>news</category><category>ms-dos</category><category>end-of-life</category></item><item><title>Jim Hall Posts the PD-DOS Announcement That Became FreeDOS</title><link>https://danielcosenza.com/posts/dos-news-pd-dos-announcement</link><guid isPermaLink="true">https://danielcosenza.com/posts/dos-news-pd-dos-announcement</guid><description>On June 29, 1994, a Usenet post to comp.os.msdos.apps proposing a public-domain DOS kicked off what would be renamed Free-DOS weeks later — a direct response to Microsoft&apos;s plans to fold MS-DOS into Windows 95.</description><pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate><category>FreeDOS</category><category>news</category><category>freedos</category><category>jim-hall</category><category>history</category></item><item><title>Capsicum Beyond the Basics: Building Capability-Mode Services From Scratch</title><link>https://danielcosenza.com/posts/fb-capsicum-services</link><guid isPermaLink="true">https://danielcosenza.com/posts/fb-capsicum-services</guid><description>A deeper look at FreeBSD&apos;s Capsicum framework — cap_rights, the process descriptor model, and how to structure a service around capability mode instead of bolting it on afterward.</description><pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate><category>FreeBSD</category><category>capsicum</category><category>security</category><category>sandboxing</category></item><item><title>Fixing bhyve VMs That Refuse to Boot With UEFI Firmware</title><link>https://danielcosenza.com/posts/fb-fix-bhyve-uefi-boot</link><guid isPermaLink="true">https://danielcosenza.com/posts/fb-fix-bhyve-uefi-boot</guid><description>The most common reasons a bhyve guest hangs or fails at boot when using UEFI firmware instead of the legacy BIOS loader, and how to tell which one you&apos;re actually hitting.</description><pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate><category>FreeBSD</category><category>bhyve</category><category>uefi</category><category>virtualization</category></item><item><title>Fixing a Corrupted GPT Boot Partition on FreeBSD</title><link>https://danielcosenza.com/posts/fb-fix-boot-partition-corruption</link><guid isPermaLink="true">https://danielcosenza.com/posts/fb-fix-boot-partition-corruption</guid><description>FreeBSD won&apos;t boot and the loader can&apos;t find the boot partition. Here&apos;s how to inspect and repair the GPT partition table from a live/rescue environment.</description><pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate><category>FreeBSD</category><category>fix</category><category>boot</category><category>gpt</category></item><item><title>Diagnosing FreeBSD Ethernet Link Flapping at the Driver Level</title><link>https://danielcosenza.com/posts/fb-fix-ethernet-link-flapping</link><guid isPermaLink="true">https://danielcosenza.com/posts/fb-fix-ethernet-link-flapping</guid><description>How to tell whether a flapping network interface is a cabling/physical-layer problem, a switch-side issue, or a driver/firmware problem, using FreeBSD&apos;s own interface statistics.</description><pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate><category>FreeBSD</category><category>networking</category><category>drivers</category><category>ethernet</category></item><item><title>Diagnosing a FreeBSD Kernel Panic from a Crash Dump</title><link>https://danielcosenza.com/posts/fb-fix-kernel-panic</link><guid isPermaLink="true">https://danielcosenza.com/posts/fb-fix-kernel-panic</guid><description>FreeBSD panicked and rebooted. Here&apos;s how to get the crash dump kgdb actually needs, and how to read it well enough to find the responsible driver or subsystem.</description><pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate><category>FreeBSD</category><category>fix</category><category>kernel</category><category>debugging</category></item><item><title>Fixing FreeBSD Time Sync Drift When ntpd Won&apos;t Converge</title><link>https://danielcosenza.com/posts/fb-fix-ntpd-time-drift</link><guid isPermaLink="true">https://danielcosenza.com/posts/fb-fix-ntpd-time-drift</guid><description>Why ntpd sometimes refuses to correct large clock offsets, how to read its own diagnostic output correctly, and when stepping the clock manually is the right call instead of waiting.</description><pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate><category>FreeBSD</category><category>ntpd</category><category>time-sync</category><category>networking</category></item><item><title>Fixing pf State Table Exhaustion on FreeBSD</title><link>https://danielcosenza.com/posts/fb-fix-pf-state-table-full</link><guid isPermaLink="true">https://danielcosenza.com/posts/fb-fix-pf-state-table-full</guid><description>New connections start silently failing on a busy firewall, and pfctl reports the state table is full. Here&apos;s how to confirm it and size the table correctly for real traffic levels.</description><pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate><category>FreeBSD</category><category>fix</category><category>pf</category><category>firewall</category></item><item><title>Fixing Slow Boot Times Caused by Excessive rc.d Service Dependencies</title><link>https://danielcosenza.com/posts/fb-fix-slow-boot-rcd-deps</link><guid isPermaLink="true">https://danielcosenza.com/posts/fb-fix-slow-boot-rcd-deps</guid><description>How to find which rc.d script is actually holding up boot, distinguish a genuinely slow service from an unnecessary dependency chain, and fix each case differently.</description><pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate><category>FreeBSD</category><category>rc.d</category><category>boot</category><category>performance</category></item><item><title>Fixing ZFS ARC Consuming All Available RAM on FreeBSD</title><link>https://danielcosenza.com/posts/fb-fix-zfs-arc-memory</link><guid isPermaLink="true">https://danielcosenza.com/posts/fb-fix-zfs-arc-memory</guid><description>ZFS looks like it&apos;s eating every gigabyte of memory on the system. This is the Adaptive Replacement Cache working as designed — here&apos;s how to confirm that and tune it if it&apos;s genuinely a problem.</description><pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate><category>FreeBSD</category><category>fix</category><category>zfs</category><category>memory</category></item><item><title>Fixing &apos;Panic: Solaris Assert&apos; Style ZFS Kernel Panics on FreeBSD</title><link>https://danielcosenza.com/posts/fb-fix-zfs-solaris-assert-panic</link><guid isPermaLink="true">https://danielcosenza.com/posts/fb-fix-zfs-solaris-assert-panic</guid><description>What a Solaris-assert-style ZFS panic actually means, why it almost always points to genuine pool corruption rather than a kernel bug, and how to safely get the system back up.</description><pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate><category>FreeBSD</category><category>zfs</category><category>panic</category><category>kernel</category></item><item><title>HAST and Ctl: FreeBSD&apos;s Built-In Storage Replication and iSCSI Target</title><link>https://danielcosenza.com/posts/fb-hast-ctl</link><guid isPermaLink="true">https://danielcosenza.com/posts/fb-hast-ctl</guid><description>How HAST mirrors block devices across two hosts over the network, how Ctl serves them out as an iSCSI target, and where each one actually fits versus ZFS&apos;s own replication tools.</description><pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate><category>FreeBSD</category><category>hast</category><category>storage</category><category>iscsi</category></item><item><title>How to Configure Audit(4) for Security Event Logging on FreeBSD</title><link>https://danielcosenza.com/posts/fb-howto-audit-logging</link><guid isPermaLink="true">https://danielcosenza.com/posts/fb-howto-audit-logging</guid><description>Setting up FreeBSD&apos;s Basic Security Module audit framework to log security-relevant events with the right level of detail without drowning in noise.</description><pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate><category>FreeBSD</category><category>audit</category><category>security</category><category>logging</category></item><item><title>How to Use ZFS Boot Environments with bectl for Safe Upgrades</title><link>https://danielcosenza.com/posts/fb-howto-boot-environments</link><guid isPermaLink="true">https://danielcosenza.com/posts/fb-howto-boot-environments</guid><description>A complete walkthrough creating a boot environment before a risky change, and rolling back to it instantly from the boot loader if something goes wrong.</description><pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate><category>FreeBSD</category><category>howto</category><category>zfs</category><category>boot-environments</category></item><item><title>How to Harden Services on FreeBSD with Capsicum</title><link>https://danielcosenza.com/posts/fb-howto-capsicum-hardening</link><guid isPermaLink="true">https://danielcosenza.com/posts/fb-howto-capsicum-hardening</guid><description>A practical walkthrough of Capsicum&apos;s capability mode — how to check if a program supports it, and how sandboxed services actually differ from ordinary ones at the syscall level.</description><pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate><category>FreeBSD</category><category>howto</category><category>capsicum</category><category>security</category><category>sandboxing</category></item><item><title>How to Set Up High Availability with CARP on FreeBSD</title><link>https://danielcosenza.com/posts/fb-howto-carp-ha</link><guid isPermaLink="true">https://danielcosenza.com/posts/fb-howto-carp-ha</guid><description>Configuring CARP for automatic IP failover between two FreeBSD hosts, and the parts of a real HA setup that CARP alone doesn&apos;t handle for you.</description><pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate><category>FreeBSD</category><category>carp</category><category>high-availability</category><category>networking</category></item><item><title>How to Use DTrace on FreeBSD for Live Kernel and Application Tracing</title><link>https://danielcosenza.com/posts/fb-howto-dtrace-tracing</link><guid isPermaLink="true">https://danielcosenza.com/posts/fb-howto-dtrace-tracing</guid><description>Getting DTrace enabled and running real diagnostic scripts on FreeBSD, from syscall counting to finding exactly which function is burning CPU, without recompiling anything.</description><pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate><category>FreeBSD</category><category>dtrace</category><category>debugging</category><category>performance</category></item><item><title>How to Manage FreeBSD Jails with iocage</title><link>https://danielcosenza.com/posts/fb-howto-iocage-jails</link><guid isPermaLink="true">https://danielcosenza.com/posts/fb-howto-iocage-jails</guid><description>A complete walkthrough creating, configuring, and managing jails using iocage — a much friendlier layer over raw jail.conf management.</description><pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate><category>FreeBSD</category><category>howto</category><category>jails</category><category>iocage</category></item><item><title>How to Configure Multi-Path TCP and Advanced Routing Tables on FreeBSD</title><link>https://danielcosenza.com/posts/fb-howto-multipath-routing</link><guid isPermaLink="true">https://danielcosenza.com/posts/fb-howto-multipath-routing</guid><description>Setting up multiple routing tables (fibs) on FreeBSD for policy routing across several uplinks, and what MPTCP actually offers versus simple multi-fib load distribution.</description><pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate><category>FreeBSD</category><category>networking</category><category>routing</category><category>fib</category></item><item><title>How to Set Up FreeBSD as a NAS with ZFS and Samba</title><link>https://danielcosenza.com/posts/fb-howto-nas-zfs-samba</link><guid isPermaLink="true">https://danielcosenza.com/posts/fb-howto-nas-zfs-samba</guid><description>Building a real network-attached storage box on FreeBSD: pool layout decisions, dataset structure, and getting Samba to serve it with correct permissions to Windows and Mac clients.</description><pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate><category>FreeBSD</category><category>zfs</category><category>samba</category><category>nas</category></item><item><title>How to Build and Host a Custom pkg Repository</title><link>https://danielcosenza.com/posts/fb-howto-pkg-repository</link><guid isPermaLink="true">https://danielcosenza.com/posts/fb-howto-pkg-repository</guid><description>A complete walkthrough building your own signed FreeBSD package repository — useful for internal packages, pinned versions, or a local mirror.</description><pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate><category>FreeBSD</category><category>howto</category><category>pkg</category><category>package-management</category></item><item><title>How to Set Up a FreeBSD Poudriere Build Server for Custom Packages</title><link>https://danielcosenza.com/posts/fb-howto-poudriere-build-server</link><guid isPermaLink="true">https://danielcosenza.com/posts/fb-howto-poudriere-build-server</guid><description>Building your own package repository with Poudriere, from jail creation through a working repo other machines can actually pull packages from.</description><pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate><category>FreeBSD</category><category>poudriere</category><category>packages</category><category>ports</category></item><item><title>How to Configure FreeBSD as a Router with pf NAT</title><link>https://danielcosenza.com/posts/fb-howto-router-firewall-nat</link><guid isPermaLink="true">https://danielcosenza.com/posts/fb-howto-router-firewall-nat</guid><description>A complete walkthrough turning a FreeBSD box with two network interfaces into a working NAT router/firewall — gateway forwarding, NAT rules, and a sane default-deny ruleset.</description><pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate><category>FreeBSD</category><category>howto</category><category>pf</category><category>nat</category><category>router</category></item><item><title>FreeBSD 10.0 Ships with Clang as Default Compiler and Introduces bhyve</title><link>https://danielcosenza.com/posts/fb-news-100-clang</link><guid isPermaLink="true">https://danielcosenza.com/posts/fb-news-100-clang</guid><description>Announced January 20, 2014, FreeBSD 10.0 replaced GCC with Clang/LLVM as the default system compiler on major architectures and debuted bhyve, the project&apos;s native hypervisor.</description><pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate><category>FreeBSD</category><category>news</category><category>clang</category><category>bhyve</category><category>toolchain</category></item><item><title>FreeBSD 2.0 Ships, Finally Free of AT&amp;T Code</title><link>https://danielcosenza.com/posts/fb-news-20-release</link><guid isPermaLink="true">https://danielcosenza.com/posts/fb-news-20-release</guid><description>Released November 22, 1994 and rebased on 4.4BSD-Lite, FreeBSD 2.0 was the first release legally clear of the USL v. BSDi lawsuit&apos;s shadow — the release that secured the project&apos;s legal future.</description><pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate><category>FreeBSD</category><category>news</category><category>freebsd</category><category>history</category><category>lawsuit</category></item><item><title>DragonFly BSD Forks From FreeBSD 4.8 Over SMP Design Disagreements</title><link>https://danielcosenza.com/posts/fb-news-dragonfly-bsd-fork</link><guid isPermaLink="true">https://danielcosenza.com/posts/fb-news-dragonfly-bsd-fork</guid><description>How a disagreement over FreeBSD 5&apos;s threading and SMP architecture led Matt Dillon to fork FreeBSD 4.8 into an entirely separate project in 2003.</description><pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate><category>FreeBSD</category><category>dragonfly-bsd</category><category>history</category><category>kernel</category></item><item><title>The FreeBSD Foundation Is Founded</title><link>https://danielcosenza.com/posts/fb-news-foundation-founded</link><guid isPermaLink="true">https://danielcosenza.com/posts/fb-news-foundation-founded</guid><description>Created by developer Justin Gibbs on March 15, 2000 as a 501(c)(3) non-profit, the Foundation gave FreeBSD a legal entity for funding development, licensing Java binaries, and sponsoring the project&apos;s growth.</description><pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate><category>FreeBSD</category><category>news</category><category>freebsd-foundation</category><category>governance</category></item><item><title>The FreeBSD Foundation Funds OpenSSH Portability Fixes and Intel Wi-Fi Driver Work</title><link>https://danielcosenza.com/posts/fb-news-foundation-openssh-wifi-funding</link><guid isPermaLink="true">https://danielcosenza.com/posts/fb-news-foundation-openssh-wifi-funding</guid><description>How the FreeBSD Foundation&apos;s sponsored-development model paid for real, shipped improvements to OpenSSH compatibility and the iwlwifi driver stack rather than just donating money in the abstract.</description><pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate><category>FreeBSD</category><category>freebsd-foundation</category><category>openssh</category><category>wifi</category></item><item><title>FreeBSD 15.0 Ships, Replacing Heimdal Kerberos and Adding Linux-Compatible inotify</title><link>https://danielcosenza.com/posts/fb-news-freebsd-15-ships</link><guid isPermaLink="true">https://danielcosenza.com/posts/fb-news-freebsd-15-ships</guid><description>FreeBSD 15.0&apos;s actual shipped feature set: 64-bit UFS inodes by default, MIT Kerberos replacing Heimdal, a native inotify(2) implementation, and the first release supporting binary updates via pkg.</description><pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate><category>FreeBSD</category><category>freebsd-15</category><category>release</category><category>kernel</category></item><item><title>FreeBSD Completes Its Migration from Subversion to Git</title><link>https://danielcosenza.com/posts/fb-news-git-migration</link><guid isPermaLink="true">https://danielcosenza.com/posts/fb-news-git-migration</guid><description>The base system&apos;s source repository moved to Git in December 2020, following the documentation repo by weeks and preceding the ports tree by several months.</description><pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate><category>FreeBSD</category><category>news</category><category>git</category><category>release-engineering</category></item><item><title>bsdinstall Gains Guided Root-on-ZFS Support, Years After ZFS Itself Landed</title><link>https://danielcosenza.com/posts/fb-news-zfs-installer-guided-support</link><guid isPermaLink="true">https://danielcosenza.com/posts/fb-news-zfs-installer-guided-support</guid><description>ZFS arrived in FreeBSD&apos;s base system in the late 2000s, but installing directly onto a ZFS root without manual command-line setup took years longer to become a guided installer option.</description><pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate><category>FreeBSD</category><category>zfs</category><category>installer</category><category>history</category></item><item><title>Understanding FreeBSD&apos;s Random Number Subsystem (random(4)) and Entropy Harvesting</title><link>https://danielcosenza.com/posts/fb-random-entropy</link><guid isPermaLink="true">https://danielcosenza.com/posts/fb-random-entropy</guid><description>How FreeBSD gathers entropy from interrupt timing and hardware sources, feeds it into Fortuna, and guarantees /dev/random never blocks without silently becoming predictable.</description><pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate><category>FreeBSD</category><category>random</category><category>security</category><category>kernel</category></item><item><title>FreeBSD&apos;s rc.d Init System: Scripts, Dependencies, and Service Ordering</title><link>https://danielcosenza.com/posts/fb-rcd-init</link><guid isPermaLink="true">https://danielcosenza.com/posts/fb-rcd-init</guid><description>How rc.d resolves which service starts before which without a central dependency graph author, and how to write a script that actually plugs into that ordering correctly.</description><pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate><category>FreeBSD</category><category>rc.d</category><category>init</category><category>boot</category></item><item><title>FreeBSD&apos;s VFS Layer: How Multiple Filesystems Share One Interface</title><link>https://danielcosenza.com/posts/fb-vfs-layer</link><guid isPermaLink="true">https://danielcosenza.com/posts/fb-vfs-layer</guid><description>How the Virtual File System abstraction lets FreeBSD run UFS, ZFS, tmpfs, and NFS behind the exact same open()/read()/write() calls, and what that abstraction actually costs.</description><pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate><category>FreeBSD</category><category>vfs</category><category>filesystems</category><category>kernel</category></item><item><title>BFS: How Haiku&apos;s File System Doubles as a Database</title><link>https://danielcosenza.com/posts/hk-bfs</link><guid isPermaLink="true">https://danielcosenza.com/posts/hk-bfs</guid><description>BFS treats extended attributes as first-class, indexable data — turning ordinary file queries into something closer to a database lookup, decades before this became a mainstream idea.</description><pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate><category>Haiku OS</category><category>bfs</category><category>filesystem</category><category>haiku</category></item><item><title>Haiku&apos;s Boot Process: From Boot Loader to Desktop</title><link>https://danielcosenza.com/posts/hk-boot-process</link><guid isPermaLink="true">https://danielcosenza.com/posts/hk-boot-process</guid><description>A walk through what actually happens between powering on a Haiku machine and reaching a usable desktop, and where things most commonly go wrong along the way.</description><pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate><category>Haiku OS</category><category>boot</category><category>haiku</category><category>kernel</category></item><item><title>Device Drivers and Hardware Support in Haiku</title><link>https://danielcosenza.com/posts/hk-device-drivers</link><guid isPermaLink="true">https://danielcosenza.com/posts/hk-device-drivers</guid><description>Haiku&apos;s driver model inherits BeOS&apos;s modular, hot-pluggable design — but as a much smaller, community-driven project, its hardware support has real, practical limits worth understanding upfront.</description><pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate><category>Haiku OS</category><category>drivers</category><category>hardware</category><category>haiku</category></item><item><title>Fixing and Diagnosing App Crashes Using Haiku&apos;s Debug Server</title><link>https://danielcosenza.com/posts/hk-fix-app-crash-debug-server</link><guid isPermaLink="true">https://danielcosenza.com/posts/hk-fix-app-crash-debug-server</guid><description>An application crashes on Haiku and a debug report window appears. Rather than dismissing it, here&apos;s how to actually read what it&apos;s telling you and use it to fix — or usefully report — the crash.</description><pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate><category>Haiku OS</category><category>fix</category><category>debugging</category><category>crash-reporting</category><category>debug_server</category></item><item><title>Fixing Audio That Isn&apos;t Working on Haiku</title><link>https://danielcosenza.com/posts/hk-fix-audio-not-working</link><guid isPermaLink="true">https://danielcosenza.com/posts/hk-fix-audio-not-working</guid><description>No sound at all, from any application, usually traces to the Media Server or a driver-detection problem — here&apos;s how to distinguish the two and work through each.</description><pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate><category>Haiku OS</category><category>fix</category><category>audio</category><category>media-kit</category><category>haiku</category></item><item><title>Fixing Haiku Boot Failures with Safe Mode</title><link>https://danielcosenza.com/posts/hk-fix-boot-failure</link><guid isPermaLink="true">https://danielcosenza.com/posts/hk-fix-boot-failure</guid><description>Haiku won&apos;t boot normally, or hangs partway through. Here&apos;s how to use the boot loader&apos;s safe mode options to isolate which specific subsystem is actually at fault.</description><pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate><category>Haiku OS</category><category>fix</category><category>boot</category><category>haiku</category></item><item><title>Fixing Disk Mounting and BFS Volume Check Issues on Haiku</title><link>https://danielcosenza.com/posts/hk-fix-disk-mounting-bfs</link><guid isPermaLink="true">https://danielcosenza.com/posts/hk-fix-disk-mounting-bfs</guid><description>A secondary drive or partition won&apos;t mount, or Haiku reports filesystem inconsistencies on a BFS volume. Here&apos;s how to diagnose the mount failure and run BFS&apos;s own consistency check safely.</description><pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate><category>Haiku OS</category><category>fix</category><category>bfs</category><category>disks</category><category>filesystem</category></item><item><title>Fixing Display and Graphics Driver Issues in Haiku</title><link>https://danielcosenza.com/posts/hk-fix-display-driver</link><guid isPermaLink="true">https://danielcosenza.com/posts/hk-fix-display-driver</guid><description>A blank screen, wrong resolution, or corrupted graphics on boot almost always traces to the graphics driver — and Haiku&apos;s safe-mode VESA fallback is the fastest way to confirm it.</description><pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate><category>Haiku OS</category><category>fix</category><category>display</category><category>drivers</category><category>haiku</category></item><item><title>Fixing Networking and DHCP Issues on Haiku</title><link>https://danielcosenza.com/posts/hk-fix-networking-dhcp</link><guid isPermaLink="true">https://danielcosenza.com/posts/hk-fix-networking-dhcp</guid><description>No network connectivity, or an interface that won&apos;t get an IP address — here&apos;s how to work through Haiku&apos;s networking stack from hardware detection through DHCP.</description><pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate><category>Haiku OS</category><category>fix</category><category>networking</category><category>dhcp</category><category>haiku</category></item><item><title>Fixing Package Conflicts and Broken Dependencies in Haiku</title><link>https://danielcosenza.com/posts/hk-fix-package-conflicts</link><guid isPermaLink="true">https://danielcosenza.com/posts/hk-fix-package-conflicts</guid><description>A package won&apos;t install, or the system misbehaves after an update. Because packagefs never unpacks files, most of these problems are fixable by manipulating package activation directly, without touching the file system.</description><pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate><category>Haiku OS</category><category>fix</category><category>packagefs</category><category>haiku</category></item><item><title>Fixing Tracker Crashes and Hangs on Haiku</title><link>https://danielcosenza.com/posts/hk-fix-tracker-crash</link><guid isPermaLink="true">https://danielcosenza.com/posts/hk-fix-tracker-crash</guid><description>Haiku&apos;s desktop/file-manager shell has stopped responding or crashed. Because Tracker is just another BLooper-based application, restarting it doesn&apos;t require rebooting the whole system.</description><pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate><category>Haiku OS</category><category>fix</category><category>tracker</category><category>haiku</category></item><item><title>Fixing WebPositive Rendering Problems on Haiku</title><link>https://danielcosenza.com/posts/hk-fix-webpositive-rendering</link><guid isPermaLink="true">https://danielcosenza.com/posts/hk-fix-webpositive-rendering</guid><description>Pages look broken, layouts collapse, or certain sites refuse to render properly in Haiku&apos;s native WebPositive browser. Here&apos;s how to isolate whether it&apos;s a page compatibility issue or a local configuration problem.</description><pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate><category>Haiku OS</category><category>fix</category><category>webpositive</category><category>browser</category><category>rendering</category></item><item><title>The History of Haiku: BeOS&apos;s Second Life as an Open-Source OS</title><link>https://danielcosenza.com/posts/hk-history</link><guid isPermaLink="true">https://danielcosenza.com/posts/hk-history</guid><description>How a well-regarded but commercially unsuccessful 1990s operating system, killed off by an acquisition, was rebuilt from scratch as open source by the community that refused to let it disappear.</description><pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate><category>Haiku OS</category><category>history</category><category>haiku</category><category>beos</category></item><item><title>How to Back Up and Restore a Haiku System</title><link>https://danielcosenza.com/posts/hk-howto-backup-restore</link><guid isPermaLink="true">https://danielcosenza.com/posts/hk-howto-backup-restore</guid><description>A complete walkthrough backing up a Haiku installation using BFS attributes and standard file-copying tools, plus what to know about restoring packagefs-managed system data specifically.</description><pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate><category>Haiku OS</category><category>howto</category><category>backup</category><category>bfs</category><category>haiku</category></item><item><title>How to Set Up a Haiku Development Environment and Build From Source</title><link>https://danielcosenza.com/posts/hk-howto-dev-environment</link><guid isPermaLink="true">https://danielcosenza.com/posts/hk-howto-dev-environment</guid><description>A complete walkthrough getting the native toolchain installed, writing a minimal Kit-based application, and building Haiku itself from source.</description><pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate><category>Haiku OS</category><category>howto</category><category>development</category><category>kits-api</category><category>haiku</category></item><item><title>How to Install Haiku on Real Hardware or a Virtual Machine</title><link>https://danielcosenza.com/posts/hk-howto-install</link><guid isPermaLink="true">https://danielcosenza.com/posts/hk-howto-install</guid><description>A complete walkthrough from downloading the image to a working desktop, including why starting in a VM is worth doing even if your real goal is bare-metal installation.</description><pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate><category>Haiku OS</category><category>howto</category><category>installation</category><category>haiku</category></item><item><title>How to Use BFS Attributes and Live Queries Day to Day</title><link>https://danielcosenza.com/posts/hk-howto-live-queries</link><guid isPermaLink="true">https://danielcosenza.com/posts/hk-howto-live-queries</guid><description>A practical guide to viewing and setting file attributes, building a saved query, and turning that query into a self-updating virtual folder in Tracker.</description><pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate><category>Haiku OS</category><category>howto</category><category>bfs</category><category>live-queries</category><category>haiku</category></item><item><title>How to Set Up Multiple User Accounts on Haiku</title><link>https://danielcosenza.com/posts/hk-howto-multiple-users</link><guid isPermaLink="true">https://danielcosenza.com/posts/hk-howto-multiple-users</guid><description>A complete walkthrough creating additional user accounts on Haiku, understanding its current multi-user maturity, and what to expect versus a fully mature multi-user Unix system.</description><pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate><category>Haiku OS</category><category>howto</category><category>users</category><category>permissions</category><category>haiku</category></item><item><title>How to Write a Simple Native GUI Application on Haiku</title><link>https://danielcosenza.com/posts/hk-howto-native-gui-app</link><guid isPermaLink="true">https://danielcosenza.com/posts/hk-howto-native-gui-app</guid><description>A complete walkthrough building a minimal windowed application using Haiku&apos;s Interface Kit and BApplication/BWindow classes — the actual starting point for any native Haiku app, GUI or not.</description><pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate><category>Haiku OS</category><category>howto</category><category>development</category><category>interface-kit</category><category>programming</category></item><item><title>How to Install and Manage Software with HaikuDepot and pkgman</title><link>https://danielcosenza.com/posts/hk-howto-package-management</link><guid isPermaLink="true">https://danielcosenza.com/posts/hk-howto-package-management</guid><description>A complete walkthrough of both the graphical and command-line paths to installing, updating, and removing software on Haiku.</description><pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate><category>Haiku OS</category><category>howto</category><category>packagefs</category><category>haikudepot</category><category>haiku</category></item><item><title>How to Use Haiku&apos;s Terminal and Shell Environment</title><link>https://danielcosenza.com/posts/hk-howto-terminal-shell</link><guid isPermaLink="true">https://danielcosenza.com/posts/hk-howto-terminal-shell</guid><description>A complete walkthrough Haiku&apos;s Terminal application and its bash-based shell — familiar to anyone with Unix experience, with a few Haiku-specific tools worth knowing about.</description><pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate><category>Haiku OS</category><category>howto</category><category>terminal</category><category>shell</category><category>haiku</category></item><item><title>How to Configure WebPositive: Bookmarks, Privacy, and Downloads</title><link>https://danielcosenza.com/posts/hk-howto-webpositive-config</link><guid isPermaLink="true">https://danielcosenza.com/posts/hk-howto-webpositive-config</guid><description>A complete walkthrough setting up Haiku&apos;s native WebPositive browser day to day — organizing bookmarks, configuring privacy and cookie behavior, and setting a sensible download location.</description><pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate><category>Haiku OS</category><category>howto</category><category>webpositive</category><category>browser</category><category>configuration</category></item><item><title>The Haiku Kernel: A Modular, Pervasively Multithreaded Design</title><link>https://danielcosenza.com/posts/hk-kernel</link><guid isPermaLink="true">https://danielcosenza.com/posts/hk-kernel</guid><description>Haiku&apos;s kernel wasn&apos;t built as a Unix variant with threading bolted on — it was designed around threads as the fundamental unit of execution from the very beginning.</description><pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate><category>Haiku OS</category><category>kernel</category><category>haiku</category><category>architecture</category></item><item><title>Haiku&apos;s Kit-Based API: Application, Interface, Storage, and Media Kits</title><link>https://danielcosenza.com/posts/hk-kits-api</link><guid isPermaLink="true">https://danielcosenza.com/posts/hk-kits-api</guid><description>Haiku&apos;s native C++ API isn&apos;t one monolithic library — it&apos;s a set of separately-scoped &apos;Kits,&apos; each owning one concern, that together define what writing software for Haiku actually looks like.</description><pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate><category>Haiku OS</category><category>api</category><category>kits</category><category>haiku</category><category>architecture</category></item><item><title>Live Queries: Searching Haiku&apos;s File System Like a Database</title><link>https://danielcosenza.com/posts/hk-live-queries</link><guid isPermaLink="true">https://danielcosenza.com/posts/hk-live-queries</guid><description>A live query doesn&apos;t just return files matching a condition once — it keeps the result set current automatically, as files are created, changed, or deleted, for as long as the query stays open.</description><pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate><category>Haiku OS</category><category>live-queries</category><category>bfs</category><category>haiku</category></item><item><title>The Looper/Handler Pattern: Message-Passing at the Core of Every Haiku App</title><link>https://danielcosenza.com/posts/hk-looper-handler</link><guid isPermaLink="true">https://danielcosenza.com/posts/hk-looper-handler</guid><description>Haiku applications don&apos;t poll for events in a manual loop — they define Handlers, and let a Looper thread dispatch messages to the right one automatically.</description><pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate><category>Haiku OS</category><category>looper-handler</category><category>api</category><category>haiku</category><category>architecture</category></item><item><title>The Media Kit: Real-Time Audio and Video in Haiku</title><link>https://danielcosenza.com/posts/hk-media-kit</link><guid isPermaLink="true">https://danielcosenza.com/posts/hk-media-kit</guid><description>Haiku&apos;s Media Kit models audio and video processing as a graph of connected nodes passing buffers to each other in real time — the same conceptual model professional media software still uses today.</description><pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate><category>Haiku OS</category><category>media-kit</category><category>audio</category><category>video</category><category>haiku</category></item><item><title>Haiku, Inc. Incorporates as a Nonprofit to Fund Development</title><link>https://danielcosenza.com/posts/hk-news-haiku-inc-founded</link><guid isPermaLink="true">https://danielcosenza.com/posts/hk-news-haiku-inc-founded</guid><description>Founded in July 2003 by Michael Phipps in Rochester, New York, Haiku, Inc. gave the OpenBeOS/Haiku project a formal nonprofit structure for accepting donations and funding contractor work.</description><pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate><category>Haiku OS</category><category>news</category><category>haiku-inc</category><category>nonprofit</category></item><item><title>Haiku&apos;s Package Management System Goes Live</title><link>https://danielcosenza.com/posts/hk-news-packagefs-launch</link><guid isPermaLink="true">https://danielcosenza.com/posts/hk-news-packagefs-launch</guid><description>After a design drafted in January 2011 and development under funded contracts, Haiku&apos;s packagefs-based package management shipped in September 2013 — reshaping how software gets installed on the system.</description><pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate><category>Haiku OS</category><category>news</category><category>haiku</category><category>packagefs</category></item><item><title>Haiku R1/Beta1 Ships After Nearly Six Years of Work Since Alpha 4</title><link>https://danielcosenza.com/posts/hk-news-r1-beta1</link><guid isPermaLink="true">https://danielcosenza.com/posts/hk-news-r1-beta1</guid><description>The first beta release of Haiku R1 arrived on September 28, 2018 — a milestone that had been anticipated for years, marking the project&apos;s transition from alpha-quality software toward an eventual stable 1.0.</description><pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate><category>Haiku OS</category><category>news</category><category>history</category><category>release</category></item><item><title>Haiku R1/Beta 2 Ships in the Middle of a Global Lockdown</title><link>https://danielcosenza.com/posts/hk-news-r1-beta2</link><guid isPermaLink="true">https://danielcosenza.com/posts/hk-news-r1-beta2</guid><description>Released June 9, 2020, roughly two years after Beta 1, Haiku&apos;s second beta arrived as much of the world was under pandemic lockdown — with volunteer development continuing largely uninterrupted.</description><pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate><category>Haiku OS</category><category>news</category><category>haiku</category><category>release</category></item><item><title>Haiku R1/Beta 4 Closes Out 2022 with Broad Stability Work</title><link>https://danielcosenza.com/posts/hk-news-r1-beta4</link><guid isPermaLink="true">https://danielcosenza.com/posts/hk-news-r1-beta4</guid><description>Released December 23, 2022, roughly a year and a half after Beta 3, Haiku&apos;s fourth beta continued the project&apos;s pattern of steady, incremental refinement toward an eventual non-beta R1 release.</description><pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate><category>Haiku OS</category><category>news</category><category>haiku</category><category>release</category></item><item><title>Haiku R1/Beta 5 Ships as the Project&apos;s Most Polished Release Yet</title><link>https://danielcosenza.com/posts/hk-news-r1-beta5</link><guid isPermaLink="true">https://danielcosenza.com/posts/hk-news-r1-beta5</guid><description>Released September 13, 2024, Beta 5 closed out nearly 350 bug and enhancement tickets, added a full GDB 15 port, and brought USB audio device support to the system.</description><pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate><category>Haiku OS</category><category>news</category><category>haiku</category><category>release</category></item><item><title>Why Haiku Isn&apos;t a Unix Clone (and What That Actually Means)</title><link>https://danielcosenza.com/posts/hk-not-unix</link><guid isPermaLink="true">https://danielcosenza.com/posts/hk-not-unix</guid><description>Haiku runs on POSIX-like conventions and supports plenty of Unix software, but underneath that compatibility layer, it isn&apos;t descended from Unix at all — its kernel, API, and core assumptions come from somewhere else entirely.</description><pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate><category>Haiku OS</category><category>architecture</category><category>haiku</category><category>unix</category></item><item><title>Packagefs: Instant, Reversible Package Activation Without Unpacking</title><link>https://danielcosenza.com/posts/hk-packagefs</link><guid isPermaLink="true">https://danielcosenza.com/posts/hk-packagefs</guid><description>Installing a package on Haiku doesn&apos;t copy files onto disk at all — it mounts the package itself as part of a virtual file system, which is exactly what makes activation and rollback instant.</description><pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate><category>Haiku OS</category><category>packagefs</category><category>package-management</category><category>haiku</category></item><item><title>Linux Capabilities: Fine-Grained Privileges Beyond root and setuid</title><link>https://danielcosenza.com/posts/lx-capabilities</link><guid isPermaLink="true">https://danielcosenza.com/posts/lx-capabilities</guid><description>How Linux capabilities split root&apos;s monolithic power into dozens of independent privileges, and why that&apos;s a meaningfully better security model than the traditional all-or-nothing setuid-root pattern.</description><pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate><category>Linux</category><category>capabilities</category><category>security</category><category>kernel</category></item><item><title>Fixing a Corrupted ext4 or XFS Filesystem with fsck</title><link>https://danielcosenza.com/posts/lx-fix-ext4-xfs-fsck</link><guid isPermaLink="true">https://danielcosenza.com/posts/lx-fix-ext4-xfs-fsck</guid><description>The correct order of operations for repairing a corrupted Linux filesystem, why running fsck on a mounted filesystem is dangerous, and what to do when the repair tool itself reports it can&apos;t fix something automatically.</description><pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate><category>Linux</category><category>ext4</category><category>xfs</category><category>fsck</category></item><item><title>Fixing High Load Average on Linux When CPU Usage Looks Normal</title><link>https://danielcosenza.com/posts/lx-fix-high-load-io-wait</link><guid isPermaLink="true">https://danielcosenza.com/posts/lx-fix-high-load-io-wait</guid><description>Load average is climbing but top shows plenty of idle CPU. This almost always means processes stuck waiting on I/O, not a CPU problem — here&apos;s how to actually find which one.</description><pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate><category>Linux</category><category>fix</category><category>performance</category><category>io</category></item><item><title>Diagnosing and Fixing Kernel Oops Messages in dmesg</title><link>https://danielcosenza.com/posts/lx-fix-kernel-oops-dmesg</link><guid isPermaLink="true">https://danielcosenza.com/posts/lx-fix-kernel-oops-dmesg</guid><description>The difference between an oops and a full panic, how to read the call trace in an oops message well enough to identify the responsible driver, and when an oops is safe to ignore versus a sign of real trouble ahead.</description><pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate><category>Linux</category><category>kernel</category><category>dmesg</category><category>debugging</category></item><item><title>Fixing a Kernel Panic on Boot After a Bad Driver or Module Update</title><link>https://danielcosenza.com/posts/lx-fix-kernel-panic-bad-module</link><guid isPermaLink="true">https://danielcosenza.com/posts/lx-fix-kernel-panic-bad-module</guid><description>Recovering a Linux system that panics or hangs during boot right after a kernel or driver update, using boot menu options that don&apos;t require external rescue media.</description><pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate><category>Linux</category><category>kernel-panic</category><category>boot</category><category>grub</category></item><item><title>Fixing SELinux Denials Blocking a Legitimate Service</title><link>https://danielcosenza.com/posts/lx-fix-selinux-denials</link><guid isPermaLink="true">https://danielcosenza.com/posts/lx-fix-selinux-denials</guid><description>A service that works fine with SELinux disabled fails mysteriously with it enforcing. Here&apos;s how to read audit.log, generate a targeted policy module, and fix the actual denial instead of disabling protection.</description><pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate><category>Linux</category><category>fix</category><category>selinux</category><category>security</category></item><item><title>Fixing systemd-resolved Conflicts With Manually Configured DNS</title><link>https://danielcosenza.com/posts/lx-fix-systemd-resolved-dns-conflict</link><guid isPermaLink="true">https://danielcosenza.com/posts/lx-fix-systemd-resolved-dns-conflict</guid><description>Why editing /etc/resolv.conf directly often silently fails to change actual DNS behavior on systemd-resolved systems, and the correct way to override DNS settings that actually persists.</description><pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate><category>Linux</category><category>systemd-resolved</category><category>dns</category><category>networking</category></item><item><title>Fixing &apos;start-limit-hit&apos; Errors in systemd</title><link>https://danielcosenza.com/posts/lx-fix-systemd-start-limit-hit</link><guid isPermaLink="true">https://danielcosenza.com/posts/lx-fix-systemd-start-limit-hit</guid><description>A service refuses to start at all, and systemctl reports start-limit-hit — this is systemd&apos;s own crash-loop protection, and it requires clearing the rate limit as a distinct step after fixing the real cause.</description><pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate><category>Linux</category><category>fix</category><category>systemd</category><category>services</category></item><item><title>Fixing Zombie Processes That Won&apos;t Clear from the Process Table</title><link>https://danielcosenza.com/posts/lx-fix-zombie-processes</link><guid isPermaLink="true">https://danielcosenza.com/posts/lx-fix-zombie-processes</guid><description>Why a zombie process is actually harmless dead weight rather than a resource leak, and how to find the parent process that&apos;s actually responsible for clearing it.</description><pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate><category>Linux</category><category>processes</category><category>zombie</category><category>debugging</category></item><item><title>Writing and Enforcing an AppArmor Profile for a Service</title><link>https://danielcosenza.com/posts/lx-howto-apparmor-profile</link><guid isPermaLink="true">https://danielcosenza.com/posts/lx-howto-apparmor-profile</guid><description>Building a working AppArmor mandatory access control profile from scratch using complain mode and the log-based profile generator, rather than guessing at rules upfront.</description><pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate><category>Linux</category><category>apparmor</category><category>mac</category><category>security</category></item><item><title>How to Set Up Security Monitoring on Linux with auditd</title><link>https://danielcosenza.com/posts/lx-howto-auditd-monitoring</link><guid isPermaLink="true">https://danielcosenza.com/posts/lx-howto-auditd-monitoring</guid><description>A complete walkthrough configuring the Linux audit daemon to watch specific files, commands, and syscalls — and actually query the resulting logs for something useful.</description><pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate><category>Linux</category><category>howto</category><category>auditd</category><category>security</category><category>monitoring</category></item><item><title>Setting Up Bind Mounts and Overlay Filesystems</title><link>https://danielcosenza.com/posts/lx-howto-bind-mounts-overlayfs</link><guid isPermaLink="true">https://danielcosenza.com/posts/lx-howto-bind-mounts-overlayfs</guid><description>Using bind mounts to expose the same directory at multiple paths, and OverlayFS to layer a writable surface on top of read-only content — the two mechanisms containers are built on, directly usable on their own.</description><pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate><category>Linux</category><category>mount</category><category>overlayfs</category><category>filesystems</category></item><item><title>Tracing System Calls and Kernel Events with bpftrace</title><link>https://danielcosenza.com/posts/lx-howto-bpftrace-tracing</link><guid isPermaLink="true">https://danielcosenza.com/posts/lx-howto-bpftrace-tracing</guid><description>Using bpftrace&apos;s high-level scripting language to observe live kernel behavior — syscalls, function calls, scheduler events — with far less overhead and more flexibility than traditional tracing tools.</description><pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate><category>Linux</category><category>ebpf</category><category>bpftrace</category><category>tracing</category></item><item><title>Limiting a Service&apos;s CPU and Memory with cgroups v2</title><link>https://danielcosenza.com/posts/lx-howto-cgroups-resource-limits</link><guid isPermaLink="true">https://danielcosenza.com/posts/lx-howto-cgroups-resource-limits</guid><description>Using systemd&apos;s resource-control unit directives to cap CPU, memory, and IO for a specific service, and how to confirm the limits are actually being enforced by the kernel.</description><pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate><category>Linux</category><category>cgroups</category><category>systemd</category><category>resource-limits</category></item><item><title>Building and Loading a Custom Kernel Module with DKMS</title><link>https://danielcosenza.com/posts/lx-howto-dkms-kernel-module</link><guid isPermaLink="true">https://danielcosenza.com/posts/lx-howto-dkms-kernel-module</guid><description>Packaging a kernel module with DKMS so it automatically rebuilds against every new kernel version, instead of breaking silently on the next kernel update.</description><pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate><category>Linux</category><category>dkms</category><category>kernel-modules</category><category>drivers</category></item><item><title>Building an Isolated Network Namespace for Testing</title><link>https://danielcosenza.com/posts/lx-howto-network-namespaces</link><guid isPermaLink="true">https://danielcosenza.com/posts/lx-howto-network-namespaces</guid><description>Creating a separate network stack on the same Linux machine to test firewall rules, routing configurations, or networked software without touching the host&apos;s real network configuration.</description><pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate><category>Linux</category><category>namespaces</category><category>networking</category><category>iproute2</category></item><item><title>How to Tune Kernel Parameters on Linux with sysctl</title><link>https://danielcosenza.com/posts/lx-howto-sysctl-tuning</link><guid isPermaLink="true">https://danielcosenza.com/posts/lx-howto-sysctl-tuning</guid><description>A complete walkthrough reading, changing, and persisting kernel runtime parameters — with a few of the most commonly tuned examples explained, not just listed.</description><pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate><category>Linux</category><category>howto</category><category>sysctl</category><category>kernel</category><category>tuning</category></item><item><title>How to Use systemd-nspawn Containers on Linux</title><link>https://danielcosenza.com/posts/lx-howto-systemd-nspawn</link><guid isPermaLink="true">https://danielcosenza.com/posts/lx-howto-systemd-nspawn</guid><description>A complete walkthrough creating and running a lightweight systemd-nspawn container — useful for isolated testing environments without the overhead of a full container runtime.</description><pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate><category>Linux</category><category>howto</category><category>systemd-nspawn</category><category>containers</category></item><item><title>io_uring Explained: Linux&apos;s Modern Asynchronous I/O Interface</title><link>https://danielcosenza.com/posts/lx-io-uring</link><guid isPermaLink="true">https://danielcosenza.com/posts/lx-io-uring</guid><description>Why io_uring&apos;s shared ring-buffer design eliminates most of the syscall overhead that made previous Linux async I/O interfaces disappointing in practice.</description><pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate><category>Linux</category><category>io_uring</category><category>kernel</category><category>performance</category></item><item><title>Linux Kernel 2.6.0 Ships, Redefining Scalability and Preemption</title><link>https://danielcosenza.com/posts/lx-news-260-release</link><guid isPermaLink="true">https://danielcosenza.com/posts/lx-news-260-release</guid><description>Released December 17, 2003, the 2.6 series brought in-kernel preemption, NPTL threading, SELinux, and support for far larger process/user counts — the foundation the kernel built the next two decades on.</description><pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate><category>Linux</category><category>news</category><category>kernel</category><category>release</category></item><item><title>b4: The Tool That Modernized Kernel Development&apos;s Email Patch Workflow</title><link>https://danielcosenza.com/posts/lx-news-b4-patch-tooling</link><guid isPermaLink="true">https://danielcosenza.com/posts/lx-news-b4-patch-tooling</guid><description>How kernel.org administrator Konstantin Ryabitsev&apos;s b4 tool, introduced in March 2020, made the Linux kernel&apos;s mailing-list-based patch workflow substantially less painful without abandoning email itself.</description><pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate><category>Linux</category><category>kernel</category><category>git</category><category>workflow</category></item><item><title>How CentOS Became CentOS Stream, and Why Rocky Linux Exists Because of It</title><link>https://danielcosenza.com/posts/lx-news-centos-stream-shift</link><guid isPermaLink="true">https://danielcosenza.com/posts/lx-news-centos-stream-shift</guid><description>Red Hat&apos;s December 2020 announcement that CentOS Linux would be replaced by CentOS Stream, cutting CentOS 8&apos;s support window short and triggering the creation of Rocky Linux in response.</description><pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate><category>Linux</category><category>centos</category><category>red-hat</category><category>rocky-linux</category></item><item><title>IBM Completes Its $34 Billion Acquisition of Red Hat</title><link>https://danielcosenza.com/posts/lx-news-ibm-redhat</link><guid isPermaLink="true">https://danielcosenza.com/posts/lx-news-ibm-redhat</guid><description>Announced October 28, 2018 and closed July 9, 2019, IBM&apos;s purchase of Red Hat was the largest software acquisition in history at the time — and a direct bet on hybrid cloud built around Linux and open source.</description><pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate><category>Linux</category><category>news</category><category>red-hat</category><category>ibm</category><category>business</category></item><item><title>The Linux Kernel Replaces Its Code of Conflict With a Code of Conduct</title><link>https://danielcosenza.com/posts/lx-news-kernel-code-of-conduct</link><guid isPermaLink="true">https://danielcosenza.com/posts/lx-news-kernel-code-of-conduct</guid><description>How the kernel community&apos;s often-combative development culture led to a September 2018 policy change, and Linus Torvalds&apos; own public acknowledgment that his past conduct needed to change.</description><pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate><category>Linux</category><category>kernel</category><category>community</category><category>governance</category></item><item><title>PREEMPT_RT Real-Time Patches Merge Into Mainline Linux</title><link>https://danielcosenza.com/posts/lx-news-preempt-rt-merged</link><guid isPermaLink="true">https://danielcosenza.com/posts/lx-news-preempt-rt-merged</guid><description>Announced by Linus Torvalds in September 2024 and landing in kernel 6.12, PREEMPT_RT ended nearly two decades as an out-of-tree patchset — real-time Linux no longer needs a custom kernel build.</description><pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate><category>Linux</category><category>news</category><category>kernel</category><category>real-time</category><category>preempt-rt</category></item><item><title>Canonical Extends Ubuntu 14.04 and 16.04 LTS Support to Ten Years</title><link>https://danielcosenza.com/posts/lx-news-ubuntu-decade-support</link><guid isPermaLink="true">https://danielcosenza.com/posts/lx-news-ubuntu-decade-support</guid><description>Canonical&apos;s September 2021 decision to extend Ubuntu 14.04 Trusty Tahr and 16.04 Xenial Xerus support to a full decade, and what it signaled about Ubuntu&apos;s long-term commitment to LTS releases.</description><pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate><category>Linux</category><category>ubuntu</category><category>canonical</category><category>lts</category></item><item><title>Inside the OOM Killer: How Linux Decides What to Kill When Memory Runs Out</title><link>https://danielcosenza.com/posts/lx-oom-killer</link><guid isPermaLink="true">https://danielcosenza.com/posts/lx-oom-killer</guid><description>The badness scoring the kernel actually uses to pick a victim process when memory is exhausted, and why the process that gets killed is often not the one that caused the problem.</description><pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate><category>Linux</category><category>oom-killer</category><category>memory</category><category>kernel</category></item><item><title>Understanding the Linux Page Cache and How Writeback Actually Works</title><link>https://danielcosenza.com/posts/lx-page-cache-writeback</link><guid isPermaLink="true">https://danielcosenza.com/posts/lx-page-cache-writeback</guid><description>Why &apos;free&apos; memory on a Linux system is mostly a lie in the useful direction, and how dirty pages actually get from RAM to disk without every write() blocking on it.</description><pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate><category>Linux</category><category>page-cache</category><category>memory</category><category>kernel</category></item><item><title>How udev and the Device Model Actually Discover and Name Hardware</title><link>https://danielcosenza.com/posts/lx-udev-device-model</link><guid isPermaLink="true">https://danielcosenza.com/posts/lx-udev-device-model</guid><description>The path from a kernel detecting new hardware to a predictably-named device node appearing in /dev, and why udev&apos;s naming rules exist at all instead of just using whatever the kernel calls a device.</description><pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate><category>Linux</category><category>udev</category><category>devices</category><category>kernel</category></item><item><title>How dyld and the Shared Cache Actually Load macOS Applications</title><link>https://danielcosenza.com/posts/mac-dyld-shared-cache</link><guid isPermaLink="true">https://danielcosenza.com/posts/mac-dyld-shared-cache</guid><description>Why you can&apos;t find most of macOS&apos;s own system libraries as individual files on disk anymore, and how the dynamic linker&apos;s shared cache changed application launch performance and internal structure.</description><pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate><category>macOS</category><category>dyld</category><category>linking</category><category>performance</category></item><item><title>Fixing Bluetooth Connectivity Issues on macOS</title><link>https://danielcosenza.com/posts/mac-fix-bluetooth-issues</link><guid isPermaLink="true">https://danielcosenza.com/posts/mac-fix-bluetooth-issues</guid><description>A Bluetooth device won&apos;t connect, keeps dropping, or macOS doesn&apos;t see it at all. Here&apos;s a systematic path through the most common causes before resorting to a full reset.</description><pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate><category>macOS</category><category>fix</category><category>bluetooth</category><category>hardware</category></item><item><title>Fixing a Mac Stuck on the Apple Logo or Stuck Rebooting</title><link>https://danielcosenza.com/posts/mac-fix-boot-loop</link><guid isPermaLink="true">https://danielcosenza.com/posts/mac-fix-boot-loop</guid><description>A Mac that won&apos;t get past the Apple logo, or keeps restarting in a loop, has a specific, ordered set of causes — here&apos;s how to work through them from least to most invasive.</description><pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate><category>macOS</category><category>fix</category><category>boot</category><category>troubleshooting</category></item><item><title>Fixing External Display Resolution and Scaling Problems After a macOS Update</title><link>https://danielcosenza.com/posts/mac-fix-external-display-scaling</link><guid isPermaLink="true">https://danielcosenza.com/posts/mac-fix-external-display-scaling</guid><description>Working through blurry text, wrong resolution options, and displays not being recognized correctly after a macOS update, including the display-specific preference files that sometimes need to be reset.</description><pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate><category>macOS</category><category>display</category><category>resolution</category><category>scaling</category></item><item><title>Fixing &apos;App Is Damaged and Can&apos;t Be Opened&apos; on macOS</title><link>https://danielcosenza.com/posts/mac-fix-gatekeeper-damaged</link><guid isPermaLink="true">https://danielcosenza.com/posts/mac-fix-gatekeeper-damaged</guid><description>The app isn&apos;t actually damaged in most cases — this is Gatekeeper&apos;s quarantine flag reacting to how the file was downloaded, and there&apos;s a legitimate, safe way to override it for software you trust.</description><pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate><category>macOS</category><category>fix</category><category>gatekeeper</category><category>security</category></item><item><title>Fixing High CPU Usage from mds_stores and mdworker (Not a Broken Spotlight)</title><link>https://danielcosenza.com/posts/mac-fix-high-cpu-mdworker-spotlight</link><guid isPermaLink="true">https://danielcosenza.com/posts/mac-fix-high-cpu-mdworker-spotlight</guid><description>Distinguishing normal, temporary Spotlight indexing load from a genuinely stuck reindex loop, and how to actually resolve the latter instead of just tolerating high CPU indefinitely.</description><pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate><category>macOS</category><category>spotlight</category><category>mdworker</category><category>performance</category></item><item><title>Fixing a Broken Keychain Login Prompt Loop</title><link>https://danielcosenza.com/posts/mac-fix-keychain-prompt-loop</link><guid isPermaLink="true">https://danielcosenza.com/posts/mac-fix-keychain-prompt-loop</guid><description>Why the login keychain sometimes stops matching your account password after a password reset, and the correct way to fix it without losing every saved password stored inside it.</description><pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate><category>macOS</category><category>keychain</category><category>authentication</category><category>login</category></item><item><title>Fixing macOS Memory Pressure and &apos;Out of Application Memory&apos; Warnings</title><link>https://danielcosenza.com/posts/mac-fix-memory-pressure</link><guid isPermaLink="true">https://danielcosenza.com/posts/mac-fix-memory-pressure</guid><description>Reading the memory pressure gauge correctly, understanding when swap usage is completely normal versus a sign of a real problem, and identifying which specific process is actually responsible for sustained pressure.</description><pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate><category>macOS</category><category>memory</category><category>performance</category><category>activity-monitor</category></item><item><title>Fixing Slow Time Machine Backups on macOS</title><link>https://danielcosenza.com/posts/mac-fix-slow-time-machine</link><guid isPermaLink="true">https://danielcosenza.com/posts/mac-fix-slow-time-machine</guid><description>A Time Machine backup that takes hours, or seems to hang at &apos;Preparing Backup,&apos; usually has an identifiable cause — here&apos;s how to find whether it&apos;s the first backup, local snapshots, or something else.</description><pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate><category>macOS</category><category>fix</category><category>time-machine</category><category>backup</category></item><item><title>Fixing &apos;Startup Disk Full&apos; on macOS When Files Don&apos;t Add Up</title><link>https://danielcosenza.com/posts/mac-fix-storage-full</link><guid isPermaLink="true">https://danielcosenza.com/posts/mac-fix-storage-full</guid><description>About This Mac says the disk is nearly full, but manually adding up visible file sizes doesn&apos;t come close. Here&apos;s how to find what&apos;s actually consuming space, including what Finder normally hides.</description><pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate><category>macOS</category><category>fix</category><category>storage</category><category>disk-space</category></item><item><title>Fixing an App That Won&apos;t Quit or Respond on macOS</title><link>https://danielcosenza.com/posts/mac-fix-unresponsive-app</link><guid isPermaLink="true">https://danielcosenza.com/posts/mac-fix-unresponsive-app</guid><description>Force Quit doesn&apos;t work, the app&apos;s icon keeps bouncing, or it&apos;s stuck at &apos;Not Responding&apos; indefinitely. Here&apos;s the actual escalation path from gentlest to most forceful.</description><pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate><category>macOS</category><category>fix</category><category>troubleshooting</category><category>applications</category></item><item><title>Fixing Wi-Fi That Keeps Dropping After a macOS Update</title><link>https://danielcosenza.com/posts/mac-fix-wifi-dropping-after-update</link><guid isPermaLink="true">https://danielcosenza.com/posts/mac-fix-wifi-dropping-after-update</guid><description>Working through the network preference files and configuration state that macOS updates most commonly leave in an inconsistent state, before assuming a hardware or router problem.</description><pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate><category>macOS</category><category>wifi</category><category>networking</category><category>troubleshooting</category></item><item><title>How to Create and Manage APFS Snapshots Manually with tmutil</title><link>https://danielcosenza.com/posts/mac-howto-apfs-snapshots</link><guid isPermaLink="true">https://danielcosenza.com/posts/mac-howto-apfs-snapshots</guid><description>A complete walkthrough creating, listing, mounting, and cleaning up APFS local snapshots directly — the same mechanism Time Machine uses, available for manual, ad-hoc use.</description><pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate><category>macOS</category><category>howto</category><category>apfs</category><category>snapshots</category><category>tmutil</category></item><item><title>Verifying App Signatures and Notarization with codesign and spctl</title><link>https://danielcosenza.com/posts/mac-howto-codesign-spctl-verify</link><guid isPermaLink="true">https://danielcosenza.com/posts/mac-howto-codesign-spctl-verify</guid><description>Checking whether an application&apos;s code signature and notarization are actually valid from the command line, instead of relying only on Gatekeeper&apos;s pass/fail dialog with no further detail.</description><pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate><category>macOS</category><category>codesign</category><category>spctl</category><category>notarization</category></item><item><title>Creating and Managing APFS Containers and Volumes with diskutil</title><link>https://danielcosenza.com/posts/mac-howto-diskutil-apfs-containers</link><guid isPermaLink="true">https://danielcosenza.com/posts/mac-howto-diskutil-apfs-containers</guid><description>Understanding the container/volume distinction that makes APFS fundamentally different from older partition schemes, and using diskutil directly to add, resize, and manage volumes without wasting disk space on fixed partitions.</description><pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate><category>macOS</category><category>diskutil</category><category>apfs</category><category>disk-management</category></item><item><title>How to Reset NVRAM and SMC on a Mac</title><link>https://danielcosenza.com/posts/mac-howto-nvram-smc</link><guid isPermaLink="true">https://danielcosenza.com/posts/mac-howto-nvram-smc</guid><description>A complete walkthrough resetting NVRAM and the System Management Controller — two different low-level resets, solving different categories of problems, on both Apple Silicon and Intel Macs.</description><pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate><category>macOS</category><category>howto</category><category>nvram</category><category>smc</category><category>troubleshooting</category></item><item><title>Writing Custom Packet Filter (pf) Firewall Rules on macOS</title><link>https://danielcosenza.com/posts/mac-howto-pf-firewall-rules</link><guid isPermaLink="true">https://danielcosenza.com/posts/mac-howto-pf-firewall-rules</guid><description>Using the same BSD packet filter that powers macOS&apos;s Application Firewall directly, for network-layer filtering the GUI&apos;s simple allow/deny-per-app model can&apos;t express.</description><pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate><category>macOS</category><category>pf</category><category>firewall</category><category>networking</category></item><item><title>Enabling and Hardening Remote Login (SSH) on macOS</title><link>https://danielcosenza.com/posts/mac-howto-ssh-remote-login</link><guid isPermaLink="true">https://danielcosenza.com/posts/mac-howto-ssh-remote-login</guid><description>Turning on macOS&apos;s built-in SSH server correctly, then hardening it beyond the default configuration with key-based authentication and restricted access.</description><pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate><category>macOS</category><category>ssh</category><category>remote-login</category><category>security</category></item><item><title>Managing App Privacy Permissions with tccutil and the TCC Database</title><link>https://danielcosenza.com/posts/mac-howto-tccutil-privacy-permissions</link><guid isPermaLink="true">https://danielcosenza.com/posts/mac-howto-tccutil-privacy-permissions</guid><description>Resetting stuck permission prompts, understanding why an app sometimes doesn&apos;t re-ask for a permission it should, and what the TCC database actually is under the hood.</description><pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate><category>macOS</category><category>tcc</category><category>privacy</category><category>permissions</category></item><item><title>Managing Time Machine From the Command Line with tmutil</title><link>https://danielcosenza.com/posts/mac-howto-tmutil-command-line</link><guid isPermaLink="true">https://danielcosenza.com/posts/mac-howto-tmutil-command-line</guid><description>Starting, stopping, inspecting, and restoring from Time Machine backups without touching the GUI, useful for scripting backups or diagnosing why one is stuck.</description><pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate><category>macOS</category><category>tmutil</category><category>time-machine</category><category>cli</category></item><item><title>Why Boot Camp Never Came to Apple Silicon Macs</title><link>https://danielcosenza.com/posts/mac-news-boot-camp-apple-silicon-end</link><guid isPermaLink="true">https://danielcosenza.com/posts/mac-news-boot-camp-apple-silicon-end</guid><description>The architectural reasons Apple&apos;s own dual-boot Windows solution didn&apos;t survive the transition from Intel to Apple Silicon, and why virtualization became the only realistic path to running Windows on modern Macs instead.</description><pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate><category>macOS</category><category>boot-camp</category><category>apple-silicon</category><category>windows</category></item><item><title>macOS Catalina Completes the Long Goodbye to 32-Bit Applications</title><link>https://danielcosenza.com/posts/mac-news-catalina-drops-32bit</link><guid isPermaLink="true">https://danielcosenza.com/posts/mac-news-catalina-drops-32bit</guid><description>How Apple spent over a decade signaling the end of 32-bit app support before actually removing it in October 2019, and why the transition was smoother than it could have been as a result.</description><pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate><category>macOS</category><category>catalina</category><category>32-bit</category><category>compatibility</category></item><item><title>macOS High Sierra Makes APFS the Default Filesystem</title><link>https://danielcosenza.com/posts/mac-news-high-sierra-apfs</link><guid isPermaLink="true">https://danielcosenza.com/posts/mac-news-high-sierra-apfs</guid><description>Released September 25, 2017, High Sierra automatically converted flash-storage Macs to Apple File System — the biggest filesystem transition on the Mac in nearly two decades.</description><pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate><category>macOS</category><category>news</category><category>apfs</category><category>high-sierra</category><category>filesystem</category></item><item><title>Mac OS X Public Beta Lets Users Try Aqua and Darwin for the First Time</title><link>https://danielcosenza.com/posts/mac-news-public-beta</link><guid isPermaLink="true">https://danielcosenza.com/posts/mac-news-public-beta</guid><description>Released September 13, 2000 for $29.95, the &apos;Kodiak&apos; public beta gave Mac users their first hands-on look at preemptive multitasking, protected memory, and the Aqua interface before the final 10.0 release.</description><pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate><category>macOS</category><category>news</category><category>macos</category><category>public-beta</category></item><item><title>The Apple T2 Chip Brought a Dedicated Security Coprocessor to the Mac</title><link>https://danielcosenza.com/posts/mac-news-t2-security-chip</link><guid isPermaLink="true">https://danielcosenza.com/posts/mac-news-t2-security-chip</guid><description>How the T2, introduced in the 2017 iMac Pro and rolled out across the Mac lineup through 2018, took boot security, storage encryption, and other sensitive functions away from the main CPU entirely.</description><pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate><category>macOS</category><category>t2-chip</category><category>security</category><category>hardware</category></item><item><title>Apple Replaces Bash With Zsh as macOS&apos;s Default Shell</title><link>https://danielcosenza.com/posts/mac-news-zsh-replaces-bash</link><guid isPermaLink="true">https://danielcosenza.com/posts/mac-news-zsh-replaces-bash</guid><description>The June 2019 WWDC announcement that Catalina would ship with zsh as the default login shell, and why an old GPL licensing decision, not a technical preference, actually drove the change.</description><pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate><category>macOS</category><category>zsh</category><category>bash</category><category>shell</category></item><item><title>From Kernel Extensions to System Extensions: Why Apple Moved Drivers Out of the Kernel</title><link>https://danielcosenza.com/posts/mac-system-extensions</link><guid isPermaLink="true">https://danielcosenza.com/posts/mac-system-extensions</guid><description>The architectural reasoning behind Apple&apos;s multi-year push to deprecate kernel extensions in favor of user-space System Extensions and DriverKit, and what actually changes when a driver runs outside the kernel.</description><pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate><category>macOS</category><category>kext</category><category>systemextensions</category><category>driverkit</category></item><item><title>Unified Logging: How os_log Replaced syslog on macOS</title><link>https://danielcosenza.com/posts/mac-unified-logging</link><guid isPermaLink="true">https://danielcosenza.com/posts/mac-unified-logging</guid><description>Why traditional plain-text syslog couldn&apos;t keep up with modern macOS&apos;s logging needs, and how the unified logging system&apos;s structured, activity-tracing design fixes the problems that made old-style logs so hard to use for real diagnosis.</description><pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate><category>macOS</category><category>logging</category><category>os-log</category><category>diagnostics</category></item><item><title>Inside XNU: How macOS Merges a Mach Microkernel with a BSD Userland</title><link>https://danielcosenza.com/posts/mac-xnu-kernel</link><guid isPermaLink="true">https://danielcosenza.com/posts/mac-xnu-kernel</guid><description>Why macOS&apos;s kernel is neither a pure microkernel nor a pure monolithic kernel, and what that hybrid design actually buys in practice.</description><pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate><category>macOS</category><category>xnu</category><category>kernel</category><category>mach</category></item><item><title>XPC Services: How macOS Processes Talk to Each Other Securely</title><link>https://danielcosenza.com/posts/mac-xpc-services</link><guid isPermaLink="true">https://danielcosenza.com/posts/mac-xpc-services</guid><description>The inter-process communication framework behind most of macOS&apos;s privilege separation, built on Mach IPC but designed to make secure, sandboxed communication the easy default rather than an afterthought.</description><pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate><category>macOS</category><category>xpc</category><category>ipc</category><category>sandboxing</category></item><item><title>BIOS Files, Copyright, and the Law: The Real Rules Behind Emulation</title><link>https://danielcosenza.com/posts/rg-bios-legal</link><guid isPermaLink="true">https://danielcosenza.com/posts/rg-bios-legal</guid><description>Emulator software and the copyrighted files it needs to run are two separate legal questions with two separate answers — and conflating them is where most confusion about &apos;is emulation legal&apos; comes from.</description><pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate><category>Retrogaming</category><category>legal</category><category>bios</category><category>copyright</category><category>retrogaming</category></item><item><title>How CPU Emulation Works: Interpretation vs. Dynamic Recompilation</title><link>https://danielcosenza.com/posts/rg-cpu-emulation</link><guid isPermaLink="true">https://danielcosenza.com/posts/rg-cpu-emulation</guid><description>Every emulator has to answer the same question: how do you run code written for one processor on a completely different one? Two fundamentally different answers, and why most serious emulators eventually need both.</description><pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate><category>Retrogaming</category><category>emulation</category><category>cpu</category><category>retrogaming</category><category>performance</category></item><item><title>Cycle-Accurate Emulation and Why It&apos;s So Hard to Get Right</title><link>https://danielcosenza.com/posts/rg-cycle-accurate</link><guid isPermaLink="true">https://danielcosenza.com/posts/rg-cycle-accurate</guid><description>&apos;Runs the game correctly&apos; and &apos;matches the original hardware cycle-for-cycle&apos; are very different bars. Most emulation clears the first one easily — the second one has taken decades of reverse engineering.</description><pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate><category>Retrogaming</category><category>cycle-accurate</category><category>emulation</category><category>retrogaming</category><category>accuracy</category></item><item><title>Emulation vs. Virtualization: Two Different Ways to Run Foreign Software</title><link>https://danielcosenza.com/posts/rg-emulation-vs-virtualization</link><guid isPermaLink="true">https://danielcosenza.com/posts/rg-emulation-vs-virtualization</guid><description>Both let you run software that wasn&apos;t written for the machine in front of you — but one translates between two different instruction sets, and the other doesn&apos;t translate at all.</description><pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate><category>Retrogaming</category><category>emulation</category><category>virtualization</category><category>architecture</category><category>retrogaming</category></item><item><title>Fixing Stretched or Wrong Aspect Ratio in Emulators</title><link>https://danielcosenza.com/posts/rg-fix-aspect-ratio-stretching</link><guid isPermaLink="true">https://danielcosenza.com/posts/rg-fix-aspect-ratio-stretching</guid><description>Characters look too wide, too thin, or the image doesn&apos;t fill the screen correctly. This almost always traces to a pixel-aspect-ratio setting, not the emulator core rendering incorrectly.</description><pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate><category>Retrogaming</category><category>fix</category><category>aspect-ratio</category><category>display</category><category>retroarch</category></item><item><title>Fixing a Black Screen or a Game That Won&apos;t Launch in an Emulator</title><link>https://danielcosenza.com/posts/rg-fix-black-screen-wont-launch</link><guid isPermaLink="true">https://danielcosenza.com/posts/rg-fix-black-screen-wont-launch</guid><description>The core loads but the game never appears — just a black screen, or an immediate crash back to the menu. Here&apos;s how to isolate whether it&apos;s the ROM, the core, or your video configuration.</description><pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate><category>Retrogaming</category><category>fix</category><category>troubleshooting</category><category>retroarch</category></item><item><title>Fixing Analog Stick Drift and Deadzone Problems in Emulators</title><link>https://danielcosenza.com/posts/rg-fix-controller-deadzone-drift</link><guid isPermaLink="true">https://danielcosenza.com/posts/rg-fix-controller-deadzone-drift</guid><description>Your character walks by itself with the stick untouched, or a full push barely registers. This is distinct from a controller not being detected at all — it&apos;s a calibration problem, and it&apos;s fixable in software.</description><pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate><category>Retrogaming</category><category>fix</category><category>controllers</category><category>input</category><category>calibration</category></item><item><title>Fixing &apos;BIOS Not Found&apos; and Bad Checksum Errors in Emulators</title><link>https://danielcosenza.com/posts/rg-fix-missing-bios-file</link><guid isPermaLink="true">https://danielcosenza.com/posts/rg-fix-missing-bios-file</guid><description>A console emulator refuses to boot anything, citing a missing or invalid BIOS file. Here&apos;s what these files actually are, why an emulator needs them at all, and how to fix a checksum mismatch.</description><pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate><category>Retrogaming</category><category>fix</category><category>bios</category><category>emulation</category><category>troubleshooting</category></item><item><title>Fixing Save States That Won&apos;t Load After a Core Update</title><link>https://danielcosenza.com/posts/rg-fix-savestate-incompatible</link><guid isPermaLink="true">https://danielcosenza.com/posts/rg-fix-savestate-incompatible</guid><description>A save state that worked before an update now fails to load, or loads into a corrupted state. This is expected behavior given how save states actually work — here&apos;s what to do about it.</description><pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate><category>Retrogaming</category><category>fix</category><category>savestates</category><category>retroarch</category></item><item><title>Fixing Shader Compilation Stutter in Emulators and RetroArch</title><link>https://danielcosenza.com/posts/rg-fix-shader-compilation-stutter</link><guid isPermaLink="true">https://danielcosenza.com/posts/rg-fix-shader-compilation-stutter</guid><description>A frame-perfect run suddenly hitches every time a new visual effect appears on screen. It&apos;s not a savestate or performance problem — it&apos;s your GPU driver compiling a shader for the first time, mid-frame.</description><pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate><category>Retrogaming</category><category>fix</category><category>shaders</category><category>performance</category><category>retroarch</category></item><item><title>Fixing a Game That Runs Too Fast or Too Slow in an Emulator</title><link>https://danielcosenza.com/posts/rg-fix-wrong-emulation-speed</link><guid isPermaLink="true">https://danielcosenza.com/posts/rg-fix-wrong-emulation-speed</guid><description>The game runs, but noticeably faster or slower than it should — usually a frame-timing or region mismatch, not a broken core, and quick to isolate once you know where to look.</description><pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate><category>Retrogaming</category><category>fix</category><category>performance</category><category>timing</category><category>retroarch</category></item><item><title>How to Build and Use Custom Bezels and Overlays in RetroArch</title><link>https://danielcosenza.com/posts/rg-howto-bezels-overlays</link><guid isPermaLink="true">https://danielcosenza.com/posts/rg-howto-bezels-overlays</guid><description>A complete walkthrough adding decorative bezels around the emulated screen — arcade cabinet art, console-themed frames, or your own custom artwork — and building one from scratch.</description><pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate><category>Retrogaming</category><category>howto</category><category>bezels</category><category>overlays</category><category>retroarch</category></item><item><title>How to Configure CRT Shaders for an Authentic Retro Look</title><link>https://danielcosenza.com/posts/rg-howto-crt-shaders</link><guid isPermaLink="true">https://danielcosenza.com/posts/rg-howto-crt-shaders</guid><description>A step-by-step guide to enabling and tuning shader presets in RetroArch — from picking a starting preset to adjusting scanline and curvature intensity to taste.</description><pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate><category>Retrogaming</category><category>howto</category><category>shaders</category><category>crt</category><category>retroarch</category></item><item><title>How to Set Up Multi-Tap and Local Multiplayer in RetroArch</title><link>https://danielcosenza.com/posts/rg-howto-multitap-local-multiplayer</link><guid isPermaLink="true">https://danielcosenza.com/posts/rg-howto-multitap-local-multiplayer</guid><description>A complete walkthrough getting 3-4+ player retro games working locally — configuring virtual multi-taps, assigning controllers to the right ports, and handling per-core multiplayer quirks.</description><pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate><category>Retrogaming</category><category>howto</category><category>retroarch</category><category>multiplayer</category><category>controllers</category></item><item><title>How to Set Up Netplay for Online Retro Multiplayer</title><link>https://danielcosenza.com/posts/rg-howto-netplay-setup</link><guid isPermaLink="true">https://danielcosenza.com/posts/rg-howto-netplay-setup</guid><description>A complete walkthrough hosting and joining a RetroArch netplay session, including the core-matching requirement that causes most first-time connection failures.</description><pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate><category>Retrogaming</category><category>howto</category><category>netplay</category><category>multiplayer</category><category>retroarch</category></item><item><title>How to Configure Per-Game Overrides in RetroArch</title><link>https://danielcosenza.com/posts/rg-howto-per-game-overrides</link><guid isPermaLink="true">https://danielcosenza.com/posts/rg-howto-per-game-overrides</guid><description>A complete walkthrough setting up configuration that applies only to a specific game, or only to a specific core, without changing your global defaults for everything else.</description><pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate><category>Retrogaming</category><category>howto</category><category>retroarch</category><category>configuration</category></item><item><title>How to Set Up RetroArch and Install Libretro Cores</title><link>https://danielcosenza.com/posts/rg-howto-retroarch-setup</link><guid isPermaLink="true">https://danielcosenza.com/posts/rg-howto-retroarch-setup</guid><description>A complete walkthrough from a fresh RetroArch install to a properly configured, playable core — including the two steps most first-time setups skip.</description><pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate><category>Retrogaming</category><category>howto</category><category>retroarch</category><category>libretro</category><category>setup</category></item><item><title>How to Set Up a RetroPie Retro Gaming Console on a Raspberry Pi</title><link>https://danielcosenza.com/posts/rg-howto-retropie-setup</link><guid isPermaLink="true">https://danielcosenza.com/posts/rg-howto-retropie-setup</guid><description>A complete walkthrough turning a Raspberry Pi into a dedicated retro gaming console — from flashing the image to configuring controllers and adding your first games.</description><pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate><category>Retrogaming</category><category>howto</category><category>retropie</category><category>raspberry-pi</category></item><item><title>How to Configure Rewind in RetroArch</title><link>https://danielcosenza.com/posts/rg-howto-rewind-configuration</link><guid isPermaLink="true">https://danielcosenza.com/posts/rg-howto-rewind-configuration</guid><description>A complete walkthrough setting up RetroArch&apos;s rewind feature — instantly reversing gameplay frame by frame — plus the memory and performance tradeoffs involved in tuning it well.</description><pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate><category>Retrogaming</category><category>howto</category><category>retroarch</category><category>rewind</category><category>savestates</category></item><item><title>How to Reduce Input Lag with Run-Ahead</title><link>https://danielcosenza.com/posts/rg-howto-run-ahead</link><guid isPermaLink="true">https://danielcosenza.com/posts/rg-howto-run-ahead</guid><description>A step-by-step guide to enabling RetroArch&apos;s run-ahead feature correctly — including the one prerequisite that determines whether it will work at all for a given core.</description><pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate><category>Retrogaming</category><category>howto</category><category>input-lag</category><category>run-ahead</category><category>retroarch</category></item><item><title>Controller Input Latency: Tracing the Path From Button to Pixel</title><link>https://danielcosenza.com/posts/rg-input-latency</link><guid isPermaLink="true">https://danielcosenza.com/posts/rg-input-latency</guid><description>The time between pressing a button and seeing the result on screen passes through more stages than most players realize — and emulation adds a few of its own on top of the ones a real console already had.</description><pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate><category>Retrogaming</category><category>input-lag</category><category>latency</category><category>retrogaming</category></item><item><title>Nintendo&apos;s DMCA Notice Gets the Dolphin Emulator Pulled From Steam</title><link>https://danielcosenza.com/posts/rg-news-dolphin-steam-removed</link><guid isPermaLink="true">https://danielcosenza.com/posts/rg-news-dolphin-steam-removed</guid><description>Dolphin was days from launching on Steam when Nintendo sent Valve a DMCA cease-and-desist. Valve pulled the listing rather than take a side — and Dolphin&apos;s Steam release has been in limbo ever since.</description><pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate><category>Retrogaming</category><category>news</category><category>legal</category><category>emulation</category><category>gamecube</category></item><item><title>GGPO Rollback Netcode Goes Open Source</title><link>https://danielcosenza.com/posts/rg-news-ggpo-opensource</link><guid isPermaLink="true">https://danielcosenza.com/posts/rg-news-ggpo-opensource</guid><description>On October 9, 2019, Tony Cannon released GGPO under the MIT license, removing the licensing friction that had limited its adoption and helping cement rollback as the fighting game industry&apos;s netcode standard.</description><pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate><category>Retrogaming</category><category>news</category><category>ggpo</category><category>netcode</category></item><item><title>MAME and MESS Officially Merge into One Unified Emulator</title><link>https://danielcosenza.com/posts/rg-news-mame-mess-merge</link><guid isPermaLink="true">https://danielcosenza.com/posts/rg-news-mame-mess-merge</guid><description>On May 27, 2015, the MESS project — which had emulated computers and consoles separately from MAME&apos;s arcade focus for over a decade — formally merged into MAME, realizing a unification effort that had been prototyped for years.</description><pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate><category>Retrogaming</category><category>news</category><category>mame</category><category>mess</category><category>emulation</category></item><item><title>RetroArch 1.0.0.0 Ships Simultaneously on Seven Platforms</title><link>https://danielcosenza.com/posts/rg-news-retroarch-10</link><guid isPermaLink="true">https://danielcosenza.com/posts/rg-news-retroarch-10</guid><description>On January 11, 2014, RetroArch&apos;s first stable 1.0 release launched at once across OS X, Android, iOS, PS3, Xbox 360, Wii, and GameCube — with Windows following weeks later.</description><pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate><category>Retrogaming</category><category>news</category><category>retroarch</category><category>libretro</category></item><item><title>Nintendo Switch Online Launches with a Built-In NES Emulator</title><link>https://danielcosenza.com/posts/rg-news-switch-online-nes</link><guid isPermaLink="true">https://danielcosenza.com/posts/rg-news-switch-online-nes</guid><description>On September 19, 2018, Nintendo&apos;s own subscription service began shipping with 20 emulated NES games included — a striking contrast to the company&apos;s history of aggressively pursuing unauthorized ROM sites.</description><pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate><category>Retrogaming</category><category>news</category><category>nintendo</category><category>emulation</category></item><item><title>Nintendo&apos;s Lawsuit Ends Yuzu: A $2.4 Million Settlement Shuts Down the Switch Emulator</title><link>https://danielcosenza.com/posts/rg-news-yuzu-shutdown</link><guid isPermaLink="true">https://danielcosenza.com/posts/rg-news-yuzu-shutdown</guid><description>Nintendo sued Yuzu developer Tropic Haze in February 2024 alleging the Switch emulator existed to facilitate piracy at scale. Within days, Yuzu was gone — and its sister project Citra went down with it.</description><pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate><category>Retrogaming</category><category>news</category><category>legal</category><category>emulation</category><category>nintendo</category></item><item><title>Rollback Netcode: How Online Fighting Games Hide Latency</title><link>https://danielcosenza.com/posts/rg-rollback-netcode</link><guid isPermaLink="true">https://danielcosenza.com/posts/rg-rollback-netcode</guid><description>The internet has unavoidable latency. Rollback netcode doesn&apos;t eliminate it — it hides it, by having both players simulate a guessed future and quietly correcting the guess when reality disagrees.</description><pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate><category>Retrogaming</category><category>netcode</category><category>rollback</category><category>multiplayer</category><category>retrogaming</category></item><item><title>ROM Dumping and Preservation: From Cartridge to File</title><link>https://danielcosenza.com/posts/rg-rom-dumping</link><guid isPermaLink="true">https://danielcosenza.com/posts/rg-rom-dumping</guid><description>A ROM file isn&apos;t downloaded into existence — it&apos;s read directly off the memory chips inside a real cartridge, with the same care a museum takes digitizing a fragile original.</description><pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate><category>Retrogaming</category><category>rom-dumping</category><category>preservation</category><category>retrogaming</category></item><item><title>How Save States Work: Serializing an Entire Virtual Machine to Disk</title><link>https://danielcosenza.com/posts/rg-savestates</link><guid isPermaLink="true">https://danielcosenza.com/posts/rg-savestates</guid><description>A save state isn&apos;t a save file — it&apos;s a snapshot of literally everything, taken mid-execution. That distinction is why it&apos;s so powerful, and why it&apos;s so fragile across versions.</description><pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate><category>Retrogaming</category><category>savestates</category><category>emulation</category><category>retrogaming</category></item><item><title>Fixing a Terminal That Shows Garbled Output or Invisible Text</title><link>https://danielcosenza.com/posts/sh-fix-garbled-terminal-output</link><guid isPermaLink="true">https://danielcosenza.com/posts/sh-fix-garbled-terminal-output</guid><description>You accidentally catted a binary file and now your terminal shows strange characters, wrong colors, or doesn&apos;t echo what you type. The shell is fine — the terminal&apos;s display state is what actually broke.</description><pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate><category>Shell &amp; Terminal</category><category>fix</category><category>terminal</category><category>stty</category><category>troubleshooting</category></item><item><title>Fixing Shell History That Doesn&apos;t Persist or Save Correctly</title><link>https://danielcosenza.com/posts/sh-fix-history-not-persisting</link><guid isPermaLink="true">https://danielcosenza.com/posts/sh-fix-history-not-persisting</guid><description>Commands from an earlier session seem to vanish, or history from multiple open terminals overwrites itself instead of combining. Here&apos;s how history file writing actually works, and the specific settings that fix each symptom.</description><pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate><category>Shell &amp; Terminal</category><category>fix</category><category>history</category><category>bash</category><category>zsh</category></item><item><title>Fixing Slow Shell Startup Time in Bash or Zsh</title><link>https://danielcosenza.com/posts/sh-fix-slow-shell-startup</link><guid isPermaLink="true">https://danielcosenza.com/posts/sh-fix-slow-shell-startup</guid><description>Opening a new terminal tab takes a visibly annoying second or two before you get a prompt. Here&apos;s how to actually find which specific line in your config is responsible, rather than guessing.</description><pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate><category>Shell &amp; Terminal</category><category>fix</category><category>performance</category><category>bash</category><category>zsh</category></item><item><title>Fixing Wrong or Missing Colors in Windows Terminal When Using WSL</title><link>https://danielcosenza.com/posts/sh-fix-wsl-terminal-colors</link><guid isPermaLink="true">https://danielcosenza.com/posts/sh-fix-wsl-terminal-colors</guid><description>Your shell prompt, ls output, or a TUI app shows the wrong colors, garbled characters, or no colors at all specifically inside Windows Terminal connected to WSL — even though the exact same shell config looks fine over plain SSH.</description><pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate><category>Shell &amp; Terminal</category><category>fix</category><category>wsl</category><category>windows-terminal</category><category>colors</category></item><item><title>The History of the Unix Shell: From Thompson Shell to Bash and Zsh</title><link>https://danielcosenza.com/posts/sh-history</link><guid isPermaLink="true">https://danielcosenza.com/posts/sh-history</guid><description>Every shell in daily use today — Bash, Zsh, tcsh, fish — descends from a lineage that started with a genuinely minimal 1971 command interpreter, branching twice into distinct, still-visible family trees.</description><pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate><category>Shell &amp; Terminal</category><category>history</category><category>unix</category><category>bash</category><category>zsh</category></item><item><title>How to Debug Shell Scripts With set -x and ShellCheck</title><link>https://danielcosenza.com/posts/sh-howto-debug-shellcheck</link><guid isPermaLink="true">https://danielcosenza.com/posts/sh-howto-debug-shellcheck</guid><description>A complete walkthrough of the two genuinely essential shell scripting debugging tools — one that traces exactly what a script actually executes, and one that catches whole categories of bugs before the script ever runs.</description><pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate><category>Shell &amp; Terminal</category><category>howto</category><category>debugging</category><category>shellcheck</category><category>bash</category></item><item><title>How to Use fzf for Fuzzy Finding in the Shell</title><link>https://danielcosenza.com/posts/sh-howto-fzf-fuzzy-finder</link><guid isPermaLink="true">https://danielcosenza.com/posts/sh-howto-fzf-fuzzy-finder</guid><description>A complete walkthrough setting up fzf — a general-purpose fuzzy finder that plugs into history search, file finding, and practically any list-based shell workflow you can pipe text into.</description><pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate><category>Shell &amp; Terminal</category><category>howto</category><category>fzf</category><category>fuzzy-finder</category></item><item><title>How to Write Robust, Portable POSIX Shell Scripts</title><link>https://danielcosenza.com/posts/sh-howto-posix-scripting</link><guid isPermaLink="true">https://danielcosenza.com/posts/sh-howto-posix-scripting</guid><description>A complete walkthrough writing shell scripts that run correctly under any POSIX-compliant shell — not just whichever one happens to be installed on your own development machine.</description><pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate><category>Shell &amp; Terminal</category><category>howto</category><category>posix</category><category>scripting</category><category>portability</category></item><item><title>How to Use screen as a Session-Persistence Tool</title><link>https://danielcosenza.com/posts/sh-howto-screen-multiplexer</link><guid isPermaLink="true">https://danielcosenza.com/posts/sh-howto-screen-multiplexer</guid><description>A complete walkthrough of GNU screen — older and less feature-rich than tmux, but still genuinely useful, and often already pre-installed on systems where tmux isn&apos;t.</description><pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate><category>Shell &amp; Terminal</category><category>howto</category><category>screen</category><category>multiplexing</category></item><item><title>How to Configure a Custom Prompt With Starship</title><link>https://danielcosenza.com/posts/sh-howto-starship-prompt</link><guid isPermaLink="true">https://danielcosenza.com/posts/sh-howto-starship-prompt</guid><description>A complete walkthrough installing Starship — a fast, shell-agnostic prompt that works identically across Bash, Zsh, and fish — and configuring exactly which information it shows.</description><pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate><category>Shell &amp; Terminal</category><category>howto</category><category>starship</category><category>prompt</category></item><item><title>How to Set Up and Use tmux for Terminal Multiplexing</title><link>https://danielcosenza.com/posts/sh-howto-tmux-multiplexing</link><guid isPermaLink="true">https://danielcosenza.com/posts/sh-howto-tmux-multiplexing</guid><description>A complete walkthrough running multiple shell sessions inside one terminal window, splitting panes, and — most importantly — keeping sessions alive across disconnects.</description><pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate><category>Shell &amp; Terminal</category><category>howto</category><category>tmux</category><category>multiplexing</category></item><item><title>How to Install and Use a TUI File Manager</title><link>https://danielcosenza.com/posts/sh-howto-tui-file-manager</link><guid isPermaLink="true">https://danielcosenza.com/posts/sh-howto-tui-file-manager</guid><description>A complete walkthrough setting up a terminal-based file manager — navigating, previewing, and manipulating files entirely with the keyboard, without ever leaving the terminal.</description><pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate><category>Shell &amp; Terminal</category><category>howto</category><category>tui</category><category>file-manager</category></item><item><title>How to Set Up a TUI System Monitor</title><link>https://danielcosenza.com/posts/sh-howto-tui-system-monitor</link><guid isPermaLink="true">https://danielcosenza.com/posts/sh-howto-tui-system-monitor</guid><description>A complete walkthrough installing and configuring a full-screen terminal system monitor — real-time CPU, memory, and process information, entirely keyboard-driven, without leaving the terminal.</description><pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate><category>Shell &amp; Terminal</category><category>howto</category><category>tui</category><category>system-monitoring</category></item><item><title>How to Configure Windows Terminal for Use With WSL</title><link>https://danielcosenza.com/posts/sh-howto-windows-terminal-wsl</link><guid isPermaLink="true">https://danielcosenza.com/posts/sh-howto-windows-terminal-wsl</guid><description>A complete walkthrough setting up Windows Terminal specifically for a smooth WSL experience — default profile, font, and the settings that most commonly need adjusting.</description><pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate><category>Shell &amp; Terminal</category><category>howto</category><category>windows-terminal</category><category>wsl</category></item><item><title>How to Set Up Zsh With Oh My Zsh</title><link>https://danielcosenza.com/posts/sh-howto-zsh-oh-my-zsh-setup</link><guid isPermaLink="true">https://danielcosenza.com/posts/sh-howto-zsh-oh-my-zsh-setup</guid><description>A complete walkthrough installing Zsh as your shell, setting up Oh My Zsh, and configuring a theme and a first useful plugin — from a completely default shell to a genuinely productive one.</description><pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate><category>Shell &amp; Terminal</category><category>howto</category><category>zsh</category><category>oh-my-zsh</category></item><item><title>Job Control: How Shells Manage Foreground and Background Processes</title><link>https://danielcosenza.com/posts/sh-job-control</link><guid isPermaLink="true">https://danielcosenza.com/posts/sh-job-control</guid><description>Ctrl-Z, bg, fg, and the &amp; at the end of a command all touch the same underlying mechanism — a shell feature that manages which processes can read your keyboard input at any given moment.</description><pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate><category>Shell &amp; Terminal</category><category>deep-dive</category><category>job-control</category><category>processes</category><category>signals</category></item><item><title>Bash 4.0 Ships With Associative Arrays and Coprocesses</title><link>https://danielcosenza.com/posts/sh-news-bash-4-released</link><guid isPermaLink="true">https://danielcosenza.com/posts/sh-news-bash-4-released</guid><description>Announced by maintainer Chet Ramey on February 20, 2009, Bash 4.0 added key-value associative arrays and several other features that had been requested by scripters for years.</description><pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate><category>Shell &amp; Terminal</category><category>news</category><category>bash</category><category>release</category></item><item><title>Brian Fox Releases Bash, a Free Alternative to Proprietary Unix Shells</title><link>https://danielcosenza.com/posts/sh-news-bash-released</link><guid isPermaLink="true">https://danielcosenza.com/posts/sh-news-bash-released</guid><description>Released as beta version .99 on June 8, 1989, Bash was built for the GNU Project as a genuinely free replacement for the Bourne shell — and would eventually become the default shell on more systems than any of the proprietary shells it set out to replace.</description><pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate><category>Shell &amp; Terminal</category><category>news</category><category>bash</category><category>gnu</category><category>history</category></item><item><title>Bill Joy&apos;s C Shell Ships as Part of 2BSD, Introducing Command History</title><link>https://danielcosenza.com/posts/sh-news-csh-2bsd</link><guid isPermaLink="true">https://danielcosenza.com/posts/sh-news-csh-2bsd</guid><description>Distributed starting with the second Berkeley Software Distribution in 1979, Bill Joy&apos;s C shell introduced features — command history, aliases, filename completion — that nearly every shell since has copied in some form.</description><pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate><category>Shell &amp; Terminal</category><category>news</category><category>csh</category><category>bsd</category><category>history</category></item><item><title>Fish Ships as a Shell That Deliberately Breaks From POSIX</title><link>https://danielcosenza.com/posts/sh-news-fish-released</link><guid isPermaLink="true">https://danielcosenza.com/posts/sh-news-fish-released</guid><description>Released February 13, 2005 by Swedish developer Axel Liljencrantz, Fish chose sensible-by-default behavior and built-in syntax highlighting over POSIX compatibility — a genuinely different bet than Bash or Zsh made.</description><pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate><category>Shell &amp; Terminal</category><category>news</category><category>fish</category><category>history</category></item><item><title>Apple Makes Zsh the Default Shell in macOS Catalina</title><link>https://danielcosenza.com/posts/sh-news-macos-zsh-default</link><guid isPermaLink="true">https://danielcosenza.com/posts/sh-news-macos-zsh-default</guid><description>Announced June 4, 2019, the switch from Bash to Zsh as macOS&apos;s default shell traced back to a licensing constraint, not a technical judgment about which shell was better — Apple was stuck on an old, GPLv2 Bash version indefinitely.</description><pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate><category>Shell &amp; Terminal</category><category>news</category><category>macos</category><category>zsh</category><category>apple</category></item><item><title>Robby Russell Releases Oh My Zsh to Share His Own Config With Coworkers</title><link>https://danielcosenza.com/posts/sh-news-oh-my-zsh-created</link><guid isPermaLink="true">https://danielcosenza.com/posts/sh-news-oh-my-zsh-created</guid><description>Born August 28, 2009 as a way to get his own team using Zsh, Oh My Zsh grew into the most widely used Zsh configuration framework — with its original robbyrussell theme still recognizable to millions of terminal users today.</description><pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate><category>Shell &amp; Terminal</category><category>news</category><category>zsh</category><category>oh-my-zsh</category></item><item><title>Ubuntu Adopts Dash as Default /bin/sh, Exposing Bashisms Everywhere</title><link>https://danielcosenza.com/posts/sh-news-ubuntu-dash-default</link><guid isPermaLink="true">https://danielcosenza.com/posts/sh-news-ubuntu-dash-default</guid><description>Ubuntu 6.10 switched its default /bin/sh from Bash to the much stricter Dash in October 2006, purely for faster boot-time script execution — and immediately surfaced years of accumulated non-portable shell scripts across the ecosystem.</description><pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate><category>Shell &amp; Terminal</category><category>news</category><category>dash</category><category>ubuntu</category><category>posix</category></item><item><title>Paul Falstad Releases Zsh, Combining Ideas From ksh, tcsh, and rc</title><link>https://danielcosenza.com/posts/sh-news-zsh-created</link><guid isPermaLink="true">https://danielcosenza.com/posts/sh-news-zsh-created</guid><description>Posted to the alt.sources Usenet newsgroup by a Princeton student in 1990, Zsh combined the strongest interactive features of several existing shells — and, decades later, would become the default shell on macOS.</description><pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate><category>Shell &amp; Terminal</category><category>news</category><category>zsh</category><category>history</category></item><item><title>Bash vs. Zsh vs. sh: What Actually Differs Between POSIX Shells</title><link>https://danielcosenza.com/posts/sh-posix-compare</link><guid isPermaLink="true">https://danielcosenza.com/posts/sh-posix-compare</guid><description>They all accept most of the same basic commands, which is exactly what makes their real differences easy to miss until a script written for one breaks silently on another.</description><pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate><category>Shell &amp; Terminal</category><category>deep-dive</category><category>bash</category><category>zsh</category><category>posix</category></item><item><title>How Shell Prompt Customization Actually Works</title><link>https://danielcosenza.com/posts/sh-prompt-customize</link><guid isPermaLink="true">https://danielcosenza.com/posts/sh-prompt-customize</guid><description>That colorful prompt showing your git branch, exit code, and current directory isn&apos;t a separate program running alongside your shell — it&apos;s a string your shell re-evaluates before every single command.</description><pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate><category>Shell &amp; Terminal</category><category>deep-dive</category><category>prompt</category><category>bash</category><category>zsh</category></item><item><title>Shell Scripting Pitfalls: Quoting, Word Splitting, and Why $var Isn&apos;t Always Safe</title><link>https://danielcosenza.com/posts/sh-quoting-pitfalls</link><guid isPermaLink="true">https://danielcosenza.com/posts/sh-quoting-pitfalls</guid><description>An unquoted variable works fine in testing, then silently breaks in production the first time it holds a value with a space in it. This is the single most common category of real-world shell scripting bug.</description><pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate><category>Shell &amp; Terminal</category><category>deep-dive</category><category>quoting</category><category>scripting</category><category>bash</category></item><item><title>Terminal Emulators vs. Shells: What Each One Actually Does</title><link>https://danielcosenza.com/posts/sh-terminal-emulator</link><guid isPermaLink="true">https://danielcosenza.com/posts/sh-terminal-emulator</guid><description>&apos;Terminal&apos; and &apos;shell&apos; get used interchangeably constantly, but they&apos;re genuinely separate programs with separate jobs — one draws characters on screen and manages input, the other interprets commands.</description><pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate><category>Shell &amp; Terminal</category><category>deep-dive</category><category>terminal</category><category>pty</category><category>shell</category></item><item><title>What Makes a Terminal &apos;TUI-Capable&apos;: ncurses, terminfo, and Raw Mode</title><link>https://danielcosenza.com/posts/sh-tui-ncurses</link><guid isPermaLink="true">https://danielcosenza.com/posts/sh-tui-ncurses</guid><description>Full-screen terminal applications like htop and vim don&apos;t just print text — they take over the entire screen, redraw parts of it selectively, and read your keystrokes one at a time. Here&apos;s the layer that makes that possible.</description><pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate><category>Shell &amp; Terminal</category><category>deep-dive</category><category>tui</category><category>ncurses</category><category>terminal</category></item><item><title>The Dot-Com Bubble: How Growth-at-Any-Cost Met Reality</title><link>https://danielcosenza.com/posts/th-dotcom-bubble</link><guid isPermaLink="true">https://danielcosenza.com/posts/th-dotcom-bubble</guid><description>Internet companies with no profits, and sometimes no meaningful revenue, reached billion-dollar valuations through the late 1990s. The Nasdaq&apos;s collapse starting in 2000 erased trillions in value in under two years.</description><pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate><category>Tech History</category><category>deep-dive</category><category>dotcom</category><category>history</category><category>markets</category></item><item><title>The Atari Landfill Wasn&apos;t Just E.T. Cartridges — What the 2014 Dig Actually Found</title><link>https://danielcosenza.com/posts/th-fix-atari-landfill-not-just-et</link><guid isPermaLink="true">https://danielcosenza.com/posts/th-fix-atari-landfill-not-just-et</guid><description>Popular legend treats the Alamogordo landfill as an E.T.-specific burial ground. The 2014 excavation found 59 different game titles among the recovered cartridges — a much broader inventory clearance than the popular story suggests.</description><pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate><category>Tech History</category><category>fix</category><category>myth</category><category>atari</category><category>video-games</category></item><item><title>No, Napster Wasn&apos;t the First File-Sharing Service</title><link>https://danielcosenza.com/posts/th-fix-napster-not-first-p2p</link><guid isPermaLink="true">https://danielcosenza.com/posts/th-fix-napster-not-first-p2p</guid><description>Napster gets credited as the technology that started internet file sharing. BBSes, Usenet, FTP, and IRC were all moving files between strangers years — in some cases over a decade — before Napster&apos;s 1999 launch.</description><pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate><category>Tech History</category><category>fix</category><category>myth</category><category>napster</category><category>file-sharing</category></item><item><title>No, &apos;The Internet&apos; and &apos;The Web&apos; Are Not the Same Thing</title><link>https://danielcosenza.com/posts/th-fix-web-vs-internet-conflation</link><guid isPermaLink="true">https://danielcosenza.com/posts/th-fix-web-vs-internet-conflation</guid><description>These two terms get used interchangeably in casual conversation constantly. One is a physical and logical network; the other is a specific application built on top of it, invented years later by a specific person.</description><pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate><category>Tech History</category><category>fix</category><category>myth</category><category>internet</category><category>world-wide-web</category></item><item><title>No, Y2K Wasn&apos;t a Hoax — Here&apos;s the Actual Evidence It Was Real</title><link>https://danielcosenza.com/posts/th-fix-y2k-not-a-hoax</link><guid isPermaLink="true">https://danielcosenza.com/posts/th-fix-y2k-not-a-hoax</guid><description>Because remediation worked, January 1, 2000 passed quietly, and some people concluded the whole thing had been overblown from the start. The systems that skipped the fix tell a very different story.</description><pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate><category>Tech History</category><category>fix</category><category>myth</category><category>y2k</category><category>history</category></item><item><title>The History of Tech History: Why This Category Exists on This Blog</title><link>https://danielcosenza.com/posts/th-history</link><guid isPermaLink="true">https://danielcosenza.com/posts/th-history</guid><description>This blog covers operating systems and infrastructure in technical depth. This category exists for the events, products, and moments that shaped the industry those systems live in — verified, dated, and sourced.</description><pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate><category>Tech History</category><category>history</category><category>meta</category></item><item><title>How to Emulate an Original IBM PC Today</title><link>https://danielcosenza.com/posts/th-howto-emulate-ibm-pc</link><guid isPermaLink="true">https://danielcosenza.com/posts/th-howto-emulate-ibm-pc</guid><description>A complete walkthrough setting up an emulator that recreates the original 5150&apos;s actual hardware — the 8088 processor, period memory limits, and PC DOS — to run genuinely original early-1980s software.</description><pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate><category>Tech History</category><category>howto</category><category>ibm-pc</category><category>emulation</category><category>dos</category></item><item><title>How to Explore Historically Significant Source Code Directly</title><link>https://danielcosenza.com/posts/th-howto-explore-source-code-history</link><guid isPermaLink="true">https://danielcosenza.com/posts/th-howto-explore-source-code-history</guid><description>A complete walkthrough finding and actually reading the original source code behind major moments in computing history — Netscape&apos;s original browser, early Unix, and other codebases released or leaked into the historical record.</description><pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate><category>Tech History</category><category>howto</category><category>source-code</category><category>open-source</category><category>research</category></item><item><title>How to Fact-Check a Tech History Claim Before Sharing It</title><link>https://danielcosenza.com/posts/th-howto-fact-check-tech-history</link><guid isPermaLink="true">https://danielcosenza.com/posts/th-howto-fact-check-tech-history</guid><description>A complete, practical checklist for verifying a tech history claim you&apos;re about to repeat — because a surprising number of widely-believed stories in this space turn out to be embellished, misattributed, or simply wrong.</description><pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate><category>Tech History</category><category>howto</category><category>fact-checking</category><category>methodology</category><category>research</category></item><item><title>How to Explore the Internet Archive&apos;s Software Library</title><link>https://danielcosenza.com/posts/th-howto-internet-archive-software</link><guid isPermaLink="true">https://danielcosenza.com/posts/th-howto-internet-archive-software</guid><description>A complete walkthrough of archive.org&apos;s software preservation collections — running historical software directly in your browser, understanding what&apos;s preserved and why, and using it as a genuine research resource.</description><pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate><category>Tech History</category><category>howto</category><category>internet-archive</category><category>preservation</category><category>software</category></item><item><title>How to Legally Play 1980s Video Games Today</title><link>https://danielcosenza.com/posts/th-howto-play-1980s-games-legally</link><guid isPermaLink="true">https://danielcosenza.com/posts/th-howto-play-1980s-games-legally</guid><description>A complete walkthrough of the legitimate ways to experience the games at the center of the 1983 crash and the era around it — official re-releases, subscription libraries, and properly licensed compilations.</description><pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate><category>Tech History</category><category>howto</category><category>video-games</category><category>preservation</category><category>legal</category></item><item><title>How to Actually Run Netscape Navigator and Other Vintage Browsers Today</title><link>https://danielcosenza.com/posts/th-howto-play-old-browsers</link><guid isPermaLink="true">https://danielcosenza.com/posts/th-howto-play-old-browsers</guid><description>A complete walkthrough getting historical browsers running in a modern environment — through emulation, virtual machines, and preserved installers — to see the actual software behind the browser wars firsthand.</description><pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate><category>Tech History</category><category>howto</category><category>netscape</category><category>emulation</category><category>preservation</category></item><item><title>How to Preserve Old Software and Media Yourself</title><link>https://danielcosenza.com/posts/th-howto-preserve-old-software</link><guid isPermaLink="true">https://danielcosenza.com/posts/th-howto-preserve-old-software</guid><description>A complete walkthrough of the practical steps for personally preserving old floppy disks, cartridges, and software before physical media degrades past the point of recovery — imaging, verifying, and archiving properly.</description><pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate><category>Tech History</category><category>howto</category><category>preservation</category><category>archiving</category><category>digitization</category></item><item><title>How to Research a Tech History Topic Using Primary Sources</title><link>https://danielcosenza.com/posts/th-howto-research-primary-sources</link><guid isPermaLink="true">https://danielcosenza.com/posts/th-howto-research-primary-sources</guid><description>A complete walkthrough moving from a secondhand claim you&apos;ve read somewhere to an actual verified fact — court records, SEC filings, contemporaneous news archives, and original announcements, not just another blog post.</description><pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate><category>Tech History</category><category>howto</category><category>research</category><category>primary-sources</category><category>methodology</category></item><item><title>How to Trace a Technology&apos;s Lineage Through Patents and Standards Documents</title><link>https://danielcosenza.com/posts/th-howto-trace-patents-standards</link><guid isPermaLink="true">https://danielcosenza.com/posts/th-howto-trace-patents-standards</guid><description>A complete walkthrough using patent filings and formal standards documents as primary sources for tracing who actually built what first — the same kind of evidence that settled the ENIAC/ABC dispute in court.</description><pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate><category>Tech History</category><category>howto</category><category>patents</category><category>standards</category><category>research</category></item><item><title>How to Get the Most Out of a Visit to a Computer History Museum</title><link>https://danielcosenza.com/posts/th-howto-visit-computer-history-museum</link><guid isPermaLink="true">https://danielcosenza.com/posts/th-howto-visit-computer-history-museum</guid><description>A complete walkthrough preparing for and navigating a real or virtual visit to a computing history museum — what to look for, which institutions maintain the strongest collections, and how to use their digital archives remotely.</description><pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate><category>Tech History</category><category>howto</category><category>museums</category><category>preservation</category><category>research</category></item><item><title>How to Use the Wayback Machine to Research Web History</title><link>https://danielcosenza.com/posts/th-howto-wayback-machine</link><guid isPermaLink="true">https://danielcosenza.com/posts/th-howto-wayback-machine</guid><description>A complete walkthrough of the Internet Archive&apos;s Wayback Machine — finding old captures of a specific site, comparing how a page changed over time, and using it as a genuine primary source rather than just a curiosity.</description><pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate><category>Tech History</category><category>howto</category><category>wayback-machine</category><category>research</category><category>archives</category></item><item><title>The IBM PC: How One Product Accidentally Created an Industry Standard</title><link>https://danielcosenza.com/posts/th-ibm-pc</link><guid isPermaLink="true">https://danielcosenza.com/posts/th-ibm-pc</guid><description>IBM built the 5150 quickly, using off-the-shelf parts and an open architecture, expecting a modest niche product. Instead it became the template every PC-compatible computer still traces back to today.</description><pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate><category>Tech History</category><category>deep-dive</category><category>ibm</category><category>hardware</category><category>standards</category></item><item><title>From Mainframes to Microprocessors: The Decades-Long Shrinking of Computing</title><link>https://danielcosenza.com/posts/th-mainframe-to-micro</link><guid isPermaLink="true">https://danielcosenza.com/posts/th-mainframe-to-micro</guid><description>A computer once filled a room and required a specialized staff to operate. The path to a device that fits in a pocket wasn&apos;t one invention — it was a compounding sequence of separate breakthroughs across decades.</description><pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate><category>Tech History</category><category>deep-dive</category><category>hardware</category><category>history</category><category>microprocessors</category></item><item><title>AOL Announces It Will Buy Netscape for $4.2 Billion</title><link>https://danielcosenza.com/posts/th-news-aol-netscape-deal</link><guid isPermaLink="true">https://danielcosenza.com/posts/th-news-aol-netscape-deal</guid><description>Less than three years after its landmark IPO, Netscape agreed to be acquired by AOL in an all-stock deal — a merger meant to counter Microsoft that critics immediately doubted, given the two companies&apos; very different cultures.</description><pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate><category>Tech History</category><category>news</category><category>netscape</category><category>aol</category><category>acquisitions</category></item><item><title>The World Wide Web Is Announced to the Public</title><link>https://danielcosenza.com/posts/th-news-first-website-public</link><guid isPermaLink="true">https://danielcosenza.com/posts/th-news-first-website-public</guid><description>Tim Berners-Lee&apos;s first website had already been running quietly at CERN since December 1990. In August 1991, he posted a public invitation to collaborate — the moment the web actually became something the wider world could join.</description><pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate><category>Tech History</category><category>news</category><category>world-wide-web</category><category>history</category><category>internet</category></item><item><title>IBM Unveils the Personal Computer at New York&apos;s Waldorf Hotel</title><link>https://danielcosenza.com/posts/th-news-ibm-pc-launch</link><guid isPermaLink="true">https://danielcosenza.com/posts/th-news-ibm-pc-launch</guid><description>Priced at $1,565 with 16KB of RAM and no disk drive, the IBM 5150 didn&apos;t look like a revolution on paper. Its open architecture is what made it one anyway.</description><pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate><category>Tech History</category><category>news</category><category>ibm</category><category>hardware</category><category>history</category></item><item><title>Napster Launches, Built by a College Student in a Massachusetts Office</title><link>https://danielcosenza.com/posts/th-news-napster-launches</link><guid isPermaLink="true">https://danielcosenza.com/posts/th-news-napster-launches</guid><description>Shawn Fanning&apos;s peer-to-peer file-sharing tool went live in June 1999, launched out of a small Hull, Massachusetts office. Within two years it would be shut down by court order — but not before changing the music industry permanently.</description><pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate><category>Tech History</category><category>news</category><category>napster</category><category>music</category><category>history</category></item><item><title>Netscape&apos;s IPO Ignites the Dot-Com Boom</title><link>https://danielcosenza.com/posts/th-news-netscape-ipo</link><guid isPermaLink="true">https://danielcosenza.com/posts/th-news-netscape-ipo</guid><description>A company with no profit went public at $28 a share and closed its first day at $58.25, more than doubling in value in hours. Many historians point to this single afternoon as the moment internet mania actually began.</description><pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate><category>Tech History</category><category>news</category><category>netscape</category><category>ipo</category><category>history</category></item><item><title>Netscape Announces It Will Open-Source Its Browser Code</title><link>https://danielcosenza.com/posts/th-news-netscape-open-source</link><guid isPermaLink="true">https://danielcosenza.com/posts/th-news-netscape-open-source</guid><description>Facing a losing battle against Internet Explorer, Netscape made an unprecedented move for a major commercial software company: giving away the source code to its flagship product, and creating Mozilla to steward it.</description><pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate><category>Tech History</category><category>news</category><category>netscape</category><category>open-source</category><category>mozilla</category></item><item><title>The Video Game Market Begins Its Collapse</title><link>https://danielcosenza.com/posts/th-news-video-game-crash-begins</link><guid isPermaLink="true">https://danielcosenza.com/posts/th-news-video-game-crash-begins</guid><description>Through 1983, US video game console and cartridge sales began an unprecedented decline that would erase roughly 97% of the market&apos;s value within two years, taking Atari&apos;s fortunes down with it.</description><pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate><category>Tech History</category><category>news</category><category>video-games</category><category>atari</category><category>history</category></item><item><title>Virtualization-Based Security and Credential Guard Explained</title><link>https://danielcosenza.com/posts/win-credential-guard-vbs</link><guid isPermaLink="true">https://danielcosenza.com/posts/win-credential-guard-vbs</guid><description>How Windows uses hardware virtualization to carve out a memory region even a fully compromised kernel can&apos;t touch, and why that specifically matters for protecting credentials from pass-the-hash attacks.</description><pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate><category>Windows</category><category>vbs</category><category>credential-guard</category><category>security</category></item><item><title>Event Tracing for Windows (ETW): The Kernel&apos;s Built-In Instrumentation System</title><link>https://danielcosenza.com/posts/win-etw-tracing</link><guid isPermaLink="true">https://danielcosenza.com/posts/win-etw-tracing</guid><description>The high-performance, always-available tracing infrastructure built directly into the Windows kernel, and why it&apos;s the foundation nearly every serious Windows diagnostic and monitoring tool is actually built on.</description><pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate><category>Windows</category><category>etw</category><category>tracing</category><category>diagnostics</category></item><item><title>The Windows Filtering Platform: How Windows Firewall Actually Works Under the Hood</title><link>https://danielcosenza.com/posts/win-filtering-platform</link><guid isPermaLink="true">https://danielcosenza.com/posts/win-filtering-platform</guid><description>The layered, extensible packet-filtering architecture introduced in Windows Vista that both Windows Firewall and most third-party security software actually build on, rather than each implementing separate low-level network hooks.</description><pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate><category>Windows</category><category>wfp</category><category>networking</category><category>firewall</category></item><item><title>Fixing DNS Resolution Failures on Windows</title><link>https://danielcosenza.com/posts/win-fix-dns-resolution</link><guid isPermaLink="true">https://danielcosenza.com/posts/win-fix-dns-resolution</guid><description>Working through the DNS client cache, adapter-specific resolver settings, and the actual configured servers systematically, instead of jumping straight to reinstalling network drivers.</description><pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate><category>Windows</category><category>dns</category><category>networking</category><category>troubleshooting</category></item><item><title>Fixing Group Policy That Won&apos;t Apply</title><link>https://danielcosenza.com/posts/win-fix-group-policy-not-applying</link><guid isPermaLink="true">https://danielcosenza.com/posts/win-fix-group-policy-not-applying</guid><description>Reading gpresult&apos;s actual diagnostic output correctly to distinguish a replication delay, a security filtering mismatch, and a genuinely corrupted client-side cache, instead of guessing at the cause.</description><pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate><category>Windows</category><category>group-policy</category><category>gpo</category><category>active-directory</category></item><item><title>Fixing Kerberos Authentication Failures Caused by Clock Skew</title><link>https://danielcosenza.com/posts/win-fix-kerberos-clock-skew</link><guid isPermaLink="true">https://danielcosenza.com/posts/win-fix-kerberos-clock-skew</guid><description>Why domain authentication starts failing mysteriously when a machine&apos;s clock drifts too far from the domain controller&apos;s, and how to actually confirm and fix the underlying time synchronization problem.</description><pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate><category>Windows</category><category>kerberos</category><category>time-sync</category><category>active-directory</category></item><item><title>Fixing High Memory Usage from Memory Compression and the System Process</title><link>https://danielcosenza.com/posts/win-fix-memory-compression-high-usage</link><guid isPermaLink="true">https://danielcosenza.com/posts/win-fix-memory-compression-high-usage</guid><description>Understanding what the Memory Compression process actually is before assuming it&apos;s a problem, and how to actually identify a genuine memory leak versus normal, by-design memory management behavior.</description><pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate><category>Windows</category><category>memory</category><category>performance</category><category>task-manager</category></item><item><title>Fixing a Crashing or Stuck Print Spooler Service</title><link>https://danielcosenza.com/posts/win-fix-print-spooler-crash</link><guid isPermaLink="true">https://danielcosenza.com/posts/win-fix-print-spooler-crash</guid><description>Diagnosing whether a repeatedly crashing Print Spooler is a corrupted driver, a stuck job, or a genuine security patch conflict, and clearing each cause correctly.</description><pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate><category>Windows</category><category>print-spooler</category><category>services</category><category>printing</category></item><item><title>Fixing a Windows Update Stuck Downloading</title><link>https://danielcosenza.com/posts/win-fix-update-stuck-downloading</link><guid isPermaLink="true">https://danielcosenza.com/posts/win-fix-update-stuck-downloading</guid><description>The progress bar hasn&apos;t moved in hours and Windows Update reports it&apos;s still downloading. Distinct from an update stuck installing — here&apos;s how to reset the download-side components specifically.</description><pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate><category>Windows</category><category>fix</category><category>windows-update</category><category>troubleshooting</category></item><item><title>Fixing &apos;The User Profile Service Failed the Logon&apos; on Windows</title><link>https://danielcosenza.com/posts/win-fix-user-profile-service-failed</link><guid isPermaLink="true">https://danielcosenza.com/posts/win-fix-user-profile-service-failed</guid><description>Windows won&apos;t let you log in and shows this specific error — almost always a corrupted user profile registry entry, with a fix that doesn&apos;t require deleting your files.</description><pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate><category>Windows</category><category>fix</category><category>user-profile</category><category>registry</category></item><item><title>Managing Servers Remotely with Windows Admin Center</title><link>https://danielcosenza.com/posts/win-howto-admin-center</link><guid isPermaLink="true">https://danielcosenza.com/posts/win-howto-admin-center</guid><description>Setting up Microsoft&apos;s free, browser-based server management console as a modern alternative to a growing collection of separate MMC snap-ins and Remote Desktop sessions.</description><pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate><category>Windows</category><category>admin-center</category><category>server-management</category><category>remote-management</category></item><item><title>Setting Up Windows Defender Application Guard for Isolated Browsing</title><link>https://danielcosenza.com/posts/win-howto-defender-application-guard</link><guid isPermaLink="true">https://danielcosenza.com/posts/win-howto-defender-application-guard</guid><description>Running an untrusted website in a hardware-isolated container that&apos;s automatically discarded afterward, instead of risking whatever a malicious page might do to your regular browsing session.</description><pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate><category>Windows</category><category>application-guard</category><category>isolation</category><category>security</category></item><item><title>How to Deploy Software with Group Policy</title><link>https://danielcosenza.com/posts/win-howto-group-policy-software-deploy</link><guid isPermaLink="true">https://danielcosenza.com/posts/win-howto-group-policy-software-deploy</guid><description>A complete walkthrough packaging and deploying an MSI installer to multiple computers automatically via Group Policy Software Installation — no third-party deployment tool required.</description><pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate><category>Windows</category><category>howto</category><category>group-policy</category><category>software-deployment</category></item><item><title>How to Set Up Virtual Machines on Windows with Hyper-V</title><link>https://danielcosenza.com/posts/win-howto-hyperv-vms</link><guid isPermaLink="true">https://danielcosenza.com/posts/win-howto-hyperv-vms</guid><description>A complete walkthrough enabling Hyper-V and creating a working virtual machine — Windows&apos; own native, type-1 hypervisor, built directly into Pro and Enterprise editions.</description><pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate><category>Windows</category><category>howto</category><category>hyper-v</category><category>virtualization</category></item><item><title>Enforcing Least-Privilege Remote Administration with PowerShell JEA</title><link>https://danielcosenza.com/posts/win-howto-jea-least-privilege</link><guid isPermaLink="true">https://danielcosenza.com/posts/win-howto-jea-least-privilege</guid><description>Setting up Just Enough Administration so a support team can run specific, pre-approved remote commands without ever holding full administrative rights on the target servers.</description><pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate><category>Windows</category><category>jea</category><category>powershell</category><category>least-privilege</category></item><item><title>Automating Configuration Drift Prevention with PowerShell DSC</title><link>https://danielcosenza.com/posts/win-howto-powershell-dsc</link><guid isPermaLink="true">https://danielcosenza.com/posts/win-howto-powershell-dsc</guid><description>Declaring a machine&apos;s desired configuration state once, then letting PowerShell Desired State Configuration continuously enforce it, instead of manually re-applying settings after every drift.</description><pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate><category>Windows</category><category>dsc</category><category>powershell</category><category>configuration-management</category></item><item><title>Diagnosing Live Systems with Sysinternals: Process Explorer and Autoruns</title><link>https://danielcosenza.com/posts/win-howto-sysinternals-diagnostics</link><guid isPermaLink="true">https://danielcosenza.com/posts/win-howto-sysinternals-diagnostics</guid><description>Going beyond Task Manager&apos;s basic view to actually identify what a suspicious process is doing and what&apos;s launching automatically at startup, using two of the most useful free Sysinternals tools.</description><pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate><category>Windows</category><category>sysinternals</category><category>process-explorer</category><category>autoruns</category></item><item><title>How to Configure Windows Defender Application Control (WDAC)</title><link>https://danielcosenza.com/posts/win-howto-wdac</link><guid isPermaLink="true">https://danielcosenza.com/posts/win-howto-wdac</guid><description>A complete walkthrough building an allow-list policy that only permits explicitly trusted applications to run — a meaningfully stronger control than antivirus scanning alone.</description><pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate><category>Windows</category><category>howto</category><category>wdac</category><category>security</category><category>application-control</category></item><item><title>Setting Up WSUS for Centralized Windows Update Management</title><link>https://danielcosenza.com/posts/win-howto-wsus-patch-management</link><guid isPermaLink="true">https://danielcosenza.com/posts/win-howto-wsus-patch-management</guid><description>Deploying Windows Server Update Services to control which updates deploy where and when, instead of leaving every machine on a network to individually pull updates directly from Microsoft.</description><pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate><category>Windows</category><category>wsus</category><category>patch-management</category><category>windows-server</category></item><item><title>Internet Explorer&apos;s 27-Year Run Officially Ends on June 15, 2022</title><link>https://danielcosenza.com/posts/win-news-internet-explorer-retired</link><guid isPermaLink="true">https://danielcosenza.com/posts/win-news-internet-explorer-retired</guid><description>Microsoft retired the Internet Explorer 11 desktop application in favor of Edge, while quietly preserving IE-dependent legacy compatibility through Edge&apos;s own IE mode for years afterward.</description><pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate><category>Windows</category><category>internet-explorer</category><category>microsoft-edge</category><category>browsers</category></item><item><title>Windows PowerShell 1.0 Ships, Ending Its Life as &apos;Monad&apos;</title><link>https://danielcosenza.com/posts/win-news-powershell-10</link><guid isPermaLink="true">https://danielcosenza.com/posts/win-news-powershell-10</guid><description>First previewed under the codename Monad in 2003, renamed Windows PowerShell in April 2006, and finally released to the web that November — replacing decades of cmd.exe-centric scripting with a genuine object-oriented shell.</description><pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate><category>Windows</category><category>news</category><category>powershell</category><category>scripting</category></item><item><title>Microsoft Open-Sources Windows Terminal and the Console Host</title><link>https://danielcosenza.com/posts/win-news-terminal-open-source</link><guid isPermaLink="true">https://danielcosenza.com/posts/win-news-terminal-open-source</guid><description>Announced at Build 2019 and pushed to GitHub on May 3, 2019, Windows Terminal brought tabs and modern rendering to the Windows command line — while making both it and the underlying console host genuinely open source.</description><pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate><category>Windows</category><category>news</category><category>windows-terminal</category><category>open-source</category></item><item><title>How Windows Vista&apos;s UAC Prompts Became Its Most Mocked Feature</title><link>https://danielcosenza.com/posts/win-news-vista-uac-backlash</link><guid isPermaLink="true">https://danielcosenza.com/posts/win-news-vista-uac-backlash</guid><description>User Account Control was a genuine security improvement for Windows, but its constant, poorly-tuned confirmation prompts made it the single most complained-about feature of Vista&apos;s rocky launch.</description><pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate><category>Windows</category><category>windows-vista</category><category>uac</category><category>security</category></item><item><title>Windows 8&apos;s Removal of the Start Menu Sparked an Immediate Backlash</title><link>https://danielcosenza.com/posts/win-news-windows8-start-menu-backlash</link><guid isPermaLink="true">https://danielcosenza.com/posts/win-news-windows8-start-menu-backlash</guid><description>Replacing a 17-year-old, universally familiar interface element with a touch-first Start screen alienated the desktop-and-mouse majority of Windows 8&apos;s actual user base, and Microsoft reversed course within a year.</description><pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate><category>Windows</category><category>windows-8</category><category>start-menu</category><category>ui-design</category></item><item><title>Windows XP&apos;s End of Support Left 30% of Internet-Connected PCs Exposed</title><link>https://danielcosenza.com/posts/win-news-xp-end-of-support</link><guid isPermaLink="true">https://danielcosenza.com/posts/win-news-xp-end-of-support</guid><description>Why Microsoft&apos;s April 8, 2014 cutoff for Windows XP updates became one of the most consequential end-of-life dates in the operating system&apos;s history, given exactly how many machines were still running it.</description><pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate><category>Windows</category><category>windows-xp</category><category>end-of-life</category><category>security</category></item><item><title>Windows XP Unifies the Consumer and Business Windows Lines</title><link>https://danielcosenza.com/posts/win-news-xp-release</link><guid isPermaLink="true">https://danielcosenza.com/posts/win-news-xp-release</guid><description>Released to retail October 25, 2001, Windows XP was the first consumer edition of Windows built on the NT kernel rather than the MS-DOS-based 9x line — ending the split between Windows 9x/Me and Windows NT/2000 for good.</description><pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate><category>Windows</category><category>news</category><category>windows-xp</category><category>kernel</category></item><item><title>Understanding Windows Sessions and Session 0 Isolation</title><link>https://danielcosenza.com/posts/win-session-isolation</link><guid isPermaLink="true">https://danielcosenza.com/posts/win-session-isolation</guid><description>Why Windows services stopped being able to directly interact with the desktop starting with Vista, and what actually changed in the session architecture to make that the case.</description><pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate><category>Windows</category><category>sessions</category><category>services</category><category>windows-architecture</category></item><item><title>How Volume Shadow Copy Service Powers Windows Backups and Snapshots</title><link>https://danielcosenza.com/posts/win-volume-shadow-copy</link><guid isPermaLink="true">https://danielcosenza.com/posts/win-volume-shadow-copy</guid><description>The coordination mechanism that lets Windows back up files that are actively open and being written to, without the inconsistency that copying a live, in-use file would otherwise risk.</description><pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate><category>Windows</category><category>vss</category><category>backup</category><category>snapshots</category></item><item><title>How WSL2&apos;s Virtual Disk Actually Grows (and Why It Won&apos;t Shrink on Its Own)</title><link>https://danielcosenza.com/posts/wsl-disk-virtualization</link><guid isPermaLink="true">https://danielcosenza.com/posts/wsl-disk-virtualization</guid><description>Each WSL2 distro&apos;s filesystem lives inside a dynamically-expanding .vhdx file on your Windows drive. It grows automatically as you use it — but deleting files inside WSL doesn&apos;t shrink it back down, and that&apos;s expected, not a bug.</description><pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate><category>WSL</category><category>deep-dive</category><category>wsl2</category><category>disk</category><category>vhdx</category></item><item><title>How WSL Actually Packages and Distributes Linux Distros</title><link>https://danielcosenza.com/posts/wsl-distro-packaging</link><guid isPermaLink="true">https://danielcosenza.com/posts/wsl-distro-packaging</guid><description>Installing Ubuntu via the Microsoft Store feels like installing any other app. Underneath, WSL distros are root filesystem tarballs registered with a small platform layer — and that model is what makes import/export and custom distros possible.</description><pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate><category>WSL</category><category>deep-dive</category><category>wsl2</category><category>distros</category><category>packaging</category></item><item><title>Fixing &apos;Access Is Denied&apos; Errors in WSL After an Update</title><link>https://danielcosenza.com/posts/wsl-fix-access-denied-after-update</link><guid isPermaLink="true">https://danielcosenza.com/posts/wsl-fix-access-denied-after-update</guid><description>Commands that worked fine yesterday suddenly fail with permission errors after a WSL or Windows update. Here&apos;s how to work through the specific, common causes rather than reflexively reaching for chmod 777.</description><pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate><category>WSL</category><category>fix</category><category>wsl2</category><category>permissions</category><category>troubleshooting</category></item><item><title>Fixing WSL2 Clock Drift After Sleep or Hibernation</title><link>https://danielcosenza.com/posts/wsl-fix-clock-drift</link><guid isPermaLink="true">https://danielcosenza.com/posts/wsl-fix-clock-drift</guid><description>The system clock inside WSL2 falls behind Windows&apos; own clock, especially noticeably after your laptop sleeps and resumes. Here&apos;s why the VM&apos;s clock actually drifts, and how to force it back in sync.</description><pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate><category>WSL</category><category>fix</category><category>wsl2</category><category>clock</category><category>time-sync</category></item><item><title>Fixing a WSL Distro That Won&apos;t Start or Hangs on &apos;Installing&apos;</title><link>https://danielcosenza.com/posts/wsl-fix-distro-wont-start</link><guid isPermaLink="true">https://danielcosenza.com/posts/wsl-fix-distro-wont-start</guid><description>A distro that hangs indefinitely on first launch, or refuses to start on a machine that&apos;s run WSL fine before, usually traces back to one of a handful of specific, diagnosable causes.</description><pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate><category>WSL</category><category>fix</category><category>wsl2</category><category>troubleshooting</category><category>distro</category></item><item><title>Fixing Docker Desktop&apos;s WSL2 Backend Integration Issues</title><link>https://danielcosenza.com/posts/wsl-fix-docker-desktop-integration</link><guid isPermaLink="true">https://danielcosenza.com/posts/wsl-fix-docker-desktop-integration</guid><description>Docker Desktop configured to use the WSL2 backend suddenly can&apos;t see your distro, or containers fail to start with confusing errors. Here&apos;s how to work through the specific integration points that commonly break.</description><pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate><category>WSL</category><category>fix</category><category>docker</category><category>wsl2</category><category>containers</category></item><item><title>Fixing High vmmem Memory Usage in WSL2</title><link>https://danielcosenza.com/posts/wsl-fix-high-memory-vmmem</link><guid isPermaLink="true">https://danielcosenza.com/posts/wsl-fix-high-memory-vmmem</guid><description>Task Manager shows vmmem consuming several gigabytes of RAM, even when you&apos;re not actively using WSL. Here&apos;s how to actually diagnose what&apos;s holding that memory, and how to cap it properly.</description><pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate><category>WSL</category><category>fix</category><category>wsl2</category><category>memory</category><category>performance</category></item><item><title>Fixing WSL2 Networking and DNS Resolution Failures</title><link>https://danielcosenza.com/posts/wsl-fix-networking-dns</link><guid isPermaLink="true">https://danielcosenza.com/posts/wsl-fix-networking-dns</guid><description>Ping works, but domain names won&apos;t resolve inside WSL2 — or the reverse. Here&apos;s how to actually diagnose whether the problem is DNS configuration, VPN interference, or the networking mode itself.</description><pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate><category>WSL</category><category>fix</category><category>wsl2</category><category>networking</category><category>dns</category></item><item><title>Fixing Slow File I/O When Working on /mnt/c from WSL2</title><link>https://danielcosenza.com/posts/wsl-fix-slow-file-io-mnt</link><guid isPermaLink="true">https://danielcosenza.com/posts/wsl-fix-slow-file-io-mnt</guid><description>A project that runs fine natively feels sluggish the moment it&apos;s accessed from /mnt/c inside WSL2 — especially anything touching large numbers of small files. Here&apos;s why, and the actual fix.</description><pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate><category>WSL</category><category>fix</category><category>wsl2</category><category>performance</category><category>filesystem</category></item><item><title>Fixing a WSL2 Virtual Disk That Won&apos;t Shrink After Deleting Files</title><link>https://danielcosenza.com/posts/wsl-fix-vhdx-disk-not-shrinking</link><guid isPermaLink="true">https://danielcosenza.com/posts/wsl-fix-vhdx-disk-not-shrinking</guid><description>You deleted gigabytes of files inside a WSL distro, but your Windows C: drive shows no space freed up at all. This is expected dynamic-VHD behavior, not a bug — and it has a specific, direct fix.</description><pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate><category>WSL</category><category>fix</category><category>wsl2</category><category>disk-space</category><category>vhdx</category></item><item><title>Fixing WSLg Graphics Rendering and Display Issues</title><link>https://danielcosenza.com/posts/wsl-fix-wslg-graphics-issues</link><guid isPermaLink="true">https://danielcosenza.com/posts/wsl-fix-wslg-graphics-issues</guid><description>A Linux GUI application launches under WSLg but renders as a blank window, crashes immediately, or displays visual corruption. Here&apos;s how to work through WSLg&apos;s specific rendering stack to find the actual cause.</description><pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate><category>WSL</category><category>fix</category><category>wslg</category><category>graphics</category><category>gui</category></item><item><title>How WSLg Gets a Linux GUI Window Onto Your Windows Desktop</title><link>https://danielcosenza.com/posts/wsl-gui-apps-wslg</link><guid isPermaLink="true">https://danielcosenza.com/posts/wsl-gui-apps-wslg</guid><description>Running a Linux GUI application inside WSL and having its window appear alongside your native Windows apps looks like magic. It&apos;s actually a full Wayland compositor and audio system, tunneled over RDP, running invisibly.</description><pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate><category>WSL</category><category>deep-dive</category><category>wslg</category><category>gui</category><category>wayland</category></item><item><title>The History of WSL: From a Cancelled Android Project to a Real Linux Kernel</title><link>https://danielcosenza.com/posts/wsl-history</link><guid isPermaLink="true">https://danielcosenza.com/posts/wsl-history</guid><description>Before WSL let Windows run real Linux binaries, Microsoft tried and abandoned a different compatibility project entirely. Here&apos;s the actual path from that cancellation to today&apos;s tightly-integrated WSL2.</description><pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate><category>WSL</category><category>history</category><category>wsl</category><category>windows</category><category>linux</category></item><item><title>How to Back Up and Restore a WSL Distro</title><link>https://danielcosenza.com/posts/wsl-howto-backup-restore-distro</link><guid isPermaLink="true">https://danielcosenza.com/posts/wsl-howto-backup-restore-distro</guid><description>A complete walkthrough exporting a WSL distro&apos;s entire state to a portable file, and restoring it later — on the same machine after a problem, or on an entirely different machine.</description><pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate><category>WSL</category><category>howto</category><category>wsl2</category><category>backup</category><category>migration</category></item><item><title>How to Compact a WSL2 Virtual Disk to Reclaim Disk Space</title><link>https://danielcosenza.com/posts/wsl-howto-compact-vhdx</link><guid isPermaLink="true">https://danielcosenza.com/posts/wsl-howto-compact-vhdx</guid><description>A complete walkthrough shrinking a WSL2 distro&apos;s .vhdx file back down after deleting large amounts of data — the specific diskpart steps that actually reclaim the space Windows doesn&apos;t release automatically.</description><pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate><category>WSL</category><category>howto</category><category>wsl2</category><category>disk-space</category><category>vhdx</category></item><item><title>How to Set Up Docker with the WSL2 Backend</title><link>https://danielcosenza.com/posts/wsl-howto-docker-setup</link><guid isPermaLink="true">https://danielcosenza.com/posts/wsl-howto-docker-setup</guid><description>A complete walkthrough getting Docker Desktop configured to use WSL2 as its backend, integrating specific distros, and verifying containers actually run using WSL2&apos;s real Linux kernel rather than a separate VM.</description><pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate><category>WSL</category><category>howto</category><category>docker</category><category>wsl2</category><category>containers</category></item><item><title>How to Enable systemd in WSL2</title><link>https://danielcosenza.com/posts/wsl-howto-enable-systemd</link><guid isPermaLink="true">https://danielcosenza.com/posts/wsl-howto-enable-systemd</guid><description>A complete walkthrough turning on systemd support in a WSL2 distro — configuration, the required restart, and verifying services actually manage correctly afterward.</description><pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate><category>WSL</category><category>howto</category><category>wsl2</category><category>systemd</category><category>configuration</category></item><item><title>How to Access Files Between Windows and WSL Correctly</title><link>https://danielcosenza.com/posts/wsl-howto-file-access-windows-linux</link><guid isPermaLink="true">https://danielcosenza.com/posts/wsl-howto-file-access-windows-linux</guid><description>A complete walkthrough of both directions of file access — reaching Windows files from Linux, and Linux files from Windows — plus the performance-driven rule for deciding where a given project&apos;s files should actually live.</description><pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate><category>WSL</category><category>howto</category><category>wsl2</category><category>filesystem</category><category>files</category></item><item><title>How to Set Up GPU-Accelerated CUDA Workloads in WSL2</title><link>https://danielcosenza.com/posts/wsl-howto-gpu-cuda-setup</link><guid isPermaLink="true">https://danielcosenza.com/posts/wsl-howto-gpu-cuda-setup</guid><description>A complete walkthrough getting an NVIDIA GPU working for CUDA-accelerated machine learning workloads inside WSL2 — driver setup, verification, and running an actual PyTorch or TensorFlow workload against it.</description><pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate><category>WSL</category><category>howto</category><category>wsl2</category><category>cuda</category><category>gpu</category><category>machine-learning</category></item><item><title>How to Install WSL on Windows</title><link>https://danielcosenza.com/posts/wsl-howto-install</link><guid isPermaLink="true">https://danielcosenza.com/posts/wsl-howto-install</guid><description>A complete walkthrough getting WSL2 and a Linux distro running from a clean Windows installation — the single-command path, and what to check if it doesn&apos;t work cleanly the first time.</description><pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate><category>WSL</category><category>howto</category><category>wsl</category><category>installation</category><category>windows</category></item><item><title>How to Install and Manage Multiple Linux Distros in WSL</title><link>https://danielcosenza.com/posts/wsl-howto-multiple-distros</link><guid isPermaLink="true">https://danielcosenza.com/posts/wsl-howto-multiple-distros</guid><description>A complete walkthrough running several separate Linux distros side by side under WSL — installing additional distros, switching between them, and setting a specific one as your default.</description><pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate><category>WSL</category><category>howto</category><category>wsl</category><category>distros</category><category>multi-distro</category></item><item><title>How to Configure and Switch WSL2&apos;s Networking Mode</title><link>https://danielcosenza.com/posts/wsl-howto-networking-mode</link><guid isPermaLink="true">https://danielcosenza.com/posts/wsl-howto-networking-mode</guid><description>A complete walkthrough switching between WSL2&apos;s default NAT networking and mirrored networking mode — and how to verify which one actually solves your specific reachability problem.</description><pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate><category>WSL</category><category>howto</category><category>wsl2</category><category>networking</category><category>configuration</category></item><item><title>How to Run Linux GUI Applications on Windows with WSLg</title><link>https://danielcosenza.com/posts/wsl-howto-run-gui-apps</link><guid isPermaLink="true">https://danielcosenza.com/posts/wsl-howto-run-gui-apps</guid><description>A complete walkthrough installing and running a graphical Linux application directly on your Windows desktop — no separate X server setup, no remote desktop session, just a window that opens like any other.</description><pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate><category>WSL</category><category>howto</category><category>wslg</category><category>gui</category><category>linux</category></item><item><title>How to Use VS Code with WSL via the Remote-WSL Extension</title><link>https://danielcosenza.com/posts/wsl-howto-vscode-remote</link><guid isPermaLink="true">https://danielcosenza.com/posts/wsl-howto-vscode-remote</guid><description>A complete walkthrough editing and debugging code that lives inside your WSL distro, using a Windows-installed VS Code, without ever copying files to the Windows side or fighting cross-filesystem performance.</description><pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate><category>WSL</category><category>howto</category><category>vscode</category><category>wsl2</category><category>development</category></item><item><title>How to Configure WSL2 Resource Limits with .wslconfig</title><link>https://danielcosenza.com/posts/wsl-howto-wslconfig-resource-limits</link><guid isPermaLink="true">https://danielcosenza.com/posts/wsl-howto-wslconfig-resource-limits</guid><description>A complete walkthrough of the global .wslconfig file — setting memory, CPU, swap, and networking behavior for every WSL2 distro on your machine from one central configuration file.</description><pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate><category>WSL</category><category>howto</category><category>wsl2</category><category>wslconfig</category><category>configuration</category></item><item><title>How WSL Lets Linux and Windows Executables Call Each Other</title><link>https://danielcosenza.com/posts/wsl-interop-executables</link><guid isPermaLink="true">https://danielcosenza.com/posts/wsl-interop-executables</guid><description>Running notepad.exe from a Bash prompt, or a Linux tool from Windows&apos; own command line, works because of a specific interop layer translating between two completely different executable formats and process models.</description><pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate><category>WSL</category><category>deep-dive</category><category>wsl2</category><category>interop</category><category>processes</category></item><item><title>The Linux Kernel Microsoft Actually Maintains for WSL2</title><link>https://danielcosenza.com/posts/wsl-kernel-maintenance</link><guid isPermaLink="true">https://danielcosenza.com/posts/wsl-kernel-maintenance</guid><description>WSL2 doesn&apos;t borrow a distro&apos;s kernel — Microsoft maintains its own fork, patched specifically for the virtualized environment WSL2 runs in, and ships it independently of both Windows and any Linux distro&apos;s own kernel.</description><pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate><category>WSL</category><category>deep-dive</category><category>wsl2</category><category>kernel</category><category>linux</category></item><item><title>Microsoft Cancels Project Astoria, Its Android-on-Windows Bridge</title><link>https://danielcosenza.com/posts/wsl-news-astoria-cancelled</link><guid isPermaLink="true">https://danielcosenza.com/posts/wsl-news-astoria-cancelled</guid><description>Before WSL let Windows run real Linux binaries, Microsoft was building a bridge to run Android apps on Windows 10 Mobile instead. That project was shelved in February 2016 — clearing the way for what came next.</description><pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate><category>WSL</category><category>news</category><category>history</category><category>windows</category></item><item><title>WSL Graduates Out of Beta in the Fall Creators Update</title><link>https://danielcosenza.com/posts/wsl-news-ga-fall-creators-update</link><guid isPermaLink="true">https://danielcosenza.com/posts/wsl-news-ga-fall-creators-update</guid><description>Eighteen months after its first public reveal, WSL stopped being an experimental preview feature — gaining full Microsoft support, multi-distro installs via the Microsoft Store, and Windows Server compatibility.</description><pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate><category>WSL</category><category>news</category><category>wsl</category><category>windows</category></item><item><title>GPU Compute Comes to WSL2, Enabling Real ML Workloads</title><link>https://danielcosenza.com/posts/wsl-news-gpu-compute-preview</link><guid isPermaLink="true">https://danielcosenza.com/posts/wsl-news-gpu-compute-preview</guid><description>Microsoft announced GPU-accelerated compute support for WSL2 at Build 2020, followed by an NVIDIA CUDA preview that let machine learning frameworks like PyTorch and TensorFlow use a physical GPU from inside WSL2.</description><pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate><category>WSL</category><category>news</category><category>wsl2</category><category>gpu</category><category>machine-learning</category></item><item><title>Installing WSL Goes From a Multi-Step Process to One Command</title><link>https://danielcosenza.com/posts/wsl-news-install-single-command</link><guid isPermaLink="true">https://danielcosenza.com/posts/wsl-news-install-single-command</guid><description>For years, setting up WSL meant enabling Windows features manually, downloading a kernel update package separately, and installing a distro as separate steps. The wsl --install command collapsed all of it into one line.</description><pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate><category>WSL</category><category>news</category><category>wsl</category><category>windows</category></item><item><title>WSL Reaches 1.0 as a Standalone Microsoft Store App</title><link>https://danielcosenza.com/posts/wsl-news-store-ga</link><guid isPermaLink="true">https://danielcosenza.com/posts/wsl-news-store-ga</guid><description>WSL dropped its &apos;Preview&apos; label in the Microsoft Store on November 22, 2022, decoupling its update cycle from Windows itself entirely — meaning WSL improvements could ship on their own schedule going forward.</description><pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate><category>WSL</category><category>news</category><category>wsl</category><category>microsoft-store</category></item><item><title>Microsoft and Canonical Bring systemd Support to WSL</title><link>https://danielcosenza.com/posts/wsl-news-systemd-support-announced</link><guid isPermaLink="true">https://danielcosenza.com/posts/wsl-news-systemd-support-announced</guid><description>For years, software expecting systemd to be running as PID 1 simply didn&apos;t work correctly inside WSL. That changed in September 2022, closing one of WSL&apos;s longest-standing compatibility gaps.</description><pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate><category>WSL</category><category>news</category><category>wsl2</category><category>systemd</category></item><item><title>Windows 11 Launches With WSL2 as a Default, Integrated Experience</title><link>https://danielcosenza.com/posts/wsl-news-windows11-launch</link><guid isPermaLink="true">https://danielcosenza.com/posts/wsl-news-windows11-launch</guid><description>When Windows 11 shipped on October 5, 2021, Linux compatibility via WSL2 was no longer an optional add-on developers had to know to seek out — it was part of the platform&apos;s story from day one.</description><pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate><category>WSL</category><category>news</category><category>windows-11</category><category>wsl2</category></item><item><title>Microsoft Announces WSL2, Replacing Syscall Translation With a Real Kernel</title><link>https://danielcosenza.com/posts/wsl-news-wsl2-announced</link><guid isPermaLink="true">https://danielcosenza.com/posts/wsl-news-wsl2-announced</guid><description>At Build 2019, Microsoft revealed WSL2 — not an incremental update, but an entirely different architecture running a genuine Linux kernel inside a purpose-built lightweight virtual machine.</description><pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate><category>WSL</category><category>news</category><category>wsl2</category><category>windows</category></item><item><title>WSLg Ships, Letting Linux GUI Apps Run Directly on the Windows Desktop</title><link>https://danielcosenza.com/posts/wsl-news-wslg-released</link><guid isPermaLink="true">https://danielcosenza.com/posts/wsl-news-wslg-released</guid><description>Announced at Build 2020 and released to Windows Insiders the following spring, WSLg let a Linux graphical application&apos;s window appear on the Windows desktop like any native app — no separate remote desktop session required.</description><pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate><category>WSL</category><category>news</category><category>wslg</category><category>gui</category><category>windows</category></item><item><title>Why WSL Didn&apos;t Support systemd at First, and How It Works Now</title><link>https://danielcosenza.com/posts/wsl-systemd-support</link><guid isPermaLink="true">https://danielcosenza.com/posts/wsl-systemd-support</guid><description>For years, WSL distros ran without systemd — meaning services expecting it simply failed. Here&apos;s why that gap existed, and what changed architecturally to finally close it.</description><pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate><category>WSL</category><category>deep-dive</category><category>wsl2</category><category>systemd</category><category>init</category></item><item><title>How to Set Up Centralized Logging for Kubernetes with the EFK Stack</title><link>https://danielcosenza.com/posts/devops-howto-centralized-logging-elk</link><guid isPermaLink="true">https://danielcosenza.com/posts/devops-howto-centralized-logging-elk</guid><description>A complete walkthrough deploying Fluent Bit, Elasticsearch, and Kibana to collect and search logs from every pod in a cluster — one place to look instead of kubectl logs against dozens of pods individually.</description><pubDate>Fri, 10 Jul 2026 00:00:00 GMT</pubDate><category>SRE &amp; DevOps</category><category>howto</category><category>logging</category><category>elasticsearch</category><category>kubernetes</category></item><item><title>How to Set Up Secrets Management with HashiCorp Vault</title><link>https://danielcosenza.com/posts/devops-howto-vault-secrets</link><guid isPermaLink="true">https://danielcosenza.com/posts/devops-howto-vault-secrets</guid><description>A complete walkthrough deploying Vault, storing a secret, and retrieving it from a Kubernetes pod dynamically — instead of secrets sitting as plain base64 in a Kubernetes Secret object.</description><pubDate>Fri, 10 Jul 2026 00:00:00 GMT</pubDate><category>SRE &amp; DevOps</category><category>howto</category><category>vault</category><category>secrets</category><category>security</category></item><item><title>HashiCorp&apos;s License Change Sparks the OpenTofu Fork</title><link>https://danielcosenza.com/posts/devops-news-opentofu-fork</link><guid isPermaLink="true">https://danielcosenza.com/posts/devops-news-opentofu-fork</guid><description>HashiCorp moved Terraform to the Business Source License on August 10, 2023; within six weeks, a community fork called OpenTF (soon renamed OpenTofu) had gathered 33,000 GitHub stars and joined the Linux Foundation.</description><pubDate>Fri, 10 Jul 2026 00:00:00 GMT</pubDate><category>SRE &amp; DevOps</category><category>news</category><category>terraform</category><category>opentofu</category><category>licensing</category></item><item><title>Fixing DOSLFN Long Filename Problems on FreeDOS</title><link>https://danielcosenza.com/posts/dos-fix-doslfn-issues</link><guid isPermaLink="true">https://danielcosenza.com/posts/dos-fix-doslfn-issues</guid><description>Long filenames show up truncated to 8.3 format in some programs but not others, even with DOSLFN loaded. This is expected, driver-specific behavior — here&apos;s how to tell which programs actually support it.</description><pubDate>Fri, 10 Jul 2026 00:00:00 GMT</pubDate><category>FreeDOS</category><category>fix</category><category>doslfn</category><category>filenames</category></item><item><title>Fixing Incorrect Date and Time on FreeDOS</title><link>https://danielcosenza.com/posts/dos-fix-rtc-datetime-issues</link><guid isPermaLink="true">https://danielcosenza.com/posts/dos-fix-rtc-datetime-issues</guid><description>FreeDOS boots with the wrong date or time every session, or DATE/TIME commands don&apos;t stick. Here&apos;s how to distinguish a dying CMOS battery from a software configuration issue.</description><pubDate>Fri, 10 Jul 2026 00:00:00 GMT</pubDate><category>FreeDOS</category><category>fix</category><category>rtc</category><category>date-time</category></item><item><title>FreeDOS 1.0 Released, 12 Years After the Project Began</title><link>https://danielcosenza.com/posts/dos-news-10-release</link><guid isPermaLink="true">https://danielcosenza.com/posts/dos-news-10-release</guid><description>FreeDOS reached its first stable 1.0 release on September 3, 2006 — twelve years after Jim Hall&apos;s original 1994 call to build a free DOS.</description><pubDate>Fri, 10 Jul 2026 00:00:00 GMT</pubDate><category>FreeDOS</category><category>news</category><category>release</category><category>freedos</category></item><item><title>FreeDOS 1.3 Released</title><link>https://danielcosenza.com/posts/dos-news-13-release</link><guid isPermaLink="true">https://danielcosenza.com/posts/dos-news-13-release</guid><description>FreeDOS 1.3 shipped February 20, 2022, continuing the project&apos;s roughly five-year major release rhythm with an updated package set.</description><pubDate>Fri, 10 Jul 2026 00:00:00 GMT</pubDate><category>FreeDOS</category><category>news</category><category>release</category><category>freedos</category></item><item><title>How to Set Up a Web Server on FreeBSD with nginx</title><link>https://danielcosenza.com/posts/fb-howto-nginx-webserver</link><guid isPermaLink="true">https://danielcosenza.com/posts/fb-howto-nginx-webserver</guid><description>A complete walkthrough installing nginx, enabling it as a proper rc.conf-managed service, and serving a first site — the FreeBSD-idiomatic way, not a generic Linux tutorial adapted.</description><pubDate>Fri, 10 Jul 2026 00:00:00 GMT</pubDate><category>FreeBSD</category><category>howto</category><category>nginx</category><category>webserver</category></item><item><title>How to Set Up Automated Security Audits on FreeBSD</title><link>https://danielcosenza.com/posts/fb-howto-security-audit-updates</link><guid isPermaLink="true">https://danielcosenza.com/posts/fb-howto-security-audit-updates</guid><description>A complete walkthrough configuring periodic(8), pkg-audit, and freebsd-update to catch known vulnerabilities and pending patches automatically, with results delivered by email.</description><pubDate>Fri, 10 Jul 2026 00:00:00 GMT</pubDate><category>FreeBSD</category><category>howto</category><category>security</category><category>pkg-audit</category><category>freebsd-update</category></item><item><title>How to Set Up Printing on Haiku</title><link>https://danielcosenza.com/posts/hk-howto-printing-setup</link><guid isPermaLink="true">https://danielcosenza.com/posts/hk-howto-printing-setup</guid><description>A complete walkthrough configuring a printer on Haiku using the Print Kit&apos;s transport and driver add-ons, from adding the printer through to printing a real test page.</description><pubDate>Fri, 10 Jul 2026 00:00:00 GMT</pubDate><category>Haiku OS</category><category>howto</category><category>printing</category><category>print-kit</category><category>hardware</category></item><item><title>How to Monitor System Activity with ProcessController on Haiku</title><link>https://danielcosenza.com/posts/hk-howto-processcontroller-monitoring</link><guid isPermaLink="true">https://danielcosenza.com/posts/hk-howto-processcontroller-monitoring</guid><description>A complete walkthrough using Haiku&apos;s ProcessController Deskbar replicant to watch CPU load and memory usage at a glance, and dig into individual running teams when something is misbehaving.</description><pubDate>Fri, 10 Jul 2026 00:00:00 GMT</pubDate><category>Haiku OS</category><category>howto</category><category>monitoring</category><category>processcontroller</category><category>deskbar</category></item><item><title>Be Inc. Goes Public on Nasdaq Under the Ticker BEOS</title><link>https://danielcosenza.com/posts/hk-news-be-inc-ipo</link><guid isPermaLink="true">https://danielcosenza.com/posts/hk-news-be-inc-ipo</guid><description>The company behind BeOS — the operating system Haiku would later reimplement as open source — completed its IPO in July 1999, at the height of the dot-com boom, years before the open-source project this blog covers even began.</description><pubDate>Fri, 10 Jul 2026 00:00:00 GMT</pubDate><category>Haiku OS</category><category>news</category><category>history</category><category>beos</category></item><item><title>BeOS 5 Personal Edition Ships Free, Installable Right Alongside Windows</title><link>https://danielcosenza.com/posts/hk-news-beos5-personal-edition</link><guid isPermaLink="true">https://danielcosenza.com/posts/hk-news-beos5-personal-edition</guid><description>Be Inc. gave away BeOS 5 Personal Edition for free, installable as a single file that lived inside your existing Windows or Linux system. More than 100,000 people pre-registered before it even launched.</description><pubDate>Fri, 10 Jul 2026 00:00:00 GMT</pubDate><category>Haiku OS</category><category>news</category><category>history</category><category>beos</category></item><item><title>Fixing a Broken GRUB2 Configuration After a Failed Update</title><link>https://danielcosenza.com/posts/lx-fix-grub2-broken-config</link><guid isPermaLink="true">https://danielcosenza.com/posts/lx-fix-grub2-broken-config</guid><description>A kernel update left the system unable to boot into any menu entry, or grub-mkconfig fails outright. Here&apos;s how to regenerate a working configuration from a rescue environment.</description><pubDate>Fri, 10 Jul 2026 00:00:00 GMT</pubDate><category>Linux</category><category>fix</category><category>grub</category><category>boot</category></item><item><title>How to Set Up Automatic Security Updates on Linux</title><link>https://danielcosenza.com/posts/lx-howto-automatic-security-updates</link><guid isPermaLink="true">https://danielcosenza.com/posts/lx-howto-automatic-security-updates</guid><description>A complete walkthrough configuring unattended-upgrades (Debian/Ubuntu) and dnf-automatic (RHEL/Fedora) to apply security patches automatically, with sane limits on what gets updated unattended.</description><pubDate>Fri, 10 Jul 2026 00:00:00 GMT</pubDate><category>Linux</category><category>howto</category><category>security</category><category>updates</category><category>automation</category></item><item><title>How to Configure Network Bonding on Linux</title><link>https://danielcosenza.com/posts/lx-howto-network-bonding</link><guid isPermaLink="true">https://danielcosenza.com/posts/lx-howto-network-bonding</guid><description>A complete walkthrough combining two or more network interfaces into a single bonded interface using NetworkManager — for redundancy, throughput, or both, depending on the mode you choose.</description><pubDate>Fri, 10 Jul 2026 00:00:00 GMT</pubDate><category>Linux</category><category>howto</category><category>networking</category><category>bonding</category></item><item><title>How to Automate Repetitive Tasks on macOS with Shortcuts and Automator</title><link>https://danielcosenza.com/posts/mac-howto-automator-shortcuts</link><guid isPermaLink="true">https://danielcosenza.com/posts/mac-howto-automator-shortcuts</guid><description>A complete walkthrough building a real automation with both of macOS&apos;s built-in automation tools — when to reach for each, and how they actually relate to one another.</description><pubDate>Fri, 10 Jul 2026 00:00:00 GMT</pubDate><category>macOS</category><category>howto</category><category>automator</category><category>shortcuts</category><category>automation</category></item><item><title>How to Use Console.app for Diagnosing Problems on macOS</title><link>https://danielcosenza.com/posts/mac-howto-console-diagnostics</link><guid isPermaLink="true">https://danielcosenza.com/posts/mac-howto-console-diagnostics</guid><description>A complete walkthrough reading the unified logging system through Console — filtering the noise down to the specific process or subsystem actually relevant to a problem you&apos;re diagnosing.</description><pubDate>Fri, 10 Jul 2026 00:00:00 GMT</pubDate><category>macOS</category><category>howto</category><category>console</category><category>logging</category><category>diagnostics</category></item><item><title>How to Manage Passwords and Certificates with Keychain Access on macOS</title><link>https://danielcosenza.com/posts/mac-howto-keychain-access</link><guid isPermaLink="true">https://danielcosenza.com/posts/mac-howto-keychain-access</guid><description>A complete walkthrough of Keychain Access — viewing saved passwords, storing new items securely, managing certificates, and understanding how iCloud Keychain syncs credentials across your devices.</description><pubDate>Fri, 10 Jul 2026 00:00:00 GMT</pubDate><category>macOS</category><category>howto</category><category>keychain</category><category>security</category><category>passwords</category></item><item><title>How to Set Up Screen Time and Parental Controls on macOS</title><link>https://danielcosenza.com/posts/mac-howto-screen-time</link><guid isPermaLink="true">https://danielcosenza.com/posts/mac-howto-screen-time</guid><description>A complete walkthrough configuring Screen Time for app limits, content restrictions, and downtime scheduling — for a managed child account or for your own usage discipline.</description><pubDate>Fri, 10 Jul 2026 00:00:00 GMT</pubDate><category>macOS</category><category>howto</category><category>screen-time</category><category>parental-controls</category></item><item><title>The Mac App Store Opens, Bringing iOS-Style Distribution to the Desktop</title><link>https://danielcosenza.com/posts/mac-news-app-store-launch</link><guid isPermaLink="true">https://danielcosenza.com/posts/mac-news-app-store-launch</guid><description>Launched January 6, 2011 with over 1,000 apps, the Mac App Store brought one-click purchase, download, and install to the Mac — and logged a million downloads within its first 24 hours.</description><pubDate>Fri, 10 Jul 2026 00:00:00 GMT</pubDate><category>macOS</category><category>news</category><category>app-store</category><category>distribution</category></item><item><title>Apple Introduces Boot Camp, Letting Intel Macs Run Windows XP</title><link>https://danielcosenza.com/posts/mac-news-bootcamp</link><guid isPermaLink="true">https://danielcosenza.com/posts/mac-news-bootcamp</guid><description>Released as a public beta on April 5, 2006, Boot Camp let Intel-based Macs dual-boot Windows XP just months after Apple&apos;s architecture transition began — a striking bet on cross-platform flexibility.</description><pubDate>Fri, 10 Jul 2026 00:00:00 GMT</pubDate><category>macOS</category><category>news</category><category>boot-camp</category><category>windows</category><category>intel</category></item><item><title>How to Set Up Cloud Save Sync Across Multiple Devices in RetroArch</title><link>https://danielcosenza.com/posts/rg-howto-cloud-save-sync</link><guid isPermaLink="true">https://danielcosenza.com/posts/rg-howto-cloud-save-sync</guid><description>A complete walkthrough keeping save files and save states in sync across a desktop, a handheld, and a laptop, so progress made on one device is exactly where you expect it on the next.</description><pubDate>Fri, 10 Jul 2026 00:00:00 GMT</pubDate><category>Retrogaming</category><category>howto</category><category>retroarch</category><category>saves</category><category>sync</category></item><item><title>How to Organize a ROM Collection with Proper Metadata and Artwork</title><link>https://danielcosenza.com/posts/rg-howto-rom-collection-metadata</link><guid isPermaLink="true">https://danielcosenza.com/posts/rg-howto-rom-collection-metadata</guid><description>A complete walkthrough taking a messy folder of ROM files and turning it into a properly named, verified, artwork-complete collection that frontends like RetroArch and EmulationStation can actually use well.</description><pubDate>Fri, 10 Jul 2026 00:00:00 GMT</pubDate><category>Retrogaming</category><category>howto</category><category>roms</category><category>organization</category><category>preservation</category></item><item><title>PCSX2 Becomes the First Emulator to Boot a PlayStation 2 Game</title><link>https://danielcosenza.com/posts/rg-news-pcsx2-first-boot</link><guid isPermaLink="true">https://danielcosenza.com/posts/rg-news-pcsx2-first-boot</guid><description>Started in 2001 by developers Linuzappz and Shadow, PCSX2 reached a defining early milestone on December 19, 2002: the first successful boot of a PS2 game on any emulator.</description><pubDate>Fri, 10 Jul 2026 00:00:00 GMT</pubDate><category>Retrogaming</category><category>news</category><category>pcsx2</category><category>playstation-2</category></item><item><title>The Ninth Circuit Rules That Emulating the PlayStation BIOS Is Fair Use</title><link>https://danielcosenza.com/posts/rg-news-sony-connectix-ruling</link><guid isPermaLink="true">https://danielcosenza.com/posts/rg-news-sony-connectix-ruling</guid><description>Sony sued Connectix over its Virtual Game Station PS1 emulator, arguing that copying the PlayStation BIOS during development was copyright infringement. The Ninth Circuit disagreed — and the ruling still underpins console emulation&apos;s legal footing today.</description><pubDate>Fri, 10 Jul 2026 00:00:00 GMT</pubDate><category>Retrogaming</category><category>news</category><category>legal</category><category>emulation</category><category>history</category></item><item><title>How Shell Expansion and Globbing Actually Work</title><link>https://danielcosenza.com/posts/sh-expansion-globbing</link><guid isPermaLink="true">https://danielcosenza.com/posts/sh-expansion-globbing</guid><description>By the time a command you typed actually runs, the shell has already rewritten it — expanding variables, substituting command output, and turning wildcard patterns into real filenames. Here&apos;s the exact order that happens in.</description><pubDate>Fri, 10 Jul 2026 00:00:00 GMT</pubDate><category>Shell &amp; Terminal</category><category>deep-dive</category><category>bash</category><category>globbing</category><category>expansion</category></item><item><title>Fixing &apos;Broken Pipe&apos; Errors in Shell Scripts and Pipelines</title><link>https://danielcosenza.com/posts/sh-fix-broken-pipe-sigpipe</link><guid isPermaLink="true">https://danielcosenza.com/posts/sh-fix-broken-pipe-sigpipe</guid><description>A command in the middle of a pipeline suddenly dies with a &apos;Broken pipe&apos; error, sometimes only when piped into head or a similar early-exiting command. This is a specific, well-defined signal, not a random failure.</description><pubDate>Fri, 10 Jul 2026 00:00:00 GMT</pubDate><category>Shell &amp; Terminal</category><category>fix</category><category>pipes</category><category>signals</category><category>scripting</category></item><item><title>Fixing a Broken Prompt Theme After an Update</title><link>https://danielcosenza.com/posts/sh-fix-broken-prompt-theme</link><guid isPermaLink="true">https://danielcosenza.com/posts/sh-fix-broken-prompt-theme</guid><description>Your carefully configured prompt suddenly shows broken characters, missing icons, or throws errors on every new shell after updating a theme or framework. Here&apos;s how to isolate whether it&apos;s a font, config, or version issue.</description><pubDate>Fri, 10 Jul 2026 00:00:00 GMT</pubDate><category>Shell &amp; Terminal</category><category>fix</category><category>prompt</category><category>zsh</category><category>troubleshooting</category></item><item><title>Fixing &apos;Command Not Found&apos; Right After Installing Something</title><link>https://danielcosenza.com/posts/sh-fix-command-not-found-path</link><guid isPermaLink="true">https://danielcosenza.com/posts/sh-fix-command-not-found-path</guid><description>You just installed a tool, its binary is definitely on disk, but your shell insists it doesn&apos;t exist. This is almost always a PATH problem, and there are only a few actual explanations for it.</description><pubDate>Fri, 10 Jul 2026 00:00:00 GMT</pubDate><category>Shell &amp; Terminal</category><category>fix</category><category>path</category><category>troubleshooting</category><category>bash</category></item><item><title>Fixing SSH Sessions That Don&apos;t Know the Terminal&apos;s Actual Size</title><link>https://danielcosenza.com/posts/sh-fix-ssh-terminal-size</link><guid isPermaLink="true">https://danielcosenza.com/posts/sh-fix-ssh-terminal-size</guid><description>TUI applications render broken or clipped over SSH, or your terminal doesn&apos;t rewrap correctly after resizing the window. The remote shell has a stale idea of your terminal&apos;s dimensions — here&apos;s how that actually gets synced.</description><pubDate>Fri, 10 Jul 2026 00:00:00 GMT</pubDate><category>Shell &amp; Terminal</category><category>fix</category><category>ssh</category><category>terminal</category><category>tmux</category></item><item><title>Fixing tmux Keybinding Conflicts With Your Terminal or Shell</title><link>https://danielcosenza.com/posts/sh-fix-tmux-keybinding-conflicts</link><guid isPermaLink="true">https://danielcosenza.com/posts/sh-fix-tmux-keybinding-conflicts</guid><description>A keyboard shortcut that works fine outside tmux does something completely different — or nothing at all — once you&apos;re inside a tmux session. Here&apos;s how the prefix key and multiple layers of keybindings actually interact.</description><pubDate>Fri, 10 Jul 2026 00:00:00 GMT</pubDate><category>Shell &amp; Terminal</category><category>fix</category><category>tmux</category><category>keybindings</category><category>troubleshooting</category></item><item><title>History Expansion and Search: How !!, Ctrl-R, and Shell History Files Actually Work</title><link>https://danielcosenza.com/posts/sh-history-search</link><guid isPermaLink="true">https://danielcosenza.com/posts/sh-history-search</guid><description>Re-running the last command with sudo, or fuzzy-searching back through everything you&apos;ve typed today, both rely on the same underlying mechanism — a persisted, indexed log of your previous commands.</description><pubDate>Fri, 10 Jul 2026 00:00:00 GMT</pubDate><category>Shell &amp; Terminal</category><category>deep-dive</category><category>history</category><category>bash</category><category>zsh</category></item><item><title>How to Set Up Shell Aliases and Functions Properly</title><link>https://danielcosenza.com/posts/sh-howto-aliases-functions</link><guid isPermaLink="true">https://danielcosenza.com/posts/sh-howto-aliases-functions</guid><description>A complete walkthrough of the actual difference between an alias and a function, when each one is the right tool, and how to avoid the specific mistakes that make aliases behave unpredictably.</description><pubDate>Fri, 10 Jul 2026 00:00:00 GMT</pubDate><category>Shell &amp; Terminal</category><category>howto</category><category>aliases</category><category>functions</category><category>bash</category></item><item><title>How to Use a TUI Git Client</title><link>https://danielcosenza.com/posts/sh-howto-tui-git-client</link><guid isPermaLink="true">https://danielcosenza.com/posts/sh-howto-tui-git-client</guid><description>A complete walkthrough setting up a terminal-based git interface — staging, committing, browsing history, and resolving conflicts visually, without leaving the keyboard or the terminal.</description><pubDate>Fri, 10 Jul 2026 00:00:00 GMT</pubDate><category>Shell &amp; Terminal</category><category>howto</category><category>git</category><category>tui</category></item><item><title>Shellshock: A 25-Year-Old Bash Bug Becomes a Global Emergency Patch</title><link>https://danielcosenza.com/posts/sh-news-shellshock</link><guid isPermaLink="true">https://danielcosenza.com/posts/sh-news-shellshock</guid><description>Disclosed on September 24, 2014, the Shellshock vulnerability let attackers execute arbitrary commands through a flaw in how Bash processed environment variables — and botnets were scanning for vulnerable systems within hours.</description><pubDate>Fri, 10 Jul 2026 00:00:00 GMT</pubDate><category>Shell &amp; Terminal</category><category>news</category><category>bash</category><category>security</category><category>shellshock</category></item><item><title>How Tab Completion Actually Works in Bash and Zsh</title><link>https://danielcosenza.com/posts/sh-tab-completion</link><guid isPermaLink="true">https://danielcosenza.com/posts/sh-tab-completion</guid><description>Pressing Tab and getting a sensible list of filenames, commands, or flags looks simple from the outside. Underneath, it&apos;s a programmable system matching the word you&apos;re typing against rules specific to the command you&apos;re running.</description><pubDate>Fri, 10 Jul 2026 00:00:00 GMT</pubDate><category>Shell &amp; Terminal</category><category>deep-dive</category><category>completion</category><category>bash</category><category>zsh</category></item><item><title>tcsh and csh: Why FreeBSD&apos;s Shell Heritage Isn&apos;t POSIX</title><link>https://danielcosenza.com/posts/sh-tcsh-freebsd</link><guid isPermaLink="true">https://danielcosenza.com/posts/sh-tcsh-freebsd</guid><description>FreeBSD&apos;s default shells didn&apos;t evolve from the Bourne shell lineage Bash and Zsh belong to — they descend from an entirely separate design philosophy, one built to feel more like C than like a scripting language.</description><pubDate>Fri, 10 Jul 2026 00:00:00 GMT</pubDate><category>Shell &amp; Terminal</category><category>deep-dive</category><category>tcsh</category><category>csh</category><category>freebsd</category></item><item><title>From ARPANET to the Internet: How One Protocol Ate Every Network</title><link>https://danielcosenza.com/posts/th-arpanet-internet</link><guid isPermaLink="true">https://danielcosenza.com/posts/th-arpanet-internet</guid><description>ARPANET was one research network among several incompatible experiments in the 1970s. TCP/IP is the specific technical decision that let it absorb all the others into a single, unified internet.</description><pubDate>Fri, 10 Jul 2026 00:00:00 GMT</pubDate><category>Tech History</category><category>deep-dive</category><category>arpanet</category><category>internet</category><category>protocols</category></item><item><title>The Browser Wars: How Netscape and Internet Explorer Fought for the Desktop</title><link>https://danielcosenza.com/posts/th-browser-wars</link><guid isPermaLink="true">https://danielcosenza.com/posts/th-browser-wars</guid><description>In the mid-1990s, which browser you used determined how much of the web actually worked for you. Here&apos;s how a startup&apos;s early dominance collapsed against a bundled competitor in under four years.</description><pubDate>Fri, 10 Jul 2026 00:00:00 GMT</pubDate><category>Tech History</category><category>deep-dive</category><category>netscape</category><category>browsers</category><category>microsoft</category></item><item><title>No, Bill Gates Never Said &apos;640K Ought to Be Enough for Anyone&apos;</title><link>https://danielcosenza.com/posts/th-fix-640k-gates-misquote</link><guid isPermaLink="true">https://danielcosenza.com/posts/th-fix-640k-gates-misquote</guid><description>One of computing&apos;s most-repeated quotes has no verified source, and Gates has explicitly and repeatedly denied ever saying it. Here&apos;s what the actual paper trail shows — and what he really said instead.</description><pubDate>Fri, 10 Jul 2026 00:00:00 GMT</pubDate><category>Tech History</category><category>fix</category><category>myth</category><category>bill-gates</category><category>history</category></item><item><title>No, Al Gore Never Said He &apos;Invented the Internet&apos; — Here&apos;s the Actual Quote</title><link>https://danielcosenza.com/posts/th-fix-al-gore-internet-quote</link><guid isPermaLink="true">https://danielcosenza.com/posts/th-fix-al-gore-internet-quote</guid><description>One of the most repeated political misquotes in tech culture. Here&apos;s the exact sentence Gore actually said, on the record, and how three days of mockery turned it into something he never claimed.</description><pubDate>Fri, 10 Jul 2026 00:00:00 GMT</pubDate><category>Tech History</category><category>fix</category><category>myth</category><category>internet</category><category>history</category></item><item><title>Correcting the Record: ENIAC Wasn&apos;t Legally the &apos;First&apos; Computer</title><link>https://danielcosenza.com/posts/th-fix-eniac-abc-dispute</link><guid isPermaLink="true">https://danielcosenza.com/posts/th-fix-eniac-abc-dispute</guid><description>ENIAC is the name most people learn as the first electronic computer. A 1973 federal court ruling says otherwise — and it turned on evidence most retellings of this story leave out entirely.</description><pubDate>Fri, 10 Jul 2026 00:00:00 GMT</pubDate><category>Tech History</category><category>fix</category><category>myth</category><category>history</category><category>patents</category></item><item><title>Correcting the Record on Who Actually &apos;Invented&apos; Email</title><link>https://danielcosenza.com/posts/th-fix-first-email-myth</link><guid isPermaLink="true">https://danielcosenza.com/posts/th-fix-first-email-myth</guid><description>Ray Tomlinson is credited as email&apos;s inventor, and rightly so for one specific, real breakthrough — but the popular version of the story usually skips over the messaging system that already existed before he touched it.</description><pubDate>Fri, 10 Jul 2026 00:00:00 GMT</pubDate><category>Tech History</category><category>fix</category><category>myth</category><category>email</category><category>arpanet</category></item><item><title>No, Apple Didn&apos;t Invent the Personal Computer</title><link>https://danielcosenza.com/posts/th-fix-jobs-wozniak-pc-myth</link><guid isPermaLink="true">https://danielcosenza.com/posts/th-fix-jobs-wozniak-pc-myth</guid><description>The Apple I and II are often credited as the birth of personal computing. A different machine, from a company most people have never heard of, beat them to market by more than a year.</description><pubDate>Fri, 10 Jul 2026 00:00:00 GMT</pubDate><category>Tech History</category><category>fix</category><category>myth</category><category>apple</category><category>history</category></item><item><title>The Actual Moth in the Machine: Grace Hopper and the First Recorded Computer Bug</title><link>https://danielcosenza.com/posts/th-grace-hopper-bug</link><guid isPermaLink="true">https://danielcosenza.com/posts/th-grace-hopper-bug</guid><description>A moth taped into a 1947 logbook is one of computing&apos;s most-repeated stories — and one of its most-garbled. Here&apos;s what the primary source, the logbook itself, actually shows.</description><pubDate>Fri, 10 Jul 2026 00:00:00 GMT</pubDate><category>Tech History</category><category>deep-dive</category><category>history</category><category>grace-hopper</category><category>debugging</category></item><item><title>How to Read and Understand Old Internet RFCs</title><link>https://danielcosenza.com/posts/th-howto-read-rfcs</link><guid isPermaLink="true">https://danielcosenza.com/posts/th-howto-read-rfcs</guid><description>A complete walkthrough finding, reading, and actually understanding Request for Comments documents — the original, primary-source specifications behind email, the early internet, and much of the web&apos;s foundational technology.</description><pubDate>Fri, 10 Jul 2026 00:00:00 GMT</pubDate><category>Tech History</category><category>howto</category><category>rfc</category><category>internet</category><category>primary-sources</category></item><item><title>The Morris Worm: The Internet&apos;s First Real Security Wreck</title><link>https://danielcosenza.com/posts/th-morris-worm</link><guid isPermaLink="true">https://danielcosenza.com/posts/th-morris-worm</guid><description>A graduate student&apos;s experiment to measure the internet&apos;s size instead knocked out an estimated 10% of it in a single night. The Morris Worm produced the first felony conviction under US computer crime law.</description><pubDate>Fri, 10 Jul 2026 00:00:00 GMT</pubDate><category>Tech History</category><category>deep-dive</category><category>security</category><category>morris-worm</category><category>history</category></item><item><title>Napster and the Reordering of the Entire Music Industry</title><link>https://danielcosenza.com/posts/th-napster-p2p</link><guid isPermaLink="true">https://danielcosenza.com/posts/th-napster-p2p</guid><description>A college student&apos;s file-sharing tool lasted barely two years before a court order killed it — but it permanently broke the assumption that music had to be sold as a physical or per-track purchase.</description><pubDate>Fri, 10 Jul 2026 00:00:00 GMT</pubDate><category>Tech History</category><category>deep-dive</category><category>napster</category><category>music</category><category>peer-to-peer</category></item><item><title>Google Inc. Is Incorporated in Menlo Park, California</title><link>https://danielcosenza.com/posts/th-news-google-founded</link><guid isPermaLink="true">https://danielcosenza.com/posts/th-news-google-founded</guid><description>A Stanford research project on ranking web pages by their link structure became a legally registered company on a single day in September 1998 — the formal starting point for what would become the dominant search engine.</description><pubDate>Fri, 10 Jul 2026 00:00:00 GMT</pubDate><category>Tech History</category><category>news</category><category>google</category><category>history</category><category>search</category></item><item><title>The Morris Worm Is Released, Knocking Out an Estimated 10% of the Internet</title><link>https://danielcosenza.com/posts/th-news-morris-worm-released</link><guid isPermaLink="true">https://danielcosenza.com/posts/th-news-morris-worm-released</guid><description>A Cornell graduate student&apos;s self-replicating program, released from MIT&apos;s network on a November night in 1988, spread far faster and further than its own author reportedly intended.</description><pubDate>Fri, 10 Jul 2026 00:00:00 GMT</pubDate><category>Tech History</category><category>news</category><category>security</category><category>morris-worm</category><category>history</category></item><item><title>The Video Game Crash of 1983: How an Entire Industry Nearly Disappeared</title><link>https://danielcosenza.com/posts/th-video-game-crash-1983</link><guid isPermaLink="true">https://danielcosenza.com/posts/th-video-game-crash-1983</guid><description>US video game revenue collapsed by roughly 97% in under two years. It wasn&apos;t one bad game that caused it — it was market oversaturation, and the rebuilding afterward reshaped the industry&apos;s structure permanently.</description><pubDate>Fri, 10 Jul 2026 00:00:00 GMT</pubDate><category>Tech History</category><category>deep-dive</category><category>video-games</category><category>history</category><category>atari</category></item><item><title>Y2K: The Bug That Was Real, Even Though Nothing Visibly Broke</title><link>https://danielcosenza.com/posts/th-y2k</link><guid isPermaLink="true">https://danielcosenza.com/posts/th-y2k</guid><description>Two-digit year fields threatened to make systems worldwide misinterpret 2000 as 1900. Billions were spent fixing it in advance — which is exactly why, to many observers afterward, it looked like the whole thing had been overblown.</description><pubDate>Fri, 10 Jul 2026 00:00:00 GMT</pubDate><category>Tech History</category><category>deep-dive</category><category>y2k</category><category>history</category><category>software</category></item><item><title>Fixing Windows Activation Errors</title><link>https://danielcosenza.com/posts/win-fix-activation-errors</link><guid isPermaLink="true">https://danielcosenza.com/posts/win-fix-activation-errors</guid><description>Windows reports it isn&apos;t activated, or a specific error code appears after a hardware change or reinstall. Here&apos;s how to read the error code and apply the right fix instead of guessing.</description><pubDate>Fri, 10 Jul 2026 00:00:00 GMT</pubDate><category>Windows</category><category>fix</category><category>activation</category><category>licensing</category></item><item><title>Fixing INACCESSIBLE_BOOT_DEVICE on Windows</title><link>https://danielcosenza.com/posts/win-fix-inaccessible-boot-device</link><guid isPermaLink="true">https://danielcosenza.com/posts/win-fix-inaccessible-boot-device</guid><description>Windows blue-screens with INACCESSIBLE_BOOT_DEVICE right at startup, before the desktop ever loads. Here&apos;s how to diagnose whether it&apos;s a driver, disk, or boot configuration problem from Recovery.</description><pubDate>Fri, 10 Jul 2026 00:00:00 GMT</pubDate><category>Windows</category><category>fix</category><category>bsod</category><category>boot</category></item><item><title>How to Set Up Storage Spaces for Redundant Storage on Windows</title><link>https://danielcosenza.com/posts/win-howto-storage-spaces</link><guid isPermaLink="true">https://danielcosenza.com/posts/win-howto-storage-spaces</guid><description>A complete walkthrough pooling multiple physical drives into a resilient virtual disk — Windows&apos; built-in, software-defined answer to hardware RAID.</description><pubDate>Fri, 10 Jul 2026 00:00:00 GMT</pubDate><category>Windows</category><category>howto</category><category>storage-spaces</category><category>redundancy</category></item><item><title>Windows 10 Launches as a Free Upgrade for 190 Countries</title><link>https://danielcosenza.com/posts/win-news-windows-10</link><guid isPermaLink="true">https://danielcosenza.com/posts/win-news-windows-10</guid><description>Released July 29, 2015 as a free upgrade for Windows 7 and 8.1 users, Windows 10 reached over 75 million devices within a month — a deliberate bet on rapid adoption over per-copy revenue.</description><pubDate>Fri, 10 Jul 2026 00:00:00 GMT</pubDate><category>Windows</category><category>news</category><category>windows-10</category><category>release</category></item><item><title>Windows 7 Launches, Repairing Vista&apos;s Reputation</title><link>https://danielcosenza.com/posts/win-news-windows-7</link><guid isPermaLink="true">https://danielcosenza.com/posts/win-news-windows-7</guid><description>Released to manufacturing July 22, 2009 and to the public October 22, 2009, Windows 7 refined Vista&apos;s foundations into a release widely regarded as one of Microsoft&apos;s most successful, eventually selling over 630 million copies.</description><pubDate>Fri, 10 Jul 2026 00:00:00 GMT</pubDate><category>Windows</category><category>news</category><category>windows-7</category><category>release</category></item><item><title>How WSL Bridges Two Completely Different Filesystems</title><link>https://danielcosenza.com/posts/wsl-filesystem-bridge</link><guid isPermaLink="true">https://danielcosenza.com/posts/wsl-filesystem-bridge</guid><description>Linux and Windows filesystems handle permissions, case sensitivity, and paths in fundamentally different ways. WSL&apos;s cross-OS file access works by translating between them at the protocol level — and that translation has real performance costs.</description><pubDate>Fri, 10 Jul 2026 00:00:00 GMT</pubDate><category>WSL</category><category>deep-dive</category><category>wsl2</category><category>filesystem</category><category>9p</category></item><item><title>How GPU Compute Actually Reaches WSL2&apos;s Linux Environment</title><link>https://danielcosenza.com/posts/wsl-gpu-compute</link><guid isPermaLink="true">https://danielcosenza.com/posts/wsl-gpu-compute</guid><description>Training a machine learning model inside WSL2 using your actual GPU sounds like it shouldn&apos;t work through a virtual machine layer at all. Here&apos;s the specific virtualized GPU mechanism that makes it possible.</description><pubDate>Fri, 10 Jul 2026 00:00:00 GMT</pubDate><category>WSL</category><category>deep-dive</category><category>wsl2</category><category>gpu</category><category>cuda</category></item><item><title>How WSL2 Actually Manages Memory (and Why vmmem Grows)</title><link>https://danielcosenza.com/posts/wsl-memory-management</link><guid isPermaLink="true">https://danielcosenza.com/posts/wsl-memory-management</guid><description>WSL2&apos;s lightweight VM claims memory dynamically as Linux processes need it — but historically gave that memory back to Windows only reluctantly. Here&apos;s what&apos;s actually happening, and what you control via .wslconfig.</description><pubDate>Fri, 10 Jul 2026 00:00:00 GMT</pubDate><category>WSL</category><category>deep-dive</category><category>wsl2</category><category>memory</category><category>performance</category></item><item><title>WSL2&apos;s Networking Modes: NAT and Mirrored, Explained</title><link>https://danielcosenza.com/posts/wsl-networking-modes</link><guid isPermaLink="true">https://danielcosenza.com/posts/wsl-networking-modes</guid><description>WSL2&apos;s original networking design put it behind its own virtual network, invisible to the rest of your LAN by default. Mirrored networking mode, added later, takes a fundamentally different approach — and each has real tradeoffs.</description><pubDate>Fri, 10 Jul 2026 00:00:00 GMT</pubDate><category>WSL</category><category>deep-dive</category><category>wsl2</category><category>networking</category></item><item><title>Kubernetes Admission Controllers and Policy Enforcement</title><link>https://danielcosenza.com/posts/devops-admission-control</link><guid isPermaLink="true">https://danielcosenza.com/posts/devops-admission-control</guid><description>How admission controllers intercept API requests before they&apos;re persisted, and how OPA/Gatekeeper turn that hook into cluster-wide policy enforcement.</description><pubDate>Thu, 09 Jul 2026 00:00:00 GMT</pubDate><category>SRE &amp; DevOps</category><category>kubernetes</category><category>security</category><category>policy</category></item><item><title>Container Runtime Internals: containerd, CRI-O, and the OCI Spec</title><link>https://danielcosenza.com/posts/devops-container-runtime</link><guid isPermaLink="true">https://danielcosenza.com/posts/devops-container-runtime</guid><description>How the OCI runtime and image specs standardized what a &apos;container&apos; actually is, and how containerd/CRI-O/runc fit together beneath Docker and Kubernetes.</description><pubDate>Thu, 09 Jul 2026 00:00:00 GMT</pubDate><category>SRE &amp; DevOps</category><category>containers</category><category>containerd</category><category>oci</category><category>kubernetes</category></item><item><title>Docker vs. Podman: Rootless Containers and the Daemon-less Architecture</title><link>https://danielcosenza.com/posts/devops-docker-podman</link><guid isPermaLink="true">https://danielcosenza.com/posts/devops-docker-podman</guid><description>How Podman&apos;s daemon-less, fork-exec architecture differs from Docker&apos;s client-daemon model, and what that means for rootless containers in production.</description><pubDate>Thu, 09 Jul 2026 00:00:00 GMT</pubDate><category>SRE &amp; DevOps</category><category>docker</category><category>podman</category><category>containers</category></item><item><title>Diagnosing and Fixing CrashLoopBackOff in Kubernetes</title><link>https://danielcosenza.com/posts/devops-fix-crashloopbackoff</link><guid isPermaLink="true">https://danielcosenza.com/posts/devops-fix-crashloopbackoff</guid><description>A pod repeatedly crashes and restarts, sitting in CrashLoopBackOff. Here&apos;s a systematic way to find out why instead of just deleting and recreating the pod.</description><pubDate>Thu, 09 Jul 2026 00:00:00 GMT</pubDate><category>SRE &amp; DevOps</category><category>fix</category><category>kubernetes</category><category>containers</category></item><item><title>Fixing &apos;No Space Left on Device&apos; from Docker Image and Container Buildup</title><link>https://danielcosenza.com/posts/devops-fix-docker-disk-space</link><guid isPermaLink="true">https://danielcosenza.com/posts/devops-fix-docker-disk-space</guid><description>Docker builds and pulls start failing with ENOSPC, even though the host&apos;s regular disk usage doesn&apos;t look that high. Docker&apos;s own storage accumulates in places df alone won&apos;t clearly show you.</description><pubDate>Thu, 09 Jul 2026 00:00:00 GMT</pubDate><category>SRE &amp; DevOps</category><category>fix</category><category>docker</category><category>containers</category></item><item><title>Recovering from a Stuck Terraform State Lock</title><link>https://danielcosenza.com/posts/devops-fix-terraform-state-lock</link><guid isPermaLink="true">https://danielcosenza.com/posts/devops-fix-terraform-state-lock</guid><description>terraform plan or apply hangs, then fails with &apos;Error acquiring the state lock.&apos; Here&apos;s how to confirm it&apos;s genuinely stale before force-unlocking it.</description><pubDate>Thu, 09 Jul 2026 00:00:00 GMT</pubDate><category>SRE &amp; DevOps</category><category>fix</category><category>terraform</category><category>iac</category></item><item><title>The History of DevOps and SRE: Two Separate Movements That Converged</title><link>https://danielcosenza.com/posts/devops-history</link><guid isPermaLink="true">https://danielcosenza.com/posts/devops-history</guid><description>How Google&apos;s Site Reliability Engineering team (2003) and the DevOps movement (2009) emerged independently, from different motivations, and became closely linked practices.</description><pubDate>Thu, 09 Jul 2026 00:00:00 GMT</pubDate><category>SRE &amp; DevOps</category><category>history</category><category>devops</category><category>sre</category></item><item><title>How to Implement Blue-Green and Canary Deployments in Kubernetes</title><link>https://danielcosenza.com/posts/devops-howto-blue-green-canary</link><guid isPermaLink="true">https://danielcosenza.com/posts/devops-howto-blue-green-canary</guid><description>Two complete, working deployment strategies for shipping a new version with minimal risk — instant-rollback blue-green, and gradual, traffic-controlled canary.</description><pubDate>Thu, 09 Jul 2026 00:00:00 GMT</pubDate><category>SRE &amp; DevOps</category><category>howto</category><category>kubernetes</category><category>deployments</category></item><item><title>How to Set Up a CI/CD Pipeline with GitHub Actions</title><link>https://danielcosenza.com/posts/devops-howto-github-actions-cicd</link><guid isPermaLink="true">https://danielcosenza.com/posts/devops-howto-github-actions-cicd</guid><description>A complete, working GitHub Actions workflow that tests, builds, and deploys a containerized application on every push to main.</description><pubDate>Thu, 09 Jul 2026 00:00:00 GMT</pubDate><category>SRE &amp; DevOps</category><category>howto</category><category>cicd</category><category>github-actions</category></item><item><title>How to Set Up Horizontal Pod Autoscaling in Kubernetes</title><link>https://danielcosenza.com/posts/devops-howto-hpa</link><guid isPermaLink="true">https://danielcosenza.com/posts/devops-howto-hpa</guid><description>A complete, working setup for scaling a deployment automatically based on CPU usage, including the metrics-server prerequisite most tutorials skip over.</description><pubDate>Thu, 09 Jul 2026 00:00:00 GMT</pubDate><category>SRE &amp; DevOps</category><category>howto</category><category>kubernetes</category><category>autoscaling</category></item><item><title>How to Set Up a Local Kubernetes Cluster with kind</title><link>https://danielcosenza.com/posts/devops-howto-kind-local-cluster</link><guid isPermaLink="true">https://danielcosenza.com/posts/devops-howto-kind-local-cluster</guid><description>A complete walkthrough running a real multi-node Kubernetes cluster on your laptop with kind, including loading a locally-built image without pushing to a registry.</description><pubDate>Thu, 09 Jul 2026 00:00:00 GMT</pubDate><category>SRE &amp; DevOps</category><category>howto</category><category>kubernetes</category><category>kind</category><category>local-development</category></item><item><title>Infrastructure as Code: Terraform State, Drift, and Idempotency</title><link>https://danielcosenza.com/posts/devops-iac-terraform</link><guid isPermaLink="true">https://danielcosenza.com/posts/devops-iac-terraform</guid><description>Why Terraform&apos;s state file is the actual source of truth behind every plan and apply, and how drift, locking, and idempotency all follow from that design.</description><pubDate>Thu, 09 Jul 2026 00:00:00 GMT</pubDate><category>SRE &amp; DevOps</category><category>terraform</category><category>iac</category><category>cloud</category></item><item><title>Container Image Vulnerabilities: Scanning, CVEs, and Supply Chain Risk</title><link>https://danielcosenza.com/posts/devops-image-vulnerabilities</link><guid isPermaLink="true">https://danielcosenza.com/posts/devops-image-vulnerabilities</guid><description>How vulnerability scanners actually inspect container image layers, how to read a scan report, and the practices that reduce real supply-chain risk.</description><pubDate>Thu, 09 Jul 2026 00:00:00 GMT</pubDate><category>SRE &amp; DevOps</category><category>security</category><category>containers</category><category>vulnerabilities</category><category>supply-chain</category></item><item><title>Understanding Kubernetes Networking: Services, kube-proxy, and CNI Plugins</title><link>https://danielcosenza.com/posts/devops-k8s-networking</link><guid isPermaLink="true">https://danielcosenza.com/posts/devops-k8s-networking</guid><description>How pod-to-pod networking, Services, and kube-proxy&apos;s packet rewriting fit together to make Kubernetes&apos; flat network model actually work.</description><pubDate>Thu, 09 Jul 2026 00:00:00 GMT</pubDate><category>SRE &amp; DevOps</category><category>kubernetes</category><category>networking</category><category>containers</category></item><item><title>How the Kubernetes Scheduler Actually Places Workloads</title><link>https://danielcosenza.com/posts/devops-k8s-scheduling</link><guid isPermaLink="true">https://danielcosenza.com/posts/devops-k8s-scheduling</guid><description>The two-phase filter-and-score process the Kubernetes scheduler uses to decide which node a pod lands on, and how to influence it.</description><pubDate>Thu, 09 Jul 2026 00:00:00 GMT</pubDate><category>SRE &amp; DevOps</category><category>kubernetes</category><category>scheduling</category><category>containers</category></item><item><title>Building Minimal, Secure Container Images</title><link>https://danielcosenza.com/posts/devops-minimal-images</link><guid isPermaLink="true">https://danielcosenza.com/posts/devops-minimal-images</guid><description>How multi-stage builds, distroless base images, and layer discipline combine to produce smaller, more secure container images without sacrificing developer ergonomics.</description><pubDate>Thu, 09 Jul 2026 00:00:00 GMT</pubDate><category>SRE &amp; DevOps</category><category>containers</category><category>docker</category><category>security</category></item><item><title>Solomon Hykes Demos Docker Publicly for the First Time</title><link>https://danielcosenza.com/posts/devops-news-docker-pycon</link><guid isPermaLink="true">https://danielcosenza.com/posts/devops-news-docker-pycon</guid><description>At PyCon on March 15, 2013, dotCloud co-founder Solomon Hykes introduced Docker to the world, ahead of the company&apos;s later pivot to focus on it entirely.</description><pubDate>Thu, 09 Jul 2026 00:00:00 GMT</pubDate><category>SRE &amp; DevOps</category><category>news</category><category>docker</category><category>containers</category></item><item><title>dotCloud Renames Itself Docker, Inc.</title><link>https://danielcosenza.com/posts/devops-news-docker-rename</link><guid isPermaLink="true">https://danielcosenza.com/posts/devops-news-docker-rename</guid><description>On October 29, 2013, dotCloud announced it was scaling back its original PaaS business and renaming the company entirely around its container tooling.</description><pubDate>Thu, 09 Jul 2026 00:00:00 GMT</pubDate><category>SRE &amp; DevOps</category><category>news</category><category>docker</category><category>containers</category></item><item><title>Kubernetes 1.0 Ships, and Google Donates It to the New CNCF</title><link>https://danielcosenza.com/posts/devops-news-k8s-10</link><guid isPermaLink="true">https://danielcosenza.com/posts/devops-news-k8s-10</guid><description>On July 21, 2015, Kubernetes hit its 1.0 milestone the same day Google donated it as seed technology to the newly formed Cloud Native Computing Foundation.</description><pubDate>Thu, 09 Jul 2026 00:00:00 GMT</pubDate><category>SRE &amp; DevOps</category><category>news</category><category>kubernetes</category><category>cncf</category></item><item><title>Observability in Cloud-Native Systems: Metrics, Logs, and Traces</title><link>https://danielcosenza.com/posts/devops-observability</link><guid isPermaLink="true">https://danielcosenza.com/posts/devops-observability</guid><description>How the three pillars of observability complement each other, and why having all three matters more than maximizing any single one.</description><pubDate>Thu, 09 Jul 2026 00:00:00 GMT</pubDate><category>SRE &amp; DevOps</category><category>observability</category><category>monitoring</category><category>cloud-native</category></item><item><title>SLOs, SLIs, and Error Budgets: The Math Behind SRE Decision-Making</title><link>https://danielcosenza.com/posts/devops-slo-error-budget</link><guid isPermaLink="true">https://danielcosenza.com/posts/devops-slo-error-budget</guid><description>How Service Level Indicators, Objectives, and error budgets turn &apos;be reliable&apos; into a concrete, measurable number that actually drives engineering decisions.</description><pubDate>Thu, 09 Jul 2026 00:00:00 GMT</pubDate><category>SRE &amp; DevOps</category><category>sre</category><category>slo</category><category>reliability</category></item><item><title>Writing Batch Files on FreeDOS</title><link>https://danielcosenza.com/posts/dos-batch-files</link><guid isPermaLink="true">https://danielcosenza.com/posts/dos-batch-files</guid><description>A practical tour of FreeDOS batch scripting: variables, control flow, argument handling, and the quirks that differ from a modern shell.</description><pubDate>Thu, 09 Jul 2026 00:00:00 GMT</pubDate><category>FreeDOS</category><category>batch-files</category><category>scripting</category><category>freedos</category></item><item><title>The FreeDOS Boot Process: CONFIG.SYS and AUTOEXEC.BAT</title><link>https://danielcosenza.com/posts/dos-boot</link><guid isPermaLink="true">https://danielcosenza.com/posts/dos-boot</guid><description>How a FreeDOS machine goes from the boot sector to a command prompt, and how CONFIG.SYS and AUTOEXEC.BAT configure everything along the way.</description><pubDate>Thu, 09 Jul 2026 00:00:00 GMT</pubDate><category>FreeDOS</category><category>boot</category><category>config-sys</category><category>freedos</category></item><item><title>Device Drivers on FreeDOS: How .SYS Files Extend the Kernel</title><link>https://danielcosenza.com/posts/dos-device-drivers</link><guid isPermaLink="true">https://danielcosenza.com/posts/dos-device-drivers</guid><description>How character and block device drivers register with the DOS kernel through a standard request-header protocol, loaded declaratively from CONFIG.SYS.</description><pubDate>Thu, 09 Jul 2026 00:00:00 GMT</pubDate><category>FreeDOS</category><category>device-drivers</category><category>kernel</category><category>freedos</category></item><item><title>FAT12 and FAT16 Internals: The Filesystem Behind FreeDOS</title><link>https://danielcosenza.com/posts/dos-fat-filesystem</link><guid isPermaLink="true">https://danielcosenza.com/posts/dos-fat-filesystem</guid><description>How the File Allocation Table represents files as linked chains of clusters, and why that simple design has both strengths and hard limits.</description><pubDate>Thu, 09 Jul 2026 00:00:00 GMT</pubDate><category>FreeDOS</category><category>fat</category><category>filesystems</category><category>freedos</category></item><item><title>Fixing &apos;Bad Command or File Name&apos; Errors on FreeDOS</title><link>https://danielcosenza.com/posts/dos-fix-bad-command</link><guid isPermaLink="true">https://danielcosenza.com/posts/dos-fix-bad-command</guid><description>This message covers several genuinely different underlying causes — a typo, a missing PATH entry, a missing file extension, or a corrupted COMMAND.COM. Here&apos;s how to tell them apart.</description><pubDate>Thu, 09 Jul 2026 00:00:00 GMT</pubDate><category>FreeDOS</category><category>fix</category><category>command-line</category><category>troubleshooting</category></item><item><title>Diagnosing IRQ and Driver Conflicts on Real Hardware Running FreeDOS</title><link>https://danielcosenza.com/posts/dos-fix-irq-conflicts</link><guid isPermaLink="true">https://danielcosenza.com/posts/dos-fix-irq-conflicts</guid><description>A sound card, network card, or serial device doesn&apos;t work, or the system hangs when two devices are used together. Classic IRQ conflicts, and how to actually resolve them.</description><pubDate>Thu, 09 Jul 2026 00:00:00 GMT</pubDate><category>FreeDOS</category><category>fix</category><category>hardware</category><category>freedos</category></item><item><title>Fixing &apos;Out of Environment Space&apos; Errors on FreeDOS</title><link>https://danielcosenza.com/posts/dos-fix-out-of-environment-space</link><guid isPermaLink="true">https://danielcosenza.com/posts/dos-fix-out-of-environment-space</guid><description>SET commands or a long PATH suddenly fail with &apos;Out of environment space.&apos; The environment block has a fixed size, and here&apos;s how to actually fix it.</description><pubDate>Thu, 09 Jul 2026 00:00:00 GMT</pubDate><category>FreeDOS</category><category>fix</category><category>config-sys</category><category>freedos</category></item><item><title>Fixing Printer (LPT Port) Problems on FreeDOS</title><link>https://danielcosenza.com/posts/dos-fix-printer-lpt</link><guid isPermaLink="true">https://danielcosenza.com/posts/dos-fix-printer-lpt</guid><description>A DOS program can&apos;t print, or output is garbled — usually a port configuration, IRQ, or cable-mode mismatch, all diagnosable without any special tools.</description><pubDate>Thu, 09 Jul 2026 00:00:00 GMT</pubDate><category>FreeDOS</category><category>fix</category><category>printer</category><category>lpt</category><category>hardware</category></item><item><title>Fixing Sound Blaster Configuration Issues on FreeDOS</title><link>https://danielcosenza.com/posts/dos-fix-soundblaster-config</link><guid isPermaLink="true">https://danielcosenza.com/posts/dos-fix-soundblaster-config</guid><description>A DOS game or application reports no sound, or the wrong sound, almost always tracing back to a mismatch between the BLASTER environment variable and the card&apos;s actual jumper or Plug-and-Play settings.</description><pubDate>Thu, 09 Jul 2026 00:00:00 GMT</pubDate><category>FreeDOS</category><category>fix</category><category>sound-blaster</category><category>audio</category><category>hardware</category></item><item><title>Recovering a FreeDOS System That Won&apos;t Boot After a Bad CONFIG.SYS Edit</title><link>https://danielcosenza.com/posts/dos-fix-wont-boot-config-sys</link><guid isPermaLink="true">https://danielcosenza.com/posts/dos-fix-wont-boot-config-sys</guid><description>You edited CONFIG.SYS, rebooted, and now the system hangs or won&apos;t load drivers correctly. Here&apos;s how to get back to a bootable state without reinstalling.</description><pubDate>Thu, 09 Jul 2026 00:00:00 GMT</pubDate><category>FreeDOS</category><category>fix</category><category>config-sys</category><category>boot</category><category>freedos</category></item><item><title>How to Create a Bootable FreeDOS USB for BIOS/Firmware Flashing</title><link>https://danielcosenza.com/posts/dos-howto-bootable-usb-flashing</link><guid isPermaLink="true">https://danielcosenza.com/posts/dos-howto-bootable-usb-flashing</guid><description>The single most common real-world reason to boot FreeDOS today: a complete walkthrough building a bootable USB stick to run a vendor&apos;s DOS-based firmware update tool.</description><pubDate>Thu, 09 Jul 2026 00:00:00 GMT</pubDate><category>FreeDOS</category><category>howto</category><category>firmware</category><category>usb</category><category>freedos</category></item><item><title>How to Set Up CD-ROM Access on FreeDOS with MSCDEX</title><link>https://danielcosenza.com/posts/dos-howto-cdrom-mscdex</link><guid isPermaLink="true">https://danielcosenza.com/posts/dos-howto-cdrom-mscdex</guid><description>A complete walkthrough getting a CD-ROM drive recognized and assigned a drive letter on FreeDOS — the driver-plus-MSCDEX layering that DOS CD-ROM support was always built on.</description><pubDate>Thu, 09 Jul 2026 00:00:00 GMT</pubDate><category>FreeDOS</category><category>howto</category><category>cdrom</category><category>mscdex</category><category>freedos</category></item><item><title>How to Install and Configure Applications on FreeDOS</title><link>https://danielcosenza.com/posts/dos-howto-edit-applications</link><guid isPermaLink="true">https://danielcosenza.com/posts/dos-howto-edit-applications</guid><description>A complete walkthrough installing a text editor and a couple of common utilities on FreeDOS, and wiring them into your PATH and environment properly.</description><pubDate>Thu, 09 Jul 2026 00:00:00 GMT</pubDate><category>FreeDOS</category><category>howto</category><category>applications</category><category>freedos</category></item><item><title>How to Partition a Disk with FDISK on FreeDOS</title><link>https://danielcosenza.com/posts/dos-howto-fdisk-partition</link><guid isPermaLink="true">https://danielcosenza.com/posts/dos-howto-fdisk-partition</guid><description>A complete walkthrough creating a primary partition, an extended partition with logical drives, and setting the active boot partition — the way DOS disks have always been organized.</description><pubDate>Thu, 09 Jul 2026 00:00:00 GMT</pubDate><category>FreeDOS</category><category>howto</category><category>fdisk</category><category>partitioning</category><category>freedos</category></item><item><title>How to Install FreeDOS From Scratch, Step by Step</title><link>https://danielcosenza.com/posts/dos-howto-install</link><guid isPermaLink="true">https://danielcosenza.com/posts/dos-howto-install</guid><description>A complete walkthrough installing FreeDOS onto a virtual machine or real hardware, from booting the installer to a working CONFIG.SYS and AUTOEXEC.BAT.</description><pubDate>Thu, 09 Jul 2026 00:00:00 GMT</pubDate><category>FreeDOS</category><category>howto</category><category>install</category><category>freedos</category></item><item><title>How to Set Up Networking on FreeDOS with mTCP</title><link>https://danielcosenza.com/posts/dos-howto-mtcp-networking</link><guid isPermaLink="true">https://danielcosenza.com/posts/dos-howto-mtcp-networking</guid><description>A complete walkthrough getting real TCP/IP networking working on FreeDOS using mTCP and a packet driver, enough for FTP, Telnet, and a basic web browser.</description><pubDate>Thu, 09 Jul 2026 00:00:00 GMT</pubDate><category>FreeDOS</category><category>howto</category><category>networking</category><category>mtcp</category><category>freedos</category></item><item><title>Understanding Interrupts on FreeDOS: INT 21h and the DOS API</title><link>https://danielcosenza.com/posts/dos-interrupts</link><guid isPermaLink="true">https://danielcosenza.com/posts/dos-interrupts</guid><description>How DOS exposes its entire system call interface through the software interrupt mechanism, with INT 21h as the single most important entry point.</description><pubDate>Thu, 09 Jul 2026 00:00:00 GMT</pubDate><category>FreeDOS</category><category>interrupts</category><category>dos-api</category><category>freedos</category></item><item><title>FreeDOS Memory Management: Conventional, Upper, and Extended Memory</title><link>https://danielcosenza.com/posts/dos-memory</link><guid isPermaLink="true">https://danielcosenza.com/posts/dos-memory</guid><description>Why DOS memory is split into distinct regions with different rules, and how HIMEM.EXE and EMM386.EXE make more of it usable.</description><pubDate>Thu, 09 Jul 2026 00:00:00 GMT</pubDate><category>FreeDOS</category><category>memory</category><category>freedos</category><category>dos</category></item><item><title>FreeDOS 1.2 Arrives After Nearly Five Years</title><link>https://danielcosenza.com/posts/dos-news-12-release</link><guid isPermaLink="true">https://danielcosenza.com/posts/dos-news-12-release</guid><description>FreeDOS 1.2 shipped in December 2016, refreshing the distribution&apos;s package set and installer nearly five years after 1.1.</description><pubDate>Thu, 09 Jul 2026 00:00:00 GMT</pubDate><category>FreeDOS</category><category>news</category><category>release</category><category>freedos</category></item><item><title>Microsoft Open-Sources the Original MS-DOS on GitHub</title><link>https://danielcosenza.com/posts/dos-news-msdos-opensource</link><guid isPermaLink="true">https://danielcosenza.com/posts/dos-news-msdos-opensource</guid><description>In September 2018, Microsoft re-released MS-DOS 1.25 and 2.11&apos;s source code on GitHub under the MIT license — a genuinely open release, four years after a 2014 version that was source-available but not truly open.</description><pubDate>Thu, 09 Jul 2026 00:00:00 GMT</pubDate><category>FreeDOS</category><category>news</category><category>ms-dos</category><category>open-source</category></item><item><title>FreeDOS Package Management: FDIMPLES and the FreeDOS Package Repository</title><link>https://danielcosenza.com/posts/dos-package-mgmt</link><guid isPermaLink="true">https://danielcosenza.com/posts/dos-package-mgmt</guid><description>How FreeDOS distributes and installs software as discrete packages, and the tools used to manage them, decades before Linux package managers existed.</description><pubDate>Thu, 09 Jul 2026 00:00:00 GMT</pubDate><category>FreeDOS</category><category>package-management</category><category>freedos</category></item><item><title>Running FreeDOS Today: Virtualization, Real Hardware, and Use Cases</title><link>https://danielcosenza.com/posts/dos-running-today</link><guid isPermaLink="true">https://danielcosenza.com/posts/dos-running-today</guid><description>The practical ways people actually run FreeDOS in 2026 — from firmware-flashing USB sticks to full virtual machines — and how to pick the right one.</description><pubDate>Thu, 09 Jul 2026 00:00:00 GMT</pubDate><category>FreeDOS</category><category>freedos</category><category>virtualization</category><category>sysadmin</category></item><item><title>TSR Programs: How DOS Ran Background Tasks Without Multitasking</title><link>https://danielcosenza.com/posts/dos-tsr-programs</link><guid isPermaLink="true">https://danielcosenza.com/posts/dos-tsr-programs</guid><description>DOS had no scheduler and no processes in the modern sense — so how did pop-up utilities, mouse drivers, and print spoolers run &apos;in the background&apos;? By staying resident and hooking interrupts.</description><pubDate>Thu, 09 Jul 2026 00:00:00 GMT</pubDate><category>FreeDOS</category><category>tsr</category><category>freedos</category><category>dos</category><category>interrupts</category></item><item><title>FreeDOS vs. MS-DOS: Compatibility, Differences, and Why It Matters</title><link>https://danielcosenza.com/posts/dos-vs-msdos</link><guid isPermaLink="true">https://danielcosenza.com/posts/dos-vs-msdos</guid><description>Where FreeDOS achieves genuine binary compatibility with MS-DOS, where it deliberately diverges, and what that means for running real DOS software.</description><pubDate>Thu, 09 Jul 2026 00:00:00 GMT</pubDate><category>FreeDOS</category><category>freedos</category><category>ms-dos</category><category>compatibility</category></item><item><title>What Is FreeDOS, and Why Is an MS-DOS-Compatible OS Still Developed?</title><link>https://danielcosenza.com/posts/dos-what-is</link><guid isPermaLink="true">https://danielcosenza.com/posts/dos-what-is</guid><description>The history, goals, and real-world use cases behind FreeDOS, the open-source, actively-maintained continuation of the MS-DOS-compatible operating system line.</description><pubDate>Thu, 09 Jul 2026 00:00:00 GMT</pubDate><category>FreeDOS</category><category>freedos</category><category>history</category><category>dos</category></item><item><title>bhyve: FreeBSD&apos;s Native Type-2 Hypervisor</title><link>https://danielcosenza.com/posts/fb-bhyve</link><guid isPermaLink="true">https://danielcosenza.com/posts/fb-bhyve</guid><description>How bhyve uses hardware virtualization extensions to run guest operating systems, and the moving parts behind a running virtual machine.</description><pubDate>Thu, 09 Jul 2026 00:00:00 GMT</pubDate><category>FreeBSD</category><category>bhyve</category><category>virtualization</category><category>hypervisor</category><category>freebsd</category></item><item><title>Inside the FreeBSD Boot Process: BIOS/UEFI, the Loader, and init</title><link>https://danielcosenza.com/posts/fb-boot</link><guid isPermaLink="true">https://danielcosenza.com/posts/fb-boot</guid><description>A stage-by-stage walkthrough of how a FreeBSD machine goes from power-on to a login prompt, and where to intervene at each step.</description><pubDate>Thu, 09 Jul 2026 00:00:00 GMT</pubDate><category>FreeBSD</category><category>boot</category><category>loader</category><category>kernel</category><category>freebsd</category></item><item><title>Fixing FreeBSD Jail Networking When VNET Jails Can&apos;t Reach the Network</title><link>https://danielcosenza.com/posts/fb-fix-jail-networking</link><guid isPermaLink="true">https://danielcosenza.com/posts/fb-fix-jail-networking</guid><description>A jail starts fine but has no network connectivity, or can&apos;t reach the host — usually a VNET/epair configuration problem, not a jail bug.</description><pubDate>Thu, 09 Jul 2026 00:00:00 GMT</pubDate><category>FreeBSD</category><category>fix</category><category>jails</category><category>networking</category></item><item><title>Fixing &apos;Mounting from ufs:/dev/... failed&apos; at FreeBSD Boot</title><link>https://danielcosenza.com/posts/fb-fix-mountroot</link><guid isPermaLink="true">https://danielcosenza.com/posts/fb-fix-mountroot</guid><description>Your FreeBSD system drops into a mountroot prompt instead of booting. Here&apos;s how to diagnose which layer actually failed and get back to a working system.</description><pubDate>Thu, 09 Jul 2026 00:00:00 GMT</pubDate><category>FreeBSD</category><category>fix</category><category>boot</category><category>freebsd</category></item><item><title>Fixing an NFS Mount That Hangs Instead of Failing on FreeBSD</title><link>https://danielcosenza.com/posts/fb-fix-nfs-hang</link><guid isPermaLink="true">https://danielcosenza.com/posts/fb-fix-nfs-hang</guid><description>A command touching an NFS-mounted path just hangs forever instead of erroring out. This is expected default NFS behavior, not a bug — here&apos;s how to diagnose it and when to change it.</description><pubDate>Thu, 09 Jul 2026 00:00:00 GMT</pubDate><category>FreeBSD</category><category>fix</category><category>nfs</category><category>networking</category></item><item><title>Fixing Broken pkg and Ports Builds on FreeBSD</title><link>https://danielcosenza.com/posts/fb-fix-pkg-build</link><guid isPermaLink="true">https://danielcosenza.com/posts/fb-fix-pkg-build</guid><description>pkg install fails, or a port won&apos;t build. Here&apos;s a systematic way to tell whether it&apos;s a stale catalog, a broken dependency, or a genuinely broken port.</description><pubDate>Thu, 09 Jul 2026 00:00:00 GMT</pubDate><category>FreeBSD</category><category>fix</category><category>pkg</category><category>ports</category><category>freebsd</category></item><item><title>Recovering a ZFS Pool That Won&apos;t Import on FreeBSD</title><link>https://danielcosenza.com/posts/fb-fix-zfs-pool-import</link><guid isPermaLink="true">https://danielcosenza.com/posts/fb-fix-zfs-pool-import</guid><description>zpool import shows your pool as UNAVAIL or fails outright. A step-by-step approach to recovering it without panicking or reaching for a backup first.</description><pubDate>Thu, 09 Jul 2026 00:00:00 GMT</pubDate><category>FreeBSD</category><category>fix</category><category>zfs</category><category>freebsd</category></item><item><title>Understanding GEOM: FreeBSD&apos;s Modular Storage Framework</title><link>https://danielcosenza.com/posts/fb-geom</link><guid isPermaLink="true">https://danielcosenza.com/posts/fb-geom</guid><description>How GEOM&apos;s graph of providers and consumers underlies partitioning, RAID, encryption, and disk labels on FreeBSD.</description><pubDate>Thu, 09 Jul 2026 00:00:00 GMT</pubDate><category>FreeBSD</category><category>geom</category><category>storage</category><category>kernel</category><category>freebsd</category></item><item><title>The History of FreeBSD: From 386BSD to a Modern Unix</title><link>https://danielcosenza.com/posts/fb-history</link><guid isPermaLink="true">https://danielcosenza.com/posts/fb-history</guid><description>How FreeBSD began in 1993 as a patchset for a struggling hobbyist Unix, who started it, and why it exists as a separate project from NetBSD and OpenBSD.</description><pubDate>Thu, 09 Jul 2026 00:00:00 GMT</pubDate><category>FreeBSD</category><category>history</category><category>freebsd</category></item><item><title>How to Set Up a bhyve Virtual Machine Step by Step</title><link>https://danielcosenza.com/posts/fb-howto-bhyve-vm</link><guid isPermaLink="true">https://danielcosenza.com/posts/fb-howto-bhyve-vm</guid><description>A complete, start-to-finish walkthrough of creating a Linux guest VM under bhyve on FreeBSD, using vm-bhyve to manage the lifecycle.</description><pubDate>Thu, 09 Jul 2026 00:00:00 GMT</pubDate><category>FreeBSD</category><category>howto</category><category>bhyve</category><category>virtualization</category><category>freebsd</category></item><item><title>How to Configure Static Networking on FreeBSD from Scratch</title><link>https://danielcosenza.com/posts/fb-howto-static-networking</link><guid isPermaLink="true">https://danielcosenza.com/posts/fb-howto-static-networking</guid><description>A complete walkthrough for assigning a static IP, default route, and DNS resolution on FreeBSD, persisted correctly across reboots.</description><pubDate>Thu, 09 Jul 2026 00:00:00 GMT</pubDate><category>FreeBSD</category><category>howto</category><category>networking</category><category>freebsd</category></item><item><title>How to Safely Upgrade FreeBSD Between Major Versions</title><link>https://danielcosenza.com/posts/fb-howto-upgrade-major-version</link><guid isPermaLink="true">https://danielcosenza.com/posts/fb-howto-upgrade-major-version</guid><description>A careful, step-by-step process for upgrading a production FreeBSD system across major versions using freebsd-update, with a real rollback plan.</description><pubDate>Thu, 09 Jul 2026 00:00:00 GMT</pubDate><category>FreeBSD</category><category>howto</category><category>upgrade</category><category>sysadmin</category><category>freebsd</category></item><item><title>How to Set Up a WireGuard VPN on FreeBSD</title><link>https://danielcosenza.com/posts/fb-howto-wireguard-vpn</link><guid isPermaLink="true">https://danielcosenza.com/posts/fb-howto-wireguard-vpn</guid><description>A complete walkthrough configuring a WireGuard tunnel on FreeBSD using the in-kernel wg driver, from key generation to a working peer-to-peer connection.</description><pubDate>Thu, 09 Jul 2026 00:00:00 GMT</pubDate><category>FreeBSD</category><category>howto</category><category>wireguard</category><category>vpn</category><category>networking</category></item><item><title>How to Automate ZFS Snapshots with periodic</title><link>https://danielcosenza.com/posts/fb-howto-zfs-snapshots-automated</link><guid isPermaLink="true">https://danielcosenza.com/posts/fb-howto-zfs-snapshots-automated</guid><description>Set up hourly, daily, and weekly ZFS snapshots on a schedule, with automatic pruning, using FreeBSD&apos;s built-in periodic framework — no third-party tools required.</description><pubDate>Thu, 09 Jul 2026 00:00:00 GMT</pubDate><category>FreeBSD</category><category>howto</category><category>zfs</category><category>automation</category><category>freebsd</category></item><item><title>FreeBSD Jails: Lightweight OS-Level Virtualization Done Right</title><link>https://danielcosenza.com/posts/fb-jails</link><guid isPermaLink="true">https://danielcosenza.com/posts/fb-jails</guid><description>How FreeBSD jails partition a single kernel into isolated userlands, and why they predate Linux containers by more than a decade.</description><pubDate>Thu, 09 Jul 2026 00:00:00 GMT</pubDate><category>FreeBSD</category><category>jails</category><category>virtualization</category><category>security</category><category>freebsd</category></item><item><title>Building a Custom FreeBSD Kernel from Source</title><link>https://danielcosenza.com/posts/fb-kernel</link><guid isPermaLink="true">https://danielcosenza.com/posts/fb-kernel</guid><description>Why and how to build a custom FreeBSD kernel configuration, from copying GENERIC to installing the result.</description><pubDate>Thu, 09 Jul 2026 00:00:00 GMT</pubDate><category>FreeBSD</category><category>kernel</category><category>build</category><category>sysadmin</category><category>freebsd</category></item><item><title>FreeBSD Networking Internals: Interfaces, Routing, and netstat</title><link>https://danielcosenza.com/posts/fb-networking</link><guid isPermaLink="true">https://danielcosenza.com/posts/fb-networking</guid><description>How FreeBSD names and configures network interfaces, manages routing tables, and exposes the tools to inspect both.</description><pubDate>Thu, 09 Jul 2026 00:00:00 GMT</pubDate><category>FreeBSD</category><category>networking</category><category>routing</category><category>sysadmin</category><category>freebsd</category></item><item><title>FreeBSD 12.0-RELEASE Announced</title><link>https://danielcosenza.com/posts/fb-news-12-release</link><guid isPermaLink="true">https://danielcosenza.com/posts/fb-news-12-release</guid><description>FreeBSD 12.0 arrived on December 11, 2018, bringing UEFI+GELI installer support and a wave of toolchain updates.</description><pubDate>Thu, 09 Jul 2026 00:00:00 GMT</pubDate><category>FreeBSD</category><category>news</category><category>release</category><category>freebsd</category></item><item><title>FreeBSD 13.0 Makes ZFS the Installer&apos;s Default Root Filesystem</title><link>https://danielcosenza.com/posts/fb-news-13-zfs</link><guid isPermaLink="true">https://danielcosenza.com/posts/fb-news-13-zfs</guid><description>FreeBSD 13.0-RELEASE, published April 13, 2021, made ZFS-on-root the bsdinstall default — a significant shift for how new FreeBSD systems get set up.</description><pubDate>Thu, 09 Jul 2026 00:00:00 GMT</pubDate><category>FreeBSD</category><category>news</category><category>zfs</category><category>release</category><category>freebsd</category></item><item><title>FreeBSD 14.0-RELEASE Ships</title><link>https://danielcosenza.com/posts/fb-news-14-release</link><guid isPermaLink="true">https://danielcosenza.com/posts/fb-news-14-release</guid><description>FreeBSD 14.0 was released on November 20, 2023, as the first release from the stable/14 branch — what it brought and why it mattered.</description><pubDate>Thu, 09 Jul 2026 00:00:00 GMT</pubDate><category>FreeBSD</category><category>news</category><category>release</category><category>freebsd</category></item><item><title>pkgng Ships, Replacing FreeBSD&apos;s Aging pkg_* Tools</title><link>https://danielcosenza.com/posts/fb-news-pkgng</link><guid isPermaLink="true">https://danielcosenza.com/posts/fb-news-pkgng</guid><description>First released August 30, 2012 after two years of development, pkgng consolidated FreeBSD&apos;s fragmented package tools into a single command backed by a real database — and became official in FreeBSD 10.</description><pubDate>Thu, 09 Jul 2026 00:00:00 GMT</pubDate><category>FreeBSD</category><category>news</category><category>pkg</category><category>package-management</category></item><item><title>FreeBSD 5.0 Ships with SMPng, the Start of Fine-Grained Kernel Locking</title><link>https://danielcosenza.com/posts/fb-news-smpng-50</link><guid isPermaLink="true">https://danielcosenza.com/posts/fb-news-smpng-50</guid><description>Released January 19, 2003, FreeBSD 5.0 began dismantling the single &apos;Giant Lock&apos; that had serialized most of the kernel, after years of SMPng project work.</description><pubDate>Thu, 09 Jul 2026 00:00:00 GMT</pubDate><category>FreeBSD</category><category>news</category><category>kernel</category><category>smp</category></item><item><title>Configuring pf on FreeBSD: A Practical Guide to Packet Filtering</title><link>https://danielcosenza.com/posts/fb-pf-firewall</link><guid isPermaLink="true">https://danielcosenza.com/posts/fb-pf-firewall</guid><description>How pf&apos;s rule evaluation model, tables, and anchors fit together on FreeBSD, with a ruleset you can adapt for a real host.</description><pubDate>Thu, 09 Jul 2026 00:00:00 GMT</pubDate><category>FreeBSD</category><category>pf</category><category>firewall</category><category>networking</category><category>freebsd</category></item><item><title>The FreeBSD Ports Collection vs. pkg: Choosing (and Combining) the Right Tool</title><link>https://danielcosenza.com/posts/fb-ports-vs-pkg</link><guid isPermaLink="true">https://danielcosenza.com/posts/fb-ports-vs-pkg</guid><description>A practical comparison of the FreeBSD Ports Collection and the pkg binary package manager, and how to use both together without breaking your system.</description><pubDate>Thu, 09 Jul 2026 00:00:00 GMT</pubDate><category>FreeBSD</category><category>ports</category><category>pkg</category><category>package-management</category><category>freebsd</category></item><item><title>FreeBSD Release Engineering: -CURRENT, -STABLE, and Shipping Releases</title><link>https://danielcosenza.com/posts/fb-release-eng</link><guid isPermaLink="true">https://danielcosenza.com/posts/fb-release-eng</guid><description>How FreeBSD&apos;s branch model turns ongoing kernel development into predictable, supported releases.</description><pubDate>Thu, 09 Jul 2026 00:00:00 GMT</pubDate><category>FreeBSD</category><category>release-engineering</category><category>development</category><category>freebsd</category></item><item><title>ZFS on FreeBSD: Pools, Datasets, and Snapshots Explained</title><link>https://danielcosenza.com/posts/fb-zfs</link><guid isPermaLink="true">https://danielcosenza.com/posts/fb-zfs</guid><description>How ZFS&apos;s storage pools, datasets, and copy-on-write snapshots fit together on FreeBSD, with the commands you&apos;ll actually use day to day.</description><pubDate>Thu, 09 Jul 2026 00:00:00 GMT</pubDate><category>FreeBSD</category><category>zfs</category><category>storage</category><category>filesystems</category><category>freebsd</category></item><item><title>How to Use the Deskbar and Workspaces Effectively on Haiku</title><link>https://danielcosenza.com/posts/hk-howto-deskbar-workspaces</link><guid isPermaLink="true">https://danielcosenza.com/posts/hk-howto-deskbar-workspaces</guid><description>A complete walkthrough Haiku&apos;s Deskbar (its taskbar/menu equivalent) and its multiple-workspace system — features inherited directly from BeOS, still central to how Haiku is meant to be used day to day.</description><pubDate>Thu, 09 Jul 2026 00:00:00 GMT</pubDate><category>Haiku OS</category><category>howto</category><category>deskbar</category><category>workspaces</category><category>haiku</category></item><item><title>Haiku R1/Alpha 1 Ships as the Project&apos;s First Public Release</title><link>https://danielcosenza.com/posts/hk-news-r1-alpha1</link><guid isPermaLink="true">https://danielcosenza.com/posts/hk-news-r1-alpha1</guid><description>On September 14, 2009, eight years after OpenBeOS began, Haiku shipped its first version the public could actually download and boot — as a live CD, something BeOS itself never offered.</description><pubDate>Thu, 09 Jul 2026 00:00:00 GMT</pubDate><category>Haiku OS</category><category>news</category><category>haiku</category><category>release</category></item><item><title>Demystifying the Linux Boot Process: From Firmware to systemd</title><link>https://danielcosenza.com/posts/lx-boot</link><guid isPermaLink="true">https://danielcosenza.com/posts/lx-boot</guid><description>A stage-by-stage tour from power-on firmware through GRUB, the kernel, initramfs, and systemd reaching a running system.</description><pubDate>Thu, 09 Jul 2026 00:00:00 GMT</pubDate><category>Linux</category><category>boot</category><category>grub</category><category>kernel</category><category>linux</category></item><item><title>Control Groups (cgroup v2) Explained: Limiting and Accounting for Resources</title><link>https://danielcosenza.com/posts/lx-cgroups</link><guid isPermaLink="true">https://danielcosenza.com/posts/lx-cgroups</guid><description>How cgroup v2&apos;s unified hierarchy replaces v1&apos;s tangled controller mounts, and how to read and write limits directly through the filesystem.</description><pubDate>Thu, 09 Jul 2026 00:00:00 GMT</pubDate><category>Linux</category><category>cgroups</category><category>containers</category><category>kernel</category><category>linux</category></item><item><title>eBPF Explained: Safe, Programmable Observability in the Linux Kernel</title><link>https://danielcosenza.com/posts/lx-ebpf</link><guid isPermaLink="true">https://danielcosenza.com/posts/lx-ebpf</guid><description>How eBPF lets sandboxed, verified programs run inside the kernel, and why that changed what&apos;s possible for tracing, networking, and security tooling.</description><pubDate>Thu, 09 Jul 2026 00:00:00 GMT</pubDate><category>Linux</category><category>ebpf</category><category>observability</category><category>kernel</category><category>linux</category></item><item><title>Fixing &apos;Disk Full&apos; on Linux When df Shows Space Available</title><link>https://danielcosenza.com/posts/lx-fix-disk-full</link><guid isPermaLink="true">https://danielcosenza.com/posts/lx-fix-disk-full</guid><description>df says you have plenty of free space, but every write fails with ENOSPC. Two completely different root causes look identical from the outside — here&apos;s how to tell them apart.</description><pubDate>Thu, 09 Jul 2026 00:00:00 GMT</pubDate><category>Linux</category><category>fix</category><category>filesystems</category><category>linux</category></item><item><title>Fixing DNS Resolution Failures on Linux</title><link>https://danielcosenza.com/posts/lx-fix-dns-resolution</link><guid isPermaLink="true">https://danielcosenza.com/posts/lx-fix-dns-resolution</guid><description>Ping by IP works but hostnames don&apos;t resolve. Here&apos;s a systematic path through resolv.conf, systemd-resolved, and nsswitch.conf to find where resolution is actually breaking.</description><pubDate>Thu, 09 Jul 2026 00:00:00 GMT</pubDate><category>Linux</category><category>fix</category><category>dns</category><category>networking</category></item><item><title>Fixing a Linux System Stuck at &apos;grub rescue&gt;&apos;</title><link>https://danielcosenza.com/posts/lx-fix-grub-rescue</link><guid isPermaLink="true">https://danielcosenza.com/posts/lx-fix-grub-rescue</guid><description>Your machine boots straight into a minimal grub rescue prompt instead of Linux. Here&apos;s how to get back to a working bootloader without reinstalling the OS.</description><pubDate>Thu, 09 Jul 2026 00:00:00 GMT</pubDate><category>Linux</category><category>fix</category><category>boot</category><category>grub</category><category>linux</category></item><item><title>Diagnosing a Linux Service That Fails Silently from a Permission Denial</title><link>https://danielcosenza.com/posts/lx-fix-service-permission-denied</link><guid isPermaLink="true">https://danielcosenza.com/posts/lx-fix-service-permission-denied</guid><description>A service won&apos;t start, logs are unhelpful, and the files look correctly owned. SELinux and AppArmor enforce a second, invisible layer of permissions — here&apos;s how to check it.</description><pubDate>Thu, 09 Jul 2026 00:00:00 GMT</pubDate><category>Linux</category><category>fix</category><category>selinux</category><category>apparmor</category><category>security</category><category>linux</category></item><item><title>Fixing &apos;Too Many Open Files&apos; Errors on Linux</title><link>https://danielcosenza.com/posts/lx-fix-too-many-open-files</link><guid isPermaLink="true">https://danielcosenza.com/posts/lx-fix-too-many-open-files</guid><description>An application errors out with EMFILE or ENFILE, even though the system clearly isn&apos;t out of resources in any obvious sense. Here&apos;s how to find and raise the actual limit involved.</description><pubDate>Thu, 09 Jul 2026 00:00:00 GMT</pubDate><category>Linux</category><category>fix</category><category>ulimit</category><category>file-descriptors</category></item><item><title>The History of Linux: A Finnish Student&apos;s &apos;Hobby&apos; Operating System</title><link>https://danielcosenza.com/posts/lx-history</link><guid isPermaLink="true">https://danielcosenza.com/posts/lx-history</guid><description>The real story behind Linus Torvalds&apos; 1991 Usenet post, what it actually said, and how a self-described hobby project became the kernel running most of the internet.</description><pubDate>Thu, 09 Jul 2026 00:00:00 GMT</pubDate><category>Linux</category><category>history</category><category>linux</category></item><item><title>How to Set Up Full-Disk Encryption on Linux with LUKS</title><link>https://danielcosenza.com/posts/lx-howto-luks-encryption</link><guid isPermaLink="true">https://danielcosenza.com/posts/lx-howto-luks-encryption</guid><description>A complete walkthrough encrypting a disk or partition with LUKS, from initial setup through mounting it automatically (with a key file) at boot.</description><pubDate>Thu, 09 Jul 2026 00:00:00 GMT</pubDate><category>Linux</category><category>howto</category><category>luks</category><category>encryption</category><category>security</category></item><item><title>How to Set Up LVM (Logical Volume Management) on Linux</title><link>https://danielcosenza.com/posts/lx-howto-lvm</link><guid isPermaLink="true">https://danielcosenza.com/posts/lx-howto-lvm</guid><description>A complete walkthrough from raw disks to a mounted, resizable logical volume — physical volumes, volume groups, and logical volumes explained as you build them.</description><pubDate>Thu, 09 Jul 2026 00:00:00 GMT</pubDate><category>Linux</category><category>howto</category><category>lvm</category><category>storage</category></item><item><title>How to Monitor System Resources on Linux in Real Time</title><link>https://danielcosenza.com/posts/lx-howto-monitor-resources</link><guid isPermaLink="true">https://danielcosenza.com/posts/lx-howto-monitor-resources</guid><description>A practical toolkit for watching CPU, memory, disk, and network usage live — going beyond top to actually find what&apos;s causing a resource problem.</description><pubDate>Thu, 09 Jul 2026 00:00:00 GMT</pubDate><category>Linux</category><category>howto</category><category>monitoring</category><category>performance</category><category>linux</category></item><item><title>How to Configure a Firewall with nftables</title><link>https://danielcosenza.com/posts/lx-howto-nftables-firewall</link><guid isPermaLink="true">https://danielcosenza.com/posts/lx-howto-nftables-firewall</guid><description>A complete, working nftables ruleset for a typical server — default-deny inbound, stateful connection tracking, and a handful of explicit allowed services.</description><pubDate>Thu, 09 Jul 2026 00:00:00 GMT</pubDate><category>Linux</category><category>howto</category><category>nftables</category><category>firewall</category><category>linux</category></item><item><title>How to Set Up SSH Key-Based Authentication Properly</title><link>https://danielcosenza.com/posts/lx-howto-ssh-keys</link><guid isPermaLink="true">https://danielcosenza.com/posts/lx-howto-ssh-keys</guid><description>A complete walkthrough generating an SSH key pair, deploying it correctly, and disabling password authentication safely — without locking yourself out.</description><pubDate>Thu, 09 Jul 2026 00:00:00 GMT</pubDate><category>Linux</category><category>howto</category><category>ssh</category><category>security</category><category>linux</category></item><item><title>How to Debug a Program on Linux with strace</title><link>https://danielcosenza.com/posts/lx-howto-strace-debugging</link><guid isPermaLink="true">https://danielcosenza.com/posts/lx-howto-strace-debugging</guid><description>A complete walkthrough using strace to see exactly which system calls a misbehaving program is making — often the fastest way to diagnose a problem with no useful log output at all.</description><pubDate>Thu, 09 Jul 2026 00:00:00 GMT</pubDate><category>Linux</category><category>howto</category><category>strace</category><category>debugging</category></item><item><title>How to Replace a Cron Job with a systemd Timer</title><link>https://danielcosenza.com/posts/lx-howto-systemd-timer</link><guid isPermaLink="true">https://danielcosenza.com/posts/lx-howto-systemd-timer</guid><description>A complete, working example converting a nightly backup cron job into a properly supervised systemd timer, with logging and failure visibility cron never gave you.</description><pubDate>Thu, 09 Jul 2026 00:00:00 GMT</pubDate><category>Linux</category><category>howto</category><category>systemd</category><category>automation</category><category>linux</category></item><item><title>Building and Loading Your Own Linux Kernel Module</title><link>https://danielcosenza.com/posts/lx-kernel-modules</link><guid isPermaLink="true">https://danielcosenza.com/posts/lx-kernel-modules</guid><description>A minimal but complete walkthrough of writing, building, loading, and communicating with a Linux kernel module.</description><pubDate>Thu, 09 Jul 2026 00:00:00 GMT</pubDate><category>Linux</category><category>kernel-modules</category><category>kernel</category><category>development</category><category>linux</category></item><item><title>SELinux vs. AppArmor: Mandatory Access Control on Linux</title><link>https://danielcosenza.com/posts/lx-mac-security</link><guid isPermaLink="true">https://danielcosenza.com/posts/lx-mac-security</guid><description>How SELinux&apos;s label-based policy and AppArmor&apos;s path-based profiles both extend Linux&apos;s discretionary permission model, and how to work with each day to day.</description><pubDate>Thu, 09 Jul 2026 00:00:00 GMT</pubDate><category>Linux</category><category>selinux</category><category>apparmor</category><category>security</category><category>linux</category></item><item><title>Linux Namespaces: The Kernel Primitive Behind Every Container</title><link>https://danielcosenza.com/posts/lx-namespaces</link><guid isPermaLink="true">https://danielcosenza.com/posts/lx-namespaces</guid><description>How each of the Linux kernel&apos;s namespace types isolates a specific global resource, and why containers are just processes with a curated set of them.</description><pubDate>Thu, 09 Jul 2026 00:00:00 GMT</pubDate><category>Linux</category><category>namespaces</category><category>containers</category><category>kernel</category><category>linux</category></item><item><title>Linux Turns 30: The Community Marks Three Decades</title><link>https://danielcosenza.com/posts/lx-news-30th-anniversary</link><guid isPermaLink="true">https://danielcosenza.com/posts/lx-news-30th-anniversary</guid><description>August 25, 2021 marked 30 years since Linus Torvalds&apos; original Usenet announcement, prompting a wave of retrospectives on how far the kernel had come.</description><pubDate>Thu, 09 Jul 2026 00:00:00 GMT</pubDate><category>Linux</category><category>news</category><category>anniversary</category><category>linux</category></item><item><title>Linux 5.0 Released — a Version Bump, Not a Milestone</title><link>https://danielcosenza.com/posts/lx-news-50-release</link><guid isPermaLink="true">https://danielcosenza.com/posts/lx-news-50-release</guid><description>Linux 5.0 shipped March 3, 2019, and Linus Torvalds was explicit that the jump from 4.x to 5.0 didn&apos;t signal any major architectural change.</description><pubDate>Thu, 09 Jul 2026 00:00:00 GMT</pubDate><category>Linux</category><category>news</category><category>release</category><category>linux</category></item><item><title>The Linux Foundation Forms from a Merger of Two Rival Consortiums</title><link>https://danielcosenza.com/posts/lx-news-foundation-formed</link><guid isPermaLink="true">https://danielcosenza.com/posts/lx-news-foundation-formed</guid><description>On January 22, 2007, the Open Source Development Labs and the Free Standards Group combined into the Linux Foundation, consolidating Linux&apos;s economic and standards-setting efforts under one organization.</description><pubDate>Thu, 09 Jul 2026 00:00:00 GMT</pubDate><category>Linux</category><category>news</category><category>linux-foundation</category><category>governance</category></item><item><title>Linus Torvalds Creates Git in 10 Days After a Licensing Dispute</title><link>https://danielcosenza.com/posts/lx-news-git-created</link><guid isPermaLink="true">https://danielcosenza.com/posts/lx-news-git-created</guid><description>When kernel developers lost free access to the proprietary BitKeeper in April 2005, Torvalds responded by writing an entirely new version control system himself — Git&apos;s first commit landed within days.</description><pubDate>Thu, 09 Jul 2026 00:00:00 GMT</pubDate><category>Linux</category><category>news</category><category>git</category><category>tooling</category></item><item><title>Linux Kernel 1.0.0 Ships, Marking It Production-Ready</title><link>https://danielcosenza.com/posts/lx-news-kernel-10</link><guid isPermaLink="true">https://danielcosenza.com/posts/lx-news-kernel-10</guid><description>Released March 14, 1994 at 176,250 lines of code, version 1.0 was the point Linus Torvalds and the community considered the kernel stable enough for production use.</description><pubDate>Thu, 09 Jul 2026 00:00:00 GMT</pubDate><category>Linux</category><category>news</category><category>kernel</category><category>release</category></item><item><title>Linux 6.1 Merges Initial Rust Support</title><link>https://danielcosenza.com/posts/lx-news-rust-support</link><guid isPermaLink="true">https://danielcosenza.com/posts/lx-news-rust-support</guid><description>Released December 11, 2022, Linux 6.1 became the first kernel version to officially accept Rust as a second language for kernel development, alongside C.</description><pubDate>Thu, 09 Jul 2026 00:00:00 GMT</pubDate><category>Linux</category><category>news</category><category>rust</category><category>kernel</category><category>linux</category></item><item><title>APT, DNF, and Pacman Compared: Package Management Across Linux Distributions</title><link>https://danielcosenza.com/posts/lx-pkg-managers</link><guid isPermaLink="true">https://danielcosenza.com/posts/lx-pkg-managers</guid><description>How Debian&apos;s APT, Fedora&apos;s DNF, and Arch&apos;s Pacman differ in dependency resolution, package format, and update philosophy.</description><pubDate>Thu, 09 Jul 2026 00:00:00 GMT</pubDate><category>Linux</category><category>package-management</category><category>apt</category><category>dnf</category><category>linux</category></item><item><title>Reading /proc and /sys: The Kernel&apos;s Window into Userspace</title><link>https://danielcosenza.com/posts/lx-proc-sys</link><guid isPermaLink="true">https://danielcosenza.com/posts/lx-proc-sys</guid><description>How procfs and sysfs expose live kernel state as ordinary files, and the specific paths worth knowing for debugging a running system.</description><pubDate>Thu, 09 Jul 2026 00:00:00 GMT</pubDate><category>Linux</category><category>proc</category><category>sysfs</category><category>kernel</category><category>linux</category></item><item><title>Understanding systemd: Units, Targets, and the Modern Linux Init System</title><link>https://danielcosenza.com/posts/lx-systemd</link><guid isPermaLink="true">https://danielcosenza.com/posts/lx-systemd</guid><description>How systemd&apos;s unit model replaced sequential init scripts with declarative, dependency-driven service management.</description><pubDate>Thu, 09 Jul 2026 00:00:00 GMT</pubDate><category>Linux</category><category>systemd</category><category>init</category><category>linux</category></item><item><title>The Linux Virtual File System: One Interface, Many Filesystems</title><link>https://danielcosenza.com/posts/lx-vfs</link><guid isPermaLink="true">https://danielcosenza.com/posts/lx-vfs</guid><description>How the VFS layer lets ext4, XFS, Btrfs, NFS, and procfs all answer to the same read/write/open calls.</description><pubDate>Thu, 09 Jul 2026 00:00:00 GMT</pubDate><category>Linux</category><category>vfs</category><category>filesystems</category><category>kernel</category><category>linux</category></item><item><title>APFS Explained: Snapshots, Clones, and Space Sharing in Apple&apos;s Filesystem</title><link>https://danielcosenza.com/posts/mac-apfs</link><guid isPermaLink="true">https://danielcosenza.com/posts/mac-apfs</guid><description>How APFS&apos;s container/volume model, copy-on-write clones, and snapshots replaced HFS+ across every Apple platform.</description><pubDate>Thu, 09 Jul 2026 00:00:00 GMT</pubDate><category>macOS</category><category>apfs</category><category>filesystems</category><category>storage</category><category>macos</category></item><item><title>The macOS Boot Process: From Firmware to the Login Window</title><link>https://danielcosenza.com/posts/mac-boot</link><guid isPermaLink="true">https://danielcosenza.com/posts/mac-boot</guid><description>How Apple Silicon&apos;s secure boot chain differs from Intel Macs, and the stages both go through to reach loginwindow.</description><pubDate>Thu, 09 Jul 2026 00:00:00 GMT</pubDate><category>macOS</category><category>boot</category><category>apple-silicon</category><category>macos</category></item><item><title>Code Signing, Notarization, and Gatekeeper on macOS</title><link>https://danielcosenza.com/posts/mac-codesigning</link><guid isPermaLink="true">https://danielcosenza.com/posts/mac-codesigning</guid><description>How macOS verifies that an application hasn&apos;t been tampered with and hasn&apos;t been flagged as malware, before it&apos;s ever allowed to launch.</description><pubDate>Thu, 09 Jul 2026 00:00:00 GMT</pubDate><category>macOS</category><category>code-signing</category><category>notarization</category><category>security</category><category>macos</category></item><item><title>Diagnosing a macOS Kernel Panic from Its Crash Report</title><link>https://danielcosenza.com/posts/mac-fix-kernel-panic</link><guid isPermaLink="true">https://danielcosenza.com/posts/mac-fix-kernel-panic</guid><description>Your Mac restarted with a &apos;your computer restarted because of a problem&apos; message. Here&apos;s how to actually read the panic report instead of just hoping it doesn&apos;t happen again.</description><pubDate>Thu, 09 Jul 2026 00:00:00 GMT</pubDate><category>macOS</category><category>fix</category><category>kernel-panic</category><category>macos</category></item><item><title>Fixing &apos;Operation Not Permitted&apos; in Terminal After a macOS Update</title><link>https://danielcosenza.com/posts/mac-fix-permission-denied-update</link><guid isPermaLink="true">https://danielcosenza.com/posts/mac-fix-permission-denied-update</guid><description>A script that worked fine yesterday now fails with &apos;Operation not permitted&apos; after a macOS update. It&apos;s almost always Full Disk Access, not a real permissions bug.</description><pubDate>Thu, 09 Jul 2026 00:00:00 GMT</pubDate><category>macOS</category><category>fix</category><category>permissions</category><category>macos</category></item><item><title>Fixing Spotlight When It Stops Finding Files You Know Exist</title><link>https://danielcosenza.com/posts/mac-fix-spotlight-not-indexing</link><guid isPermaLink="true">https://danielcosenza.com/posts/mac-fix-spotlight-not-indexing</guid><description>Spotlight search comes up empty for files you can see in Finder. Here&apos;s how to check indexing status and force a clean rebuild without losing any data.</description><pubDate>Thu, 09 Jul 2026 00:00:00 GMT</pubDate><category>macOS</category><category>fix</category><category>spotlight</category><category>macos</category></item><item><title>The History of macOS: How a Failed Startup&apos;s OS Became Apple&apos;s Foundation</title><link>https://danielcosenza.com/posts/mac-history</link><guid isPermaLink="true">https://danielcosenza.com/posts/mac-history</guid><description>How Apple&apos;s 1996 acquisition of NeXT, and Steve Jobs&apos; return, turned NeXTSTEP into the Unix foundation underneath every Mac sold today.</description><pubDate>Thu, 09 Jul 2026 00:00:00 GMT</pubDate><category>macOS</category><category>history</category><category>macos</category></item><item><title>How Homebrew Actually Works: Formulae, Casks, and the Cellar</title><link>https://danielcosenza.com/posts/mac-homebrew</link><guid isPermaLink="true">https://danielcosenza.com/posts/mac-homebrew</guid><description>What actually happens on disk when you brew install something, and why Homebrew&apos;s design differs from a traditional Linux package manager.</description><pubDate>Thu, 09 Jul 2026 00:00:00 GMT</pubDate><category>macOS</category><category>homebrew</category><category>package-management</category><category>macos</category></item><item><title>How to Create a Bootable macOS Installer on a USB Drive</title><link>https://danielcosenza.com/posts/mac-howto-bootable-installer</link><guid isPermaLink="true">https://danielcosenza.com/posts/mac-howto-bootable-installer</guid><description>A complete walkthrough using the built-in createinstallmedia tool to build a bootable USB installer for a clean install or major troubleshooting.</description><pubDate>Thu, 09 Jul 2026 00:00:00 GMT</pubDate><category>macOS</category><category>howto</category><category>installer</category><category>macos</category></item><item><title>How to Customize macOS with Terminal and the defaults Command</title><link>https://danielcosenza.com/posts/mac-howto-defaults-customize</link><guid isPermaLink="true">https://danielcosenza.com/posts/mac-howto-defaults-customize</guid><description>A practical set of real, working defaults commands to unlock hidden macOS settings, plus how to find and safely revert any customization yourself.</description><pubDate>Thu, 09 Jul 2026 00:00:00 GMT</pubDate><category>macOS</category><category>howto</category><category>terminal</category><category>macos</category></item><item><title>How to Set Up FileVault Full-Disk Encryption on macOS</title><link>https://danielcosenza.com/posts/mac-howto-filevault</link><guid isPermaLink="true">https://danielcosenza.com/posts/mac-howto-filevault</guid><description>A complete walkthrough enabling FileVault, understanding your recovery key options, and what to do if you&apos;re locked out — before you need it, not after.</description><pubDate>Thu, 09 Jul 2026 00:00:00 GMT</pubDate><category>macOS</category><category>howto</category><category>filevault</category><category>encryption</category><category>security</category></item><item><title>How to Manage Login Items and Launch Agents Cleanly on macOS</title><link>https://danielcosenza.com/posts/mac-howto-manage-login-items</link><guid isPermaLink="true">https://danielcosenza.com/posts/mac-howto-manage-login-items</guid><description>A complete approach to auditing and controlling what actually starts when you log in — covering both the modern Login Items UI and the launchd agents it doesn&apos;t show.</description><pubDate>Thu, 09 Jul 2026 00:00:00 GMT</pubDate><category>macOS</category><category>howto</category><category>launchd</category><category>macos</category></item><item><title>How to Migrate to a New Mac with Migration Assistant</title><link>https://danielcosenza.com/posts/mac-howto-migration-assistant</link><guid isPermaLink="true">https://danielcosenza.com/posts/mac-howto-migration-assistant</guid><description>A complete walkthrough moving your entire setup — apps, files, accounts, and settings — to a new Mac, plus what to check afterward when something doesn&apos;t carry over cleanly.</description><pubDate>Thu, 09 Jul 2026 00:00:00 GMT</pubDate><category>macOS</category><category>howto</category><category>migration-assistant</category><category>setup</category></item><item><title>How to Set Up Time Machine Backups Properly</title><link>https://danielcosenza.com/posts/mac-howto-time-machine</link><guid isPermaLink="true">https://danielcosenza.com/posts/mac-howto-time-machine</guid><description>A complete Time Machine setup covering drive selection, encryption, exclusions, and how to actually verify your backups will restore when you need them.</description><pubDate>Thu, 09 Jul 2026 00:00:00 GMT</pubDate><category>macOS</category><category>howto</category><category>backup</category><category>time-machine</category><category>macos</category></item><item><title>Understanding launchd: macOS&apos;s Init System and Service Manager</title><link>https://danielcosenza.com/posts/mac-launchd</link><guid isPermaLink="true">https://danielcosenza.com/posts/mac-launchd</guid><description>How launchd unified boot-time initialization, service supervision, and scheduled tasks into a single declarative system on macOS.</description><pubDate>Thu, 09 Jul 2026 00:00:00 GMT</pubDate><category>macOS</category><category>launchd</category><category>init</category><category>macos</category></item><item><title>Automating macOS with launchd Agents and Daemons</title><link>https://danielcosenza.com/posts/mac-launchd-agents</link><guid isPermaLink="true">https://danielcosenza.com/posts/mac-launchd-agents</guid><description>A practical guide to writing, installing, and debugging your own scheduled or persistent launchd jobs.</description><pubDate>Thu, 09 Jul 2026 00:00:00 GMT</pubDate><category>macOS</category><category>launchd</category><category>automation</category><category>macos</category></item><item><title>Apple Announces the Mac&apos;s Transition to Apple Silicon</title><link>https://danielcosenza.com/posts/mac-news-apple-silicon</link><guid isPermaLink="true">https://danielcosenza.com/posts/mac-news-apple-silicon</guid><description>At WWDC on June 22, 2020, Tim Cook announced a two-year plan to move every Mac from Intel processors to Apple&apos;s own chips.</description><pubDate>Thu, 09 Jul 2026 00:00:00 GMT</pubDate><category>macOS</category><category>news</category><category>apple-silicon</category><category>macos</category></item><item><title>Mac OS X 10.0 &apos;Cheetah&apos; Ships to the Public</title><link>https://danielcosenza.com/posts/mac-news-osx-release</link><guid isPermaLink="true">https://danielcosenza.com/posts/mac-news-osx-release</guid><description>Released March 24, 2001 at $129, Mac OS X 10.0 brought Apple&apos;s NeXT-derived, Unix-based operating system to consumers for the first time.</description><pubDate>Thu, 09 Jul 2026 00:00:00 GMT</pubDate><category>macOS</category><category>news</category><category>release</category><category>macos</category></item><item><title>OS X El Capitan Introduces System Integrity Protection</title><link>https://danielcosenza.com/posts/mac-news-sip-intro</link><guid isPermaLink="true">https://danielcosenza.com/posts/mac-news-sip-intro</guid><description>Released September 30, 2015, OS X 10.11 shipped with SIP enabled by default — restricting even the root user from modifying protected system files.</description><pubDate>Thu, 09 Jul 2026 00:00:00 GMT</pubDate><category>macOS</category><category>news</category><category>sip</category><category>security</category><category>macos</category></item><item><title>Snow Leopard Ships as a Refinement Release, Dropping PowerPC Entirely</title><link>https://danielcosenza.com/posts/mac-news-snow-leopard</link><guid isPermaLink="true">https://danielcosenza.com/posts/mac-news-snow-leopard</guid><description>Released August 28, 2009, Mac OS X Snow Leopard was the first version built exclusively for Intel Macs — a deliberate stability and performance release rather than a showcase of new user-facing features.</description><pubDate>Thu, 09 Jul 2026 00:00:00 GMT</pubDate><category>macOS</category><category>news</category><category>macos</category><category>intel</category></item><item><title>Mac OS X Leopard Becomes an Officially Certified UNIX</title><link>https://danielcosenza.com/posts/mac-news-unix-certification</link><guid isPermaLink="true">https://danielcosenza.com/posts/mac-news-unix-certification</guid><description>On May 18, 2007, Leopard on Intel Macs became the first BSD-based operating system to earn Open Brand UNIX 03 certification — making &apos;Mac OS X is a real Unix&apos; a certified fact, not just a technical argument.</description><pubDate>Thu, 09 Jul 2026 00:00:00 GMT</pubDate><category>macOS</category><category>news</category><category>unix</category><category>certification</category></item><item><title>macOS App Sandboxing and Entitlements Explained</title><link>https://danielcosenza.com/posts/mac-sandboxing</link><guid isPermaLink="true">https://danielcosenza.com/posts/mac-sandboxing</guid><description>How the App Sandbox confines what an application can access by default, and how entitlements grant it specific, narrow exceptions.</description><pubDate>Thu, 09 Jul 2026 00:00:00 GMT</pubDate><category>macOS</category><category>sandboxing</category><category>entitlements</category><category>macos</category></item><item><title>System Integrity Protection: What SIP Actually Locks Down on macOS</title><link>https://danielcosenza.com/posts/mac-sip</link><guid isPermaLink="true">https://danielcosenza.com/posts/mac-sip</guid><description>What SIP protects, how it&apos;s enforced below the level of the root user, and the legitimate reasons to disable it temporarily.</description><pubDate>Thu, 09 Jul 2026 00:00:00 GMT</pubDate><category>macOS</category><category>sip</category><category>security</category><category>macos</category></item><item><title>Spotlight Internals: How macOS Indexes and Searches Your Files</title><link>https://danielcosenza.com/posts/mac-spotlight</link><guid isPermaLink="true">https://danielcosenza.com/posts/mac-spotlight</guid><description>How mdworker, metadata importers, and Spotlight&apos;s index let macOS answer file searches in milliseconds instead of scanning the disk on demand.</description><pubDate>Thu, 09 Jul 2026 00:00:00 GMT</pubDate><category>macOS</category><category>spotlight</category><category>indexing</category><category>macos</category></item><item><title>Building Lightweight VMs with Apple&apos;s Virtualization.framework</title><link>https://danielcosenza.com/posts/mac-virtualization</link><guid isPermaLink="true">https://danielcosenza.com/posts/mac-virtualization</guid><description>How Virtualization.framework exposes Apple Silicon&apos;s hardware virtualization support directly to Swift applications, without a third-party hypervisor.</description><pubDate>Thu, 09 Jul 2026 00:00:00 GMT</pubDate><category>macOS</category><category>virtualization</category><category>apple-silicon</category><category>macos</category></item><item><title>CRT Shaders and Integer Scaling: Making Old Pixels Look Right on New Screens</title><link>https://danielcosenza.com/posts/rg-crt-shaders</link><guid isPermaLink="true">https://danielcosenza.com/posts/rg-crt-shaders</guid><description>A 256x224 image was never meant to be seen as a grid of hard, discrete pixels. Recreating how it actually looked on the display it was designed for is its own genuine technical problem.</description><pubDate>Thu, 09 Jul 2026 00:00:00 GMT</pubDate><category>Retrogaming</category><category>shaders</category><category>crt</category><category>scaling</category><category>retrogaming</category></item><item><title>Fixing Audio Crackling and Stuttering in Emulators</title><link>https://danielcosenza.com/posts/rg-fix-audio-crackling</link><guid isPermaLink="true">https://danielcosenza.com/posts/rg-fix-audio-crackling</guid><description>The game runs and looks fine, but the audio pops, crackles, or stutters. This is almost always an audio buffer or sync problem, not a broken emulator core.</description><pubDate>Thu, 09 Jul 2026 00:00:00 GMT</pubDate><category>Retrogaming</category><category>fix</category><category>audio</category><category>retroarch</category><category>performance</category></item><item><title>Fixing a Controller That Isn&apos;t Detected in Your Emulator</title><link>https://danielcosenza.com/posts/rg-fix-controller-not-detected</link><guid isPermaLink="true">https://danielcosenza.com/posts/rg-fix-controller-not-detected</guid><description>The controller works fine in other software, but your emulator doesn&apos;t see it — or sees it, but maps buttons incorrectly. Here&apos;s how to isolate where the problem actually is.</description><pubDate>Thu, 09 Jul 2026 00:00:00 GMT</pubDate><category>Retrogaming</category><category>fix</category><category>controller</category><category>retroarch</category><category>input</category></item><item><title>The History of Emulation: Preserving Gaming&apos;s Hardware Before It&apos;s Gone</title><link>https://danielcosenza.com/posts/rg-history</link><guid isPermaLink="true">https://danielcosenza.com/posts/rg-history</guid><description>Why software emulation of games and computers became its own discipline, who started the project most responsible for legitimizing it, and how a single court case settled whether any of this was legal in the first place.</description><pubDate>Thu, 09 Jul 2026 00:00:00 GMT</pubDate><category>Retrogaming</category><category>history</category><category>emulation</category><category>retrogaming</category><category>preservation</category></item><item><title>How to Set Up RetroAchievements in RetroArch</title><link>https://danielcosenza.com/posts/rg-howto-retroachievements</link><guid isPermaLink="true">https://danielcosenza.com/posts/rg-howto-retroachievements</guid><description>A complete walkthrough enabling RetroAchievements — earning genuine achievements for classic games that never had them, verified against actual game memory state to prevent cheating.</description><pubDate>Thu, 09 Jul 2026 00:00:00 GMT</pubDate><category>Retrogaming</category><category>howto</category><category>retroachievements</category><category>retroarch</category></item><item><title>Inside Libretro: The Core/Frontend Architecture Behind RetroArch</title><link>https://danielcosenza.com/posts/rg-libretro-architecture</link><guid isPermaLink="true">https://danielcosenza.com/posts/rg-libretro-architecture</guid><description>RetroArch supports dozens of systems without reimplementing shaders, netplay, or rewind for each one — because the emulator logic and everything around it are deliberately different programs.</description><pubDate>Thu, 09 Jul 2026 00:00:00 GMT</pubDate><category>Retrogaming</category><category>libretro</category><category>retroarch</category><category>architecture</category><category>retrogaming</category></item><item><title>Dolphin Becomes the First Emulator to Run Commercial GameCube Games</title><link>https://danielcosenza.com/posts/rg-news-dolphin-gamecube</link><guid isPermaLink="true">https://danielcosenza.com/posts/rg-news-dolphin-gamecube</guid><description>Released September 22, 2003 by Henrik Rydgård and F|RES, Dolphin was the first GameCube emulator to successfully run commercial titles — and later expanded to cover the Wii as well.</description><pubDate>Thu, 09 Jul 2026 00:00:00 GMT</pubDate><category>Retrogaming</category><category>news</category><category>dolphin</category><category>gamecube</category><category>wii</category></item><item><title>Understanding the Windows Boot Process: UEFI, Boot Manager, and Winload</title><link>https://danielcosenza.com/posts/win-boot</link><guid isPermaLink="true">https://danielcosenza.com/posts/win-boot</guid><description>How a modern Windows machine goes from firmware to a running kernel, and where each stage&apos;s configuration actually lives.</description><pubDate>Thu, 09 Jul 2026 00:00:00 GMT</pubDate><category>Windows</category><category>boot</category><category>uefi</category><category>windows</category></item><item><title>The Windows Security Model: ACLs, Integrity Levels, and UAC</title><link>https://danielcosenza.com/posts/win-defender-security</link><guid isPermaLink="true">https://danielcosenza.com/posts/win-defender-security</guid><description>How discretionary ACLs, mandatory integrity levels, and UAC&apos;s token-splitting combine to form Windows&apos; layered access control model.</description><pubDate>Thu, 09 Jul 2026 00:00:00 GMT</pubDate><category>Windows</category><category>security</category><category>uac</category><category>windows</category></item><item><title>Reading a Windows BSOD Minidump to Find the Actual Cause</title><link>https://danielcosenza.com/posts/win-fix-bsod</link><guid isPermaLink="true">https://danielcosenza.com/posts/win-fix-bsod</guid><description>A blue screen flashes by too fast to read. Here&apos;s how to pull the crash dump it left behind and find out which driver actually caused it.</description><pubDate>Thu, 09 Jul 2026 00:00:00 GMT</pubDate><category>Windows</category><category>fix</category><category>bsod</category><category>windows</category></item><item><title>Fixing 100% Disk Usage Caused by Windows Search Indexing</title><link>https://danielcosenza.com/posts/win-fix-high-disk-usage</link><guid isPermaLink="true">https://danielcosenza.com/posts/win-fix-high-disk-usage</guid><description>Task Manager shows disk usage pinned at 100% with no obvious cause. Windows Search&apos;s indexer is a frequent culprit — here&apos;s how to confirm it and fix it properly.</description><pubDate>Thu, 09 Jul 2026 00:00:00 GMT</pubDate><category>Windows</category><category>fix</category><category>performance</category><category>windows</category></item><item><title>Fixing Corrupted System Files on Windows with SFC and DISM</title><link>https://danielcosenza.com/posts/win-fix-sfc-dism-corruption</link><guid isPermaLink="true">https://danielcosenza.com/posts/win-fix-sfc-dism-corruption</guid><description>Windows is misbehaving in ways that don&apos;t point at any specific application — SFC and DISM are the two built-in tools for finding and repairing damaged system files, and they work together, not as alternatives.</description><pubDate>Thu, 09 Jul 2026 00:00:00 GMT</pubDate><category>Windows</category><category>fix</category><category>sfc</category><category>dism</category><category>system-files</category></item><item><title>Fixing Slow Windows Startup Times</title><link>https://danielcosenza.com/posts/win-fix-slow-startup</link><guid isPermaLink="true">https://danielcosenza.com/posts/win-fix-slow-startup</guid><description>Boot times creeping up over time usually trace to a specific, identifiable cause — too many startup programs, a failing drive, or a driver delaying boot — not general &apos;Windows rot.&apos;</description><pubDate>Thu, 09 Jul 2026 00:00:00 GMT</pubDate><category>Windows</category><category>fix</category><category>startup</category><category>performance</category></item><item><title>Fixing a Windows Update That&apos;s Stuck or Failing to Install</title><link>https://danielcosenza.com/posts/win-fix-update-stuck</link><guid isPermaLink="true">https://danielcosenza.com/posts/win-fix-update-stuck</guid><description>Windows Update hangs at a percentage forever, or fails and rolls back every time. A systematic order of fixes, from least to most invasive.</description><pubDate>Thu, 09 Jul 2026 00:00:00 GMT</pubDate><category>Windows</category><category>fix</category><category>windows-update</category><category>windows</category></item><item><title>Group Policy Explained: How Enterprise Windows Configuration Actually Works</title><link>https://danielcosenza.com/posts/win-group-policy</link><guid isPermaLink="true">https://danielcosenza.com/posts/win-group-policy</guid><description>How Group Policy Objects, ADMX templates, and the client-side refresh cycle turn Active Directory structure into enforced machine configuration.</description><pubDate>Thu, 09 Jul 2026 00:00:00 GMT</pubDate><category>Windows</category><category>group-policy</category><category>active-directory</category><category>windows</category></item><item><title>The History of Windows: From a BASIC Interpreter to Windows NT</title><link>https://danielcosenza.com/posts/win-history</link><guid isPermaLink="true">https://danielcosenza.com/posts/win-history</guid><description>How Microsoft&apos;s 1975 founding led, eighteen years later, to hiring a DEC operating-system veteran to build Windows NT from scratch.</description><pubDate>Thu, 09 Jul 2026 00:00:00 GMT</pubDate><category>Windows</category><category>history</category><category>windows</category></item><item><title>How to Set Up BitLocker Encryption Properly</title><link>https://danielcosenza.com/posts/win-howto-bitlocker</link><guid isPermaLink="true">https://danielcosenza.com/posts/win-howto-bitlocker</guid><description>A complete BitLocker setup covering TPM requirements, the recovery key you must save externally, and how to verify encryption actually completed.</description><pubDate>Thu, 09 Jul 2026 00:00:00 GMT</pubDate><category>Windows</category><category>howto</category><category>bitlocker</category><category>security</category><category>windows</category></item><item><title>How to Create a Bootable Windows USB Installer</title><link>https://danielcosenza.com/posts/win-howto-bootable-usb</link><guid isPermaLink="true">https://danielcosenza.com/posts/win-howto-bootable-usb</guid><description>A complete walkthrough using the official Media Creation Tool, plus how to verify the resulting USB actually boots before you need it in an emergency.</description><pubDate>Thu, 09 Jul 2026 00:00:00 GMT</pubDate><category>Windows</category><category>howto</category><category>installer</category><category>windows</category></item><item><title>How to Set Up Automatic Backups with File History on Windows</title><link>https://danielcosenza.com/posts/win-howto-file-history-backup</link><guid isPermaLink="true">https://danielcosenza.com/posts/win-howto-file-history-backup</guid><description>A complete walkthrough configuring File History for continuous, versioned backups of your personal files — and how to actually restore a previous version when you need one.</description><pubDate>Thu, 09 Jul 2026 00:00:00 GMT</pubDate><category>Windows</category><category>howto</category><category>file-history</category><category>backup</category></item><item><title>How to Configure Windows Firewall Rules Properly</title><link>https://danielcosenza.com/posts/win-howto-firewall-rules</link><guid isPermaLink="true">https://danielcosenza.com/posts/win-howto-firewall-rules</guid><description>A complete walkthrough creating specific, scoped inbound and outbound rules with PowerShell, rather than the common mistake of just disabling the firewall entirely.</description><pubDate>Thu, 09 Jul 2026 00:00:00 GMT</pubDate><category>Windows</category><category>howto</category><category>firewall</category><category>windows</category></item><item><title>How to Configure Remote Desktop Securely on Windows</title><link>https://danielcosenza.com/posts/win-howto-remote-desktop</link><guid isPermaLink="true">https://danielcosenza.com/posts/win-howto-remote-desktop</guid><description>A complete walkthrough enabling Remote Desktop the right way — Network Level Authentication, a non-default port, and firewall scoping — rather than exposing RDP openly to the internet.</description><pubDate>Thu, 09 Jul 2026 00:00:00 GMT</pubDate><category>Windows</category><category>howto</category><category>remote-desktop</category><category>rdp</category><category>security</category></item><item><title>How to Use Windows System Restore Points Properly</title><link>https://danielcosenza.com/posts/win-howto-system-restore</link><guid isPermaLink="true">https://danielcosenza.com/posts/win-howto-system-restore</guid><description>A complete guide to enabling System Restore, creating restore points at the right moments, and actually rolling back correctly when something breaks.</description><pubDate>Thu, 09 Jul 2026 00:00:00 GMT</pubDate><category>Windows</category><category>howto</category><category>system-restore</category><category>windows</category></item><item><title>How to Configure Windows Terminal and PowerShell Profiles</title><link>https://danielcosenza.com/posts/win-howto-terminal-profiles</link><guid isPermaLink="true">https://danielcosenza.com/posts/win-howto-terminal-profiles</guid><description>A complete walkthrough customizing Windows Terminal&apos;s settings.json and your PowerShell profile script — so your preferred shell, prompt, and startup behavior are there every time you open a terminal.</description><pubDate>Thu, 09 Jul 2026 00:00:00 GMT</pubDate><category>Windows</category><category>howto</category><category>windows-terminal</category><category>powershell</category></item><item><title>How to Set Up and Use Windows Sandbox</title><link>https://danielcosenza.com/posts/win-howto-windows-sandbox</link><guid isPermaLink="true">https://danielcosenza.com/posts/win-howto-windows-sandbox</guid><description>A complete walkthrough enabling Windows Sandbox for running untrusted applications in a clean, disposable, isolated environment — no separate VM image to manage.</description><pubDate>Thu, 09 Jul 2026 00:00:00 GMT</pubDate><category>Windows</category><category>howto</category><category>windows-sandbox</category><category>isolation</category></item><item><title>Windows 95 Launches with a $300 Million Marketing Campaign</title><link>https://danielcosenza.com/posts/win-news-95-launch</link><guid isPermaLink="true">https://danielcosenza.com/posts/win-news-95-launch</guid><description>Released August 24, 1995, Windows 95 brought the Start menu and taskbar to the mainstream — backed by one of the largest software marketing campaigns ever mounted, including a Rolling Stones-licensed ad and Jay Leno at the Redmond launch event.</description><pubDate>Thu, 09 Jul 2026 00:00:00 GMT</pubDate><category>Windows</category><category>news</category><category>windows-95</category><category>launch</category></item><item><title>Windows NT 3.1 Ships</title><link>https://danielcosenza.com/posts/win-news-nt-31</link><guid isPermaLink="true">https://danielcosenza.com/posts/win-news-nt-31</guid><description>Released July 27, 1993, Windows NT 3.1 was the first shipping version of the from-scratch, Dave Cutler-led operating system that underlies every Windows release since.</description><pubDate>Thu, 09 Jul 2026 00:00:00 GMT</pubDate><category>Windows</category><category>news</category><category>release</category><category>windows</category></item><item><title>Microsoft Announces Windows 11</title><link>https://danielcosenza.com/posts/win-news-windows-11</link><guid isPermaLink="true">https://danielcosenza.com/posts/win-news-windows-11</guid><description>Announced June 24, 2021 by Panos Panay and released October 5, 2021, Windows 11 brought a redesigned interface and stricter hardware requirements.</description><pubDate>Thu, 09 Jul 2026 00:00:00 GMT</pubDate><category>Windows</category><category>news</category><category>release</category><category>windows</category></item><item><title>Windows Subsystem for Linux Announced at Build 2016</title><link>https://danielcosenza.com/posts/win-news-wsl-announced</link><guid isPermaLink="true">https://danielcosenza.com/posts/win-news-wsl-announced</guid><description>First revealed via Windows 10 Insider Preview Build 14316 on April 6, 2016, WSL let Windows run real Linux binaries for the first time.</description><pubDate>Thu, 09 Jul 2026 00:00:00 GMT</pubDate><category>Windows</category><category>news</category><category>wsl2</category><category>linux</category><category>windows</category></item><item><title>NTFS Internals: the MFT, Journaling, and Alternate Data Streams</title><link>https://danielcosenza.com/posts/win-ntfs</link><guid isPermaLink="true">https://danielcosenza.com/posts/win-ntfs</guid><description>How NTFS&apos;s Master File Table, transaction journal, and lesser-known features like alternate data streams actually work.</description><pubDate>Thu, 09 Jul 2026 00:00:00 GMT</pubDate><category>Windows</category><category>ntfs</category><category>filesystems</category><category>windows</category></item><item><title>PowerShell Remoting and WinRM: Managing Windows at Scale</title><link>https://danielcosenza.com/posts/win-powershell-remoting</link><guid isPermaLink="true">https://danielcosenza.com/posts/win-powershell-remoting</guid><description>How WinRM and PowerShell Remoting turn scattered single-machine administration into fleet-wide scripted management.</description><pubDate>Thu, 09 Jul 2026 00:00:00 GMT</pubDate><category>Windows</category><category>powershell</category><category>winrm</category><category>windows</category><category>sysadmin</category></item><item><title>Windows Process and Thread Internals: Handles, Tokens, and Objects</title><link>https://danielcosenza.com/posts/win-process-internals</link><guid isPermaLink="true">https://danielcosenza.com/posts/win-process-internals</guid><description>How the Windows kernel represents processes as containers of handles and a security token, and the tools to inspect both live.</description><pubDate>Thu, 09 Jul 2026 00:00:00 GMT</pubDate><category>Windows</category><category>process-internals</category><category>kernel</category><category>windows</category></item><item><title>Windows Registry Internals: Hives, Keys, and How Settings Actually Persist</title><link>https://danielcosenza.com/posts/win-registry</link><guid isPermaLink="true">https://danielcosenza.com/posts/win-registry</guid><description>How the registry&apos;s hive files, keys, and value types work under the hood, and the tools to inspect and edit them safely.</description><pubDate>Thu, 09 Jul 2026 00:00:00 GMT</pubDate><category>Windows</category><category>registry</category><category>windows</category></item><item><title>Windows Services and the Service Control Manager</title><link>https://danielcosenza.com/posts/win-services</link><guid isPermaLink="true">https://danielcosenza.com/posts/win-services</guid><description>How the Service Control Manager starts, stops, and supervises background processes, and how to configure and debug a service directly.</description><pubDate>Thu, 09 Jul 2026 00:00:00 GMT</pubDate><category>Windows</category><category>services</category><category>windows</category><category>sysadmin</category></item><item><title>Automating Windows with Task Scheduler</title><link>https://danielcosenza.com/posts/win-task-scheduler</link><guid isPermaLink="true">https://danielcosenza.com/posts/win-task-scheduler</guid><description>How Task Scheduler&apos;s triggers, actions, and conditions work together, and how to build and inspect scheduled tasks from the command line.</description><pubDate>Thu, 09 Jul 2026 00:00:00 GMT</pubDate><category>Windows</category><category>task-scheduler</category><category>automation</category><category>windows</category></item><item><title>Understanding WSL2: How Windows Runs a Real Linux Kernel</title><link>https://danielcosenza.com/posts/win-wsl2</link><guid isPermaLink="true">https://danielcosenza.com/posts/win-wsl2</guid><description>How WSL2 differs fundamentally from WSL1&apos;s syscall translation, running an actual Linux kernel in a lightweight, tightly-integrated VM.</description><pubDate>Thu, 09 Jul 2026 00:00:00 GMT</pubDate><category>Windows</category><category>wsl2</category><category>linux</category><category>virtualization</category><category>windows</category></item></channel></rss>