Live data from Hacker News

Why sqlite3 temp files were renamed 'etilqs_*' (2006)

github.com

121–130 of 146 posts

Re: Why sqlite3 temp files were renamed 'etilqs_*' (2006)

#121

Love it. Too bad there aren't enough Mac users to prompt a similar backlash against Macs littering every computer they visit on the network with .DS_Store and other turds.

You can avoid creating .DS_Store files on network and USB volumes like so. defaults write com.apple.desktopservices DSDontWriteNetworkStores -bool true defaults write com.apple.desktopservices DSDontWriteUSBStores -bool true

[deleted]

Re: Why sqlite3 temp files were renamed 'etilqs_*' (2006)

#122
post #13

Earlier quoted context omitted.

This isn't remotely comparable. Those .DS_Store files are created in arbitrary directories by the Apple file manager or something. The SQLite temp files are created in the OS-specific temporary directory (e.g. C:/Users/username/AppData/Local/Temp or whatever on Windows) which is specifically intended for that purpose. SQLite isn't doing anything wrong; that's where it's supposed to store temporary data that doesn't f…

> Those .DS_Store files are created in arbitrary directories by the Apple file manager or something. .DS_Store files come from Apple's file systems containing a separate data and resource fork. APFS can natively store the contents, but for foreign file systems/network shares, a .DS_Store file is created to store those attributes.

> .DS_Store files come from Apple's file systems containing a separate data and resource fork

No, that would be ._ files (containing resource forks, when the corresponding file is stored on a volume with a FS not supporting them natively), which are much rarer these days given that resource forks are not really used anymore.

.DS_Store contains Finder metadata, as far as I know (non-default icon sorting or positioning, categories, tags etc.), and they occur on all volumes, including Mac native filesystems. Finder just hides them by default.

Re: Why sqlite3 temp files were renamed 'etilqs_*' (2006)

#123
post #111

Earlier quoted context omitted.

> .gitignore` is for stuff that all developers need to ignore But that is the case, all developers need to ignore the ".DS_Store" files. So by your own rule it is appropriate in there then?

I think the point is that only developers on Macs need to ignore them. If they properly do so, these files will never appear on other developer’s machines, and they therefore don’t need them in .gitignore.

It’s not that straightforward to ignore files in git without adding them to a local .gitignore, though.

Global .gitignore exists, but I just had to look it up again to refresh my memory – chances are, junior devs or hobby developers will never even consider it as an option.

That said, arguably ignoring .DS_Storage should be the default on macOS builds of git.

Re: Why sqlite3 temp files were renamed 'etilqs_*' (2006)

#124
post #32

Earlier quoted context omitted.

I meant use the name of the program that embeds SQLite, for example, McAfee, Google Chrome etc. This way the user could easily understand which program has created the files.

How does it get that in a cross platform way? Or want if the program name has exotic characters?

I think that in 2023 every decent OS should provide a method to get executable name. And every decent filesystem supports exotic characters.

Re: Why sqlite3 temp files were renamed 'etilqs_*' (2006)

#125
post #68

Earlier quoted context omitted.

The people who left those voicemails are now the ones leaving very odd and paranoid posts on GitHub issue trackers. There's a few unfortunate souls out there convinced that something called Lighthouse is trying to hack them.

The developer behind curl still receives abuse from confused and crazy people despite being an objective force for good in the software world. https://daniel.haxx.se/blog/2021/02/19/i-will-slaughter-you/ is proof that there are people out there whose mental illness will result in threats on your life (at least this specific person apologized later: https://daniel.haxx.se/blog/2021/08/09/nocais-apology/ ). It's diffic…

It's difficult to blame people for their mental illness, but the damage they do as a result of their actions is real, and while you can forgive you should never forget.

I got romantically and sexually involved with a person who had schizophrenia, they would occasionally make very wild and inaccurate accusations toward me, and when I broke it off they began stalking my friends, family, and me. At some point, the episode they were having ended and they stopped, and later, she said they forgave me for what I did (which was nothing).

While I sympathize that some of the emotions they were feeling were out of their control, the act of buying airplane tickets, renting cars, and harassing friends, family of mine, and me IRL was over the top and frankly, imo, unforgivable even with a diagnosis of mental illness.

Re: Why sqlite3 temp files were renamed 'etilqs_*' (2006)

#126

Earlier quoted context omitted.

> .gitignore` is for stuff that all developers need to ignore But that is the case, all developers need to ignore the ".DS_Store" files. So by your own rule it is appropriate in there then?

