The Linux Thread - The Autist's OS of Choice

stupidpieceofshit

Panzer Vor, Motherfuckers
True & Honest Fan
kiwifarms.net
RRRRRRRRREEEEEEEEEEEEEEEEE
I just spent an hour and a half trying to figure out why my ftp server was no longer working after enabling SSL. The logs give you ZERO feedback on what's going on (none that I could find anyway, the only log offered pertained to user activities), only saying 'invalid parameter'. Turns out there was a FUCKING SPACE after one of the lines in the config file.

I don't understand how anyone could look at this and say "yep, that's pretty good UX".
Python taught me to ensure if your text editor allows it to enable space and tab symbols.

fucking bullshit is what this stuff is.
 

Rusty Crab

but it did get worse
kiwifarms.net
Python taught me to ensure if your text editor allows it to enable space and tab symbols.

fucking bullshit is what this stuff is.
yeah I think I'm gonna set up gvim rather than trying to roll with inline vi. I actually like Vim a lot, but vi in the terminal is stuff you subject Guantanamo Bay prisoners to.

I've spent most of today setting up a home server complete with sftp, ssh, chronjobs with bash scripts and several other things. I've been spending additional time making sure I'm doing it properly like figuring out how private keys and certificate configuration works. I've been a lifelong windows user, and I think I have to compare learning linux to learning Japanese if you already know English. While it's a LOT of stuff to learn in a short period and it's not without it's problems, you're kind of taken aback by how consistent it is under the hood. Windows has all these weird as shit exceptions for everything, and often times you have to just fumble around until stuff starts magically working, then stand back and don't touch it.

The biggest problems with Ubuntu (and distros in general so far) I have so far are that
  • It's got pretty serious hardware compatibility issues depending on your desktop environment
  • Once you get off the command line, the UX is WILDLY inconsistent, often requiring you to just know magic strings of text to make things work ('read the Man Pages' does not make for a good user experience).
If distros could properly address these two things to a degree that normies could understand them, I think it could be a serious competitor to windows. As it stands though, the hardware issues exist and the skills it takes to solve them go far, far beyond what the average person can deal with.
 
Last edited:

malt ipecac

kiwifarms.net
yeah I think I'm gonna set up gvim rather than trying to roll with inline vi. I actually like Vim a lot, but vi in the terminal is stuff you subject Guantanamo Bay prisoners to.
It sounds like you and I are at roughly comparable levels of experience with Linux, though I'm more familiar with macOS than Windows.

Why did you decide to use vim? And what's so bad about using vi in the terminal? (I've been practicing with emacs)

The biggest problems with Ubuntu (and distros in general so far) I have so far are that
  • It's got pretty serious hardware compatibility issues depending on your desktop environment
  • Once you get off the command line, the UX is WILDLY inconsistent, often requiring you to just know magic strings of text to make things work ('read the Man Pages' does not make for a good user experience).
If distros could properly address these two things to a degree that normies could understand them, I think it could be a serious competitor to windows. As it stands though, the hardware issues exist and the skills it takes to solve them go far, far beyond what the average person can deal with.
I'm using Arch, and I tried pretty much all of the popular desktop environments. I didn't like any of them for the same reasons you described, plus a feeling on some of them, like KDE, that I'd found myself on another Windows-like OS where I have no idea what's really going on behind the hood.

Largely based on advice I read here (seriously: thanks, @He Who Points And Laughs), I ended up going with dwm and no desktop environment. It's pretty much the best high-DPI support you can find, and it's simple enough for me to feel like I'm in control.

Rusty Crab said:
So far my biggest problem with linux is that for half the issues I run into, the only search results I can get are answers from 2008 that have long ceased to be relevant. Date filters don't seem to do much. Is there a better place to look than just trying to consult search engines?
This is one of the main reasons I chose to start with Arch. If I were using some other distribution, I think I'd just end up looking for help on the Arch Wiki.
 
Last edited:

Rusty Crab

but it did get worse
kiwifarms.net
It sounds like you and I are at roughly comparable levels of experience with Linux, though I'm more familiar with macOS than Windows.

Why did you decide to use vim? And what's so bad about using vi in the terminal? (I've been practicing with emacs)
You would kind of have to try it and gvim back to back to understand why. The first and most obvious thing is that terminal vi has almost no feedback on what your cursor is doing. It's hard to know what mode you're in, much less what variant of what mode you're in (appending, inserting). Visual/block mode does not always appear how you think it will and I don't know why. Sometimes I can't see what characters I'm selecting and other times I can't even tell I'm selecting anything. There's other problems where the editor will sometimes just take wildly unexpected actions and I have not invested the time into finding out why because I just had to Get Shit Done™. That's where you just need to use gvim and vi back to back to see what I mean.

