Archive
The Web Development Archive
Every web-development post, newest first, grouped by year.
just one more refactor
139 posts across 10 years, 2009–2026.
2026
2020
2016
- A Year of Commits and Pushes
- A Middleware for Swagger Resolution
- Using peel for HTTP Exceptions
- Swagger Inheritance
- Using Mocks with PHPUnit
- Continuous Deployment with Travis CI and Digital Ocean
- Using Domain Repositories for Services
- A Project Death March
- Mocking Internal PHP Functions
- An Arduino Pomodoro Timer
- Using JSON Resume
- Handling Static Content
- JSON Responses in Guzzle 6
2015
- Refactoring Particletree's PHPQuickProfiler
- Unit Testing Data Repositories
- Data Repositories in PHP
- Shame-Driven Development, or Why I Published My MVC
- Simple Messaging in PHP
- Streaming Twitter Bot in Node
- Making Phergie Talk to Slack
- Empathetic Web Design
- Simple Client for customer.io
- Validating Email Addresses
- Playing with PHP Closures
- Anonymous Functions in PHP
- Converting Between Timezones
- Supporting User Timezones for a Twitter Bot
- PDO Connection Timeouts and Aura.Sql
- R Analysis on Git Log Data
- A Twitter Bot for Pushups
2014
- First Venture into the Slim Framework
- Mocking a Robust Streaming Twitter Bot
- K-means Clustering on Hiking Adventures
- Optimizing Regex
- Slightly Shuffled
- Grouping with Regex
- Initial Experience with Reveal.js
- Streaming Twitter in PHP from Scratch
- Waterfall 2.0 (Finally!)
- Building an API Client
- Midwest PHP: 2014
- A Streaming Twitter Bot with Guzzle
- Basic Color Masking with PHP
- Effective Onboarding
2013
- Fuzzy Distance
- Determining Nearby Waterfalls
- Using Gecoding to Find the 'Closest City'
- Google Elevation API
- Keeping Things Simple with Sculpin
- Archiving (Scraping) a Site
- Archiving a Directory
- Client vs Server Analytics
- Fake Linkedin Endorsements
- Fighting the Comment Spam
- Handling Images on My Sites
- Two Types of Content
- Rich Comment Formatting
- Manipulating JPEG EXIF Headers
- Resizing Images with PHP
- Parsing Google Calendar - Recurring Events
- Parsing Google Calendar - Starting Out
- Another Kick at QR Codes
- Code Like a Butterfly, Perfect Like a Bee
- Finding the Closest X to Y
- A Simple Mail Object
- Working with the Twitter Archive
- Mobile First, to an Extent
- Midwest PHP Conference 2013
- Web Crawlers are Difficult
- Building a Web Crawler
- Parsing Twitter Feeds with PHP
- Passing Extra Parameters to Twitter via OAuth
- A Year of Hits and Spiders
- Stop Calling Everything a CMS
- Thoughts on UX Design
- Taking Brogrammer Back
- Forcing Cross-Layer Dependencies? You're Doing it Wrong.
2012
- Blog Updates: It's Responsive!
- Don't Focus on the SEO, Focus on the Human User
- Fuzzy Date
- Treat Cache as a Feature, not a Requirement
- Spaghetti Code vs Lasagna Code
- Some Thoughts on Best Practices
- Planning for Failure
- Working with Twitter's 1.1 API via PHP, OAuth
- How I Learned to Stop Worrying and Love the String Object
- URL Shortening Services Suck (and could be Better)
- Writing Code for Humans, not Computers
- Life and Death of a Developer
- Product Development and Intelligence
- SEO Consultants are not Necessarily Experts
2011
2010
- Basic Forms with PHP
- Connecting to a MySQL Database with PHP
- How Many Tiers for a Clean View Layer?
- Microformatting the Resume
- Abstracting the Resume
- My Lifestream
- Thoughts on Data Abstraction
- The Problem with Assuming
- Why (some) Client-Developer Relationships Suck
- Beginner Web Developer Mistakes
- Revisiting the Database Class
2009
- A Reusable Database Class in PHP
- Reading Data with SELECT
- How Tables and Rows Work
- Why Keep Content in a Database
- Tips on Personal Sites
- MVC CSS Stylesheets
- Using Headers for Caching
- Website Overhaul
- Google Static Map API Introduction
- AJAX Dynamic Template Solution
- Basic Tag Cloud
- Dynamic Template Methods
- A KML Sitemap
- Resetting to Subdomains
- Distance Compare Class Part B
- Distance Compare Class Part A
- Setting up the Hiking Website
- Style Switcher Part B
- Style Switcher Part A
- Modular Website Setup
- Using XSL for Websites
- Static Star Rating System
- Topographic Images on a Google Map
- Using Mod Rewrite to Mask Variables
- Cross Site Status Updater
- Why I Write Complaint Code
- Current Programming Languages