Blog

Since 2009, this has been the place for me to write about the work I do.

  1. 2024

  2. Mocking SvelteKit Stores in Storybook
  3. 2023

  4. Complex MPA View Transitions
  5. Using ChatGPT to Write CloudFormation
  6. The Native Node Test Runner is Great
  7. CSS Trig Functions, CSS Typed OM, and Pulling on Threads
  8. CSS Scroll-Driven Write-on Text Effect
  9. First Experiments with View Transitions for Multi-page Apps
  10. Refreshing Colormix
  11. Re-encode AVIF images for iOS 16
  12. 2022

  13. Visualizing CSS color-mix
  14. 2021

  15. Realign 2020: Realigned
  16. 2020

  17. How to Get All Custom Properties on a Page in JavaScript
  18. Realign 2020: Color
  19. CSS: Flexible Repeating SVG Masks
  20. Realign 2020: Logo
  21. Realign 2020: Typography
  22. Realign 2020
  23. 2019

  24. Using a Custom OAuth Provider with NetlifyCMS
  25. Good Things
  26. A Library
  27. No More Google Analytics
  28. 2018

  29. Designing Anthologies: Initial Concepts
  30. Jribbble Three and Helping People OAuth
  31. Dynamic Redux Reducers
  32. 2017

  33. Building My First PWA
  34. Starting Something New
  35. The Impact of Flash
  36. New ColorMe Features
  37. Introducing: ColorMe
  38. 2016

  39. From Sass to PostCSS
  40. Rewriting Day Player for Sketch 40+
  41. 2015

  42. Overawe
  43. 2014

  44. Building OS X Apps with JavaScript
  45. Media Seek from URL
  46. How I Manage Nginx Config
  47. A Logo Design Process
  48. How I Start
  49. CSS True Titles
  50. 2000 Days
  51. Papersaver
  52. 2013

  53. Slenderman
  54. WebVTT Cuemarker
  55. 2012

  56. Get Together. Get Excited. Get to Work.
  57. Reacting to Media Queries in JavaScript
  58. 2011

  59. Fun with HTML Form Validation Styles
  60. A Small Redesign with a Little Sugar
  61. 2010

  62. All Talkie Talkie
  63. You Did What with What?
  64. 2009

  65. I Less Than Three IE6
  66. Ch-ch-ch Changes!