this post was submitted on 13 Sep 2025
319 points (99.1% liked)

Programmer Humor

26372 readers
1269 users here now

Welcome to Programmer Humor!

This is a place where you can post jokes, memes, humor, etc. related to programming!

For sharing awful code theres also Programming Horror.

Rules

founded 2 years ago
MODERATORS
 
top 50 comments
sorted by: hot top controversial new old
[–] umbraroze@slrpnk.net 27 points 3 days ago

Yeah, I took one course where we used MongoDB. I was like "still unconvinced, but I'll keep this in mind if I run into situations not covered by PostgreSQL." ...I've not run into situations not covered by PostgreSQL. Everything will be covered by PostgreSQL.

[–] muhyb@programming.dev 135 points 4 days ago

Jesus Christ, that's JSON Bourne.

[–] ThePyroPython@lemmy.world 122 points 4 days ago (1 children)

Yes that's right, it goes into postgres.

[–] fargeol@lemmy.world 71 points 4 days ago (2 children)

“You know what ELSE everybody likes? Postgres! Have you ever met a person, you say, ‘Let’s use some Postgres,’ they say, ‘Hell no, I don’t like Postgres’? Postgres is perfect!”

[–] thebardingreen@lemmy.starlightkel.xyz 33 points 4 days ago (2 children)

Yeah! Postgres is great!

  • Mutters something under his breath about MariaDB.
[–] marcos@lemmy.world 15 points 3 days ago

MariaDB

Let's schedule a meet-up at 00/00 year 0000 to talk about it.

[–] somerandomperson@lemmy.dbzer0.com 11 points 3 days ago* (last edited 3 days ago)

elephant walks in

[–] RustyNova@lemmy.world 14 points 4 days ago (1 children)

I 100% agree... If you don't need portable databases. For those, everybody like SQLite (even if it can be annoying sometimes)

[–] wetbeardhairs@lemmy.dbzer0.com 4 points 2 days ago (1 children)

You can pry sqlite out of my cold dead hands. Because I'll probably die while using it out of frustration due to the poor performance of triggers.

[–] RustyNova@lemmy.world 3 points 2 days ago (1 children)

Tbh trigger performance isn't that much of a concern unless you need to write lots of data, which most usage don't need.

Also try check statements instead or even re-evaluate your schema to prevent them if you really need to.

Personally my death would be multiple write transaction deadlocks. Sadly it doesn't play that well with async code, like with sqlx (rust).

[–] tatterdemalion@programming.dev 2 points 2 days ago* (last edited 2 days ago) (1 children)

My death was the fact that table lock acquisition is not FIFO.

https://sqlite.org/forum/forumpost/8d7d253df1b9811b4b76c2c4c26ac0740e73d06e9edfeb2ab8aabaebd899cbc8

Thankfully I can at least have FIFO in a single process by wrapping every write transaction in a mutex.

P.S. can't wait for turso's SQLite replacement to have feature-parity and sqlx support.

[–] RustyNova@lemmy.world 2 points 2 days ago

This is also part of my death, because it's much easier to not deadlock when you are FIFO.

Personally I went for the nuclear option, and any transaction is sent as a tokio task to make sure the transaction keeps getting polled despite other futures getting polled. Coupled with a generous busy timeout timer (60secs) and Wal mode, it works pretty well.

Probably should also put the mutex strategy (perhaps a tokio semaphore instead?) although due to lifetimes it might be hard to make a begin() function on my DB pool wrapper.

... Congratulations. You nerd snipped me. Time for it to go on the todo stack.

