13

TL;DR

The vast majority of short-length comments containing the substring "save" and certain units of time (hour, day, week, life) are useless (see "When shouldn't I comment" and the "dirty words list").

Not all of them, but most of them. And there are ways to filter out those that aren't useless (those that also ask for more info, add version support info, or talk about meaningful saving-related info).

Sampling some query results from Stack Overflow, I found

  • nearly all those shorter than ~60 characters in length to be useless
  • a ~3.5% false positive rate for those between than ~60-80 characters
  • a ~13.6% false-positive rate for those between 80-90 characters in length

I suggest that such comments shorter than ~80 characters in length be "auto-deleted" by a single flag- except on specific network site, such as Arqade (Gaming), Money, and Medical Sciences.

You have saved our X. We are eternally grateful

Here's a SEDE query demonstrating a starting point for the proposed pattern:

-- Find "saved my <time>" comments.
-- Results sorted by descending post score.
SELECT
  C.Id AS [Comment Link],
  P.Score,
  C.Text
FROM Comments C
JOIN Posts P ON P.Id = C.PostId
WHERE
  C.Text LIKE '%[sS]ave%'
  AND (
    C.Text LIKE '%[lL]ife%' OR
    C.Text LIKE '%[dD]ay%' OR
    C.Text LIKE '%[hH]our%' OR
    C.Text LIKE '%[wW]eek%'
    -- adding patterns for "month" and "year" doesn't add much to the result set
  )
  --AND C.Text NOT LIKE '%[tT]hank%'
  -- uncomment the above line to filter out things that should be covered by the "thanks" pattern
  AND LEN(C.Text) <= ##MaxLength:int?80##
ORDER BY P.Score Desc
;

Here's a SEDE link to a demo using Stack Overflow. There are plenty of these comments on Stack Overflow, but you can also find them on other network sites- especially technology ones like Ask Ubuntu, Unix & Linux, ServerFault, and Database Administrators.

Some examples from Stack Overflow (using MaxLength=60):

Awesome! You saved my life.
This is awesome. Just saved my life.
Damn I just want to mark this answer as a life saver!
This saved my life.
Wow, this saved my day. Working awesome as of this day.
Life, life life saver
You saved the day :-)
Awesome solution. saved my hours.
I am a poor entry level developer, You saved my life.
Would give this answer +2 if I could. Just saved me hours!
Wow, this just save my life! was sure I would need js.
This should be the checked answer. Save my day!
saved hours of effort.
You just saved me hours and a few holes in the wall
you're a lifesaver.
been programming for years and did not know this, lifesaver
You saved my life. <3
You saved the day with this one. UPVOTE. Very clever!
a life saver answer
this answer life saver
you have just saved me a great deal of effort. Made my day.
LINQ to save the day again.
woooooohhh Dude, u saved my life bro. Appreciate ur help
You just saved me..Hunting for the solution for 8 hours.
@SaralKarki it works well and it saved my times and life.
You're a life saver, and what the hell Microsoft ?
Just like others, you saved my day.
you are life saver. I have been struggling since yesterday
Total life saver!
Life saver, didn't know this thinness.
bro you save my life!
That was so neat, you just saved me about half an hour :D

Specific useful subclasses

If course, there are nuances. Some of these comments contain information that is not useless.

Ones that highlight parts of the answer

Some of these comments highlight specific information that can (already) be found in the answer post. Some examples from Stack Overflow:

The -n dry run thing saved my day
i was struggling without timeout /t this saved my life :)
Scratching my head for half hour and this (step 3) saved me!
The trailing .trim() saved me hours. All hail this guy! :)
git reflog + git reset --hard xxx, this does save my day !
The piece on set vs. mapped variable in aes saved my day.
This line register(MultiPartFeature.class); saved my day

I'm a bit on the fence about this. On one hand, one could say that the comment doesn't add useful information. But if the answer is really long or has a lot of code, or the answer provides multiple alternatives, I could see a comment highlighting a specific part of the answer having usefulness. Unfortunately, I can't think of a way to easily pattern-match for such comments.

However, I think in most cases, especially for the short comments, they don't warrant a comment.

Ones that add version-support info

A small percentage of these comments are "this also works in version X" comments, which you can read about in the What if anything should be done about "this also works in version X" comments? Q&A. TL;DR: Avoid seeking removal of these comments before any possibly useful info gets edited into the post. Some examples from Stack Overflow:

Saved my day! Confirmed on 20.04
you saved my day...ops...week...I'm on Big Sur
From 10 to 11.5. You are a life saver. <3
This still saves the day on El Capitan.
Save the day for Sierra
Worked for me on Monterey, wow damn that saved my life
this tip saved my day. I'm using ubuntu 20.04

It would be useful for the pattern matching to filter these out, but I'm not sure what pattern is best to find these. I do notice that some have the pattern "using" or "on", and have numbers that aren't prefixed by a plus sign.

