1. 3

    Usually the Haskell people will define the types, and then have the compiler generate the serialization code. See the Serialization part of my article:

    http://www.michaelburge.us/2017/08/17/rolling-your-own-blockchain.html

    Why use ADTs rather than e.g. S-expressions or JSON? Because it lets you fully-resolve ambiguity earlier rather than later. If the data you’re parsing is from a web service, that may not be important - they might be generating it from an XSD with rigid typing. Machines often don’t emit ambiguous data.

    But if the data you’re parsing is e.g. source code that a user wrote, it’s better to go from parse tree to ADT early on. Anything near humans needs an ADT.

    1. 3

      You might want to move the disclaimer to the top of the page, for your own legal protection, just in case the satire’s a bit too subtle for someone.

      1. 5

        I agree to refund anyone who purchases a Basilisk Protection Charm yet ends up tormented for all eternity by a rogue AGI.

        Hopefully that warranty avoids the need for any lawsuits.

        1. 2

          I don’t see why not, code is law after all.

        2. 2

          Do you believe @MichaelBurge will be sued by someone who believes in the Basilisk?

          Or by angry cryptocoin investors?

        1. 7

          I like the idea of a decentralized wireless internet. Who cares what Comcast is doing with Net Neutrality when people can set up their own Last Mile Network. You still need fiber for inter-city connects, but that’s a lot cheaper than digging up all the streets in every city.

          How feasible is such a decentralized internet? Isn’t the existing internet vulnerable to malicious BGP updates? Could you charge for internet traffic running through your node(with e.g. Bitcoin), to incentivize people setting up new wireless nodes?

          In Portland, there’s an ISP using wireless radio towers. I don’t know if it’s similar to the wireless cell phone networks: https://www.stephouse.net/

          1. 5

            Ideally, I think something like a crowd funded version of project loon would be great for connectivity at scale. These could be nodes that connect mesh networks across cities and countries.

            1. 1

              Who cares what Comcast is doing with Net Neutrality when people can set up their own Last Mile Network.

              net neutrality is still important; without it ISPs could still block/throttle sites for everyone not using the decentralizes/alternative ISP. it would still limit the reach of people who refuse to pay the centralized ISPs.

              1. 3

                net neutrality is still important; without it ISPs could still block/throttle sites for everyone not using the decentralizes/alternative ISP

                .. Which would just hasten the adoption of the de-centralized alternatives!

                1. 3

                  i would like to believe that, but it hasn’t happened in similar situations in the past. there was no mass exodus from gchat when they canceled XMPP support, for example. so in addition to net neutrality regulation we need regulations to enforce open standards (i.e. gchat and facebook messenger should be required to support XMPP or some other open protocol). the market hasn’t worked.

                  1. 1

                    there was no mass exodus from gchat when they canceled XMPP support, for example

                    That’s not an apples-to-apples comparison though, is it? If ISPs make life difficult enough, and decentralized alternatives exist and are viable, then people will adopt the alternatives.

                    so in addition to net neutrality regulation we need regulations to enforce open standards

                    Nope, we don’t need government coercion to fix problems caused by government coercion. The problem can’t be its own solution.

                    I’ve even seen someone say that “net neutrality” is/was a bad thing because it limits competition. I don’t know if that’s accurate in this case, but as a general rule of thumb, actual competition is always a good thing.

                    1. 4

                      That’s not an apples-to-apples comparison though, is it? If ISPs make life difficult enough, and decentralized alternatives exist and are viable, then people will adopt the alternatives.

                      ISPs can ruin the internet without making life difficult for 99% of people. They could limit/throttle access to sites in such a way that the number of people who are affected day-to-day is comparable to the number of people who were affected when gchat removed XMPP support.

                      Nope, we don’t need government coercion to fix problems caused by government coercion. The problem can’t be its own solution.

                      How is the industry’s departure from open standards caused by government coercion?

                      1. 1

                        I’d like to see stats on competition limiting. It’s true that in a healthy competitive environment, net neutrality laws would be less needed, but telecom always trends to very little competition when left alone

                        1. 1

                          telecom always trends to very little competition when left alone

                          But it’s not left alone! That’s what I’ve been repeating here.

                          Every country on earth has a state-maintained cartel of ISPs, i.e. the government prevents any real competition from bothering their buddies running the ISPs.

                          That’s why you’d need a license to even try and start an ISP, right? The license will be expensive, and if you seem like you’d actually compete on quality and price, then you just won’t get it no matter how much money you have.

                          Or if you manage to get going, and start being a nuisance by providing people with a good connection for a good price, then you’ll be shut down by the government. It doesn’t need to be like, they show up and tell you to stop competing, they can just bury you in bullshit paperwork until you quit.

                          1. 1

                            That’s why you’d need a license to even try and start an ISP, right?

                            If they started requiring licenses to run an ISP here I could see people getting very upset about that.

                2. 1

                  You can’t run from politics. If this new network becomes a nuisance to ISPs or NSA folks, they will buy people in Congress to ban or handicap this network.

                  1. 2

                    I think piracy shows that it’s pretty hard to control technology in practice. You can pass all kinds of regulations, but you have to be able to enforce them as well for them to have teeth. When technology is cheap and ubiquitous people will use it, and there’s not much you can do about that.

                    1. 2

                      Piracy showed it was hard for entertainment industry to control what ISP’s and their users were doing when ISP’s didn’t want to spend their own time and money enforcing entertainment industry’s will. That tells you nothing about what would happen if ISP’s paying off Congress wanted something done to benefit ISP’s. The recent FCC ruling tell us they get results they want when their people are in office. So, they’d get what they wanted there, too.

                      1. 2

                        That’s why net neutrality is important in a nutshell. If the ISP can decide what’s allowed on the network, then it’s basically the end of the internet as we know it.

                1. 48

                  The choice of name is hilarious.

                  1. 30

                    I particularly like that it is a implemented in Racket….

                    I’m sure he can create some extensions like a Madoff package manager and a Ponzi operator and….

                    1. 4

                      Yes, this is golden: “Pyramid Scheme is implemented using the appropriately-named Racket.”

                    2. 15

                      Not to mention the book title: “Destabilizing Nation-states with Math: An Ethereum Hacker’s Handbook”. So good.

                      1. 8
                      2. 10

                        Totally brilliant. Combined with Racket, the name might be unbeatable.

                      1. 3

                        They probably should’ve used a “Formula CSV”(.fcsv, or .fsv) file extension that extends “Data CSV”(.csv) with arbitrary formulas. Or even a “Program CSV”(.pcsv, or .psv) for network requests or shell commands, though that one might be too many choices of file format.