Seph

https://josephg.com/blog/ (RSS)
visit blog
Rewriting Rust
26 Sept 2024 | original ↗

The Rust programming language feels like a first generation product. You know what I mean. Like the first iPhone - which was amazing by the way. They made an entire operating system around multitouch. A smart phone with no keyboard. And a working web browser. Within a few months, we

NodeJS packages don't deserve your trust
11 Apr 2022 | original ↗

A modest proposal Another week, another npm supply chain attack. Yikes! People on hacker news are wringing their hands about what should be done. The problem seems dire. Apparently I couldn't help myself. At 2am the other night I woke up, staring at the ceiling. I couldn't stop thinking about

5000x faster CRDTs: An adventure in optimization
31 Jul 2021 | original ↗

A few years ago I was really bothered by an academic paper. Some researchers in France put together a comparison showing lots of ways you could implement concurrent editing, using various CRDT and OT algorithms. And they benchmarked all of them. (Wow, yess!) Some algorithms worked reasonably well. But others

I was wrong. CRDTs are the future
26 Sept 2020 | original ↗

I saw Martin Kleppmann’s talk a few weeks ago about his approach to realtime editing with 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

Home is where the bits flow
26 Sept 2020 | original ↗

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

An API for data that changes over time
25 May 2019 | original ↗

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 protocol Syntax highlighting as I type in my

War over being nice
19 Sept 2018 | original ↗

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

A dozen ideas for a better Fortnite
31 Jul 2017 | original ↗

Edit (2020): This was written before Fortnite became the battle royale game it is today. When I wrote this, "Fortnite classic" was the whole game. Epic went a totally different direction than I was thinking about. I've been playing a bunch of fortnite over the last week. Below is a

3 tribes of programming
3 May 2017 | original ↗

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 and before you

Cracks
18 Apr 2017 | original ↗

Programming is close to godliness when you're deep in a problem, code is thought made real. In that space you stop existing as a person. You're just a conduit for creation. Squint at the right moment and you can catch them those sparkling cracks in reality at the corners of

Building a r/place in a weekend
16 Apr 2017 | original ↗

On Friday I accepted a challenge to clone Reddit's /r/place in a weekend. And I did it, and its live, and its amazing: Being able to build this in a weekend isn't genius. Its possible because programming is made up of 2 activities: Making decisions (95%) Typing (5%) Reddit

The modern web makes me want to throw up
13 Nov 2016 | original ↗

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 load slowly

Electron is flash for the desktop
29 Oct 2016 | original ↗

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

Databases have failed the web
11 Sept 2016 | original ↗

Part 1 - a history lesson The year is 1980. Last year RSI released Oracle V2, the world's first commercial SQL database for the PDP-11: At an unnamed bank you have rooms full of computers like the PDP-11, with specialized computer operators to keep them running. 'Dumb terminals' at people's

Composing databases
24 Aug 2016 | original ↗

Why don't we compose databases the same way we compose our functions? We use mathematical operators to compose functions all the time. Most of the time we do it without even really thinking about it: y = op2(op1(x)) Or with chaining and more functions and stuff: complexOp = x =>

↑ these items are from RSS. Visit the blog itself at https://josephg.com/blog/ to find other articles and to appreciate the author's digital home.