1.  

    They don’t only replace if statements. They allow you to keep from being repetitious about how you handle errors, and allow for layered error handling. They also don’t complicate control flow too much (the proposed design could be implemented with function-local gotos quite easily). I don’t think it adds an untoward amount of complexity, though it does add some.

    Generics, if anything, add enough complexity where I could see a complaint being raised (though I’m liking the look of the proposal, even if I’m wondering how it’s going to work).

    How would you handle error handling in a backwards compatible way that achieves a similar amount of reduction in boilerplate?

    1. 5

      this change definitely infringes on the other lerna contributors’ copyrights

      Everyone’s contributions (and the whole project right before the license switch) are still available under MIT. MIT permits sublicensing. I guess they should’ve kept the old license in the repo and mentioned what it applies to… but there’s no actual requirement that “old git revisions don’t count as included with the Software” :)

      CLAs are terrible and unnecessary.

      1. 8

        They do ban “Microsoft Corporation” and its subsidiaries. Doesn’t that include Github!?

        1. 7

          Turn off JS then? Isn’t this what a modern browser is by definition? A tool that executes arbitrary code from URLs I throw at it?

          1.  

            NOTE: every browser executing JavaScript and honouring HTTP cache controls headers is equally vulnerable.

            1. 13

              Interesting, though I expected a manifesto for minimalists to be more minimal. :)

              1.  

                It’s interesting that they didn’t explicitly prohibit ICE itself, only collaborators.

                Also, this change definitely infringes on the other lerna contributors’ copyrights, despite the explanations given by the original author. The should have used a contributors license agreement. I wish Github had better tools/policies regarding licensing and CLAs.

                1.  

                  They did record it and supposedly will put it up on YouTube at some point.

                  1. 7

                    If you look at the speaker notes (if Google Slides lets you) you’ll get the bulk of what I actually said.

                    (You’ll still miss out on the two livecoding pieces and my impeccable comedic timing.)

                    1.  

                      After reading this, I find myself liking MQTT more. The alternative that is being proposed sounds like an overly complicated morass.

                      1.  

                        oh well

                        1. 7

                          This is the end result of the Internet on practically any creative endeavor. You can see it in books, movies, music, wherever you look: too much supply, not enough demand to make a living wage. Ironically, this means that games are finally proven to be art: you can’t make any money making them, just like any other art form! Yay!

                          More seriously, it also indicates that “commodity games” are kind of… done. When gaming was characterized by the seemingly endless upgrade treadmill of the 80s, 90s, and early 00s, the “latest and greatest” mattered a lot more than it does now. Super Mario Bros. was a vast improvement over its predecessors. Super Mario Bros. 3 was an improvement over that. Super Mario World was still larger, with more features and better graphics. Mario 64 was 3D, which had never been done… and then the treadmill slowed down a little. Sunshine had better graphics. Galaxy and Odyssey… have better graphics.

                          In the indie world, it’s even worse. In 2018, I can either spend $15 on a new (probably “early access”) roguelike with pixel graphics or I can play one of the half dozen or so roguelikes with pixel graphics that I’ve gotten on sale in the past but never beaten. Platformers are a dime a dozen, almost literally in some bundles.

                          This is the future of gaming in a nutshell:

                          1-16 of over 5,000 results for Kindle Store : Kindle eBooks : Science Fiction & Fantasy : Fantasy : Last 30 days

                          There’s a reason the “starving artist” is a trope.

                          1.  

                            Video seems to be unavailable.

                            1.  

                              I agree here. Having worked on a lot of old-ish codebases, application drift and environment drift tend to cause whatever the original author thought would be the biggest scale issues to be non-issues within a few years.

                              For instance, we have a handful of big hulking java codebases whose bulk is mostly related to making it possible to switch between Oracle and DB2. We haven’t used DB2 for anything in 15 years, and none of that code was useful for making it possible to switch to postgres. We have thousands of lines of code intended to compensate for unreliability in ancient DB2 installs, which actually make reliability worse against Oracle or Postgres while making all the processes much slower. The people who designed this left ten years ago, and for the past 5+ years the main bottleneck has been due to premature optimizations that were ultimately ill-considered (like using hadoop for mostly-linear processes that would be faster if done in a shell script, using expensive unreliable third-party services for what amounts to tokenization and ultimately doing our own tokenization most of the time when the third-party service times out or crashes, or adding unnecessary extra steps that require changing the format and location of tens of terabytes of data based entirely on the expectation of nonexistent performance gains for features that were never implemented or seriously planned).

                              Premature scaling is premature optimization. Just like optimization, it makes more sense to write something straightforwardly, identify actual bottlenecks, and rearchitect and rewrite to counteract them. If rewriting a project you’ve already written is hard, that indicates that you’re using the wrong tools (or that you’ve created the wrong design for the toolset you’re using).

                              1.  

                                I think the particular keywords/syntax may still be open to bikeshedding. Especially if/once they open a formal proposal later. (Not sure if this will happen, as it’s the first time they publish “draft designs”, so it’s apparently an experiment with a new formal process.) But I can full well be wrong on this.

                                1.  

                                  I tried everything. From Remember the Milk, todoist and a plethora of other online web apps to org-mode, task warrior & a full implementation of GTD using various tools (including a cork board for pinning notes).

                                  The bullet journal approach is the only thing that really worked for me and that’s what I am doing now. The difference is amazing, I have things actually planned a month ahead and regularly executing on them (which was almost never the case in the past).

                                  Software didn’t work for me for two main reasons:

                                  1. It was never handy (split between phone & desktop) and a pain in the ass to capture notes on the go or in a format that the tool didn’t expect.
                                  2. It was too easy to overfill it with tasks and the tools were hiding how much they already had in them (lacking a good overview).

                                  GTD failed with too many items to book keep and it encouraged me to just continue filling in more items to-do.

                                  In contrast with the bullet journal:

                                  1. I have a single capture point - the bujo, got a bag to carry it around and never leave the house without it. A5 is not that much of a hassle to carry around.
                                  2. I stopped over committing, when you are migrating tasks daily you really think twice about what is worth of finding a place in the journal - that’s the best thing that doing a bujo gave me.
                                  3. It’s a good quick overview and just a single place to check.

                                  If you are having issues with picking a method or a tool. Give bullet journalling a try - it worked for me.

                                  1.  

                                    I had no idea this stuff existed before this post. Are they actually widely used?

                                    1. 7

                                      This is really neat. I also appreciate his thoroughness with calculating how much electricity the system uses and comparing that with the cost of the online providers. He does seem to leave out, or I missed it at least, that going with online backup providers does give you off-site backups which are key.

                                      1.  

                                        Syncthing is mentioned in the thread I’ve linked to in my initial comment. I’ll still give it a try, since I haven’t considered it at all. Note: I haven’t used Syncthing in the past two years, maybe it has improved.

                                        1.  

                                          I doubt any of those guys who posted fancy to-do lists ever use a to-do list.

                                          This reminds me of a friend who’s started keeping a hand-drawn “bullet journal”. Essentially you get a white notebook, and you draw a fancy planner layout yourself on a two-page spread for each week. Then you take a photo with your phone/camera, add some filters, and post it on twitter/instagram.

                                          I really doubt she got any work done with it, because every week after spending two hours just drawing the damn thing she complained that she didn’t have much to write in it. Last time I checked, she had switched to a layout for multiple months.