Dave Stokes (@stoker) header
Dave Stokes (@stoker) profile picture
Justin, TX
Joined January 2008
Photo by Dave Stokes (@stoker)Photo by Dave Stokes (@stoker)Photo by Dave Stokes (@stoker)Photo by Dave Stokes (@stoker)Photo by Dave Stokes (@stoker)Photo by Dave Stokes (@stoker)Photo by Dave Stokes (@stoker)Photo by Dave Stokes (@stoker)
Dave Stokes retweeted
In 1970, IBM researcher Edgar F. Codd published an 11-page paper that changed database design. He proposed organizing data using mathematical relations instead of forcing programmers to navigate rigid tree structures. Decades later, developers embraced XML databases, then schemaless JSON stores, with endless predictions that SQL was finished. Then some of those systems started adding schema validation, joins, ACID transactions, and SQL-like query languages. Turns out changing how you store data doesn’t make the relationships between it disappear.
14
45
6
309
13,976
Dave Stokes retweeted
The Sqlean project (an extended function library for SQLite) started by collecting different SQLite extensions from around the internet, refactoring them into domain modules, and adding tests. That worked pretty well — some people found Sqlean helpful in their work. Unfortunately, this approach also caused a lot of bugs and inconsistent behavior across the extensions. I saw three possible options: — Leave the project in its current poor state. — Spend a year fixing the code myself. — Employ a clanker and be done in a week. I chose the last one 😞
14
2
48
3,519
Just a few days left on that SCALE call for papers. Come share your open source journey.
1
5
148
Dave Stokes retweeted
Two days after Henry died Hampshire Police secretly recorded Digwa in a police van speaking Punjabi to his brother. Digwa admitted stabbing Henry. Discussed claiming self defence. Made zero mention of racial abuse. Not one word. Hampshire Police had that tape. They knew Digwa was lying about the racist attack. They had the evidence. They had his own words and then tried to smear Henry as the aggressor anyway. Three days after his death their statement read “it was reported two men had been assaulted by an unknown man.” Henry was the unknown man. The boy bleeding out on the street. They flipped it. Family complained. Statement changed. Then police told the family their NEXT update would again infer Henry was the initial aggressor. His family had to fight them a second time. While grieving their murdered son. Then during the trial Hampshire tried to issue a statement telling the public to stop talking about it online. Calling it disinformation. The CPS had to step in. Told them they were about to collapse their own murder case. This is the force that handcuffed a dying boy. Missed the murder weapon twice. Had a secret tape proving the killer lied. And still tried to bury Henry's name. That's not incompetence. That's a machine protecting itself. At the expense of a dead boy's reputation and three officers are still on active duty. Not suspended. Treated as witnesses. To their own actions. Hampshire Police didn't just fail Henry on that street. They kept failing him for six months after he died.
550
8,971
343
28,886
362,098
Dave Stokes retweeted
By default, psql trims error messages. `\errverbose` shows the whole thing. Want it every time? `\set VERBOSITY verbose`.
2
20
913
Dave Stokes retweeted
this remains one of my favorite things i've ever written: "Ruthless standardization makes automation realistically achievable and maintainable"
2
1
3
349
Instead of getting a little sticker after you voted, you should get a QR code that you could somehow enter into your TV and it would no longer display political ads.
575
1,626
257
26,628
492,762
Yes, boss
Register guy at the gas station called me "boss" after calling the two guys in front of me "bro". The end is nigh.
1
1
122
SCaLE 24x CFP Tip 10: Consider submitting a workshop, especially if it's better learned by doing. That's Tip #10! See all the tips: ow.ly/GXn050ZWOZL The SCaLE 24x CFP closes November 1. ow.ly/Q2Zt50ZWOZK
1
112
Ok y’all I know I’ve put some Irish folk songs out here lately, but this might be the best one yet
146
714
92
2,943
97,385
Dave Stokes retweeted
More adventures in server land: I used certbot to create an HTTPs certificate, nobody else knew about the domain, and within minutes, ~8 scanner bots had loaded the page, coming from Google Cloud and AWS... Scanners were running headless chrome and one faked being an iPhone.
35
16
3
907
61,040
Dave Stokes retweeted
Once upon a time there was an engineer who observed an SQL delete statement on a field called blah = x. That query was doing a full table scan and unnecessarily locks many rows in the execution path causing contention and sometimes deadlocks, mainly because blah didn’t have an index. The engineer added an index and that made the query much faster. Another engineer discovered that there was a bug in the code and that query shouldn’t have been executed to begin with. They removed the code that executed the delete and replaced with simpler delete on a more selective id field which was the primary clustered index on that table. The index on blah remained on the table for decades, no one remembers why its there or questions it anymore. The index lived happily ever after on that table, bloating storage, amplifying writes and WAL and slowing inserts. The end.
21
18
3
407
17,815
Dave Stokes retweeted
In 1951, MIT graduate student David Huffman was given a problem that even Claude Shannon and his professor Robert Fano hadn't solved: finding the most efficient variable-length binary code for a given set of symbol frequencies. Huffman spent months trying different approaches. He was about to throw his notes away and study for the final exam when the solution suddenly came to him. Instead of building a coding tree from the top down, he started at the bottom, repeatedly combining the two least-frequent symbols. The result was Huffman Coding, an algorithm that guarantees the shortest average code length among binary prefix codes for those frequencies. 75 years later, it's still used in ZIP, GZIP, JPEG, and MP3.
8
41
7
354
9,728
Welp I know what I’m doing for the next month.
Tomorrow we're releasing a full UATX course for free: all 19 lectures of Professor Isabella Reinhardt's Rise and Fall of Ancient Rome, filmed in class with our students. It runs from Rome's mythical founding to the Third Century Crisis. It ends on a question the class spent a whole session arguing about: did Rome ever really fall?
71
265
6
5,182
193,375
Dave Stokes retweeted
Talking to database people is such a breath of fresh air amidst all this AI chaos :) For the last one hour, I was talking to Joran (@jorandirkgreef), the creator of TigerBeetle DB, and he shared a great way to think about infrastructure code. The total cost of ownership of an infrastructure component like a database is very low relative to the value it delivers. The number of people using it is huge, and the lifetime of this code is also very long. So even if you spend a year handcrafting it, it can be totally worth it. The world will keep using it for a very long time, provided it is good. Infrastructure is not just an expense or throwaway code. It is an asset. He also shared a beautiful line that I will be reusing a lot: "The database is the last bastion of software craft." In fact, last week, I rebuilt MongoDB in Rust and got 4x storage savings, 3x faster performance, 100% compatibility, and blah blah blah... But I had no confidence in what it actually did (even when tests passed) because I do not fully understand the codebase of something that will be mission critical. The person building a database needs to be highly confident in what it does, how it works, and why it works that way; hence, the craft. We spoke about so much more, but this is the part I thought would be most useful to share with you all. Hope this helps.
54
47
3
1,010
41,705
Dave Stokes retweeted
After a year of quiet work, I'm ready to announce Egres. Egres is a Postgres-compatible database designed to tackle heavy workloads and run thousands of tenants on the same server. It works with psql and drivers unchanged. The post covers the what, the why and the how: manishrjain.com/egres/ For Egres, I wrote a new storage engine called zdb: a tree of LSM trees, which I call an LSM forest. It runs on local disk or object storage, has roaring bitmaps integration for indexing, and can do instant zero-copy branches of a database or a table. Everything runs on zfiber, a coroutine system I wrote for Egres. It meters CPU ticks, disk IOPS and memory used per query, per tenant, so thousands of tenants can share the same server without the noisy neighbor problem. This release is single node and the query features are very basic. Raft replication is already baked in. Future releases will allow multi-node clusters. Try it out! Would love to hear what you think.
33
75
18
906
80,862
MySQL Belgian Days are back! 🐬 Join the MySQL community Jan. 28–29, 2027, in Brussels for technical talks, knowledge sharing, and open source collaboration. 🎤 Have a MySQL topic to share? Submit your talk proposal by Nov. 30! Learn more: social.ora.cl/6013BHc1eJ
5
9
370
Dave Stokes retweeted
Postgres vs MySQL. 𝗣𝗼𝘀𝘁𝗴𝗿𝗲𝘀 is built as a single, integrated system, and that design choice shapes how everything else works. Data is stored in heap tables, where multiple row versions coexist. Updates create new versions, while old ones remain until cleaned up (VACUUM). MVCC is built into the data model, enabling advanced indexing and extensibility. 𝗠𝘆𝗦𝗤𝗟 is built around a pluggable storage engine architecture. The SQL layer sits on top, while InnoDB handles storage. Old row versions are kept in undo logs and reconstructed when needed. Data is organised as a clustered index, with the primary key defining physical layout. Which database do you prefer? —— Thanks to our partner Kickresume who keeps our content free. 𝗔𝗿𝗲 𝘆𝗼𝘂 𝘀𝘂𝗿𝗲 𝘆𝗼𝘂'𝗿𝗲 𝗳𝗼𝗹𝗹𝗼𝘄𝗶𝗻𝗴 𝘂𝗽 𝗼𝗻 𝗲𝘃𝗲𝗿𝘆 𝗷𝗼𝗯 𝘆𝗼𝘂 𝗮𝗽𝗽𝗹𝘆 𝘁𝗼? Keep track of every application with Kickresume's free Job Application Tracker. Track your applications here → lucode.co/jobs-tracker-kickr… —— ♻️ Repost to help others learn databases.
8
89
4
519
33,646
Want to talk about a distributed database next April? The SCaLE conference will in Pasadena, California, and we need talks on the 'MySQL & Distributed Databases' track - socallinuxexpo.org/scale/24x… @socallinuxexpo
2
3
127