RSSAmplifier

Blog

Adam Solove

Personal site

adamsolove.comRSS feed ↗25 posts

Latest posts

Building a multiplayer podcast editor with Automerge

Experience report of building a complex collaborative UI on top of a sync and versioning engine

Designing a better podcast editor

A better concept model and more efficient tools for editing spoken word audio

Epic handshake: reorg half a seat to the left

How to avoid handoffs by defining the right roles

Only 20 JavaScript runtimes left

Claim yours now before we run out!

<iframe>able finance

Designing and building embedded UIs

Learning about learning

Notes on study skills, meta-cognition, and how organizations learn — distilled from a vacation spent reading about learning

Pure UI control

If Pure UI gave teams a shared language for display states, what’s the same idea for an interface’s behavior — a case for making control state explicit

What are the important problems in UI engineering?

Let’s escape the day-to-day to survey what’s coming next

Preact in pictures

I gave a talk at tonight’s ReactJS Denver meetup about Preact

The new fast: advanced web performance best practices for 2017

Or: what Souders’ books didn’t tell you because it only happened in the last two years

Concurrent ML has a branding problem

And some suggestions from a complete outsider

Synchronizable abstractions for understandable concurrency

Or: what is Concurrent ML all about?

Preact internals #3: some fiddly little bits

How the virtual dom actually gets rendered to the DOM

Preact internals #2: the component model

What makes React’s component model — composable, stateful, declarative — actually work, and how Preact implements both class-based and functional components

Preact internals #1: the easy parts

An introduction and gentle first steps in a series where we’ll read the Preact codebase and try to completely understand it

Mismatched assets with streaming service workers

An open question: when a service worker caches the header but streams the body, how do you keep CSS and markup from drifting?

Exhaustiveness checking in Flow

Flow’s exhaustiveness checking has a gap — but a cast to `empty` gets you the behavior the type system can’t quite express

Modeling business problems with ADTs in Flow/js

Tagged unions in Flow turn out to replace the worst part of ORM modeling: the big bag of nullable, secretly-correlated attributes

React.js & Om talk

Videos and slides from a two-part introductory talk on React and then Om, given to the DC-area Clojure user group

Om experience report

First impressions of David Nolen’s Om — a thin ClojureScript wrapper over React — after building a small map-styling app over Christmas

Constraint programming in the browser

My JSConf 2013 talk on Cassowary in the browser, plus a short reading list on constraint solvers for UI

You should speak at JSConf

How I went from no topic to a JSConf community-track talk in four weeks — and why you should try it too

Being inspired by Sketchpad

What Ivan Sutherland’s 1963 thesis still has to teach us — method dispatch, prototypical inheritance, and constraint-driven UI

Stateful views

MV* frameworks handle stateless event bindings well, but drag-and-drop and other multi-step interactions want state machines

Deferred method combinator

Wrapping async dependencies with a higher-order function, so callers can keep treating a method as fire-and-forget