Dom Christie

Posts

RSS

2024

Turbo Native without Turbo? Use Turbo Native adapters with client-side libraries other than Turbo

Optimistic UI with Ruby on Rails & Hotwire A proof-of-concept for optimistic UI with Hotwire and Rails

Tailwind Repetition Alternatives to @apply when reducing Tailwind CSS class repetition

Hotwire Back Button A back button using Stimulus and Turbo's History state

Turbo Teapot A reasonably legitimate use of HTTP Status 418 to work around Turbo's rendering limitation

Turbo & Progressive Enhancement A tip on writing Hotwire code that feels right

Turbo Refreshes, Frames, and Streams A guide for when to use each Turbo feature

Art We Are Drawn To

Today I Learned CSS-only scroll to bottom

2023

Enhance Music

Tailwind Utopia Breakpoint-free fluid type and spacing with Tailwind and the utopia.fyi approach

Today I Learned History API states persist between reloads

UI Context and Rails Variants

Hotwire & Personalised Content

Today I Learned Ruby's curly braces in arrays

Today I Learned Ruby's Array#inquiry, Rails' truncate with block

Scoping Rails Controllers by UI Context

Bricolage

Ruby Emoji

Apple Podcasts to OPML

Dynamic Viewport Height in Tailwind

Pursuing Happiness

2022

Apps We Spend Our Time On

Partials

Today I Learned

Continuous Delivery

The Same Thing in Multiple Contexts

RailsInspire

Objections

Process

Today I Learned

Early Generative Art by A. Michael Noll

BADBADNOTGOOD - Weight Off

Today I Learned

Die With Me by Dries Depoorter

BART

Today I Learned

Today I Learned

Destructuring: JavaScript vs. Ruby

How To with John Wilson

Today I Learned

Today I Learned Enumerable#tally, rails runner

TailwindInk

Rails Redesign

Severance

Haitus Kaiyote

Bleep!

Add to Safari Reading List from Firefox

Seven

Glider

2014

2013

Flicker

RY X—Shortline

Mathematicians vs. Engineers

Hotel Books

The Culture of Distraction

All the Features

Technology that Matters

Simple Things

Spinach Thoroughbred

Rick Rubin on Minimalism

What am I listening to?

One Six Seven

Dieter Rams on good design

Backbone.js Patterns Pt.3: Excluding non-persisted attributes

Watch

Backbone.js Patterns Pt.2: Don’t make me think

Backbone.js Patterns Pt.1: Maintaining the Uniform Access Principle

Improving TfL’s Live Bus Timetables: Uncle Gus

Compair: a typeface comparison tool

Designers Humanize Technology

Making use of new design technologies

Untrustworthy Fast News

Wing

Korg Volca Series

Albums Mid-2013

Daughter

What makes us feel good about our work?

Vox Populi

Overload, clutter, and confusion

Cennydd Bowles: The Things of the Future

Inge Druckrey on Roman Lettering

Blue

TL;DR

Hierarchy

Camille—Ta Douleur

Rollers

sound 323

Post 57

Twitter Burnout

Guggenheim

Complexity

Dan Deacon—True Thrush

Playlist: Jan 2013

Foliage

2CV

Etna

The Awkwardness of Drag and Drop File Uploads

Man Power (rgb)

Features of Print Media (from a digital media perspective)

See Attached

Launderette

A Starting Point for Choosing Typefaces

Helvetica (2007)

Careful Design

2012