1.  

    These look modest in size but very definitely not modest in impact.

    1.  

      “modest proposal” is an ironic phrase alluding to https://en.wikipedia.org/wiki/A_Modest_Proposal.

      1.  

        A great text!

        I’ve always considered it as the original inspiration for the old propaganda about Communists eating children.

        I wonder to what length one could go writing a similar paper, in Latex, today.

        It’s definitely an hack to try.

    1. 2

      I’d reply to this, but I’m really busy doing dot products on big piles of vectors… they’re really big vectors…

      1. 2

        Computationally, I don’t think they’re that big. Typical vision models have matrix multiplications that are quite small (on the order of 1000x1000 matrices for the huge ones) relative to the problems solved for computational chemistry (a couple of orders of magnitude bigger).

        1. 2

          I’m doing it by hand, and I’m not good at math.

          1. 1

            I guess that’s why you are procrastinating on Lobste.rs then?

      1. 6

        I agree with the author that many of the software abstractions all common operating systems use are decades-old relics of a time when designers made decision based around hardware constraints that are for the most part no longer relevant, and it would be good to re-think the relevance of some of these abstractions.

        The devil’s in the details though. What specific abstraction should replace plain text? If I call my plaintext file “config.json” or and check that it is valid JSON, does that effectively solve the problem I wanted to solve by making another abstraction ubiquitous (is parsing text really all that hard on modern hardware?)

        Are the specific terse conventions of UNIX shell commands (ls, cp, etc.) so bad that it’s worth the transition cost? After all, nothing is stopping anyone from writing their own shell where you type whatever you want to do those things, that really is just a product of human inertia - just like the English spelling system, one might point out.

        Is “But the division of work into processes seems very coarse-grained; one widely replicated practice is having each end-user application, on average, correspond to a process” still true anymore, even on desktop computers? Of course the UNIX process abstraction still exists, but plenty of software makes use of multiple threads of execution (IIRC the basic unit of a thread of execution in Linux is the task, which can be configured share arbitrary resources with other tasks, and if you have one or more tasks that happen to share a memory address space you call that a process). And this is ignoring fairly-common computing environments like, say, offloading computation to GPUs to play a video game or do some hardcore math.

        I don’t want to seem overly critical here. I don’t think that the Linux process abstraction is necessarily the best possible abstraction for running a computer program. Maybe there’s a better abstraction out there that would make multithreading and talking to the GPU much easier, and computing as a whole is losing out because most mainstream software developers have to shoehorn these tasks into an inferior abstraction. But this is below the level of abstraction that I personally normally work in as a programmer, so it’s hard for me to judge whether or not this is actually true without a counterexample of a potentially-better abstraction, which the author doesn’t provide.

        The Urbit project also seems relevant to this discussion. They are trying to build a clean-slate computing environment (right now implemented as an ordinary UNIX process however) that has fundamentally different abstractions from UNIX, created for the purpose of making it easy for people to host personal servers. It uses a custom functional programming language (interpreted by a very minimalist interpreter running on actual hardware) as the OS implementation language/application software language, rather than C; it builds a network namespace into the design of the system at a much more fundamental level than any kind of UNIX networking, and has a model of running programs that addresses a lot of the points made in section 5 of this article.

        1. 1

          Urbit is interesting in many of it’s choices. But it is also a long way from stable and polished. I say this as someone who has spent a lot of time getting to understand it and also possesses a galaxy on the network.

          It will be interesting to see if they can stabilize it and make it more ergonomic.

          1. 1

            Urbit is interesting in many of it’s choices. But it is also a long way from stable and polished. I say this as someone who has spent a lot of time getting to understand it and also possesses a galaxy on the network.

            Oh, absolutely, it’s still very much unstable software. I bring it up because it’s an example of a recent OS that actually is substantially different from UNIX/Windows and uses different abstractions and conceptual metaphors for its computing, that you can use (to some limited extent) right now today.

        1. 15

          Tangential comment: I assume Google funded this in some way (either by paying a person to do it or offering money to the open source project). But, AFAIK, Git is not a Google project so I don’t really like that this introduction is coming from their blog as if it’s theirs. Maybe there is the official release somewhere else? Maybe I’m missing something and all this is kosher.

          1. 14

            Most of the Git core team is employed by Google to work on Git. The maintainer Junio Hamano is a Google employee whose job is to work on Git.

            That is why this announcement is happening on the Google blog.

            1. 8

              Git 2.18 is not yet released, so this is more of call for testing. Google-specific part here is that you can test against googlesource.com, because Google deployed v2 enabled server.

              1. 11

                It reads like an official announcement on behalf of the git project though, while not being on a git-related domain, which is what is somewhat surprising. Well, the first sentence does. The rest of the post wouldn’t have raised my eyebrow, but this part also confused me on first read regarding on whose behalf “we” is speaking here (Google? git? both?):

                Today we announce Git protocol version 2, a major update of Git’s wire protocol…

                1. 3

                  Google employs many git and mercurial developers. Very few organizations do source control on the scale of Google so it makes sense for them to fund developers of the tools they use.

                  1. 10

                    Myself, and I don’t think @mjn, are disagreeing that Google does a lot with source control and probably spends a lot of money on supporting git. My concern/issue is that git is not a Google project so it doesn’t quite feel right that, what feels like an official announcements should be on their website.

                    1. 3

                      A google employee wanted to share some open source work they’d been doing so they used a company blog. That doesn’t seem weird to me.

                      edit: I guess it’s worth adding that it wasn’t really announced in this blog post. You could have seen the discussions about this if you followed the git mailing lists.

                      1. 6

                        Google could have done a better job in this post explaining the relationship between Google, the author and the git project. One phrase would have made a ton of difference. For example, “I am John Foo, a Google employee and a member of the git core team” (with a link to some sort of proof on the git website)

                        1. 2

                          Well, there is such phrase, but at the end:

                          By Brandon Williams, Git-core Team

              2. 1

                Did you mean Git is not a google project?

                1. 1

                  Fixed, thanks.

              1. 3

                I am trying to solve a similar/related problem in a personal project of my own that specifies a grammar and language for generating configurations. It’s very much a work in progress but has what looks like some parallels to this languages goals.

                My attempts that are in no way ready for anyone to use for serious things is at: https://crates.io/crates/ucg and documented at: https://docs.rs/ucg/0.1.0/ucglib/

                1. 4

                  I’d also recommend checking out Dhall: https://github.com/dhall-lang/

                  1. 1

                    I’ve seen dhall and liked some of what it was doing. It’s good to see movement in this space. We don’t really need more configuration languages though. What we need are good ways to manage all the different types of configuration languages we currently have that isn’t a template language.

                1. 32

                  But here’s the thing: every language is weird. And every language makes regrettable design choices early on that it has to reckon with. How and when these mistakes are dealt with is a part of the language, too. Just because you disagree with the decisions doesn’t make the language bad.

                  The author is free to like JS if they want but I feel like they are trying to rationalize it by drawing an equivalence between bad decisions in JS and all languages. But that is, IMO, very disrespectful to those language authors that have spent a lot of time thinking through the semantics of their language to not be surprising.

                  Not all language mistakes are the same, and JS makes some pretty terrible language decisions that are significantly worse than other languages. We don’t need to know the genesis of those mistake to observe that the behaviour is surprising and undesirable.

                  It’s OK to like JS and be fine with that but we don’t need to use faulty logic to accomplish that. We don’t need to pretend there are no faults or any faults that exist are equal to every other language’s mistakes.

                  1. 5

                    It’s even more odd because his defense of Javascript is Typescript. Which is not javascript. Javascript is just a compile target at that point. It’s more like a defense of the NodeJs ecosystem than of Javascript the language.

                    1. 0

                      TypeScript is “not JavaScript” in the strictest sense, but it’s a rather small superset. It adds… (surprise) static type checking. And not much else. (It can also compile some extra features like decorators… which are proposals for future JavaScript.) The compilation process is mostly just erasing type annotations. The object model, class syntax, async/await, generators, modules etc. is all standard JavaScript.

                      1. 3

                        Static Type checking is huge though. It drastically changes the things that bring the most pain for Javascript development. At least it does for me anyway. Downplaying that difference downplays pretty much the biggest complaint from me about JS development.

                        1. 1

                          I don’t think it’s that huge… in fact I’m still not using it. I’m working on mostly-UI apps that don’t have much logic (like, not far off from a lit-html starter example, more added HTML than JS) and I absolutely don’t feel the need for static types.

                          1. 2

                            We are very different obviously. I’ve been doing this a long time and I’ve decided that types make modifying older codebases much much safer to do. And since the vast majority of my work is modifying older codebases I really value a good type system in my languages.

                  1. 5
                    1. Because all product decision authority rests with the “Product Owner”, Scrum disallows engineers from making any product decisions and reduces them to grovelling to product management for any level of inclusion in product direction.

                    i.e. the product has a clear owner, and you build the thing that customers want rather than the thing that engineers want.

                    2-3,9, most of 11: true, and these things result in better software.

                    This lack of ownership results in: Poor design Lack of motivation (“It isn’t my thing”, “It was broken when I start working on it”)

                    That’s the opposite of my experience. Lack of ownership means I don’t need anyone’s permission to improve code I’m working on, and means the design can be evolved by the people actually working on it, leading to better design.

                    5-7, 14: not my experience.

                    8, 12: don’t do that then.

                    Do managers or Product Owners track and estimate every task they engage in

                    Track and estimate tasks? No, because those are reactive positions - QA folk or people on support duties this week don’t estimate either. The point of estimating is to be able to make prioritisation decisions, so it only really applies when there’s a

                    with little or no say in what they work on?

                    Yes? Managers and owners are expected to solve everything people bring to them, they don’t get any chocie.

                    Are they required to present burn down charts that show that they are on target to finish?

                    No, nor are developers.

                    Are they required to do bi-weekly sell-off meeting to justify their activities?

                    No, again like QA or support people.

                    13, 14: no actual argument to justify those claims, not my experience.

                    1. Scrum ignores the fact that any task that has been done before in software does not need to be redone because it can be easily copied and reused. So, by definition, new software tasks are truly new territory and therefore very hard to estimate.

                    Disagree. Scrum does everything reasonably possible to acknowledge that estimation is hard: estimating in officially meaningless points, daily standups to give you an assessment point to realise if a task is diverging from its estimate and reasses if need be. At the same time, ultimately you do want some way to have engineering estimates feed into task prioritization decisions - you need some minimal level of estimation to be able to make the “do I do task A or task B or task C this week” decision. Scrum accomplishes that better than anything else I’ve seen.

                    1. 6

                      i.e. the product has a clear owner, and you build the thing that customers want rather than the thing that engineers want.

                      It’s amazing to me how much bellyaching I hear over this. At $DAYJOB I have people coming to me all the time trying to figure out how to get their priorities done vs what the product owners want …why do you have priorities? Are you paid to build a product or to play with your toys?

                      1. 3

                        Maybe… don’t look at your colleagues like children who don’t want to do work and would rather play with their toys. Maybe look at them like adults who are invested in the product in their own way. Maybe you’d understand them better then.

                      2. 5

                        Disagree. Scrum does everything reasonably possible to acknowledge that estimation is hard: estimating in officially meaningless points

                        In theory this is true. In practice every single time I’ve seen or used scrum the points have devolved into a meaningful value instead. You can shout as loudly as you want that this is not doing scrum right but human nature says that doesn’t matter. We will inevitably assign a real metric to the points before too many sprints happen. We’ll treat them as time to ship, an estimate of effort required, complexity of problem. It’s pretty much inescapable that this will happen.

                        1. 1

                          I don’t disagree as such. The way I look at it is: given that we want to feed some level of engineering cost estimate into the planning process, what’s the cheapest/least damaging form of estimation we can do that will suffice for making prioritisation decisions?

                          From this perspective points are a small, incremental improvement over estimating in terms of e.g. programmer-days: they blunt some of the sting of “I only got 2 days’ worth of work done this week”, they make it a little less awkward that Bob gets 25% more done than Jim. They make it a little harder for a manager to breathe down your neck with “you estimated this as 3 days, it’s now 4 days since you started, why isn’t it done?”

                          They’re not infallible on any of these aspects, but they’re a little better than using a “real” metric directly. The fact that they’re officially meaningless give you a tool to push back with if people start to misuse them.

                          1. 1

                            They make it a little harder for a manager to breathe down your neck with “you estimated this as 3 days, it’s now 4 days since you started, why isn’t it done?”

                            This sound funny to me, because I’m pretty good at estimating long and complex tasks.

                            My average error is around 2%, but the bigger the task the more precise is the estimate.
                            It’s not magic, it’s just that for bigger tasks managers give me more time to explore the matter. And I’m talking about project that requires small (3-7) to medium (10-20) sized teams.

                            What’s funny?

                            Most of managers (that is all non technical ones, except one) prefer a small estimate than a precise one.
                            They fight back a lot. My usual answer is: “Why did you asked me? Write the numbers you like!”

                            In one case, some years ago, one did. Guess what happened?

                            1. 1

                              My average error is around 2%, but the bigger the task the more precise is the estimate. It’s not magic, it’s just that for bigger tasks managers give me more time to explore the matter.

                              Either there’s some “magic” you’re not mentioning, or you’re working in a very strange field for software. As the article puts it:

                              any task that has been done before in software does not need to be redone because it can be easily copied and reused. So, by definition, new software tasks are truly new territory and therefore very hard to estimate.

                              Certainly I’ve watched teams put a lot of time and effort into “exploring” and estimating, and come up with numbers that turned out to be orders of magnitude out. So it’s not as simple for ordinary programmers as just “spend some time on it”.

                              1. 1

                                No magic, really.

                                You just need twenty years of experience in a lot of different projects (with several different stacks), good tools (that I design for my own team) and enough informations.

                                The only “strange” thing is that we work for big banks.

                                1. 1

                                  Well, bully for you, but most working programmers don’t have twenty years of experience, and in most fields you never have “enough” information. (I’m not surprised that projects in big banks would be unusually predictable, but that doesn’t help the rest of us).

                      1. 2

                        Nice article. Actually the core argument (you should not trust software that you cannot debug and understand) apply as well to so many systems.

                        To me, for example, it’s the main proof that the AI research lacks barely competent programmers.

                        However I’d like to talk about another point that the author touches:

                        Instead of directing resources to the elimination of trust, we should direct our resources to the creation of trust

                        It’s actually my own conclusion that I reached from another perspective: you fix many internet issues (trolls, spam, physhing, fake accounts…) if you remove the anonymity that protect misbehaviors.

                        I know that this is a counter intuitive solution (if it is a solution) but I see nobody even try to explore a pretty large solution space without much reason.

                        The fact is that you cannot really build trust over the internet if you are not sure who you are trusting.

                        And indeed certification authority are expensive trusted parties that are used to remove anonymity from some nodes, just because the infrastructure does not provide it by itself!

                        What do you think about this?

                        1. 2

                          The core argument: you should not trust software that you cannot debug and understand

                          But the core argument is wrong. This is what formal verification does. For example, even if you don’t understand how register allocator works in CompCert, you should trust that CompCert will never make a register allocation mistake. Verification is not trivial, but it is also not meaningless. You need to check formal specification matches your understanding, there is no shortcut there, but you can definitely trust some software without understanding its implementation details.

                          DAO is a good example. DAO was a prodigal contract in the sense of https://arxiv.org/abs/1802.06038. So if you ran the checker authors proposed, one of two things happen: either you find the contract was prodigal, or you find, without understanding the contract in detail, nevertheless it can never leak the fund to arbitrary users. (This example is somewhat defective because it is kind of obvious that the checker was written precisely so that DAO bug can be found. But the principle works.)

                          1. 3

                            This example is somewhat defective because it is kind of obvious that the checker was written precisely so that DAO bug can be found. But the principle works.

                            The principle works in principle, indeed.

                            I’m all for formal verification of simple programming languages.

                            But you not just need whole-program verification (including libraries and runtimes and their interactions), you need to verify the environment: you must ensure that the environment interacting with the program works as specified.

                            Without that formal verification is very useful to automatically detect some bugs, but to my knowledge no formally verified language claim to produce non trivial bug free programs only.

                            Thus the most reliable way to security is still simplicity and competent reviews.

                            Competent reviews are not enough.
                            Simplicity is not enough.
                            Full test coverage is not enough.
                            Whole-program formal verification is not enough.

                            All these things just help to improve trust we put in the programmers.

                            1. 5

                              but to my knowledge no formally verified language claim to produce non trivial bug free programs only.

                              The honest ones only claim to reduce bugs a lot. The imperfection of human knowledge and tools combined with intrinsic complexity means some can slip in there. The closest things to consistently producing non-trivial programs that are bug-free or nearly bug-free were Cleanroom and SPARK Ada. Those are really good defect rates which don’t even represent height of what can be achieved given people often stick to one tool too much instead of combining them. The SPARK developers just added more support for automatically handling floating point, too. That might make it even better for smart contracts.

                            2. 2

                              Most people can’t do formal verification. Those works take to long to replace a lot of existing contracts. The stuff in contracts might be hard to formalize. They also might formalize the wrong thing that analysis or executions might show. Many reasons to keep the code human-verifiable. In high-assurance systems, all of the assurance activities were required for an EAL6-7 certification for exactly that reason. Think checks and balances.

                            3. 2

                              Anonymity does protect misbehavior. However, misbehavior is usually defined by some authority, and in a global arena like the internet one persons misbehavior is another persons moral obligation. Before you can remove anonymity you would first need to standardize the worlds morality. I have serious doubts that you could do such a thing in any reasonable time frame or at all.

                              1. 1

                                First, thanks for responding.

                                one persons misbehavior is another persons moral obligation

                                Most of times, it’s not a matter of morality, as it is for drug dealers, killers, child porn and so on.

                                But I see the risks for minorities, actually.

                                However I don’t see how we could not have anonymous informations inside an indentificable network as we have identificable information in an anonymous network.

                                Before you can remove anonymity you would first need to standardize the worlds morality.

                                Isn’t this what american capitalism has been trying (with an astonishing success) from 1950?

                                Still technically a global shared morality is not required (just like it’s not required in any state): what you need is just a global government.

                                Which is going to happen shortly (on a geopolitical scale).

                                I could bet a coffee it’s a matter of at most 2 hundreds years (probably just a couple of generations).

                                The point is: how many wars and death will happen before? And could a non anonymous network help to make the transition smoother and wiser?

                            1. 4

                              If you look at the success of the internet (beyond just the web) I think it’s safe to say OO, not FP, is the most scalable system building methodology. An important realization that Alan Kay emphasizes here is that OO and FP are not incompatible at all. A formal merging of FP and OO can be seen with the Actor Model by Carl Hewitt

                              In other words, I think FP can supercharge OO and it seems the rock stable and fast systems built with Erlang and friends prove this out.

                              1. 7

                                I think servers have scaled now based on solid messaging protocols that are not OOP in nature. And databases are still relational last i checked.

                                1. 6

                                  Alan Kay would say that OOPs foundation is messaging protocols.

                                  1. 2

                                    precisely ! The whole internet is an objective oriented system. The smallest model of an object is a computer. so what is an object ? Its a computer that can receive and send messages. Systems like erlang have million little computers running on one physical computer for instance.

                                    1. 4

                                      that’s a real stretch. I might as well claim that REST’s success is entirely because it is really just functional programming as it passes the state along with the function and that it is pretty much just a monad.

                                      Also, SQL is still king and no object-oriented database approach has supplanted it.

                                  2. 4

                                    They use the FSM model. Hardware investigations taught me they’d fit in Mealy and Moore models depending on what subset of protocol is being implemented or how one defines terms. Even most software implementations used FSM’s. Maybe all for legacy implementations given what I’ve seen but there could be exceptions.

                                    And, addressing zaphar’s claim, their foundation or at least abstracted form may best be done with Abstract, State Machines described here. Papers on it argue it’s more powerful than Turing model since it operates on mathematical structures instead of strings. Spielmann claims Turing Machines are a subset of ASM’s. So, the Internet was built on FSM model which, if we must pick a foundation, matches the ASM model best even though the protocols and FSM’s themselves predate the model. If a tie-breaker is needed for foundations, ASM’s are also one of most successful ways for non-mathematicians to specify software in terms of ease of use and applicability.

                                    1. 3

                                      You just made the engineer inside me happy :) FSM are the first thing we learned in engineering school but too often software is just hacked together based on code and not design. FSM form the basis of any protocol/service. eg: TCP, FTP, TLS, SSH, DNS, HTTP, etc.

                                      1. 3

                                        The cool thing is those can be implemented and verified at the type level in dependently typed functional languages. See Idris’ ST type. Session types are another example. Thankfully I can see movements in the FSM direction on the front end with stuff like Redux and Elm, but alas it will be a while before these can be checked in the type system.

                                  3. 4

                                    I don’t think the internet is a good reference model. IMO the internet is largely a collection of “whatever we had at the time” with a sprinkle of “this should work” and huge amounts of duct-tape on top. The internet succeeded despite being build on OO, not because of it. Though I think FP would also have made the internet succeeded in spite of it, not because of it.

                                    There is no one true methodology, I think it’s best if you mix the two approaches where it makes sense to get the best of both worlds.

                                    1. 1

                                      Let me be more specific , by internet i mean TCP/IP and friends , not HTTP and friends.

                                      1. 2

                                        Even TCP/IP and friends is a lot of hacks and “//TODO this is a horrible hack but we’ll fix it later”. HTTP is just the brown-colored cream on top of the pie that is the modern internet.

                                        It’s why DNSSEC and IPv6 have seen such little adoption, all the middleboxes someone hacked together once are all still up and running with terrible code and they have to be fully replace to not break either protocol.

                                        I’ve seen enough routers that silently malform TCP packets or (more fun) recalculate the checksum without checking it, making data corruption a daily occurence. Specs aren’t followed, they’re abused.

                                        1. 2

                                          And yet the internet has never shut down since it started running with all its atoms replaced many times over. Billions of devices are connected and the whole system manages to span the entire planet. It just works.

                                          It’s an obviously brilliant and successful design that created tens of trillions of dollars in value. I think you will be hard pressed to find another technology that was this successful and that changed the world to the degree the internet has.

                                          Does it have flaws like the ones outlined? Yes of course. Does it work despite them? Yes!

                                          The brilliance of the internet is that even when specs are not followed, the system keeps on working.

                                          1. 2

                                            I think it’s more in spite of how it was built and not because of it.

                                            And the internet has shut down several times by now, or atleast large parts of it (just google “BGP outage” or “global internet outage”)

                                            It’s not a brilliant design but successful, yes. It’s probably just good enough to succeed.

                                            Not brilliant, it merely works by accident and the accumulated ducttape keeps it going despite some hiccups along the way.

                                            If the internet was truly brilliant it would use a fully meshed overlay network and not rely on protocols like BGP for routing. It would also not have to package everything in Ethernet frames (which are largely useless and could be replace with more efficient protocols)

                                  1. 2

                                    Although court rulings do not yet exist, legislative texts from countries such as Germany, the UK, or the USA suggest that illegal content such as [child abuse imagery] can make the blockchain illegal to possess for all users.

                                    Oh boy, this could be fun…

                                    1. 0

                                      Oh boy, this could be fun…

                                      As a supporter of cryptocurrencies and digital rights, “fun” is not the term I would use.

                                      The price of hard drugs, if anything, is inflated thanks to the creation of black markets, so from a valuation standpoint I don’t think crypto fans have much to worry about, but from a freedom and quality-of-life standpoint? Well, if you like the War On Drugs, you’ll probably be rooting for a War On Software too.

                                      1. 22

                                        As an opponent of cyptocurrencies and other obviously inefficient solutions to inexistent problems, I would like to stress the word “fun”.

                                        And I highly doubt that there will be any such issue, as with the “war on drugs”. It’s well known that there aways was a racial component to it, and drugs have a slightly more addictive effect than some digital currency that people play around with. There’s just not enough real interest in it, for people to start dealing in black markets or anything on that level, for the sake of abstract “freedoms”.

                                        And regardless, the main point here would be that companies would think twice before jumping onto the bubble, which has been a big driving force behind Bitcoins (volatile) development over the past year or some time. If the crypto enthusiasts can’t lie to eachother anymore that it’s all about buying and selling the currency itself, well, I would be sceptical how long this libertarian wet-dream would last.

                                        1. 0

                                          lie to eachother anymore that it’s all about buying and selling the currency itself, well, I would be sceptical how long this libertarian wet-dream would last.

                                          Any time a disruptive technology appears that poses a threat to people’s egos or to the status quo, there is always a FUD brigade that posts complete, total nonsense.

                                          I’m interested in Bitcoin’s value as a tool for decentralizing financial systems as well as control over digital assets, identities, SSL certificates, etc. Bitcoin is a genuinely interesting and useful invention that is already being used to do things that were impossible before.

                                          But sure, of course, to those threatened by it (for whatever reason), it will remain, like the Internet once was to some, “a libertarian wet-dream”, a “pyramid scheme”, and is “all about buying and selling”.

                                          1. 6

                                            Why is it so hard to understand that some people just don’t think Bitcoin is a good idea? And how come you always have to imply it’s because of a lack of knowledge or some subconscious motivation?

                                            I used to be a big fan, and I still admire it because of it’s openness and decentralised structure. No doubt that it has theoretical potential, but it’s also oversold. Looking at the whole picture, not just the pleasant parts, trying to avoid cognitive biases, I just had to come to the conclusion that it’s not worth it. However interesting it may appear to be, and I’m really sorry that you couldn’t convince me to invest my whole life savings in Bitcoin, but it really just isn’t the right tool for the job. (And I’m not saying this because I’m afraid of it, for whatever reason)

                                            There’s a reason after all why the price of bitcoin is measured relative to the US dollar or the Euro, and not the amount of everyday goods you can purchase with it…

                                            1. 0

                                              Why is it so hard to understand that some people just don’t think Bitcoin is a good idea?

                                              Nobody has said that? I’ve explicitly acknowledged that?

                                              And how come you always have to imply it’s because of a lack of knowledge

                                              Because it has been?

                                              I’m really sorry that you couldn’t convince me to invest my whole life savings in Bitcoin

                                              Again with this nonsense.

                                              To quote myself again: “Nobody’s forcing you to use Bitcoin, lol, by all means, support the existing banking system.”

                                              No doubt that it has theoretical potential

                                              And practical potential. Lots of businesses are already using it to do things that weren’t possible before. I will not link you to them, because that would be to “imply it’s because of a lack of knowledge” on your part.

                                              1. 1

                                                Nobody has said that?

                                                In your previous comment you made multiple implications that any opposition to bitcoin has to be founded on a lack of understanding or “fear”, but it couldn’t be because Bitcoin, blockchains or any other crypto alternative has objective deficiencies, which would make them unattractive.

                                                To quote myself again: “Nobody’s forcing you to use Bitcoin, lol, by all means, support the existing banking system.”

                                                To say this is meaningless. Nobody forces anyone to use Euros, Dollars, or whatever other currency, instead there is a compulsion to do so, because everyone else uses them. And while I conciser it very unlikely that Bitcoin would ever get anywhere near that point, I still want to insist that it isn’t good. This doesn’t mean that I think the existing banking system is great – this isn’t a black and white picture, like the one you are trying to paint.

                                                Lots of businesses are already using it to do things that weren’t possible before.

                                                Please stop being childish and us what has been impossible before the “invention” of bitcoin?

                                                1. 1

                                                  blockchains or any other crypto alternative has objective deficiencies

                                                  I’m very well aware of their objective deficiencies, but nowhere in this thread have I seen you point one out.

                                                  This doesn’t mean that I think the existing banking system is great

                                                  No, you’re just implying it’s greater than Bitcoin and then painting your (silly) opinion to be an objective fact.

                                                  Please stop being childish and us what has been impossible before the “invention” of bitcoin?

                                                  Surely someone as enlightened about this technology as yourself is aware that decentralized immutable ledgers didn’t appear to exist before the creation of Bitcoin’s proof-of-work consensus algorithm?

                                                  1. 1

                                                    Bitcoin may have won the the hype war but other technological tools for decentralized consensus have existed long before proof of work. Byzantine Generals/Paxos is all about distributed consensus in the face of untruthful members. And the immuable ledger in merkle tree form has been around for a very long time as well.

                                                    It does not appear to me that bitcoin is winning due to technical merit. It appears that it is winning due to PR and a critical mass of people wanting to speculate on a digital asset.

                                                    1. 1

                                                      Call it “hype” or other names if you wish, none of it changes the technical reality of proof-of-work’s achievement.

                                                      It does not appear to me that bitcoin is winning due to technical merit.

                                                      It is entirely due to technical merit. You need only look at the graveyard of failed attempts.

                                                      Neither Paxos nor any of those older generation consensus algorithms have proof-of-work’s properties. They are all centralized consensus algorithms, aka “distributed consensus algorithms”, not decentralized consensus algorithms, and hence they are not capable of providing the strong immutability guarantees that proof-of-work provides, nor are they capable of distributing a token in a randomized, permissionless fashion.

                                                      But if you believe I’m full of it by all means create a Paxos Coin and see how far it goes.

                                                    2. 0

                                                      I’m very well aware of their objective deficiencies, but nowhere in this thread have I seen you point one out.

                                                      I’ve mentioned energy usage, which you seem to straight out deny. I’ve pointed out that Bitcoin can’t substitute “real” money, due to it’s volatility. And then you also have it’s tendency to centralize (as one can both in terms of mining power and the richest addresses), it’s processing speed, the lack of any authority to trust, all the “get rich fast”-schemes, etc.

                                                      I should clarify, because I have just realized that I accidentally used the word “blockchain” instead of “Bitcoin”, once or twice, that my main issue is Bitcoin and related crypto currencies, especially based on Proof-of-work w/ hashing.

                                                      No, you’re just implying it’s greater than Bitcoin and then painting your (silly) opinion to be an objective fact.

                                                      It’s only “Greater” in the sense that there is no point to change everything, and that it has a background in very questionable economic theories. I am still no friend of banking or bitcoin. This is a false dichotomy.

                                                      Surely someone as enlightened about this technology as yourself is aware that decentralized immutable ledgers didn’t appear to exist before the creation of Bitcoin’s proof-of-work consensus algorithm?

                                                      I would very much appreciate it if you wern’t so arrogant, you are really reinforcing the bad image of the bitcoin/blockchain community.

                                                      I don’t claim to be an expert, but I know enough to have an more-or-less informed opinion. I know that Bitcoin was the first successful “decentralized append-only list”, or however one want’s to call it (which I still don’t think it as spectacular and innovative as some people push it to be), but we (since I seem to be part of the majority here) still want to know what you meant by this: Lots of businesses are already using it to do things that weren’t possible before. What is possible, now, that just can’t be done in any shape or form before blockchains? All I’ve seen until now, are just decentralized (if at all) alternatives to centralized services. And while in some cases it’s interesting (distributed DNS, for example) I don’t see anything fundamentally groundbreaking about it.

                                                      And again, since you seem to be “enlightened about this technology”, I want to hear a serious opinion, and not this frankly insulting and degrading conversation. I’ve changed my mind once, from being an avid supporter to a critic, so maybe you can show me a more nuanced position?

                                            2. [Comment removed by author]

                                              1. 3

                                                ^^ I didn’t say I was supposing anything, especially no “corrupt financial system”. Why is thinking that the environment is worth being saved, always equated with this unrelated argument?

                                                Nor do I deny general dissatisfactions, it’s just that startup-tier “alternatives”, don’t change stuff, but instead repackage to preserve.

                                                1. -2

                                                  I didn’t say I was supposing anything, especially no “corrupt financial system”

                                                  The entire point of Bitcoin, of which you are “an opponent of”, is fixing the corrupt financial system.

                                                  don’t change stuff, but instead repackage to preserve.

                                                  A transparent decentralized digital ledger of a fixed quantity token does change stuff, which is why it’s under constant attack.

                                                  Why is thinking that the environment is worth being saved, always equated with this unrelated argument?

                                                  Please spare us this nonsense which has been beaten to death a million times [1][2].

                                                  [1] https://lobste.rs/s/selc7k/bitcoin_energy_consumption_index#c_agchk7

                                                  [2] https://coincenter.org/entry/five-myths-about-bitcoin-s-energy-use

                                                  1. 11

                                                    The entire point of Bitcoin, of which you are “an opponent of”, is fixing the corrupt financial system.

                                                    That assumes that bitcoin is fit for the purpose. I don’t believe that it is, and I suspect that zge is on the same page.

                                                    1. 0

                                                      I suspect that zge is on the same page

                                                      Yes, he’s made that clear. I am also skeptical that Bitcoin will be able to single-handedly fix the corruption, but I do think it’s made a significant step in that direction.

                                                      From the naysayers, I’m only seeing nonsense, and nothing helpful.

                                                    2. 7

                                                      Replace the Fed’s stable, efficient pyramid scheme with an unstable, inefficient system with miner rewards distributed like a pyramid scheme? And with financial institutions that get hacked more often?

                                                      Nah, Im sticking with regular currency and banks. Just need to fix that at the root like with public-benefit banks, payment services, etc with no or little charge open interchange protocols.

                                                      1. -4

                                                        Nobody’s forcing you to use Bitcoin, lol, by all means, support the existing banking system.

                                                        EDIT: Maybe learn what a pyramid scheme is, and what an “open interchange protocol” is. (Why are Bitcoin haters always full of it?)

                                                        1. 6

                                                          What you are bringing to the table right now is derisive comments and insults. Your antagonizing behaviour is not conducive to meaningful debate.

                                                          1. -1

                                                            What you are bringing to the table right now is derisive comments and insults.

                                                            I’m merely refuting untrue statements. There shouldn’t be anything derisive or insulting about that. But you’re welcome to point out something specific I said.

                                                            1. 1

                                                              Maybe learn what a pyramid scheme is, and what an “open interchange protocol” is. (Why are Bitcoin haters always full of it?)

                                                              1. -1
                                                          2. 2

                                                            An interchange protocol (i.e EDI) just lets people exchange goods digitally. Usually keeps the currency, organizations, and contract law of areas of operation of those involved. Swift is main provider for traditional systems with lots of services on top. If just transfers and open, Interledger would be a decent example. Bitcoin gives you transfer but replaces foundation of existing system in way that eliminates its benefits. So, it’s not just an exchange protocol.

                                                            A pyramid scheme generates massive profit for those on top of the hierarchy of payment or control by the design of the scheme. Usually each level gets a fraction less than those above it. The scheme is sustained by bringing more people in with their money who don’t get the benefits they were promised. Bitcoin’s mining is structured like that with the stable currency what’s promised but not delivered. Other classes of fraud involve selling people on investing into something that will go nowhere so the traders and speculators can make piles of money on it. You’re right that calling it a pyramid scheme is nonsense: it’s like a pyramid scheme, gambling ring, and series of pump n dump mini-schemes all combined into one designed to drag out for quite a while as the gamblers and legitimate users all keep putting effort into it hoping it’s something else. At least, that’s what the output of the system looks like when compared to traditional currencies and investment bubbles

                                                            I’m curious how many of you are banking in Bitcoin entirely knowing it’s worth about just a little more or less each day than it was when you put it in there. Just like a stable, competitive currency instead of a media-driven stock or something with a value going all over the place.

                                                            1. 2

                                                              An interchange protocol

                                                              I see you got rid of the “open” part.

                                                              Interledger would be a decent example

                                                              Interledger is great.

                                                              Bitcoin gives you transfer but replaces foundation of existing system in way that eliminates its benefits.

                                                              Unsubstantiated claims don’t impress me.

                                                              Bitcoin’s mining is structured like that with the stable currency what’s promised but not delivered.

                                                              Lies. Show me anywhere in the whitepaper or on Bitcoin.org or in any of Core’s messaging where profits are promised.

                                                              The reality is miners often mine at a loss, and know they will be doing so. The system is designed to reach equilibrium, with the cost of mining approaching the profit derived thereof.

                                                              It is nothing like a pyramid scheme. It is no more a pyramid scheme than companies who mined for gold are a pyramid scheme.

                                                              Again, the word “pyramid scheme” has an established definition, one that does not fit gold or nearly identical assets like bitcoin.

                                                              A pyramid scheme (commonly known as pyramid scams) is a business model that recruits members via a promise of payments or services for enrolling others into the scheme, rather than supplying investments or sale of products or services. As recruiting multiplies, recruiting becomes quickly impossible, and most members are unable to profit; as such, pyramid schemes are unsustainable and often illegal.

                                                              Bitcoin is a decentralized consensus protocol with no leader, it is incapable of being a pyramid scheme.

                                                              If a scammer exists who says “buy _____, it’s going to give you great profits!”, that doesn’t make whatever you put in the blank a pyramid scheme, it just makes that person a scammer.

                                                              Next you’ll probably tell me why Bitcoin is a Ponzi scheme, and I’ll be happy to explain to you why you’re wrong about that too. But you can spare us both the suffering by just reading the definition.

                                                2. 1

                                                  Do you think the price of hard drugs would be lower if the market to buy and sell them didn’t exist?

                                                  1. 2

                                                    if the market to buy and sell them didn’t exist?

                                                    Sorry, don’t think I understand the question. The market for such things has always existed, the only difference is its legality.

                                                    1. 1

                                                      Ah, my mistake, I thought you were saying “the price of hard drugs would be inflated compared to the absence of a black market”, which doesn’t make sense, but I think you were actually saying “the price of hard drugs would be inflated with respect to a legal market”, which is probably true (modulo taxation and the exact rules of how that market is regulated)

                                              1. 2

                                                I don’t really understand the goal of this. OpenBSD is supposed to be used for it’s security (mainly) or simplicity, but what’s the goal of it for machine learning?! I mean, everybody admits that OpenBSD is definitely slower than many linux distributions and ML seem to be an abyss for CPU/RAM resources. Maybe this is just for fun, but it seems like an useless constraints to me…

                                                1. 19

                                                  From reading the article I think he had three goals:

                                                  • learn about NN
                                                  • learn about OpenBSD
                                                  • leave the comfy environment of an IDE

                                                  It looks like he just picked OpenBSD because he was interested in it, not because it is a good environment for machine learning.

                                                  1. 8

                                                    If you were doing ML for real, you’d probably be using a GPU/TPU. Or a distributed system (as e.g. in neuroevolution). Which makes OpenBSD a suboptimal choice.

                                                    However, if you’re just doing it on the CPU & system RAM, it’s basically all pure compute, so the speed of the operating system does not really play a role (unless you’ve got so many cores that scheduling becomes a problem). The speed of the OS only becomes relevant when you’re heavily involving the kernel (and perhaps the allocator), which you don’t in pure compute.

                                                    It’s just for fun.

                                                    1. 1

                                                      If you were doing ML for real, you’d probably be using a GPU/TPU. Or a distributed system (as e.g. in neuroevolution). Which makes OpenBSD a suboptimal choice.

                                                      I think this is a serious misconception about machine learning. The majority of machine-learning applications probably can run on a single PC (potentially your laptop if it has enough RAM).

                                                      1. 1

                                                        The majority of machine-learning applications in use today? No doubt, they are constrained by the resources that we have today. The pressure to go bigger and deeper is there and deep networks have shown so much promise. Training overnight, or for days or even weeks is no fun. And yet the fact that we even can train such deep networks at all within such a “reasonable” timeframe is what drives the current AI hype cycle.

                                                        If you have an useful source from which I can learn why the majority of machine-learning applications are not constrained by performance, I’d be interested.

                                                    2. 3

                                                      He is obsessed with efficiency. At work he doesn’t use them to be efficient and on holiday he is cramming everything together to be efficient (at learning/fun).

                                                      1. 1

                                                        If it’s for a corporation I presume it’s so he can hack it up without having to share source.

                                                        1. 1

                                                          This both highly pessimistic and also wrong. He did it for fun not for work or to open source. Purely personal coding for pleasure.

                                                          1. 2

                                                            It’s not pessimistic, it’s what a lot of people hack on BSD for and its honestly part of what the license was designed for. The fact that you clarified that it’s not to open source means he might have a quiet closed source ambition for it. It’s not unreasonable to presume because he picked the platform which legally permits a behavior, that it might contribute to why he picked it.

                                                            1. 1

                                                              Except that he wasn’t hacking on BSD. He was using it as a dev platform but he didn’t modify it. He was hacking on neural network implementations from whitepapers so he could learn about them. BSD was filling the role of Operating System and nothing more.

                                                              1. 1

                                                                Ah that clarifies a lot. He’s just using it as his os. I normally would RTFA but facebook. I wasn’t trying to paint them in a negative light though yes definitely from a more OSS passionate perspective that would be negative.

                                                      1. 1

                                                        I’ve been playing too much Monster Hunter World. I hear Bazel and I go oh god not again. This might be an interesting one to add dotnet core support though.

                                                        1. 1

                                                          Support for dotnet core is already in progress and is partially usable: https://github.com/bazelbuild/rules_dotnet

                                                          I’m the maintainer although my time to contribute lately has been limited. I don’t do as much .Net as I used to these days. I’ll happily accept patches from anyone who wants to help get it across the finish line.

                                                        1. 2

                                                          Is just using an OTP with no password a viable option? Or is that too risky from a security standpoint?

                                                          1. [Comment removed by author]

                                                            1. 1

                                                              I believe most OTP devices/apps don’t have the ability to control how the user configures device unlocks. Certainly the google auth app on iOS works just fine when I disable the lock screen. So at that point it’s equivalent to a physical door key (which has worked great for hundreds of years!).

                                                          1. 4

                                                            As usual, David apparently fails or refuses to understand how and why PoW is useful and must attack it at every opportunity (using his favorite rhetorical technique of linking negatively connoted phrases to vaguely relevant websites).

                                                            That said, the article reminds me of a fun story - I went to a talk from a blockchain lead at <big bank> a while back and she related that a primary component of her job was assuring executives that, in fact, they did not need a blockchain for <random task>. This had become such a regular occurrence that she had attached this image to her desk.

                                                            1. 10

                                                              What would you consider a useful situation for PoW? In the sense that no other alternative could make up for the advantages in some real life use-case?

                                                              But otherwise, and maybe it’s just me, since I agree wuth his premise, but I see @David_Gerard as taking the opposite role of popular blockchain (over-)advocates, who claim that the technology is the holy grail for far too many problems. Even if one doesn’t agree with his conclusions, I enjoy reading his articles, and find them very informative, since he doesn’t just oppose blockchains from a opinion-based position, but he also seems to have the credentials to do so.

                                                              1. 1

                                                                Relying to @gerikson as well. I personally believe that decentralization and cryptographically anchored trust are extremely important (what David dismissively refers to as “conspiracy theory economics”). We know of two ways to achieve this: proof of work, and proof of stake. Proof of stake is interesting but has some issues and trade-offs. If you don’t believe that PoW mining is some sort of anti-environmental evil (I don’t) it seems to generally offer better properties than PoS (like superior surprise-fork resistance).

                                                                1. 13

                                                                  I personally believe that decentralization and cryptographically anchored trust are extremely important

                                                                  I personally also prefer decentralised or federalised systems, when they have a practical advantage over a centralized alternative. But I don’t see this to be the case with most application of the blockchain. Bitcoin, as a prime example, to my knowledge is too slow, too inconvenient, too unstable and too resource hungry to have a practical application, as a real substitute for money, either digital or virtual. One doesn’t have the time to wait 20m or more whenever one pays for lunch or buys some chewing gum at a corner shop, just because some other transactions got picked up first by a miner. It’s obviously different when you want to do something like micro-donations or buying illegal stuff, but I just claim that this isn’t the basis of a modern economy.

                                                                  Cryptography is a substitute for authority, that is true, but I don’t belive that this is always wanted. Payments can’t be easily reveresed, addresses mean nothing, clients might loose support because the core developers arbitrarily change stuff. (I for example am stuck with 0.49mBTC from an old Electrum client, and I can’t do anything with it, since the whole system is a mess, but that’s rather unrelated.) This isn’t really the dynamic basis which capitalism has managed to survive on for this long. But even disregarding all of this, it simply is true that bitcoin isn’t a proper decentralized network like BitTorrent. Since the role of the wallet and the miner is (understandably) split, these two parts of the network don’t scale equally. In China gigantic mining farms are set up using specialized hardware to mine, mine, mine. I remember reading that there was one farm that predominated over at least 10% of the total mining power. All of this seems to run contrary to the proclaimed ideals. Proof of Work, well “works” in the most abstract sense, that it produces the intended results on one side, at the cost of disregarding everything can be disregarded, irrespective of whether it should be or not. And ultimately I prioritise other things over an anti-authority fetish, as do most people -which reminds us that even if everything I said is false that Bitcoin just doesn’t have the adoption to be significant enough to anyone but Crypto-Hobbiests, Looney Libertarians and some soon-to-fail startups in Silicon Valley.

                                                                  1. 5

                                                                    there was one farm that predominated over at least 10% of the total mining power

                                                                    There was one pool that was at 42% of the total mining power! such decentralization very security

                                                                      1. 5

                                                                        To be fair, that was one pool consisting of multiple miners. What I was talking about was a single miner controlling 10% of the total hashing power.

                                                                        1. 7

                                                                          That’s definitely true.

                                                                          On the other hand, if you look at incident reports like https://github.com/bitcoin/bips/blob/master/bip-0050.mediawiki — the pool policies set by the operators (often a single person has this power for a given pool) directly and significantly affect the consensus.

                                                                          Ghash.io itself did have incentives to avoid giving reasons for accusations that would tank Bitcoin, but being close to 50% makes a pool a very attractive attack target: take over their transaction and parent-block choice, and you take over the entire network.

                                                                      2. 0

                                                                        But I don’t see this to be the case with most application of the blockchain.

                                                                        Then I would advise researching it.

                                                                        One doesn’t have the time to wait 20m or more whenever one pays for lunch or buys some chewing gum at a corner shop

                                                                        Not trying to be rude, but it’s clear whenever anyone makes this argument that they don’t know at all how our existing financial infrastructure works. In fact, it takes months for a credit card transaction to clear to anything resembling the permanence of a mined bitcoin transaction. Same story with credit cards.

                                                                        Low-risk merchants (digital goods, face-to-face sales, etc.) rarely require the average 10 minute (not sure where you got 20 from) wait for a confirmation.

                                                                        If you do want permanence, Bitcoin is infinitely superior to any popular payment mechanism. Look into the payment limits set by high-value fungible goods dealers (like gold warehouses) for bitcoin vs. credit card or check.

                                                                        Bitcoin just doesn’t have the adoption to be significant enough to anyone but Crypto-Hobbiests, Looney Libertarians and some soon-to-fail startups in Silicon Valley.

                                                                        Very interesting theory - do you think these strawmen you’ve put up have collective hundreds of billions of dollars? As an effort barometer, are you familiar with the CBOE?

                                                                        1. 10

                                                                          Please try to keep a civil tone here.

                                                                          Also, it’s hard to buy a cup of coffee or a steam game or a pizza with bitcoin. Ditto stocks.

                                                                          1. -4

                                                                            It’s hard to be nice when the quality of discourse on this topic is, for some reason, abysimally low compared to most technical topics on this site. It feels like people aren’t putting in any effort at all.

                                                                            For example, why did you respond with this list of complete non-sequiturs? It has nothing to do with what we’ve been discussing in this thread except insofar as it involves bitcoin. I feel like your comments are normally high-effort, so what’s going on? Does this topic sap people’s will to think carefully?

                                                                            (Civility is also reciprocal, and I’ve seen a lot of childish name-calling from the people I’m arguing with in this thread, including the linked article and the GP.)

                                                                            Beyond the fact that this list is not really relevant, it’s also not true; you could have just searched “bitcoin <any of those things>” and seen that you can buy any of those things pretty easily, perhaps with a layer of indirection (just as you need a layer of indirection to buy things in the US if you already have EUR). In that list you gave, perhaps the most interesting example in bitcoin’s disfavor is Steam; Steam stopped accepting bitcoin directly recently, presumably due to low interest. However, it’s still easy to buy games from other sources (like Humble) with BTC.

                                                                            1. 6

                                                                              IMO, your comments are not very inspiring for quality. As someone who does not follow Bitcoin or the Blockchain all that much, I have not felt like any of your comments addressed anyone else’s comments. Instead, I have perceived you as coming off as defensive and with the attitude of “if you don’t get it you haven’t done enough research because I’m right” rather than trying to extol the virtues of the blockchain. Maybe you aren’t interested in correcting any of what you perceive as misinformation on here, and if so that’s even worse.

                                                                              For example, I do not know of any place I can buy pizza with bitcoin. But you say it is possible, but perhaps with a layer of indirection. I have no idea what this layer of indirection is and you have left it vague, which does not lend me to trusting your response.

                                                                              In one comment you are very dismissive of people’s Bitcoins getting hacked, but as a lay person, I see news stories on this all the time with substantial losses and no FDIC, so someone like me considers this a major issue but you gloss over it.

                                                                              Many of the comments I’ve read by you on this thread are a similar level of unhelpful, all the while claiming the person you’re responding to is some combination of lazy or acting dumb. Maybe that is the truth but, again, as an outsider, all I see is the person defending the idea coming off as kind of a jerk. Maybe for someone more educated on the matter you are spot on.

                                                                              1. 5

                                                                                There is a religious quality to belief in the blockchain, particularly Bitcoin. It needs to be perfect in order to meet expectations for it: it can’t be “just” a distributed database, it has to be better than that. Bitcoin can’t be “just” a payment system, it has to be “the future of currency.” Check out David’s book if you’re interested in more detail.

                                                                          2. 8

                                                                            In fact, it takes months for a credit card transaction to clear to anything resembling the permanence of a mined bitcoin transaction. Same story with credit cards.

                                                                            But I don’t have to wait months for both parties to be content the transaction is successful, only seconds, so this is really irrelevant to the point you are responding to, which is that if a Bitcoin transaction takes 10m to process then I heave to wait 10m for my transaction to be done, which people might not want to do.

                                                                            1. -1

                                                                              Again, as I said directly below the text you quoted, most merchants don’t require you to wait 10 minutes - only seconds.

                                                                            2. 5

                                                                              Then I would advise researching it.

                                                                              It is exactly because I looked into the inner workings of Bitcoin and the Blockchain - as a proponent I have to mention - that I became more and more skeptical about it. And I still do support various decentralized and federated systems: BitTorrent, IPFS, (proper) HTTP, Email, … but just because the structure offers the possibility for a decentralized network, doesn’t have to mean that this potential is realized or that it is necessarily superior.

                                                                              Not trying to be rude, but it’s clear whenever anyone makes this argument that they don’t know at all how our existing financial infrastructure works. In fact, it takes months for a credit card transaction to clear to anything resembling the permanence of a mined bitcoin transaction. Same story with credit cards.

                                                                              The crucial difference being that, let’s say the cashier nearly instantaneously hears a some beep and knows that it isn’t his responsibility, nor that of the shop, to make sure that the money is transfered. The Bank, the credit card company or whoever has signed a binding contract lining this technical part of the process out to be what they have to care about, and if they don’t, they can be sued since there is an absolute regulatory instance - the state - in the background. This mutual delegation of trust, gives everyone a sense of security (regardless of how true or false it is) that makes people spend money instead of hording it, investing into projects instead of trading it for more secure assets. Add Bitcoins aforementioned volatileness, and no reasonable person would want to use it as their primary financial medium.

                                                                              If you do want permanence, Bitcoin is infinitely superior to any popular payment mechanism.

                                                                              I wouldn’t conciser 3.3 to 7 transactions per second infinitely superior to, for example Visa with an average of 1,700 t/s. Even it you think about it, there are far more that just 7 purchases being made a second around the whole world for this to be realistically feasible. But on the other side, as @friendlysock Bitcoin makes up for it by not having too many things you can actually buy with it: The region I live in has approximately a million or something inhabitants, but according to CoinMap even by the most generous measures, only 5 shops (withing a 30km radius) accepting it as a payment method. And most of those just offer it to promote themselves anyway.

                                                                              Very interesting theory - do you think these strawmen you’ve put up have collective hundreds of billions of dollars? As an effort barometer, are you familiar with the CBOE?

                                                                              (I prefer to think about my phrasing as a exaggeration and a handful of other literary deviced, instead of a fallacy, but never mind that) I’ll give you this: It has been a while since I’ve properly engaged with Bitcoin, and I was always more interested in the technological than the economical side, since I have a bit of an aversion towards libertarian politics. And it might be true that money is invested, but that still doesn’t change anything about all the other issues. It remains a bubble, a volatile, unstable, unpredictable bubble, and as it is typical for bubbles, people invest disproportional sums into it - which in the end makes it a bubble.

                                                                              1. 0

                                                                                The crucial difference being that, let’s say the cashier nearly instantaneously hears a some beep and knows that it isn’t his responsibility, nor that of the shop, to make sure that the money is transfered.

                                                                                Not quite. The shop doesn’t actually have the money. The customer can revoke that payment at any time in the next 90 or 180 days, depending. Credit card fraud (including fraudulent chargebacks) is a huge problem for businesses, especially online businesses. There are lots of good technical articles online about combatting this with machine learning which should give you an idea of the scope of the problem.

                                                                                makes people spend money instead of hording it,

                                                                                Basically any argument of this form (including arguments for inflation) don’t really make sense with the existence of arbitrage.

                                                                                Add Bitcoins aforementioned volatileness, and no reasonable person would want to use it as their primary financial medium.

                                                                                So it sounds like it would make people… spend money instead of hoarding it, which you were just arguing for?

                                                                                I wouldn’t conciser 3.3 to 7 transactions per second infinitely superior to, for example Visa with an average of 1,700 t/s.

                                                                                https://lightning.network

                                                                                as @friendlysock Bitcoin makes up for it by not having too many things you can actually buy with it

                                                                                This is just patently wrong. The number of web stores that take Bitcoin directly is substantial (both in number and traffic volume), and even the number of physical stores (at least in the US) is impressive given that it’s going up against a national currency. How many stores in the US take even EUR directly?

                                                                                Anything you can’t buy directly you can buy with some small indirection, like a BTC-USD forex card.

                                                                                It remains a bubble, a volatile, unstable, unpredictable bubble

                                                                                It’s certainly volatile, and it’s certainly unstable, but it may or may not be a bubble depending on your model for what Bitcoin’s role in global finance is going to become.

                                                                                1. 5

                                                                                  Not quite. The shop doesn’t actually have the money. The customer can revoke that payment at any time in the next 90 or 180 days, depending

                                                                                  You’ve still missed my point - it isn’t important if the money has been actually transfered, but that there is trust that a framework behind all of this will guarantee that the money will be there when it has to be, as well as a protocol specifying what has to be done if the payment is to be revoked, if a purchase wishes to be undone, etc.

                                                                                  Credit card fraud (including fraudulent chargebacks) is a huge problem for businesses, especially online businesses.

                                                                                  Part of the reason, I would suspect is that the Internet was never made to be a platform for online businesses - but I’m not going to deny the problem, I’m certainly not a defender of banks and credit card companies - just an opponent of Bitcoin.

                                                                                  Basically any argument of this form (including arguments for inflation) don’t really make sense with the existence of arbitrage.

                                                                                  Could you elaborate? You have missed my point a few times already, so I’d rather we understand each other instead of having two monologues.

                                                                                  So it sounds like it would make people… spend money instead of hoarding it, which you were just arguing for?

                                                                                  No, if it’s volatile people either won’t buy into it in the first place. And if a currency is unstable, like Bitcoin inflating and deflating all the time, people don’t even know what do do with it, if it were their main asset (which I was I understand you are promoting, but nobody does). I doubt it will ever happen, since if prices were insecure, the whole economy would suffer, because all the “usual” incentives would be distorted.

                                                                                  https://lightning.network

                                                                                  I haven’t heard of this until you mentioned it, but it seems like it’s quite new, so time has to test this yet-another-bitcoin-related project that has popped up. Even disregarding that it will again need to first to make a name of it self, then be accepted, then adopted, etc. from what I gather, it’s not the ultimate solution (but, I might be wrong), especially since it seems to encourage centralization, which I believe is what you are so afraid of.

                                                                                  This is just patently wrong. The number of web stores that take Bitcoin directly is substantial (both in number and traffic volume),

                                                                                  Sure, there might be a great quantity of shops (as I mentioned, who use Bitcoin as a medium to promote themselves), but I, and from what I know most people, don’t really care about these small, frankly often dodgy online shops. Can I use it to pay directly on Amazon? Ebay? Sure, you can convert it back and forth, but all that means it that Bitcoin and other crypto currencies are just an extra step for life stylists and hipster, with no added benefit. And these shops don’t even accept Bitcoin directly, to my knowledge always just so they can convert it into their national currency - i.e. the one they actually use and Bitcoins value is always compared to. What is even Bitcoin without the USD, the currency it hates but can’t stop comparing itself to?

                                                                                  and even the number of physical stores (at least in the US) is impressive given that it’s going up against a national currency.

                                                                                  The same problems apply as I’ve already mentioned, but I wonder: have you actually ever used Bitcoin to pay in a shop? I’ve done it once and it was a hassle - in the end I just bought it with regular money like a normal person because it was frankly too embarrassing to have the cashier have to find the right QR code, me to take out my phone, wait for me got get an internet connection, try and scan the code, wait, wait, wait…. And that is of course only if you want to make the trip to buy for the sake of spending money, and decide to make a trip to some place you’d usually never go to buy something you don’t even need.

                                                                                  Ok when you’re buying drugs online or doing something with microdonations, but otherwise… meh.

                                                                                  How many stores in the US take even EUR directly?

                                                                                  Why should they? And even if they do, they convert it back to US dollars, because that’s the common currency - there isn’t really a point in a currency (one could even question if it is one), when nobody you economically interact with uses it.

                                                                                  Anything you can’t buy directly you can buy with some small indirection, like a BTC-USD forex card.

                                                                                  So a round-about payment over a centralized instance - this is the future? Seriously, this dishonesty of Bitcoin advocates (and Libertarians in general) is why you guys are so unpopular. I am deeply disgusted that I have ever advocated for this mess.

                                                                                  It’s certainly volatile, and it’s certainly unstable, but it may or may not be a bubble depending on your model for what Bitcoin’s role in global finance is going to become.

                                                                                  So you admit that is has none of the necessary preconditions to be a currency… but for some reason it will… do what exactly? If you respond to anything I mentioned here, at least tell me this: What is your “model” for what Bitcoin’s role is going to be?

                                                                          3. 14

                                                                            Why don’t you believe it is anti-enviromental? It certainly seems to be pretty power hungry. In fact it’s hunger for power is part of why it’s effective. All of the same arguments about using less power should apply.

                                                                            1. -1

                                                                              Trying to reduce energy consumption is counterproductive. Energy abundance is one of the primary driving forces of civilizational advancement. Much better is to generate more, cleaner energy. Expending a few terrawatts on substantially improved economic infrastructure is a perfectly reasonable trade-off.

                                                                              Blaming bitcoin for consuming energy is like blaming almond farmers for using water. If their use of a resource is a problem, you should either get more of it or fix your economic system so externalities are priced in. Rationing is not an effective solution.

                                                                              1. 10

                                                                                on substantially improved economic infrastructure

                                                                                This claim definitely needs substantiation, given that in practice bitcoin does everything worse than the alternatives.

                                                                                1. -1

                                                                                  bitcoin does everything worse than the alternatives.

                                                                                  Come on David, we’ve been over this before and discovered that you just have a crazy definition of “better” explicitly selected to rule out cryptocurrencies.

                                                                                  Here’s a way Bitcoin is better than any of its traditional digital alternatives; bitcoin transactions can’t be busted. As you’ve stated before, you think going back on transactions at the whim of network operators is a good thing, and as I stated before I think that’s silly. This is getting tiring.

                                                                                  A few more, for which you no doubt have some other excuse for why this is actually a bad thing; Bitcoin can’t be taken without the user’s permission (let me guess; “but people get hacked sometimes”, right?). Bitcoin doesn’t impose an inflationary loss on its users (“but what will the fed do?!”). Bitcoin isn’t vulnerable to economic censorship (don’t know if we’ve argued about this one; I’m guessing you’re going to claim that capital controls are critical for national security or something.). The list goes on, but I’m pretty sure we’ve gone over most of it before.

                                                                                  I’ll admit that bitcoin isn’t a panacea, but “it does everything worse” is clearly a silly nonsensical claim.

                                                                                2. 4

                                                                                  Reducing total energy consumption may or may not be counterproductive. But almost every industry I can name has a vested interest in being more power efficient for it’s particular usage of energy. The purpose of a car isn’t to burn gasoline it is to get people places. If it can do that with less gasoline people are generally happier with it.

                                                                                  PoW however tries to maximizes power consumption, via second order effects , with the goal of making it expensive to try to subvert the chain. It’s clever because it leverages economics to keep it in everyone’s best interest to not fork but it’s not the same as something like a car where reducing energy consumption is part of the value add.

                                                                                  I think that this makes PoW significantly different than just about any other use of energy that I can think of.

                                                                                  1. 3

                                                                                    Indeed. The underlying idea of Bitcoin is to simulate the mining of gold (or any other finite, valuable resource). By ensuring that an asset is always difficult to procure (a block reward every 10 minutes, block reward halving every 4 years), there’s a guard against some entity devaluing the currency (literally by fiat).

                                                                                    This means of course that no matter how fast or efficient the hardware used to process transactions becomes, the difficulty will always rise to compensate for it. The energy per hash calculation has fallen precipitously, but the number of hash calculations required to find a block has risen to compensate.

                                                                              2. 6

                                                                                We’ve been doing each a long time without proof of work. There’s lots of systems that are decentralized with parties that have to look out for each other a bit. The banking system is an example. They have protocols and lawyers to take care of most problems. Things work fine most of the time. There are also cryptographically-anchored trust systems like trusted timestamping and CA’s who do what they’re set up to do within their incentives. If we can do both in isolation without PoW, we can probably do both together without PoW using some combination of what’s already worked.

                                                                                I also think we haven’t even begun to explore the possibilities of building more trustworthy charters, organizational incentives, contracts, and so on. The failings people speak of with centralized organizations are almost always about for-profit companies or strong-arming governments whose structure, incentives, and culture is prone to causing problems like that. So, maybe we eliminate root cause instead of tools root cause uses to bring problems since they’ll probably just bring new forms of problems. Regulations, disruption, or bans of decentralized payment is what I predicted would be response with some reactions already happening. They just got quite lucky that big banks like Bank of America got interested in subverting it through the legal and financial system for their own gains. Those heavyweights are probably all that held the government dogs back. Ironically, the same ones that killed Wikileaks by cutting off its payments.

                                                                            2. 8

                                                                              In what context do you view proof-of-work as useful?

                                                                              1. 11

                                                                                You have addressed 0 of the actual content of the article.

                                                                              1. 7

                                                                                This is a mess.

                                                                                • Much of the technical complexity of the web has been generated by web designers who refuse to understand and accept the constraints of the medium. Overhauling the design when the implementation becomes intolerably complex is only an option when you are the designer. This luxury is unavailable to many people who build websites.
                                                                                • Suggesting that CSS grid is somehow the reincarnation of table-based layout is astonishingly simple-minded. Yes, both enable grid-based design. CSS grid achieves this without corrupting the semantic quality of the document. They’re both solutions to the same problem. But there are obvious and significant differences between how they solve that problem. It’s hard to fathom how the author misses that point.
                                                                                • The fetishization of unminified code distribution is really bizarre. The notion that developers should ship uncompressed code so that other developers can read that code is bewildering. Developers should make technical choices that benefit the user. Code compression, by reducing the bandwidth and time required to load the webpage, is very easily understood as a choice for the user. The author seems to prioritize reliving a romanticized moment in his adolescence when he learned to build websites by reading the code of websites he visited. It’s hard not to feel contempt for somehow who would prioritize nostalgia over the needs of someone trying to load a page from their phone over a poor connection so they can access essential information like a business address or phone number.
                                                                                • New information always appears more complex than old information when it requires updates to a mental model. This doesn’t mean that the updated model is objectively more complex. It might be more complex. It might not be more complex. The author offers no data that quantifies an increased compexity. What he does offer is a description of the distress felt by people who resist updating their mental model in response to new information. Whether or not his conclusions are correct, I find here more bias than observation.
                                                                                1. 8

                                                                                  CSS grid achieves this without corrupting the semantic quality of the document.

                                                                                  When was the last time you saw a page that is following semantic guidelines? It is so full of crap and dynamically generated tags, hope was lost a long time ago. It seems to be so crazy that developers heard about the “don’t use tables” that they will put tabular data in floating divs. Are you kidding me?! Don’t even get me started about SPAs.

                                                                                  The fetishization of unminified code distribution is really bizarre.

                                                                                  The point is, I think, that the code should not require minifying and only contain the bare minimum to get the functionality required. The point is to have 1kbyte unminified JS instead of 800kbyte minified crap.

                                                                                  1. 4

                                                                                    New information always appears more complex than old information when it requires updates to a mental model.

                                                                                    I feel like you completely missed his point here. He isn’t just talking about how complex the new stuff is. He even said flexbox was significantly better and simpler to use than “float”. What he is resisting is the continual reinvention that goes on in webdev. A new build tool every week. A new flavor of framework every month. An entire book written about loading fonts on the web. Sometimes you legitimately need that new framework or a detailed font loading library for your site. But frankly even if you are a large company you probably don’t need most of the new fad of the week that happens in web dev. FlexBox is probably still good enough for you needs. React is a genuine improvement for the state of SPA development. But 3-4 different build pipelines? No you probably don’t need that.

                                                                                    And while we are on the subject

                                                                                    CSS grid achieves this without corrupting the semantic quality of the document.

                                                                                    Nobody cares about the semantic quality of the document. It doesn’t really help you with anything. HTML is about presentation and it always has been. CSS allows you to modify the presentation based on what is presenting it. But you still can’t get away from the fact that how you lay things out in the html has an effect on the css you write. The semantic web has gone nowhere and it will continue to go nowhere because it’s built on a foundation that fundamentally doesn’t care about it. If we wanted semantic content we would have gone with xhtml and xslt. We didn’t because at heart html is about designing and presenting web pages not a semantic document.

                                                                                    1. 3

                                                                                      Nobody cares about the semantic quality of the document.

                                                                                      Anybody who uses assistive technology cares about its semantic quality.

                                                                                      Anybody who choses to use styles in Word documents understands why they’d want to write documents with good semantic quality.

                                                                                      You still can’t get away from the fact that how you lay things out in the html has an effect on the css you write.

                                                                                      That’s… the opposite of the point.

                                                                                      All of the cycles in web design – first using CSS at all (instead of tables in the HTML) and then making CSS progressively more powerful – have been about the opposite:

                                                                                      How you lay things out on the screen should not determine how the HTML is written.

                                                                                      Of course the CSS depends on the HTML, as you say. The presentation code depends on the content! But the content should not depend on the presentation code. That’s the direction CSS has been headed. And with CSS Grid, we’re very close to the point where content does not have to have a certain structure in order to permit a desired presentation.

                                                                                      And that’s my main issue with the essay: it presents this forward evolution in CSS as cyclical.

                                                                                      (The other issue is that the experience that compelled the author to write the article in the first place – the frenetic wheel reinvention that has taken hold of the Javascript world – is wholly separate from the phases of CSS. As far as that is concerned, I agree with him: a lot of that reinvention is cyclical and essentially fashion-driven, is optional for anyone who isn’t planning on pushing around megabytes of Javascript, and that anyone who is planning on doing that ought to pause and reconsider their plan.)

                                                                                      If we wanted semantic content we would have gone with xhtml and xslt.

                                                                                      Uh… what? XHTML is absolutely no different from HTML in terms of semantics and XSLT is completely orthogonal. XML is syntax, not semantics. It’s an implementation detail at most.

                                                                                      1. 3

                                                                                        If you are a building websites, please do more research and reconsider your attitude about semantic markup. Semantic markup is important for accessibility technologies like screen readers. RSS readers and search indexes also benefit from semantic markup. In short, there are clear and easily understood necessities for the semantic web. People do care about it. All front end developers I work with review the semantic quality of a document during code reviews and the reason they care is because it has a real impact on the user.

                                                                                        1. 2

                                                                                          Having built and relied on a lot of sematic web (lowercase) tech, this is just untrue. Yes, many devs don’t care to use even basic semantics (h1/section instead of div/div) but that doesn’t mean there isn’t enough good stuff out there to be useful, or that you can’t convince them to fix something for a purpose.

                                                                                          1. 1

                                                                                            I don’t know what you worked on but I’m guessing it was niche. Or if so then you spent a lot of time dealing with sites that most emphatically didn’t care about the semantic web. The fact is that a few sites caring doesn’t mean the industry cares. The majority don’t care. They just need the web page to look just so on both desktop and mobile. Everything else is secondary.

                                                                                      1. 2

                                                                                        Honestly, I don’t see why this post is resonating with people so much (which it clearly is!) Most of the author’s technical points are incorrect, or fail to acknowledge the objective superiority of the newer solution. And most of his issues appear to be self inflicted.

                                                                                        No one is saying you need all these fancy new build tools and package managers for brochureware sites. But they are extremely handy when building actual applications.

                                                                                        1. 9

                                                                                          objective superiority of the newer solution

                                                                                          Is that so? Even though it were somewhat different topics (Object Oriented Programming, Syntax Highlighting, etc.) a lot of things that people used to call objectively superior turn out to be “subjectively superior” at best if one actually bothers to look at it in an objective way.

                                                                                          Other than that I am inclined to claim that it’s really hard to define superiority of software or even techniques. Few people would argue about the superiority of an algorithm without a use case, yet people do the same thing with technologies and call them better, without mentioning the use case at all.

                                                                                          I think a problem of our times is that one loses track of complexities and anatomies of problems, seeing only a very small port of a problem. Then we try to fix it and on the way move the problem to another place. When that new problem bothers us enough we repeat the process.

                                                                                          This looks similar to looking for something like the perfect search or index algorithm for every use case, even disregarding limits such as available memory. It’s good that people love to go and build generic abstractions. It’s of extreme importance in IT, but it’s easy to end up in a state where progress kind of goes in a circle, when disregarding limitations and trying to find a “one size fits all”.

                                                                                          In web development this would be a framework for both real time, non real time, for rest based microservice architectures, but also supporting RPC, real time streaming, as well as being a blog engine and what not, while both being very low level, going down to the HTTP or even TCP level and a blog at the same time, making all of that equally easy.

                                                                                          This sounds great, and it’s certainly not impossible. However, it still might not be the right way to go and someone will always find some use case that they don’t see covered well enough. Something that isn’t easy enough for their use case out of the box and something that can be done in a more easy way by simply writing it from scratch, maybe just with some standard library.

                                                                                          I don’t say that projects like that are bad. However, since they get reinvented over and over I think it would make sense to instead of trying to invent tools for everything it might be worthwhile do strive for completing or extending the tools to pick from.

                                                                                          And I think that is what’s starting to happen more and more anyway. I even would say that the frameworks we see today are a symptom of it. The set of tools is growing and instead of being multitools like they used to be a decade ago (therefor also not working well with others) they nowadays seem more to be like tool belts, with many already available tools in them.

                                                                                          Or to say it in more technical terms. Frameworks nowadays (compared to a decade or so ago) are less like huge libraries forcing you into a corsett, but more software or library distributions with blueprints and maybe manuals on how things can be done.

                                                                                          1. 7

                                                                                            No one is saying you need all these fancy new build tools and package managers for brochure-ware sites. But they are extremely handy when building actual applications

                                                                                            Except that I see people say that all the time. I see them say it at work. I see them say it on social media. I see them say it at conferences. There’s always some reason why that fancy new tool is needed for the static site they are working on. They need it so they can use LESS or SASS for the CSS. They need it so that they can use react to build the html statically before they serve it… (Yes. I’ve really heard someone say that.). They need it because that one metrics javascript tracking library is only available from npm and they can just use that other build tool to ensure it’s in the right place.

                                                                                            This post resonates with people because while they understand that it should be the way you say it is. They can see people saying clearly silly things with a whole lot of unreasonable excitement everywhere they look. It’s so prevalent that when they see someone in web-dev saying something so eminently reasonable they can’t help but stand up and applaud. It’s not a problem with the technologies themselves. It’s more of a problem with the way the culture looks to the people observing it.

                                                                                            1. 1

                                                                                              Except that I see people say that all the time.

                                                                                              Have an example? I’ve not seen that. I’ve seen lots of tutorials showing how to do $simpleThing with $complexTool, but that’s just because small examples are necessary. I’ve not seen any claims that $complexTool is required for $simpleThing.

                                                                                              1. 2

                                                                                                It might be a matter of emphasis. But when the only examples you can find for your responsive static brochure site are the examples you reference above then it sends a perhaps unintended message that this is how you do those things. I can’t point to specific examples around in person conversations for such things for obvious reasons. But in a way you make my point for me. It’s the reason why when you go to many sites that should be just html css and small amount of javascript you end up downloading MB’s of javascript. From the outside looking in it certainly appears that as an industry we’ve decided that this is how you do things, so why fight it?

                                                                                          1. 4

                                                                                            At the other end of the spectrum, I feel like everything that used to be hard is pretty easy now, or at least way easier. Compilers, debuggers, static analysers, programming languages… writing systems software and embedded stuff is so much easier than it used to be (very possible that I was just doing it wrong before, too.)

                                                                                            1. 6

                                                                                              His article is primarily about webdev which seems to be uniquely on a fast moving treadmill of continual change and reinvention. The areas you mention are older and more established and most people agree on the right way to do them which means we’ve automated the right ways quite a bit. In the browser and JS worlds the right way changes every few months which means the tools and automation changes every few months too. That’s a lot of mental overhead that’s not directly related to the problem you want to solve usually.

                                                                                              1. 2

                                                                                                Oh, yes, I know and agree. I keep up with web stuff even though I don’t do it often. I guess my comment was only tangentially related.

                                                                                              2. 2

                                                                                                Great point. Even in web, it wouldve been way harder to achieve the current level of functionality. There would be an uphill learning process for components without StackOverflow or Javascript-based testbeds for practice. The Web 2.0-style functionality also required native proxies/plugins on client, stuff like Perl on server, and so on. Let’s not forget how hard the portable, auto-updating, look/act-same-everywhere, native apps they effectively replaced are still hard to build if wanting experience similar to native apps on each platform.

                                                                                                It was always hard to balance these conflicting goals in or outside of a browser. The trick was building manageable solutions to problems that we then stick with. The churn and endless reinvention of basics are what makes web a pain in many places. I say many places since some take saner approach.

                                                                                              1. 3

                                                                                                Part of me wonders if RedHat is hedging against Docker collapsing under the weight of it’s own codebase and API’s. CoreOS implemented rkt which is the other container runtime that k8s supports. And Docker has not been impressing me with their quality of late neither my attempts to read their code or consume their api’s.

                                                                                                1. 5

                                                                                                  This is exactly what I was looking for: hybrid programming/interactive CAD modeler, high-level language and native performance. OpenJSCAD what the best option I could find before, but the quality of the generated models was very low.

                                                                                                  1. 4

                                                                                                    Seems like LISP and CAD are a match made in heaven. The first real job I had in tech was with ICAD, a company that made a solid modeling / CAD system in LISP:

                                                                                                    https://en.wikipedia.org/wiki/ICAD_(software)

                                                                                                    It was pretty amazing. Boeing used it to model the wing of the 757 and GE used it to model turbine blades for generators and subs.

                                                                                                    1. 3

                                                                                                      I believe that, to this day, AutoCad uses a lisp dialect for it’s scripting as well.

                                                                                                      1. 2

                                                                                                        A number of CAD systems have LISP embedded for scripting. Something that made ICAD different though is it was actually written in Franz Allegro Common LISP. When you bought the system you were also buying Franz.

                                                                                                        That drove the total sticker price up a good bit.

                                                                                                  1. -2

                                                                                                    It is, after all, a truth universally acknowledged, that a program with good use of data types, will be free from many common bugs.

                                                                                                    I’m afraid it is only so for the value of “universally” meaning “other fans of type safety”. And that’s a rather constrained subset.

                                                                                                    1. 2

                                                                                                      A language being free from a many common bugs does indeed change the set of common bugs for that language. But that doesn’t mean that it is indeed free from many common bugs of the languages without those safety features. You absolutely do gain a certain amount of safety the stronger your type system is and that does provide a fair amount of value that shouldn’t be dismissed just because there are still possible bugs. Type systems in many cases manage to push the remaining bugs into the “spec”. Which has the benefit of allowing you to fix the bug by fixing the spec and then having a compiler tell that you have indeed actually fixed said bug.

                                                                                                      For developers who can leverage this power it’s really useful and increases productivity. For those who can’t yet leverage this power it just feels like the language is slowing you down.

                                                                                                      1. 0

                                                                                                        I’m not trying to discuss the issue itself, I’m pointing out that that “truth” is not universally accepted, not even close.

                                                                                                        Talking about the issue, one of the assumption by type safety advocates I have qualms with is the word “many” here:

                                                                                                        A language being free from a many common bugs does indeed change the set of common bugs

                                                                                                        Another is this implied assumption that any gain in safety is good, without considering the disadvantages:

                                                                                                        You absolutely do gain a certain amount of safety the stronger your type system is and that does provide a fair amount of value that shouldn’t be dismissed just because there are still possible bugs.

                                                                                                        This is trivialization of the opposing view. Strong type safety system may be dismissed not because “there are still possible bugs” but because on balance they remove too few for too much effort. Simple as that.

                                                                                                        1. 1

                                                                                                          you’re shifting the goalposts a little. Sure, maybe the balance of safety versus effort is not worth it for you. But that doesn’t mean that there isn’t a much smaller set of bugs with type safety than without, all else being equal.