1. 5

    Cool idea and cool essay. Having said that, it’s nothing but Comic Sans for my lemonade stands. Sorry about that. :)

    1. 4

      thank you kindly, and that’s quite understandable

    1. 1

      Again, as for last three months, I will work on improving my own little language (https://github.com/antonmedv/expr). Now as more and more companies around the globe using it, I decided to try to make some money on my OSS. I’m building paid side project: JavaScript code editor for my language, so it will be much easier to use in in admin interfaces and web applications. Main difference and difficulty it’s what it has autocomplete. First demo already available here https://antonmedv.github.io/expr-demo/

      1. 1

        That is really great, I like the debugger. Maybe I’m missing something, but I do not understand how to get the demo to respond. Only the texarea is displayed without any buttons…

        1. 1

          Yes, this is what my side project is. Just a textarea for Expr code.

      1. 2

        Small tweaks to the server running the online Sneklang evaluator at https://sneklang.functup.com

        Working on Bitcoin lightning invoicing with LND for a different side project to sell art.

        1. 1

          Also, just a heads-up–when I install sneklang package with pip, it breaks trying to import forge (which, for some reason, cannot be installed).

          1. 1

            Ok fixed this, thank you!

          1. 1

            I think I killed it! Similar to exists-forall’s example:

            b = []
            i = 50
            while i > 0:
            	b = [b, [b]]
            	i = i - 1
            	
            str(b)
            
            1. 1

              So this is interesting, creating b is ok and within the bounds, but converting it to a string is where the problem lays.

              1. 1

                That was fun to fix, ok now the size of the evaluated expression is also included in the scope size check. https://sneklang.functup.com/v1/runs/9336c1835a765658589bf51c283e80744328d484

                ScopeTooLarge(‘Scope has used too much memory: 25100 > 20000.0 at line: 4, column:5’)

              1. 2

                Good idea to get people to break it. I heard about Sneklang a little while ago and thought it sounded quite useful.

                Are there any APIs to execute Sneklang from other languages yet? Like if I have a C# program that allows users to enter input in Sneklang, then executes it and uses the results within the program.

                1. 1

                  I think I’ll make a CLI for it at some point, maybe let it read to stdin and print to stdout…

                1. 6

                  I think the following code crashed the server:

                  def deep_but_shared(n):
                  	result = []
                  	while n > 0:
                  		result = [result, result]
                  		n = n - 1
                  	return result
                  
                  deep_but_shared(17)
                  
                  1. 5

                    https://sneklang.functup.com/v1/runs/48d02d0894cc8ad79645232145872ded80ca3449

                    Congrats! If this is was yours, it did cause an actual error. It causes memory to massively jump between checks.

                    1. 1

                      Yep! That was me. :)

                    2. 2

                      Thank you! the result was a bit too long for the templates to handle reasonably. Have to truncate results now…

                    1. 7

                      I imagine you have no plans for a debugger and breakpoints? In other words, no step on snek?

                      1. 4

                        Although there is no plan for interactive debugging, there is a small place where sneklang is better than normal python: Coverage.

                        In [1]: import sneklang
                        In [9]: source = """ 
                        ...: a = True 
                        ...: b = a or "not truthy" 
                        ...: """
                        
                        In [11]: coverage = sneklang.snek_test_coverage(source)
                        
                        In [13]: print(sneklang.ascii_format_coverage(coverage, source))
                        Missing Str on line: 3 col: 9
                        b = a or "not truthy"
                        ---------^
                        87% coverage
                        

                        There is something very import demonstrated here.

                        In normal python coverage, logical operators are not counted as separate branches. But above, you can see the boolean shortcut is measured, and you are alerted that all possible conditions have not been tested.

                        In normal python boolean shortcuts would have to be rewritten to their equivalent if statements to get proper coverage measurement.

                      1. 11

                        I’ve been working on an online editor for Django templates.

                        http://sandbox.django-templates.com

                        1. 2

                          This is very interesting. Thank you for sharing.

                          1. 2

                            Thank you, it’s one of the few projects I actually shipped for the public, hope it is useful

                        1. 2

                          I’m always kind of wary of language VM that wasn’t designed for sandboxing being used as a sandbox, even after being restricted to a subset. I’ve seen a few attempts at this that at first looked like using safe restriction, but after a bit of fuzzing or vuln research in the VM, there end up being many edge cases of memory corruption that doesn’t matter when Python is used as an application, but that led to disastrous consequence when used as a sandbox VM.

                          In the end, if you want to safely run untrusted code, it’s probably better to either use well tested and designed from the ground-up for sandbox (e.g. Lua) or use proper sandboxing patterns (e.g. secomp, pledge)?

                          1. 2

                            Yes, you should be wary, here be dragons

                            1. 1

                              I appreciate the quest to find a suitable safe subset of Python. For language design that works.

                              However as you say, the implementation path for the interpreter is not a safe approach. If you rely on finding and patching holes you will never be done. A safe platform starts as something so simple that it is obviously safe. Then you extend it until it becomes useable.

                            1. 8

                              Cool experiment.

                              It seems that a vast amount of Python’s functionality has been sacrificed, and the resulting sandbox is possibly correct but very limited.

                              Have you checked out the PyPy sandbox? Their sandboxing technique is more akin to capability-style isolation, and permits the full range of Python’s expressive power.

                              The sandbox is trivally hung:

                              snek_eval("while 1: 1")
                              

                              Let us generate the Von Neumann ordinals:

                              def ord(i, l=[[]]):
                                  while len(l) <= i: l.append(l[:])
                                  return l[i]
                              

                              This generates an exponentially-sized tree of linear depth and width. We can cleanly sneak under the size limits now; this snippet exhausts my laptop’s memory without a problem:

                              snek_eval("len(ord(100000))")
                              
                              1. 5

                                Great point, I was hoping for some holes to be exposed. I will need to limit total nodes evaluated and total scope data usage…

                                Pypy-sandbox is excellent, I’ve used it in the past. While you can limit memory usage, the pypy-sandbox also doesn’t protect against infinite loops. Also communication is only stdin/out, which means scope is unavailable, and some sort of serialization is needed for data and exceptions. Also pypy startup time is in 100s of ms which means calls to user functions must be asynchronous and require a queue or offline use.

                                1. 3

                                  Update: I added some checks for total amount of memory used (in bytes) and for the total count of expressions evaluated.

                                  Can you think of any other ways to use up resources or time?

                                  Here we can limit a maximum scope size (included parent scope)

                                  In [12]: sneklang.MAX_SCOPE_SIZE
                                  Out[12]: 10000
                                  In [14]: sneklang.snek_eval("""
                                  ...: def ord(i, l=[[]]): 
                                  ...:     while len(l) <= i: l.append(l[:]) 
                                  ...:     return l[i] 
                                  ...:  
                                  ...: len(ord(10000))""")
                                  [...]
                                  ScopeTooLarge: Scope has used too much memory at line: 5, column:0
                                  

                                  Or by number of nodes evaluated

                                  In [19]: sneklang.snek_eval("""while 1: 1""")
                                  ---------------------------------------------------------------------------
                                  [...]
                                  TooManyEvaluations: This program has too many evaluations at line: 1, column:9
                                  
                                1. 3

                                  My hunch is that within 10 years someone’s going to build a debt-oriented distributed payment system that handles privacy well and it’s going to actually be all the things Bitcoin proponents claim it is/will be: a household tool that upends world financial systems by reducing costs + friction involved in moving money; a change big enough it’s hard to predict how it’ll change the economy.

                                  By “debt-oriented” I mean that the system works by starting from existing high-trust offline relationships like owing my buddy $10 for dinner. An IOU is very cheap to issue + track. That can grow to collateral-backed loans (cars, houses), but the powerful thing is when debts can be used as a network. I imagined something that added promissory notes to hawala. Cancelling an open trail of the directed graph of debts effects a payment in the opposite direction, and a bearer instrument is a currency. I hadn’t heard of mutual credit (phew, that page was written by a fan), but it sounds very close.

                                  The hard part is privacy, both in practice and policy. In practice: if the system is built on canceling a graph of debts, how does it avoid publishing a public graph? If I’m tracking that I owe my buddy $10 for dinner, how easily does that become a database of all of my friends, a bullseye of where I live based on local businesses, and a record of my income and net worth? In policy, government legibility in small transactions removes a useful bit of slippage (can’t legalize marijuana or gay marriage if payments create a database of anyone involved while it’s still a crime) and lack of transparency is ruinous in the large (corruption, money laundering, embezzlement, on a scale that’s hard to imagine outside of the first world).

                                  So that’s why Offst caught my eye. It’s rough and unfinished and flawed, but it’s in a design space I expect something very big to come from.

                                  1. 2

                                    Could you use Decentralized Identifiers to avoid a public graph? I administer a node on a blockchain network that uses them.

                                    1. 1

                                      I’m all for alternatives, but what do you think is the primary issue with the current payment system (or currency system in general)? It’s already based on debt - I like the concept that currency itself is just instantiated debt.

                                      Privacy and payments will always have a certain built-in tension. One of the primary functions of a nation state is to ensure tax collection, and it will apply regulation to ensure that tax collection is maximized. Thus issues of KYC/AML[1] will always apply to a payment system.

                                      [1] (Know Your Customer / Anti Money Laundering)

                                      1. 2

                                        I’m not expressing a desire to see an issue corrected; I’m guessing at a trend.

                                      2. 1

                                        What do you think of lightning network? Once a channel is funded, it’s entirely off chain until one of the peers want to settle, if ever.

                                        1. 1

                                          I’ve heard the name. I’ll check it out.

                                          1. 1

                                            Specifically for the privacy aspect this is the best part: https://github.com/lightningnetwork/lightning-onion

                                            I do think it would be possible to take purely the lightning protocol and “fund” channels between trusted peers, most likely friends, with arbitrary amounts and skip the blockchain part.

                                      1. 1

                                        This post is exactly how I feel. DRF for the backend, and minimal html/css for the frontend is so much easier for my mind and grey hairs.

                                        Until this month…

                                        So every few months in the past year I had attempted to learn Elm, and this time on the third try and it finally stuck for me. Give it a try, the syntax is strange if you are not accustomed to Haskell or Erlang but it has wonderful error messages, great plugin support, and once it compiles it Just Works™. Turns out React copied a lot from Elm which was something that intrigued me.

                                        1. 2

                                          More specifically, Redux was inspired by the Elm architecture. I’m not sure that React borrows much.

                                          Relevant to the main issue raised in the article, the latest version of Elm mitigates the concern about payload size thanks to dead code elimination and record field renaming.

                                          1. 1

                                            Ah you are right, Redux not React.

                                          2. 1

                                            What’s DRF?

                                            1. 1

                                              Django Rest Framework

                                          1. 20

                                            I’ve recently been moved to a Django shop and I definitely miss the sense of “It doesn’t do much more than that.” Django seems like a wizard that you only interact with through a tin-can phone. You trust because you see things happens and because everyone else also talks to the same wizard, but you can’t help but feel a fool.

                                            While the boilerplate-y nature that I stumble upon in many Flask projects is something I don’t like, nor as the the author mentioned, configuration, I do appreciate the grounds-up approach, the you know exactly what’s going on because you wrote it. That sense of ownership I don’t feel with Django projects.

                                            1. 10

                                              While the boilerplate-y nature that I stumble upon in many Flask projects

                                              I’ve come to see boilerplate as a side-effect of being explicit. I see the same argument made for/against Redux (the JavaScript state management library) and its surrounding ecosystem. I too don’t like boilerplate but 9 times out of 10 I’ll happily trade a lot of boilerplate for being explicit about what’s going on (and often static analysis).

                                              1. 6

                                                I felt like that about Django for the first year or two, but it went away once I’d spent enough time spelunking the Django code. None of it is magic, but there is a lot of it.

                                                1. 2

                                                  This has been a common complaint about Django for many years, so I made mini-django[0]because I too started to enjoy Flask’s simplicity, but every. single. time. my Flask projects bloated in to a frankenstein of semi-supported apps with little consistency between them. Now I can have a single file Django “function” that can use as much or little of Django as needed. Just look at the source of mini-django/mini_django.py.

                                                  [0] https://github.com/readevalprint/mini-django

                                                  1. 1

                                                    http://padrinorb.com/ tries to be a django-inspired framework built out of flask-like components (sinatra). I used to be involved in it and really liked that it had a story of growth. You would start with a one-line project and could evolve it along into new and new structures until it could look similar to the size of a Rails project, which I find appropriate for huge projects. I agree with you that following along with that story gives you a ton of ownership into the project. You know why each component is there, because you chose it.

                                                    The disadvantage is that there’s another ton of work to do on the project side to explain that philosophy, why it’s worth it and how and when people should move along that story. It needed a lot of resources to maintain that.

                                                  1. 15

                                                    As someone who was watching Django since its inception in 2005, and seeing Flask coming on the scene later, I’m surprised to see the same exact argument surfacing after so many years again. And it breaks my heart! Like,

                                                    I’d have spent twice as long ripping out the rest of Django’s bits

                                                    There’s no need to rip anything out. You just don’t use the bits you don’t need, simple as that. Django is just a Python library. Sure you won’t get any related integration (like supporting a novel auth scheme in the built-in admin) but that’s expected, and you don’t get that in Flask either.

                                                    But I always found that the bits you would want to use are usually much more thought out and polished in Django than in other frameworks. (Although I haven’t done any actual comparisons lately.)

                                                    1. 10

                                                      But I always found that the bits you would want to use are usually much more thought out and polished in Django than in other frameworks.

                                                      I love Flask, it’s one of my favourite web frameworks, but what you’re saying is true in a sense. See, Flask’s components are very pluggable and this makes it flexible. Flask has many modules, which I found to be unmaintained (hasn’t had updates for months/years, kinda scary). So because Flask is flexible you can just write everything yourself. Most of the time you don’t want to do that. That’s where Django shines, Django gets maintained so everything Django ships gets maintained. This is one of the strenghts Django has over Flask IMO, just because Flask gets maintained doesn’t mean that all the plugins get maintained, which is a huge weakness if you ask me. The cost of either forking and maintaining it yourself or rewriting everything from scratch are both ridiculously high. Maybe OP has the luxury of writing everything himself or forking and maintaining everything himself, but certainly not everyone can do that.

                                                      1. 7

                                                        I have seen a bunch of flask apps in my career that probably started as the simplest flask app. They all grew into chaotic collections of code, reimplementing a lot of functionality Django provides directly. Problem is that if you look at 10 flask apps they all do it subtly different.

                                                        So instead of setting up flask apps with the standard flask plugins and tinkering for a day or too about initializing then in the right order, you might just start with a Django project and use the parts you need.

                                                        If Django had a Single-App template I think many would not use flask, because Django’s multi app directory layout scares a lot of people off.

                                                        1. 2

                                                          That is exactly why I made mini-django project, I wanted a single file no install needed flask-like app that could grow as needed: https://github.com/readevalprint/mini-django/blob/master/pico_django.py

                                                    1. 2

                                                      These are probably the weakest arguments against Bitcoin I’ve seen. But the coolest bit about Bitcoin is that it is completely voluntary, so you do your thing, and we’ll do ours.

                                                      Real arguments against Bitcoin are:

                                                      And I’m sure there are others but literally none of the ones presented here are valid.

                                                      1. 29

                                                        These are probably the weakest arguments against Bitcoin I’ve seen.

                                                        As it says, this is in response to one of the weakest arguments for Bitcoin I’ve seen. But one that keeps coming up.

                                                        But the coolest bit about Bitcoin is that it is completely voluntary, so you do your thing, and we’ll do ours.

                                                        When you’re using literally more electricity than entire countries, that’s a significant externality that is in fact everyone else’s business.

                                                        1. 19

                                                          I would also like to be able to upgrade my gaming PC’s GPU without spending what the entire machine cost.

                                                          This is getting better though.

                                                          1. 1

                                                            For what it’s worth, Bitcoin mining doesn’t use GPUs and hasn’t for several years. GPUs are being used to mine Ethereum, Monero, etc. but not BItcoin or Bitcoin Cash.

                                                          2. 0

                                                            When you’re using literally more electricity than entire countries, that’s a significant externality that is in fact everyone else’s business

                                                            And yet, still less electricity than… Christmas lights in the US or gold mining.

                                                            https://coinaccess.com/blog/bitcoin-power-consumption-put-into-perspective/

                                                            1. 21

                                                              When you reach for “Tu quoque” as your response to a criticism, then you’ve definitely run out of decent arguments.

                                                          3. 13

                                                            Bitcoin (and all blockchain based technology) is doomed to die as the price of energy goes up.

                                                            It also accelerates the exaustion of many energy sources, pushing energy prices up faster for every other use.

                                                            All blockchain based cryptocurrencies are scams, both as currencies and as long term investments.
                                                            They are distributed, energy wasting, ponzi scheme.

                                                            1. 2

                                                              wouldn’t an increase in the cost of energy just make mining difficulty go down? then the network would just use less energy?

                                                              1. 2

                                                                No, because if you reduce the mining difficulty, you decrease the chain safety.

                                                                Indeed the fact that the energy cost is higher than the average bitcoin revenue does not means that a well determined pool can’t pay for the difference by double spending.

                                                                1. 3

                                                                  If energy cost doubles, a mix of two things will happen, as they do when the block reward halves:

                                                                  1. Value goes up, as marginal supply decreases.
                                                                  2. If the demand isn’t there, instead the difficulty falls as miners withdraw from the market.

                                                                  Either way, the mining will happen at a price point where the mining cost (energy+capital) meets the block reward value. This cost is what secures the blockchain by making attacks costly.

                                                                  1. 1

                                                                    Either way, the mining will happen at a price point where the mining cost (energy+capital) meets the block reward value.

                                                                    You forgot one word: average.

                                                                    1. 2

                                                                      It is implied. The sentence makes no sense without it.

                                                                      1. 1

                                                                        And don’t you see the huge security issue?

                                                              2. 1

                                                                Much of the brains in the cryptocurrency scene appear to be in consensus that PoW is fundamentally flawed and this has been the case for years.

                                                                PoS has no such energy requirements. Peercoin (2012) was one of the first, Blackcoin, Decred, and many more serve as examples. Ethereum, #2 in “market cap”, is moving to PoS.

                                                                So to say “ [all blockchain based technology] is doomed to die as the price of energy goes up” is silly.

                                                                1. 1

                                                                  Much of the brains in the cryptocurrency scene appear to be in consensus that PoW is fundamentally flawed and this has been the case for years.

                                                                  Hum… are you saying that Bitcoin miners have no brain? :-D

                                                                  I know that PoS, in theory, is more efficient.
                                                                  The fun fact is that all implementation I’ve seen in the past were based on PoW based crypto currencies stakes. Is that changed?

                                                                  As for Ethereum, I will be happy to see how they implement the PoS… when they will.

                                                                  1. 2

                                                                    Blackcoin had a tiny PoW bootstrap phase, maybe weeks worth and only a handful of computers. Since then, for years, it has been purely PoS. Ethereum’s goal is to follow Blackcoin’s example, an ICO, then PoW, and finally a PoS phase.

                                                                    The single problem PoW once reasonably solved better than PoS was egalitarian issuance. With miner consolidation this is far from being the case.

                                                                    IMHO, fair issuance is the single biggest problem facing cryptocurrency. It is the unsolved problem at large. Solving this issue would immediately change the entire industry.

                                                                    1. 1

                                                                      Well, proof of stake assumes that people care about the system.

                                                                      It see the cryptocurrency in isolation.

                                                                      An economist would object that a stake holder might get a lot by breaking the currency itself despite the loss in-currency.

                                                                      There are many ways to gain value from a failure: eg buying surrogate goods for cheap and selling them after the competitor’s failure has increased their relative value.

                                                                      Or by predicting the failure and then causing it, and selling consulting and books.

                                                                      Or a stake holder might have a political reason to demage the people with a stake in the currency.

                                                                      I’m afraid that the proof of stake is a naive solution to a misunderstood economical problem. But I’m not sure: I will surely give a look to Ethereum when it will be PoS based.

                                                                2. 0

                                                                  doomed to die as the price of energy goes up.

                                                                  Even the ones based on proof-of-share consensus mechanisms? How does that relate?

                                                                  1. 3

                                                                    Can you point to a working implementation so that I can give a look?

                                                                    Last time I checked, the proof-of-share did not even worked as a proof-of-concept… but I’m happy to be corrected.

                                                                    1. 2

                                                                      Blackcoin is Proof of Stake. (I’ve not heard of “Proof of Share”).

                                                                      Google returns 617,000 results for “pure pos coin”.

                                                                      1. 1

                                                                        Instructions to get on the Casper Testnet (in alpha) are here: https://hackmd.io/s/Hk6UiFU7z# . No need to bold your words to emphasize your beliefs.

                                                                        1. 3

                                                                          The emphasis was on the key requirement.

                                                                          I’ve seen so many cryptocurrencies died few days after ICO, that I raised the bar to take a new one seriously: if it doesn’t have a stable user base exchanging real goods with it, it’s just another waste of time.

                                                                          Also, note that I’m not against alternative coins. I’d really like to see a working and well designed alt coin.
                                                                          And I like related experiments as GNU Teller.

                                                                          I’m just against scams and people trying to fool other people.
                                                                          For example, Casper Testnet is a PoS based on a PoW (as Etherum currently is).

                                                                          So, let’s try again: do you have a working implementation of a proof of stake to suggest?

                                                                          1. 1

                                                                            It’s not live or open-source, so I’d understand if you’re still skeptical, but Algorand has simulated 500,000 users.

                                                                            1. 1

                                                                              Again I don’t seem to understand your anger. We’re on a tech site discussing tech issues. You seem to be getting emotional about something that’s orthogonal to this discussion. I don’t think that emotional exhorting is particularly conducive to discussion, especially for an informed audience.

                                                                              And I don’t understand what you mean by working implementation. It seems like a testnet does not suffice. If your requirements are: widely popular, commonly traded coin with PoS, then congratulations you have built a set of requirements that are right now impossible to satisfy. If this is your requirement then you’re just invoking the trick question fallacy.

                                                                              Nano is a fairly prominent example of Delegated Proof of Stake and follows a fundamentally very different model than Bitcoin with its UTXOs.

                                                                              1. 3

                                                                                No anger, just a bit of irony. :-)

                                                                                By working implementation of a software currency I mean not just code and a few beta tester but a stable userbase that use the currency for real world trades.

                                                                                Actually that probably the minimal definition of “working implementation” for any currency, not just software ones.

                                                                                I could become a little lengthy about vaporware, marketing and scams, if I have to explain why an unused software is broken by definition.
                                                                                I develop an OS myself tha literally nobody use, and I would never sell it as a working implementation of anything.

                                                                                I will look to Nano and delegated proofs of stake (and I welcome any direct link to papers and code… really).

                                                                                But frankly, the sarcasm is due to a little disgust I feel for proponents of PoW/blockchain cryptocurrencies (to date, the only real ones I know working, despite broken as actual long term currency): I can understand non programmers that sell what they buy from programmers, but any competent programmer should just say “guys Bitcoin was an experiment, but it’s pretty evident that has been turned to a big ponzi scheme. Keep out of cryptocurrencies! Or you are going to loose your real money for nothing.”

                                                                                To me, programmers who don’t explain this are either incompetent enough to talk about something they do not understand, or are trying to profit from those other people, selling them their token (directly or indirectly).

                                                                                This does not means in any way that I don’t think a software currency can be built and work.

                                                                                But as an hacker, my ethics prevent me from using people’s ignorance against them, as does who sell them “the blockchain revolution”.

                                                                            2. 2

                                                                              The problem is that in the blockchain space, hypotheticals are pretty much worthless.

                                                                              Casper I do respect, they’re putting a lot of work in! But, as I note literally in this article, they’re discovering yet more problems all the time. (The latest: the security flaws.)

                                                                              PoS has been implemented in a ton of tiny altcoins nobody much cares about. Ethereum is a great big coin with hundreds of millions of dollars swilling around in it - this is a different enough use case that I think it needs to be regarded as a completely different thing.

                                                                              The Ethereum PoS FAQ is a string of things they’ve tried that haven’t quite been good enough for this huge use case. I’ll continue to say that I’ll call it definitely achievable when it’s definitely achieved.

                                                                      2. 4

                                                                        ASICboost was fixed by segwit. Bitcoin isn’t subject to ASICboost anymore, but Bitcoin Cash is.

                                                                        1. 2

                                                                          Covert asicboost was fixed with segwit, overt is being used: https://mobile.twitter.com/slush_pool/status/977499667985518592

                                                                        1. 1

                                                                          Some weirdness with the site certificate. The issue with linear separability and perceptrons is cool and I hadn’t known about it.

                                                                          1. 1

                                                                            yeah it’s hosted on github pages but using a custom domain

                                                                            1. 1

                                                                              So is my site but I don’t have any site certificate issues.

                                                                          1. 3

                                                                            I love the high level goal of that essay: less work. But I never find a practical example of a surviving culture that has implemented this non work lifestyle sustainable. And if I am projecting too much please correct me, but I feel it strange Black wants less obligated work, yet also less mechanical automation (and the infrastructure to build and maintain it) that allows the freedom that type of non-work lifestyle would require. Tangentially basic income is a interesting topic and I’m looking forward to more countries trying it out. From a game theory perspective, I would hypothesise a group of people who collectively produce more (forced or voluntary) will always overtake a less productive (and I don’t mean that as an insult) group of people. Either economically, like gentrification in neighborhood, or violently through for access to resources, like Africa.

                                                                            The carrot is just the stick by other means.

                                                                            Does the he really believe this? In an extreme example, there is a clear difference between a forced labor camp and wanting something seen in an ad. Getting kicked out of your home for not paying rent is a stick, but wanting a new car and McMansion is definitely a carrot.

                                                                            Even if you aren’t killed or crippled while actually working, you very well might be while going to work, coming from work, looking for work, or trying to forget about work.

                                                                            This is about safety and not work. In this modern no individual motivated person can build any machinery close to what the output of concerted “work” can perform. X-Ray machine to see where a tumor is? Nope. Mass transit? Nope. GPS? Nope. Calculator? Nope. Tractor to till soil? Nope. But perhaps that “machine” is not something wanted in this non-work world? But who will do the jobs no one wants to do?

                                                                            In fact, work is mass murder or genocide.

                                                                            Really? Maybe this is a joke that I’m taking too seriously.

                                                                            1. 5

                                                                              Like you, I agree with Bob Black’s general objective (less work and especially less of the utterly-fucking-pointless work that exists only to maintain power for the privileged) but I disagree with his specific (and, in my view, extreme) position. I think he’s wrong on a few things.

                                                                              For one, he attacks the nuclear family. Lefties love to argue that monogamy is bad because it’s unnatural (and, in mammals, it is rare) when the reality is that monogamy is the bedrock of civilization. Establishing it reduces the stakes of male social status to a point where men could stop killing each other (in pre-monogamous societies, 30 to 50 percent of men died in conflicts with other men) so much and stop raping women so much and build a more progressive style of civilization. Human psychology is arguably, to some extent, the legacy of an arms race between the r-selective sex drive (the id or devil) and the K-selective sex drive (superego or angel) and it’s a good thing that the latter won. Likewise, on the monogamy topic, I always find it ridiculous when feminists attack monogamy. Now, the first monogamists were not feminist by modern standards, but monogamy was literally the first step toward feminism (if even high-status men can only have one wife instead of sixty, they’re more likely to treat their wives better) and when it falls you have the dominance of alpha male brutes… and this is why the seemingly innocuous casual sex culture of a college campus invariably falls into rape culture.

                                                                              I can’t be an anarchist for the same reason that I can’t subscribe to literal theism (i.e. belief in an anthropomorphic, interventionist being). Some ideas just don’t hold up. That doesn’t mean they aren’t worth discussing, because there might be merit in them. For example, even though I believe that monogamous romantic relationships and nuclear families are good things, the concepts should be challenged. We can agree that the anarchic polygyny of the kind that consigned pre-monogamous societies to constant in-fighting and war (and that is re-emerging in college and young-professional casual sex cultures) is bad. Is monogamy right for everyone? Possibly not. Are heterosexual relationships right for everyone? Obviously, no, and it’s shameful that until recently people in homosexual relationships didn’t have the same rights as the rest of us who are heterosexual. Would it be better for children to be raised by a community (as in some Israeli kibbutzim) rather than parents going it alone? Quite possibly, yes.

                                                                              The reason I bring up monogamy and its importance to social stability is to puncture a hole in anarchy. Sexual anarchy (on college campuses, thanks to an overreaction to mid-20th century social conservatism) leads to Elliott Rodgers (not to excuse that twisted fuck) and is just one data point showing that anarchy doesn’t work. I don’t know what “human nature” is, and I don’t think any of us do, but the idea that it’s inherently good and corrupted by society does not hold up. I may be unusual among leftists in my distrust for it (hence, my increasing social conservatism with age).

                                                                              Structure is actually a good thing. It’s necessary. If people don’t have structure in their work and life, they’ll create it. The problem is when structure is retained for bad reasons– usually, because it delivers power to people who do not deserve to have it but will not relinquish it.

                                                                              From a game theory perspective, I would hypothesise a group of people who collectively produce more (forced or voluntary) will always overtake a less productive (and I don’t mean that as an insult) group of people.

                                                                              Yes. This is correct. Agricultural people eventually won out over hunter-gatherers, because agriculture can support more people. (Of course, agriculture was a gradual transition over thousands of years and most peoples participated in both strategies of food sourcing.) The quality of the food was initially much lower– you ate meat and berries when you could get them, and grains (then less desirable than now) when you had to– but much more of it could be produced. Agricultural people lived shorter lives and had worse health than hunter-gatherers but the land could support about 10 times more of them.

                                                                              The carrot is just the stick by other means.

                                                                              Does the he really believe this? In an extreme example, there is a clear difference between a forced labor camp and wanting something seen in an ad. Getting kicked out of your home for not paying rent is a stick, but wanting a new car and McMansion is definitely a carrot.

                                                                              I assumed that his reference to the carrot pertained to necessities like food, healthcare, and shelter, as well as continuing access to the resources (e.g. transportation, internet) needed to participate in economic life at all. So, the ability to pay rent would be a case of the carrot as “the stick by other means”. Bob Black isn’t (as I read him) talking about the 5 percent who could have comfortable lives but who torture themselves on the corporate ladder because they want bigger houses (he might argue that they are psychologically enslaved, but I would argue that this enslavement would persist even if the need to work were abolished) but about the 94 percent who have no choice but to tow the line.

                                                                              This is about safety and not work. In this modern no individual motivated person can build any machinery close to what the output of concerted “work” can perform. X-Ray machine to see where a tumor is? Nope. Mass transit? Nope. GPS? Nope. Calculator? Nope. Tractor to till soil? Nope. But perhaps that “machine” is not something wanted in this non-work world? But who will do the jobs no one wants to do?

                                                                              I agree with you that full-scale work abolition is impossible. Society needs someone who commits to driving the bus every day. It should pay that person well and give that job dignity, but the role needs to exist. Are the vast majority of workers being maltreated for no good reason, when they might get more respect if work were voluntary? I would argue that the answer is “Yes”. The modern workplace is designed to intimidate people into working (on the assumption that they will slack if not surveilled and intimidated) because of a defect in either human nature or human social behavior that leads to psychopaths ending up in charge. If we can fix that problem, we should. I don’t, however, think that we can actually have a functioning society if we abolish all work structures.

                                                                              In fact, work is mass murder or genocide.

                                                                              Really? Maybe this is a joke that I’m taking too seriously.

                                                                              I don’t think that he’s joking. I think his argument is that the modern normalization of semi-coercive wage labor (and the heavy investment in the infrastructure to support such labor) has such a negative impact on peoples' lives, including their health, that it represents a non-trivial loss of life. I would agree. Late-stage capitalism is held up in part because of a health insurance system in which people die painfully of preventable conditions– before Obama took office, it was 45,000 per year, or a 9/11 every 24 days– if they aren’t plugged in to the labor market and insured. That said, his use of the word “genocide” is inappropriate insofar as genocide is the intentional murder of a specific ethnic or religious group, and clearly doesn’t apply (no matter how bad we agree it to be) to late-stage capitalism’s system of semi-coercive wage labor which, even in spite of its ruthlessness and its willingness to use racism and sexism (say, to encourage people to vote against their economic interests), is not notably racist of its own accord.

                                                                              1. 2

                                                                                Human psychology is arguably, to some extent, the legacy of an arms race between the r-selective sex drive (the id or devil) and the K-selective sex drive (superego or angel) and it’s a good thing that the latter won.

                                                                                “The theory was popular in the 1970s and 1980s, when it was used as a heuristic device, but lost importance in the early 1990s, when it was criticized by several empirical studies.”

                                                                                https://en.wikipedia.org/wiki/R/K_selection_theory