by simonw on 2/6/2025, 10:17:50 PM
by Retr0id on 2/6/2025, 7:12:50 PM
Neat! It's surprisingly easy to sit down with a copy of the sqlite file format docs and start writing code to parse sqlite files (like this project does), and I'd strongly recommend it for all the same reasons listed in the "Why?" section of the readme here.
by artps on 2/6/2025, 8:59:32 PM
That's really impressive! As someone who's worked with SQLite internals in the past, I know this kind of work and tinkering is no small feat. On a related note, I recently came across sqlite-repr [1] (built with Dioxus), which offers an interesting take on SQLite visualizations as well.
by hoc on 2/6/2025, 7:30:35 PM
Did that for a security tool about more than ten years ago. Makes you love that tightly designed engine a bit more.
I always thought an explorer or just an base lib would be fun. Great to see yours, especially with a MIT license. Tbanks for sharing.
by ks2048 on 2/7/2025, 12:03:03 AM
This looks cool, nice job.
Maybe add a color-legend to the front page? I didn't know what the colors represented at first.
It's kind of choking on a larger db (3.6GB, 942719 pages) - maybe you can paginate the pages.
by rousbound_ on 2/9/2025, 3:42:28 AM
Nice project, unfortunately when I run the executable it throws the error: "failed to run lua code: /index.lua:3: module 'utils' not found:".
by shlomo_z on 2/6/2025, 8:48:49 PM
Thank you!
As someone who isn't disciplined enough to sit through a course or class, this was a really good way to visualize what's going on under the hood, and how to structure my data more efficiently.
by jaseemabid on 2/6/2025, 11:15:07 PM
I recently wrote an explainer for the sqlite file format with some helpful diagrams. This might help.
by wwader on 2/7/2025, 1:28:45 PM
The sqlite source includes a CLI tool called showdb that is quite nice for poking around in database files
by ShaggyHotDog on 2/7/2025, 10:25:11 AM
Neat. Being learning about databases and this is very helpful!
by aappleby on 2/6/2025, 8:40:27 PM
Tool works well.
by jas39 on 2/6/2025, 11:55:46 PM
A true masterpiece:)
by electroly on 2/6/2025, 7:35:45 PM
It was revelatory to write an SQLite virtual filesystem module for a storage layer with extremely high latency (S3). Every seek matters. This would have helped; I looked at the reads executed by SQLite and tried to intuit what was going on inside the file.
Protip: Use WITHOUT ROWID with monotonic IDs if you don't want your rows sprayed randomly around the file! That one change was the difference between SQLite-on-S3 being unusably slow and being fast enough. WITHOUT ROWID tables let you manage the physical clustering.
by grimgrin on 2/6/2025, 7:55:19 PM
redbean!! redbean is so good
likely a bit outdated but:
https://github.com/shmup/awesome-cosmopolitan?tab=readme-ov-...
by luizfelberti on 2/6/2025, 7:13:44 PM
Upvoted for using Redbean. I've been using it recently and it has been absolutely amazing, the built-in functionality that it has exposed through the Lua interface makes it an extensively programmable proxy that you can sandbox the crap out of if you're familiar with the unixy bits of it
This is really neat. I posted an animated GIF screenshot here https://simonwillison.net/2025/Feb/6/sqlite-page-explorer/