Ctrl S Until Confidence Returns
Why is this IDEs Editors meme funny?
Level 1: Locking the Door Twice
Imagine locking your front door, walking away, then going back to check it again even though you know it is locked. Pressing ctrl + s several times is the programmer version of that. The computer probably saved the work already, but pressing the keys again makes the developer feel safer.
Level 2: The Save Reflex
For a newer developer, ctrl + s is the common keyboard shortcut for save on many systems and editors. Saving writes the current file contents to disk so changes are not only sitting in editor memory. If an editor or machine crashes before saving, unsaved work may be lost.
In older or less reliable setups, saving manually was essential. Even now, developers often keep doing it because:
- Autosave may be disabled or delayed.
- Remote editors and network drives can behave strangely.
- Build tools may only read saved files.
- Crashes and freezes still happen.
- Losing work once is enough to create a permanent habit.
This belongs to DeveloperWorkflow, KeyboardShortcuts, and DeveloperProductivity because small editor habits shape how programming feels. Pressing save several times does not usually change the file after the first press, but it reassures the programmer that the work is safe before they run tests, switch branches, close a laptop, or make the next risky edit.
Level 3: Autosave Trust Issues
The meme shows the familiar tempted expression, first captioned:
After all... why not?
Then the thought becomes:
why shouldn't I press "ctrl + s" several times?
The small keyboard inset makes the target unmistakable: this is the developer reflex of repeatedly saving a file even when the editor already saved it, the tab shows no dirty marker, version control exists, and autosave is probably enabled. The joke works because ctrl + s is not just a command. For many developers, it is a tiny ritual of control against DataLoss, editor crashes, laptop battery surprises, remote sessions dying, and that one traumatic moment when an unsaved file vanished and permanently rewired the nervous system.
The deeper humor is that modern IDEsAndTextEditors have made saving both less necessary and more psychologically important. Tools now offer autosave, hot reload, local history, cloud sync, crash recovery, undo stacks, and Git. Yet the hand still moves. The shortcut is muscle memory, but it is also a private health check: "I have committed this buffer to disk; reality may continue."
Experienced developers know the difference between productive habit and anxious superstition is often whether the habit has ever saved you. Repeated ctrl + s costs almost nothing, so it survives forever. It is like tapping the brakes at a green light because you once saw someone run a red. Rational? Maybe not. Understandable? Absolutely. The editor can say "all changes saved" in three places, and the left hand will still file a duplicate incident just to be thorough.
The post message, "Using different hands? Crazy!", adds a workflow-specific layer. Keyboard shortcuts become so ingrained that people develop preferred hand positions, chords, and micro-movements. A developer's save reflex can become faster than conscious thought, happening between lines, after a semicolon, before running tests, after deleting a comma, or whenever the code begins looking suspiciously valuable.
Description
A two-panel Lord of the Rings meme shows Bilbo Baggins holding the One Ring and looking tempted. The top caption says, "After all... why not?" and the bottom caption says, "why shouldn't I press \"ctrl + s\" several times?" beside an inset photo of a finger pressing keys on a keyboard. The joke captures the deeply ingrained developer habit of repeatedly saving work, even in modern editors with autosave, because losing unsaved code once is enough to create permanent muscle memory.
Comments
229Comment deleted
Autosave can be enabled, green, and monitored, and my left hand will still run disaster recovery every nine seconds.
Because you are retarded. Comment deleted
Retards never heard of IntelliJ (or any other JetBrains IDE) that keeps a history of changes; disregard if you use VCS in your project or not. Comment deleted
bloat Comment deleted
Enjoy writing your own macro in vim/emacs/notepad++ plugin masochist. Or enjoy stories in vscode. Comment deleted
enjoy crashing of OOM on a 32G ram machine Comment deleted
or debugging your toolchain after literally one thing goes wrong Comment deleted
You mean debugging IDE? Why? Comment deleted
bc you want to change a compiler, for example Comment deleted
Why? Comment deleted
bc you need to, or want to, or whatever the reason may be Comment deleted
You select another one and go on. Why does have to do anything with debugging your IDE? Comment deleted
oh you can't, bc it's not supported Comment deleted
What are you smatter about? Comment deleted
? Comment deleted
On shitty 2GB legacy projects I never give more than 4GB to my IDE. Never died 🤷♂ what am I doing wrong? Comment deleted
4 FUCKING GIGABYTES Comment deleted
IDE — is not a fucking text editor with syntax highlighting. That's why. It do things that you're probably too young to understand there exists. Comment deleted
oh, what then? i'd like to hear, what can i do with an ide and cannot with an util Comment deleted
Use “AI” plugin for code prediction which uses 2 gb of ram Comment deleted
and collects more data than tik-tok along the way Comment deleted
Yup Comment deleted
If you ask this – you do not deserve my time to answer. Back in the day, people used calc, paper, and pencil for arch and engineering, but today they prefer to use SolidWorks, AutoCAD, and e.t.c. Hmm, I wonder why they are utilizing such bloatware. Guess you’ll never know with that attitude. First of all, nothing gets as close as JB’s abilities on static code analysis. Second, go spend some time watching some JB videos on advanced refactoring tools. Comment deleted
which means you can't think of any Comment deleted
also, jokes aside, since when exactly ability to write a macro is bad? Comment deleted
If I need to go in space, I'd rather go to Elon Musk rather than start building my own rocket. Comment deleted
well, elon did make his own rocket after seeing roskosmos Comment deleted
Rosskosmos is vscode. Agree about that. Comment deleted
vscode is shit Comment deleted
i agree Comment deleted
well, now you don't even have the option to make it yourelf, use it as dev thinks it's right (not you), or go find shit somwhere else, look for another ide Comment deleted
have 20 ides installed, an go "imma program in java today, let's see which of my 5 ides i should choose", and then after a week go "oh fuuck, it's the wrong one, now i have to rewrite my project bc those ides are imcompatible" Comment deleted
Incompatible... ide...? Comment deleted
also, wtf do you do when you have multiple langs in your project? is it "ooh it's a pyhon file and not a c file, hold on, imma get my pycharm started" and themn go make a tea? or a fucking meal? Comment deleted
There is ultimate ide for everything Comment deleted
it is vim Comment deleted
or emacs, like i care Comment deleted
You dumb AF. You do not see a difference between a fucking text editor and an integrated development environment. IDE is NOT a text editor, you idiot. Learn it already. Comment deleted
tell me the difference Comment deleted
You're too dumb to understand. You keep ignoring apparent statements. That are quite comprehensible even for the non technical person. Comment deleted
you did not answer the question Comment deleted
They have only two platforms, IDEA (Almost all of the langs except clangs) and CLion for the clang-based. They are working on merging them, but that a long roadmap. If you have IDEA another language is just a plugin in your IDE (with few exceptions only) Comment deleted
wow, just like in vim Comment deleted
except it takes like a billion times more ram Comment deleted
Beacuse it is not a text editor. Comment deleted
bc it's BLOAT Comment deleted
Okay. I’ll explain on your level: your momma is bloat. Comment deleted
yours is Comment deleted
Exactly Comment deleted
Try to turn place of ctrl. Maybe fix your problem Comment deleted
:w Comment deleted
I still use ctrl s even in idea haha Comment deleted
Do you know what it does? Comment deleted
IDE provides an AST engine for your code which is being analyzed and used for refactorings. I bet you do not understand what refactoring is and why it need 100% of the time. Comment deleted
so, it's an editor with autocomplete, code analysis, and refactoring tools Comment deleted
Damn you, dumb AF. Any code editor can do this. They can not edit code in AST and analyze it. Their refactoring power as good as sed and grep with extra hoops. Comment deleted
and here you are plain wrong Comment deleted
Stupid kiddo who is still got eyes open wide on the magic power of the vim. Tho world moves on way beyond AIX/HPUX times. Back in that days, your opinion was correct (except there was no bloat at that scale.) Your opinion does not worth a shit. You need a better argument than saying one word – bloat. You have to say it is a bloat (comma) because (your factual argument here.) Until then, your momma is bloat that gave a useless kid to this word. Comment deleted
you do realize that people with garbage hardware exist, right? Comment deleted
If I used an IDE, at least 10% of my time would be wasted for waiting for the IDE to do whatever I told it to do. Comment deleted
and that's a low estimate Comment deleted
90% of my time would be fighting with the same ide that is supposed to make my life easier, but fails to do so when you "use it wrong" Comment deleted
You fight not with IDE but your ignorance of it's power and prior use. You're like a belle with the fork. Please don't blame it on a society that uses a fork to eat food. Comment deleted
it's so powerful i can only respect how my code can't compile with it bc of some obscure setting which i hadn't turned off Comment deleted
well, tbh, my ide experience is heavily poisoned bc of vs Comment deleted
Hehehe Comment deleted
Well sucks for them. Perhaps they need a better employer that can afford a good machine for the developers. You know what? Your phone is a bloatware device. Why do you need a camera on the phone? A phone is for phone calls. Or maybe you're going hiking with your phone, and this why you need a GPS module? Ridiculous! If I want to listen to music you want to tell me, I need to throw away my MP3 player? Comment deleted
I don't need a camera on my phone, and I really hate that there is no cameraless phone out there, so that example did the exact opposite of what you wanted it to do. Comment deleted
Howdy oldy! We seem to be the only to remember these talks. But I'm no longer agree. My phone's camera better than my digital camera from 10 years ago. And I do use it for video conferencing a lot. It helps with barcodes and QR codes (good luck with your fancy canon or whatever camera on that) and simply going for the grocery shop and use it to please your wife choosing an alternative item when something she asked is not on the shelf — is fucking priceless! Comment deleted
> My phone's camera better than my digital camera from 10 years ago. well no shit sherlock. Buy a new one then. > And I do use it for video conferencing a lot. See, you need it. Which is fine. But I don't. Which is why I would really love to not pay 30€ extra for something I won't need anyway. > It helps with barcodes and QR codes Who the fuck uses QR codes without a different method of getting what you actually want? edit: and I've never in my life seen someone scanning a barcode with their phone. > and simply going for the grocery shop and use it to please your wife choosing an alternative item when something she asked is not on the shelf It's called a phone call, jesus. You don't need to take a picture to ask if it's ok to buy Tom's ramen instead of newfoundland noodles. > is fucking priceless! It does have a price and I'd like to not pay it. Comment deleted
I don't believe you asked about QR what you asked 🤦🏻♂ Yeah, I will stand in the shop describing every product I see. I sent one panorama pic and got it back with circles around the products. It seems like you would like to downshift Comment deleted
how many different fucking products are in a store that might be a viable alternative to what's not there? Comment deleted
a panoramic? Comment deleted
wtf Comment deleted
When the fridge of yogurts is longer than 5m. Comment deleted
must be an american thing. Here in Austria, we don't need that many different brands of yoghurt because it's just yoghurt, christ. We have literally one brand per store, maybe two or three if the store is adventurous Comment deleted
again, I don't need it, but it's fine if you do. Comment deleted
There is cow milk-based, goat milk-based, soy milk alt, oat milk alt. Should I go on? Comment deleted
we have cow milk. For everything else, you gotta go to one of the bigger stores. (and sometimes soy milk, as I said) Comment deleted
😆 I was listing just from a local kiosk store. It seems like I live not in such a hole I thought I was. Comment deleted
where the fuck do you live? It's strange to me that you got so many choices Comment deleted
that wasn't a rhetoric question btw Comment deleted
your address and phone number, NOW Comment deleted
Address is short, phone is black. Comment deleted
get 64bit, phone number Comment deleted
idk what oat milk even is, lemme google that Comment deleted
wtf why would you make milk from that? Comment deleted
you're not even allowed to sell that as milk in the EU Comment deleted
From what? Comment deleted
oatmeal or whatever it's called in english. The stuff oat milk is made of. Comment deleted
Why!? 😳 Comment deleted
The best alt for milk ever! It is so much tastier and is so famous now I can't buy it if not going early. Comment deleted
can't imagine that. Comment deleted
Just for the damn milk there is 3 variants of 3 kinds of 3 different sources times 3 major brands. Comment deleted
We have 3 different types of milk as well: long-lasting, normal mik (dunno the correct translation), sometimes soy millk, but that trend died in the recent years. Oh, and there's low-fat milk. You still don't need a photo for that bc usually you know what you have to buy, and even if not, there's not that many viable options left. Comment deleted
you know what? my selfie camera is destroyed, don't regret it Comment deleted
it would still be better to not have it in the first place Comment deleted
I bought one of those phones where you slide the screen to reveal a selfie camera because there were more of those than phones without a selfie camera, and I really really wanted a fullscreen phone. Comment deleted
and I've so far taken exactly one selfie - the metal thingy on the nose piece of my mask broke & I wanted to take a pic of that Comment deleted
i never made a selfie in my life Comment deleted
and i don't want to Comment deleted
same, just wanted to see if it's visible - I could've used the phone screen as a mirror, in hind sight. Comment deleted
Also useful to find your glasses. Comment deleted
👏 Comment deleted
also, my machine is not shit, but i want a consistent fast and ergonomic experience on any machine, it may even be a VPS which i ssh into, i don't care bc i use vim/emacs/nano/<put your editor here> Comment deleted
Not a problem. IDE just like mr. Meeseeks. Can doooooo! Comment deleted
except for the oom part Comment deleted
Nope. You can dev local and deploy diff on debug or whatever. Of you do it sdrawkcab it's your fault. Comment deleted
yeah, localy on my laptop "hello from 2009" Comment deleted
? Comment deleted
i have my pc, my laptop, my headless home server, i wanna use the same software on all of them Comment deleted
Your can't have IDE on the headless so you force vim everywhere? Bravissimo! Comment deleted
ofc not only that, i don't have to fight with my ide to pin-point the problem with my dev enviroment Comment deleted
I don't undefended that. Comment deleted
you are yet to have a linker error in your build Comment deleted
Dunno, people like to use docker and say it solves such issues. I don't like that cancer. Comment deleted
idunno, teach me to use docker on embedded, also, i can always pin-point a problem exactly using my setup, docker is NOT THE WAY Comment deleted
i can always find a problem in a bad makefile, now go and find the one switch in your fancy ide that causes your code to fail to compile Comment deleted
Gradle. Comment deleted
yeah, cmake all over again Comment deleted
Nope, it's cross-platform/multiplatform toolchain for much more and way beyond complaining clangs. Comment deleted
I don't use it. I kinda liked to play with Arduino using Clion. I think I can't keep arguing with you without knowledge in your expertise. Comment deleted
it's basically c++, same story with embedded c++, same story with c++ graphics, same story with web c++ Comment deleted
That's where Gradle shines. Its outgrown Java and supports many lands and suitable for mobile, web, desktop and now stepped into clang area. Comment deleted
i wanna do it how i want, not how the dev wants me to do it, i am not subsribing to the "you're doing it wrong" apple bs Comment deleted
No OS existing as of today can cache remote FS and get IO to notify. This is a fact of reality, not a desire for someone's opinion. You once again embarrass yourself. It is not IDE's fault that it is not fast on remote analyse. It's a misfeature of any modern OS. And that is the reason why suppose to do it so unless you're a stupid masochist. Comment deleted
yeah, ssh exists, i can do work on that machine too Comment deleted
SSH cannot into IO notify either. IDE can use it to sync diff with headless whole source exist locally. Comment deleted
yes, i know, that's what i want Comment deleted
So once again, after you agreed on that. Where's the problem with IDE? Comment deleted
i have to fight with it once a problem occures, or i use it in a config not intended by the dev Comment deleted
ok go ahead and debug an stm32 board with it Comment deleted
Clion worked like a charm, and I had not much idea how to operate it. We just lost responsible dev, and I was the only one to remember a bit of CPP. Comment deleted
this is exactly the problem: you don't know how it works at least a little bit, you can't debug a problem Comment deleted
What? How is debugging IDE is related to your job? You debug IDE only if you develop it or a plugin for it. Anyway, I shouldn't know how that thingy worked. It is not a field of my expertise. I was kindly asked to try because an outsourced guy who developed it and flushed ROMs on-site died two days before a project hand over. A quick search over tools we had and following a first manual did the job. I don't care about the rest. Comment deleted
idebug an ide when shit gows down Comment deleted
you need, otherwise the strange build errors will haunt you Comment deleted
Writing code is 10% the reset is debugging and refactoring. You’re using not more than 10% if you use vim with all the bells and whistles. Comment deleted
ofc, i use external tools like gdb Comment deleted
and clang-format Comment deleted
This is just a debugger only one tiny fraction of letter I in IDE. Comment deleted
And I will give it more if it will ask. Comment deleted
Against bloateare? Throw away your mobile phone and buy a photo camera, video camera, music player, GPS navigator, walky talky and so on... Comment deleted
I don't need any of that - that's my point Comment deleted
well, if we are talking about phones, i'd take actual gnu/linux over android now, bc not only android is bloat, but it is spyware too Comment deleted
I'd do that if that wouldn't disable pretty much every app ever Comment deleted
Keep living MLP world. Comment deleted
bro if you're trying to argue at least try to read what I wrote Comment deleted
That's for the kiddo Comment deleted
How can I be an American using the metric system? Unheard of! Comment deleted
Yeah, it's oatmeal based. Comment deleted
There were days when MS had a fantastic visual studio. But nobody can beat JB today. Not even google. Comment deleted
For clang family, I know Clion handles (how good/bad dunno, not my field) Comment deleted
I believe it's the future. Comment deleted
it's too complicated, the same problem, there can only a few problems in a simple tool, and a crapload in a large one Comment deleted
Not even a Cmake. Comment deleted
Well, when I looked last time cpp had dozens of them and lots of people not satisfied with any of them. Comment deleted
Can Cmake into web assembly or backend in another language? Comment deleted
last time i looked into cmake, it couldn't even compile glsl without jumping throuh hoops Comment deleted
Yeah. JB choose it as lesser evil into Clang. But then Gradle changed the game. Perhaps JB pressed on them, and that's why. Because Kotlin goes into the clang area and Gradle is the Kotlin's toolchain. Comment deleted
why only clang? i need my gcc-arm-none-eabi Comment deleted
also, i am not learning groovy nor kotlin to build my cpp projects Comment deleted
Reasonable statement but sad for you. I wasn't obligated to learn Portuguese, but now my wife can't speak in her native tongue to tell jokes about me to her friend in front of me. Now I love her more after hearing and understanding her power of cursing bad drivers on the road. Totally worth it! Comment deleted
i mean, i would consider it if it was some lisp or rust, or even haskell, or sth which i actually want to learn, but this is again, spending too much for too little Comment deleted
You're so much wrong. Lisp? Really? Haskell is a huge learning curve with a bit of benefit for a real-life (unless you lack such). Kotlin has a shallow entry point, easy learning curve, and it's so simplest to classic OOP you will feel Bri familiar, yet it has some minimal concepts of FP. If you want a hardcore FP, there's Kotlin Arrow library for you. Leave the academically fagatory of the Haskel aside. Comment deleted
look, that's what i want to learn, also, fuck jvm and everything related to it Comment deleted
Ah yeah... Totally forgot cpp fanboy JVM hater. Comment deleted
yeah, i did not forget you, mr "jvm is beter when you run it for 2 billion years" Comment deleted
10 minutes warmup. Don't dramatise 👸 Comment deleted
also, you are the one guy against x86 too, x86 is basically jvm but in hardware Comment deleted
Totally not. JVM has a spec, and it didn't change opcodes as dramatically as the X86 manufacturers. Comment deleted
performance-wise Comment deleted
Unlike rust you can take everywere from apple watch to web assembly. Comment deleted
well, rust kinda is the goto lang for wasm Comment deleted
Kotlin not nursery a JVM lang. It's conquering c-like land very fast. Comment deleted
oh, is that so? write a bootloader in kotlin Comment deleted
Not there yet. But already native Android/iOS and desktops. Has interop evolving fast. Comment deleted
oh, so it's not the lang, bc i can actually write a bootloader in rust Comment deleted
and you know what is "evolvig fast" too? c++ Comment deleted
🤣 Comment deleted
Clang-alike (c/cpp/swift/objective c/...) Comment deleted
Yeah, copying some concepts like a gypsy trying to steal a horse Comment deleted
well, crtp in literally any other lang? Comment deleted
They do it so poorly and slow. Even Java is coping from Kotlin. Comment deleted
who does it poorly? Comment deleted
Optional. Show me it in CPP and when it got there. Comment deleted
optional was in boost since like 2003 Comment deleted
Nativly please. Comment deleted
crtp in any other lang in present day first Comment deleted
Where's that meme about cpp only adding features but never fixing anything? Comment deleted
ye, that's literally the point Comment deleted
Yeah, okay. I got it. It's perfect. Comment deleted
<3 Comment deleted
Kaitlin is a beta tester of cool new features Comment deleted
kotlin is oop, and jvm, don't tell me it's native until i see a bootloader writen in it Comment deleted
Facepalm again. What's the relation? There are many other not only OOP run by JVM. Comment deleted
that's 2 things i don't like in 1 lang Comment deleted
After it works in Kotlin, others trying to adopt. Comment deleted
JVM is like Parrot. Yet another VM with its fixed opcodes. And yeah it can bootstrap itself. Comment deleted
it's A VM Comment deleted
literally whyyy Comment deleted
how many address spaces of an x86 cpu operating in real mode, it takes to bootstrap itself? Comment deleted
You're asking the wrong guy. Try asking who's developing it. Comment deleted
Because processors can be changed without a need in a change of software. Comment deleted
which incurs major performance penalties Comment deleted
It depends on what hurts you more. These penalties might be negligible to other risks. Of support, maintainability and platform mobility. Comment deleted
i hate to break it to you, but gamers really hate gc lagspikes Comment deleted
for basic performance comparasion take minecraft Comment deleted
And what is Minecraft? Comment deleted
it's a java game, with a c++ port, bedrock edition Comment deleted
It's a weird cubozoid simulator of wasting time for weirdos. But call it whatever. Comment deleted
i am not talking gameplay, i am talking performance Comment deleted
It's not a regular AAA game. Even without graphic it occupy shotload of memory just to keep simulation of these cubes. It's a bad example. Comment deleted
1) then why it performs on c++? 2) why literally all AAA games are in c++? Comment deleted
Again, there's a Graal to go native as well. Comment deleted
will it eliminate gc? Comment deleted
You don't read eh? Comment deleted
there are native gcs, like in haskell and nim Comment deleted
but they are gcs Comment deleted
nim's gc is basically std::shared_ptr, but it is overhead Comment deleted
Also, Kotlin can be compiled natively if it has a benefit to run natively when JVM is not an option (or it is more beneficial) Comment deleted
again, not native until i see a bootloader in it Comment deleted
Again, it's a matter of time. They redid memory management twice. To link between worlds of GC and native. Kinda amazing the level of issues JB solves. Comment deleted
oh, that's what haskell did since like the beginning Comment deleted
It can AOT any JVM part Comment deleted
It's much more complicated than that. Comment deleted
But a story for another day. Comment deleted
Send in not fucked file format, which is zoomable in telegram client Comment deleted
I regret every second I wasted reading these two dimwits arguing with each other in the fucking comment section of niche meme page Comment deleted