Hyped for it too, but wouldn't use until sqlx suport. Compile time checked queries are just so good. I don't use rustsqlite for that reason alone (you often don't need async SQLite anyways)

[–] cupcakezealot@piefed.blahaj.zone 34 points 3 days ago (2 children)

who needs any of that when you have microsoft access

[–] SCmSTR@lemmy.blahaj.zone 10 points 3 days ago

Ow, my integrity

[–] qaz@lemmy.world 15 points 3 days ago (2 children)

There is actually an open source alternative for that in the Libreoffice suite called "Base"

[–] ksh@aussie.zone 3 points 2 days ago (1 children)

Is it actually any good for small personal projects? Just want someone who has used it to answer as I’m considering putting some work into it.

[–] qaz@lemmy.world 1 points 2 days ago

I tested it once and it didn't really impress me. Perhaps you can try using something like Grist.

[–] tyfon@sh.itjust.works 4 points 3 days ago

I have used libre office base and found it's buggy mess.

  1. Not all drivers support all functions, so if you are wondering why some options are not present it's probably adapter not supporting it.
  2. Errors and help are usually empty or super generic like 'syntax incorrect'.
  3. Interface sometimes bugs out when long syntax is present in input fields
  4. Because of 1. It also doesn't support all syntax from Microsoft SQL, MySQL etc.

I sugest to use dbbever for any DB, it's different but at least it's not a buggy mess. Or pgAdmin for Postgresql. Or DB Browser for SQLite

[–] r00ty@kbin.life 38 points 4 days ago (3 children)

Yeah, but is it web scale?

[–] zea_64@lemmy.blahaj.zone 50 points 3 days ago (2 children)

/dev/null is web scale, it maintains sub 1ms times no matter how much load you give it!

[–] r00ty@kbin.life 24 points 3 days ago (2 children)

Does /dev/null support sharding?

[–] marcos@lemmy.world 25 points 3 days ago

Yes, you can run as many replicas as you want. It's also incredibly lean on the synchronization bandwidth.

[–] squaresinger@lemmy.world 23 points 3 days ago (2 children)

It certainly supports the admin sharting when he finds out where all the data went.

[–] Bakkoda@sh.itjust.works 3 points 2 days ago
load more comments (1 replies)
[–] desmosthenes@lemmy.world 6 points 3 days ago

lololol yusssss

[–] fxdave@lemmy.ml 11 points 4 days ago (1 children)

With SQL you scale it when it is required by sharding, read replicas, cache layers, and denormalization.

With NoSQL afaik, we have to deal with the scaling from the beginning by keeping the consistency of denormalized data, that has additional code overhead. Is mongoDB different in this regard?

[–] floquant@lemmy.dbzer0.com 7 points 4 days ago* (last edited 3 days ago) (2 children)

EDIT: I got whooshed. Thanks for the reference :)

edit edit: Holt shit how did I miss this for 15 years. This is great, stayed accurate all this time.

Shoutout to software that had to deal with y2k and is still popular, gotta be one of my favourite genders.

[–] magic_lobster_party@fedia.io 26 points 4 days ago (1 children)
[–] Thedogdrinkscoffee@lemmy.ca 5 points 3 days ago

I've never seen that one. It's a masterpiece for sure. Thanks.

[–] Feyd@programming.dev 6 points 4 days ago

Just fyi you're taking a meme seriously

[–] velxundussa@sh.itjust.works 3 points 2 days ago

I manage instances of both mongo and postgres at work.

I'll say Mongo OpsManager is pretty sweet, and HA is way easier on Mongo.

[–] rikudou@lemmings.world 25 points 4 days ago (6 children)

Just use Mongo, it scales so well!

Never understood why anyone chose Mongo. Though I have some funny memories getting rid of it because it was slowing the app down sooo much.

If you need something for storing JSONs and querying, just use ElasticSearch/OpenSearch.

[–] NigelFrobisher@aussie.zone 12 points 4 days ago

Oh god, all the people storing massive JSON documents, and then having to lock the whole thing to modify sub-entities.

[–] Venator@lemmy.nz 4 points 3 days ago

Or add a column next to the json with some data about the json and index that.

[–] magic_lobster_party@fedia.io 6 points 4 days ago (1 children)

But is Elasticsearch web scale?

[–] nik9000@programming.dev 3 points 2 days ago

I say this with all appropriate irony: as the guy that deployed it at for Wikipedia, yes.

load more comments (3 replies)
[–] Psaldorn@lemmy.world 5 points 4 days ago (2 children)

Had to roll my own JSON storage system after spending weeks trying to get sqlite to work on Godot/android.

It took a day and will suck at scale because there are no indexes. It just goes through the whole file, line by line when you search for an id.

BUT IT WORKS.

Hopefully the repos and stuff I piled on top have made it abstract able enough I can move it to a real database if the issue ever gets resolved.

[–] sunbeam60@lemmy.ml 22 points 4 days ago (1 children)

I’m confused about your SQLite troubles … it compiles for pretty much everything - as long as you have a file system mapping.

[–] Psaldorn@lemmy.world 5 points 3 days ago (1 children)

It's not just me, but seems to affect Godot c# deployments to mobile

https://github.com/godotengine/godot/issues/97859

Worked fine on desktop

[–] sunbeam60@lemmy.ml 5 points 3 days ago (1 children)

Ahh, it’s not an issue about SQLite but about whether the right libraries are bundled by Godot. Got it, that explains it.

load more comments (1 replies)
[–] wetbeardhairs@lemmy.dbzer0.com 1 points 2 days ago (1 children)

Just store the JSON in a sqlite table with an extra column or two for commonly indexed stuff....?

[–] Psaldorn@lemmy.world 2 points 2 days ago

No, you misunderstand. Sqlite just does not work when it's packaged by Godot mono for mobile (see the ticket in the other replies)

It worked fine on desktop which made it more frustrating

[–] goatinspace@feddit.org 3 points 3 days ago* (last edited 3 days ago)
load more comments
view more: next ›