----------------------------------------
       Tabs vs spaces
       July 29th, 2018
       ----------------------------------------
       
       There's a post on lobste.rs right now [0] about tabs & spaces.
       Don't go read it, there's no point. You've already read everything
       there is to be said on the subject. Seriously. Don't follow this
       link to the lobste.rs comments either.
 (TXT) [0] Elastic tabstops - a better way to indent and align code (comments)
       
       I don't think I have an official Opinion(TM) already floating out
       there in the inter-ether, so I'll use this opportunity to give my
       two cents. I'm pro tabs, with caveats.
       
       I'll start with the caveats because they're the easy part. I will
       use spaces in any of the following situations:
       
         - The language spec calls for spaces (i.e., python)
         - The team styleguide calls for spaces
         - The codebase I'm interacting with has already established the
           use of spaces over tabs
         - I'm working with someone who is a die-hard advocate for spaces
           and won't shut up about it unless I just give in
       
       Here's why I prefer tabs:
       
       Indentation distance is a visual preference which should be
       enforced by the person working with the code, not the maintainer
       of the code. If I want to develop using eight spaces as the visual
       indentation of blocks, then I should do that. There is no valid
       reason(*) that my personal choice of tabstop should be followed by
       any other developer who is also working with this code. But how
       can we both get it the way we want and not have to constantly
       battle over the indentation style? What method could we possibly
       use? Oh right... a fucking tab.
       
       Tabs can be set to visually show up at whatever distance you want.
       If you like a tiny tiny little increment, set a tabstop to two
       characters, or even 1! If you like a giant leap along the line, go
       for eight, or ten, or whatever. That's it. Just set it up how you
       want to see it.
       
       There's another reason, though I consider it of less importance.
       A tab is a single character. Spaces are multiple characters. Why
       add multiple characters to something when you don't have to?
       Semantically, indent with the single character that accomplishes
       that. Then you're done. Tada!
       
       (*) I must address the usual counter-argument here: the alignment
       of parameters, equal signs, or other nonsense that cascades down
       from an arbitrary point on the line. Spaces can make everything
       pretty, like ascii art. That's a plus! If we use tabs we can't do
       that and we'd have to suffer endlessly with vertically listed
       parameters that don't line up with the spot where the first
       parameter fell naturally on the line. This is true. I think using
       a single flexible character for code indentation that lets people
       do things their own way far outweighs code knolling [1].
       
 (HTM) [1] Knolling
       
       So, in summary: I don't care how you wanted your code to be
       viewed. I want to view it the way I prefer, which lets me work
       faster and easier. Use a tab. Let me set my own definition for
       what that means.