I've been pretty
consistently inconsistently posting on this blog in one way or another for the last 11 years (probably more, but my memory is as good as my backups). Some of it is pretty good, some less so, but I hope that overall it shows some growth.
If you like what I've written, I'd love to hear from you. If you don't, I'd still love to hear from you, because I like writing, and would like to continue to get better at it. Either way, I hope you get some value out of some of what I've posted over the years.
I know I have.
- There's No Reason to Pirate Music Anymore
- Chasing Imperfection
- Thanks Be Unto...
- My Writing Laptop is 15 Years Old
- The Satisfaction of Fixing the Broken
- Merit Badges for Grownups
- You Should Probably Go Donate Blood
- My Grandfather Still Gets Typewritten Mail
- Things I Forgot to Bring to KubeCon
- Breathing into Discomfort
- On Buying Used Books
- Keep Calm and Comic Con
- Balancing Parenthood and Startup Life
- My Favorite Coding Interview Exercise
- How To Completely Disable Your Favicon
- Long Live ASCII Art
- Rediscovering Discovery on the Web
- Embracing Offline-First Technology
- What's on Your Open Source Bucket List?
- A Few Heroku Alternatives
- Adding Custom Global Arguments to Artisan Commands
- I Hate My Smartphone
- Obsolescence Is a State of Mind
- The Joy of Single-Purpose Tech
- How To Build an Absurdly Backwards Compatible Website
- 100 Days to Offload
- I Don't (Care Enough To) Track You
- 35 Lessons Learned in 35 Years
- WTF is a Postmortem?
- 2021: The Retrospective
- Hello Darkness, My Old Friend
- From the Kitchen of...
- Enter The Gopherverse
- New Job, Who Dis?
- Searching for Kid-Friendly Searching
- This Post Was Written by GitHub Copilot
- Take the Scenic Route
- Life Is Too Short to Waste Time
- 5 Simple Things I Do Every Morning to Sabotage My Day
- What Our Children Deserve
- Get a Typewriter. Write a Friend.
- 5 Git Aliases I Can't Live Without
- Fix Spaghetti Code and Other Pasta-Theory Antipatterns
- An Introduction to Vagrant Aliases
- 4 Tired Developer Debates That Need to Just Die Already
- Write Clean PHP Code (or "else")
- Lazy, Stupid, and Mean: The Art of Writing Defensive Documentation
- Establishing a Documentation Strategy: A Practical Template
- Writing a Damn Good README File
- Host Your Own Internet Radio Station
- # Always Be Commenting
- Never Install a Thing Again (Except Docker)
- Putting the "Code" in Configuration Management
- The Life and Times of Configuration Management: A Brief History
- Soft(there): Dealing With Deprecations
- Soft(where): Where Does Software Come From?
- Trust, but Verify
- The Ins-and-Outs of Package Management
- The Linux (R)evolution
- Apple, Updates, and You
- Everything You Ever Wanted to Know About Microsoft Windows Updates
- Introducing Eloquent Interactions: A Command Pattern Implementation for Laravel
- Magento on Vagrant: Lessons Learned
- Beyond the Ban: Creatively Enforcing Rules Without Losing Players
:: the mud coders guild
- (Updated) Speeding Up the Craft CMS Admin Dashboard
- Why We Review
- Good Code Is Subjective, Documentation Is Not
- Incident Management and Continuous Integration, a Partnership for Success
- Messing with the GitHub Contribution Graph
- MIME Type Validation Sucks
- Connecting to a PostgreSQL Database in Vagrant with PSequel
- The Rise and Fall of the Free Lance
- Convenience Is Making Me Lazy and Poor
- Setting Up CloudFlare SSL for Laravel on Heroku
- How (and why) to Perform a Project Audit
- I'm Not a Writer, and so Can You!
- What is Full Stack Deployment?
- Leveraging AWS Spot Instances for Continuous Integration
- API Design: A Documentation-first Approach
- Why Vagrant is the Best Developer Environment
- How to Force Installation of Vagrant Plugins
- Running CodeIgniter Controllers in the Command Line
- PHP Binary Search Tree Implementation
- PHP Queue and Stack Implementations
- Quickly Determine If Two Strings Are Anagrams in PHP
- A Linked List Implementation in PHP