this post was submitted on 06 Jul 2024
948 points (99.4% liked)

Programmer Humor

19817 readers
136 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
 

via: @[email protected]

https://wetdry.world/@memes/112717700557038278

the sqlite codebase is a gem.

tldr; mcaffee made a shit ton of sqlite files in the temp folder causing people to call the sqlite devs phone angrily. now they name all files etilqs to prevent this.

Text from the screenshot:

2006-10-31: The default prefix used to be "sqlite_". But then Mcafee started using SQLite in their anti-virus product and it started putting files with the "sqlite" name in the c:/temp folder. This annoyed many windows users. Those users would then do a Google search for "sqlite", find the telephone numbers of the developers and call to wake them up at night and complain. For this reason, the default name prefix is changed to be "sqlite" spelled backwards. So the temp files are still identified, but anybody smart enough to figure out the code is also likely smart enough to know that calling the developer will not help get rid of the file.

Code found at: https://github.com/sqlite/sqlite/blob/master/src/os.h#L65 (The line numbers in the screenshot and the code don't match up)

top 50 comments
sorted by: hot top controversial new old
[–] [email protected] 160 points 5 months ago (1 children)

Wasn’t there a story about people calling curl devs because of car issues?

For what it’s worth, I’m sure the SQLite devs could help somebody clean up their temp files. They just really shouldn’t have to.

[–] [email protected] 138 points 5 months ago (1 children)
[–] [email protected] 48 points 5 months ago (2 children)

Yes! Hahaha, it’s so good.

Number 2 needs to flick the little switch on the SD card.

[–] [email protected] 18 points 5 months ago

and so the internet wisdom has solved the person's problem. Alas they will never find out

[–] [email protected] 4 points 5 months ago (2 children)

Their issue is that the card has the physical lock switched on on the SD card?

load more comments (2 replies)
[–] [email protected] 78 points 5 months ago
[–] [email protected] 50 points 5 months ago* (last edited 5 months ago) (5 children)

Forgive my ignorance. SQLite is a database software. Why would McAffee create lots of database files?

[Edit:] I’m not asking why a program needs to store data. I’m asking why that necessitates many files. One database file (or one per table) should be enough, right?

[–] [email protected] 66 points 5 months ago (1 children)

Many programs use SQLite internally and McAfee decided to store the database files in C:/Temp

[–] [email protected] 2 points 5 months ago

No, these are sqlite temp files, not the database files. McAfee had no control over the temp files.

[–] towerful 53 points 5 months ago (1 children)

Sqlite is a great embedded database.
If you are storing lots and lots of information in a JSON file, CSV file, or coming up with your own serialisation... Chances are, sqlite is going to do it better.
I know loads of android apps use sqlite for storage. I've also managed to open quite a few programmes "proprietary" file format in sqlite.

[–] [email protected] 64 points 5 months ago* (last edited 5 months ago) (8 children)

A yes, the two genders of binary file formats: renamed sqlite file and renamed zip folder.

[–] [email protected] 10 points 5 months ago

Don't forget renamed and compressed xml + zip

load more comments (7 replies)
[–] Michal 20 points 5 months ago

The program needs to store multiple temporary files (one per virus definition update, or scan results or whatever purpose).

It looks like they simply picked sqlite as a format because the data has a structured format and that way they leverage databases robustness, easiness to read and query the data.

The comment appears to be from 2006. Sqlite mightve had some limitations then that necessitated creating a new (temporary) database file as a subset of larger database for performance reasons or to allow multiple processes to read/write them and then consolidate data back into the single database.

[–] [email protected] 9 points 5 months ago (3 children)
load more comments (3 replies)
[–] [email protected] 5 points 5 months ago

Al sorts of applications would enjoy a database to log all sorts of stuff, store results, capture events, etc.

SQLite is great because it doesn't necessitate another infra dependency as it is stored to file

[–] [email protected] 35 points 5 months ago (1 children)

John McAfee would be spinning like a rotisserie chicken in his grave. Or at least he would be if McAfee Software hadn't already turned to shit long before his death.

So the temp files are still identified, but anybody smart enough to figure out the code is also likely smart enough to know that calling the developer will not help get rid of the file.

Don't underestimate the stupidity of your average person.

[–] [email protected] 8 points 5 months ago

