Twitxy Saved

James Cowling

Verified account Convex

@jamesacowling

@convex CTO. Dropbox storage designer. Consensus protocol author. Motorcycle mechanic. Closet Australian. MIT systems researcher turned database shill.
San Francisco, CA convex.dev Joined June 2016
511 Following 14K Followers 2.8K Posts

Latest posts 5

James Cowling Verified account @jamesacowling
We ran out of time to make an educational podcast episode so made a reaction video instead. Engagement bait at its finest
Convex Verified account @convex 18h
New Databased, but no databases this time. Just our founders reacting to the week's hottest tech tweets 🍿

They talk about IPO, benchmaxxing, and why your agent's actions are your actions. 👇
View quoted post on X
1 replies 0 reposts 19 likes 1.6K views View on X
James Cowling Verified account @jamesacowling
If you're treating your database as a global namespace you're doing it wrong. This is what folks often end up with when they start using SQL and it leads to immense complexity when different parts of a giant codebase are all changing each other's data. If you're using triggers or cascading deletes there's a good chance you're there already.

Good database architecture is modular. If you need to do some user operations you should be calling a user module, not writing a SQL statement against it. This is what any sane large codebase looks like but LLMs still get this wrong all the time.

Of course you could just use something like Convex where queries are code and this is built into the API. It also has components with sub-transactions so a module can call another module without violating transactionality.
Sean Goedecke @sjgoedecke Nov 5
Databases are for storing global variables. We usually call them “rows” or “records” instead, but they’re definitionally global variables: any part of your program can read or write them. Isn’t this kind of weird?
View quoted post on X
13 replies 3 reposts 105 likes 8.8K views View on X