I use vim overall because I find the keybindings very ergonomic. Modifier keys are very uncomfortable for me, so manipulating text all on home row is a godsend. I should mention however that vim BINDINGS (available in most mainstream editors) are very productive, but vim itself as a program is ancient and a pain to work in. I don't recommend trying to code in vim (the editor), for instance.

I'm using Arch, and I tried pretty much all of the popular desktop environments. I didn't like any of them for the same reasons you described, plus a feeling on some of them, like KDE, that I'd found myself on another Windows-like OS where I have no idea what's really going on behind the hood.
I loved KDE but it was horribly unstable on the computer I installed it on. So much so that I couldn't even use USB sticks reliably without the OS shitting itself. Other people don't appear to have the issues I did so I don't know what is going on.

it's simple enough for me to feel like I'm in control.
If that's what makes a learning experience comfortable for you, go for it. It's great to start with fundamentals in an environment without clutter. However, I should warn that I am a professional programmer with many regrets. One of those regrets is sticking to those kinds of overly simple environments for too long where I could keep the whole system in my head. It just gave me a bad case of "not made here" syndrome and made me feel like I was being productive when I actually was not.

Minimalist environments are great for learning, but I would warn that you should graduate to a more complete system in due time or else you risk falling behind your peers.

EDIT: oh also
 

malt ipecac

kiwifarms.net
You would kind of have to try it and gvim back to back to understand why. The first and most obvious thing is that terminal vi has almost no feedback on what your cursor is doing. It's hard to know what mode you're in, much less what variant of what mode you're in (appending, inserting). Visual/block mode does not always appear how you think it will and I don't know why. Sometimes I can't see what characters I'm selecting and other times I can't even tell I'm selecting anything. There's other problems where the editor will sometimes just take wildly unexpected actions and I have not invested the time into finding out why because I just had to Get Shit Done™. That's where you just need to use gvim and vi back to back to see what I mean.

I use vim overall because I find the keybindings very ergonomic. Modifier keys are very uncomfortable for me, so manipulating text all on home row is a godsend. I should mention however that vim BINDINGS (available in most mainstream editors) are very productive, but vim itself as a program is ancient and a pain to work in. I don't recommend trying to code in vim (the editor), for instance.
Interesting. I had already made a complete switch to Colemak, which made vim bindings worthless to me (instead of HJKL, my qwerty bindings would be HYNU).

Emacs feels only a little different from the terminal compared to the GUI version. Those differences make the GUI version nicer to use, but I could operate from the terminal just as easily. Was trying to wrap my head around why the GUI/terminal difference would be so stark with vim.

If that's what makes a learning experience comfortable for you, go for it. It's great to start with fundamentals in an environment without clutter. However, I should warn that I am a professional programmer with many regrets. One of those regrets is sticking to those kinds of overly simple environments for too long where I could keep the whole system in my head. It just gave me a bad case of "not made here" syndrome and made me feel like I was being productive when I actually was not.
If you're comfortable sharing, could you describe the sort of overly-simple environment you used?

For reference, my favorite workflow right now for programming practice is this:
  • login to arch, which takes me to ~/ via /dev/tty1
  • cd to desired directory then xinit from that directory
  • in dwm, use half of screen for emacs and half of screen for terminal emulator (can swap focus between windows with super+return)
  • as needed: can switch to other tags, open chromium/whatever else
Minimalist environments are great for learning, but I would warn that you should graduate to a more complete system in due time or else you risk falling behind your peers.
What do you mean by "a more complete system?"

I've tried some popular IDEs -- mostly Xcode on macOs and Visual Studio Community on Windows (and a bit of Eclipse IDE on both systems). It's not clear to me what I'm missing out on by using the setup described above instead of, say, one of those IDEs. Could you expound a bit?

I'm not a professional developer, but I'd like to become one, and I'm open to trying other setups.
 
Last edited:

Octane

Sata andagi...
kiwifarms.net
Just curious, why do people use XFCE over MATE? Both are roughly equal in system usage, but I personally think MATE is better since it doesn't suffer from tearing issues and I like the old GNOME style better.
 

Rusty Crab

but it did get worse
kiwifarms.net
Interesting. I had already made a complete switch to Colemak, which made vim bindings worthless to me (instead of HJKL, my qwerty bindings would be HYNU).