Was gonna say, this wouldn't happen on John's watch. /S

[–] livingcoder 27 points 5 months ago (3 children)

I love how the solution didn't involve changing the prefix to "mcaffee_". Now users don't know who to blame. Great. That's so nice of them.

[–] [email protected] 72 points 5 months ago* (last edited 5 months ago) (1 children)

Then mcaffee_ would be appearing in unrelated sqlite-using applications

[–] livingcoder 5 points 5 months ago

Oh, I thought that the temp files were named by the user. If that's not the case, that these are not databases created specifically by McAfee in the temp directory, then I'm not sure what the appropriate solution should be. Obscuring the file type and how the file is used from users is still a bad practice.

[–] [email protected] 38 points 5 months ago (5 children)

Why would sqlite put references to an unrelated product in their codebase?

load more comments (5 replies)
load more comments (1 replies)
[–] [email protected] 25 points 5 months ago (1 children)

I used to tell people that John McAfee always exited a room by jumping through a window while yelling, "MCAFEE RULES!" Which he didn't, but maybe he did? Anyway, I miss that crazy motherfucker. Sometimes nuts make the world more fun.

[–] [email protected] 3 points 5 months ago

He was an interesting one but not a good one.

[–] [email protected] 18 points 5 months ago (3 children)

Hm. The first hit on DuckDuckGo is a single entry for a guy and all it says is Contact the Business Inquiries.

You would think a better solution to this problem would be to put a message on that page stating that if you’re a McAfee user looking for information about SQLite files in your temp folder, to call the McAfee support line.

But hey what do I know, right?

[–] [email protected] 87 points 5 months ago* (last edited 5 months ago) (1 children)

Did you just expect people that call random devs at random times to actually read any information on a website?

[–] [email protected] 4 points 5 months ago (1 children)

If that information said something like “McAfee users concerned about temp files, call (800) 123-4567”, then yes. Did I suggest anything more than that? No. 🙄

[–] [email protected] 52 points 5 months ago (4 children)

Lol you never worked customer service or hell desk have you?

The kinds of people who need this message, you would have lost the second you said "temp files"

[–] tyler 9 points 5 months ago (2 children)

Well these people making these calls are finding the temp folder

[–] [email protected] 23 points 5 months ago (1 children)

Irrelevant, these people will find their way into folders they have no business in and no idea what it's doing and break shit

It's a big reason MS started hiding the windows folder after Win 98 (maybe 95)

load more comments (1 replies)
[–] [email protected] 6 points 5 months ago* (last edited 5 months ago) (2 children)

Assuming that they went out to look for it, and didn't just poke google with ("sqlite hacked my computer") until they found a phone number.

If they had gotten the phone number for a company called Super Queasy Lite and Easy/SQLitE instead of the developers, the company might well have received the calls instead.

load more comments (2 replies)
[–] [email protected] 4 points 5 months ago

hell desk

Brilliant.

load more comments (2 replies)
[–] [email protected] 12 points 5 months ago (1 children)

Yup, you found the developer. That's his phone number.

It's not exactly a new change either. In 2006 people weren't going to the specific page from duckduckgo, they were probably finding the sqlite homepage, and then tracking down the contact info.

20 years later it's probably better to maintain consistency with the prefix than to change it even if it's weird.

[–] [email protected] 3 points 5 months ago (1 children)

Update the site with mcafees phone number and only have the real one behind a click through you have to read

[–] [email protected] 4 points 5 months ago (2 children)

So, sure that might work. More likely they forgot this bit is even here on account of it being 20 years old.

Also, never doubt the persistence of a sufficiently motivated and impatient user. I don't think needing to read something has ever stopped one.
You can literally put animated flaming text and people will click right past.

load more comments (2 replies)
[–] vcmj 9 points 5 months ago (1 children)

The way I understand the users didn't necessarily realize McAfee is responsible, just that a bunch of sqlite files appeared in temp so they might not connect the dots here anyway. Or even know McAfee is installed considering their shady practices.

load more comments (1 replies)
[–] [email protected] 16 points 5 months ago
[–] starman 8 points 5 months ago* (last edited 5 months ago)

There's a solution for this McAfee problem:

https://m.youtube.com/watch?v=bKgf5PaBzyg

load more comments
view more: next ›