From 92ac67ca61ba835938eae05c8e7aa37dd6691eec Mon Sep 17 00:00:00 2001 From: Ethan Dalool Date: Fri, 1 Jan 2021 15:48:49 -0800 Subject: [PATCH] Add sqlite_what_a_hunk.md. --- .../sqlite_what_a_hunk/sqlite_what_a_hunk.md | 20 +++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 voussoir.net/writing/sqlite_what_a_hunk/sqlite_what_a_hunk.md diff --git a/voussoir.net/writing/sqlite_what_a_hunk/sqlite_what_a_hunk.md b/voussoir.net/writing/sqlite_what_a_hunk/sqlite_what_a_hunk.md new file mode 100644 index 0000000..467a14e --- /dev/null +++ b/voussoir.net/writing/sqlite_what_a_hunk/sqlite_what_a_hunk.md @@ -0,0 +1,20 @@ +SQLite, what a hunk! +==================== + +Oh. My. God. Systers. Listen up. See that database in that corner there with the cute leather-bound journal? Don't stare! Yeah, that's SQLite. SQLite! You know!! Well, he's *oooonly* the handsomest, hunkiest piece of OSS in pretty much the *whole world*. + +SQLite's got, like, billions and billions of installs. I mean there's basically more SQLite installs than people. I bet you've got a dozen in your purse right now and you don't even realize it, that's how installed he is. And he hardly even flaunts it. He's written in C, right, so he's like the most cross-platform thing you've ever seen besides blinking LEDs. + +Girls, we gotta talk testing. You know how most libraries just moan and whine *awwwwww, do I have to? do I have to do testing? I don't waaaannaaa* and they just ship without it, right? Such babies. What a turn off. It's just so typical. I mean, like, you only spent hundreds of hours on that program, *surely* you don't wanna make sure it actually **works**, do you? Then *oops*! it's full of bugs! Like duh!! Or -- or -- they'll import the latest hotshot testing library they saw on Twitter and pack it to the lid with mocks faker than their designer jeans and fixtures that wouldn't even fit in their SF studio apartment. Is that what passes for testing these days? Talk about posers. Then there's SQLite and, just listen to this: "The reliability and robustness of SQLite is achieved in part by thorough and careful testing". Understatement. of. the. YEAR! SQLite's got **six-hundred-and-forty** times more test code than actual library code. No! I'm not joking! And these are honest-to-god full branch coverage tests we're talking here. SQLite's got more tests than you've got self-respect and then he's got self-respect on top of that. + +Okay, now see that other repository by the bar? The one who's always posting selfies on Medium and Show HN? Yeah, he's got like three monthly pageviews and ten GitHub stars *total* and *still* has the gall to license himself under a restrictive license. Pffffft! yeah!! right!!! **As if** anyone's gonna wanna steal **that**. Gross!! Get real. Meanwhile SQLite is literally in the **public domain**. Not even the Linux kernel is willing to go there. God that's so hardcore. Can you believe it? SQLite's like "you wanna copy me? sure thing". Go ahead and find one other piece of software with THAT much confidence. I'll be waiting. So don't waste my time telling me about your dates with *""humanitarians""* because the most devoted, generous, and well-indexed humanitarian *I've* ever seen is sitting right. over. there. + +He's not the kind of open source that says "if you found a problem, just make a pull request". No way. If you do that, SQLite literally won't even use it. He'll rewrite the whole thing from scratch without breaking a sweat. Well, because it's the right thing to do! To maintain the purity of the public domain and everything. You can scrape Stack Overflow alllllll you like and you won't find a single line that's been copied into the SQLite source. That's for children, and children don't know how to run a business with projections to 2050 the way SQLite does. + +And the docs. Wow the docs. I'll text you the link later, you've **got** to check them out. Not only are the docs backed by an SQLite instance on a shared VM with twenty-three others that STILL maintains a system load below 0.1 -- because SQLite is a gentlemen and that's what gentlemen do -- but the tone throughout the whole thing is just dripping with confidence but, like, also humility. Is that an oxymoron or something? Who cares. Like there's a whole section telling you when NOT to use SQLite and, turns out, SQLite is still pretty much always awesome. Not like those desperate, insecure modules that gotta sound like they're made of pixie unicorn dust just to get your attention. Or even worse is when they're backed by a proprietary web service. Um, no thanks! Don't you know you're competing with an in-process database here? You can literally even download the support forum to read through it offline, that's how independent SQLite is. And just check the page source when you're reading the docs. First time I did I was like "whaaaat! where's all the javascript!! isn't this the modern web!!" you know what I mean? No way. SQLite's old school. I bet he gets his B-Trees properly tailored and everything. Mmmm, how I'd like to see that! So lean but still *sooo* powerful. What a hunk. Oh and those properly SVGed railroad graphs, the ones that even work with ctrl+f? Now those have saved my bacon more times I'd care to admit. Speaking of old school, take a look at the comments inside the amalgamation sometime. I mean of course they're exemplary, but notice anything about the punctuation? Wow, what a throwback. + +Now, it's been a long time since one-liners were in fashion. I mean it's so eighties. Like leg warmers. Most of the time, I hear a one-liner, and I'm like, *come on Schwarzenegger stop it already*. But SQLite just pulls it off somehow. "Small. Fast. Reliable. Choose any three." Now THAT'S a timeless line. If every program was even 5% of what SQLite is, the world'd be a better place. Oh! Shhh! He's coming this way! + +*swoon, faint* + +SQLite makes me feel inadequate.