It certainly makes a game like this more difficult, but I wonder if it's really a bad thing?
One answer I can think of: if a reader is in the middle of a long section, and the heading is off the screen, it can remind them which section they're in relative to the others.
This indicates (to me, anyway) that it's not a function of which heading you've scrolled to; it's a function of which section is on screen. If you use section-screen-area or something similar to highlight the active section, fiddling with the heading positions becomes unnecessary.
If you have a tiny section at the end that can never take up the majority of the screen, then when the user is reading it, the active indicator won't really be useful anyway.
also, my favorite form of getting currency is $2 bills in a 100 stack (so $200) from the bank. I used to use these for gift money on holidays :) but unfortunately my credit union doesn't order new stacks anymore, just jumbled up old $2 bills now.
Prose has a function, which is to tap into metaphor in order to help words describe a sensory experience that's otherwise difficult for words to capture.
The article does have that kind of prose. But it also has plenty of prose for prose's sake. Prose for prose's sake – especially in journalism – is self-serving. It obfuscates the point, for the sake of prose (and ultimately, for the author's own satisfaction with himself).
Edit: that being said, I liked the article overall and I think the author did great at choosing an interesting subject and pretty well at writing about it. I certainly couldn't do better.
> some of the things in this sprawling realm of clutter might have come from another galaxy, like the ballistic cartridge for the table saw. If you accidentally touch the blade, it senses electrical conductivity and retracts. It’s gone so fast that it can’t cut you. It’s all part of the magic of this place of transformations.
This is just a SawStop, but the author describes it as evidence of the otherworldliness of the subject. Why? There's a bill to make this mandatory in table saws. It's not otherworldly.
> The room lit up to an intensity such that Sam was cast as a silhouetted troupe of antic spiders dancing on the walls and floor and ceiling, sparks flying around him like a cracked nest of hornets and in his hands a burning blue hole at the center of things.
The author is describing aspects of welding with mixed arthropod metaphors. To me, it comes off as pretentious more than descriptive.
On the other hand, I like how this paragraph starts out:
> Sam is afraid of some of his machines in the way that the lion tamer is afraid of his cats. You are confident. You know your skills. You have been doing this a long time. But you know that wild animals are always wild animals, and a false gesture, perhaps an unexpected noise, could set in motion events that could not be stopped.
This metaphor is effective to me and is descriptive in the way the author intends. Maybe gets unnecessary towards the end. But right afterwards:
> Sam is harnessing powers that few of us ever encounter in our lives. He’s directing them in order to reach down inside of this deck of tarot cards and transform the very atomic nature of its being. He’s doing what sorcerers do: magic.
What? This isn't even referring to a particular skill or act. Just the use of shop machines. I don't doubt that Sam is exceptionally skilled, but using "magic" to "transform the very atomic nature" of the metal – especially when we're not talking about a particular act which sets him apart – is a strain for my imagination.
In my opinion, in a journalistic writing, this kind of fluff distracts from the subject and makes it difficult to read and/or take seriously. That's just my opinion – but I was replying to an opinion that it's "fine writing." If there's room for one, there's room for the other.
Prose has a function, which is to tap into metaphor in order to help words describe a sensory experience that's otherwise difficult for words to capture.
The article does have that kind of prose. But it also has plenty of prose for prose's sake. Prose for prose's sake – especially in journalism – is self-serving. It obfuscates the point, for the sake of prose (and ultimately, for the author's own satisfaction with himself).
Edit: that being said, I liked the article overall and I think the author did great at choosing an interesting subject and pretty well at writing about it. I certainly couldn't do better.
As such, 80 is as good a limit as any, and makes you think carefully about avoiding deep nesting of blocks, which is usually a good idea anyway. It also allows putting many windows side-by-side on a modern big 4k screen.
I mainly use Scala, and I think the majority of Scala code would be far less readable if forced to 80 columns, than if it were a larger number (or simply unconstrained).
My WFH monitor is an Apple Thunderbolt Display, which is woefully out-of-date now. Even on this display, and even though I use a much larger font than most people (16pt Hasklig), and even with a generous project/navigation/etc sidebar, I still get 180 characters. The display I have in the office is even wider, but I can't measure it right now because I'm not there.
My point is, displays are now wide enough where arbitrary line limits don't make sense. Nobody is going to cram stuff into one line unnecessarily, so just leave it up to the local decision about what makes the code most readable. If for some reason a 240-character line is more readable in some situation, then we should talk about that situation rather than why they didn't break the lines.
[1] https://hn.algolia.com/?q=java+for+everything (just searching for the URL doesn't work, because it started as http and changed to https 5 years ago)
> There are two ways to architect a program and write code: top-down and bottom-up.¶ […] The correct way to architect and write a program is top-down. This is not a matter of taste or preference. Bottom-up design is fundamentally busted and you shouldn’t use it. Every system I’ve been involved in that used top-down succeeded and those that used bottom-up failed. [...]
> At every level there’s pressure to do bottom-up programming. Avoid it. Instead, start at the top, with `main()` or its equivalent, and write it as if you had all the parts already written. Get that to look right. Stub out or hard-code the parts until you can get it to compile and run. Then slowly move your way down, keeping everything as brutally simple as you can. Don’t write a line of code that isn’t solving a problem you have *right now*. Then you may have a chance of succeeding in writing a large, working, long-lived program.
<https://www.teamten.com/lawrence/programming/write-code-top-...>
See also: Java for Everything <https://www.teamten.com/lawrence/writings/java-for-everythin...>
[1] https://hn.algolia.com/?q=java+for+everything (just searching for the URL doesn't work, because it started as http and changed to https 5 years ago)
I'm somewhat against code formatting "rules" in general. If it's about readability (/aesthetics), different code will have different properties that make it readable or unreadable. Sometimes, forcing a line break makes code less readable. In other situations, it can have the opposite effect. IMHO, it's a local decision – and the human that's working on that code is better at deciding what's readable than a linter is.