What is backup (in Notepad++ context)? ... let the flames raise high
-
@gstavi
I could not agree more. -
@gstavi
I agree with all points as long as the SCM (git) is local, not on the open internet (as github/gitlab/sourceforge/et al are). Local does have multiple definitions (my machine, an in building shared server, a private corporate (offsite) server) but it NEVER means some random “cloud service” (they are for sharing, not backup). -
I could easily wade in here and provide yet another view on what a backup should be. We all have our own ideas, and for us they are valid and assumed to be the best, well they are our preference so they must be the best, no?
I think the root issue with the Notepad++ backup system is that
IT IS ENABLED
by default and has been set to a particular preference, albeit that has now changed due to what I believe unwarranted negativity in some of the posts. Did the posters even attempt to understand what it was set to before using Notepad++, mostly it would appear no! They then complain when an issue arises perhaps several months later when they attempt to recover from a problem and find it was not set to how they wanted or assumed it was.So here’s a radical approach, have backups turned off as a default of a new installation. Then upon the very first time a user presses that “save” button the system advises them they need to consider setting up a backup regime. Maybe a second warning could be provided when closing Notepad++ if the backup settings haven’t been changed and then they aren’t warned anymore.
For existing installations (when upgrading) a one off warning may also be warranted if the installation shows the default settings are still in play, suggesting user has not changed or is unaware of the backup configuration.
The user might be busy but at least they have been warned to set up the backups as they want. So any issues from now on are their own, not the fault of some unknown default setting they were never aware of.
One last item, that is I do agree that the wording (on the backup tab) is apparently often mis-understood. So maybe a complete rehash of the preference tab for backups might be warranted and a corresponding re-write of the manual covering this process. I do however think the options (and underlying processes) are more than adequate. I mean what is this application, a text editor or comprehensive backup generator? We are in danger of having the
tail wagging the dog
comes to mind.Terry
-
@artie-finkelstein said:
I agree with all points as long as the SCM (git) is local
Git is ALWAYS local. By-design.
“Push to” or “pull from” remotes is optional and can only be done after you updated your LOCAL repo.Not directly related to the topic, but …
One of the (minor) reasons that historically bothered developers with working tightly with SCM was that they didn’t want to put half baked buggy code into it. (1) Not to embarrass themselves in front of the team. (2) Not to mess the project history. Git solves it. You can add as many half baked commits as you want to your local repo, only visible to yourself, and when the code is ready, push it as a single clean commit into the project repo. -
@gstavi said in What is backup (in Notepad++ context)? ... let the flames raise high:
Git is ALWAYS local
A point to be made here is that a “local” backup is good up to a point. A remote backup has the advantage that it is not on the same physical medium, thus is impervious to that medium going south.
Thus, if you’re relying on “local” backup, it should be to a different drive. It’s kind of obvious, but if we’re discussing all-things-backup here, perhaps it is worth specific mention.
-
Sure, but non-local backup takes the discussion way out of the Notepad++ domain.
To focus back on the flame wars that brought this topic:
- The single .bak approach that was enabled by default recently. In my post I tried to prove that even though it is a valid backup system, it would hardly ever help anyone and very likely annoy many others. I think its default enablement should be reversed.
- The session snapshot, which is enabled by default, is not a backup system and confuses users into a belief they are protected. I would disable it by default but I know it is not going to happen. Users will continue to be confused and unhappy when they lose their files.
I think that improving verbose backup could make it a reasonable enabled-by-default backup system.
It could backup files into some folder at %APPDATA% but will need some auto-limit-and-cleanup on the amount of backup (a few MB) to prevent a user from finding after 2 years, 200,000 files (from 200,000 save operations) consuming 4GB of storage he did not explicitly requested. Such auto-limit is not trivial to define but could be fine tuned. For example, I would not backup at all files over some threshold (e.g. 300KB) which are unlikely to be “hand written”.Neophyte users will have reasonable chance to find their lost data after they did something dumb like dragging and dropping their files into the wrong place. While other users should not be annoyed by a backup directory that they are not aware of and consumes a few MB.
-
@gstavi
A)
I believe you’re falling into the trap of good intentions trying to save “idiots” from their mistakes. There will always be some “idiot” that is too smart for the code that was added to a program to help keep them out of trouble. (I believe the original colloquialism is:It Is Impossible To Make Anything Foolproof Because Fools Are So Ingenious
.)B)
I’m not sure how to interpret your statement:While other users should not be annoyed by a backup directory that they are not aware of and consumes a few MB.
I loathe .bak droppings, but I stop using programs that try to keep files in undisclosed locations (excepting Windows itself of course <grin>.)
I use both Session Snapshot (to try to save me from sudden loss of power and other such annoying things) and Verbose Backup. It’s my responsibility to prune the backup folder, but that’s very easy with a single location and Npp’s well formed name.date_time.bak schema.
C)
I believe the most prudent course is to:- provide documentation for the programs behavior (this is handled by the
Notepad++ Online User Manual
) - sympathize with the user when they lose a file (this is regularly done by the seasoned community members)
- give them the URL of the manual (a/k/a
RTFM
)
Programs are tools. Tools are force magnifiers. It’s my responsibility to use my tools correctly. Sometimes, this means I have to read a manual, sometimes it means I have make a test run to prove a particular tool function works correctly before I start a critical task, but that’s actually still part of MY responsibility.
As the aphorism goes:
It's a poor worker that blames their tools.
- provide documentation for the programs behavior (this is handled by the
-
98.8% of users will never read documentation until they lose their first file. I am completely OK with them losing a file, but then one cry baby of the bunch and one overly kind developer triggered the issue at hand.
Notepad++ already puts lots of things under %APPDATA%\Notepad++. Most noticeably the session snapshot.
Is it a disclosed location?
Should we stop using Notepad++? -
Is it a disclosed location?
Yes, it’s disclosed numerous times in the manual. And there is a referral to the FAQ in this forum about APPDATA for the less Windows fluent.
Should we stop using Notepad++?
Boycotting Notepad++ is not my intention. It nicely documents what it stores and where. If it didn’t, I wouldn’t still be using it.
Call me cold hearted, but most people don’t learn proactively; they have to learn by making mistakes (me included at times). Education is what they get by surviving the mistakes they make.
Yes, I still lose files or sessions, because I don’t always verify that all modified files have been saved before trying out some new plugin (or worse, a very old plugin).
Side note:
I believe that ‘overly kind developer’ made a mistake. I also believe they may learn from it. If I recall correctly, there was a bit of concern in this forum that the .bak enabling would be forced onto existing installations; if it had, that would not have been a mere mistake, that would have been a catastrophe. I was even more amazed that the whiner was not banned for their continued blatant and purposeful rudeness. -
For a bunch of super super smart elite line coders, I’d expect better logic.
The simpler logic here wins…
Preventing Data Loss > Placating Forum Golems.
… It’s really that simple. There is - no - argument against it.
Believe it or not, not everyone who downloads and uses NotePad++ wants to be a line coder and they don’t want to invest anymore time than they have to, nor do they want to download/buy additional dedicated backup software nor do they want to also have to learn how to use GIT. Taking the time to learn the absolute basics of NP++ takes enough time as it is.
It’s that simple, not everyone who downloads NP++ is an elite power user line coder. They need something that is better than Windows NotePad to edit some .xml software settings of which are for their primary profession which have nothing to do with line code. Or they need to change something on their website that the initially hired someone to do but figure they can make the change themselves. Or, they are dedicating what little time they do have to learning a script language like AutoHotKey to improve their workflow in their primary software of use which is not NotePad++.
Not everyone has the time, want, or need to become an elite NotePad++ power user guru extraordinaire.
These people might be coming from professional paid for / not free software that does have build in .bak system and is enabled by default. As is my case. I have about $3-5k worth of softwares, all with .bak system enabled by default. None of the programs call it ‘Verbose’.
At a quick glance of the pre-change backup system, it would have appeared that some sort of backup system was enabled… but it didn’t backup in my scenario.
Whoever said power failure is not common - does not live in a 3rd world country. Even a booming developing African country like Kenya, has regular power outages. The island towns off my coast in North America, have regular power outages. A couple weeks ago in my city, the wind blew someone roof tent into some power lines which caused an outage for many city blocks. I had to upgrade the power in my building office because the breakers were too easy to trigger off.
Power outages are not that uncommon. Especially for any place that has above ground power lines and weather.
If you are a developer or end user of any kind of CPU/RAM intense software, plugins, or experimental code - it’s not that hard to trigger a BSOD or freeze.
If you are an end user of any kind of software that is regularly being updated with new features. It’s not uncommon for new bugs to cause crashes. Factor in the volatility of frequent OS updates also causing crashes or compatibility issues.
The narrow thinking process in this thread doesn’t even recognize the possibility that NotePad++ could have new bugs or stability issues in the future.
What NotePad++ refers to as ‘Verbose’ backup, is undeniably both the simplest and most effective internal backup protocol. Whatever is both simplest and most effective should be enabled by default.
It’s that simple.
The irony here is, ya’ll are being a bigger cry baby than the person that experienced a bit of data loss. Don’t be so precious about it, if anyone should be Golem and fretting over their precious gem, it should be the developer of NotePad++, yet they were able to recognize the simple logic immediately - perhaps a personality trait that contributed in them being a successful creator. It doesn’t matter what other line editors do or don’t - maybe it will be their failure.
Just disabled it, or request the developer puts the option to disable in the installer (it should remain checked enabled in the installer by default if that happens)
The amount y’all are fretting over a .bak… ya’ll couldn’t be married could you?
-
-
-
-
@artie-finkelstein said in What is backup (in Notepad++ context)? ... let the flames raise high:
Programs are tools. Tools are force magnifiers. It’s my responsibility to use my tools correctly. Sometimes, this means I have to read a manual, sometimes it means I have make a test run to prove a particular tool function works correctly before I start a critical task, but that’s actually still part of MY responsibility.
As the aphorism goes: It’s a poor worker that blames their tools.Let’s take the safety features off of manufacturing machines that can turn a person into spaghetti then(I’ve seen a video).
As if there’s been no advancement to tools throughout history to make them easier, more accurate and safer to use. Anyone who uses that aphorism must exist nowhere other than in lines of code and doesn’t work in the real world… Hey, why do you use NotePad++ and not Windows NotePad?
@gstavi said in What is backup (in Notepad++ context)? ... let the flames raise high:
I think that improving verbose backup could make it a reasonable enabled-by-default backup system.
It could backup files into some folder at %APPDATA% but will need some auto-limit-and-cleanup on the amount of backup (a few MB) to prevent a user from finding after 2 years, 200,000 files (from 200,000 save operations) consuming 4GB of storage he did not explicitly requested. Such auto-limit is not trivial to define but could be fine tuned. For example, I would not backup at all files over some threshold (e.g. 300KB) which are unlikely to be “hand written”.This is the only reasonable, rational, logical thing said in this thread.
This is how my other professional software works, I think the default .bak limit per projects is 10, but the user can set it to whatever they want. The .baks are stored with/in the project folder where the working master file is saved.
It’s really not a big deal, at all.