Ones that also ask for elaboration / clarification

There are some that ask for more elaboration, and I think those should be kept until the post is updated with that elaboration, which requires manual checking to see if corresponding edits have been made to the post, so I think it would be a good idea for such comments that contain a question mark to not be deleted by a single flag. Some examples from Stack Overflow:

-host-header=rewrite saved the day - but what does it do ?
You save my day! But is it possible to explain how it works?
Saved my day! But why is it picking up from proper paths?
This just saved my day :D How did you figure this out?!?!
Just saved our day! Is there any problem using RELOCATE?
save my life, but don't know why, can you explain more?
You saved my life! Can you also refer to the source?
Saved my day, will you please explain why is this happening?

Just checking for a question mark would have some false-positives (negatives?), but it's probably better to err on the side of caution here. Some examples from Stack Overflow of ones that have question marks but aren't asking for elaboration:

@Mete this answer has saved my life. Can I buy you a beer?
This is a life saver.. why didn't I look this up earlier?!
This saves my life. Why doesn't set as right answer ?
you saved my life in the future Xcode should fix this thing?
Great, you saved my day, can I have your email/skype ?

Ones talking about specific saving on specific sites

The Arqade (Gaming) Site

On The Arqade site, some comments are about saving games/files and battery. Out of 15 query result entries, here are the false positives:

Every few hours? I keep about 10-15 saves going, and save every 5 minutes or so. I updated yesterday and on my Android the Battery Saver is still there. Indeed, Ctrl+Alt+Delete saved many Kerbal lifes for me too.
Next days weather has to be set in the save file because of the weather report . Rock pots are new in the recent version of DF 2012. They're a lifesaver. @JeffMercado That save is some 30 hours ago. ;)
to save a 10 gil every few hours
19 days ago. Thats what it says on the save
But it also says that i saved the samething today on autosave for some reason You pre-pay for the days, so no turning off the server, won't save you days N o . I have more than 300 saves in the cloud! It would take days!

That's 11 out of 15 that are false positives! A rate of 73.3%. And not all of them are easy to detect, such as "That save is some 30 hours ago." and "19 days ago. Thats what it says on the save" Since the volume is low, I think Arqade should be special-cased for this "dirty word" to not be active there.

The Money Site

All the query results on the money site were false positives. The Money site should also be special-cased.

The Medical Sciences Site

The Medical Sciences site (Called "health" in SEDE) didn't have any search query results, but it might be safer to special-case it too and observe how things look down the line.

Rationale

I think it makes sense for most such comments (except for the "works in version X" ones, ones that ask for more elaboration, and ones from specific network sites where specific kinds of saving create many false positives) to be deleted by a single flag (no longer needed) for the same reason that short "+1" comments and short "Thank you" comments are deleted by a single flag:

They don't ask for clarification, suggest corrections, or provide useful information.

As stated in "When shouldn't I comment" , these kinds of comments are not what comments are supposed to be for. The vast majority of them are just useless noise.

Length qualification

As for length requirements, I've found anything shorter than ~60 characters to be generally useless.

60-70 length range

Comments in the 60-70 length range are also mostly true positives.

Here are some examples from Stack Overflow of ones that I feel are not true positives or are debatable (including version and clarification-request comments, but not ones that highlight specific parts of posts):

you saved my day. This was the only option working on gitlab-ci
Please see the install rewrite module. save yourself some hours
this post saved my 5-6 hours because I use wrong type of Adapter
This saved my day : https://gist.github.com/astockwell/11055104
this works in terraform as well. you, my friend, are a lifesaver
Life saver! This also helps to ensure that the mp4 plays on an iPhone! Life saver! Locked myself out to when enabling port 80 only with ufw. You save my day, voted. I keep killing the script before session save. saved my day. @PostConstruct is not supported by guiceyfruit yet
This save the day. Any official links explaining this behavior?
Wow , saved my day after upgrading from hibernate 4.3.x to 5.2.
This has just been a life saver. Was it documented anywhere?!
thx, saved my day! independent class only! But what's the diff?
@FlameStorm This saves the day. I think you should write an answer. Lifesaver! This solution also works for passport-google-oauth You saved my life! Can someone explain why? Is it a jQuery-Bug?
You saved my life bro by adding "BC". But what does it means?
Do you respect the life cycle? In which state you save your data?

That last one in particular is a definite false positive. But do note that my eyes almost glazed over sifting through the true positives to find these. I read through about 350 entries of the query result set to find the above list. And if you take out the version comments and clarification-request comments from that list, there are only ~12 entries left. So very roughly, if you extrapolate, there is about a 3.4% rate of false positives in the 60-70 length range.

70-80 length range

Here are some false positives or debatable entries from the Stack Overflow query results (including version and clarification-request comments, but not ones that highlight specific parts of posts):

