Threads for n3t

  1. 31

    Maybe this explains why I get annoyed at people who think “automation” of some routine task is “free” after the initial time investment. When an exception to the task appears, you need a human to step in and override the machine’s ruthlessness.

    That necessarily sets a cap on the number of automated systems one person can ethically manage. Too many, and the human can’t override the computer quickly enough or often enough. And that’s how you get stories of people’s lives being ruined by automated account bans.

    1. 24

      And that’s how you get stories of people’s lives being ruined by automated account bans

      Facebook has also banned people for having the name Isis, or for having some other name that triggers their “not a real name” detection algorithm. Banning the name Isis is what happens when we, as a society, spurn a liberal arts education in favor of Great God STEM.

      Is the problem the machines, though, or is it the huge organizations that control them? Corporations in particular are an accountability dodge:

      “Corporations have neither bodies to be punished, nor souls to be condemned; they therefore do as they like.” – Edward Thurlow

      When a company doesn’t have a human to answer the phone and read a script, it appears even less accountable than the traditional organization of yore. At least with the traditional company, you could perhaps ask to talk to a supervisor or similar. We should all be very, very worried when Silicon Valley “thought leaders” talk of reinventing government.

      All of that said, I remain a techno optimist, but you need a human else-branch.

      1. 10

        Is the problem the machines, though, or is it the huge organizations that control them? Corporations in particular are an accountability dodge:

        I think this is the crux of it. A computer system, or more generally, a technical system, is only one part of a social system. In general we design technical systems to serve the needs of our social systems, but also, increasingly, to implement and naturalize parts of our social system that we don’t want to openly admit to. But the ultimate problem is the ruthlessness and inhumanity of our social system. In a better social system, we’d build machines of loving grace, and even though their behavior would have the kind of limits and hard edges this article calls “ruthlessness”, it wouldn’t matter, because they’d be embedded in social systems that didn’t treat those limits as inevitable and final social outcomes.

        This is why I thought the bit at the end about Bitcoin was quite ironic — Bitcoin is clearly designed to implement a social system that is much more ruthless than the existing one (the deflationary design, the winner-takes-all aspects of mining, the irreversibility of transactions). Why try to launder it as a tool of freedom?

      2. 3

        override the machine’s ruthlessness

        Which reminds me of all the latest movies and games where you have to fight some scary robots that operate in “ruthless” mode.

        1. 1

          Do you have any specific examples in mind?

          1. 7

            What’s it called… The Mitchells vs the Machines or something. Enjoyable and recommended!

            Then there was an episode of Love, Death & Robots featuring a derped robo-vacuum, but I found it inane or at least unentertaining.

            I’m sure Black Mirror had one.


            What’s “latest”? I’m old enough to pretty much include Terminator Salvation in there ;)

            1. 2

              I especially liked the Black Mirror with the robot dogs (Metalhead, S04E05).

              1. 2

                for games there is also SOMA and the recently announced Routine (scary trailer)

        1. 6

          The second best programming language!

          1. 2

            What do you mean?

            1. 3

              Just a joke. Obviously the best one is your favourite. 😀

              1. 11

                the best one is clearly the one you use racket to build (:

                1. 2

                  Oh, okay :) I thought it was some kind of a reference!

            1. 14

              Summarizing how Mike Acton defines practice in the talk:

              1. Practice must explore gaps in knowledge.
              2. Practice is ephemeral.
              3. Practice is not competitive.
              4. Practice is not research.
              5. Practice is not a project.
              6. Practice is daily.
              7. Practice can fit in 30 minutes.
              1. 13

                I don’t meet this definition of practice. I think this definition of practice might be a bit narrow.

                I do aggressively explore gaps in my knowledge and then either write notes or code for myself, or I might blog about my findings.

                However, the output isn’t necessarily ephemeral or throwaway. The code might be throwaway, but the output becomes part of my notes or on a blog. The code might not even be throwaway, since it may become part of my permanent notes or a blog post.

                Is this competitive? No.

                Are my permanent notes or blog a project? Possibly.

                Does this happen daily? Sometimes.

                Does it fit into 30 mins? Sometimes.

                1. 2

                  I don’t think that “fit in 30 min” is even a good constraint for programming practice?

                  Edit: Expanding now that I’m on a real computer, not my phone

                  The kind of skill I want to improve, ergo the kind of skill that I would want to practice, is mostly not 30 min things. How do I create more robust architectures? How do I write more readable code but still keep things flexible and extendable? How do test systems that rely heavily on cloud resources, but still keep tests fast and the coding feedback loop tight? Those are not things that you can go on HackerRank and practice fort 30 min.

                  Maybe I could use some practice in coding faster, on writing algorithms and datastructures from memory, or solving puzzles with code, but that’s not the stuff that I usually feel lacking in my day to day work. And it also sounds boring as fuck.

                2. 1

                  The last one is weird, given most of the research on learning suggests that 30-minute chunks are not usually a good idea.

                  I generally use personal projects to learn new things. If I have a project that isn’t likely to have a lot of users or need long-term support, I’ll use it to try something that I’ve thought I might want to use in real work but haven’t had a chance to learn. This is why all of my personal projects at the moment are using exciting new C++20 features.

                  1. 3

                    The last one is weird, given most of the research on learning suggests that 30-minute chunks are not usually a good idea.

                    Oh, that’s interesting. What does the research suggest? What resources should I check to learn more about this?

                1. 1

                  The only thing worth mentioning here are rude applications that simply don’t care about stdout/stderr and interact directly with your tty, requiring things like a fake tty to actually capture & input stuff.

                  1. 1

                    Do you mean apps reading from (writing to) /dev/pts/* or something different?

                    Also, what do you mean by faking a tty? It sounds interesting, what keywords should I look up to learn more about this?

                    1. 1

                      Pretty simple libs are pexpect for python or rexpect for rust. Using pseudo terminals to emulate the real terminals some applications expect. (See also Expect for the “origin” of these libs.) It’s just a gotcha as some applications won’t actually respond to controlling their stdin/out/err and you’ll fall flat on your face automating them* , typically password prompts.

                      *Watch their prompt on your screen while running your own application, first time it’s like a ghost in the shell knocking on your door ;)

                  1. 3

                    I’m going through a book titled “Common LISP: A Gentle Introduction to Symbolic Computation” by David S. Touretzky.

                    For me it’s a beginning of a journey to understand Lisp macros. I’ve heard that macros are a powerful feature of some programming languages and I’d like to understand that feature better. The last chapter of the book is called “Macros and Compilation” and hopefully learning basics of CL is a good start for me :)

                    1. 5

                      Depending on how much programming experience you have, I think Peter Norvig’s “Paradigms of Artificial Intelligence Programming,” and Paul Graham’s “On Lisp” are (much) better introductions to CL, and “On Lisp” is free.

                      Norvig’s book doesn’t really go out of the way to talk about macros in depth, but they’re used in some interesting ways later in the book to do things like implement Prolog.

                      “On Lisp” has several chapters dedicated to macros, and it’s probably the best introductory coverage about the issues that can crop up.

                      And if you want to go off the deep end, there’s Let Over Lamda which is more or less dedicated exclusively to macros. The macro coverage is great, but I should warn that the author is almost comically smug:

                      Scheme is a wonderful language that, although lacking many features lisp programmers take for granted, still offers a flexible enough core for the professional lisp programmer to extend as necessary.

                      1. 2

                        Thanks for your reply!

                        Indeed, “Common LISP: A Gentle Introduction to Symbolic Computation” is rather easy for me (so far). It’s a beginner-friendly book (while I have been programming for over 10 years); nonetheless it’s a fun read.

                        I’ve heard of PoAIP but didn’t know it uses macros in such exciting ways! When it comes to other books, I have them in my backlog and can’t wait to start reading them. I think “On Lisp” will be my next book.