Node.js packages don't deserve your trust

Continue reading


@josephg.com | 2 years ago

5000x Faster CRDTs: An Adventure in Optimization

Continue reading


@josephg.com | 2 years ago

Home is where the bits flow

We aren’t purely physical beings. Most of our day exists outside our body. Our minds slip out through our eyes, out into our screens. We become a different kind of organism, living in a weird symbiosis with reddit and whatsapp and gmail. When was the last time you noticed | Continue reading


@josephg.com | 3 years ago

I was wrong. CRDTs are the future

I saw Martin Kleppmann’s talk a few weeks ago about CRDTs, and I felt a deep sense of despair. Maybe all the work I’ve been doing for the past decade won’t be part of the future after all, because Martin’s work on CRDTs will supersede it. | Continue reading


@josephg.com | 3 years ago

The modern web makes me want to throw up

I've written a fair bit over the last few months on other mediums (FB and Hackernews). I'm going to start collecting some of that content and reposting it here. From here: Performance of modern web apps is simply awful compared to their native counterparts by any measure. They lo … | Continue reading


@josephg.com | 3 years ago

Electron Is Flash for the Desktop

What is slack doing? The process was in the background when this happened. I wasn't even interacting with it - I was in a meeting. I only noticed because my laptop fans were whurring when I got back. Restarting slack seemed to fix it for now. But that's not abnormal | Continue reading


@josephg.com | 3 years ago

War over Being Nice

Quick question: Bob says something to James. James is upset and goes to have a cry about it. Who is responsible for James being upset? Is it Bob, for being mean? Or is it James, because he obviously has emotional development to do? If there's 100 points of responsibility, how | Continue reading


@josephg.com | 4 years ago

An API for data that changes over time

What do all these things have in common? RSS feeds Gamepads and MIDI devices An email client Filesystem watching (FSWatch, kqueue, ionotify, etc) Web based monitoring dashboards CPU usage on your local machine Kafka RethinkDB Changefeeds A Google Docs document Contentful's sync p … | Continue reading


@josephg.com | 4 years ago

Tribes of Programming

There's an old joke that computer science is a lie, because its not really about computers, and its not really a science. Funny joke. Everyone laughs, then someone says "Yeah but it sort of is about computers though, isn't it?". Feet shuffle awkwardly. Someone clears their throat … | Continue reading


@josephg.com | 5 years ago

Replicate your database to the client (2014)

Every time I read about the CAP theorum, I feel like we're missing something. We've gone to an awful lot of effort to make our database cluster consistent and reliable. We have proofs around how we expect it to behave, and we test the crap out of any claims our | Continue reading


@josephg.com | 5 years ago