Emacs feels only a little different from the terminal compared to the GUI version. Those differences make the GUI version nicer to use, but I could operate from the terminal just as easily. Was trying to wrap my head around why the GUI/terminal difference would be so stark with vim.

I don't know anything about colemak so I can't speak on it. Binding preferences are whatever though. It's anything that's most ergonomic to you. I wouldn't spend too much time stressing over what binding style you use because it's unlikely to make a +/- 5% difference in typing output, no matter what the Church of Emacs/Cult of Vim zealots say about it. Just be mindful that whatever you're doing doesn't contribute to RSI and you'll be good. My RSI incidence went down dramatically when I switched away from "standard" arrow key cluster style editors.

If you're comfortable sharing, could you describe the sort of overly-simple environment you used?

What do you mean by "a more complete system?"

I can't go into it in too much detail because [power level], but in general I stuck with environments that I understood from top to bottom (I used to visualize stuff down to what was happening on a cpu level when I coded), and tried not to use many external libraries unless they were sufficiently simple to keep their inner workings in my head. This had the result of me not using more complex tools like IDEs and frameworks that everyone else was using. The result was me putting in a titanic amount of work and at the end, having an inferior product. I understood said product from top to bottom and felt good about it, but nobody gives a shit about that.

My real wakeup call was working with a guy that was even worse in this manner than I was. He was an actual genius and despite that, he's now in his late 40s and has functionally accomplished nothing in life. He's broke as shit because despite having amazing intelligence, he refuses to "stand on the shoulders of giants" as it were and prefers to bang rocks together in the terminal. That was when I knew I had to make some serious life changes.

I've tried some popular IDEs -- mostly Xcode on macOs and Visual Studio Community on Windows (and a bit of Eclipse IDE on both systems). It's not clear to me what I'm missing out on by using the setup described above instead of, say, one of those IDEs. Could you expound a bit?