Lifesaver when you can't do regular COPY because of lame AWS security policies!
You saved my day! for objects with more props: {a,b} : {a:any, b:any}
Saved my life. Do you know if this has any repercussions with how vagrant acts?
Amazing. Probably saved a month of work. Can you use it in a commercial product?
Lifesaver! Really helped me! Works on Ubuntu 14.04, Tomcat 7.0, Eclipse Juno
You save my day! Sir question, how can I save the new position by using ajax?
Worked for me for Apache MINA SSHD and JRE 1.8.0_131. Thx, you saved my day!
This will save people a week: https://github.com/babel/babel/discussions/14443
That was life saver. This bug still happens in Nov, 2015 with xcode 7.1.
I managed to escape running in safemode or uninstalling add-ins.. life-saver!
Saved many hours of despair, ¿does someone know why this works this way?
Verified on Linux Mint 17.3 Cinnamon with OpenCV 2.4.9. Lifesaver, @JRichardSnape
save my life while i wanna install python-geohash which vc++ 14.0 is required
Dude, saved my life also. do you have any idea as why HashRouter works?
You saved me a day of research! What's the BUFFERSIZE for and why 128?
holy #%$ this worked! my days are saved, can you explain what this is doing?
you saved my day. thx a lot. but textInput seem not working. any reason >?
this was a lifesaver. Using docker for Apache Spark, spark://0.0.0.0:7077
Excellent... you saved my day. Where did you get this information please?
This answer saved my day, but why,... why can't filter handle named keys?
If you guys have trouble with tkinter + matplotlib combo, it can save your day!
you saved my life! but permission is the third parameter, not the last :-D
This is a great option now that GistBox is going away. You are a lifesaver!
I still get the same result, only the last day is saved in the database.
Wow, you saved my day. I tried with API 23/ buildToolsVersion 23.0.2

Those are from reading the top 250 query result entries. If you take out the version comments and the clarification-request comments, that's only ~9 false positives / debatable entries, which is roughly a rate of 3.6%.

80-90 length range

Debatable or false-positives from the top 130 query result entries for Stack Overflow (including version and clarification-request comments, but not ones that highlight specific parts of posts):

This worked perfect for me. I have most privileges, but not root. You're a life saver.
Using cloning library saved the day for me! https://github.com/kostaskougios/cloning
Lifesaver! I removed all breakpoints at once, took the default exception handler with me!
Total life saver. My only observation is the file path to mysql folder may vary.
@iwasrobbed saved my day! this could be one of the answers rather than a comment
@chepner you've saved me a year of baldness. how does set -e effects it? just curious.
absolute life saver - this worked for my issues with Glyphicons on S3/Cloudfront & Heroku
This answer save my day! Take care to put the apostrophes missing in this answer.
Please update your answer according to smeeb's answer, as it will save so many life.
whoa, you saved my day. everyone talking about scope but no one about profileFields
This is a life saver for those who wants to init the view controllers programmatically
+1000 , you saved my day, just wondering how come it added to exclude import lists?
This answer is incorrect @c00000fd You are a life saver ... your link saved my life.
That is a lifesaver! Is there any way to turn it off entirely during local development?
Note that the 'X' here is the number of your MVS version. That saved me 1 day job today.
Using cloning library saved the day for me! https://github.com/kostaskougios/cloning
I'm on a corporate network and almost everything is blocked. This answer saved my life.
This will save you hours of frustration. http://www.nuget.org/packages/routedebugger/2.1.4
Using cloning library saved the day for me! https://github.com/kostaskougios/cloning
This probably wasn't what the original question asked for, but this saved my day! +1
Check this link : http://thefinerstuff.posterous.com/git-saved-my-day-restore-accid
Omg this is save my life. Previous I use clientSocket.getInetAddress().getHostName();

Not counting the clarification requests / follow-up questions, that's 19 debatable or false-positive entries out of 130: 13.6%, which seems like a quite sudden increase from the previous, shorter ranges. It seems to me to be a good idea (depends on risk-tolerance) to stick with comments shorter than ~80 characters in length.

Other bonus patterns

Here are some other patterns that also have high rates of true positives (I don't have the motivation right now to manually get stats on true and false positives):

  • C.Text LIKE '% [aA]ss[.! ]%' OR C.Text LIKE '% [aA]ss'
  • C.Text LIKE '% [bB]acon[.! ]%' OR C.Text LIKE '% [bB]acon'
3
  • Is there an easy way in SQL to check whether the Save and the other word are close to each other? Jan 27, 2023 at 6:44
  • 1
    @KarlKnechtel Probably simple ABS() of difference in CHARINDEX(). But I'm not sure how much the distance correlates to accuracy. There are some "lucky" true positives where the distance is greater. Ex "you have just saved me a great deal of effort. Made my day."
    – starball
    Jan 27, 2023 at 6:48
  • I feel like the exact (well, case-insensitive) patterns saved me and saved my are indicative, too. Jan 27, 2023 at 6:52

0

You must log in to answer this question.