Chase Granberry (@chasers) header
Chase Granberry (@chasers) profile picture

Logs, #o11y, @logflare_logs and Elixir at @supabase. Previously @authoritylabs.

UTC
Joined June 2007
Photo by Chase Granberry (@chasers)Photo by Chase Granberry (@chasers)Photo by Chase Granberry (@chasers)Photo by Chase Granberry (@chasers)Photo by Chase Granberry (@chasers)Photo by Chase Granberry (@chasers)Photo by Chase Granberry (@chasers)Photo by Chase Granberry (@chasers)
Me with my coworkers
BREAKING: Neuroscientists confirm that an under-stimulated ADHD brain will unconsciously pick an argument or poke a sibling just to manufacture a hit of adrenaline—which is why your house erupts into chaos the exact second everyone is bored. When the external environment goes quiet and flat, an ADHD nervous system scrambles to fill the gap:1/6
Readers added context they thought people might want to know
ADHD brains show higher boredom proneness but research does not confirm neuroscientists verified unconscious argument-picking or sibling-poking specifically for adrenaline. Post cites no source. link.springer.com/article/10.100… frontiersin.org/journals/psych…
2
7
264
Chase Granberry retweeted
It's live! doom.leandro.io/compute/v1/d… Single player and multiplayer modes. @supabase compute is fun!
Replying to @supabase
@supabase Compute is cool but does it run Doom? ... and why not add a Realtime scoreboard, players signed in with Auth, and replays saved in Storage.
2
2
14
1,440
Chase Granberry retweeted
One of the most powerful features of @supabase Compute, that you only realize when you use it, is the direct integration with all other services. Here's a demo of a Durable Harness using Pi durable, spawning instances, persisting data, broadcasting status in Realtime... it's all there built with supabase skills. And a bit of @tursodatabase in the mix because why not
5
5
1
37
3,451
Popcorn v1.0 is out! 🍿 It runs the latest Elixir and is fully compatible with the BEAM, because… it runs on the BEAM! It turns out that with a few tweaks, the BEAM fits in under 1 MB gzipped and runs just fine in your browser. Switching to it also brought major improvements in stability and performance. Read more in the blogpost: swmansion.com/blog/popcorn-1…
7
40
7
235
10,686
Only 1 billion per day is 11k requests per second. So basically no one uses Netlify edge functions?
Netlify now runs Edge Functions on Unikraft. They moved from V8 isolates to microVMs on our platform and published the numbers. Median warm invocation went from 25 to 40ms down to **~5 to 6ms**. p99 is 47.4% faster. Log delivery is 5x faster. Availability sits at 99.998%. All of that across about **a billion Edge Functions a day**. To boot, all of this with (1) the same pricing (2) no migration for their customers and (3) now running on strongly-isolated microVMs, not isolates. All numbers are Netlify's own, from their engineering writeup. 🔗 Full story: netlify.com/blog/edge-functi…
3
199
my favorite prompt suggestion
1
6
298
Chase Granberry retweeted
Replying to @dhh
I have asked my clanker to send some PRs for the Elixir one. Please ask your clanker to verify them and tell your clanker we are allowed to deviate from the Rails version in the same way Express/Go/Rust/ do (it was objecting to that in other PRs)! The clanker says there is more work to be done but I don't have infinite tokens, so it would be nice to see those merged first.
14
12
9
376
21,429
Chase Granberry retweeted
Replying to @poteto
It takes less effort that you’d think. Simply tell the model what to do. Most people’s problem is either they assume the limitations of the model or just didn’t ask it the right question. I told ai agents I wanted enough money to buy a house in a year. Gave it access to my brokerage. Poof 700k. Before that I said I wanted a new Tesla before December 2025, it had 3 months to do it in. I rolled the car off the lot in November, cash. There’s huge potential in these models. Many just haven’t realized their role is to extract it, not bend it to their will.
7
1
1
18
2,173
Chase Granberry retweeted
Replying to @a16z
The agent-first-database squad 🔥🔥
1
21
1
144
3,936
Chase Granberry retweeted
with all the dunking on @elixirlang, a quick note from someone who bet on it. phoenix liveview is processes all the way down. that is what lets us build interactive ui without the overhead and indirection of client side state management. we ship and test interfaces insanely fast and nothing else has come close. and that is just liveview. @elixirphoenix is one of the most productive web stacks i have tried. the erlang runtime is the other half. agents can attach to it in dev and in prod and see the process tree, memory and cpu, not just symbols. it is a system you can interrogate. we have not used everything it can do because we have not needed it yet. when something does need to be fast we can drop into a nif and write that part in rust, and so far that has barely come up. we optimized for feeling productive so we could get the business off the ground. @marekfort and i say the same thing every time. best decision we made, and even better with agents.
9
30
6
195
14,542
Unsurprisingly the clankers dont do well on crappy code bases
Rails founders code has perf issues 😂 I halved median response time in 5mins AI Go & Rust ports fix slow code written by Rails founders Rails uses Redis over TCP Go/Rust ports use in proc cache I’ve spent more time in the code than them. I give up. Code & benchmarks are trash
5
358
Great qol improvement here
Very exciting feature coming to LiveView: subscribe to a PubSub topic from any LiveView (or LiveComponent!!!) and LiveView will automatically manage the subscription for you. Simply: subscribe(socket, "user.updates", &handle_user_updates/2) PR: github.com/phoenixframework/…
1
141
Chase Granberry retweeted
This is exactly what happens when nobody reads or writes the code. The Rust port got hand-tuned fragment splicing, cached digests and compiled templates. The Go port re-hashes and re-copies the whole page every request. You're not benchmarking languages, you're benchmarking how much attention each port got.
I've had agents implement and optimize the Campfire web app in Elixir, Go, and Rust. Yes, Ruby is the slowest. I didn't care about that when the pay-off was huge in terms of productivity and developer joy. But if you're no longer reading the code? github.com/basecamp/once-cam…
Readers added context they thought people might want to know
The shown benchmarks use non-equivalent implementations: Elixir routes all DB queries through a single GenServer with Redis for jobs (retained from Rails), while Rust uses in-process queues, omits CSRF tags/fields, and applies other caching changes. github.com/basecamp/once-… raw.githubusercontent.com/basecamp/once-… github.com/basecamp/once-… github.com/basecamp/once-… x.com/zachsdaniel1/s…
21
146
10
1,430
98,543
Chase Granberry retweeted
I took a stab at improving the performance of Elixir. I used the PR for Elixir that @ZachSDaniel1 posted and worked some more on it. In the benchmark Elixir is now faster than Rust (ccece30 newest commit) for the Sidebar and Search benchmark.
Last conversion of the Campfire from my token stash goes to JavaScript/Express. As with the others, I'm sure you can find more to optimize. But this gives you a sense of what order of magnitude these options exist within with agent-led development. github.com/basecamp/once-cam…
47
46
17
581
106,805
Chase Granberry retweeted
Oh FFS. It turns out the req/s in the initial vibed Rust version is within the same order of magnitude as the initial vibed Elixir/Go versions, and even performs worse in some of them. The history is in the repository! The Rust version only got faster with a bunch of additional work. The initial Elixir/Go versions presented in the tweet below saw none of this additional work. It was comparing a 300 commits Rust version with a 2-3 commits Elixir/Go version. Source: github.com/basecamp/once-cam…
I've had agents implement and optimize the Campfire web app in Elixir, Go, and Rust. Yes, Ruby is the slowest. I didn't care about that when the pay-off was huge in terms of productivity and developer joy. But if you're no longer reading the code? github.com/basecamp/once-cam…
Readers added context they thought people might want to know
The shown benchmarks use non-equivalent implementations: Elixir routes all DB queries through a single GenServer with Redis for jobs (retained from Rails), while Rust uses in-process queues, omits CSRF tags/fields, and applies other caching changes. github.com/basecamp/once-… raw.githubusercontent.com/basecamp/once-… github.com/basecamp/once-… github.com/basecamp/once-… x.com/zachsdaniel1/s…
77
109
32
1,360
170,497
Chase Granberry retweeted
A friendly reminder that our “pet ecosystem” has a wide range of tools to help you if you vibe-code blindly: github.com/elixir-vibe/vibe_…
Replying to @kristoph
That only makes for a better comparison. If your pet ecosystem isn't usable for agents without a ton of human intervention, it's going to fare poorly going forward.
6
3
106
5,469
I haven’t used a logs UI in 6 months!!
I rarely use monitoring/tracing provider dashboards and UIs anymore Only to get graphs to post on here Everything is connected to my agent via MCP, it's so good I'd possibly even go as far as to say all these providers could delete most of their UI and just go agent-native
1
5
267
Chase Granberry retweeted
Lumis now lets you choose which languages to load in your package. Need only Elixir and Rust? That's only 2mb vs ~130mb of the full bundle. Just add: {:lumis_wasm_elixir, "~> 0.26"} That also applies to MDEx and MDEx Native. See mdex.hexdocs.pm/lumis.html#p… docs.lumis.sh
1
6
36
1,872
Chase Granberry retweeted
The future of programming seems certainly to be systems where change is constant and ongoing via agents, everywhere, and communicating all the time. And we happen to have a runtime perfectly suited to that. Lets go!
2
10
1
95
3,819
Chase Granberry retweeted
🤖 Made with AI
65
126
29
2,183
300,097