he must meant that you block something at its origin: dsstore managed by the OS, you block it at system level; `.o` produced by the project stuff, block it at project repo level.

I must admit that my viewpoint is coloured by the fact that I work on repos where most devs use OSX.

I can do the principled thing as you describe it. And then I can be angry every time a new dev arrives who doesn't have their computer correctly set up yet, or someone reinstalls their machine, or anything like that.

Or I can do the pragmatic thing, add one extra line to the .gitignore file and forget about it forever.

In my opinion this is not a hill worth dying on.

Re: Why sqlite3 temp files were renamed 'etilqs_*' (2006)

#127
post #42

Earlier quoted context omitted.

Why spend time and effort on all of that when applications can just configure it themselves if they want to?

If it were possible to determine the program name in a way that was portable and not too painful, it would be a nice feature for the library to automatically set a better default, both to save work for devs using it and to save sqlite devs the hassle of their library getting blamed for things that aren't its fault. Now, I don't think those conditions are likely to be met, but that doesn't mean it wouldn't be nice if…

> If it were possible to determine the program name in a way that was portable

Every decent OS in 2023 should provide a method for this.

Re: Why sqlite3 temp files were renamed 'etilqs_*' (2006)

#128
post #123
post #111

Earlier quoted context omitted.

I think the point is that only developers on Macs need to ignore them. If they properly do so, these files will never appear on other developer’s machines, and they therefore don’t need them in .gitignore.

It’s not that straightforward to ignore files in git without adding them to a local .gitignore, though. Global .gitignore exists, but I just had to look it up again to refresh my memory – chances are, junior devs or hobby developers will never even consider it as an option. That said, arguably ignoring .DS_Storage should be the default on macOS builds of git.

I just teach people about global gitignores then they know. If someone were to commit something to an open source project, I'd reject it and teach them about it too. I'm all about the global gitignores. The ignore file can actually act as a form of documentation if kept tidy. It's a single source of truth of all the artifacts an app can produce.

Re: Why sqlite3 temp files were renamed 'etilqs_*' (2006)

#129
post #116

I have a related story: Around the year 2000 I was working operations in the NOC for WebTV (then owned by Microsoft). For those who don't know, WebTV was a little set-top box with a modem which would dial up on demand and provide a very basic web/chat/email experience on the TV. The box would call a 1800 number to figure out its own phone number, then re-dial on a local toll-free number with a local sub-contracted IS…

Microsoft ends up, wrongly, in the firing line for a bunch of things, similar to the story you told and to the sqlite_ comment in TFA. Notice that on iOS (for example) if an app crashes it just disappears > poof! On Windows when an app crashes (or you kill a non responsive app), you then see a dialog with Microsoft Windows branding saying that it is logging that the app crashed. As nerds we understand why… but the re…

macOS is a better comparison to Windows than iOS is, since iOS is just for iPhones and not desktops. macOS will show you the stack trace of a crashed app in a dialog. This allows more technical people a chance look into the reason for the crash. Users have the option to share the stack trace with Apple.

Re: Why sqlite3 temp files were renamed 'etilqs_*' (2006)

#130
post #68

I have a related story: Around the year 2000 I was working operations in the NOC for WebTV (then owned by Microsoft). For those who don't know, WebTV was a little set-top box with a modem which would dial up on demand and provide a very basic web/chat/email experience on the TV. The box would call a 1800 number to figure out its own phone number, then re-dial on a local toll-free number with a local sub-contracted IS…

The people who left those voicemails are now the ones leaving very odd and paranoid posts on GitHub issue trackers. There's a few unfortunate souls out there convinced that something called Lighthouse is trying to hack them.

I always imagine them as being a lot like Ron from GTA5.
Post reply on HN