Adam Wathan
Articles
Talks
Screencasts
Podcast
Courses
Projects
Journal
Articles
Talks
Screencasts
Podcast
Courses
Projects
Journal
Archives
Everything I've ever published on my site, in reverse chronological order.
September 18, 2020
Composing the Uncomposable with CSS Variables
August 2, 2020
Tailwind CSS: From Side-Project Byproduct to Multi-Million Dollar Business
October 17, 2019
Persistent Layout Patterns in Next.js
December 28, 2018
Going Full-Time on Tailwind CSS
December 27, 2018
2018 Year in Review
April 19, 2018
The Trick to Understanding Scoped Slots in Vue.js
March 22, 2018
Renderless Components in Vue.js
November 30, 2017
Don't Use Em for Media Queries
August 7, 2017
CSS Utility Classes and "Separation of Concerns"
April 21, 2017
The $61,392 Book Launch That Let Me Quit My Job
April 3, 2017
Detecting Out of Sync Mocks in Mockery
March 2, 2017
What's KiteTail?
February 2, 2017
Upgrading Your Test Suite for Laravel 5.4
January 24, 2017
Methods Are Affordances, Not Abilities
January 16, 2017
Optimizing Your PHPUnit Workflow in Sublime Text
January 2, 2017
Don't Mock What You Don't Own
November 16, 2016
The Only JSON Assertion You'll Ever Need
November 14, 2016
A Better Database Testing Workflow in Laravel
October 12, 2016
Replacing Mocks with Spies
August 15, 2016
Three Approaches to Testing Events in Laravel
August 11, 2016
Curing the Common Loop at Laracon US 2016
August 11, 2016
Test-Driven Laravel at Laracon US 2016
August 4, 2016
Stubbing Eloquent Relations for Faster Tests
July 14, 2016
Customizing Keys When Mapping Collections
May 19, 2016
Refactoring with Collections and Null Objects
April 6, 2016
Cleaning Up Form Input with Transpose
February 1, 2016
Preventing API Drift with Contract Tests
January 25, 2016
Writing Your Own Test Doubles
January 21, 2016
Disabling Exception Handling in Acceptance Tests
January 11, 2016
Test-Driven Laravel from Scratch
January 4, 2016
Composing Reusable Modal Dialogs with Vue.js
September 3, 2015
Pushing Polymorphism to the Database
September 2, 2015
Chasing Perfect at Laracon EU
February 14, 2015
Active Repository is an Anti-Pattern
January 1, 2015
Refactoring Loops and Conditionals
December 28, 2014
Test Coverage with Code Climate and Travis CI
November 10, 2014
"Semantic" CSS
November 9, 2014
Decoupling Packages at TrueNorthPHP 2014
November 3, 2014
TDD: The Good Parts
September 26, 2014
Testing Eloquent Models with Faktory
September 22, 2014
When to Mock
June 14, 2014
The Virtual Proxy Pattern
April 12, 2014
There's a Model Hiding in Your REST API
January 5, 2014
Decoupling Your Packages from Your Framework
October 2, 2013
Putting Your Laravel Controllers on a Diet