I also think we should be thinking more long-term. How understandable is the history when you're trying to figure out why something changed? I usually try to tell the story of what changes are being made rather than treating every clump of commits as a "PR" that's just going to be squashed together anyway. I think a lot of valuable information is lost by doing that. But I realize that that train has left the station for most, so I'll just shut up now.
+1 for SmartGit. It's much more intuitive and flexible than the JetBrains UI, which still inherits so much terminology and behavior from its "unified" view that includes being able to handle Perforce changelists. It's a bit of a mess and generally trips new users up more than it helps. If you're comfortable with it, then good for you but I've had a lot of students not being able to grok it really well.
For me it was Termination Shock that finally convinced me to stop reading his books. He just likes to write really long, repetitive and wildly overly detailed books. I was entertained by SevenEves and Reamde but I'm open to the possibility that I might very well react as I did to Termination Shock if I tried rereading them.
Edit: I've read and very much enjoyed a ton of Stephenson (Cryptonomicon, The Baroque Cycle, Anathem) but his recent stuff is tailing off for me. I don't know if it's me or him.
It's not just you. My reading is that the flaw was toxic Java users made the developers feel so bad about the feature that they canceled it out of spite. I'm almost certain that's not what it was but that's the only information in there.
I think that there's something up with that page. There may be a pathological path when suitable GPU support is not available.
My machine slowed down tremendously, with a YouTube video in another tab pausing entirely until I managed to close the tab. I tried again with Task Manager open and saw a process named "System Interrupts" with 75% of the CPU before I choked off the tab again.
I think the morality he's speaking to is the scalability of using that strategy. If everyone does it, then the system overloads and breaks. If only a few individuals do it, then those individuals willing to arrogate more resources to themselves "win". What makes those individuals so special to society?
I'm using the word "morality" to mean what is beneficial to society, within reasonable definitions. Please allow me to just hand-wave that away for now.
It's thinking about what are the ramifications of your actions on others? Why should you benefit and not others? Because you thought of it first? Because you're better at using this technique? Is this the kind of behavior that society wants to promote to achieve its goals?
We tend to use "morality" as a shortcut for meaning "not actively destructive to others." ... or something like that. I know we have to agree on which goals does society have, does society actually have goals, etc.
Or can we just let individuals pursue what they think are their own goals and hope for the best? And what best are we hoping for? Are we hoping that the system stays the same enough so that you personally will move toward your own goals? What if this pursuits prevents others from achieving theirs? What mechanisms do we have for changing things if we detect pathological behavior that will lead too far toward a place that everyone would consider to be "bad" (e.g., no food being produced).
Dog eat dog OK with everyone? What if this behavior ends up being so destructive that it affects even those who were initially excelling? What obligation do we have to others to keep the system working for them? Do we only think about that in terms of the eventual benefit to ourselves?
Morality's a big topic. I've probably mucked it up, but I'll leave it there.
As they explain in the article, a row-less layout with columns is quite common in the non-web world. They acknowledge that some people are arguing that it's not needed because nobody's using it (on the web). Nobody's using it (on the web) because it's not possible in CSS.
The argument is that the popularity of the layout in contexts where it's possible is a strong argument for enabling it on the web as well. This is not a layout that they just thought of and are trying to invent.
A "row-less" grid fits very well in the current CSS Grid specification, in that it can reuse the very powerful column-definition property as well as sub-grids. Their examples very convincingly show how orthogonal these features are.
Mostly, you just write grid-row-template: masonry and everything else just works with it. This is nice. It doesn't become harder to use the grid layout than it already is IMHO.
The drawback is mostly for browser-engine authors, for whom the bar for "fully supports CSS Grid" will be set even higher. They also mention that it might avoid "performance traps" where an implementation that needs to support all features of grid might be slower at some parts of grid layout than it would be if the specification were simpler.
If there were a separate display mode, then you'd have to repeat the grid-column specification for the masonry layout, which seems a shame.