Join devRant
Do all the things like
++ or -- rants, post your own rants, comment on others' rants and build your customized dev avatar
Sign Up
Pipeless API
From the creators of devRant, Pipeless lets you power real-time personalized recommendations and activity feeds using a simple API
Learn More
Search - "quit vim"
-
The programmer and the interns part 2.
We will discuss numerous events that happened over the past week or so.
Case 0:
We had our weekly engineering meeting. The interns were invited as well.
We hold meetings in the generic, big, corporate meeting rooms with a huge table in the middle.
There were more than enough chairs for everyone yet the most motivated and awkward intern (let's call him Simon) chose to stand, cause "it's cool man, I always stand". At this point we all know that he probably read about Agile stand up meetings and is confusing it with this one. Otherwise he's simply trying to stand out from the rest. (See what I did there?)
Anyway the meeting has started way later than planned (what a surprise) and took much longer than Simon expected. Everybody is sitting and listening to the CTO while occasionally glancing at the weird looking intern standing awkwardly and refusing to sit because it would make his original intentions pointless. He even tried to nod whith a serious face and his hands crossed when the CTO said something and looked at his general direction. The meeting was about a hour and a half long but with the delay it was at least 2.5 hours.
At the end Simon was so exhausted that he fell asleep on the office puff, was forgotten and locked inside. 3 hours later when I was home I received a call from him with his sleepy-trying-to-sound-awake voice telling the news. Lucky there's a 24/7 Noc team that could rescue him.
Case 1:
An intern who was late on his Linux test connected to every test VM (should I remind you that each one has a personal VM but they share passwords for their roots?) and tried to reset it with "sleep 10s; shutdown -h now".
He took down all 13 of those so I had to turn them on and switch passwords again.
Case 2:
One of the interns didn't do any of his training chores. Apparently he forgot what he was told to use, ignored all online documentation and used Windows CMD with Linux commands for almost a week already.
Case 3:
Simon uses Vim to write all text possible. Even mails, he then selects all and copies into the mail body. He spent half a day on a homework task I gave them. He wrote everything inside one text file using Vim. When he was done he saved the file and quit the editor. He then said "Oh shit! I've forgot to sign my name!". I explicitly told him that theres absolutely no need for that because I see which mail the file was sent from. He said "I don't even need a program for that!" and gave a couple of strokes on the keyboard.
Later I received an email from him with a .txt attachment. When I opened it the only text that was inside was "by Simon ;)".
I logged to his machine and checked the last command ran on the file:
echo "by Simon ;)" > linuxtasks.txt
Case 4:
The girl here uses a MacBook. She keeps getting confused with the terminal windows and rebooting her own machine instead of the remote VM.
Case 5:
Haven't checked yet how this happened but one of the interns deleted the gui from his local Centos.33 -
Dance like noone is watching.
Encrypt like everyone is.
Sudo like you have backups.
Tag like you're a SEO.
Vim like you know how to exit.
Ticket frontend like you're the project manager.
Commit like saying "fuck you" in the message is appropriate.
Alert like you would use console.log
Design like you know CSS.
Comment like you aren't the only dev.
Code like PHP isn't outdated.
And finally:
Try to work like you know how to quit devrant.13 -
So my girlfriend (non techie) just saw my rant about how I'd give her a baby if she knew how to close vim in a proper way (she saw me on devRant, asked me to show it and read my rants) and so I showed her vim so she'd get the joke.
I than told her, how it worked and such so she'd see how it's not a regular text editor and told her to try and quit it, and to my amazement, she did!
Guess she's a keeper :')11 -
I'm drunk and I'll probably regret this, but here's a drunken rank of things I've learned as an engineer for the past 10 years.
The best way I've advanced my career is by changing companies.
Technology stacks don't really matter because there are like 15 basic patterns of software engineering in my field that apply. I work in data so it's not going to be the same as webdev or embedded. But all fields have about 10-20 core principles and the tech stack is just trying to make those things easier, so don't fret overit.
There's a reason why people recommend job hunting. If I'm unsatisfied at a job, it's probably time to move on.
I've made some good, lifelong friends at companies I've worked with. I don't need to make that a requirement of every place I work. I've been perfectly happy working at places where I didn't form friendships with my coworkers and I've been unhappy at places where I made some great friends.
I've learned to be honest with my manager. Not too honest, but honest enough where I can be authentic at work. What's the worse that can happen? He fire me? I'll just pick up a new job in 2 weeks.
If I'm awaken at 2am from being on-call for more than once per quarter, then something is seriously wrong and I will either fix it or quit.
pour another glass
Qualities of a good manager share a lot of qualities of a good engineer.
When I first started, I was enamored with technology and programming and computer science. I'm over it.
Good code is code that can be understood by a junior engineer. Great code can be understood by a first year CS freshman. The best code is no code at all.
The most underrated skill to learn as an engineer is how to document. Fuck, someone please teach me how to write good documentation. Seriously, if there's any recommendations, I'd seriously pay for a course (like probably a lot of money, maybe 1k for a course if it guaranteed that I could write good docs.)
Related to above, writing good proposals for changes is a great skill.
Almost every holy war out there (vim vs emacs, mac vs linux, whatever) doesn't matter... except one. See below.
The older I get, the more I appreciate dynamic languages. Fuck, I said it. Fight me.
If I ever find myself thinking I'm the smartest person in the room, it's time to leave.
I don't know why full stack webdevs are paid so poorly. No really, they should be paid like half a mil a year just base salary. Fuck they have to understand both front end AND back end AND how different browsers work AND networking AND databases AND caching AND differences between web and mobile AND omg what the fuck there's another framework out there that companies want to use? Seriously, why are webdevs paid so little.
We should hire more interns, they're awesome. Those energetic little fucks with their ideas. Even better when they can question or criticize something. I love interns.
sip
Don't meet your heroes. I paid 5k to take a course by one of my heroes. He's a brilliant man, but at the end of it I realized that he's making it up as he goes along like the rest of us.
Tech stack matters. OK I just said tech stack doesn't matter, but hear me out. If you hear Python dev vs C++ dev, you think very different things, right? That's because certain tools are really good at certain jobs. If you're not sure what you want to do, just do Java. It's a shitty programming language that's good at almost everything.
The greatest programming language ever is lisp. I should learn lisp.
For beginners, the most lucrative programming language to learn is SQL. Fuck all other languages. If you know SQL and nothing else, you can make bank. Payroll specialtist? Maybe 50k. Payroll specialist who knows SQL? 90k. Average joe with organizational skills at big corp? $40k. Average joe with organization skills AND sql? Call yourself a PM and earn $150k.
Tests are important but TDD is a damn cult.
Cushy government jobs are not what they are cracked up to be, at least for early to mid-career engineers. Sure, $120k + bennies + pension sound great, but you'll be selling your soul to work on esoteric proprietary technology. Much respect to government workers but seriously there's a reason why the median age for engineers at those places is 50+. Advice does not apply to government contractors.
Third party recruiters are leeches. However, if you find a good one, seriously develop a good relationship with them. They can help bootstrap your career. How do you know if you have a good one? If they've been a third party recruiter for more than 3 years, they're probably bad. The good ones typically become recruiters are large companies.
Options are worthless or can make you a millionaire. They're probably worthless unless the headcount of engineering is more than 100. Then maybe they are worth something within this decade.
Work from home is the tits. But lack of whiteboarding sucks.37 -
So, I'm using a new MacBook Air (running Sierra), and while I'm still getting used to it (especially the different Sublime hotkeys), overall it really is quite wonderful. I particularly love the magic touchpad and ease of scrolling/swiping between desktops.
However, I ran into an issue this morning that gave me pause: apparent file caching.
My webpack setup auto-compiles my project when files change, and I noticed something was causing errors -- not really surprising since I was in the middle of fixing the project last night. However, the error it displayed wasn't something I was expecting, and referenced a line I was positive I had removed several hours before calling it a night. Whatever, I was probably mistaken, so I went to remove it.
... It wasn't there.
I double checked that I was looking at the right file. Yep, src/styles/header.scss -- that's the correct file. Figuring webpack was acting up, I killed and restarted it.
Same error.
So whatever, maybe Sublime cached it. Rather unexpected, but possible, and I am on a mac now... so maybe. So, I closed the file and reopened it. The line wasn't there. I did this twice more. It STILL wasn't there. Maybe I'm going crazy...? I checked the file with cat. The line was there. I checked with vim. The line was still there.
OKAY. I've seen a lot of people with beef with Sublime, and I often defended it. but maybe they're actually right. maybe Sublime really isn't the way to go. :( So, I killed and reopened Sublime, and I checked the file again.
The line STILL ISN'T THERE.
Maybe I'm going crazy? I double, triple, quadruple checked the path. all correct.
Alright; let's try again and make sure I do it properly. I closed everything I had open in sublime (two projects), and quit. I reopened Sublime, navigated to the correct path, and reopened the file...
The offending line STILL wasn't there.
I'm angry at this point and just mash the keyboard. I save the resulting garbage, and cat the file again. No visible changes.
KAJSFLK STUPID PIECE OF <redacted>
okay, whatever. Reboots fix everything, right? So I reboot, and keep the option to re-open everything again ticked.
The terminal comes back up, along with half(?) my browsers, but Sublime doesn't. grrrrrrr.
so I cat the damn thing.
GUESS WHAT.
THE GARBAGE IS THERE.
Sublime was doing its job. BUT EVERYTHING ELSE FAILED.
(Oh Sublime, why did I ever question you? 💚)
... but seriously, what the fuck could have caused that? Was the OS caching the file for some programs, but not others? Now I'm questioning the macbook...23 -
I've been using Vim for like a year and a half, mainly because I dont know how to exit...
Just Kidding!
Ah, I miss Vim jokes3 -
I learnt to navigate in Vim 🤩.
Ik it's not much. But had heard so much about Vim and Emacs (tho still don't know why are they so popular, or how to use them), but I kept my distance after the first time I could not quit the application.26 -
Ive never really used vim, and therefore not completely understood all the jokes about it..
Yesterday, i somehow ended up editing my crontab with vim.
I have no idea how i managed to quit it, but something worked.
NOTE: No hardware was damaged in the process9 -
During highschool years I was using Ubuntu for the 1st time and saw this strange looking icon named vim....had to reboot PC to close vim 😅
Not my proudest moment.5 -
I don't know why quiting vim is such a challenge for new users.
While Quit starts with q , so q is very logical for quiting 😬4 -
Ive never used vim. In my life. I've never had the need to.
It was only yesterday while I was installing a new relic plugin to my MySQL server when the plugin installed opened vim for me to add some configurations. Took me about a minute to add the configs, and another 20 minutes to figure out how to quit vim.
Gotta say that I'm more comfortable making HTML websites with pretty CSS animations in sublime text than working in VIM!!! 👀5 -
VIM! ViM! vim! Vi Improved! Emacs (Wait ignore that one). What’s this mysterious VIM? Some believe mastering this beast will provide them with untold mastery over the forces of command line editing. Others would just like to know, how you exit the bloody thing. But in essence VIM is essentially a command line text editor at heart and it’s learning curve is so high it’s a circle.
There’s a lot of posts on the inter-webs detailing how to use that cruel mistress that is VIM. But rather then focus on how to be super productive in VIM (because honestly I’ve still not got a clue). This focus on my personal journey, my numerous attempts to use VIM in my day to day work. To eventually being able to call myself a novice.
My VIM journey started in 2010 around the same time I was transiting some of my hobby projects from SVN to GIT. It was around that time, that I attempted to run “git commit” in order to commit some files into one of my repositories.
Notice I didn’t specify the “-m” flag to provide a message. So what happened next. A wild command line editor opened in order for me to specify my message, foolish me assumed this command editor was just like similar editors such as Nano. So much CTRL + C’ing CTRL + Z’ing, CTRL + X’ing and a good measure of Google, I was finally able to exit the thing. Yeah…exit it. At this moment the measure of the complexity of this thing should be kicking in already, but it’s unfair to judge it based on today’s standards of user friendly-ness. It was born in a much simpler time. Before even the mouse graced the realms of the personal computing world.
But anyhow I’ll cut to the chase, for all of you who skipped most of the post to get to this point, it’s “:q!”. That’s the keyboard command to quit…well kinda this will quit the program. But…You know what just go here: The Manual. In-fact that’s probably not going to help either, I recommend reading on :p
My curiosity was peaked. So I went off in search of a way to understand this: VIM thing. It seemed to be pretty awesome, looking at some video’s on YouTube, I could do pretty much what Sublime text could but from the terminal. Imagine ssh’ing into a server and being able to make code edits, with full autocomplete et al. That was the dream, the practice…was something different. So I decided to make the commitment and use VIM for editing one of my existing projects.
So fired the program up and watched the world burn behind me. Ahhh…why can’t I type anything, no matter what I typed nothing seemed to appear on screen. Surely I must be missing something right? Right! After firing up the old Google machine, again it would appear there is this concept known as modes. When VIm starts up it defaults to a mode called “Normal” mode, hitting keys in this mode executes commands. But “Insert” entered by hitting the “i” key allows one to insert text.
Finally I thought I think I understand how this VIM thing works, I can just use “insert” mode to insert text and the arrow keys to move around. Then when I want to execute a command, I just press “Esc” and the command such as the one for saving the file. So there I was happily editing my code using “Insert” mode and the arrow keys, but little did I know that my happiness would be short lived, the arrow keys were soon to be a thorn in my VIM journey.
Join me for part two of this rant in which we learn the untold truth about arrow keys, touch typing and vimrc created from scratch. Until next time..
:q!4 -
The time you take to code something is the time people take to quit vim. P.S. the meme below is not mine.2
-
Statistics. Tbh, it is way more. Didn't use the codeium plugin for a long time. Regarding key presses i'm in the 0.10%. Longest streak is not impressive. 21 on codeium and 40 on github or so.
At this moment I'm very happy with the plugin, it knows me completely. * tab tab tab *. Almost always knows what I want to do. It advanced a lot last year, I did quit a few times on it last year for few months because it often sucked. Now it's perfect. Especially under VIM it's very cool!2 -
I just watched a "lead performance test engineer" quit out of vim using Ctrl+Z.
The struggles are real, it seems.6 -
I found the best text editor for basic code fixing
For a couple of days, I was looking for a simple terminal-based text editor for taking simple code notes or basic code fixing kinds of stuff.
As an aspiring developer, I really like the concept of coding without touching the mouse.
So I downloaded the king of CLI text editors, Vim.
Now, guess what happened.
Yeah, you're right. I stuck inside vim and couldn't even quit from there.
Then, I started watching a bunch of tutorials and started reading vim's documentation.
But then I realized, I have to learn a lot of things only to operate vim and it's a pretty lengthy process.
At that time, I really needed a very simple text editor for doing basic stuff.
But, vim is not simple... you know :)
So, I had to come back to 'nano' & I was not happy enough to write codes by using 'nano'.
Suddenly, I discovered another really cool text editor called 'micro'.
It's really awesome.
It's not as advanced as vim but definitely a lot better than nano.
Micro is an open-source command-line text editor created by Zachary Yedidia.
Some basic key points of Micro:
1. It's really easy to operate.
2. It has different colours and highlights.
3. It supports syntaxes for over 70+ programming languages.
4. It has mouse support.
5. Plugins & colour schemes.
The best thing for me is colour schemes & screen split support.
Check out my full article on DEV - @souviktests.20 -
There are people I've seen myself multiple times; who quit vim/vi using Ctrl+Z . I was lucky enough to ask one person to just run "jobs". That was horrifying.
I just needed to share this somewhere ...8 -
So this happened a few days ago
I was working on a module assigned by my senior, and was the sole developer on that module. Just when I was breaking my head to get a bash script correct (was writing a bash script for first time), my senior comes and looks at my messy script and goes "No, no, no, no that's not how you do it. "
Takes the keyboard and starts editing my script opened in vim.
Did some cool restructuring, taught me a few things about bash and while talking to me kept the keyboard back at its place.
I keep my hands on keyboard while talking to him and press
[Escape] :q!
And as I pressed Enter my face went purple/blue thinking this is not good. 😨
(I have a habit to quit as I had almost never edited and saved a vim file before)
And he sees that face and says
what happened?
No nothing. Everything's cool.2 -
Is there something you find genuinely cool and would recommend ? Some webpage, program, OS, library or anything ?
I mean hey. There are SO MANY reaaaally cool things I didn't know until last few months.. Things I'd be so grateful for if I knew them earlier. I'll list some of them and I just know you have few of yours too. Feel free to educate the rest!
Processing - Program so fun to code in + CodingTrain(YTB channel)
Microcorruption.com - so freaking awesome if you wanna learn hacking / assembly (not x86 necessarily)
LiveOverflow - cool hacking channel
Radare - cool cmd Linux disassembler
vim-adventures.com - LEARN VIM (not just how to quit it) LITERALLY by playing a game!!!!!!!!!!!!!!
slashdot - stay updated , like really
"BEST-WEBSITES-A-PROGRAMMER-SHOULD-VISIT" - GUYS THIS! Sorry for caps but search this on GitHub and you will fucking die of happiness of how freaking useful links there are and no bullshit to dig through , just pure awesomeness. REALLY
HandBrake - Top media converter without bullshit and bloat stuff in it
Calibre - Best eBook management software capable of literally everything ebooks related. Kindle is a bloated joke compared to this
QubesOS - You know you can have every OS running at once - you have a Linux but are playing win games. Yup. It's there. Free
Computerphile - You all know it, it's just for completeness
Khan Academy - Same
VulnHub - download vulnerable VMs and hack them, or learn by reading writeup on how to do it!
Valgrind - MUST HAVE for C/C++ programmers
Computer Science crash course videos
That's all I can think of from top of my head but hey, there's more to it so definitely add your 2 cents!
Last thing, if nothing, just check the websites on GitHub, that's lifechanger
Looking forward to see some cool links & recommendations!2 -
In Vim, :x = save and quit
Never hear anyone mention this command. its the one i always use to quit Vim. Youre welcome :)3 -
Is it worth trying to learn vim? I know the basics (like how to quit), but wasn't sure if it was worth the time.5
-
A little more than a year ago I attended to this coding bootcamp where the leading instructor made us open up Vim and told a joke about "those guys who can't quit Vim". It still hurts, but it's getting better every time I get the chance to do the same with others.1
-
The data at the bottom are statistics regarding my key presses. It's literally every key pressed on this laptop since 2024-12-08. Since that date I entered a total of unique 925450 unique inputs. I did 4751951 keyboard inputs.
I know from 595 hours exactly what i've done for tasks (described by LLM based on my keylog data).
I type 107 lines per hour on average (return presses) based on 595 hours. With that logic, i did around 63925 lines.
I'm not very happy with the statistics, especially not because backspace is a hardcore first. Now, while i'm typing i'm focusing on how much I use it and it's not a lot at all.
But the thing is, if you remove abcdef, you have one a, one b, but six times back space. And these are real presses - not keyboard repeats. Also abcdef will be counted by the tag counter as a whole. Everything is a tag until it sees a new line or a white space or some punct.
Funny is that there are completely different keys on the list than I expected. You're so you used to those keys that you don't even notice using them.
I'm almost considering to add a sound under the backspace button to teach myself WHEN i use it and try to avoid it.
The key logger database is now 346Mb. Some overhead because every keypress takes around 40 chars of description (timestamp, press type, char, input device).
Creating statistics for the tags (unique words typed) takes several minutes. Already rewriting that part to C. The stats are made by python, the key logs with C.
I'm just shocked, I used 144644 times a key that I think not to use that much? :P How retoorded can you be. Imagine if i actually fixed typo's :P
But based on these keys you can see that i'm mainly working in terminal / vim. The 'i' for insert for example, typed so many times. The 'x' for save+quit. The '0' to go to beginning of line.
Did you expect that these buttons would've been the most used?
#0 BACKSPACE is pressed 144644 times (15.63% of total input)
#1 UP is pressed 92711 times (10.02% of total input)
#2 LEFT_SHIFT is pressed 73777 times (7.97% of total input)
#3 ENTER is pressed 63883 times (6.9% of total input)
#4 DOWN is pressed 56838 times (6.14% of total input)
#5 TAB is pressed 43635 times (4.72% of total input)
#6 RIGHT is pressed 37710 times (4.07% of total input)
#7 SPACE is pressed 34438 times (3.72% of total input)
#8 LEFT is pressed 26800 times (2.9% of total input)
#9 LEFT_CTRL is pressed 25402 times (2.74% of total input)
#10 LEFT_ALT is pressed 17289 times (1.87% of total input)
#11 I is pressed 12856 times (1.39% of total input)
#12 X is pressed 6106 times (0.66% of total input)
#13 A is pressed 5163 times (0.56% of total input)
#14 0 is pressed 4487 times (0.48% of total input)
#15 PAGEDOWN is pressed 4151 times (0.45% of total input)5 -
Dvorak users, how do you manage your shortcuts, like in vim?
I can't quit it anymore! 😜
I am too scared to remap everything.6 -
!rant vim
As i've seen a lot of rants about can't close vim type so I searched and found this in book does it work or not .
Try these: What to Type What it does
:q Quit the current window (or editor if you are out of windows) if there are no unsaved changes.
:q! Quit the current window even if there are unsaved changes.
:qa Quit all windows unless there are unsaved changes.
:qa! Quit all windows even if there are unsaved changes.
:wq Save changes and quit the current window.
ZZ Save changes and quit current window
If you can't get out of vim, you should check to be sure the caps lock is OFF, and press the escape button. If it feels good, press it a couple of times. If it beeps, you know that you've escaped enough. Then these exit commands should work. -
Confession : I swear -> my sweet Arch Linux was freeze in my laptop in my super lightweight tty env + tmux after about to quit demonstrate my friend about vim in vimtutor on yesterday.
(1st freeze after 1 half a year of using it. Maybe something wrong about my rot potato, but hey -> its a things ;)
(no data lost after hard reboot after all.)
(First time it failed without me thinker it ;) -> Its not my fault Jim~)12