I'm not a professional developer, but I'd like to become one, and I'm open to trying other setups.
If you want some culture shock, download visual studio 2019 on windows and get a trial subscription to Resharper (if you're using one of their supported languages). Dig into the documentation and tutorial videos. I think you're going to be blown away by just what those environments can do. Using Resharper roughly quadrupled my productivity within a few days.

I will say that some benefits of these IDEs do not become apparent until you work on a larger code base. I work on a +2 million line project and I would never dream of trying to open that in a vim-like setup.

People say complex IDEs are a crutch. OF COURSE THEY ARE! You know what else is a crutch? Operating systems. Real programmers tap on the harddrive with a magnetized needle to write their code.
 
Last edited:

malt ipecac

kiwifarms.net
I can't go into it in too much detail because [power level], but in general I stuck with environments that I understood from top to bottom (I used to visualize stuff down to what was happening on a cpu level when I coded), and tried not to use many external libraries unless they were sufficiently simple to keep their inner workings in my head. This had the result of me not using more complex tools like IDEs and frameworks that everyone else was using. The result was me putting in a titanic amount of work and at the end, having an inferior product. I understood said product from top to bottom and felt good about it, but nobody gives a shit about that.

My real wakeup call was working with a guy that was even worse in this manner than I was. He was an actual genius and despite that, he's now in his late 40s and has functionally accomplished nothing in life. He's broke as shit because despite having amazing intelligence, he refuses to "stand on the shoulders of giants" as it were and prefers to bang rocks together in the terminal. That was when I knew I had to make some serious life changes.
At least right now, it seems one could productively "stand on the shoulders of giants" by using an interpreted, high-level language like ruby. Is this a valid alternative? Or am I missing the point?

Let's say I've been practicing with C and Java using a "simple" setup. What would I get out of switching to writing programs in C or Java using Visual Studio 2019 with Resharper? How does that differ from what I would get out of switching to writing programs using ruby with an unchanged "simple" setup?

If you want some culture shock, download visual studio 2019 on windows and get a trial subscription to Resharper (if you're using one of their supported languages). Dig into the documentation and tutorial videos. I think you're going to be blown away by just what those environments can do. Using Resharper roughly quadrupled my productivity within a few days.
I will say that some benefits of these IDEs do not become apparent until you work on a larger code base. I work on a +2 million line project and I would never dream of trying to open that in a vim-like setup.

I'll read up on this. My main concern is that at US$130/year for the cheapest package, it's very expensive (though it's obviously worth it if the productivity boost is sufficient).

Could you give me one or two examples of features that delivered the best productivity boost for you? Or scenarios where VS 2019 w/ Resharper was obviously superior to a "simple" solution? Like, what is it about an IDE that makes a million-line project more navigable?

People say complex IDEs are a crutch. OF COURSE THEY ARE! You know what else is a crutch? Operating systems. Real programmers tap on the harddrive with a magnetized needle to write their code.
This is totally fair, and it's why I have no qualms with driving cars with automatic transmissions. I also have a reasonably well-formed idea of what the automatic transmission is doing for me.

At least in part due to my inexperience, I'm having trouble separating marketing fluff from genuine utility. Example:

On-the-fly code quality analysis is
available in C#, VB.NET, XAML, ASP.NET, JavaScript, TypeScript, CSS, HTML, and XML. ReSharper will let you know if your code can be improved and suggest automatic quick-fixes.
...
ReSharper applies over 2200 code inspections to your code at design time so you can instantly see whether your current file or even your whole solution contains any errors or problems.



Text below this line is likely more information than you want about keyboard layouts/bindings, so feel free to skip. I'll consider this targeted at someone else who may read this or maybe myself in a few years if I want to reminisce.

I don't know anything about colemak so I can't speak on it. Binding preferences are whatever though. It's anything that's most ergonomic to you. I wouldn't spend too much time stressing over what binding style you use because it's unlikely to make a +/- 5% difference in typing output, no matter what the Church of Emacs/Cult of Vim zealots say about it. Just be mindful that whatever you're doing doesn't contribute to RSI and you'll be good. My RSI incidence went down dramatically when I switched away from "standard" arrow key cluster style editors.
Here's what I've done keyboard-wise:
  • Alphanumeric: standard Colemak (all those 'mod-XX' forks are of marginal, if any, utility, and standard Colemak is preinstalled on macOS + every Linux distribution I've tried).
  • Replace caps lock with control
    • I find this both more ergonomic and more convenient than replacing caps lock with backspace. Caps lock --> Ctrl can also be set from the standard macOS keyboard preferences pane
    • Standard backspace is fine; loss of home-row backspace key is negated because you can just use ctrl+D in most applications to forward-delete.
  • For Mac keyboards only: swap option and command so emacs shortcuts are the same as on standard keyboards, where alt/meta is adjacent to space bar.
  • Left pinky for ctrl; left thumb for meta & super
When using that setup with emacs:
  • Instead of arrow keys or vim HJKL, use ctrl/meta + BPNF. Colemak's BPNF are located at qwerty's BRJE. Obviously, also use other shortcuts like ctrl/meta+A and ctrl/meta+E for line/sentence start and end. Colemak AE = qwerty AK
  • Important when using dwm: set dwm's modifier key to "super" because its default modifier key is meta, and this conflicts with many emacs shortcuts.
  • Unclutter package works well (for me) for auto-hiding cursor à la macOS default behavior
 

Rusty Crab

but it did get worse
kiwifarms.net
At least right now, it seems one could productively "stand on the shoulders of giants" by using an interpreted, high-level language like ruby. Is this a valid alternative? Or am I missing the point?
Ruby on rails is fine. The guy I'm talking about mostly dealt with very low level languages. I didn't know what your language was until this point, so that does change things somewhat. I don't know about Ruby IDEs so I can't input much into that conversation.

Let's say I've been practicing with C and Java using a "simple" setup. What would I get out of switching to writing programs in C or Java using Visual Studio 2019 with Resharper? How does that differ from what I would get out of switching to writing programs using ruby with an unchanged "simple" setup?
It's not really feasible to compare what you would get out of changing languages. It depends entirely on what you're writing. If you wanted to do a project in one of resharper's supported languages, I think that would be a nice exploration into what's possible with a flagship product like that, though. The main point is mostly to see what feature sets are possible and how they help. Once you know what features help you much, you can look for analogs to those in whatever IDEs feature the language of your choice.

I'll read up on this. My main concern is that at US$130/year for the cheapest package, it's very expensive (though it's obviously worth it if the productivity boost is sufficient).
Indeed, though I should note that the price sharply drops after the first year to ~$70 per year. If you're not doing it professionally, you may not be able to justify the cost, but I would at least do a trial just to see what it's like. If you are doing it professionally, it pays for itself in a matter of days.

Could you give me one or two examples of features that delivered the best productivity boost for you? Or scenarios where VS 2019 w/ Resharper was obviously superior to a "simple" solution? Like, what is it about an IDE that makes a million-line project more navigable?
Navigation is a big one. Resharper's method of "find anything anywhere" is phenomenal and it's tough to even communicate to someone else unless they use it firsthand. I can jump to any part of any file the 2 million line product in sub ~2 seconds just by vaguely remembering kinda what words were in the section I'm looking for. File locations and paths become entirely irrelevant to your workflow (it's still good to cleanup after yourself just for sanity's sake, though).

The other is what you mention below:
available in C#, VB.NET, XAML, ASP.NET, JavaScript, TypeScript, CSS, HTML, and XML. ReSharper will let you know if your code can be improved and suggest automatic quick-fixes.
...
ReSharper applies over 2200 code inspections to your code at design time so you can instantly see whether your current file or even your whole solution contains any errors or problems.
The solid examples I can give in C-like languages are stuff like pointer safety and proper variable initialization. It runs automated checks and scenarios "in it's head" and catches subtle issues that would cause flaws that could take a human months to notice and catch. It does not automate everything and it does not automate proper code design, but it does take a lot of weight off your your brain. You can focus more on stuff you care about (like architecture) rather than spending hours double checking that every member of every class has an =0 somewhere in the constructor.

Resharper has caught stuff for me in a matter of minutes that has slipped by the careful watch of 30 year industry veterans. There's no shame in having an automated tool watch your back. It does not mean you're less competent. It's just a shift of focus.

Code generation is another big one. Often times, classes will have large numbers of parameters in their constructors and have to pass those into children. Or there are times when method signatures can get quite complex. Resharper can generate and type check a lot of these to make sure that their method calls do what you think they're going to do at run time. One can argue "well the classes shouldn't be designed like that anyway". They are correct, but the unfortunately reality is that it's often not cost or time effective to avoid such things. This saves a ton of time and grunt typing.

You can also do crazy stuff like just using a method that doesn't exist yet, passing in some existing variables and resharper will just "magically" create that new function for you and add it to the relevant class. You don't even need to touch the header file. That feature alone probably saves me upward of 40 minutes per day.

There is stuff that I would consider more or less useful, but I haven't come across anything that I would really consider fluff. My only criticism of resharper is that their templates system is not as malleable as it could be, and it slightly buggy if you use other extensions (it still works but you have to spam keypresses sometimes to make it behave).
 

malt ipecac

kiwifarms.net
Ruby on rails is fine. The guy I'm talking about mostly dealt with very low level languages. I didn't know what your language was until this point, so that does change things somewhat. I don't know about Ruby IDEs so I can't input much into that conversation.
Well, ruby with or without rails. I haven't spent much time on web development. I was thinking more about features like dynamic typing, use of objects instead of primitives, etc. Stuff you would also get with a language like Python. I should have picked Python because Visual Studio does appear to have robust Python support.

It's not really feasible to compare what you would get out of changing languages. It depends entirely on what you're writing. If you wanted to do a project in one of resharper's supported languages, I think that would be a nice exploration into what's possible with a flagship product like that, though. The main point is mostly to see what feature sets are possible and how they help. Once you know what features help you much, you can look for analogs to those in whatever IDEs feature the language of your choice.
That's fair advice. I'll look into it down the road when I feel I have a better understanding of fundamentals.

In the meantime, what I'll do is look and see if I can use an emacs/terminal setup to accomplish something comparable or better to these features (or if I want these features at all):
  • Navigation: Resharper's method of "find anything anywhere"
    • I can jump to any part of any file the 2 million line product in sub ~2 seconds just by vaguely remembering kinda what words were in the section I'm looking for.
    • File locations and paths become entirely irrelevant to your workflow (it's still good to cleanup after yourself just for sanity's sake, though).
  • Code suggestions/issue detection:
    • Pointer safety and proper variable initialization
    • Automated checks and scenarios "in it's head" and catches subtle issues that would cause flaws that could take a human months to notice and catch
      • Example: Avoid spending hours double checking that every member of every class has an =0 somewhere in the constructor.
  • Code generation
    • Ex: classes will have large numbers of parameters in their constructors and have to pass those into children.
      • Resharper can generate and type check a lot of these to make sure that their method calls do what you think they're going to do at run time.
    • Automatically generate new method when you pass unexpected parameters to a method of the same name
  • Other stuff I don't really understand
    • using a method that doesn't exist yet
(this list is mostly for me so I can come back later)

Of course, my favorite arguments are those that confirm my preexisting biases, so I'd also love to hear from anyone who can tell me why it's better to stick with emacs + terminal. I'm still brand-new to this setup, so I need more time to think and experiment before I post more about what I do/don't like about it.
 

Rusty Crab

but it did get worse
kiwifarms.net
Of course, my favorite arguments are those that confirm my preexisting biases, so I'd also love to hear from anyone who can tell me why it's better to stick with emacs + terminal. I'm still brand-new to this setup, so I need more time to think and experiment before I post more about what I do/don't like about it.
Sure, and you know, if you're a beginner, it's not something you have to sweat about right now. Feel free to experiment. Just be aware that when/if you move to more professional ambitions, it's wise to leave your comfort zone to see what's possible.

Also, do be a bit wary of dynamic typing. It's a beginners trap. Dynamic typing makes tiny scripts easier to write, but it becomes wildly confusing when the code base starts to grow and gets exponentially more difficult to write stable/understandable code. That's why most big projects are still written in (mostly) statically typed languages like C# and java. The javascript landscape now breaks this wisdom as a standard and there's a reason webdevs want to drink themselves to death.
 

Kosher Dill

Potato Chips
True & Honest Fan
kiwifarms.net
The solid examples I can give in C-like languages are stuff like pointer safety and proper variable initialization. It runs automated checks and scenarios "in it's head" and catches subtle issues
Even plain old Visual Studio has realtime checks for that stuff now, though it's still somewhat imperfect. For anyone just getting started, I'd recommend just spending some time with VS and learning its ins and outs. If you find yourself "outgrowing" it, then stuff like Resharper is out there.
 

Ledj

kiwifarms.net
Well, ruby with or without rails. I haven't spent much time on web development. I was thinking more about features like dynamic typing, use of objects instead of primitives, etc. Stuff you would also get with a language like Python.
You could always try out a Jetbrains IDE for free and then compare it against your emacs workflow. Pycharm has a free community edition; you mentioned Ruby, you can always try RubyMine for 30 days for free; all the paid variants have 30 day trials.

One more thing to add in addition to what Rusty Crab has been saying: code generation is something that will massively boost your productivity. Jetbrain's LiveTemplate + External Tool system in their IDEs is really nice and convenient; Even the automatic boilerplate code generation by the IDE often isn't fast enough; a common strategy is to write template tools that use micro DSLs that allow you to inject partial bits of boilerplate at a specific location in a file. You can combine a LiveTemplate to generate the DSL structure automatically, then you just fill in the context specific arguments. After that, you just hit a hotkey combination and it automatically invokes the tool, submitting the file name to the tool automatically and the template is injected without having to even change focus on the editor. Of course you can hook up External Tools to any program, and submit to it automatic argument lists complete with macro expansions for common use things like current filename, etc.

The main reason LiveTemplates are so useful is that the IDE supplies you with useful macro expansions that are language aware; e.g., you might need to know the class name for a particular template expansion, but this is error prone to type it in and the template tool itself can't check the accuracy without analyzing the code itself, which most template tools shouldn't bother doing anyway. The LiveTemplate lets you use macros like $CLASSNAME which will automatically input the containing class name based on the template's location in source code. Having a template system that actually understands the language on a primitive level is a massive time save since you don't have to implement that yourself in your tools or in your editor.

When it comes to productivity, it's vital to use a system that speeds up your ability to manipulate text (both vim and emacs can be great for this, certainly better than modeless text editors ever will be). but it's even more vital to avoid typing whenever possible. The one major downside to emacs that doesn't involve personal preference is that vim users get free emulation support (of varying quality) in pretty much any IDE making changing environments based on the project less painful, whereas emacs style support is much more rare. Either way, try them all, and find the system that works best for you.
 

Citation Checking Project

Independent Journalist with a 10 year legacy
True & Honest Fan
kiwifarms.net
While we're on the topic of keeb tisms, I feel like I should recommend Xcape really quick to both Emacs and Vi proponents in this thread. In short, it can add a secondary function to a modifier key when pressed alone. Being able to trigger Esc and Tab with my thumbs on a non-ergonomic keyboard has been a blessing recently (although it can interact negatively with vidya, but you cant have it all can you?)
 

Octane

Sata andagi...
kiwifarms.net
Is it true that the CDE desktop environment has major security flaws? I'm currently using it right now and I'm worried.
 

Yotsubaaa

And I will love you 💗
True & Honest Fan
kiwifarms.net
Is it true that the CDE desktop environment has major security flaws? I'm currently using it right now and I'm worried.
As in this CDE?
cde.png

If so, I wouldn't worry about it. You've obviously found a way to communicate with us from the year 1994, and viruses haven't been invented yet.
 
Top