Live data from Hacker News

Dotfile madness

0x46.net

451–460 of 534 posts

Re: Dotfile madness

#451
post #288

Earlier quoted context omitted.

Python did this until very recently too. Windows has a problem, because people expect to use those programs in the command line and the %PATH% has a size limit and is a bit difficult to set-up properly.

I always add C:\U to my Path and store all standalone executable programs to C:\U I also have C:\CMD for my own batch files. Every single program should be fully contained in its own directory including all the settings,logging,configuration etc... No touching of any common resource or repository. It should be enough to delete single tree to fully uninstall program with all the garbage it created along the way

Also would make it easier to backup the program and its data or copy them to a new system.

But it seems because of the idea that some people may want to back up data and config separately, we end up with stuff scattered everywhere, with some even hidden away in the Windows Registry. Makes backups ridiculously complex.

Re: Dotfile madness

#452

Earlier quoted context omitted.

At my university I only have write permissions in my home folder so I prefer this too and I only need to backup my home directory as well.

You don't have permissions to create directories in your $HOME, or write files to them?

[deleted]

Re: Dotfile madness

#453
post #252

The real problem is that any app I run accesss all files I own with equal permissions. App1 and App2 shouldn’t write their data to my home, or read each other’s data, or, please, be able to write each other’s data. A video game can read my tax forms. WTF. Mobile & tablet OSs solve this. Everything has to follow. Until then, basically every app should run in a docker container. Then it can do what it wants.

Mobile & tablet OSs solve this. Everything has to follow. No no no NO!!!! Think of all the things you can't do on a mobile device that you can do on a PC, or which require ridiculous workarounds like uploading from one app to some server on the Internet and then downloading again into another. Effortless data interchange is what makes computing great, and stops proprietary walled-garden data-silos from becoming the n…

Exactly! I remember the days of proprietary data formats, when people would literally have to print out data from one program to type it back into another. Let's not regress to that.

Re: Dotfile madness

#454

Earlier quoted context omitted.

I understand not backing up AppData/Local, but everything in AppData/Roaming is supposedly important enough to sync it over the network (if you use domains or another mechanism to give you the same Windows account on multiple computers). Any default policy which doesn't back up AppData/Roaming seems ill advised.

My "Roaming" is 12GB. I don't think Chrome and Firefox listen to that advice.

Thunderbird infamously places the local copy of IMAP mails (i.e. Effectively a cache) into Appdata\Roaming. It's the single largest directory I have there. Everything else is quite reasonable in size.

Re: Dotfile madness

#455
post #252

The real problem is that any app I run accesss all files I own with equal permissions. App1 and App2 shouldn’t write their data to my home, or read each other’s data, or, please, be able to write each other’s data. A video game can read my tax forms. WTF. Mobile & tablet OSs solve this. Everything has to follow. Until then, basically every app should run in a docker container. Then it can do what it wants.

Yes, this entire discussion is part of a whole other problem: there's too many properties of programs one has to trust esp. on desktop (or alternatively be stuck configuring selinux for days).

One should/must/can not build an operating system on trust alone, as especially the mobile software space consistently continues to show with its numerous malware apps (imagine that on the desktop! "oh sure, have root/admin '50 smileys FOR FREE'", "oh sure, be able to read and write all my user's files ").

Mobile OSs have become vastly better (not perfect still) than this than desktop OSs.

I would like to see desktop Linux's application management adapt a minimum necessary permissions policy: Allow access to some ressource/API/permission only if the app needs it (and the user allows it of course) and offer mechanisms to allow permission management and ways to enable inter-application communication. This also modularises applications more by bundling up their connections to the rest of the platform and their effects in a central location.

For instance sandboxing applications into their own empty folder would make it simpler to operate on files these applications created (backup, migrate, autocreate Nowadays files are all bunched up in arbitrary folders and nobody knows where they're coming from. It's become so much harder these days to coordinate so many projects that need to create files in the home folder on Linux by trying to introduce standards versus taking that capability away from programs transparently; this should also be much more efficient man-hours-wise.

That said, this is going to be a nontrivial project with how many implicit connections between applications exist. Executing untrusted (or buggy!, I'm looking at you, Steam) software should no longer have to make me afraid my system gets messed up.

For now I think it's best to simply not run untrusted programs and creating regular backups... I wish I had the time/skills to work on something like this.

Re: Dotfile madness

#456
post #90
post #16

To name and shame some culprits (the one's who have shame, I won't name java because I won't expect them to care) 1) Mozilla 2) Gnome 3) Gimp 4) GPG 5) Thunderbird (Why is there a sep directory and not under .mozilla) 6) mplayer I guess one reason why this occurs is that it's easier for to be carelessly cross-platform this way. Except you'd expect better from mozilla, specially because they store Windows stuff very w…

Speaking of Windows, their situation is worse. I remember installing a couple of games and suddenly my "My Documents" folder had "EA", "EA Games", "Electronic arts", "Rockstar games" folders.

Which is why back when I did have a Windows partition, I always had a ~/MyDocs folder that worked as my actual "My Documents" folder.

Re: Dotfile madness

#457
I create a "Library" directory on my machines because of this, it's not a great fix at all but it makes it a little more sane.

With this I can also more easily sync my files across machines.

Re: Dotfile madness

#458
> It is beyond me why my home directory ended up up containing a node_modules directory, package-lock.json, a yarn.lock file (I have never even consciously used yarn!),

Sounds like there’s a bigger problem.

Re: Dotfile madness

#459

To me, the real problem is not the dotfiles, but the regular (i.e. non-hidden) files that applications surreptitiously create in my home folder. (Which the author does mention as being particularly bad.) dotfiles in the home folder are not a new thing on Linux (e.g. .bashrc, .profile, .emacs, etc.), even if it would be better if more applications used the XDG folders. And if I don't see them when I "ls", they don't b…

I use a tool from ESA called Snap. It defaults to ~/snap as well. Oh, the collisions.

Re: Dotfile madness

#460
post #252

The real problem is that any app I run accesss all files I own with equal permissions. App1 and App2 shouldn’t write their data to my home, or read each other’s data, or, please, be able to write each other’s data. A video game can read my tax forms. WTF. Mobile & tablet OSs solve this. Everything has to follow. Until then, basically every app should run in a docker container. Then it can do what it wants.

I solved this problem by switching to Qubes OS.
Post reply on HN