Blog

Since 2009, this has been the place for me to write.

  1. 2026

  2. Browsers Should Have a Native Control for Per-Site Color Scheme
  3. The Old Internet is Still Here
  4. An App for Modern Collage
  5. A Few Things to Enjoy #2
  6. 2025

  7. Failing at Using a Local LLM for Vinyl Record Color Extraction
  8. Building Latchbolt #1
  9. Something to Latch Onto
  10. Styling External Links Using :has and an Attribute Selector
  11. Fairweather Ride 2025
  12. A Few Things to Enjoy #1
  13. Tag, You’re It
  14. 2024

  15. CSS View Transition At-Rule
  16. Mocking SvelteKit Stores in Storybook
  17. 2023

  18. Complex MPA View Transitions
  19. Using ChatGPT to Write CloudFormation
  20. The Native Node Test Runner is Great
  21. CSS Trig Functions, CSS Typed OM, and Pulling on Threads
  22. CSS Scroll-Driven Write-on Text Effect
  23. First Experiments with View Transitions for Multi-page Apps
  24. Refreshing Colormix
  25. Re-encode AVIF images for iOS 16
  26. 2022

  27. Visualizing CSS color-mix
  28. 2021

  29. Realign 2020: Realigned
  30. 2020

  31. How to Get All Custom Properties on a Page in JavaScript
  32. Realign 2020: Color
  33. CSS: Flexible Repeating SVG Masks
  34. Realign 2020: Logo
  35. Realign 2020: Typography
  36. Realign 2020
  37. 2019

  38. Using a Custom OAuth Provider with NetlifyCMS
  39. Good Things
  40. A Library
  41. No More Google Analytics
  42. 2018

  43. Designing Anthologies: Initial Concepts
  44. Jribbble Three and Helping People OAuth
  45. Dynamic Redux Reducers
  46. 2017

  47. Building My First PWA
  48. Starting Something New
  49. The Impact of Flash
  50. New ColorMe Features
  51. Introducing: ColorMe
  52. 2016

  53. From Sass to PostCSS
  54. Rewriting Day Player for Sketch 40+
  55. 2015

  56. Overawe
  57. 2014

  58. Building OS X Apps with JavaScript
  59. Media Seek from URL
  60. How I Manage Nginx Config
  61. A Logo Design Process
  62. How I Start
  63. CSS True Titles
  64. 2000 Days
  65. Papersaver
  66. 2013

  67. Slenderman
  68. WebVTT Cuemarker
  69. 2012

  70. Get Together. Get Excited. Get to Work.
  71. Reacting to Media Queries in JavaScript
  72. 2011

  73. Fun with HTML Form Validation Styles
  74. A Small Redesign with a Little Sugar
  75. 2010

  76. All Talkie Talkie
  77. You Did What with What?
  78. 2009

  79. I Less Than Three IE6
  80. Ch-ch-ch Changes!