Adding a Copy Code Button to My Astro Blog
February 23, 2026A step-by-step walkthrough of how I added a copy-to-clipboard button with a language label to every code block on my Astro blog using a single component and no external libraries.
Writing on Rust, Go, Python, and JavaScript, plus the occasional detour. Browse by tag or series.
A step-by-step walkthrough of how I added a copy-to-clipboard button with a language label to every code block on my Astro blog using a single component and no external libraries.
Part 1 of building a full-stack URL shortener in Rust. We set up an Axum backend with in-memory storage, CRUD routes, and a nanoid-based slug generator.
This beginner-friendly guide covers the basics of Python, setting up virtual environments, installing pip, and why Django is the best choice for building powerful web applications.
A look back at the albums that defined my year, from experimental hip-hop to art rock to electronic pop.
Examining the MIT Iceberg Index's claim that AI could replace 11.7% of U.S. wages, and why the real-world execution of mass replacement is unlikely to succeed.
Slash your LaTeX Docker build times by 85% and reduce image sizes by 95%! Learn how switching from TeX Live to Tectonic transformed my containerized LaTeX workflow with faster builds and leaner images.
Tech giants are investing $400 billion in AI infrastructure while cutting thousands of jobs. This analysis explores the economic contradiction at the heart of automation: why replacing workers with machines may undermine the very source of profit, threatening both value creation and consumer demand in capitalism's latest transformation.
Amazon blamed AI for cutting 30,000 jobs while posting record profits and raising CEO pay 37%. We break down the Marxist economics behind tech layoffs: how automation intensifies worker exploitation, why the "AI made us do it" narrative hides class warfare, and what the Luddites can teach us about who really benefits from technology. This is surplus value extraction with algorithmic cover.
Discover how rubber duck debugging can transform your coding experience. Learn why explaining your code to a simple rubber duck is one of the most effective troubleshooting techniques that experienced developers swear by. This practical guide shows how verbalizing your code helps identify bugs faster than traditional debugging methods.