via: @memes@wetdry.world
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)
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.
Are you talking about this: I have toyota corola?
Yes! Hahaha, it’s so good.
Number 2 needs to flick the little switch on the SD card.
and so the internet wisdom has solved the person’s problem. Alas they will never find out
Their issue is that the card has the physical lock switched on on the SD card?
Chances are, right? At least it’s the first thing I’d check.
Ha that’s a good point.
Well
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?
Many programs use SQLite internally and McAfee decided to store the database files in C:/Temp
No, these are sqlite temp files, not the database files. McAfee had no control over the temp files.
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.A yes, the two genders of binary file formats: renamed sqlite file and renamed zip folder.
Don’t forget renamed and compressed xml + zip
Aren’t sqilte files themselves (like most other things) just fancy text files?
Nah, only actual string data is stored as text. Everything else is stored as binary: https://www.sqlite.org/fileformat.html#record_format
The file also isn’t written sequentially, it’s stored in blocks (pages), where sometimes later data can be inserted in the middle (e.g. when data was deleted).
I did say fancy.
Then I guess my laptop is just a fancy boat.
Haven’t seen your laptop, but if it’s anything like mine it’s a very lousy boat.
Ahoy sailor
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.
Virus definitions?
Does sqlite create a file for every page in the table or what?
No, but developers are free to implement things in whatever crazy way they can dream up.
Nobody ever accused McTrellix of being efficient software 😆
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
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.
Was gonna say, this wouldn’t happen on John’s watch. /S
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.
Then
mcaffee_
would be appearing in unrelated sqlite-using applicationsOh, 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.
Why would sqlite put references to an unrelated product in their codebase?
The same reason that McAfee did?
McAfee wrote a program that used the Sqlite library for database storage.
When going about its data storage business for McAfee’s program, the Sqlite library was storing files in C:\temp with prefixes like sqlite_3726371.
Users see that and get angry, and bug the Sqlite developers.
Now probably when initialising the Sqlite library McAfee could have given it the location of a directory to keep it’s temp files. Then they could have been tucked away somewhere along with the rest of the McAfee code base and be more easily recognised as belonging to them, but they didn’t.
So because of a bit of careless programming on McAfee’s part, Sqlite developers were getting the heat because the files were easily recognisable as belonging to them.
Because the Sqlite developers don’t have control of what McAfee was doing, the most expedient way to solve the problem was to obfuscate the name a bit.
Yeah, if it’s purely a Sqlite implementation detail to create temp files, that’s on them to own and fix. I thoroughly dislike that the files are obscured from users.
McAfee might be doing something weird with the database, for example not closing it properly.
McAfee didn’t, sqlite produces that name on its own. Its McAfee that stored them weirdly
the solution is not on the mcafee side but on sqlite
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.
He was an interesting one but not a good one.
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?
Did you just expect people that call random devs at random times to actually read any information on a website?
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. 🙄
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”
Well these people making these calls are finding the temp folder
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)
How is that irrelevant? The folder is literally called Temp. Doesn’t matter anything else. You said, and I quote, “The kinds of people who need this message, you would have lost the second you said “temp files”.”
Obviously not sure, given where the files were located. 🤦♂️
And of course they didn’t know what the files were for; probably why they went searching for it, and eventually found the contact info for Richard Hipp.
Me thinks you just want to shit on people for no other reason than to make yourself feel superior to them. 👏 Congrats!
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.
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.
and how in the world did they know to type the word “sqlite” in. Dude, the files are in the temp folder. The only way they know the name “sqlite” is if they literally visited the folder and looked there.
Error message? McAfee can’t write to the drive because it’s full of photos of their grandchildren and dogs, so it clicks up “can’t write to c:\temp\sqlite_arcane_computer_magic.log: Disk is full”, and it goes from there?
hell desk
Brilliant.
You do realize that these people were looking up contact info from a company they found because they were … wait for it … looking at files inside the temp folder … otherwise known as … are you sitting down? You really should sit for this … temp files!
Imaging that. 😳 🤣
By the way, I worked technical support for my local dialup ISP, Adobe, Best Buy (before they were called Geek Squad), and OnStar.
But sure, what you said… 😉
looking at files inside the temp folder … otherwise known as … are you sitting down? You really should sit for this … temp files!
The point OP is making is that those people would not put 2 and 2 together to understand that the files they were looking at are called temp files, just because that’s the folder they found them in. They may not even remember the name of the folder, only that it contains a bunch of files with a prefix they’re now googling.
Not sure why I’m bothering explaining this to you, the way you responded makes you look absolutely insufferable, but maybe someone else who comes across this will find it useful.
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.
Update the site with mcafees phone number and only have the real one behind a click through you have to read
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.During my time in a call center people would often call for invoices or messages they received. Most of my work there was reading the thing together with them. Nothing more was necessary, I just read alound their itemized invoice that they had received and it would solve their problem.
Click through pop-ups are even worse in this regard. I myself usually just automatically click No before I understand what just happened.
I worked for a developer at a Web hosting company for a while. I really wish my story about flaming text wasn’t true, and that the words weren’t “permanent unrecoverable data loss”, and the audience wasn’t internal support technicians.
Gotta have a way to delete a vps, and there’s only so much you can do to get someone to check that they have the right one.
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.
Fair point about not knowing McAfee if involved. But at the same time, it beats having your dev getting phone calls at all hours because McAfee’s devs were to lazy to ready the source file and learn how to change the freaking prefix of the file.
There’s a solution for this McAfee problem:
What a time it must’ve been, being able to publish your phone number online without fear. Now you give it to any website and it’s sold straight away to advertisers. Making it public would be a nightmare.
Making it public is required by law at least in Germany, Impressumspflicht
I have my phone number on my personal website—never had any adverse consequences. In fact, the only two calls I’ve gotten have both been at my work number which isn’t on there somehow. One to ask a genuine question and one to give me 30 bucks in appreciation.
deleted by creator
You don’t even need to make public yourself. City governments do it automatically, mostly if you’re a home owner. Other companies do it because they keep getting hacked.
Try it.
Go to your favorite search engine and type in your phone number (format it to look like a phone number). If you haven’t already gone through and had yourself removed from these types of sites, you’ll be appalled at what you find.