The Sheep and the System
A short history of who benefits when machines do the work, from the Enclosure Acts to the age of AI.
Published on: 2/26/2026
Read more →A collection of my thoughts and experiences in software development.
A short history of who benefits when machines do the work, from the Enclosure Acts to the age of AI.
Published on: 2/26/2026
Read more →Concluding the JavaScript toolchain evolution series by examining why the chaos was worth it and speculating about the next revolution in business capability packages.
Published on: 11/5/2025
Read more →Exploring how ES6 and TypeScript made JavaScript a compiled language.
Published on: 11/4/2025
Read more →Exploring how JavaScript frameworks evolved from Backbone to React and Vue, and how testing tools like Jest transformed developer workflows
Published on: 11/4/2025
Read more →Exploring how the JavaScript ecosystem finally stabilized around multiple competing unified toolchains, and how AI assistance transformed developer experience.
Published on: 11/4/2025
Read more →How JavaScript bundlers evolved from manual concatenation to invisible, zero-config tools that vanished into frameworks.
Published on: 10/31/2025
Read more →From the promise of Node.js and npm to solving incompatible module systems. This is the story of how the JavaScript community fragmented into competing camps and what it took to reunify.
Published on: 10/29/2025
Read more →Exploring how JavaScript tooling evolved from overwhelming complexity to elegant simplicity, and what this journey teaches us about software ecosystem development.
Published on: 10/26/2025
Read more →Exploring the evolution of JavaScript module systems from chaotic beginnings to ES6 standardization, and how this battle shaped modern web development.
Published on: 10/26/2025
Read more →Discover how prompt length affects LLM output consistency through GPU batching mechanisms, and how adding meaningless text can actually improve AI reliability.
Published on: 10/9/2025
Read more →Exploring the new security landscape of AI agents that can read files, execute commands, and interact with APIs – and how semantic prompt injection exploits their natural language understanding capabilities.
Published on: 7/15/2025
Read more →This is my first blog post on this iteration of blogging
Published on: 1/28/2024
Read more →Automatically generated description.
Published on: 7/1/2014
Read more →Automatically generated description.
Published on: 9/10/2013
Read more →Automatically generated description.
Published on: 7/24/2013
Read more →Automatically generated description.
Published on: 6/10/2013
Read more →Automatically generated description.
Published on: 6/8/2013
Read more →Automatically generated description.
Published on: 10/22/2012
Read more →Automatically generated description.
Published on: 8/18/2012
Read more →Automatically generated description.
Published on: 8/18/2012
Read more →Automatically generated description.
Published on: 7/19/2012
Read more →Automatically generated description.
Published on: 2/21/2012
Read more →Automatically generated description.
Published on: 2/16/2012
Read more →Automatically generated description.
Published on: 3/26/2011
Read more →Automatically generated description.
Published on: 1/5/2011
Read more →Automatically generated description.
Published on: 12/28/2010
Read more →Automatically generated description.
Published on: 12/15/2010
Read more →Automatically generated description.
Published on: 12/10/2010
Read more →Automatically generated description.
Published on: 12/3/2010
Read more →A journey building a blog with Ruby on Rails, from initial setup to adding features like comments, tagging, and authorization.
Published on: 11/27/2010
Read more →Automatically generated description.
Published on: 11/25/2010
Read more →Automatically generated description.
Published on: 11/14/2010
Read more →Automatically generated description.
Published on: 11/5/2010
Read more →Automatically generated description.
Published on: 10/25/2010
Read more →Automatically generated description.
Published on: 10/22/2010
Read more →Automatically generated description.
Published on: 10/6/2010
Read more →Automatically generated description.
Published on: 10/4/2010
Read more →Automatically generated description.
Published on: 10/4/2010
Read more →Automatically generated description.
Published on: 10/1/2010
Read more →Automatically generated description.
Published on: 10/1/2010
Read more →Automatically generated description.
Published on: 9/30/2010
Read more →Automatically generated description.
Published on: 9/23/2010
Read more →Automatically generated description.
Published on: 9/23/2010
Read more →Automatically generated description.
Published on: 9/23/2010
Read more →Automatically generated description.
Published on: 9/20/2010
Read more →Automatically generated description.
Published on: 9/20/2010
Read more →Automatically generated description.
Published on: 9/18/2010
Read more →Automatically generated description.
Published on: 9/15/2010
Read more →Automatically generated description.
Published on: 9/15/2010
Read more →Automatically generated description.
Published on: 9/15/2010
Read more →Automatically generated description.
Published on: 9/15/2010
Read more →Automatically generated description.
Published on: 9/14/2010
Read more →Automatically generated description.
Published on: 9/14/2010
Read more →Automatically generated description.
Published on: 9/13/2010
Read more →Automatically generated description.
Published on: 9/10/2010
Read more →Automatically generated description.
Published on: 9/10/2010
Read more →Automatically generated description.
Published on: 9/9/2010
Read more →Automatically generated description.
Published on: 9/1/2010
Read more →Automatically generated description.
Published on: 8/30/2010
Read more →Automatically generated description.
Published on: 8/28/2010
Read more →Automatically generated description.
Published on: 8/24/2010
Read more →