Do all the things like ++ or -- rants, post your own rants, comment on others' rants and build your customized dev avatarSign Up
From the creators of devRant, Pipeless lets you power real-time personalized recommendations and activity feeds using a simple APILearn More
Search - "vim"
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.
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.39
My graduation project partner was strange person
Favorite IDE is VIM
Forget how to use git
But somehow she could code most of the app
I asked what does she do when mistake happens, she answered "delete and write again"
I suggest github but she is "to embarrassed to show her code on internet"
She send .zip file of her code to me
Go to univ library to copy some code because she don't believe random code on internet
Of course verson of code on book in library is too old, but she prefer fix herself
But she is overall good person, so I can graduate next month14
Stumbled upon VS Code recently, an open source freeware from Microsoft. And as a VIM fan, I must say that it blew me away with its sleek nature.
Been a user of Sublime and Atom in the past as well, but VS code surely stands out.9
I had been working on this file for the last 4 or so hours.
And accidentally deleted it with NerdTree (mdy).
300 loc. poof.
scoured internet for recovery procedure.
... to no avail. just about to give up.
here comes the climax: .....
It was stillllll...... in the NEOVIM. BUFFER.
vim got my back.
praise you vim lord.
PM: this is our super fancy new CI/CD pipeline, it's the greatest. i expect you to learn and understand all this in no time.
devs: so i have to spend some more time on this topic because it's completely new to me and requires some learning...
PM: nooo, that's a super easy task with zero effort, my braindead hamster can do that in no time, so can i, and so can you! let's assign 1 story point for that.
~ 3 months latèr ~
also PM, after he has started developing as well: so i'm realizing there are many things that i have to learn, and it takes me some time. i haven't developed with C++ and <other tool stack> for a longer time. by the way, you guys don't need to check for any quality right now, we need to deliver fast. it's okay, when you have memory overflows, your code is completely crappy, poor architecture or memory overflows, it doesn't matter.
he even has a subtask for migrating his code from VS project to our new project structure, since he refused to learn our pipeline right from the beginning and created VS project instead. シ why is this a subtask? this job can be done in no time, my left vanishing twin named Klaus who has dislexia and hates vim can solve this task in 20 seconds!!!!11
(and still no PR, not even a feature branch in our repo)2
During my rookie days I used to glorify the fact that I wrote production grade code using vim.
Lol, explains why I would delay on delivery6
Okay, here's a rant for you: neo fucking vim and their fucking wrapper plugins for wrapper plugins for wrapper plugins for plugins "tHat'S wRitTen in LOWAA". The fuck is wrong with you, you fucking dumpshits?! Bram was right to not get involved in this bullshit!!8
I still didn't manage to close vim but I dont wan't to close my terminal.
Guess I'll accept my new buddy on my screen. ¯\_(ツ)_/¯3
I am so tired of Windows.
Latest story. I am doing homework for uni. I write it in LaTeX.
My LaTeX editor is vscode. Because there are great LaTeX plugins which can use a docker container for LaTeX. Also vscode has a vim plugin.
I wanted to synchronize my progress, so I installed GDrive Sync and pointed it to my homework directory.
And suddenly compiling regularly crashes. And it's Windows fault.
This is how the plugin uses LaTeX: "First creating some auxiliary files. Then create the pdf. Then delete the auxiliary files.
But sometimes it happens that GDrive finds the auxiliary files. Then it will open the file in readmode. And upload the contents. And here's the problem. When it's opened, it cannot be deleted. This crashes the pluging. Could have been programmed better, but hey, in Linux, it could be deleted.
Files in Linux are garbage collected. Well, not really, but same effect. When a file is deleted, it disappears immediately, but is actually only deleted when no more process has it opened. Meaning, you could delete something that is being uploaded. It would be continued to be uploaded until GDrive is done, at which point the file is deleted. GDrive would see the change and delete the auxiliary file remotely.
So, it is inherently better at throwing multiple applications together without them conflicting with each other.
Yesterday, I was finally fed up with all of that and installed regolith on my system. But I am worried. I don't know what my uni will throw at me. Stuff like zoom breakout session. There is no guarantee that not someone needs something done that's only possible in Windows (or only possible with reasonable effort in Windows). And if it's just turning in an assignment as a power point presentation.
Plus I want to game. And I have more than just steam games.
Well, anyway. Today is the day where my KVM-switch and second graphics card arrives. Think I have that covered.
Also gives me the opportunity to spin up a separate windows for applications I don't trust.
So, I guess my setup just made a huge leap to a better state.7
F*ck me, for "i-dont-know-how-many" days I've found myself scripting Lua to implement stuff for NeoVim.
Stuff that Emacs/VSCode/Sublime already have.
But no, let's redo it in Lua and have an incomplete LSP.
Let's use tree-sitter (which follows TextMate's grammar btw) BUT let's implement an API for it in an incompatible way that removes TextMate's grammar which other editors, and LSP btw, use.
And don't let me get started on NeoVim's forefather, ViM, which I've also used for a long long time.
Don't get me wrong, NeoVim IS A GREAT IMPROVEMENT OVER VIM, but while improving Vim in a lot of ways, some decisions made are almost impossible to remake without massive breaking changes, like, for example:
The decision of REWRITING Vim's C code instead of wrapping its core with Rust and going on from there. Like Deno does it, like Tree-sitter does it. F*CK ME!
"Oh, but Lua doesn't have great Rust FFI..."
Well, F*CK THAT, JUST DON'T CHOOSE LUA.
"You can use msgpack..."
Seriously, compromise performance on an editor whose mantra IS PERFORMANCE?
Anyhow, I'm leaving.
It's not that I can't stand to stop what I'm coding just to waste time scripting an editor so I can have what other editors already have.
It's having to build stuff from scratch because the editor doesn't follow the patterns laid out by other editors. F*ck, if at least it was Typescript or Python I could show the work on my portifólio, but no, IT'S LUA - very easy to script by the way, but close to no standard library.
I'm going Emacs TODAY.
"Wait, but isn't Emacs non-standard?"
YES, you're right!
BUT it's got all the stuff the others have completely implemented and a truly fully-fledged programming language to script it with so not to waste my time reinventing the wheel.
That's it. Haters gonna hate, but f*ck (Neo)Vim and my thousands of hours sunk into configuring, tweaking, scripting and learning it.6
Any of us had annoyances with people with “a million dollar app idea” but what about these which gives unsolicited career advice?
I’m dealing with a boomer which keeps trying me to change my career and work into cyber security (because TV told him it’s a well paid field) despite me kindly telling him for multiple times which it’s not going to happen because I won’t throw away a career I love to work in a field which seems deadly boring to me (I love anything about coding from design to typing for hours on Vim meanwhile the only thought of reading for hours obscure documentation to find potential vulnerabilities on a system kills my spirit).9
Quick questions for some vim lovers out there.
I've seen a lot of youtube videos of people using vim/nvim/spacevim/... as their main IDE, claiming that they are perfectly fine with this setup. However, most of this people are programming in not heavy object oriented languages, like JS, C, Rust, Go.
My question is: are there any Java developers who are using vim as IDE and are satisfied with their setup? Is is even possible to migrate from Jetbrains tools to your setup without huge productivity drop? By productivity I mean - a lot of IDE stuff like name refactor, great lombok support, debugging tools7
Vim is like smoking, not as many people smoke these days, not many use Vim as in the past.
Smokers (vimmers) only realize they're hooked once they try to stop (try any other editor).
They find their favorite brand of smokes... I mean, write their own vimrc and can't stand any other brand (vimrc).
They also rather smoke old rope (no vimrc) than no smoke (no Vim) at all.
They only miss smoking (Vim) when they could and are not smoking (vimming).
They start wanting to smoke (have vim) everywhere (even while browsing).
Slowly they start coughing from smoking (little finger aches from not using a mouse).
Their lives grow more stressing e.g. they burn their finger while trying to smoke, for example, when driving, or their sanity when Vim doesn't do what it wasn't conceived to do.
Surprisingly, for them, they find it hard to convince others to smok... Oops, ...to use Vim.
Nonetheless, they don't really want, or can't, find anything apparently as enjoyable as smoki... as vimming.
My, oh my, why do I even Vim?
Tales from a Vim smok... sorry, user (me).11
What IDE's/Editors do you use for coding?
When it's just one file i use vim. But for more than one file i can't find anything that i like.
VsCode is just ugh and Jetbrains stuff is super bloated
Any good alternatives or should i learn to like vscode/jetbrains stuff?17
started looking for another way to use discord since their linux app is electron and garbage. (taking up a couple gigs just to sit there. windows apparently are all 32bit builds and take up a couple hundred megs)
luakit was not highlighting text? lil slow. lil weird
surf (suckless), well suks. copy doesnt even work from what i can tell, and other ppl had that issue. besides that just kind of a pain. not a fan of suckless rebuild manually flow anyway
had to dick with userscripts since a browser wouldn't have notifs or systray.
drag and drop doesn't appear to work with webkit. (i know safari users have had issues bc discord says the tech doesnt support discord)
ended up with vimb, and i gotta say, it's good. faster, i got vim follow, and it only takes up 100mb or so.
Today I learned that Vim normal mode is Turing complete. Figures. Anything can be Turing complete. Doom can now run itself, Minecraft and Dwarf Fortress are Turing complete, even PowerPoint is technically turing complete. It's only a matter of time before somebody can run DevRant in DevRant.4
Don't get me wrong, I love clojure, BUT, is it really that surprising how hard it is to bring in new clojurists?!?!
"oh, people get confused a lot about namespaces, why is that?"
Don't you get it? "namespaces"? Really?, I mean, seriously??? In VSCode days, to call source code paths as "namespaces" and hope people that are still learning about the JVM will understand it is NOT FEASIBLE. Thank God I was already a seasoned vim user before clojure, otherwise I'd give it up pretty fast.3
could get better at vim, and git, and a few other things ig. it'd be really great to be able to explain shit to others more clearly though. been using specific words more and what not, although it's drawn out and it's hard to balance length and directness. and there's also the fact that some ppl are just DUMB. say the same thing 5 times and they still keep asking. so no amount of effort on my part will probably change that =/1
ps: I'm not a natively English speaking person, please forgive tipos and other pedantic writing mistakes.
On another example of regressing for advancemente, the interested reader should read about performance differences and justification for it between grep and perl's regex implementation.
Sometimes when I get stuck and have programmer's writer's block, I just take a deep breath and type ^x^l. After that everything's fine.1
I'm currently showing my new junior the ropes in the workplace. We'll be using Gitpod for pair programming.
Me: "okay so I think Gitpod will use my configuration if we use the workspace I made... are you familiar with vim keybindings?"
HELP!!!, My ubuntu system exhaust all of it's ram, my system lags too much, I was currently running firefox, vim, postman, react server and node server.26