Maybe not everyone’s experience mimics mine but I felt like people looked down at me a bit when I was 16 for using nano on the command line.
But, and here’s the kicker, if I hadnt been pushed into vim I would not be nearly as productive now.
There have been countless times in my career as a sysadmin/devops/SRE where I’ve been stuck with horrible latency to machines half a world away (or, a few miles away but the network is crappy) and being able to send just a few keystrokes and get a lot of power out of it is helpful.
That’s not counting all the “repeat” patterns or complex search and replace.
I remember still when I got my first job as a junior sysadmin, I spent a really long time logging in to each machine, updating a config file, logging out then going to the next one.
I didn’t need to be told that “ssh and nano is fine”, I needed to be told “there are better tools that you should invest in learning, because they will repay you back thousandfold”.
What I thought were people looking down on me were in fact people looking at me with hopeless pity, because I fought the idea of learning vim.
Or maybe they actually were looking down on you. When we feel bad in response to someone else, we're not usually misinterpreting the emotional cues.
It's not just what they say -- it's the way they say it.
Which is why the term "constructive criticism" exists. If you want to help them, then make them feel good by expanding their knowledge. But support them in their own choices and autonomy.
I mean yeah, sorta, sometimes. But other times u get back that vibe of “I just don’t care to learn something new, I’d rather do the bare minimum and I’m not really hungry to learn new things”. And recognizing the presence of this attitude is what causes the looking down upon.
Vs
What you should do is...
I remember stumbling on to them in my first job and thinking an very much appreciating their power over having to write a small program to iterate through an arbitrary # of files to do something... and another small program if I wanted to do something slightly different, etc.
People need to check how they encourage other people or promote things. You probably weren’t wrong about feeling looked down upon. Even if they really thought you would benefit.
Just say "nano is Linus Torvald's editor of choice" (which is true and will instantly shut down the debate)
> I really need to switch over to something that is actually maintained and does utf-8 properly. Probably 'nano'.
https://www.tag1consulting.com/blog/interview-linus-torvalds...
I tend to use nano because I'm mostly making changes to config files and the like so I mostly want simple.
Personally I look with pity at people who invest in cargo-culting the idiosyncrasies of systems from ancient times which simply don't apply anymore.
But the correct answer is ansible or it’s ilk- not being told that managing things one by one is “fine”.
Or like in nano, relegating oneself to managing files character by character.
It's interesting how the winds have changed toward Vim advocacy in a quarter century or so.
I switched to Vim around 1994, amidst a definitely anti-vi climate. In the university environment, almost nobody used vi. I remember nothing but vi trash talk.
The computing environment was proprietary Unix without a whole lot of freeware at all. Free Unix was just beginning to rise in the word. Only in the freeware world surrounding the Linux kernel and GNU utilities did I begin to discover alternative programs like Vim, still far from any sort of mainstream at that time.
I saw all this trash talking as weakness; by making fun of trivialities like the command sequence to get out of a program, you're just showing you're a moron. I looked into it and found it wasn't difficult at all.
Until then, all editors I ever used were fundamentally modeless: type characters to insert. I was curious about what it's like to use the modal editor after training oneself in its use.
I was quite pleasantly surprised; the naysayers were bigger morons than I thought. There are all these useful commands that can be touch-typed without any modifier keys!
Taking every key that produces a printable character and turning it into a command which inserts that character is an incredibly ill-considered decision. I mean, the machine can do anything you want, and you're insisting that it behave like a typewriter.
Because the computer/terminal keyboard traces its inspiration to the ancient typewriter, whose keys are mechanically linked to hammers that produce the characters those keys are labeled with, it must be so in a computer's editing program also. That is parochial thinking.
I don't understand how someone can go from, say, playing a game of Tetris where the unmodified keys ijkl control the falling pieces, to editing text, and suddenly insist that in this editing context, it must be that ijkl simply insert their image into the buffer. Like keys being commands is just something for games; editing is typewriter-like, so we simulate a typewriter, end of story.
Moreover, to be so vehement about this, so dead-set against the idea that an editor might be driven somewhat like a Tetris game, so as to not even give it a chance, in spite of relying on editing for enough years to become a programmer.
I still laugh at the word vi being the translation from Aztec of "how do I get out of this shit"
For context, I started with Linux in 1993, by making changes to the kernel. Vi was the editor of choice and I took it like I do with cultures of the countries I visit: I keep the comments to myself.
So I suffered in silence until I discovered joe (an editor based on Wordpress key bindings) and that was a great change.
I know 3 or 4 commands in vi, enough to make the changes five times a year when I have to use it somewhere
You know, after a number of years in the industry, I've largely stopped caring about what others think and wouldn't lose my sleep over it - the best tools are the ones that you're familiar with and that solve your problems.
For me, that's using nano, for someone else that could be vim. I might want to use some of the JetBrains IDEs, use something like Java liberally because of its verbosity and not even scoff at older software like Lazarus/FreePascal in some circumstances (their approach to GUI is still superior to most modern ones). For someone else that could be Visual Studio Code, a language like Python, or generally looking in the direction of the bleeding edge of languages, such as Rust.
As long as you reach your goals, i think it's perfectly reasonable to dismiss peer pressure or criticism, unless it's constructive (like the person who suggested that vim is better for replace operations over slow connections, which was a good point but also something I've never needed).
That said, the author's approach to customizing nano made me appreciate how nice having proper configuration files and options within them is!
But just in general, don't scoff at technologies just because they're not currently popular: there are a few problems out there that can be fixed really nicely within something like Prolog, Lisp or another seemingly dated language. Admittedly, nowadays there's perhaps too much focus towards using walled gardens, as opposed to piping some data through a few Bash scripts or maybe embedding Lua in a larger executable for some more dynamic functionality.
Of course, those are just some overly general examples, but getting discouraged from a good solution just due to peer pressure isn't exactly optimal. Having technologies that don't have good documentation due to never having been popular in the first place, or that are difficult to run or utilize nowadays, however, is a different story entirely.
Where punch cards would fit into all of that, however, i'm not sure as of yet. :)
In my mind I envisioned in on their desk in the next office over that looked like something out of the movie "Brazil" and machines on the desks during the Central Services scene [0]
More recently, I've found myself inside a container which didn't have any editors. I got the job done with echo, head and tail. Delightful.
Even alpine based images have a version of vi (it comes with busybox)
I agree this is pretty much a non issue for the average developer, but those of us who work on network infrastructure, as red-team hackers, or do any work on embedded systems can attest to how much of a pain it would be to not know how to use vi/vim.
You haven’t lived till you have to edit using only sed.
But not having a basic text editor that is probably a few hundred KB feels a bit silly, especially given how many environment dependencies usually get packaged into containers anyways.
That's like not including any sort of a shell in your container and wondering why people are having troubles with debugging.
Personally, i think that just basing container images on something like Alpine, Debian or even Ubuntu images is good enough because those are stripped down enough already for the most part.
# pkg install nanoEven if Vim is "better", I think it's important for all distros to include a text editor that is easy to use out of the box, and nano fits that bill perfectly.
That said, i immensely enjoy how small the install size for nano is and how there's no actual work that you need to do to get started with it (unless you need/want customization, like the author of the original article).
I used to install lynx web browser for the same reason, especially because at the time it was the age of countless popups and swf everywhere. I should check to see how it is these days, but I stopped using it when webdev made many pages unusable in it.
That was about a decade ago though, maybe RHEL has removed nano since then.
I'm not a power vi user, though. I usually use JOE (thanks/blame to '90s Slackware education), but occasionally vi is more convenient. It wouldn't be nearly as convenient without the arrow keys as I never learned proper typing technique.
In general, most utilities and functions primarily used interactively are optional in POSIX.
Like if you removed the “cd” command or the ability to read environment variables. “Containers” is any definition you want, but surely they’re built to some standard.
PS: I do make “from scratch” images a lot, I know you don’t “need” to have any utilities at all, but I’m fairly certain that a lot of software expects the “OS” to be POSIX.
Every Linux process can read environment variables. They are contained in its address space. "cd" is a shell built-in. When there is no shell, there is no "cd". Not providing access to a shell sounds like great security practice tbh. Your applications shouldn't be using it anyway (they should create new processes directly).
(I mostly use a mix of sublime, intellij, and vscode to edit text)
snob: a person who believes that their tastes in a particular area are superior to those of other people.
Nano is superior in that its easier to use. But it's certainly no where near as powerful as Vim or emacs.
(Add to that communicating with a guy on-site over notepad.exe. Mr. Robot vibes.)
Learning tools is an investment when you master tools you can achieve so much in short amount of time.
If a person knows his tools pretty well he can get work done faster and I have experienced this by learning vim and forcing my self to use it for writing code. It has improved my workflow significantly
I too applaud the author for their bravery in coming out as a proud nano user, not that there is anything wrong with it.
If someone is turning out high quality code in what seems an awful choice of dev environment then I'd just shrug my shoulders and move on. I don't have the mental energy to work up disappointment or frustration at how another person might, counterintuitively, be just as productive using tools I don't like.
I think R is far superior to SPSS but really don't care if someone decides to use SPSS and produces quality analysis, especially if a lifetime of experience in it made them highly efficient in its use.
I'm not big into coding anymore and nano is handy for my muscle memory, coming from DOS :) It's good enough for my purposes. Sure vim is more powerful but it's not as accessible to the casual user. It's a good tool for its job just like vim is. They're just different jobs.
If you really think strength of opinion indicates experience, then clearly you don't have a lot of experience with people...
Now I'll take my customized and plugin-full neovim setup over that any day, but that does not mean a developer cannot be fully competent with nano. I've worked with large projects where I didn't have access to neovim or my setup and just zsh and vi were enough to get the job done. Having to use nano would have been more of an inconvenience but it would have not been in any way undoable. Understandably, a dev would be more productive with their preferred setup, but if a dev couldn't work without it, that would be a red flag.
> you bet I will judge your ability to code by your preference of editor,
FYI. That's called 'gatekeeping.'
That on average, people whose first instinct is `nano` to edit a file in Linux have less experience than people whose first instinct is `vi(m)` (or, selfishly `emacs`).
> When someone uses a hobby or interest as a means of elevating themselves above others to give oneself a sense of being superior transforming their passion or knowledge about a particular subject into an ugly tool of self-inflation.
The shoe fits.
First editor I used was vi/vim.
For years it was the only editor I could use. (My CS education and school server use predates Pine/Pico/Nano and later on, it was a long time before nano was an option on more restrictive/specialized machines)
I still prefer nano.
In the end, I don't give a fuck what you use as long as you can get the job done.
Passing judgement on what people prefer to use is the de-facto definition of 'gatekeeping.'
My advice to the author would be to give emacs an other shot. It can be configured to behave a lot like nano (and isn't modal), and runs in the terminal. But there's an ecosystem of plugins around it and has a lot of stuff that's built-in. But one day one of the journey it'll behave almost exactly as nano.
Alas, nano (and pico before it) have a certain stigma among more "experienced" Unix users that more or less boils down to gatekeeping and snobbery. Which is a shame.
That said... it is worth considering that learning tools like editors is an investment in one's self and pushing through preference to genuinely try to use what others find value in can, if nothing else, help you better understand what you value and adjust your tooling to fit (much like the author adjusted Nano to be more like vim).
That's a pretty nuanced distinction though and I am glad that the author feels comfortable owning their preference and not feeling pressured by peers to conform to more "acceptable" choices while still having tried and learned from them.