1. 7

    This is not a good idea. I have looked for documentation on many things that I needed to learn, as you do, only to find that the tutorials/introductory docs didn’t match any of the stated goals or aims of the API. Nothing quite as annoying as realizing the document you’re reading fundamentally misunderstands the thing it’s trying to document.

    1. 22

      That’s a criminally low rate per hour.

      1. 15

        Yeah I honestly think it should be illegal for employers to discriminate against felons. How the hell are they supposed to rehabilitate if they can’t work.

        1. 16

          I’ve heard the sex offender registry in Australia isn’t public; it can only be used for certain jobs (schools, medical clinics, etc.) and certain housing.

          Criminal records and sex offender registries have a lot to do with labeling theory. It’s how countries like the US keep and grow a lower class. It’s pretty sad and really needs to chance.

          It’s interesting how a little over 100 years ago, you really had no record. If you fucked up bad, and escaped, and fled to a far away place and could speak the language, you could start again. Today you have a permanent identity that stays with you until you die.

          1. 8

            It’s true. Many moons ago, I worked (as a contractor) on the project that developed (then called) ANCOR system.

            Access was highly restricted - only select officers, only using a network that’s granted access, etc.

            I never really saw production data, but I’ve heard from others on the project that it’s not that uncommon for the people on the register to be nothing more than a teenage boy who sleeps with his [willing] teenage girlfriend perhaps 18 and 16 or so?) and the parent(s) of the girl press charges against the boy.

            Sure, the law should change to prevent those sort of cases, but things like Child Offender Registers (that’s the COR in ANCOR) also need to err on the side of caution when it comes to what information is made public.

            Then again, Australia also has sane gun laws (that doesn’t mean guns are outright banned) and a health care system that actually works, so the sanity of this should hardly be surprising.

            1. 2

              When I lived in Melbourne, there was a gun shop at the end of my street (near the Vic Market). You can own guns in Australia; you just need to register and have a reason (sport and pests are valid reasons, defense is not). I think you’re require to own a safe and store things in a certain way.

              Oddly enough in New Zealand, you cannot check a gun on a plane if you’re going to a shooting competition, but you can send it via courier. O_o I know a person who would just drive to Auckland instead of fly, so she didn’t have to ship her gun to a store up there. (Technically you’re not suppose to leave your car ever while transporting them, even when you get gas, but .. meh).

              I personally think most of the US gun laws are kept the way they are because the gun industry makes a ton of money in guns smuggled into South/Central America. I wrote about it here:

              https://fightthefuture.org/article/america-and-the-mexican-drug-trade/

            2. 4

              it can only be used for certain jobs (schools, medical clinics, etc.) and certain housing.

              Never heard of that. At a glance, seems like a good compromise.

            3. 8

              The label “felon” applies very broadly, from murder, to blackmail, and drug related charges. So, it’s especially heinous when an application is discarded because the felon checkbox is checked, but the crime was “intent to distribute marijuana.”

              1. 8

                Right but also heinous because felons have no real path the rehabilitation. It’s frankly cruel and unconscionable to let someone live totally isolated from society while having to live in it. Our prison system is wretched but it’s also wretched for us to treat them like criminals after they’ve done their time.

                1. 3

                  This.

                  If our courts didn’t require that felons wear a Scarlett letter for the rest of their life, this problem wouldn’t be nearly so wretched. The fact that no process exists to prove you’ve been rehabilitated*, and thus, eventually “timing out” the Scarlett letter is the crime.

                  *: in some cases, of course.

                2. 2

                  There are a lot of felonies that are even worse than that. I recommend the Twitter A Crime a Day.

                  1. 1

                    I think the real question becomes “how / how often are these laws charged, and convicted?” But, yes, your point stands. :)

            1. 2

              asthasr, you beat me to it. I was going to submit it with this comment from jimmie on Hacker News. It’s one of few times I thought about just submitting the HN comment itself.

              1. 3

                I like this from that thread:

                I bet every relatively complex program that ever tried to display Vietnamese chacters had to do something wonky at some point.

                They still have to… even with Unicode, fonts are often “shaky” in their support of Vietnamese characters, so, for example, Đường Đồng Khởi may render in some fonts with the tone marks as separate characters altogether. The dominant form of Vietnamese input on Windows is a third-party program (Unikey), and the input system on Linux likes to crash every few minutes when it’s being used…

              1. 11

                Lots of other things to comment on but I firmly think interfaces-as-structural-types is one of Go’s greatest strengths. To put it in the “bad” group is upsetting and kind of made me discount the rest of the article.

                1. 6

                  I think it’s a philosophical difference:

                  Some developers write code to document to coworkers what they are doing, and some developers just want things to compile with the least effort possible.

                  1. 2

                    It’s not a matter of least effort. Go is one of the first languages I know of that was primarily designed for large teams of engineers instead of individuals. Heavy focus on compile time, gofmt, not allowing compilation with unused variables, etc, all directly stem from this approach. Structural typing specifically reduces cross-team friction. Go will often make decisions that incur individual overhead to reduce overall team overhead

                    1. 5

                      Not sure I agree on this.

                      Compilation is not particularly fast, even compared to more more modern languages like Algol, its dependency management is a disaster, it’s error handling ignores the last few decades of lessons learned and the amount of code duplication it forces upon developers makes it hard to maintain.

                      I think it does well in terms of helping Google’s requirements of having all code in a large mono-repo, and enabling people who have no practical experience to produce code.

                      1. 2

                        Whether or not they succeeded at being fast wasn’t my point (though my position is they did succeed). My point is the kinds of things they emphasized in language design. Russ Cox argues that compilation speed is one of the reasons they don’t have generics, for instance.

                        Dependency management doesn’t matter with large teams in a mono repo, yeah, and the code duplication to me felt like it would be an enormous issue when I started but in practice, half a million lines of code later, it doesn’t come up nearly as much as you’d think.

                        1. 2

                          Compilation doesn’t have to be slow just because generics are involved, the author of D demonstrated that fairly well. I think this is rather an issue of generics not having been invented at Bell Labs (or decent error handling in this regard).

                          I’m not sure why “dependency management doesn’t matter if you are a Google employee” should be a convincing argument for programming-in-the-large for the millions of non-Googlers out there.

                      2. 2

                        Structural typing specifically reduces cross-team friction.

                        Can you talk about how structural typing accomplishes this?

                        EDIT: Ah, I see you answered this in another thread.

                    2. 3

                      Languages are funny. I’d consider defer to be a bad idea elevated to a language feature, but it’s in the “good” group 😀

                      1. 2

                        Can you explain why you like this idea?

                        1. 4

                          Sure! Let’s say someone writes a library you use frequently but writes it such that it does not explicitly implement any interfaces, as the author of the above post prefers. Maybe you use a library called Beep like this:

                          type Beeper1 struct { ... }
                          func NewBeeper1() *Beeper1 { ... }
                          func (b *Beeper1) Beep() { ... }
                          

                          You are writing your library, but want to support multiple implementations of Beepers. Maybe there’s another beeper (for a test, or another library, or something else) that also has a Beep() method. So you write your code to just expect

                          type Beeper interface {
                            Beep()
                          }
                          

                          Now you can use the third party code, your code, your test code, etc, without having to change the third party code upstream to implement your interface.

                          This is a super contrived example, but as your codebase and team grows larger, this becomes incredibly useful for reducing friction in having teams of engineers work together with minimal stepping on each other’s toes.

                          Ultimately, I describe Go’s structural typing system to Python programmers like the static typing equivalent of Python’s “duck typing” principle, which is, if it looks like a duck and quacks like a duck, just treat it like a duck. Coming from statically typed languages that require you to list what interfaces a concrete instance implement, Go not requiring that dance felt like a huge reduction in friction to me.

                          1. 2

                            I guess, to me, it feels like a strictly worse approach than what Rust has with traits, or Haskell with typeclasses, because there’s no explicit guarantee that a “Beeper” is actually abiding by the contract of the “Beeper” interface. It could have a “Beep” method that actually nukes Vienna. There’s friction to implementing a trait or typeclass for a new type, but there’s also value in it. If I have explicitly implemented a trait, there’s documentation of the type’s usage in that context as well as of its conformance with the interface.

                            1. 3

                              A frequent pattern in Go to get some of that functionality if you want it is to write something like

                              var _ InterfaceName = (*ConcreteType)(nil)
                              

                              which simply adds a compile time assertion that ConcreteType does indeed implement InterfaceName

                              Certainly does nothing to constrain the behavior, but I’m super happy with that (optional) middle ground

                              1. 3

                                There exists a spectrum: let’s say that on one extreme, it’s maximum programmer friction with minimum risk of mis-use; and on the other extreme, minimum programmer friction with maximum risk of mis-use. Go puts a marker down closer to the latter extreme, judging friction to be a worse evil than risk for their context, and providing some affordances (like the one-liner jtolds mentions) to mitigate some of those risks via convention.

                                I think no position on the spectrum is “strictly worse” than any other. It is a question of trade-offs to satisfy particular programming contexts or requirements. I think this is the same for any technical decisionmaking.

                                Go makes a lot of decisions this way. (Not all, and there are warts for sure — but many.) I think it is a nice and refreshing change from where most languages (like Rust) decide to land, and I think Go’s success in the market proves it is a viable, or maybe even preferable, compromise-point for many users.

                        1. 4

                          I accidentally destroyed my Twitter notifications with a Tweet in response to this. The explanation is a good one. I think the lede is a little buried in the conclusion, though:

                          To understand what “monoid” means practically, we look at examples. But we can’t get lost in the examples or anchored to any one; we always have to come back to the definition, and the study of the particular properties that all of the examples share.

                          This is the basic issue. A big piece of the disconnect between languages like Haskell (and Idris, and so on) is that you can think of them at the abstract definition level. You can’t, in most languages, because there are no guarantees. A Python or Java class might look like something (a pattern), but there’s no way you can actually reason about it at a higher level with the certainty necessary to trust your reasoning. That’s why so many OO patterns and guidelines are either extremely fuzzy (like the “Single Responsibility Principle”) or so astoundingly arbitrary (“Don’t write a method longer than five lines”).

                          1. 2

                            “Thanks! I’ve been meaning to watch that, but it fell out of short-term memory. As for monoids, they’re easier to grok than monads. Set + Binary Operation + Unit Value = Monoid. (Integers, +, 0). (Integers, *, 1). (Lists, ++, []). (Bools, &&, True). (Bools, ||, False).”

                            The original article opened with pipes which was promising then lost me right at monoids. Matter of fact, it looked kind of like that mathematical definition of monads that people joke about. Your version makes more sense to me since you show several different examples right after a short definition. Well, now I know what they look like. Why they matter or what I’d do with them will be the next thing to learn.

                            I think that this stuff is all done in Haskell makes that a bit harder for we outsiders since it’s two sets of alien concepts to learn. Some things Haskellers do map pretty well back to imperative or OOP languages but a lot don’t.

                            1. 3

                              To understand why monoids matter is actually a good introduction to why “category theoretic” constructs matter overall: they describe a “shape” that you can see in a lot of different contexts. Monoids in particular describe a type of “shape” that is composable, that you can treat the same after the composition as you did beforehand. So, for example, imagine a Sum. This can represent integers, with addition, and zero as the identity element. Every addition operation produces another Sum, which can be further operated upon without ever changing the type of the data. 3 + 7 + 9 + 16 + 0 + 0 + 5 is just as much an integer as 40. Similarly with [] ++ [7, 8] ++ [16] ++ [] ++ [4] and [7, 8, 16, 4] for List.

                              In terms of Haskell specifics, this shape allows the definition of a monoid typeclass that contains the necessary definitions to define a monoid. In Haskell the two functions are called mempty for the “identity element” (like 0 in the Sum above, or [] in the List above) and mappend for the “operation” part (like + or ++ above). mappend also has an infix operator synonym, <>. Thus, we could write the sum above as:

                              >>> 3 <> 7 <> 9 <> 16 <> mempty <> mempty <> 5 :: Sum Int
                              Sum {getSum = 40}
                              

                              and the list as:

                              >>> mempty <> [7, 8] <> [16] <> mempty <> [4]
                              [7, 8, 16, 4]
                              

                              Note that you don’t have to specify the type at all in the latter, because it’s unambiguous: you don’t need to know the inner type, and lists’ monoid instance uses [] and ++ without ambiguity, whereas integers have a lot of possible monoid instances!

                              The treatment of these operations as genuinely isomorphic allows the creation of even more general tools. There are packages called Data.Monoid.Split and Data.Monoid.Cut, for example, that keep track of different parts of the “construction” of the overall monoidal result. Foldable is a core typeclass that wraps anything that can be “folded” (collections), and so on.

                              1. 2

                                Thanks for the explanation. Added it to bookmarks. :)

                                I think I’m getting the first half of it. The composability reminds me of algebraic laws and structuring on functions I’ve seen in Cleanroom and Haskell. What I’ve read indicate that let people do things like substitution or changing order since the algebraic structure allows for that. Moving those numbers or list elements around in my head where they preserve the type looks similar.

                                The second half appear to be abstract operations on these concrete things. I don’t have an intuition for that yet since I don’t see the abstract operations doing concrete things on the concrete examples you gave me. Do you have two or three different examples of operations on those numbers and list elements that visually illustrate what you would do with the monoid? Or why it would be worse without one with common, alternative structure? Like the monads, I suspect this stuff gets more clear the more examples people see of the pattern.

                                1. 2

                                  Monoids are not about moving around numbers or elements. In fact, ultimately, the underlying structure is lost unless you use special instances that keep track of structure. The purpose of a monoid, ultimately, is that it is the same after its combination has taken place. Add two numbers, and you’ve got a number. Append two lists, and you’ve got a list. Superimpose one SVG drawing on another, and you have an SVG drawing. Stick two sorting strategies together, and you’ve got a sorting strategy.

                                  Actually, let’s look at that. Consider a list of strings.

                                  >>> let ss = ["banana", "tomato", "cherry", "cucumber", "dragonfruit", "potato", "mango", "strawberry", "blueberry", "grape"]
                                  

                                  We can sort it alphabetically using the compare function…

                                  >>> sortBy compare ss
                                  ["banana","blueberry","cherry","cucumber","dragonfruit","grape","mango","potato","strawberry","tomato"]
                                  

                                  We can sort it by length using comparing, which takes a function and orders by its result…

                                  >>> sortBy (comparing length) ss
                                  ["mango","grape","banana","tomato","cherry","potato","cucumber","blueberry","strawberry","dragonfruit"]
                                  

                                  But this is just messy. Look at how out-of-order it looks! Let’s sort by both instead.

                                  >>> sortBy (comparing length <> compare) ss
                                  ["grape","mango","banana","cherry","potato","tomato","cucumber","blueberry","strawberry","dragonfruit"]
                                  

                                  This sort of “homogeneity after combination” has application in math, sorting, accumulation of statistics, database queries, pipelines (the source of Uncle Bob’s misguided tweet), and on and on. It’s a very general concept.

                                  1. 2

                                    Now that is,starting to sound useful. In my research on meta-programming verification, one of the very things I was trying to figure out how to do is combine multiple passes that do slightly-different things to data. Has uses in optimizations and portability. Sounds like monoids could help if I can structure it how they require. Thanks again for great explanation!

                            1. 14

                              This is literally how the guy makes a living, so, maybe don’t do that?

                              1. 9

                                I took it down.

                                1. 2

                                  Very considerate of you! :)

                                  1. 3

                                    Ya I didn’t intend to upset anyone, it was purely a convenience thing.

                                2. 8

                                  “First, everything is free all week”

                                  He’s encouraging people to grab his videos by giving everything away for free. All he required was a login which may have monetary value later that timetoplaytypus’s share negates. It’s possible, though, he thinks they can only grab a small amount of videos with some portion of people paying for the rest after deal expires. That’s on top of new, recurring revenue from it on future videos. Maybe this hurts him on at least gap between what he though could be shared and what would be. In that case, he’d have made a gamble that may or may not pay off vs offering a limited number of videos with a clear prohibition on sharing them.

                                  On ethical side focusing on results, I don’t think there’s a huge difference of someone here sharing his videos all at once in convenient form for free vs him saying grab as many as you want after you log in for free. Given freeloading users vs type and number that would pay him, I don’t think he’d have many losses in that scenario if any at all. The kind of people that would pay him would probably mostly still pay him. Hopefully, no effect.

                                  1. 0

                                    He’s encouraging people to take a free look at his work and see if they think it would be worth for them to pay for more of it in the future. Shitty people that don’t care about anything else but themselves might interpret this offer as an invitation to take advantage of someone’s work, and even actively undermine this someone’s livelihood. I think these people are at least half of what is wrong with the word and they should all go live in a cave and never interact with anyone else ever again.

                                    1. 2

                                      I hear you. It’s a sensible perspective. I prefer he keeps getting paid for doing good work, too. I also agree that this should be the norm instead of pervasive parasiting.

                                      1. 2

                                        I think you see the situation a bit radically.

                                        On one hand when someone publishes a free software and people use it for their benefit without any pay then they are shitty? When someone decides to publishing something for free, then the factor that some people may not pay for it must be calculated into that decision.

                                        I believe that the ad-supported word is a bigger threat, as makes the feeling that stuff are for free a norm.

                                        1. 0

                                          Neither of those examples apply. OP is publishing something for free for a LIMITED amount of time, with the very obvious intention of giving people a preview of his product. Free software and free content are very different propositions.

                                          1. 2

                                            I still think that the possibility had to be factored into this offer, and it likely was. The style and language are still harsher than I think the situation justifies.

                                            1. -5

                                              Fortunately, I don’t care what you think.

                                              1. 2

                                                You should reconsider your approach to commenting on lobste.rs.

                                                1. 0

                                                  That is your right to do so.

                                      2. 8

                                        let’s be real here. the first thing i thought of when i saw this was “can i write a script to download everything before the deadline” and im pretty sure 99% of people here thought something along that line.

                                        given the target audience of his screencasts, you kinda have to expect this.

                                        1. 0

                                          Everybody thinks stupid thoughts, but not everyone acts on it. And since we’re a big part of Gary’s target audience, wouldn’t it be nice, if it turns out he overestimated the amount of dicks among us? By the way, first thing in my head also was “Hmm, can I download it?”, but then I remember the guy has to eat.

                                          1. 4

                                            The swearing you demonstrate in your comments is disturbing. I hope it will not become the norm in the comments section.

                                            I believe you could also communicate your point very well without using words like “shitty people” and “dicks”.

                                      3. 4

                                        I come to comment on this because I remembered this tweet he posted on the matter, a while ago: https://twitter.com/garybernhardt/status/870721629440983041

                                        I’m glad it’s been taken down already, I think its just fair to the author’s work.

                                        1. 1

                                          I probably should have read the comments before spending 20 minutes writing a scraper.

                                          1. 1

                                            The HTTP 451 is intentional, no?

                                            1. 2

                                              Any endpoint on my site that doesn’t exist returns HTTP 451

                                              Edit: for example, https://timetoplatypus.com/abc

                                              1. 1

                                                FWIW it looks like the HTTP response is only a 404. is this because many clients/servers don’t respect 451 yet?

                                                1. 1

                                                  Nah, it’s just a mistake on my part. I’ll get around to fixing it…eventually

                                          1. 1

                                            Packer to build AMIs, Terraform to provision resources. I’ve used Ansible to run “setup” tasks during the packer step as well as “finishing touches” tasks during the instance spin-up step.

                                            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. 2

                                                                  My problem with the exception example is generally you would want a different user readable failure message for each error line.

                                                                  1. 2

                                                                    You can do that with monadic error handling, (see Railway-Oriented Programming) .The article is a little weird, though, in that it seems to be implying that Java exceptions are monads, which they’re not.

                                                                  1. 7

                                                                    Excellent piece. I really like the idea of revisiting seminal papers with the benefit of hindsight; too often it’s easy to read a paper from twenty years ago and find it really interesting, but then to be unable to find (or see) how it would be expressed in more modern idioms (or even if it survived “contact with the enemy”).

                                                                    1. 3

                                                                      Non-technology:

                                                                      • Vietnamese Stories for Language Learners. Randomly got it recommended to me on Amazon, looks fantastic.
                                                                      • Mengzi. A scholarly translation of a Confucian classic.
                                                                      • Key Writings, Henri Lefebvre. Familiarizing myself with him. He’s an overlooked Marxist thinker with a focus on everyday life and urbanism.
                                                                      • Why don’t we learn from history?, B.H. Liddell Hart.
                                                                      • Street Without Joy: the French Debacle in Indochina, Bernard Fall. The classic examination of the French war in Indochina.

                                                                      Technology:

                                                                      • Attack of the 50-Foot Blockchain, David Gerard. Ordered it after I saw his posts in another thread here recently.
                                                                      • Silence on the Wire, Zalewski.
                                                                      • The Web Application Hacker’s Handbook, Stuttard and Pinto.
                                                                      1. 3

                                                                        Can recommend silence on the wire. If you like his writing (hint: you will) and am interested in web hacking, I’d strongly recommend his Tangled Web. Much better than web hacker’s handbook IMO. An less outdated, AFAIK ;)

                                                                        1. 1

                                                                          Cool, thanks for the recommendation. I’ll add that as an alternative.

                                                                        1. 4

                                                                          The Linux Programming Interface is very good. A lot lower-level than I normally go, but still fascinating.

                                                                          1. 1

                                                                            Any similar ones you’d recommend ?

                                                                            1. 2

                                                                              Advanced Programming in the Unix Environment, I guess? I don’t really read many low-level books like that. Most of the higher-level things I like are more conceptual than specific.

                                                                          2. 2

                                                                            Soul of a New Machine is a delightful read, and if you like it I’d check out Masters of Doom.

                                                                            1. 1

                                                                              I’ve read it already! It was an exciting read. I read it one sitting.

                                                                          1. 15

                                                                            Ulysses. This is the year I’ll finish it. Or so I tell myself.

                                                                            1. 2

                                                                              And after that Finnegans Wake, right? I know this feeling.

                                                                              1. 1

                                                                                Got this for Christmas, actually..

                                                                              1. 1

                                                                                It is not clear to me if they’re only interested in people who physically live in the Valley or also remote workers.

                                                                                1. 1

                                                                                  I’d say count both if the business and/or deliverable is in the Valley.

                                                                                1. 13

                                                                                  I don’t have any research papers off hand, but I would love to read some criticisms of the blockchain/cryptocurrencies (in terms of technology rather than economics).

                                                                                  1. 6

                                                                                    This piece is pretty good.

                                                                                    1. 13

                                                                                      No, that piece is actually uniquely terrible. I mean, if you want to simply read a piece which throws cold water then sure, read it, but you’re probably looking for informed pieces. The linked article is written by somebody who doesn’t understand the space; it makes claims which can be trivially disproved by reading the relevant literature. (For example, he seems to think that systems like Filecoin are proposing we store bulk data directly onto a blockchain)

                                                                                      This one is much better.

                                                                                      Attack of the 50 foot blockchain, both the book and the blog, are also great. They go less into technical details and more into pointing out the crazy claims some people are making and the crazy schemes they’re proposing.

                                                                                      1. 6

                                                                                        This one is much better.

                                                                                        That looks like it might be worth including on the list. I’ll try to review it tonight.

                                                                                        1. 6

                                                                                          I thought it was a pretty good piece. Main factual errors are: eight years not ten, and bitcoin transactions haven’t been four cents since early 2015.

                                                                                          But I think his central thesis is sound: all of this is a series of very impressive solutions to things that aren’t in fact the problem. Key quote:

                                                                                          In conversations with bitcoin entrepreneurs and investors and consultants, there was often a lack of knowledge or even interest in how the jobs were being done today or what the value to the end user was.

                                                                                          The more general problem is that “blockchain” the buzzword has less and less to do with the weird trick Satoshi Nakamoto came up with. e.g. Hey, Estonia’s all Blockchain now! Everything there is on blockchains! Is this Good News for Bitcoin?? well, not quite, because their esteemed Guardtime KSI Blockchain isn’t actually, er, a blockchain. That sort of thing.

                                                                                          1. 2

                                                                                            Oh, it’s cool that you’re here. First off, thanks for the book, it gave me a very lovely Saturday!

                                                                                            In conversations with bitcoin entrepreneurs and investors and consultants, there was often a lack of knowledge or even interest in how the jobs were being done today or what the value to the end user was.

                                                                                            If this was his main point I would agree that it was a decent piece, but all of his examples really are terrible. He focuses on b2c applications; almost all of his reasons are how consumers already have much better alternatives than anything blockchain-powered currently provides.

                                                                                            I agree, however (1) there’s much more to the world than just b2c, (2) b2c is usually built as a wrapper on top of unfriendly systems. Dropbox, one of his examples, is built on top of s3, which isn’t much friendlier than Filecoin would be, if it succeeds. Filecoin has the promise of being much cheaper though, so you can imagine, 5 years from now, using a Filecoin-powered-Dropbox which gives you all the same features but is less than half the cost. I know that doesn’t sound revolutionary, but before I lose your interest by claiming even bigger things I wonder if you agree the above is possible.

                                                                                            He then prematurely generalizes, and claims that these failings prove the entire class of blockchain protocols are doomed. Again, I totally agree that consumers prefer airline miles to whatever libertarians mean by “sound money”. However, I think things like storage markets, prediction markets, incentivized mesh networking… all of these take time to build; and the author of this piece seems to think that because he can’t imagine them then they must surely not exist.

                                                                                            The more general problem is that “blockchain” the buzzword has less and less to do with the weird trick Satoshi Nakamoto came up with.

                                                                                            This is, in some circles, completely true. It’s something Matt Levine has written about; blockchain is often code for “let’s get decision makers to approve fixing some of our infrastructure by giving the work a sexy name”. You’re reading your own opinions into his piece though, I don’t think he ever argues this :)

                                                                                            1. 6

                                                                                              I probably am reading my own opinions into his paper to a degree, then agreeing with myself, yes :-) I was reading it as a businessperson’s frustration with fountains of BS that never quite work out.

                                                                                              I do think, though, that eight years in, the burden of proof is firmly on the blockchain promoters. I have no patience any more for purported blockchain systems that don’t exist yet, because their track record of achieving existence is really bad.

                                                                                              Hypotheticals in the blockchain space are so cheap as to be worthless. “Could” or “will” are words meaning “doesn’t”.

                                                                                              The bitcoin press don’t really help in this. CoinDesk in particular never seems to have seen a hypothetical it doesn’t like; all you need is to make your thing slightly blockchainy and they’ll post a piece of journalistic stenography about it. Its failure to eventuate six months later will never be noted. This is a big problem because the mainstream media assume good faith, that this is specialist press rather than boosterism press …

                                                                                              Try this yourself! Take any of these hype-filled proposals and replace “could” with “doesn’t”. I’ve got here a blockchain in healthcare paper - peer-reviewed!! though in a journal that made Beall’s List - that has “could” 81 times, all for things that DON’T EXIST. Perhaps one day they will! But the fact that they DON’T EXIST is in fact an important point.

                                                                                              The Lightning Network is one personal bugbear on this point. I have had this argument, live on video with a bitcoin advocate (they didn’t put that bit up, for some reason … though I still have my video) where I pointed out bitcoin’s utter failure to scale and got back “but look, the Lightning Network! (laugh)” as if that was a slam-dunk refutation. I had to point out the fact that LN’s been coming any moment now in 2015, 2016, 2017 and for 2018, and the most important thing about it is that it DOESN’T EXIST. And, y’know, its repeated failure to happen might be relevant to its value as a solution to the problem.

                                                                                              (Rant time: I just had another go-round recently with LN advocates. I am pleased to say the actual devs are much better to talk to than the advocates. There is now LN code! The crippling flaw of the whole LN design remains the path-finding algorithm, to go from arbitrary node A to arbitrary node B - which is the same problem as trying to solve a UUCP bang-path. What was the best that the most motivated computer scientists and sysadmins of the 1980s could manage? Either compute it by hand, or download monthly maps of the entire network and pathalias it. And they all ran screaming for DNS as soon as they had proper Internet. So to do a proper mesh network, rather than just a few hubs closely resembling the Visa-Mastercard-PayPal triumvirate, LN actually requires new computer science. The present alpha code uses “broadcast every channel and transaction to the whole network”, which is I think O(n^2) and scales to literally tens of nodes. And then, even if it all worked, the economics of the LN can’t possibly work and would seize up immediately. But as far as I can tell, they literally don’t have a planned or anticipated economic model; certainly there’s nothing in years of dev list messages referencing any sort of thing they’re aiming for, which any reasonable person would think was something that might be needed … gah. Hyped vaporware. I tire of it.)

                                                                                              so yeah. I have no patience for hypotheticals in the blockchain space any more. Call me when the thing exists and works. There’s too much BS and too many BSers.

                                                                                              I did just ask an actual mathematician working in related areas to write a section-by-section takedown of that TimeCube-in-LaTeX white paper IOTA put up. I hope they have something I can link or post soon.

                                                                                              1. 2

                                                                                                I do think, though, that eight years in, the burden of proof is firmly on the blockchain promoters. I have no patience any more for purported blockchain systems that don’t exist yet, because their track record of achieving existence is really bad.

                                                                                                I really can’t argue. I do think that these things take time. Many of the potential “could” and “will” applications assume things like low transaction fees or a lightning network or decentralized storage. Until we figure out how to scale these things those applications are likely to be out of reach.

                                                                                                I’ll have to begrudgingly agree with you if we go another 8 years without any big breakthroughs but for now I’m hopeful, ethresear.ch has some cool ideas which are just crazy enough to work. It took a surprisingly long time for the steam engine to become practical.

                                                                                                And then, even if it all worked, the economics of the LN can’t possibly work and would seize up immediately

                                                                                                Do you have any references I could go read? I have my doubts on Lightning Network, it feels like there need to be hubs, and the channels between those hubs need to be massive to hold all the payment volume, but that’s just my idle speculation. I’d love to see some math.

                                                                                                I did just ask an actual mathematician working in related areas to write a section-by-section takedown of that TimeCube-in-LaTeX white paper IOTA put up. I hope they have something I can link or post soon.

                                                                                                Yes, IOTA is an unmitigated disaster. I also would love to have something I can link to.

                                                                                                1. 3

                                                                                                  No, I was trying to put one together, but that really requires the LN to be an actual thing that could be talked about. It’s hard to make specific and pointed critiques of a nonexistent network. I mean, proponents can easily say “that’s not a problem because (spurious justification)” because the network doesn’t exist yet

                                                                                                  Though here’s someone writing several obvious arguments against it. Also, Jorge Stolfi on Reddit (/u/jstolfi) has critiqued it at length and in detail.

                                                                                                  Whenever I’ve seen someone raise economic arguments, LN devs and proponents go silent. I’m also pretty sure you can get credit - the promise of money that would be as usable as money - out of it, though the notion is anathema to bitcoiners because credit is evil therefore doesn’t exist. Etc., and on.

                                                                                                  The LN is very un-blockchain in nature. One of the big things, actually, that worries me about the LN is that I don’t think there’s been a system like it in financial history. And people have tried just about everything, so that’s actually a point against it. I asked one finance history buff, and the only thing they could think of was Bretton-Woods and large quantities of gold. And B-W eventually faded away as people stopped pretending they cared about the actual gold.

                                                                                                  I’m seriously starting to think they were desperate for something, anything to deal with the Bitcoin transaction clog and seized upon this half-formed LN payment channels idea, didn’t think it through at all, and still haven’t.

                                                                                                  The LN on the testnet is pretty elaborate. Buuuut the testnet doesn’t have $50 transaction fees to set up a channel.

                                                                                                  1. 2

                                                                                                    Thanks for making your points in this thread. They’re well-stated and express some of the concerns I’ve had while evaluating various possibilities for the current project I’m working on, better than I could have.

                                                                                          2. 3

                                                                                            The first is pretty good esp on speed, flexibility, and energy use. If it’s on the list, one might want to include prior and alternative work that uses traditional tech with audit ledgers, byzantine databases, securities built on multiple stable commodities/currencies, nonprofits solving for-profit transaction issues via charter + contracts, and so on. Lots of possibilities that reuse everything from proven security or software methods to well-understood laws and business models.

                                                                                            Strange enough, echo chamber is so strong on bitcoin that anyone bringing up stuff like that just fixing centralized methods or decentralizing without blockchains gets pushed to bottom of thread. Meanwhile, the newly popular thing is still failing while the traditional methods still mostly work.

                                                                                            1. 3

                                                                                              Fairly sure David Gerard is a fellow crustacean. (He and I seem to end up in all the same internet places for some reason.)

                                                                                            2. 3

                                                                                              That’s more an argument about the business side than the core technology, though.

                                                                                          1. 3

                                                                                            I like gitit, but don’t use it for everything. I write notes for current projects and such in org-mode, and then if I think it will be of interest to me later (some new technique or tech I’ve learned, for example) I will write a short summary in the wiki or add to a previously-existing page.

                                                                                            1. 16

                                                                                              I have fought against this myself. It’s hard. What I found really helpful was to decouple my self-worth from my job. Nothing related to programming skill is related to peoples’ inherent value; almost nothing in programming is a moral decision (except being willing to say “this is a job I will not do”). Personally I have found it easier to find this from philosophical, theological, and moral texts than from self-help books; tastes vary.

                                                                                              If you are interested, I recommend these books:

                                                                                              • The Miracle of Mindfulness by Thich Nhat Hanh
                                                                                              • Xunzi (translated into English by Hutton)
                                                                                              • Meditations by Marcus Aurelius
                                                                                              • The Confessions by St. Augustine
                                                                                              • The Seven-Storey Mountain by Thomas Merton

                                                                                              Several of them are “religious” (Mindfulness is Zen Buddhist and Augustine and Merton are both Catholic), but there is a common thread of self-critique and examination that runs through them that I found really valuable.

                                                                                              1. 8

                                                                                                What I found really helpful was to decouple my self-worth from my job

                                                                                                I will go one further, and say what really works for me (and what I’m constantly having to practice) is to decouple my self-worth from my own intelligence or talent, and to go on to admit that whatever I happen to be suited to, there’s very little credit I can take for it. As a programmer, I am entirely reliant on prostheses: documentation, yes, but also unit tests, type systems, and mathematics—these are all useful to me, and everyone else, specifically because they help fill in the gaps where my reasoning ability (supposedly the thing I am proud of as a programmer) is deficient.

                                                                                                Nevertheless my mind does rush to judgment constantly; it’s been fine-tuned to always find a way to set myself apart from whoever I’m looking at. At then end of the day, when it comes to this profession, pretty much every single one of us would benefit from approaching it with a huge degree of humility.

                                                                                                1. 11

                                                                                                  Nevertheless my mind does rush to judgment constantly

                                                                                                  Programming encourages this, because code has to be right. Pointing out mistakes is something we frequently have to do as a result.

                                                                                                  Most of ‘the real world’ doesn’t need the same kind of correctness. Businesses run on approximation and best efforts.

                                                                                                  This is (to my mind) the most significant ‘Déformation professionnelle’ of the programmer. In the rest of society, maintaining a relationship is (often) more important than pointing out a mistake.

                                                                                                  1. 4

                                                                                                    …every single one of us would benefit from approaching it with a huge degree of humility.

                                                                                                    This is the key point, I think. Humility helps you see where you’ve made a mistake; where you can improve; where you might be entering an area of weakness. It also helps you relate to your coworkers and colleagues. If you can come to recognize things as opinions, rather than subjects of Objective Truth, that don’t really matter very much, then a lot of friction is removed.

                                                                                                    1. 4

                                                                                                      Humility for me is really hard when met by arrogance. Arrogance provokes arrogance in myself.

                                                                                                      1. 2

                                                                                                        That is very true. It’s easy to get offended and act arrogant/negative in return. This is probably my primary failure mode! Still, it’s just something to recognize and work on.

                                                                                                  2. 2

                                                                                                    Thanks for your comment, especially the small sentence “it’s hard.”

                                                                                                    I struggle with the concept of decoupling my self-worth from work. Sometimes, I think that this is the right path. Then I cannot perceive how something on that I spent so much deliberate time & energy should be irrelevant for defining my self? I am currently digging into mediation, maybe your recommendations provide further guidance. Thanks.

                                                                                                    1. 4

                                                                                                      Consider these ideas.

                                                                                                      1. Imagine that there is an economic down-turn and you are not able to keep your job. You are forced to work, to make ends meet, as a cook in a restaurant.
                                                                                                      2. Imagine that you were struck by a car while crossing the street. You have a head injury and, while you are able to walk and talk, are never able to work as a programmer again.

                                                                                                      In either case, should your self-worth be damaged? I would say no. How we treat our personal obligations is what defines us as people, not our work. If you are meeting your personal obligations as best you can in the circumstances—treating the people around you well, taking care of your children, generally making the world better—then you’re doing fine.

                                                                                                      I really like Xunzi for this, because he sets out his goals plainly.

                                                                                                      The gentleman is the opposite of the petty man. If the gentleman is great-hearted [confident] then he reveres Heaven and follows the Way [i.e. follows social rituals and educates others]. If he is small-hearted [shy] then he cautiously adheres to yi [moral standards] and regulates himself. If he is smart, then with enlightened comprehension he acts according to the proper categories of things. If he is unlearned, then with scrupulous honesty he follows the proper model. If he is heeded, then he is reverent and reserved. If he is disregarded, then he is respectful and controlled. If he is happy then he is harmonious and well-ordered. If he is troubled, then he is calm and well-ordered. If he is successful, then he is refined and enlightened. If he is unsuccessful, then he is restrained and circumspect.

                                                                                                      In short, there is a way to be a “gentleman” (or “sage”) in every circumstance. Of course, nobody is perfect, so it’s better to be seen as a “process” than an end point.

                                                                                                  1. 2

                                                                                                    In the Vietnam War, there was a focus on data above everything else that led to a technocratic approach to war. Such-and-such many killed; so-and-so many weapon caches destroyed. It led to the murder of innocent people and the falsification of metrics, so that generals sitting in the rear could fool themselves into thinking they were winning. In light of this, it seems like a really bad idea to try to apply Sabermetrics to this space.

                                                                                                    1. 23

                                                                                                      I vote we hold the line. Crypto is a perfectly cromulent synonym for cryptography.

                                                                                                      A review of https://lobste.rs/t/crypto doesn’t reveal any mistagged stories. Even the one about IOTA was about differential cryptography.

                                                                                                      1. 6

                                                                                                        Some of them got retagged because I went through and fixed the tags. Check the mod log.

                                                                                                        1. 1

                                                                                                          They’re synonmyms. Might be better to label the crypto tag with “other crypto” or something similar to emphasize cryptocurrencies get their own tag.

                                                                                                          I dont support redefining or retiring a common phrase, esp a big on in CompSci, becausr some people are using it wrong. SpiderOak couldve similarly justified their use of ZeroKnowledge for different concept by pointing out how many people they had using it wrong. We didnt let them, though.

                                                                                                          1. 7

                                                                                                            Tags serve the purpose of allowing people to categorize and filter the stories posted here on lobste.rs. The correctness or incorrectness of “crypto” aside—even the appilcability of cryptography to cryptocurrencies aside—the present confusion damages the value of the crypto and cryptocurrencies lobste.rs tags. Renaming the tag to cryptography would make the tag more meaningful.

                                                                                                            1. 5

                                                                                                              This is correct. We’re not talking about definitions of words, but usefulness of tags for filtering.

                                                                                                              1. 1

                                                                                                                We are talking about the definitions of words. Cryptography equals crypto. Cryptocurrencies equals… well, you know. The two tags are there for the purposes of highlighting or filtering those. The OP says people are incorrectly labelling tags. Solution is to tell them what they’re doing so they can avoid it or some moderation activity.

                                                                                                                You going to ask for admin to change the Windows or Programming tags if a handful of people put them on other activities we have a tag for? We going to get rid of them or make them longer if they’re mislabelled?

                                                                                                                1. 2

                                                                                                                  We can lead horses to water but we cannot make them drink.

                                                                                                                  If the world at large is moving toward changing the English language to employ crypto as a shortname for cryptocurrencies, then with all the will in the world we cannot fight against that.

                                                                                                                  The definition of ‘hacker’ forcibly changing due to sheer weight of incorrect usage is a fine example from our past. Respectfully, your ideals are noble, but if they don’t reflect reality, that’s the end of it. :-)

                                                                                                                  1. 1

                                                                                                                    The definition of ‘hacker’ forcibly changing due to sheer weight of incorrect usage is a fine example from our past.

                                                                                                                    That right there is the most compelling counter since I’ve given up trying to explain the difference to the general public. Watching people’s faces when I say I read Hacker News is interesting to this day. Always have to follow up with an explanation about the term. So, I just skip the name usually to say what content it has.

                                                                                                                    “We can lead horses to water but we cannot make them drink.”

                                                                                                                    This is wrong analogy. There’s a whole sub-field of education with this name plus a super-set called Information Security both of which will be penalizing students for getting it wrong. There’s also tech forums that force correct use of labeling or other rules. On this one, I’d prefer to keep burden low on moderators. Gotta balance that against accuracy. Tag renames plus suggestions on corrective action would imply action against the account if that was ignored. There’s also possibility of scripting it to look for keywords on any items tagged crypto to autosuggest cryptocurrencies.

                                                                                                      1. 4

                                                                                                        I find it quite strange to see many comments (here, now; but also elsewhere when this comes up) about how (a) gamification detracts from the site’s main purpose (being a knowledge base) and (b) it’s hard to get points now, well-thought-out questions and answers often don’t get many points, other people got lots of points without much effort.

                                                                                                        Surely (a) implies that the points are meaningless, and hence (b) is a non-issue? This seems especially true when it comes to questions: the few times I’ve asked a question on SO or another stackexchange site, it’s because I want to know the answer; not because I want more meaningless internet points.

                                                                                                        The other common complaint is overly-strict closing, which certainly does sound like a delicate issue which could put off many people from participating further.

                                                                                                        1. 11

                                                                                                          Actions are gated behind points. You can’t answer “protected” questions or post links until you have 10; can’t comment until 50. Then, too, there’s a network effect where people are, perversely, more likely to upvote answers by high-reputation users. Thus, the points do matter; the ones that matter the most are the hardest to get; and there’s an entrenched group of high-rep users who accrue reputation just by virtue of having high reputation already.

                                                                                                          1. 3

                                                                                                            Actions are gated behind points. You can’t answer “protected” questions or post links until you have 10; can’t comment until 50.

                                                                                                            Ah yes, I forgot about this.

                                                                                                            The failure mode I was mostly thinking about was considering SO reputation when comparing prospective new hires, which would give these ‘internet points’ a real economic value, and cause all sorts of distortion.

                                                                                                            Thus, the points do matter; the ones that matter the most are the hardest to get;

                                                                                                            Do you mean those initial 10 or 50 points? I see how this is bad, but also why something like that is necessary to prevent spam (lobste.rs uses invites for a similar reason). I don’t know enough to comment on the particular tradeoffs (e.g. how SO spam correlates with reputation requirements).

                                                                                                            Then, too, there’s a network effect where people are, perversely, more likely to upvote answers by high-reputation users… and there’s an entrenched group of high-rep users who accrue reputation just by virtue of having high reputation already.

                                                                                                            I put this all in my “so what?” bucket :)

                                                                                                          2. 2

                                                                                                            I personnally wasn’t complaining on the gameification of the site but the difficulty to get reputation nowdays (which you do mention).

                                                                                                            I do agree with your points and your second paragraph made me rethink my arguments.

                                                                                                            To be frank, my main motivation for getting reputation (which is probably a bad one) is if I ever want to find a job using StackOverflow Jobs or if a potential employer decides to look up my profile on StackOverflow. But I’m probably stressing over nothing.