<?xml version="1.0" encoding="UTF-8"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><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><lastBuildDate>Fri, 17 Jul 2026 00:00:00 GMT</lastBuildDate><atom:link href="https://danielcosenza.com/rss.xml" rel="self" type="application/rss+xml"/><item><title>Amazon ECR in Production: IAM, Digests, Scanning, Lifecycle Rules, and Replication</title><link>https://danielcosenza.com/posts/devops-amazon-ecr/</link><guid isPermaLink="true">https://danielcosenza.com/posts/devops-amazon-ecr/</guid><description>How to operate Amazon ECR as a controlled OCI artifact supply point with least-privilege access, immutable identity, scanning, retention, and recovery.</description><pubDate>Sun, 12 Jul 2026 00:00:00 GMT</pubDate><category>SRE &amp; DevOps</category><category>aws</category><category>ecr</category><category>container-registry</category></item><item><title>Amazon ECS Architecture: Tasks, Services, Capacity, and Operational Boundaries</title><link>https://danielcosenza.com/posts/devops-amazon-ecs-architecture/</link><guid isPermaLink="true">https://danielcosenza.com/posts/devops-amazon-ecs-architecture/</guid><description>A practical model of ECS task definitions, services, capacity providers, networking, IAM, deployments, and the responsibilities AWS does not remove.</description><pubDate>Sun, 12 Jul 2026 00:00:00 GMT</pubDate><category>SRE &amp; DevOps</category><category>aws</category><category>ecs</category><category>containers</category></item><item><title>Amazon EKS in Production: Control Plane, Compute, IAM, Networking, and Upgrades</title><link>https://danielcosenza.com/posts/devops-amazon-eks/</link><guid isPermaLink="true">https://danielcosenza.com/posts/devops-amazon-eks/</guid><description>What AWS manages in EKS, what remains in your account, and how node choices, VPC networking, identity, observability, availability, and cost interact.</description><pubDate>Sun, 12 Jul 2026 00:00:00 GMT</pubDate><category>SRE &amp; DevOps</category><category>aws</category><category>eks</category><category>kubernetes</category></item><item><title>AWS App Runner: From Source or Container Image to a Managed Web Service</title><link>https://danielcosenza.com/posts/devops-aws-app-runner/</link><guid isPermaLink="true">https://danielcosenza.com/posts/devops-aws-app-runner/</guid><description>How App Runner builds, deploys, scales, secures, and observes HTTP services—and where its simplified platform stops being the right abstraction.</description><pubDate>Sun, 12 Jul 2026 00:00:00 GMT</pubDate><category>SRE &amp; DevOps</category><category>aws</category><category>app-runner</category><category>paas</category></item><item><title>AWS Fargate: Serverless Container Compute for ECS and EKS</title><link>https://danielcosenza.com/posts/devops-aws-fargate-serverless-containers/</link><guid isPermaLink="true">https://danielcosenza.com/posts/devops-aws-fargate-serverless-containers/</guid><description>What Fargate manages, how task-level isolation and resource sizing work, and when its operational simplicity outweighs reduced host control.</description><pubDate>Sun, 12 Jul 2026 00:00:00 GMT</pubDate><category>SRE &amp; DevOps</category><category>aws</category><category>fargate</category><category>containers</category></item><item><title>AWS Step Functions: Reliable Workflow Orchestration Without a Custom Coordinator</title><link>https://danielcosenza.com/posts/devops-aws-step-functions-workflows/</link><guid isPermaLink="true">https://danielcosenza.com/posts/devops-aws-step-functions-workflows/</guid><description>How Step Functions state machines coordinate distributed work, where retries and execution history help, and where orchestration cost and service limits matter.</description><pubDate>Sun, 12 Jul 2026 00:00:00 GMT</pubDate><category>SRE &amp; DevOps</category><category>aws</category><category>step-functions</category><category>orchestration</category></item><item><title>Azure Container Apps: Environments, Revisions, KEDA Scaling, and Managed Ingress</title><link>https://danielcosenza.com/posts/devops-azure-container-apps/</link><guid isPermaLink="true">https://danielcosenza.com/posts/devops-azure-container-apps/</guid><description>A production-focused guide to Azure Container Apps architecture, revisions, jobs, networking, identity, observability, scaling, and platform limits.</description><pubDate>Sun, 12 Jul 2026 00:00:00 GMT</pubDate><category>SRE &amp; DevOps</category><category>azure</category><category>container-apps</category><category>keda</category></item><item><title>Azure Container Registry: Identity, OCI Artifacts, Geo-Replication, and Governance</title><link>https://danielcosenza.com/posts/devops-azure-container-registry/</link><guid isPermaLink="true">https://danielcosenza.com/posts/devops-azure-container-registry/</guid><description>A production operating model for ACR authentication, repository permissions, digests, scanning integrations, retention, private networking, and global replicas.</description><pubDate>Sun, 12 Jul 2026 00:00:00 GMT</pubDate><category>SRE &amp; DevOps</category><category>azure</category><category>acr</category><category>container-registry</category></item><item><title>Azure Kubernetes Service: Managed Control Plane, Node Pools, Identity, and Networking</title><link>https://danielcosenza.com/posts/devops-azure-kubernetes-service/</link><guid isPermaLink="true">https://danielcosenza.com/posts/devops-azure-kubernetes-service/</guid><description>A production model for AKS architecture, Entra authentication, node pools, CNI choices, upgrades, observability, availability, and shared responsibility.</description><pubDate>Sun, 12 Jul 2026 00:00:00 GMT</pubDate><category>SRE &amp; DevOps</category><category>azure</category><category>aks</category><category>kubernetes</category></item><item><title>Container Tags, Digests, SBOMs, and Provenance: Building a Verifiable Release Chain</title><link>https://danielcosenza.com/posts/devops-container-tags-digests-provenance/</link><guid isPermaLink="true">https://danielcosenza.com/posts/devops-container-tags-digests-provenance/</guid><description>Why latest is not an identity, how OCI digests anchor releases, and how signatures, attestations, SBOMs, and admission policy work together.</description><pubDate>Sun, 12 Jul 2026 00:00:00 GMT</pubDate><category>SRE &amp; DevOps</category><category>oci</category><category>sbom</category><category>sigstore</category></item><item><title>Google Artifact Registry: Repository Modes, IAM, Cleanup, and Deployment Integration</title><link>https://danielcosenza.com/posts/devops-google-artifact-registry/</link><guid isPermaLink="true">https://danielcosenza.com/posts/devops-google-artifact-registry/</guid><description>How Artifact Registry manages container images and language packages with explicit locations, repository-level access, vulnerability analysis, and cleanup policies.</description><pubDate>Sun, 12 Jul 2026 00:00:00 GMT</pubDate><category>SRE &amp; DevOps</category><category>google-cloud</category><category>artifact-registry</category><category>oci</category></item><item><title>Google Cloud Run: Services, Jobs, Revisions, and the Container Runtime Contract</title><link>https://danielcosenza.com/posts/devops-google-cloud-run/</link><guid isPermaLink="true">https://danielcosenza.com/posts/devops-google-cloud-run/</guid><description>How Cloud Run turns containers into managed services and jobs, including scaling, traffic splitting, IAM, networking, observability, and cold-start tradeoffs.</description><pubDate>Sun, 12 Jul 2026 00:00:00 GMT</pubDate><category>SRE &amp; DevOps</category><category>google-cloud</category><category>cloud-run</category><category>serverless</category></item><item><title>Google Container Registry After Shutdown: What GCR Was and How Migration Works</title><link>https://danielcosenza.com/posts/devops-google-container-registry-shutdown/</link><guid isPermaLink="true">https://danielcosenza.com/posts/devops-google-container-registry-shutdown/</guid><description>Why legacy Container Registry is no longer the service to design around, what remains true about gcr.io URLs, and how to move safely to Artifact Registry.</description><pubDate>Sun, 12 Jul 2026 00:00:00 GMT</pubDate><category>SRE &amp; DevOps</category><category>google-cloud</category><category>gcr</category><category>artifact-registry</category></item><item><title>Google Kubernetes Engine: Autopilot, Standard, Cluster Architecture, and Operations</title><link>https://danielcosenza.com/posts/devops-google-kubernetes-engine/</link><guid isPermaLink="true">https://danielcosenza.com/posts/devops-google-kubernetes-engine/</guid><description>How GKE divides control between Google and the customer across Autopilot and Standard modes, including scaling, identity, networking, upgrades, security, and cost.</description><pubDate>Sun, 12 Jul 2026 00:00:00 GMT</pubDate><category>SRE &amp; DevOps</category><category>google-cloud</category><category>gke</category><category>kubernetes</category></item><item><title>Helm Architecture and Release Lifecycle: Charts, Values, Hooks, Rollbacks, and Supply Chain</title><link>https://danielcosenza.com/posts/devops-helm-release-lifecycle/</link><guid isPermaLink="true">https://danielcosenza.com/posts/devops-helm-release-lifecycle/</guid><description>A deep guide to Helm charts and releases, value precedence, dependencies, lifecycle operations, GitOps, secrets, validation, and Helm 4 compatibility.</description><pubDate>Sun, 12 Jul 2026 00:00:00 GMT</pubDate><category>SRE &amp; DevOps</category><category>helm</category><category>kubernetes</category><category>gitops</category></item><item><title>Karpenter Node Lifecycle: NodePools, NodeClaims, Scheduling, Consolidation, and Disruption</title><link>https://danielcosenza.com/posts/devops-karpenter-node-lifecycle/</link><guid isPermaLink="true">https://danielcosenza.com/posts/devops-karpenter-node-lifecycle/</guid><description>How Karpenter provisions right-sized Kubernetes nodes for pending pods and safely manages Spot, expiration, consolidation, IAM, and production disruption on EKS.</description><pubDate>Sun, 12 Jul 2026 00:00:00 GMT</pubDate><category>SRE &amp; DevOps</category><category>karpenter</category><category>eks</category><category>autoscaling</category></item><item><title>KEDA Event-Driven Autoscaling: ScaledObjects, ScaledJobs, HPA, and Safe Scale-to-Zero</title><link>https://danielcosenza.com/posts/devops-keda-event-driven-autoscaling/</link><guid isPermaLink="true">https://danielcosenza.com/posts/devops-keda-event-driven-autoscaling/</guid><description>How KEDA turns queue and event metrics into pod or Job scaling, with authentication, timing controls, observability, backpressure, and production safeguards.</description><pubDate>Sun, 12 Jul 2026 00:00:00 GMT</pubDate><category>SRE &amp; DevOps</category><category>keda</category><category>kubernetes</category><category>autoscaling</category></item><item><title>Kubernetes Gateway API: Separating Infrastructure, Routing, and Application Ownership</title><link>https://danielcosenza.com/posts/devops-kubernetes-gateway-api/</link><guid isPermaLink="true">https://danielcosenza.com/posts/devops-kubernetes-gateway-api/</guid><description>How GatewayClass, Gateway, and typed Route resources improve multi-team traffic management beyond a single overloaded Ingress object.</description><pubDate>Sun, 12 Jul 2026 00:00:00 GMT</pubDate><category>SRE &amp; DevOps</category><category>kubernetes</category><category>gateway-api</category><category>networking</category></item><item><title>OpenTelemetry Collector Pipelines: Receivers, Processors, Exporters, and Failure Control</title><link>https://danielcosenza.com/posts/devops-opentelemetry-collector-pipelines/</link><guid isPermaLink="true">https://danielcosenza.com/posts/devops-opentelemetry-collector-pipelines/</guid><description>How to design Collector pipelines for metrics, logs, and traces without creating an unbounded queue, telemetry leak, or new single point of failure.</description><pubDate>Sun, 12 Jul 2026 00:00:00 GMT</pubDate><category>SRE &amp; DevOps</category><category>opentelemetry</category><category>observability</category><category>telemetry</category></item><item><title>Terraform State in Production: Backends, Locking, Drift, Import, and Recovery</title><link>https://danielcosenza.com/posts/devops-terraform-state-complete-guide/</link><guid isPermaLink="true">https://danielcosenza.com/posts/devops-terraform-state-complete-guide/</guid><description>A complete operational model for tfstate files: what they contain, how remote backends coordinate teams, and how to migrate or recover state without corrupting it.</description><pubDate>Sun, 12 Jul 2026 00:00:00 GMT</pubDate><category>SRE &amp; DevOps</category><category>terraform</category><category>tfstate</category><category>infrastructure-as-code</category></item><item><title>Recovering a FreeDOS Boot Disk with a Damaged MBR</title><link>https://danielcosenza.com/posts/dos-fix-corrupt-mbr/</link><guid isPermaLink="true">https://danielcosenza.com/posts/dos-fix-corrupt-mbr/</guid><description>A non-destructive FreeDOS recovery sequence for imaging the disk, auditing partitions and active flags, repairing boot code, and verifying files.</description><pubDate>Sun, 12 Jul 2026 00:00:00 GMT</pubDate><category>FreeDOS</category><category>mbr</category><category>boot</category><category>recovery</category></item><item><title>Fixing DOS Games That Run Too Fast on Modern Hardware</title><link>https://danielcosenza.com/posts/dos-fix-fast-games/</link><guid isPermaLink="true">https://danielcosenza.com/posts/dos-fix-fast-games/</guid><description>How to identify CPU-bound timing loops and choose throttling, cache, emulator-cycle, or period-correct hardware solutions without damaging the installation.</description><pubDate>Sun, 12 Jul 2026 00:00:00 GMT</pubDate><category>FreeDOS</category><category>games</category><category>timing</category><category>troubleshooting</category></item><item><title>Diagnosing FAT Corruption on FreeDOS Without Making Recovery Worse</title><link>https://danielcosenza.com/posts/dos-fix-fat-corruption/</link><guid isPermaLink="true">https://danielcosenza.com/posts/dos-fix-fat-corruption/</guid><description>How to image first, distinguish media failure from filesystem damage, and use CHKDSK-style repair only after preserving evidence.</description><pubDate>Sun, 12 Jul 2026 00:00:00 GMT</pubDate><category>FreeDOS</category><category>fat</category><category>corruption</category><category>recovery</category></item><item><title>Fixing HIMEM and EMM386 Conflicts in a FreeDOS Memory Configuration</title><link>https://danielcosenza.com/posts/dos-fix-himem-emm386-conflict/</link><guid isPermaLink="true">https://danielcosenza.com/posts/dos-fix-himem-emm386-conflict/</guid><description>Diagnose FreeDOS HIMEM and EMM386 conflicts with a controlled boot menu that isolates XMS, EMS, UMB, ROM exclusions, and driver order.</description><pubDate>Sun, 12 Jul 2026 00:00:00 GMT</pubDate><category>FreeDOS</category><category>himem</category><category>emm386</category><category>memory</category></item><item><title>Fixing FreeDOS Keyboard Layout and Codepage Mismatches</title><link>https://danielcosenza.com/posts/dos-fix-keyboard-codepage/</link><guid isPermaLink="true">https://danielcosenza.com/posts/dos-fix-keyboard-codepage/</guid><description>Fix FreeDOS keyboard and codepage mismatches by separating scan-code mapping from display glyphs and aligning COUNTRY, KEYB, MODE, and fonts.</description><pubDate>Sun, 12 Jul 2026 00:00:00 GMT</pubDate><category>FreeDOS</category><category>keyboard</category><category>codepage</category><category>localization</category></item><item><title>How to Archive FreeDOS Files Without Losing Names or Metadata</title><link>https://danielcosenza.com/posts/dos-howto-archive-files/</link><guid isPermaLink="true">https://danielcosenza.com/posts/dos-howto-archive-files/</guid><description>Choose ZIP or 7-Zip workflows deliberately, verify archives, and bridge 8.3 names, long filenames, codepages, and modern storage.</description><pubDate>Sun, 12 Jul 2026 00:00:00 GMT</pubDate><category>FreeDOS</category><category>archives</category><category>zip</category><category>backup</category></item><item><title>How to Use FreeCOM Batch Features Beyond a Linear Startup Script</title><link>https://danielcosenza.com/posts/dos-howto-freecom-advanced-batch/</link><guid isPermaLink="true">https://danielcosenza.com/posts/dos-howto-freecom-advanced-batch/</guid><description>Build reusable FreeCOM batch routines with arguments, labels, error handling, controlled environments, safe temporary files, and predictable quoting.</description><pubDate>Sun, 12 Jul 2026 00:00:00 GMT</pubDate><category>FreeDOS</category><category>freecom</category><category>batch</category><category>scripting</category></item><item><title>How to Bridge a FreeDOS Application to a Modern Print Service</title><link>https://danielcosenza.com/posts/dos-howto-legacy-print-server/</link><guid isPermaLink="true">https://danielcosenza.com/posts/dos-howto-legacy-print-server/</guid><description>Capture LPT output safely, preserve control codes, and choose raw or converted queues without pretending every DOS printer stream is plain text.</description><pubDate>Sun, 12 Jul 2026 00:00:00 GMT</pubDate><category>FreeDOS</category><category>printing</category><category>lpt</category><category>legacy</category></item><item><title>How to Build a Safe FreeDOS Multi-Configuration Boot Menu</title><link>https://danielcosenza.com/posts/dos-howto-multiboot-menu/</link><guid isPermaLink="true">https://danielcosenza.com/posts/dos-howto-multiboot-menu/</guid><description>Build a safe FreeDOS multiboot menu with FDCONFIG.SYS sections and matching FDAUTO.BAT branches for gaming, networking, diagnostics, and recovery.</description><pubDate>Sun, 12 Jul 2026 00:00:00 GMT</pubDate><category>FreeDOS</category><category>multiboot</category><category>config-sys</category><category>recovery</category></item><item><title>How to Build a Reliable FreeDOS Serial Link for Retro Hardware</title><link>https://danielcosenza.com/posts/dos-howto-serial-link/</link><guid isPermaLink="true">https://danielcosenza.com/posts/dos-howto-serial-link/</guid><description>Build a reliable FreeDOS serial link by validating UART settings, null-modem wiring, flow control, terminal configuration, and file checksums.</description><pubDate>Sun, 12 Jul 2026 00:00:00 GMT</pubDate><category>FreeDOS</category><category>serial</category><category>null-modem</category><category>transfer</category></item><item><title>How to Test a FreeDOS Monthly Test Release Without Risking Your Main Installation</title><link>https://danielcosenza.com/posts/dos-howto-test-monthly-release/</link><guid isPermaLink="true">https://danielcosenza.com/posts/dos-howto-test-monthly-release/</guid><description>Test a FreeDOS monthly release safely by verifying media, cloning the environment, comparing package changes, capturing regressions, and reporting evidence.</description><pubDate>Sun, 12 Jul 2026 00:00:00 GMT</pubDate><category>FreeDOS</category><category>testing</category><category>monthly-release</category><category>qa</category></item><item><title>FreeDOS 1.4 Publishes a Floppy-Only Edition for Original PC-Class Hardware</title><link>https://danielcosenza.com/posts/dos-news-floppy-edition-14/</link><guid isPermaLink="true">https://danielcosenza.com/posts/dos-news-floppy-edition-14/</guid><description>FreeDOS 1.4&apos;s separate floppy installer ships 720 KiB, 1.2 MiB and 1.44 MiB image sets for classic PCs, with a reduced package set and no bundled source.</description><pubDate>Sun, 12 Jul 2026 00:00:00 GMT</pubDate><category>FreeDOS</category><category>floppy</category><category>installer</category><category>retro-hardware</category></item><item><title>MicroWeb 2.1 Brings XMS and File Downloads to a Real-Mode DOS Browser</title><link>https://danielcosenza.com/posts/dos-news-microweb-21/</link><guid isPermaLink="true">https://danielcosenza.com/posts/dos-news-microweb-21/</guid><description>MicroWeb 2.1 shipped March 12, 2026 with XMS support, simple downloads and lower memory use while retaining its HTTP-only, no-CSS, no-JavaScript design.</description><pubDate>Sun, 12 Jul 2026 00:00:00 GMT</pubDate><category>FreeDOS</category><category>microweb</category><category>browser</category><category>xms</category></item><item><title>FreeDOS Adopts Monthly Test Releases to Replace Release-Candidate Bottlenecks</title><link>https://danielcosenza.com/posts/dos-news-monthly-test-releases/</link><guid isPermaLink="true">https://danielcosenza.com/posts/dos-news-monthly-test-releases/</guid><description>Since 2022, FreeDOS Tyymm test releases have assembled packages and installers monthly, enabling continuous integration testing before stable releases.</description><pubDate>Sun, 12 Jul 2026 00:00:00 GMT</pubDate><category>FreeDOS</category><category>release-engineering</category><category>testing</category><category>distribution</category></item><item><title>FreeDOS T2603 Starts Public Testing of the New Kernel and Windows 3.x Support</title><link>https://danielcosenza.com/posts/dos-news-t2603-new-kernel/</link><guid isPermaLink="true">https://danielcosenza.com/posts/dos-news-t2603-new-kernel/</guid><description>FreeDOS highlighted kernel 2044 and Windows 3.x testing in T2603 in March 2026, although the kernel first entered the monthly distribution in February&apos;s T2602.</description><pubDate>Sun, 12 Jul 2026 00:00:00 GMT</pubDate><category>FreeDOS</category><category>kernel</category><category>windows-3x</category><category>testing</category></item><item><title>Haiku app_server: The Desktop Rendering Service Behind Every Native Window</title><link>https://danielcosenza.com/posts/hk-app-server/</link><guid isPermaLink="true">https://danielcosenza.com/posts/hk-app-server/</guid><description>A source-grounded tour of Haiku&apos;s app_server, from window and view mirroring to clipping, buffered drawing, drivers, and diagnosis.</description><pubDate>Sun, 12 Jul 2026 00:00:00 GMT</pubDate><category>Haiku OS</category><category>app-server</category><category>graphics</category><category>interface-kit</category></item><item><title>Haiku on ARM: Porting Challenges Without Pretending It Is a Finished Product</title><link>https://danielcosenza.com/posts/hk-arm-port-status/</link><guid isPermaLink="true">https://danielcosenza.com/posts/hk-arm-port-status/</guid><description>An evidence-based guide to Haiku&apos;s separate ARM and ARM64 ports, their boot and driver work, build targets, and honest support claims.</description><pubDate>Sun, 12 Jul 2026 00:00:00 GMT</pubDate><category>Haiku OS</category><category>arm</category><category>porting</category><category>architecture</category></item><item><title>Fixing Haiku Applications That Stop Launching After a System Update</title><link>https://danielcosenza.com/posts/hk-fix-app-after-update/</link><guid isPermaLink="true">https://danielcosenza.com/posts/hk-fix-app-after-update/</guid><description>A safe workflow for post-update Haiku app failures using Terminal evidence, package ownership, prior states, settings isolation, and reports.</description><pubDate>Sun, 12 Jul 2026 00:00:00 GMT</pubDate><category>Haiku OS</category><category>updates</category><category>applications</category><category>debugging</category></item><item><title>Recovering Haiku Audio When media_server Stops Responding</title><link>https://danielcosenza.com/posts/hk-fix-media-server-hang/</link><guid isPermaLink="true">https://danielcosenza.com/posts/hk-fix-media-server-hang/</guid><description>Recover Haiku media services safely while separating one-client failures, mixer routing, add-ons, drivers, server state, and repeatable bugs.</description><pubDate>Sun, 12 Jul 2026 00:00:00 GMT</pubDate><category>Haiku OS</category><category>media-server</category><category>audio</category><category>troubleshooting</category></item><item><title>Fixing HaikuDepot and pkgman Repository Synchronization Failures</title><link>https://danielcosenza.com/posts/hk-fix-repository-sync/</link><guid isPermaLink="true">https://danielcosenza.com/posts/hk-fix-repository-sync/</guid><description>Diagnose Haiku repository sync through connectivity, clock and TLS, enabled URLs, architecture, refresh errors, and coherent full-sync.</description><pubDate>Sun, 12 Jul 2026 00:00:00 GMT</pubDate><category>Haiku OS</category><category>pkgman</category><category>haikudepot</category><category>repositories</category></item><item><title>Fixing Missing or Incorrect Screen Resolutions on Haiku</title><link>https://danielcosenza.com/posts/hk-fix-resolution-detection/</link><guid isPermaLink="true">https://danielcosenza.com/posts/hk-fix-resolution-detection/</guid><description>Diagnose missing Haiku display modes through native versus fail-safe output, adapter and EDID evidence, connectors, VM hardware, and settings.</description><pubDate>Sun, 12 Jul 2026 00:00:00 GMT</pubDate><category>Haiku OS</category><category>display</category><category>resolution</category><category>drivers</category></item><item><title>Fixing Slow Haiku Package Installs Without Interrupting the Transaction</title><link>https://danielcosenza.com/posts/hk-fix-slow-package-installs/</link><guid isPermaLink="true">https://danielcosenza.com/posts/hk-fix-slow-package-installs/</guid><description>Measure slow Haiku installs by repository refresh, download, solver, disk transaction, packagefs activation, and scripts before intervening.</description><pubDate>Sun, 12 Jul 2026 00:00:00 GMT</pubDate><category>Haiku OS</category><category>packages</category><category>performance</category><category>packagefs</category></item><item><title>How to Prepare and Submit a Haiku Patch That Maintainers Can Review</title><link>https://danielcosenza.com/posts/hk-howto-contribute-patch/</link><guid isPermaLink="true">https://danielcosenza.com/posts/hk-howto-contribute-patch/</guid><description>Take a Haiku fix from reproducible baseline through focused code, target and image tests, a clean Gerrit review, and iterative updates.</description><pubDate>Sun, 12 Jul 2026 00:00:00 GMT</pubDate><category>Haiku OS</category><category>contributing</category><category>git</category><category>code-review</category></item><item><title>How to Package Third-Party Software for HaikuPorts</title><link>https://danielcosenza.com/posts/hk-howto-create-hpkg/</link><guid isPermaLink="true">https://danielcosenza.com/posts/hk-howto-create-hpkg/</guid><description>Create a reviewable HaikuPorts recipe with verified sources, correct metadata and dependencies, clean HaikuPorter builds, and tested HPKGs.</description><pubDate>Sun, 12 Jul 2026 00:00:00 GMT</pubDate><category>Haiku OS</category><category>haikuports</category><category>hpkg</category><category>packaging</category></item><item><title>How to Cross-Compile Haiku from a Linux Host</title><link>https://danielcosenza.com/posts/hk-howto-cross-compile/</link><guid isPermaLink="true">https://danielcosenza.com/posts/hk-howto-cross-compile/</guid><description>Build Haiku x86_64 on Linux with official sources, Haiku Jam, out-of-tree cross-tools, xattr-aware storage, images, and VM checks.</description><pubDate>Sun, 12 Jul 2026 00:00:00 GMT</pubDate><category>Haiku OS</category><category>cross-compile</category><category>buildtools</category><category>jam</category></item><item><title>How to Configure and Test a Non-US Keymap on Haiku</title><link>https://danielcosenza.com/posts/hk-howto-keymap/</link><guid isPermaLink="true">https://danielcosenza.com/posts/hk-howto-keymap/</guid><description>Match Haiku to a physical keyboard, verify modifiers and dead keys, save a recoverable custom map, and isolate app-specific input faults.</description><pubDate>Sun, 12 Jul 2026 00:00:00 GMT</pubDate><category>Haiku OS</category><category>keymap</category><category>input</category><category>localization</category></item><item><title>How to Debug a Native Haiku Application with Debugger</title><link>https://danielcosenza.com/posts/hk-howto-native-debugger/</link><guid isPermaLink="true">https://danielcosenza.com/posts/hk-howto-native-debugger/</guid><description>Build useful symbols, capture a reproducible Haiku crash, inspect the right thread and stack, and submit evidence without leaking private data.</description><pubDate>Sun, 12 Jul 2026 00:00:00 GMT</pubDate><category>Haiku OS</category><category>debugger</category><category>crash</category><category>development</category></item><item><title>How Haiku&apos;s Interface Kit and app_server Render Native Windows</title><link>https://danielcosenza.com/posts/hk-interface-kit-rendering/</link><guid isPermaLink="true">https://danielcosenza.com/posts/hk-interface-kit-rendering/</guid><description>How Haiku moves native windows from BApplication messages through BWindow and BView hierarchies to clipped, server-rendered output.</description><pubDate>Sun, 12 Jul 2026 00:00:00 GMT</pubDate><category>Haiku OS</category><category>interface-kit</category><category>app-server</category><category>rendering</category></item><item><title>Haiku&apos;s Jam Build System: Cross-Tools, Hybrid ABIs, Packages, and Images</title><link>https://danielcosenza.com/posts/hk-jam-build-system/</link><guid isPermaLink="true">https://danielcosenza.com/posts/hk-jam-build-system/</guid><description>How Haiku&apos;s configure-and-Jam system coordinates host tools, target compilers, resources, packages, bootloaders, and complete images.</description><pubDate>Sun, 12 Jul 2026 00:00:00 GMT</pubDate><category>Haiku OS</category><category>jam</category><category>build-system</category><category>cross-compilation</category></item><item><title>Haiku&apos;s Locale Kit: Catalogs, Formatting, and Runtime Language Selection</title><link>https://danielcosenza.com/posts/hk-locale-kit/</link><guid isPermaLink="true">https://danielcosenza.com/posts/hk-locale-kit/</guid><description>A practical guide to Haiku&apos;s translation catalogs, fallback rules, locale-aware number and date formatting, collation, and UI testing.</description><pubDate>Sun, 12 Jul 2026 00:00:00 GMT</pubDate><category>Haiku OS</category><category>locale-kit</category><category>i18n</category><category>api</category></item><item><title>Inside Haiku&apos;s Network Stack: Interfaces, Protocol Modules, and Userland Services</title><link>https://danielcosenza.com/posts/hk-network-stack/</link><guid isPermaLink="true">https://danielcosenza.com/posts/hk-network-stack/</guid><description>A layered account of Haiku networking, from device drivers and kernel protocols through routes, DNS, services, and application APIs.</description><pubDate>Sun, 12 Jul 2026 00:00:00 GMT</pubDate><category>Haiku OS</category><category>networking</category><category>kernel</category><category>protocols</category></item><item><title>Haiku&apos;s Scheduler: Priorities, Real-Time Work, and Responsive Multimedia</title><link>https://danielcosenza.com/posts/hk-scheduler/</link><guid isPermaLink="true">https://danielcosenza.com/posts/hk-scheduler/</guid><description>How Haiku schedules runnable threads, interprets priority classes, balances latency and CPUs, and exposes the evidence behind a stall.</description><pubDate>Sun, 12 Jul 2026 00:00:00 GMT</pubDate><category>Haiku OS</category><category>scheduler</category><category>threads</category><category>real-time</category></item><item><title>Haiku Application Scripting: BMessage Suites and Discoverable Automation</title><link>https://danielcosenza.com/posts/hk-scripting-kit/</link><guid isPermaLink="true">https://danielcosenza.com/posts/hk-scripting-kit/</guid><description>How Haiku applications publish discoverable scripting suites, resolve property specifiers, validate BMessages, and return stable replies.</description><pubDate>Sun, 12 Jul 2026 00:00:00 GMT</pubDate><category>Haiku OS</category><category>scripting</category><category>bmessage</category><category>automation</category></item><item><title>Haiku Teams, Threads, Ports, and the Kernel Object Model</title><link>https://danielcosenza.com/posts/hk-team-thread-model/</link><guid isPermaLink="true">https://danielcosenza.com/posts/hk-team-thread-model/</guid><description>A precise guide to Haiku teams, schedulable threads, bounded message ports, semaphores, shared areas, ownership, and hang diagnosis.</description><pubDate>Sun, 12 Jul 2026 00:00:00 GMT</pubDate><category>Haiku OS</category><category>teams</category><category>threads</category><category>ports</category></item><item><title>Haiku&apos;s Translation Kit: Roster-Based Media Conversion Between Applications</title><link>https://danielcosenza.com/posts/hk-translation-kit/</link><guid isPermaLink="true">https://danielcosenza.com/posts/hk-translation-kit/</guid><description>How Haiku discovers translator add-ons, identifies stream formats, selects conversions, handles settings, and validates untrusted media.</description><pubDate>Sun, 12 Jul 2026 00:00:00 GMT</pubDate><category>Haiku OS</category><category>translation-kit</category><category>codecs</category><category>api</category></item><item><title>How CRT Light Guns Located the Screen—and Why They Fail on Flat Panels</title><link>https://danielcosenza.com/posts/rg-crt-light-guns/</link><guid isPermaLink="true">https://danielcosenza.com/posts/rg-crt-light-guns/</guid><description>How brightness-sensing and beam-timed light guns worked with CRT raster scanning, why flat panels break them, and how emulators map modern replacements.</description><pubDate>Sun, 12 Jul 2026 00:00:00 GMT</pubDate><category>Retrogaming</category><category>light-gun</category><category>crt</category><category>input</category></item><item><title>Recovering Emulator Save Data After an Interrupted or Incompatible Write</title><link>https://danielcosenza.com/posts/rg-fix-corrupted-saves/</link><guid isPermaLink="true">https://danielcosenza.com/posts/rg-fix-corrupted-saves/</guid><description>Recover emulator saves by preserving originals, identifying the storage format, validating copies, and testing restoration in an isolated profile.</description><pubDate>Sun, 12 Jul 2026 00:00:00 GMT</pubDate><category>Retrogaming</category><category>save-data</category><category>recovery</category><category>backup</category></item><item><title>Fixing Emulator Netplay Desyncs Without Guessing</title><link>https://danielcosenza.com/posts/rg-fix-netplay-desync/</link><guid isPermaLink="true">https://danielcosenza.com/posts/rg-fix-netplay-desync/</guid><description>Eliminate emulator netplay desyncs by matching builds, content, firmware, saves, controller types, and deterministic settings before tuning latency.</description><pubDate>Sun, 12 Jul 2026 00:00:00 GMT</pubDate><category>Retrogaming</category><category>netplay</category><category>desync</category><category>rollback</category></item><item><title>Fixing Overscan and Cropped Edges Without Distorting the Original Image</title><link>https://danielcosenza.com/posts/rg-fix-overscan-cropping/</link><guid isPermaLink="true">https://danielcosenza.com/posts/rg-fix-overscan-cropping/</guid><description>Separate television zoom, frontend viewport, shader masks, core overscan, and intentional border pixels before changing retro-game geometry.</description><pubDate>Sun, 12 Jul 2026 00:00:00 GMT</pubDate><category>Retrogaming</category><category>overscan</category><category>cropping</category><category>display</category></item><item><title>Fixing Periodic Emulator Stutter Caused by Refresh-Rate Mismatch</title><link>https://danielcosenza.com/posts/rg-fix-refresh-rate-stutter/</link><guid isPermaLink="true">https://danielcosenza.com/posts/rg-fix-refresh-rate-stutter/</guid><description>Diagnose regular emulator judder by measuring content and display rates, separating workload spikes, and configuring VSync or VRR without speed drift.</description><pubDate>Sun, 12 Jul 2026 00:00:00 GMT</pubDate><category>Retrogaming</category><category>stutter</category><category>refresh-rate</category><category>frame-pacing</category></item><item><title>Fixing RetroAchievements That Do Not Unlock or Synchronize</title><link>https://danielcosenza.com/posts/rg-fix-retroachievements-sync/</link><guid isPermaLink="true">https://danielcosenza.com/posts/rg-fix-retroachievements-sync/</guid><description>Diagnose missing RetroAchievements through account tokens, recognized game hashes, supported cores, Hardcore rules, connectivity, and session logs.</description><pubDate>Sun, 12 Jul 2026 00:00:00 GMT</pubDate><category>Retrogaming</category><category>retroachievements</category><category>troubleshooting</category><category>hashes</category></item><item><title>Frame Pacing and V-Sync: Why Correct Emulator Timing Is More Than Average FPS</title><link>https://danielcosenza.com/posts/rg-frame-pacing-vsync/</link><guid isPermaLink="true">https://danielcosenza.com/posts/rg-frame-pacing-vsync/</guid><description>How source refresh rates, audio clocks, host displays, queues, and synchronization strategies create smooth motion—or periodic stutter and latency.</description><pubDate>Sun, 12 Jul 2026 00:00:00 GMT</pubDate><category>Retrogaming</category><category>frame-pacing</category><category>vsync</category><category>timing</category></item><item><title>How to Catalog a Physical Game Collection for Preservation and Insurance</title><link>https://danielcosenza.com/posts/rg-howto-document-physical-collection/</link><guid isPermaLink="true">https://danielcosenza.com/posts/rg-howto-document-physical-collection/</guid><description>Create a privacy-aware game inventory with stable IDs, condition records, calibrated photographs, archival masters, provenance, backups, and valuations.</description><pubDate>Sun, 12 Jul 2026 00:00:00 GMT</pubDate><category>Retrogaming</category><category>collection</category><category>metadata</category><category>documentation</category></item><item><title>How to Build a Reproducible FPGA Retro-Gaming Setup</title><link>https://danielcosenza.com/posts/rg-howto-fpga-retro-system/</link><guid isPermaLink="true">https://danielcosenza.com/posts/rg-howto-fpga-retro-system/</guid><description>Build an FPGA retro system with documented hardware, trusted firmware and cores, lawful content, safe power/video, tested saves, and reversible updates.</description><pubDate>Sun, 12 Jul 2026 00:00:00 GMT</pubDate><category>Retrogaming</category><category>fpga</category><category>hardware</category><category>preservation</category></item><item><title>How to Use RetroAchievements Hardcore Mode Without Invalid Sessions</title><link>https://danielcosenza.com/posts/rg-howto-hardcore-achievements/</link><guid isPermaLink="true">https://danielcosenza.com/posts/rg-howto-hardcore-achievements/</guid><description>Run an already-configured RetroAchievements Hardcore session with a clean reset boundary, native-save discipline, legal hotkeys, and auditable evidence.</description><pubDate>Sun, 12 Jul 2026 00:00:00 GMT</pubDate><category>Retrogaming</category><category>retroachievements</category><category>hardcore</category><category>retroarch</category></item><item><title>How to Configure a Low-Latency Display Path for Retro Games</title><link>https://danielcosenza.com/posts/rg-howto-low-latency-display/</link><guid isPermaLink="true">https://danielcosenza.com/posts/rg-howto-low-latency-display/</guid><description>Measure and reduce retro-gaming latency across controller, emulator, renderer, operating system, cable, display mode, scaling, and synchronization.</description><pubDate>Sun, 12 Jul 2026 00:00:00 GMT</pubDate><category>Retrogaming</category><category>latency</category><category>display</category><category>calibration</category></item><item><title>How to Configure a Multi-System Arcade Cabinet Without One Giant Global Profile</title><link>https://danielcosenza.com/posts/rg-howto-multisystem-arcade-cabinet/</link><guid isPermaLink="true">https://danielcosenza.com/posts/rg-howto-multisystem-arcade-cabinet/</guid><description>Build a maintainable arcade cabinet with safe power, documented controls, stable device IDs, layered per-system profiles, restricted service access, and backups.</description><pubDate>Sun, 12 Jul 2026 00:00:00 GMT</pubDate><category>Retrogaming</category><category>arcade</category><category>controls</category><category>retroarch</category></item><item><title>How to Build Auditable RetroArch Playlists and Thumbnail Sets</title><link>https://danielcosenza.com/posts/rg-howto-retroarch-playlists-thumbnails/</link><guid isPermaLink="true">https://danielcosenza.com/posts/rg-howto-retroarch-playlists-thumbnails/</guid><description>Build RetroArch playlists from verified content, audit every database match and core assignment, and preserve custom thumbnails across updates.</description><pubDate>Sun, 12 Jul 2026 00:00:00 GMT</pubDate><category>Retrogaming</category><category>retroarch</category><category>playlists</category><category>metadata</category></item><item><title>Nintendo Ends New Purchases on the Wii U and Nintendo 3DS eShops</title><link>https://danielcosenza.com/posts/rg-news-3ds-wiiu-eshop-closure/</link><guid isPermaLink="true">https://danielcosenza.com/posts/rg-news-3ds-wiiu-eshop-closure/</guid><description>The staged shutdown that culminated on March 27, 2023—and why continued redownload access is not equivalent to permanent preservation.</description><pubDate>Sun, 12 Jul 2026 00:00:00 GMT</pubDate><category>Retrogaming</category><category>nintendo</category><category>eshop</category><category>digital-preservation</category></item><item><title>Dolphin Introduces RVZ as a Lossless, Emulation-Ready Disc Format</title><link>https://danielcosenza.com/posts/rg-news-dolphin-rvz/</link><guid isPermaLink="true">https://danielcosenza.com/posts/rg-news-dolphin-rvz/</guid><description>How Dolphin 5.0-12188 added RVZ in July 2020 to preserve complete GameCube and Wii disc data while achieving practical compression.</description><pubDate>Sun, 12 Jul 2026 00:00:00 GMT</pubDate><category>Retrogaming</category><category>dolphin</category><category>rvz</category><category>preservation</category></item><item><title>MAME Completes Its Move to GPL-Compatible Open-Source Licensing</title><link>https://danielcosenza.com/posts/rg-news-mame-open-source-license/</link><guid isPermaLink="true">https://danielcosenza.com/posts/rg-news-mame-open-source-license/</guid><description>Why MAME&apos;s 2016 relicensing mattered for reuse, preservation tooling, and the distinction between emulator source and copyrighted game data.</description><pubDate>Sun, 12 Jul 2026 00:00:00 GMT</pubDate><category>Retrogaming</category><category>mame</category><category>open-source</category><category>licensing</category></item><item><title>Sony Announces the Final PS3 and PS Vita Store Closure Schedule</title><link>https://danielcosenza.com/posts/rg-news-playstation-store-closure-2026/</link><guid isPermaLink="true">https://danielcosenza.com/posts/rg-news-playstation-store-closure-2026/</guid><description>After reversing an earlier shutdown in 2021, Sony set staged PS3 closures beginning in 2026 and broader PS3/Vita closure for July 2027.</description><pubDate>Sun, 12 Jul 2026 00:00:00 GMT</pubDate><category>Retrogaming</category><category>playstation</category><category>digital-preservation</category><category>storefronts</category></item><item><title>Preservation-Grade Game Images: Dumps, Hashes, DATs, and Disc Formats Explained</title><link>https://danielcosenza.com/posts/rg-preservation-dumps-hashes-formats/</link><guid isPermaLink="true">https://danielcosenza.com/posts/rg-preservation-dumps-hashes-formats/</guid><description>How to verify cartridge and disc dumps with hashes, DATs, repeatable acquisition, provenance, lossless masters, documented derivatives, and fixity audits.</description><pubDate>Sun, 12 Jul 2026 00:00:00 GMT</pubDate><category>Retrogaming</category><category>preservation</category><category>no-intro</category><category>redump</category></item><item><title>Retro Sound Chips: PSG, FM, Wavetable, and Sample Playback Architectures</title><link>https://danielcosenza.com/posts/rg-retro-sound-chips/</link><guid isPermaLink="true">https://danielcosenza.com/posts/rg-retro-sound-chips/</guid><description>Why classic systems sound different: channels, oscillators, envelopes, filters, sample memory, bus timing, and the limits composers turned into instruments.</description><pubDate>Sun, 12 Jul 2026 00:00:00 GMT</pubDate><category>Retrogaming</category><category>audio</category><category>synthesis</category><category>sound-chips</category></item><item><title>Tile-Based Rendering: How 2D Consoles Built Scenes Without a Modern Framebuffer</title><link>https://danielcosenza.com/posts/rg-tile-based-rendering/</link><guid isPermaLink="true">https://danielcosenza.com/posts/rg-tile-based-rendering/</guid><description>How tile maps, pattern tables, palettes, sprites, scanlines, and hardware limits produced classic 2D graphics—and what an emulator must reproduce.</description><pubDate>Sun, 12 Jul 2026 00:00:00 GMT</pubDate><category>Retrogaming</category><category>graphics</category><category>tiles</category><category>ppu</category></item><item><title>Command Substitution vs Process Substitution</title><link>https://danielcosenza.com/posts/sh-command-vs-process-substitution/</link><guid isPermaLink="true">https://danielcosenza.com/posts/sh-command-vs-process-substitution/</guid><description>$(command) captures text; &lt;(command) exposes a live stream as a path-like argument. Buffering, exit-status visibility, and portability differ sharply.</description><pubDate>Sun, 12 Jul 2026 00:00:00 GMT</pubDate><category>Shell &amp; Terminal</category><category>deep-dive</category><category>bash</category><category>substitution</category><category>pipes</category></item><item><title>Environment Variables, Exports, and Subshell Boundaries</title><link>https://danielcosenza.com/posts/sh-environment-subshells/</link><guid isPermaLink="true">https://danielcosenza.com/posts/sh-environment-subshells/</guid><description>Shell variables and the process environment overlap but differ. Export, fork/exec, subshells, pipelines, sourcing, and Shellshock define where changes survive.</description><pubDate>Sun, 12 Jul 2026 00:00:00 GMT</pubDate><category>Shell &amp; Terminal</category><category>deep-dive</category><category>environment</category><category>subshell</category><category>posix</category></item><item><title>Fixing CRLF Line Endings in Shell Scripts</title><link>https://danielcosenza.com/posts/sh-fix-crlf-scripts/</link><guid isPermaLink="true">https://danielcosenza.com/posts/sh-fix-crlf-scripts/</guid><description>Errors like bad interpreter and $&apos;&apos;: command not found mean carriage returns reached a Unix shell script — confirm bytes, convert, enforce Git policy.</description><pubDate>Sun, 12 Jul 2026 00:00:00 GMT</pubDate><category>Shell &amp; Terminal</category><category>fix</category><category>crlf</category><category>git</category><category>scripting</category></item><item><title>Fixing Scripts That Work Interactively but Fail Under cron</title><link>https://danielcosenza.com/posts/sh-fix-cron-environment/</link><guid isPermaLink="true">https://danielcosenza.com/posts/sh-fix-cron-environment/</guid><description>cron starts jobs with a small, non-interactive environment — make paths, interpreters, working directories, and logging explicit rather than sourcing a login shell.</description><pubDate>Sun, 12 Jul 2026 00:00:00 GMT</pubDate><category>Shell &amp; Terminal</category><category>fix</category><category>cron</category><category>environment</category><category>automation</category></item><item><title>Fixing Locale and Encoding Failures in Shell Tools</title><link>https://danielcosenza.com/posts/sh-fix-locale-encoding/</link><guid isPermaLink="true">https://danielcosenza.com/posts/sh-fix-locale-encoding/</guid><description>Mojibake, invalid byte errors, and inconsistent sorting usually come from a locale mismatch — diagnose bytes and locale variables before converting anything.</description><pubDate>Sun, 12 Jul 2026 00:00:00 GMT</pubDate><category>Shell &amp; Terminal</category><category>fix</category><category>locale</category><category>encoding</category><category>unicode</category></item><item><title>Fixing a Shell Prompt That Hangs Inside Git Repositories</title><link>https://danielcosenza.com/posts/sh-fix-prompt-git-hang/</link><guid isPermaLink="true">https://danielcosenza.com/posts/sh-fix-prompt-git-hang/</guid><description>A prompt that&apos;s slow only inside repositories is usually running expensive Git status work on every redraw — profile it, isolate repository scale, cache safely.</description><pubDate>Sun, 12 Jul 2026 00:00:00 GMT</pubDate><category>Shell &amp; Terminal</category><category>fix</category><category>prompt</category><category>git</category><category>performance</category></item><item><title>Fixing SSH Agent Forwarding Without Exposing More Than Necessary</title><link>https://danielcosenza.com/posts/sh-fix-ssh-agent-forwarding/</link><guid isPermaLink="true">https://danielcosenza.com/posts/sh-fix-ssh-agent-forwarding/</guid><description>When forwarded SSH authentication fails, trace the socket, agent keys, server policy, and hop-by-hop configuration, then decide if forwarding is justified.</description><pubDate>Sun, 12 Jul 2026 00:00:00 GMT</pubDate><category>Shell &amp; Terminal</category><category>fix</category><category>ssh</category><category>agent-forwarding</category><category>security</category></item><item><title>How to Build a Cross-Shell Dotfiles Repository</title><link>https://danielcosenza.com/posts/sh-howto-cross-shell-dotfiles/</link><guid isPermaLink="true">https://danielcosenza.com/posts/sh-howto-cross-shell-dotfiles/</guid><description>Separate shared environment, shell-specific syntax, secrets, and machine-local state, then deploy links idempotently and make rollback intentional.</description><pubDate>Sun, 12 Jul 2026 00:00:00 GMT</pubDate><category>Shell &amp; Terminal</category><category>howto</category><category>dotfiles</category><category>bash</category><category>zsh</category></item><item><title>How to Evaluate a Modern Shell Without Breaking Your Workflow</title><link>https://danielcosenza.com/posts/sh-howto-evaluate-modern-shell/</link><guid isPermaLink="true">https://danielcosenza.com/posts/sh-howto-evaluate-modern-shell/</guid><description>Test Fish, Nushell, or another shell as an interactive tool first: inventory compatibility, isolate configuration, benchmark real tasks, keep a recovery shell.</description><pubDate>Sun, 12 Jul 2026 00:00:00 GMT</pubDate><category>Shell &amp; Terminal</category><category>howto</category><category>nushell</category><category>fish</category><category>migration</category></item><item><title>How to Build a Reusable Shell Function Library</title><link>https://danielcosenza.com/posts/sh-howto-function-library/</link><guid isPermaLink="true">https://danielcosenza.com/posts/sh-howto-function-library/</guid><description>A maintainable shell library needs a documented target shell, namespaced functions, no import-time surprises, and tests run in fresh processes.</description><pubDate>Sun, 12 Jul 2026 00:00:00 GMT</pubDate><category>Shell &amp; Terminal</category><category>howto</category><category>functions</category><category>library</category><category>scripting</category></item><item><title>How to Use Named Pipes and Process Substitution Safely</title><link>https://danielcosenza.com/posts/sh-howto-named-pipes/</link><guid isPermaLink="true">https://danielcosenza.com/posts/sh-howto-named-pipes/</guid><description>FIFOs connect unrelated processes through a filesystem name; process substitution makes similar streams temporary, and both need careful failure handling.</description><pubDate>Sun, 12 Jul 2026 00:00:00 GMT</pubDate><category>Shell &amp; Terminal</category><category>howto</category><category>fifo</category><category>pipes</category><category>process-substitution</category></item><item><title>How to Keep a Shell Script ShellCheck-Clean from the Start</title><link>https://danielcosenza.com/posts/sh-howto-shellcheck-clean/</link><guid isPermaLink="true">https://danielcosenza.com/posts/sh-howto-shellcheck-clean/</guid><description>Choose the target shell, quote data, model arrays and pipelines correctly, and use focused ShellCheck directives only when genuinely needed.</description><pubDate>Sun, 12 Jul 2026 00:00:00 GMT</pubDate><category>Shell &amp; Terminal</category><category>howto</category><category>shellcheck</category><category>scripting</category><category>quality</category></item><item><title>How to Configure SSH Connection Multiplexing</title><link>https://danielcosenza.com/posts/sh-howto-ssh-multiplexing/</link><guid isPermaLink="true">https://danielcosenza.com/posts/sh-howto-ssh-multiplexing/</guid><description>OpenSSH can reuse one authenticated transport for later sessions — configure a private control socket, bounded persistence, and explicit cleanup.</description><pubDate>Sun, 12 Jul 2026 00:00:00 GMT</pubDate><category>Shell &amp; Terminal</category><category>howto</category><category>ssh</category><category>multiplexing</category><category>performance</category></item><item><title>eza Continued exa&apos;s Modern ls Experiment</title><link>https://danielcosenza.com/posts/sh-news-eza-fork/</link><guid isPermaLink="true">https://danielcosenza.com/posts/sh-news-eza-fork/</guid><description>After exa became unmaintained, the community fork eza carried its Rust-based, Git-aware directory listing interface forward under active, ongoing stewardship.</description><pubDate>Sun, 12 Jul 2026 00:00:00 GMT</pubDate><category>Shell &amp; Terminal</category><category>news</category><category>eza</category><category>exa</category><category>rust</category></item><item><title>Nushell 0.114 Keeps Structured Shell Pipelines Moving Toward 1.0</title><link>https://danielcosenza.com/posts/sh-news-nushell-0114/</link><guid isPermaLink="true">https://danielcosenza.com/posts/sh-news-nushell-0114/</guid><description>Nushell released version 0.114 in July 2026, remaining deliberately pre-1.0 while its table-oriented, structured-data pipeline model continues to evolve.</description><pubDate>Sun, 12 Jul 2026 00:00:00 GMT</pubDate><category>Shell &amp; Terminal</category><category>news</category><category>nushell</category><category>structured-data</category><category>release</category></item><item><title>PowerShell Became Open Source and Cross-Platform in 2016</title><link>https://danielcosenza.com/posts/sh-news-powershell-open-source/</link><guid isPermaLink="true">https://danielcosenza.com/posts/sh-news-powershell-open-source/</guid><description>Microsoft&apos;s August 2016 announcement put PowerShell on GitHub and introduced it on Linux and macOS, changing its scope well beyond Windows administration.</description><pubDate>Sun, 12 Jul 2026 00:00:00 GMT</pubDate><category>Shell &amp; Terminal</category><category>news</category><category>powershell</category><category>open-source</category><category>history</category></item><item><title>tmux 3.0 Arrived in 2019</title><link>https://danielcosenza.com/posts/sh-news-tmux-30/</link><guid isPermaLink="true">https://danielcosenza.com/posts/sh-news-tmux-30/</guid><description>tmux 3.0 shipped in late 2019 with changes from its normal development process — the major version bump was not a promise of semantic-versioning upheaval.</description><pubDate>Sun, 12 Jul 2026 00:00:00 GMT</pubDate><category>Shell &amp; Terminal</category><category>news</category><category>tmux</category><category>terminal</category><category>release</category></item><item><title>How GNU Readline Turns Keystrokes into Shell Commands</title><link>https://danielcosenza.com/posts/sh-readline-line-editing/</link><guid isPermaLink="true">https://danielcosenza.com/posts/sh-readline-line-editing/</guid><description>Interactive Bash editing is a library-driven state machine: keymaps, completion hooks, history, and terminal escapes all meet inside GNU Readline.</description><pubDate>Sun, 12 Jul 2026 00:00:00 GMT</pubDate><category>Shell &amp; Terminal</category><category>deep-dive</category><category>readline</category><category>bash</category><category>terminal</category></item><item><title>Shell Signal Handling: trap, Cleanup, and Process Groups</title><link>https://danielcosenza.com/posts/sh-signal-handling-trap/</link><guid isPermaLink="true">https://danielcosenza.com/posts/sh-signal-handling-trap/</guid><description>Reliable shell cleanup requires understanding signals, traps, process groups, and the important difference between a normal exit and an uncatchable termination.</description><pubDate>Sun, 12 Jul 2026 00:00:00 GMT</pubDate><category>Shell &amp; Terminal</category><category>deep-dive</category><category>signals</category><category>trap</category><category>scripting</category></item><item><title>How Terminal Multiplexers Keep Sessions Alive</title><link>https://danielcosenza.com/posts/sh-terminal-multiplexer-internals/</link><guid isPermaLink="true">https://danielcosenza.com/posts/sh-terminal-multiplexer-internals/</guid><description>PTYs and a persistent server process explain how tmux and screen survive a dropped SSH connection, not just several shells in one window.</description><pubDate>Sun, 12 Jul 2026 00:00:00 GMT</pubDate><category>Shell &amp; Terminal</category><category>deep-dive</category><category>tmux</category><category>pty</category><category>terminal</category></item><item><title>ARPANET&apos;s First Message: Why &apos;LO&apos; Reached SRI Before the System Crashed</title><link>https://danielcosenza.com/posts/th-arpanet-first-message/</link><guid isPermaLink="true">https://danielcosenza.com/posts/th-arpanet-first-message/</guid><description>Reconstruct the October 29, 1969 UCLA-to-SRI login from the IMP log, and separate ARPANET&apos;s first host message from later Internet myths.</description><pubDate>Sun, 12 Jul 2026 00:00:00 GMT</pubDate><category>Tech History</category><category>arpanet</category><category>networking</category><category>internet-history</category></item><item><title>How C Became a Standard Language Instead of One Compiler&apos;s Dialect</title><link>https://danielcosenza.com/posts/th-c-standardization/</link><guid isPermaLink="true">https://danielcosenza.com/posts/th-c-standardization/</guid><description>Follow C from Bell Labs and K&amp;R practice through ANSI X3J11, ISO C and C23, including what portability guarantees—and deliberately leaves open.</description><pubDate>Sun, 12 Jul 2026 00:00:00 GMT</pubDate><category>Tech History</category><category>c</category><category>ansi</category><category>standards</category></item><item><title>Why DNS Replaced a Centrally Distributed HOSTS.TXT File</title><link>https://danielcosenza.com/posts/th-dns-hosts-txt/</link><guid isPermaLink="true">https://danielcosenza.com/posts/th-dns-hosts-txt/</guid><description>Trace the NIC host table&apos;s scaling failure, Mockapetris&apos;s delegated DNS design, the staged 1983–85 migration, caching tradeoffs and later DNSSEC.</description><pubDate>Sun, 12 Jul 2026 00:00:00 GMT</pubDate><category>Tech History</category><category>dns</category><category>hosts</category><category>internet</category></item><item><title>Ethernet: From Xerox PARC&apos;s Experimental Network to IEEE 802.3</title><link>https://danielcosenza.com/posts/th-ethernet-history/</link><guid isPermaLink="true">https://danielcosenza.com/posts/th-ethernet-history/</guid><description>How Ethernet moved from a 2.94-megabit coax experiment to switched full-duplex links without depending on collisions forever.</description><pubDate>Sun, 12 Jul 2026 00:00:00 GMT</pubDate><category>Tech History</category><category>ethernet</category><category>networking</category><category>ieee</category></item><item><title>Free Software and Open Source: Shared Code, Different Historical Arguments</title><link>https://danielcosenza.com/posts/th-free-software-open-source/</link><guid isPermaLink="true">https://danielcosenza.com/posts/th-free-software-open-source/</guid><description>How GNU&apos;s freedom-centered movement and the 1998 open-source campaign came to share much software while making different arguments.</description><pubDate>Sun, 12 Jul 2026 00:00:00 GMT</pubDate><category>Tech History</category><category>free-software</category><category>open-source</category><category>licensing</category></item></channel></rss>