Blog

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

  1. 2026

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

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

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

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

  28. Visualizing CSS color-mix
  29. 2021

  30. Realign 2020: Realigned
  31. 2020

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

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

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

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

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

  57. Overawe
  58. 2014

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

  68. Slenderman
  69. WebVTT Cuemarker
  70. 2012

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

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

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

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