It's even worse than it appears.
It's true, a lot of the assholery in the US comes from Texas. #
Interesting column in USA Today. The voter suppression guys figured out if they act nice to the people they're suppressing the press wouldn't spin it as racism and white supremacy. Trump, by being so overtly racist, could spoil it for them. #
I am a man of many mottos. Like "Don't slam the door on your way out" or "It's even worse than it appears." The new one is about parties. I don't care how someone got to the party, as long as you're here, I'm your fellow party-goer. (Too long to be a motto, I know.) The net culture really needs to absorb this one. The punishment should fit the crime. Joel Osteen didn't open his Houston church to people made homeless by Hurricane Harvey. Twitter and Facebook exploded in rage. He relented. Now it's time to stop complaining. He came to the party. He's helping. If you're still giving him shit, you have become the problem. #
It's getting close to the Emmies. How do I know? I'm seeing pitches for the nominees. Shows I love like Fargo and Game of Thrones. And Saturday Night Live. Of all the SNL nominees my two favorites by far are Kate McKinnon and Tom Hanks. McKinnon did so many great skits, as did Hanks (as a guest host) but the one I liked the best, the one I totally adored, was Tom Hanks as the redneck on Black Jeopardy. Not just because it was funny but also because it was generous at a time when generosity is in short supply. #
  • This a really nerdy post. #
  • ES6 is the newest version of JavaScript, and it's gradually making its way into online docs and browser runtimes everywhere. #
  • I'm starting to use one of its features, and am reluctantly having to use others, and looking forward to one being more broadly deployed. #
    • The feature I am using is let. It should have been the way declarations worked everywhere. You should be able to very precisely determine the scope of a variable by its placement. The crazyass way var worked in JavaScript was one of its worst features. let fixes that. I can't see why you would ever not use let. Except of course if you're using const. Another feature, borrowed from Pascal (and #define in C) that's very useful. It's already caught a bug for me. When something really can't change you should use const.#
    • Even though names don't matter, I think let should have been called local. It's not clear from the names why let is local and var is more global. What's really going on is you're declaring a local, so it should have been called that. Regardless I'm happy to have what I regard as a bug fix. (The bugs caused by the way var is specified combined with the way asynch works can be truly spectacular.)#
    • The arrow notation for callbacks was uncalled for (heh awkward wording). What's the savings? Not having to include the word function? Really. We had a standard way to document callbacks. Now we have two ways. That's going in the wrong direction. (And we have two more ways, see the next section.)#
    • I don't like the new async version of promises which was a flawed improvement on callbacks. I think I don't mind callback hell so much because I edit in an outliner. If I wrote in a flat editor I can imagine I'd be desperate for something to unwind the indentation. As an outliner user, it's kind of cool in a Stockholm Syndrome kind of way. The problem is that people are going to ship sample code using all the fanciest new contraptions, making things that you want to be easy more complex. It's like using CoffeeScript for sample code. Please, just stick to basic common JavaScript (an idea that might be worth exploring).#
    • And the feature I'm anxiously awaiting are modules in the browser. I wish there were exactly Node packages. They seem to be inspired by them instead. In any case modules will improve my client coding enormously. They take me back to my UCSD Pascal days in the late 70s which had units, which were even nicer (if I recall correctly) than today's modules. Nonetheless the ability to create your own APIs as a routine matter is essential for good development. #
    • So much of the evolution of JavaScript has been an attempt to humanize the wrong way it does async. All that bullshit should have been buried in the runtime. That would be orders of magnitude faster and less error-prone for the human beings writing the software, and I bet you can even do optimizations in the runtime that make it faster. JavaScript will never be as easy as other Algol-like languages, and none of the patches and weird constructs will fix that, they only succeed in making it even more complex. That said, you can pry the JavaScript from my dead cold hands. This is the language I'm using, and that's that. #
    • No doubt my friend Allen Wirfs-Brock who was the editor of the ES6 spec will have explanations for all this or at least stories to go with why they did what they did. ;-)#
  • Update: As predicted Allen Wirfs-Brock had some great stories to tell about the development of ES6. #

© 1994-2017 Dave Winer.

Last udpate: Thursday August 31, 2017; 7:08 PM EDT.