1. 21

    The article never mentions the, in my humble opinion, most important part of good logging practices and that is structured logging. Without it you end up with weird regexes or other hacks trying to parse your log messages.

    1. 4

      As a sibling post notes, if you use structured logging you’re mostly throwing away the idea that the entries must be easily parsable by a human. If that’s the case, and we’ll need a custom method of displaying the structured logs in a human friendly way, I believe we should forego plain text all together and gain the benefits of logging directly to binary.

      1. 5

        You can do human readable structured logging if you use key="value" formats inside text messages. Some people still prefer json, but there is a middle ground.

        1. 2

          If you need just key=value, that’s not really structured in my opinion.

          1. 4

            Why not?

            1. 2

              Because the amount of information added by this format would be infinitesimal over a line based logger with manual tokenization. The reason why you’d want a structured logger is to allow proper context to a message. Unless you’re working with simple cases, the structure that would offer such context is more than one level deep.

              1. 3

                Hmm, definitely not.

                Structured logging is about decorating log events with just enough of a schema to make them machine parseable, so that searching, aggregating, filtering, etc. can more than a crapshoot. Deeply nested events significantly increase the complexity of that schema, and therefore the requirements of the consumer.

                By default, structured logs should be flat key/value pairs. It gets you the benefits of richer parseability, without giving up the ability to grep.

      2. 2

        Excellent point. That’s become such second nature to me by now, that I forgot to even mention it!

        1. 1

          On top of that, structured logger if implemented properly, can often be faster and be operated at granular levels (like the other comments pointed out, sometimes you do want to on-fly turn on some logs at some locations, not all logs at all locations).

          1. 1

            I love structured logging, with one caveat: the raw messages emitted (let’s assume JSON) are harder for me to scan when tailing directly (which I usually only do locally as we have better log querying tools in the cloud), in contrast to a semi-structured simple key-value format. Do you all use a different format than JSON? Or a tool that transforms structured logs to something more friendly to humans, eg. with different log levels displayed in different appropriate colors, eg. JSON syntax characters diminished, for local tailing?

            1. 5

              At Joyent, we used the Bunyan format. Each line in the file was a separate JSON object with standard properties, some mandatory and some optional, and freeform additional properties. We shipped a tool, bunyan, that was capable of acting as a filter that would render different human readable views of the JSON. For example, you would often run something like:

              tail -F $(svcs -L manatee) | bunyan -o short
              

              It also had some rudimentary filtering options. It also had a relatively novel mode that would, instead of reading from a file or standard input, use DTrace probes for different log levels to allow you to dynamically listen for DEBUG and TRACE events even when those were not ordinarily present in the log files. The DTrace mode could target a particular process, or even all processes on the system that emitted Bunyan logs.

              1. 1

                Hi, what were the required fields? Was it just a unique request ID? Thanks for sharing about bunyan. Even though it’s been out for a while I was unaware of it.

              2. 5

                Do you all use a different format than JSON? Or a tool that transforms structured logs to something more friendly to humans, eg. with different log levels displayed in different appropriate colors, eg. JSON syntax characters diminished, for local tailing?

                We use JSON and the only tools I use are grep and jq. And although I am pretty much still a novice with these two, I found that with the power of shell piping I can do almost anything I want. Sometimes I reach for the Kibana web interface, get seriously confused and then go back to the command line to figure out how to do it there.

                I wrote a simple tutorial for the process, just a couple of weeks ago.

                1. 1

                  If you rely on external tools to be able to make sense of your logs, why not go all the way, gain the speed and size benefits that binary logs would bring, and write your own log pager? I feel like the systemd folks had the right idea even when everyone was making fun of them.

                  1. 3

                    I don’t think the average employer would be happy subsidizing an employee writing a log pager instead of implementing something that would bring a tangible result to the business. The potential money savings by using binary logs probably doesn’t outweigh the new subs/increased profits of churning out more features.

                    1. 1

                      To me that sounds like an excuse. The world is not made up of only software that is beholden to the all mighty shareholder.

                      1. 1

                        I mean, yes, if you’re developing something in your personal time, go bananas on what you implement.

                        But I also know my manager would look at me funny and ask why I’m not just shoving everything into CloudWatch/<cloud logging service>

                    2. 2

                      I’m sure most problems with systemd journals are fixable, but they’ve left a very bad taste in my mouth for two main reasons: if stuff gets deleted from under them they apparently never recover (my services continue to say something like “journal was rotated” until I restart them), and inspecting journals is incredibly slow. I’m talking magnitudes slower than log files. This is at its worst (I often have time to make a cup of tea) when piping the output into grep or, as journalctl already does by default, less, which means every byte has to be formatted by journalctl and copied only to be skipped over by its recipient. But it’s still pretty bad (I have time to complain on IRC about the wait) when giving journalctl filters that reduce the final output down to a few thousand lines, which makes me suspect that there are other less fundamental issues.

                      I should note that I’m using spinning disks and the logs I’m talking about are tens to hundreds of GB over a few months. I feel like that situation’s not abnormal.

                      1. 1

                        If you rely on external tools to be able to make sense of your logs, why not go all the way, gain the speed and size benefits that binary logs would bring, and write your own log pager?

                        It’s hard to imagine a case at work where I could justify writing my own log pager.
                        Here are some of the reasons I would avoid doing so:

                        • Logs are an incidental detail to the application.
                        • Logs are well understood; I can apply a logging library without issues.
                        • My application isn’t a beautiful and unique snowflake. I should use the same logging mechanisms and libraries as our other applications unless I can justify doing something different.
                        • JSON is boring, has a specification, substantial library support, tooling, etc.
                        • Specifying, documenting, and testing a custom format is a lot of work.
                        • Engineering time is limited; I try to focus my efforts on tasks that only I can complete.
                        1. 2

                          Logs are an incidental detail to the application.

                          I think this is trivially disproved by observing that if the logs stop working for your service, that is (hopefully!) a page-able event.

                          Logs are a cross-cutting concern, but as essential as any other piece of operational telemetry.

                          1. 1

                            Logs are a cross-cutting concern, but as essential as any other piece of operational telemetry.

                            I rely heavily on logging for the services I support but the applications I wrote for work have only error reporting. They are used by a small audience and problems are rare; I might get a crash report every 18 months or so.

                            1. 1

                              Ah, yeah, I presume the context here is services.

                      2. 1

                        Agreed. jq is a really nice tool. It made the decision to transition to using JSON for logging very easy.

                      3. 3

                        Don’t use JSON, use logfmt.

                        1. 1

                          Yes! Logfmt is the good stuff. But it’s only semi-structured. Why not use JSON and a tool to transform to logfmt (with nested data elided probably) when needing to scan as a human?

                          1. 1

                            Logfmt is fully structured, it just doesn’t support nesting, which is an important feature! Structured logs should be flat.

                      4. 1

                        I’m surprised it wasn’t mentioned, but the larger advantage of passing a logger around to constructors is the ability to then have nested named loggers, such as

                        Battery.ChargingStatus.FileReader: Failed to open file { file: "/tmp/battery charge", error: ... }
                        Battery.ChargingStatus: Failed to access status logs, skipping report
                        
                      1. 19

                        There’s a lot to agree with in this article, but why place the boundary between precompiled code and libraries downloaded in source form?

                        Do npm packages count as “editable code underneath that I have to read or write for these symbols to work”? Sure, if you’re downloading code and compiling it, you may have to edit it. It’s a risk. If you’re just hotlinking to a dll or something, that’s different. If you’re using precompiled code, whatever you’ve got, you’ve got.

                        Precompiled libraries have bugs too, may need workarounds, and can even be patched if you’re serious about it. I’d be more inclined to place the boundary between “code that is so well-tested that you probably don’t need to debug that code specifically” (which may include e.g. SQLite in source-code form, or very well-tested internal libraries) and “all other code” (which includes most commercial code.)

                        … but you have seen / considered a lot more software development than I did; if you have time, I’d be interested in seeing a bit more about why the “precompiled” vs. “source” distinction is the right place to draw the boundary?

                        1. 3

                          Yeah, this distinction makes no sense to me either. Maybe he’s assuming that anything worthy of being in a DLL musts be super solid and well tested? But that would be pretty naive.

                          1. 3

                            I thought it was excluded because you can’t go and read through the source to know what it’s doing. So the risks to your product are still there, but there’s no additional cognitive load because you’ve just gotta take it on faith.

                            1. 7

                              If you took this seriously, open source/free software might be one of the worst things to ever happen to software development. We’d be obliged to shove everything into opaque blobs to have any hope.

                              I assume the author meant something different, but it’s not quite clear.

                              1. 5

                                As long as that .DLL isn’t obfuscated. .NET DLLs written in C# that aren’t obfuscated are trivial to decompile between ILSpy and dotPeek, for example.

                          1. 1

                            A really mixed bag, but #3 has never made sense to me, and has never stopped giving me problems, I just can’t train myself to not use select aliases in a where clause–I get it wrong, then fix the problem.

                            1. 5

                              Defenders of dynamically typed languages sometimes counter that these pitfalls do not matter when runtime failures are mostly harmless. If you want to find errors in your program, just run the program!

                              … We do?

                              1. 2

                                Gabriel qualified the statement (“sometimes”) and gives an example (Nix). Is it not a reasonable accusation? What else can one do with a dynamically typed program, except running it?

                                1. 2

                                  An non exhaustive list:

                                  • unit tests against your code
                                  • property tests against your code
                                  • runtime type pattern matching
                                  • runtime type conditionals
                                  • contracts
                                  • other compile-time checks besides a type system
                                  • defensive coding (for instance, calling int(x) BEFORE opening a file handle, not after)

                                  I love type systems, and even more so I love compile time guarantees, but any static typing advocate should be able to speak about the value of typing as a trade-off against other techniques and paradigms. On the other hand, no advocate of dynamic typing would (or should, I suppose) claim that, in the absence of the tangible and often productivity-enhancing benefits of strong static typing, “just run the program” is an acceptable alternative.

                                  1. 2

                                    An non exhaustive list:

                                    unit tests against your code property tests against your code runtime type pattern matching runtime type conditionals contracts other compile-time checks besides a type system defensive coding (for instance, calling int(x) BEFORE opening a file handle, not after)

                                    All but one of these is a variant on running the code.

                                    ** EDIT ** Well, the formatting didn’t stay and I’m on mobile so I’m just going to leave this as is for now…

                                    1. 4

                                      All but one of these is a variant on running the code.

                                      In that sense, one can say that even compilation is just a variant on running the code.

                                      1. 2

                                        I disagree. The compiler, a linter, or another static analyzer is another program operating on your program.

                                        Though, I suppose you could argue the same about unit tests and property tests. I think the difference is that they exercise your code whereas your code may not execute with a compiler. Things get a bit weird with compile time execution/macros/whatever.

                                        I don’t feel completely satisfied with my response.

                                        1. 6

                                          A typed program is two programs at once; the type system’s annotations themselves form a second program which is intertwined with the original program’s shape. This second program is the one which is run by the type-checker, and this is what gives us Rice’s Theorem for type systems, where e.g. GHC has some extensions that allow for type-checking to be undecideable.

                                          This also justifies why static type systems cannot possibly replace runtime testing of some sort; in order to complete in a reasonable time, the typical type system must be very simple, because its expressions are evaluated by the type-checker.

                                          I waffled over whether to post this at the top or the bottom of the thread, since I feel that this fact is at odds with how the discussion progressed. After all, what else can one do with a statically-typed program (that is, a pair of interleaved programs where one is not Turing-complete and is either sound or conservative over the second program). except running it or running just the type-checker portion? Similarly, it is not just obvious that compilation is a variant on running the code, in that is is an evaluation of one entire layer of the program’s code which produces a residual single-layer program, but also that compilation must run the code.

                                          1. 2

                                            A typed program is two programs at once; the type system’s annotations themselves form a second program which is intertwined with the original program’s shape. This second program is the one which is run by the type-checker…

                                            Okay, I am reasonably convinced by this. My major hang ups might have been implementation details: the distinction between your program and a program running your program can be blurry in some environments (e.g., Dr. Racket).

                                            Given that there are two interleaved programs that may be run, the typed program’s advantage is that it is side effect free by it’s nature. Unit tests, property tests, fuzzers, etc. are running arbitrary code and could trigger arbitrary effects. I think that is ultimately the distinction that matters: how protected are you from mistakes in your program?

                                            (Side note: running property tests on a function that sends email could be hilariously bad.)

                                            I waffled over whether to post this at the top or the bottom of the thread, since I feel that this fact is at odds with how the discussion progressed.

                                            Well, I appreciate being called out on my position.

                                            1. 2

                                              On this view, what makes the type annotations the second and final program? Could it be three+ programs, since the linter/documentation generator also operate on a language that is intertwined with your program? This is a serious question, btw. I feel like I can think of some answers, but I don’t know that I can reason through them precisely.

                                              1. 2

                                                You’re quite right. There’s the view that syntax and semantics are the only two components to consider, and it’s a compelling view, rooted in the typical framing of Turing’s and Rice’s Theorems. There’s also the view that dependently-typed theories are at the ceiling of expressive power, and that our separation of types and values is just a happenstance due to choosing weak type systems, which also is tantalizing because of the universal nature of cubical and opetopic type theories. And to answer your point directly, there’s nothing stopping one syntax from having multiple different kinds of annotations which are projected in different ways.

                                                I suppose I’m obligated to go with a category-oriented answer. Following Lawvere, syntax and semantics are adjoint and indeed form a Galois connection when viewed in a certain way. So, when we use Rice’s framing to split the properties of a program along such a connection, what we get is a pair of adjoint functors:

                                                • On the left, semantics is a functor from programs to families of computer states
                                                • On the right, syntax is a functor from families of computer states to programs
                                                • The left side of the adjunction: the semantics of a program can include some particular behaviors, if and only if…
                                                • The right side of the adjunction: those behaviors are encoded within the syntax of that program

                                                And this is a family of adjunctions, with many possibilies for both functors. Rice’s Theorem says that we can’t decide whether most of the left-hand functors are computable, but the right-hand functor is not so encumbered; we can compute some properties of syntax, like well-typedness.

                                                We can use the free-forgetful paradigm for analysis too: Semantics freely takes any of the possible execution paths, and syntax forgets which path was taken.

                                                There is another functor which is left adjoint to semantics, the structure functor (discussed further here).

                                                • On the left, structure is a functor from families of computer states to programs
                                                • On the right, the same semantics as before
                                                • The left side of the adjunction: the structure of some computations can all be found in a particular program, if and only if…
                                                • The right side of the adjunction: the semantics of that program can reach all of those computations

                                                In the free-forgetful paradigm, structure freely generates the program which it embodies, and semantics forgets structure.

                                                Rice didn’t forbid us from analyzing this structure functor either! As a result, we have two different ways to examine a program without running it and invoking the dreaded semantics functor:

                                                • We can study syntax backwards: Which machine states are possibly implied by our program? We can logically simplify the program text if it would help.
                                                • We can study structure backwards: Which machine states do our program require or assume? We can simplify the states if it would help.

                                                This means that analyzing structure is abstract interpretation! Or I’ve horribly misunderstood something.

                                                Now I’m quite sorry to have not posted this at the top of the thread! Oh well.

                                              2. 1

                                                How does this interpretation handle fully inferred types? Is that not truly an analysis pass on the program, I.e. running a program on the source code, not running the source code itself?

                                                I’m not sure if there’s any value in making the distinction… But it feels like there must be, because static types are qualitatively different from dynamic types.

                                                1. 1

                                                  The inference is usually syntactic and doesn’t require examining the semantics of the program. This is the sense in which the second program is intertwined with the first program.

                                                  For example, in many languages, 42 has a type like Int. This fact could be known by parsers. Similarly, (\x -> x + 1) has a type like Int -> Int. Parsers could know this too, since function types are built out of other types. In general, syntactic analysis can discover both the concrete parse tree and also the inferred type.

                                            2. 2

                                              Types categorise values, they don’t run code.

                                    1. 1

                                      The suggestion to disable shrinking makes me feel like much better workflows are possible, because I think it’s just a UI limitation of how our tests run.

                                      I think my ideal would be a UI/harness that:

                                      1. Finds a failure
                                      2. Shrinks it for a short period
                                      3. Shows me the test failure
                                      4. If there’s more shrinking to do (based on the heuristic), the harness continues shrinking in the background with the option to replace the failure.
                                      1. 4

                                        An advantage of this being baked into the substrate of platforms means that moderators aren’t shafted by this either. If you ban one of someone’s identities from a place, you should ban them all from that place to prevent fractal sockpuppeting.

                                        I was surprised by this. I can imagine mods asking for this behavior, but it seems a bit at odds with the rest of the piece.

                                        1. 3

                                          Yeah, this is something that feels a bit out of place but it is from hard-fought experience moderating communities. If you allow people to just be able to spin up new identities, it is going to be easy for them to be used to evade bans. There’s no good solution though.

                                          1. 1

                                            The Reputation Problem does loom large here, but we might be able to carefully sidestep it. Allow karma to be a natural number representing each account’s reputation. We want to allow accounts to start with non-zero karma, having existing users vouch for them. We also want to cap the amount of karma that can be donated through vouching, to prevent easy creation of valuable accounts.

                                            I think that it will just about work to allow account invitation to include an amount of vouch karma which is debited from the inviting account, and for vouch karma to be capped at a logarithm of the total karma available. This should just barely meet both goals. The actual amount of karma assigned this way might not be very much, though; being technically non-zero does not help if there is karma-unlocked functionality which takes a long time to reach.

                                          2. 3

                                            Same here. This in the same article making a case for multiple identities for the safety of political dissidents. If there’s an underlying “super-account”, there is always a way to tie different identities together for those willing to go far enough (which in some cases can simply be a matter of “view source” or opening the network tab, because we all know how fallible we software developers are even in the best of moments).

                                          1. 2

                                            I’d just refer to a as a consequence of the larger expression.

                                            I just did a search, and apparently in the context of boolean satisfiability such variables might be called the “backbone” of the problem (https://ptolemy.berkeley.edu/projects/embedded/eecsx44/fall2011/lectures/SATSolving.pdf), though it’s not clear to me that it’s a super-common use.

                                            1. 14

                                              I fully intend to reread this, because it seems interesting, but I have no idea what Mitchell’s thesis is, or if he has a thesis. It mostly makes sense to me at the level of individual paragraphs, but I don’t know how they fit together.

                                              In particular, the entire first half of the essay had me asking “why isn’t this just the difference between ‘free and open’?” Happy to see he anticipated the question, but I didn’t understand the response.

                                              1. 11

                                                Sorry if that didn’t come across clearly enough. I write these things first and foremost for myself. Occasionally other people find them worthwhile.

                                                If I were going to try to mush the thesis into a comment box, it would be that the current go-to argument against new, strong copyleft licenses like SSPL, that open source licenses can’t discriminate against closed software development, flaunts the history of free and open source software. The whole crux of that movement was learning to tell the difference between “open” and “closed” and coming down strongly on the side of open.

                                                The reason the argument plays these days is that a bunch of closed software companies have taken over leadership of open source institutions. Twenty years ago, they’d’ve all counted as “evil” online, and the idea that open source “wins” if there’s open source in proprietary software would’ve been angrily and soundly dismissed.

                                                I have a mechanism for summarizing my own blog posts, which I never remember to use. I’ll add it now. Thanks.

                                                1. 3

                                                  I think the hardest part is that I react to that and see “free, not open”. Looking at the current state of open source, I think a FSF person has every right to say “I told you so!”

                                                  But clearly you think there’s more going on here. I see below that you think that was a personality driven fight, but is that the only way it misses what you think is going on?

                                                  Edit: P.S. Sorry for “or if he has a thesis”. I think that’s sloppy writing on my part. What I meant is that I didn’t know how much you wanted to argue for a very specific point, vs. framing the situation and making observations as a sort of first draft of how to think about it.

                                                  1. 6

                                                    I mention in my post, or tried to mention, that I think the archetype of the free-versus-open schism invites us to write all this off as “same old story”, instead of seeing all that’s completely new and different.

                                                    Superficially, the AWS-Elastic fight today seems a lot like the fight that kept AGPLv3 from becoming GPLv3. But we’re talking about a fight between companies, not, say, FSF versus Google. Even when foundations are weighing in, as OSI did against Elastic, we’re talking about foundations that have been propped up, staffed, and influenced by commercial firms and their people for decades. Among those companies, the ones with the most influence are first and foremost makers of proprietary products and services, plus huge integrator-consultancies, not movement stalwarts, as in the early 2000s.

                                                    Personalities were a big part of the FSF-OSI schism. But there were real policy issues there, too. I don’t mean to write it off as a big Tim-ESR-RMS-Linus pissing match, though it was that, too.

                                                2. 4

                                                  I think the thesis is that the phrase “open source” has gone from being about freedom of end-users to read/copy/modify software to freedom of corporations to include software in their proprietary stacks which end-users are not permitted to read/copy/modify. And that the complaints that Elastic’s new license is not “open” are just a new move in this long battle over whose freedom open source is about.

                                                  1. 2

                                                    I know what you mean by “I don’t know how they fit together”. He does not have a structure sort of writing style. You kind of have to go along for the ride of all his thoughts, but I enjoy that sometimes more than the “5 things you need to know about open source licensing” sort of blogging.

                                                  1. 10

                                                    Seconding @msw’s point here that when it was tried for web apps (a long while ago), a big source of confusion in users:

                                                    • Portability of a cert (in comparison with “just a password”, which was the only alternative back then.
                                                    • operational security concerns with certificates as files on disk.
                                                    • revocation is a mess (really!)

                                                    Besides, there was no great mechanism to “prompt” for a certificate in the HTTP stack, so client certificates used to be offered for a lot of HTTPS connection which was a huge passive tracking nightmare.

                                                    2021, however, is going to be the year of WebAuthentication. It’s way superior in terms of implementation, complexity, cryptographic properties, portability (e.g., a tiny device, an app, a software-token) and the user flow can be very similar to other multi-factor authentication that users are now more comfortable with, due to having become mandatory for banking (at least it’s been mandatory in the EU for a couple of years now)

                                                    1. 3

                                                      A significant fraction of users store their passwords in a keychain managed by the OS (and stored on disk). Is there a reason that’s less scary than client certificates?

                                                      (I admit, I don’t trust my OS’s keychain, but that’s probably superstition.

                                                      1. 2

                                                        2021, however, is going to be the year of WebAuthentication. It’s way superior in terms of implementation, complexity, cryptographic properties, portability (e.g., a tiny device, an app, a software-token)

                                                        WebAuthn is a very complex over-engineered “standard” with a million foot guns. I ran into this some time ago when I was looking at supporting WebAuthn: https://webauthn.guide/. I first thought it was a parody! Algorithm -7. Absurd. Why is JS even needed in a site to use webauthn for the simple user authentication or a 2nd-factor flow? Let alone the crazy amount of boilerplate code for something that should be 1 call for registration and 1 call for using it with sane and secure defaults and certainly not support suspicious crypto primitives like RSA with PKCS#1 v1.5 padding. It is a continuation of the trash fires that are JWT and WebCrypto that now also pulls in CBOR and COSE, which honestly I didn’t look at in detail because the RFCs are HUGE which is already a bad sign. I have no words… No lessons were learned at all in the last 10 (20?) years. And this is what we’ll get in 2021? I sincerely hope not!

                                                        Some sources:

                                                      1. 28

                                                        Any of y’all want me to throw my hat in the ring?

                                                        Another time. :)

                                                        Okay fisch. I’ll try. If enough folks are interested I’ll shoot an app in.

                                                        1. 41

                                                          friendlysock is pretty much the only user who I have mentally flagged as consistently antagonistic and obnoxious, generally to the detriment of friendly and civil discussion. Other users may have particular topics which they feel sufficiently strongly about that they occasionally get a little antagonistic responding to criticism. With friendlysock, I see unnecessarily inflammatory comments often enough that I now mentally think, “ugh, I won’t bother reading this comment chain, it looks like another friendlysock spat”. If you can’t moderate your own comments, I don’t think you’d be good at moderating other peoples.

                                                          So if you really want our opinions, no, I do not want you to throw your hat into the ring.

                                                          1. 24

                                                            Strong disagree. friendlysock consistently engages in civil and friendly discussion, even when finding himself on the other side of an argument with someone whose political convictions make them feel they shouldn’t even attempt to be civil and friendly. I’ve never seen him make a comment I think could fairly be called unnecessarily inflammatory (and I say this as someone who has disagreed with him in the past). I generally enjoy seeing his posts and think he’s a good contributor to the site.

                                                            1. 31

                                                              You’re painting a picture where angersock is the civil one who just so happens to be constantly surrounded by people mad at him.

                                                              That’s wrong: angersock frequently accuses others or entire communities of bad faith and assumes a position of authority he doesn’t have when saying content doesn’t belong here (do I even need to link that one?).

                                                              I’ve rarely seen anybody argue with angersock twice. That alone should be pretty damning: The only constant in arguments involving angersock is he himself.

                                                              One can be inflammatory, incite flamewars and toxic communication while saving face by “remaining civil”. I’m not sure how much of it was intended in /u/Thra11’s post, but to me the point is that angersock remains civil, but brings incivility.

                                                              That is not to say that he doesn’t try his best, and I don’t think he does any of this on purpose (though I am really not sure). But I really don’t think he is cut out for this job, and given the comment ratio on his top-post vs the rest of the thread, I think he would be quite a controversial mod to say the least.

                                                              1. 14

                                                                It’s also missing the point: One can be inflammatory, incite flamewars and toxic communication while saving face by “remaining civil”.

                                                                That form of trolling is called Sea-lioning. http://wondermark.com/1k62/

                                                                1. 12

                                                                  I strongly disagree that how friendlysock has been showing up here can be seen as a form of sealioning.

                                                                  1. 7

                                                                    It still blows my mind that not only do some people think the woman rather than the sea-lion was the sympathetic character in that comic, but that there are enough such people for “sea-lioning” to have become a meme.

                                                                    1. 7

                                                                      I suspect it’s because many people use public social media for private conversations with their friends (as they would speak while walking about town). A stranger injecting themselves into the conversation to demand your time and attention (regardless of how righteous they are) is unwanted and weird.

                                                                      1. 5

                                                                        I was puzzled by that as well. There were enough of us that the author wrote a three paragraph clarification on the errata page. It’s possibly worth reading the explanation there. I’d summarize it as “the sea lion is a stand-in for people who behave a certain way and the woman’s objection is based on that behavior”.

                                                                        1. 5

                                                                          It’s pretty fitting, I think. Most people who cry “sea lioning” are just upset that someone responded to their public statements.

                                                                        2. 6

                                                                          I only have this comic as reference for as to what sealioning means, but the situation I see with angersock is not one where he actively seeks out people to engage in stupid arguments with. Maybe the term has evolved beyond that specific example, but then, without a new real definition, it has lost its meaning.

                                                                          1. 3

                                                                            The term has not lost its meaning, it has always been used to refer to people who make unwelcomed responses to publicly made statements.

                                                                        3. 9

                                                                          My own interactions with ‘sock have actually been pretty good, even in cases where we disagreed (as in this thread), and I don’t off-hand recall seeing and recent(ish) comments where I was “sjeez ’sock, relax mate”.

                                                                          But I also skip most Rust stories, as I don’t have a lot of interest in Rust (not at the moment anyway), and that link is indeed very much a “sjeez ’sock, relax mate” type of conversation.

                                                                          Point being: I guess people have a limited/biased view of ’sock (or any other members, for that matter) based on which stories they read and comment on. I certainly do, because I never would have seen that comment if you had not linked it here.

                                                                          1. 2

                                                                            do I even need to link that one?

                                                                            Would be helpful for people like me who aren’t as deep in the day-to-day of lobste.rs.

                                                                            1. 4

                                                                              It appears lobste.rs has some sort of retention on the index of comments per user, but here’s the most recent examples (not the best ones):

                                                                              All of those assume a place of authority and tell others how to use the site.

                                                                          2. 4

                                                                            In all fairness, this was not always the case (see also why I’m friendlysock instead of angersock), and even as recently as that Rust thread a few days ago I can still be more inflammatory than is helpful (less charitably: I can be a shithead). I’m no saint.

                                                                            1. 4

                                                                              and yet, gestures frantically below

                                                                            2. 6

                                                                              I would have to concur with this

                                                                            3. 34

                                                                              I personally would prefer not to have a moderator who thinks having Nazis participating is a fine idea (https://lobste.rs/s/nulfct/problem_with_code_conduct#c_dwa6s5). “You could exclude neither [Nazis nor the target of Nazis], and let them sort it out themselves elsewhere. Indeed, seeing each other in a context that doesn’t constantly reinforce their ideology might serve to build bridges and mellow both sides.”

                                                                              Seeing as my grandmother was almost murdered by Nazis the “mellowing both sides” bit did not go over well with me.

                                                                              1. 23

                                                                                It’s taken me quite some time to form a response.

                                                                                Here in Bloomington, IN, last year and the year prior, we had to deal with a real Nazi problem in our city. It was BAD. https://www.nytimes.com/2019/08/18/us/indiana-farmers-market-white-supremacy.html

                                                                                We have had a city govt run farmers market near the city square. It was on the largest walking/biking/running trail the city has.. It really was an amazing market.

                                                                                Then, the Unicorn Riot discord hack happened. Normally, this would oust Nazies and similar ideology. Except this time, it ousted a lady by the name of Sarah Dye, a farmowner and a stall vendor at the farmers market. It only outed the first name in the general vicinity and owned a farm - I was the one who found her account on Youtube by the name of Volkmom, and got her banned from the other 2 farmers market boards she was on. I forwarded the videos to their boards. They compared her voice to her damning videos.

                                                                                However, Bloomington IN doubled down, claiming 1st amendment concerns. Peaceful protests to Dye and the city were done… And the cops arrested the peaceful protesters, up to and including the president of low barrier homeless shelters - dressed as a purple unicorn ( https://www.thedailybeast.com/unicorns-arrested-at-protest-of-white-supremacy-at-bloomington-indianas-farmers-market ).

                                                                                And since Dye was being defended by the city, we had other undesirables show up. Other neonazies did. So did the 3 percent’ers. But when the 3%ers showed up, they were armed to the teeth, with AR15’s strapped to them, handguns (plural), zipties, and more. There was no question - they were not peaceful. They wanted to make a show of force that they were present to support their kind. Having them all show up shat on the very idea of the farmer’s market of inclusivity and coming together over shared food.

                                                                                We (public) finally solved this by deprecating the city run market, and a new market was made by a non-profit org. All the vendors showed up here, with exception of Sarah Dye and her stall. And unlike the city market, visible weaponry wasn’t allowed. And being in Indiana, people will pack heat; but it can at least be diminished.

                                                                                When nobody knew she was a Nazi and she didn’t do anything suspicious publicly, it was uneventful and peaceful. People just bought their groceries and all was good. The moment it was known, all the dregs, white nationalists, neonazies, kkk, and similar moved in to support “their kind”. We all literally had to abandon and regroup to get them to stop.

                                                                                If you don’t strongly deal with white nationalist groups, they’ll eat you out of house and home, run everyone off, and leave you with a shell of a community. I’ve seen it happen locally how it progresses in real life… and damned if I’ll let it happen to communities I’m currently a moderator of.

                                                                                1. 21

                                                                                  Forgive me for being dense, but my reading of this is that everything was quiet and peaceful until you went out of your way to dox a Nazi and get her kicked out, and then people decided to protest a lawful application of the 1st Amendment, and then counter-protests happened, and a bunch of ugliness occurred, and then after all this you got the original market back less one Nazi.

                                                                                  If this is an accurate reading (and it may not be!), how could one not conclude that everything was fine until you got a bee in your bonnet about somebody being a Nazi in their free time? How is everything that followed not your fault? That being the case…how is all of the following ugliness not the result of the efforts to purge a secret Nazi?

                                                                                  My desire to follow rules of topicality and civility is very much due to a desire to avoid that sort of protest-counterprotest stuff that harms communities more than it helps.

                                                                                  1. 23

                                                                                    how could one not conclude that everything was fine until you got a bee in your bonnet about somebody being a Nazi in their free time? How is everything that followed not your fault?

                                                                                    Who escalated to violence? The white nationalists did. Arguing that the exposers of secret Nazis are at fault is the argument employed by domestic abusers. “Woman, why do you make me beat you? Why do you do this to me?”

                                                                                    I know you’re arguing in good faith. But please do not try to justify violence from this crowd. They proved that they weren’t standing on moral high ground when they showed up with firearms and zipties.

                                                                                    The violent response from white nationalists to nonviolent protests should prove just how much of a charade their pearl-clutching about “muh free speech” really is.

                                                                                    1. 13

                                                                                      Forgive me for being dense, but my reading of this is that everything was quiet and peaceful until you went out of your way to dox a Nazi and get her kicked out, and then people decided to protest a lawful application of the 1st Amendment, and then counter-protests happened, and a bunch of ugliness occurred, and then after all this you got the original market back less on Nazi.

                                                                                      More specifically, there was already an anti-nazi campaign locally going against her with what I considered shaky proof. Many of us were very hesitant to engage in protests in person or online, without solid proof. I used my OSINT skills and was able to positively identify that it was her. Had it not been, I would have also said so. I’m not going to engage in a protest against an individual unless I’m damned sure I can prove it… And I proved it beyond a reasonable doubt.

                                                                                      Speaking to “and then people decided to protest a lawful application of the 1st Amendment, and then counter-protests happened”…

                                                                                      The problem was that the city was supporting the nazi speech AND show of force, while arresting peaceful (non-weapon-possessing) protestors. If the city had applied equal force to both sides, there would have been less of an issue with respect to 1FA.

                                                                                      If this is an accurate reading (and it may not be!), how could one not conclude that everything was fine until you got a bee in your bonnet about somebody being a Nazi in their free time? How is everything that followed not your fault? That being the case…how is all of the following ugliness not the result of the efforts to purge a secret Nazi?

                                                                                      You’re extrapolating and assuming when you don’t have the information.

                                                                                      My desire to follow rules of topicality and civility is very much due to a desire to avoid that sort of protest-counterprotest stuff that harms communities more than it helps.

                                                                                      This sort of civility is similar to Sea-lioning ( http://wondermark.com/1k62/ ).

                                                                                      Simply put, there is no civility when discussing people who want to murder people (and have done so) who differ only in race, skin color, or sexuality.

                                                                                      1. 20

                                                                                        Over and over and over again the same “both sides are at fault” message, Nazis and their victims. You simply cannot get yourself to say “let’s leave Nazis out”, huh.

                                                                                        1. 12

                                                                                          A few questions to make sure I understand your arguments:

                                                                                          • Assuming Lobste.rs vows to leave the Nazi out, who is going to decide which user is a Nazi? What is the definition of a Nazi?
                                                                                          • Since we’re bound to leave the Nazi out, how can we ensure that there won’t be a “leave the Y out”, where “Y” can be muslim from Saudi Arabia, Palantir developers (are they morally superior to Nazis?), Steven Pinker, Noam Chomsky and everyone else group X doesn’t like ?

                                                                                          ps. This discussion is not new by any means. It is a hard discussion, Karl Popper wrote extensively about this exact issue.

                                                                                          1. 8

                                                                                            Thank you for your observation.

                                                                                            For me, I can’t help but notice that even if we say “Okay let’s get rid of the Nazis”, we still have the question of who is a Nazi?

                                                                                            Form a practical standpoint: half of my country (US) voted for Trump, for whatever reason. That makes them some flavor of Republican–or worse. It is not a stretch (and is pretty common in various circles) to see any affiliation with Republicans as basically being a Nazi.

                                                                                            If half of Lobsters is from the US, this means that like a quarter of the users–based on back-of-the-envelope calculations–are Nazis and should be banned, for being Nazis.

                                                                                            If we just ban based on civility and topicality, we get to sidestep this issue.

                                                                                              1. 7

                                                                                                Any of the comments that article references are clearly outside decorum and, if posted here, would warrant administrative action.

                                                                                                1. 8

                                                                                                  Weev is a public figure. Weev was banned from gab. Weev could participate anonymously on lobsters. If weev wants to post here as weev, is that OK?

                                                                                                  1. 8

                                                                                                    Why wouldn’t it be, if he follows the rules and isn’t an asshole and contributes to on-topic discussion?

                                                                                                    It being weev, I imagine it would be less than an hour before he gets banned for saying stupid Nazi shit, but might as well give the fellow a chance.

                                                                                                    Our purpose here isn’t to punish people for actions in other communities; our purpose is to discuss technology.

                                                                                                    1. 5

                                                                                                      Weev is a public figure known for being a Nazi. For weev to be named as weev, it’s the same as https://lobste.rs/u/neonazi .

                                                                                                      Weev could go by a different name to participate in lobsters.

                                                                                                      1. 0

                                                                                                        Pretty sure there are many internet users with that nickname - most probably are unaware of some rando from US. To be honest I never heard about that guy until today. If he would have an account here I would judge him by what he writes here without crosschecking him across other sites. Who does that?!

                                                                                          2. 7

                                                                                            I won’t say it because I don’t believe it.

                                                                                            I would rather have a polite Nazi talking to me about technology than either a rude not-Nazi talking about technology or a polite not-Nazi talking about not-technology. As somebody mentioned above re: the Nazi variant of the Turing test…a sufficiently polite and topical Nazi is indistinguishable from a normal user, because they’re presumably not talking about Nazi shit and picking on Nazi victims.

                                                                                            If they are, the rules of civility and topicality give a handy way–and a more uniform way–of dealing with them. Even better, it gives a way of dealing with them that doesn’t give them the recourse of saying “Well you’re just doing this because you hate Nazis”, or “You’re just doing this because you support SJWs”, etc. I can point at the rules and say “You were off-topic and being uncivil. I don’t need to believe anything about Nazis or your relationship with that ideology to get rid of you.”

                                                                                            1. 22

                                                                                              Apparently you definition of civility includes telling me and other Jews to “mellow out” about people wanting to murder us. No thanks.

                                                                                              1. -9

                                                                                                Do you want to murder them, given that you (by my reading here) believe they are a clear and present danger to you and yours?

                                                                                                1. 17

                                                                                                  This is too far. There are diminishing returns now on this conversation and also both of you seem to have lost perspective that this post is about finding new moderators because pushcx might be under huge moderator load - you’re not helping. At the least, take this to a different venue or to personal chat to hash it out and bring back here any positive results.

                                                                                                  @itamarst You are talking about a subject which is understandably extremely sensitive and important to you. I think everyone can and would acknowledge the pain that you and your family must have gone through, and it is a failing of people in this conversation that that is not the first and most obvious point to be reiterated and repeated without fail. We all must acknowledge that terrible things have happened and that we want to take positive actions to prevent them happening again. That being said you are grossly not applying good faith in a situation where one person’s actions seem to have been offensive to you, and you are bringing a subject that is most definitely off topic for lobste.rs into this space. In relation to the former, you could have chosen a much more amicable way of bringing your point forward such as: Quoting friendlysock, explaining how you reacted to and felt when you read his comment and asking friendlysock to confirm if that was his intention and to clarify his meaning if it was. You definitely could have done that constructively inside the context which was friendlysock applying to be a moderator, so you could have phrased your question in a way relevant to this topic. No one would ever question your pain or your discomfort at seeing discussions of a group of people that brought great harm to your family and by extension pain to you; you do not have to not be angry, or not be in pain; but having the expectation that you can bring this up in this way in this space and the outcome be constructive is poor judgement: whether or not this was a motivation, you are not going to get personal resolution to political issues that cause you pain on lobste.rs.

                                                                                                  @friendlysock Whatever your position you are grossly failing to take a step back and acknowledge itamarst’s point where he is now, not where you think he should be or how you think his point relates to lobste.rs. If you keep doubling down on your position, itamarst has to double down on his. This does not seem like rocket science. Whether this is on topic or not, when someone has gone to the effort and made themselves vulnerable by presenting something they are angry or in pain about, particualrly if it’s such a HUGE subject as this with so much emotion attached, step 1 is acknowledge that and consider your position in relation to what they said. You have no idea how they feel and you can not begin to understand their position so if they are offering you this level of confrontation the most you can do is acknowledge and listen. You don’t have to take responsibility for having caused their pain - no one is calling you a nazi or accusing you of murdering people, but you do have to acknowledge that they felt a particular way after reading what you wrote, and if you want to, you can explore that, but with about 1000 times more sensitivity. Acknowledgement and reiteration of your fundamental positions as they relate to lobste.rs, or moderation on lobste.rs would perhaps be a way to frame your position, if you’re interested in doing that.

                                                                                                  1. 16

                                                                                                    “Good faith” only goes far when some spends so much effort explaining how important it is we include Nazis in our discussions. Especially when they want to be a mod.

                                                                                                    And really the whole point of the exercise is mod policy. As I’ve said before, in other discussions, you gotta pick a side. And the clearer friendlysock’s opinions, the clearer the choice pushcx has to make.

                                                                                                  2. 13

                                                                                                    Enough is enough. You are bullying itamarst with repeated emotional manipulation by way of a topic that has violently effected them, apparently so that you can get them to call for killings on a thread in which you nominated yourself to moderate the community in pursuit of civility. Are you done trolling yet?

                                                                                                    1. 6

                                                                                                      Do you want to murder them

                                                                                                      Come on, this is too much.

                                                                                                      1. 6

                                                                                                        No, of course not.

                                                                                            2. 32

                                                                                              no offence, but I find that “mellowing both sides” is a very legit goal. seeing as I’ve spent most of my life in a warzone, this goes very well with me. I’m not jewish, but I’ve had multiple run-ins with Neo-Nazis due to the way I look and where I escaped the war to. I used to hang out in this bar that was split in half, one of it was extreme leftists, and the other were staunch Nazis, some not even Neo. we were all fucked, so we just drank together in a weird peace of sorts. one of the Neo-Nazis never liked the fact that I started hanging out there, and was constantly hostile, and due to past experiences I had to often stay alert and make sure to be ready for whatever may come, but the beer was cheap mind you and the weed was good.

                                                                                              one of the Neo-Nazis in particular was this big guy who had it so clear in his eyes that he’d like to beat the shit out of me to prove his worth or whatever. I didn’t care as this was the least of my worries (at that time). one of the old men I used to hang out with was a programmer as well, so we’d get high and discuss all sorts of computer things. one day the convo came to Blender and 3D modelling, and all of a sudden this big guy who never wanted to exchange a word with me and rather punches came and started talking about Blender with love in his eyes instead of hate, after a couple of hours of that he threw the shittiest but unfortunately the most fitting line of all:

                                                                                              “your people aren’t too bad after all.”

                                                                                              we actually continued conversing after that and went through a couple of his traumas and why he ended up on the path he ended up on. I by no means expect everyone suffering from oppression to engage in such antics with their oppressors, but I’d rather the ones who can’t, let the one who can, do what they gotta do.

                                                                                              at the very least, you can try to not monopolize suffering under your own school of thought, and within only your own context.

                                                                                              this is probably my last comment here for a while, so feel free to PM if you wanna discuss this further. I am also very sad to hear about your grandma, it sucks to be almost murdered, it sucks to see people you love get murdered, and it sucks to see people you love commit murder, but that shit happens on all sides of aisle.

                                                                                              dehumanize one, and you dehumanize all, I find.

                                                                                              fucking hell, I need a beer.

                                                                                              1. 26

                                                                                                Thank you for sharing! I think that’s slightly missing the point, though:

                                                                                                1. The issue was with “both sides”. Why do I need to “mellow” if someone wants to murder me?
                                                                                                2. You are describing a truce backed by violence. And that might work for some, but the more common case is people not going into the bar at all, because they don’t feel safe.

                                                                                                I’m sure many Nazis have reasons for how they ended up where they are (though in the US a lot of them aren’t suffering at all, they’re upper middle class or rich). Maybe hanging out with Nazis will make them change their mind. I doubt it, but it’s possible.

                                                                                                But given the choice between making a safe environment for everyone, and letting some Nazis in in the vague hope they will learn something and lots of other people choosing not to participate, I’d rather choose the latter former.

                                                                                              2. 10

                                                                                                You know, I can sympathise with your viewpoint here, especially as a Muslim in the current global climate, but the problem I see is that this seems to be leading to such extreme echo chambers, that it makes people say things like what one user in the thread you linked said:

                                                                                                Feminists believe that women are as human and as entitled to agency and dignity as men are; MRAs believe that women are inferior to men and should be enslaved.

                                                                                                This is such an absurd statement to make without backing up and so patently false; the only way someone can believe this is by being fed a constant diet of lies people who really hate MRAs instead of just speaking to MRAs directly.

                                                                                                Suddenly, we’re not just banning Nazis who want to kill you and me and our entire family trees, we’re banning practicing religious people who aren’t willing to rewrite their holy scripture or reinterpret it to suit people’s desires, we’re banning critics of said religious folks who believe baby penises should remain intact — hey, they’re MRAs, right?; whatever, they must be islamophobes or antisemites either way — we’re banning critics of affirmative action, we’re banning all manner of people with valid and not so valid positions or arguments.

                                                                                                We don’t discriminate on truth, we discriminate on whether it’s comfortable or not to a select group of people. People who can’t discriminate between a belief like, “men and women have roughly equal average IQ, but the distribution is wider for men, so the ratio of men to women at Google is roughly what we’d expect if Google were selecting for such and such IQ” — responding with such inanity as “do the women at Google not belong there, then?” — and a belief like, “women are inferior to men and so should be enslaved to them”.

                                                                                                1. 20

                                                                                                  I think that if I were on a rocketry forum I’d be interested in hearing what Wernher von Braun had to say (not merely a Nazi, but an officer in the SS). If I were on a forum about filesystems, I’d be happy to talk to Hans Reiser. If I were given the opportunity, I think that Konrad Zuse (not a Nazi, but certainly a collaborator) would have interesting things to say about electromechanical computer design.

                                                                                                  I’d be more than happy to throw any of them out if they start going into politics or murder, but if they have useful expertise and follow the rules of decorum, they should have a place.

                                                                                                  1. 15

                                                                                                    Let me put it like this: if Hans Reiser would join a forum where Nina Reiser’s brother (or sister, close friend, etc.) would also participate, would you think it’s reasonable if they would object to this?

                                                                                                    It’s not hard to see how this would also extend to neo-Nazis (as in, literal neo-Nazis, who looked at the Holocaust and thought that all of that was just a spiffing good idea); would you enjoy interacting with someone who literally wants to kill you and everyone like you and worships an attempt to do exactly that? Are many people not a victim of these people’s actions just as much as Nina’s Reiser’s brother is? Would you happily discus webdesign best practices with the person running StormFront or some other neo-Nazi website?

                                                                                                    I’m not so sure if “it’s limited to just technical conversation” is really all that important, never mind that this is too limited of a view of Lobsters IMHO, as it’s a community centred around technical topics.

                                                                                                    For all we know Reiser or the StormFront maintainer are already participating on Lobsters anonymously. We can’t really prevent that because the only alternative would be to actively vet members. But if you know you’re talking to the StormFront webmaster then … yeah, I’d rather not.

                                                                                                    I’m not suggesting that we implement some sort of wrongthink policy or anything of the sort; you put forth the extreme scenarios so I’m replying to those, and in more realistic scenarios things tend to be some shade of grey. If someone on Twitter said “I don’t like people of religion/ethnicity/identity X” then that would probably be okay; as in, I won’t like them more for it, but I see no reason to ban them here for just that. But I do think all of this is a bit more complicated than you put forth.

                                                                                                    1. 18

                                                                                                      Would you happily discus webdesign best practices with the person running StormFront or some other neo-Nazi website?

                                                                                                      Let’s apply a variant of the Turing Test to this: if people from the interactions alone cannot tell whether they are made by a regular person or a Nazi, then the poster/commenter can be regarded as worthwhile talking to as any other normal person.

                                                                                                      1. 5

                                                                                                        Yes. Nobodies forced to use real names on lobsters. If someone posts anonymously, respect it. Don’t dox.

                                                                                                        It’s not the same if he/she uses their neo-Nazi name. Lobsters has no moral obligation to be known as the place where neo-Nazis hang out.

                                                                                                        1. 10

                                                                                                          Yeah I think there’s a bit of a straw man being thrown around in some of these discussions about being randomly chosen as the target of doxxing. It’s pretty easy to be anonymous on this website.

                                                                                                          To even be perceived as a member of a hate group on a site like this would require affirmative signaling to one’s peers that they hold hateful views towards other members of the community for their birth-given human characteristics, which seems like a good enough reason to remove such a user in the first place.

                                                                                                          1. 3

                                                                                                            Yes. Nobodies forced to use real names on lobsters. If someone posts anonymously, respect it. Don’t dox.

                                                                                                            Yes, I pretty much said as much later on: “We can’t really prevent that because the only alternative would be to actively vet members” (that this isn’t feasible isn’t stated explicitly, but it’s pretty clear to everyone that it’s not).

                                                                                                            I think both you and @ewintr have missed the point of my reply; this entire discussion is fairly hypothetical because of course no neo-Nazi is going to link to their StormFront account on their Lobsters profile (or Gab, or wherever these people hang out these days). I just wanted to point out why having known neo-Nazis on Lobsters is something that people would object to, and why some people would choose not to visit Lobsters if this were the case.

                                                                                                            1. 3

                                                                                                              No. You’re wrong. It won’t remain hypothetical. Look at how many people got caught from the 6th based on social media.

                                                                                                        2. 6

                                                                                                          would you think it’s reasonable if they would object to this

                                                                                                          I totally would understand why they might object to this. Then again, dude was put into prison and served his time. According to the law, he has received his punishment. Anything further is just extrajudicial retribution–understandable but not lawful.

                                                                                                          would you enjoy interacting with someone who literally wants to kill you and everyone like you and worships an attempt to do exactly that?

                                                                                                          If they were polite and solved my problem, sure. It’d be weird, but I’d rather have the help than not. The second they started going on about that other stuff, I’d report them cheerfully.

                                                                                                          For all we know Reiser or the StormFront maintainer are already participating on Lobsters anonymously.

                                                                                                          Exactly. For the dedicated opposition, this kneejerk intolerance serves no real obstacle–and can even be really useful as a leveraging point to disrupt a community. It’s like people have never played Among Us.

                                                                                                          but I see no reason to ban them here for just that.

                                                                                                          The problem is, several Lobsters I believe would be more than happy to do that, and would want it in a CoC. Further, where do you draw the line? How much Nazi is too Nazi? How little pedophilia is acceptable? I don’t want to make those calls–I’d rather focus on the (much simpler) tests of a) has this user treated other users respectfully in this space and b) has this user stayed on-topic. If followed, I believe those two rules are sufficient to guarantee a good time for everybody.

                                                                                                          But if you know you’re talking to the StormFront webmaster then … yeah, I’d rather not.

                                                                                                          As an aside, the world-wide experts in decentralization are about to all be, or keep company with, some really distasteful people. Ignoring their experience because they’re icky strikes me as a waste.

                                                                                                          1. 4

                                                                                                            The Reiser case is a bit more complicated, as I agree criminals should be given a second chance. However, it’s not unreasonable for victims of the crime to still harbour (strong) feelings of animosity; I don’t think that’s “extrajudicial retribution”. I don’t think that many people would happily chat with their sister’s murderer about filesystems after they served their time.

                                                                                                            At any rate, I only mentioned Reiser to illustrate the perpetrator/victim relationship, as it’s so clear in this case. I was tempted to leave that out entirely as it’s quite a different case from neo-Nazis.

                                                                                                            would you enjoy interacting with someone who literally wants to kill you and everyone like you and worships an attempt to do exactly that?

                                                                                                            If they were polite and solved my problem, sure. It’d be weird, but I’d rather have the help than not. The second they started going on about that other stuff, I’d report them cheerfully.

                                                                                                            Alright, fair enough. But it’s not hard to see how other people would make a different choice here.

                                                                                                            where do you draw the line? How much Nazi is too Nazi? How little pedophilia is acceptable?

                                                                                                            I don’t have clear answers to that; but this is a kind of reasoning I don’t really like. Maybe there’s a better name for this, but I like to call the “it’s hard fallacy”, which goes like: “it is hard to draw a line, therefore, we should not draw a line at all”.

                                                                                                            I’ve seen the same type of reasoning in conversations about civility. It can be really hard to draw a clear line about what is or isn’t acceptable, but that doesn’t mean we shouldn’t try at all. Clearly there should a line somewhere otherwise people replying with just “you’re a cunt” would be “acceptable”, and I think we can agree that it’s not. You can also see this fallacy in some other (political) topics.

                                                                                                            I’m not actually in favour of banning people for off-site behaviour unless it’s particularly egregious, such as active neo-Nazis, and even then I’d have to carefully look at the specific case at hand. In general I think the bar should be pretty high for this, but I do think there is a bar … somewhere.

                                                                                                            I mean, do you really expect black people or Jewish members to happily interact with people we happen to know are neo-Nazis or KKK members? If someone in your local soccer club is a great bloke and fun to hang out with, and then you discover he’s a Grand Hobbit Ghoul in the KKK (or whatever ridiculous ranks they have) then you would continue that relationship as-if nothing happened (and before you answer “yes I would”, would you expect everyone to do so, including your black teammates?)

                                                                                                        3. 16

                                                                                                          The problem, of course, is that then you lose all the people who don’t want to hang out with Nazis, or with people (like Hans Reiser) who murdered their wife.

                                                                                                          1. 25

                                                                                                            In an online forum for talking about X, I’d much rather have a room full of people who may be assholes elsewhere talking politely about X than I would a room full of people who might be lovely elsewhere being assholes in my forum because of something completely unrelated to X.

                                                                                                            1. 7

                                                                                                              Thank you for this succinct explanation.

                                                                                                            2. 12

                                                                                                              On the internet, no one knows you’re a dog.

                                                                                                              Who’s to say what someone’s intentions are? If people start causing problems, by all means remove them. The alternative is doxxing everyone who joins lobsters or digging up dirt, is that somehow a better alternative?

                                                                                                              I get it, no one wants to share a board with Nazis or murderers. I don’t either. But this social equivalent of a preemptive strike has the potential to be way worse.

                                                                                                              1. 11

                                                                                                                A good rule of thumb, in programming and elsewhere, is to always consider at least three solutions to any problem. There are in fact other solutions beyond the false dichotomy “doxxing everyone” and “accepting everyone”, one common one being a Code of Conduct. Personally I would go with “you must pass this very bar to participate”.

                                                                                                                1. 7

                                                                                                                  Just because a comparison of two solutions are presented doesn’t mean you have to jump to “this is a false dichotomy.” Also, I thought we already had that with the lobsters rules? How does a code of conduct actually differ?

                                                                                                                  1. 15

                                                                                                                    Well, friendlysock apparently can compare Nazis as somehow equivalent to their victims (both sides apparently need to “mellow”). Most CoC would involve kicking him out for that.

                                                                                                                    1. 6

                                                                                                                      I don’t agree with the comparison and I don’t think friendlysock would be a good mod based on the fact that he could draw it. I just want to put this out there though - if there was a felon, Nazi or other unsavory person who could provide some insight into problems I’m trying to solve then I would still have an open ear so long as they stay on topic and don’t bring up their unrelated interests. Not doing so seems short sighted.

                                                                                                                      Most Codes of Conduct are pretty crappy btw. Ruby has a good one, nearly all of the others are too suffocating.

                                                                                                                      1. 3

                                                                                                                        I think both you and @itamarst may be missing something in how I wrote that–and that’s on me for articulating incorrectly.

                                                                                                                        My point was not to draw equivalence between those groups. My point was that everybody has some outgroup that they would prefer to see kicked out.

                                                                                                                      2. 4

                                                                                                                        Maybe you should resolve that with friendlysock, then. Not going to fan these flames anymore.

                                                                                                                  2. 9

                                                                                                                    How is it “pre-emptive strike” to just not want to hang out with people you don’t like?

                                                                                                                    This isn’t like…. the seat of government. This is a place to talk with people. Absolutely nobody is under any obligation to listen to people (short of mods basically “kicking people out”). There is zero moral requirement to listen to “varied viewpoints” or have an open mind.

                                                                                                                    EDIT: And pointing to a previous declaration of moderation wishes as “digging up dirt” in a conversation about mod applications is rich. Are we supposed to just treat every conversation in some weird vacuum even when it comes to something so obviously relevant? I know you’re saying this in good faith but how is that not fair game?

                                                                                                                    And like… you know what? These people that get doxxed or whatever? They are the ones that are vocal about their opinions. That’s how you even know that they are these kinds of people. If they kept their mouth shut we wouldn’t even be able to know!

                                                                                                                    I’m tired of being lectured about how I’m the bad person for not wanting to deal with people who not only are (IMO) morally bad people, but also don’t have the social IQ to keep it to themselves.

                                                                                                                    1. 10

                                                                                                                      These people that get doxxed or whatever? They are the ones that are vocal about their opinions.

                                                                                                                      Alright, where does the dirt digging stop, then? Everyone that’s somehow associated as commenting in this thread, supportive or otherwise? Because they may somehow have an agenda too?

                                                                                                                      Dude, you’re not the bad person. No one’s saying you are. I’m just done with communities that engage in shit slinging, doxxing, and public shaming rather than actual discussion in good faith.

                                                                                                                      Anyway, peace out, lobsters. N-gate was right about you.

                                                                                                                      1. 4

                                                                                                                        I had someone PM me with personal details about myself while using a randomized username on reddit a few years back because I said that I didn’t think Ohio State was very good that year. People dox and dig up dirt for varied reasons. The nazi thing is an extreme example of that, but it happens for all sorts of other strange reasons as well.

                                                                                                                        I no longer use Reddit because of that event, and now I try to stick to a minimal set of social sites (like this one) where it’s obvious who I am if you search my username or look at my profile.

                                                                                                                        I don’t think you should feel obligated to listen to someone’s viewpoint if it’s non-technical (or even if it is technical really), but in this forum, the less I know about people, the better. I like hearing opinions or thoughts on tech without knowing who they are. I can’t control how they think or feel otherwise.

                                                                                                                    2. 5

                                                                                                                      Are you asking for Lobsters (and its mods, etc.) to:

                                                                                                                      • Explicitly condemn Nazism, white supremacy, and murder
                                                                                                                      • Ban anyone who publicly espouses these ideas, on or off our site
                                                                                                                      1. 23

                                                                                                                        You write as if that would be some kind of absurd idea, when it seems quite sensible to me..?

                                                                                                                        1. 9

                                                                                                                          thank you for objecting to that.

                                                                                                                          reductio ad absurdem requires absurdity, and I’m not used to seeing “explicitly condemn Nazism” held forth as obviously absurd.

                                                                                                                          1. 5

                                                                                                                            It seems absurd to me because it’s kind of a given. Not every site needs to say “hey don’t murder people” for me to feel good about using it. It’s a general human sentiment that murder is bad. Explicitly stating it and only targeting those viewpoints makes me wonder why we aren’t explicitly denouncing every type of supremacy, nativism, genocide, rape, etc.

                                                                                                                            But I do think banning people who espouse any of those views (spoken or unspoken) on the site is not only warranted, but should also lead to a probationary period for the person who invited them.

                                                                                                                            1. 6

                                                                                                                              I don’t think we need to make a list of things we don’t agree with. But I do think that we should be clear that people who are known for their malicious activities (e.g. support for murder or racism) are not welcome here.

                                                                                                                            2. -1

                                                                                                                              Putting this bluntly, the second one is stupid and anyone who argues for it is stupid. On or off our site? What the hell. Maybe in person I could logic my way into thinking that it’s ok but online? Thousands of miles away with no immediate threat to my wellbeing?

                                                                                                                              Online there’s always going to be that one jerk who doxes someone else for wrong-think and it’ll start with this.

                                                                                                                              1. 12

                                                                                                                                Thank you for proving your commitment to the cause of rational discussion by calling me stupid.

                                                                                                                                The thing is, we want Lobsters to be a place where all people are welcome. If we allow known neo-nazis to hang out with us, then people that feel threatened by those neo-nazis won’t come here. Sure, it’s not a threat to them per se, but why would you want to spend your free time talking to people that literally want you dead?

                                                                                                                                Being a neo-nazi is a choice. Belonging to a minority group isn’t. We should give the neo-nazis the boot and welcome the members of minority groups.

                                                                                                                                1. 5

                                                                                                                                  why would you want to spend your free time talking to people that literally want you dead?

                                                                                                                                  Because they have information I want and are capable of staying on topic for the site I’m on. I do not care what they do anywhere else. It is incredibly vexing that people are making me defend the scum of humanity.

                                                                                                                                  I believe all people are welcome on lobste.rs if they’re not talking about tons of off-topic stuff and spewing out hate while they’re here.

                                                                                                                                  1. 13

                                                                                                                                    Do you also want information from people who, for example, would feel uncomfortable sharing a discussion forum with neo-nazis?

                                                                                                                                    This isn’t value-neutral, we have a choice to make: either we welcome the neo-nazis, or we welcome the people-who-don’t-want-to-talk-to-neo-nazis. I know who’s getting my vote.

                                                                                                                                    1. 5

                                                                                                                                      This isn’t value-neutral

                                                                                                                                      I reject that premise.

                                                                                                                                      The nazi stuff should not enter the flow of conversation for nearly any thread on lobste.rs. The only reason we’re discussing it now because this is a meta thread and it was brought up by itamarst. If he hadn’t then we’d not know and not care.

                                                                                                                                      So I think that if we actually talk about the things that we thought we were going to talk about when we were invited in the first place there won’t be any issues with your first sentence.

                                                                                                                                2. 7

                                                                                                                                  Please don’t call other users or standpoints stupid. It’s okay to disagree, it’s even better to providing reasoning, but name-calling never helps.

                                                                                                                            3. 6

                                                                                                                              You only lose the people who care more about Nazi status more than technology–and they’d doubtless be happier elsewhere, in a community that puts ideology and identity above knowledge and civility. I’ve made my peace with that.

                                                                                                                              I don’t think that you can fundamentally ensure that people always feel welcome, and there is no surer road to ruin than to cater to everybody’s exclusionary preferences. Everybody has a reason to hate Nazis, or furries, or Republicans, or women, or whatever–the only way a community grows and flourishes is by providing people the space and protocols to interact without requiring alignment on those things.

                                                                                                                              Don’t want to take up more space here on it, but am happy to continue discussing in DMs with whoever would like to.

                                                                                                                              1. 33

                                                                                                                                The fact that you seem to define “civility” as - roughly speaking - some sort of shallow politeness enabling us all to chum it up with nazis so long as we’re speaking about computers, rather than as good citizenship and strong community built on respect for one’s peers suggests to me that you’d be a terrible moderator.

                                                                                                                                1. 19

                                                                                                                                  Agreed, that kind of response seems like it comes from a place of privilege. As in, “this doesn’t concern me too much, what’s the big idea?”

                                                                                                                                  It’s been interesting to see convos here and elsewhere around accepting views that are rooted in hate but somehow we should all just suck it up because that’s “fair.” I’m often the only Black person in cis-White male dominated spaces so this is nothing new to me. Just…interesting to see this play out in the open for the first time.

                                                                                                                                  Confronted with the knowledge of one’s privilege blinding oneself to what the disenfranchised has known to be true for eons is fascinating to watch/read.

                                                                                                                                  1. 5

                                                                                                                                    I’ll politely point out that my view would extend, were the conversations civil and on-topic, to folks like Malcolm X or Newton or Seale–not just stuffy old white dudes.

                                                                                                                                    I think that, as John Perry Barlow observed, we here in cyberspace have the opportunity to transcend the strife we were all born into. Part of that means evaluating people based on their behaviour and not on what we think about their beliefs.

                                                                                                                                    Edit: fixed rather embarrassing misattribution.

                                                                                                                                    1. 11

                                                                                                                                      (Davos is a place in Switzerland. That piece was authored by John Perry Barlow. I recommend the movie Hypernormalisation, there’s a very interesting part featuring Barlow and the other technolibertarians, discussing the connections to the counter-culture movement in the 60s)

                                                                                                                                      I cannot help but find this sort of cyber-utopianism incredibly naïve. Things that happen on the internet can and do have effects on people in the real world. It’s been a long, long time since “just walk away from the screen, just close your eyes” was a genuine take to have.

                                                                                                                                      1. 4

                                                                                                                                        Thanks for catching that, still waking up.

                                                                                                                                        It’s a naive approach, but that’s kinda the point right? Like, should we not strive to live in that more ideal, simpler, better world?

                                                                                                                                  2. 2

                                                                                                                                    good citizenship

                                                                                                                                    What do you mean by this?

                                                                                                                                    I agree btw.

                                                                                                                                  3. 18

                                                                                                                                    Everybody has a reason to hate Nazis, or furries, or Republicans, or women, or whatever

                                                                                                                                    I think you may be lumping together several dissimilar attitudes here.

                                                                                                                                    I do not think lobste.rs is suffering from including “the wrong people” or anything like that. We probably do have some people with terrible opinions, but it doesn’t leak into our usual discussions.

                                                                                                                                    However, I do think it would be bad to have a mod to express the attitude that “some people hate Nazis, some people hate women. A pox on both their houses!”

                                                                                                                                    I say “express” because I am not saying what you really think is “hating women is equivalent to hating Nazis”. But a mod has to be careful.

                                                                                                                              2. 6

                                                                                                                                Why stop with Nazis? If anyone shows any Nazi propaganda, they should be out. But let’s extend it to all other groups that cause harm to others. Any member of US army should be gone, heck, they didn’t try to kill my grandma, they killed my relatives, which were civilians (and they are still killing others in my country due to depleted uranium that was used in bombings). Also all the members of tech companies that help these strikes (looking at you, Microsoft et al).

                                                                                                                                Obviously, I’m exaggerating here to show a point that if we only look at membership of a group to exclude someone, we might also start extending the groups, as various people can/are affected. Personally, I don’t care which group people belong to, as long as they are not a threat to my family and are trying to help (or are just plain neutral) — which I think plenty of people here are, and that’s the main reason I come to this site.

                                                                                                                                1. 8

                                                                                                                                  We did exactly this when a Palantir showed up to show a neat thing. It was one of the most shameful things I’ve seen in my time here.

                                                                                                                                  1. 5

                                                                                                                                    You are not exaggerating at all.

                                                                                                                                    1. 2

                                                                                                                                      This reads like the opposite-day version of “First they came…” by Martin Niemöller.

                                                                                                                                      1. 1

                                                                                                                                        That is a great poem that I have only heard so far paraphrased. Thanks for sharing! However, it has been a rough week for me, so I don’t get the “opposite-day version” part, could you elaborate?

                                                                                                                                    2. 4

                                                                                                                                      Circumstances under which I would be OK with an Actual Nazi participating (both conditions must hold):

                                                                                                                                      1. User does not reveal themselves to be a Nazi on the site, either by explicit statement or in the way they act, and
                                                                                                                                      2. User is not notoriously a Nazi externally to the site, either for having done something terrible or by making themselves a “public figure” wrt their viewpoints.

                                                                                                                                      If someone behaves themselves on the site, and their behavior on the site does not create distress for others, I don’t see why people should be encourage in shitstirring. (If it is inevitable that someone’s presence will create distress, regardless of the behavior of anyone on the site, I would strongly suggest they use a pseudonym.)

                                                                                                                                      “Nazi” is an unlikely and hyperbolic example, but I’ve seen people go and seek out damning information of one sort or another about a member of a community (including doxxing them), and then make it a thing. It wouldn’t have been a thing, and wouldn’t have caused stress to members of oppressed populations, if they didn’t do that! By digging, they’ve actually caused harm. So my rule would be that the notoriety has to originate externally or via direct actions on the site, or you just incentivize this ugly community antipattern.

                                                                                                                                      (Some of my ancestors were murdered by Actual Nazis or had to emigrate to avoid them, in case you need that for my opinion to be valid.)

                                                                                                                                      ((EDIT: I don’t want to be a mod, though.))

                                                                                                                                    3. 8

                                                                                                                                      Maybe don’t apply if you’re seeking to do if because you think it’s what people want you to do… Someone with that personality might be inclined to lose interest before their term is up if they think popular opinion is drifting away from them…

                                                                                                                                      1. 22

                                                                                                                                        My reasoning–and I’ve always held this position–is that anybody seeking such a position is either a lunatic, a tyrant, or both, and not to be trusted. Myself included.

                                                                                                                                        That said…

                                                                                                                                        Look, if we’re down to just one moderator, that’s a rough gig. That, plus the current state of the world, makes me worry for the site focus and discussion culture of Lobsters, and if I can help I’m happy to do so–and pushcx is welcome to shitcan and ban me (and will likely do so with great relish) at will should I fail in my duties.

                                                                                                                                        Asking for sufficient votes before appliying is me, in effect, getting a gauge of if the community would agree to abide. As we’ve seen in my country this year, the legitimacy of government ultimately stems from the consent of the governed.

                                                                                                                                        1. 11

                                                                                                                                          And as I’ve seen in my country (US) this year, it’s wise not to give power to folks who are in it for the attention :P

                                                                                                                                          1. 5

                                                                                                                                            I personally (and I have a decidedly average number of internet points) like the way your postings changed when your nick changed to friendly. That change shows an appreciation of your past and new styles that I would like to see in moderators.

                                                                                                                                          2. 2

                                                                                                                                            TBH asking to be upvoted seems like a bit of a conflict of interest with wanting to be a mod… as friendlysock said

                                                                                                                                          3. 7

                                                                                                                                            :(

                                                                                                                                          1. 23

                                                                                                                                            I used to think this was the case until I realized that Google funds Firefox through noblesse oblige, and so all the teeth-gnashing over “Google owns the Internet” is still true whether you use Chrome directly or whether you use Firefox. The only real meaningful competition in browsers is from Apple (God help us.) Yes, Apple takes money from Google too, but they don’t rely on Google for their existence.

                                                                                                                                            I am using Safari now, which is… okay. The extension ecosystem is much less robust but I have survived. I’m also considering Brave, but Chromium browsers just gulp down the battery in Mac OS so I’m not totally convinced there yet.

                                                                                                                                            Mozilla’s recent political advocacy has also made it difficult for me to continue using Firefox.

                                                                                                                                            1. 18

                                                                                                                                              I used to think this was the case until I realized that Google funds Firefox through noblesse oblige, and so all the teeth-gnashing over “Google owns the Internet” is still true whether you use Chrome directly or whether you use Firefox.

                                                                                                                                              I’m not sure the premise is true. Google probably wants to have a practical monopoly that does not count as a legal monopoly. This isn’t an angelic motive, but isn’t noblesse oblige.

                                                                                                                                              More importantly, the conclusion doesn’t follow–at least not 100%. Money has a way of giving you control over people, but it can be imprecise, indirect, or cumbersome. I believe what Google and Firefox have is a contract to share revenue with Firefox for Google searches done through Firefox’s url bar. If Google says “make X, Y and Z decisions about the web or you’ll lose this deal”, that is the kind of statement antitrust regulators find fascinating. Since recent years have seen increased interest in antitrust, Google might not feel that they can do that.

                                                                                                                                              1. 9

                                                                                                                                                Yes, I agree. It’s still bad that most of Mozilla’s funding comes from Google, but it matters that Mozilla is structured with its intellectual property owned by a non-profit. That doesn’t solve all problems, but it creates enough independence that, for example, Firefox is significantly ahead of Chrome on cookie-blocking functionality - which very much hits Google’s most important revenue stream.

                                                                                                                                                1. 4

                                                                                                                                                  Google never has to say “make X, Y and Z decisions about the web or you’ll lose this deal,” with or without the threat of antitrust regulation. People have a way of figuring out what they have to do to keep their job.

                                                                                                                                                2. 17

                                                                                                                                                  I’m tired of the Pocket suggested stories. They have a certain schtick to them that’s hard to pin down precisely but usually amounts to excessively leftist, pseudo-intellectual clickbait: “meat is the privilege of the west and needs to stop.”

                                                                                                                                                  I know you can turn them off.

                                                                                                                                                  I’m arguing defaults matter, and defaults that serve to distract with intellectual junk is not great. At least it isn’t misinformation, but that’s not saying much.

                                                                                                                                                  Moving back to Chrome this year because of that, along with some perf issues I run into more than I’d like. It’s a shame, I wanted to stop supporting Google, but the W3C has succeeded in creating a standard so complex that millions of dollars are necessary to adequately fund the development of a performant browser.

                                                                                                                                                  1. 2

                                                                                                                                                    Moving back to Chrome this year because of that, along with some perf issues I run into more than I’d like. It’s a shame, I wanted to stop supporting Google, but the W3C has succeeded in creating a standard so complex that millions of dollars are necessary to adequately fund the development of a performant browser.

                                                                                                                                                    In case you haven’t heard of it, this might be worth checking out: https://ungoogled-software.github.io/

                                                                                                                                                    1. 1

                                                                                                                                                      Except as of a few days ago Google is cutting off access to certain APIs like Sync that Chromium was using.

                                                                                                                                                      1. 1

                                                                                                                                                        Straight out of the Android playbook

                                                                                                                                                  2. 4

                                                                                                                                                    Mozilla’s recent political advocacy has also made it difficult for me to continue using Firefox.

                                                                                                                                                    Can you elaborate on this? I use FF but have never delved into their politics.

                                                                                                                                                    1. 16

                                                                                                                                                      My top of mind example: https://blog.mozilla.org/blog/2021/01/08/we-need-more-than-deplatforming/

                                                                                                                                                      Also: https://blog.mozilla.org/blog/2020/07/13/sustainability-needs-culture-change-introducing-environmental-champions/ https://blog.mozilla.org/blog/2020/06/24/immigrants-remain-core-to-the-u-s-strength/ https://blog.mozilla.org/blog/2020/06/24/were-proud-to-join-stophateforprofit/

                                                                                                                                                      I’m not trying to turn this into debating specifically what is said in these posts but many are just pure politics, which I’m not interested in supporting by telling people to use Firefox. My web browser doesn’t need to talk about ‘culture change’ or systemic racism. Firefox also pushes some of these posts to the new tab page, by default, so it’s not like you can just ignore their blog.

                                                                                                                                                      1. 6

                                                                                                                                                        I’m started to be afraid that being against censorship is enough to get you ‘more than de-platformed’.

                                                                                                                                                          1. 10

                                                                                                                                                            Really? I feel like every prescription in that post seems reasonable; increase transparency, make the algorithm prioritize factual information over misinformation, research the impact of social media on people and society. How could anyone disagree with those points?

                                                                                                                                                            1. 17

                                                                                                                                                              You’re right, how could anyone disagree with the most holy of holies, ‘fact checkers’?

                                                                                                                                                              Here’s a great fact check: https://www.politifact.com/factchecks/2021/jan/06/ted-cruz/ted-cruzs-misleading-statement-people-who-believe-/

                                                                                                                                                              The ‘fact check’ is a bunch of irrelevant information about how bad Ted Cruz and his opinions are, before we get to the meat of the ‘fact check’ which is, unbelievably, “yes, what he said is true, but there was also other stuff he didn’t say that we think is more important than what he did!”

                                                                                                                                                              Regardless of your opinion on whether this was a ‘valid’ fact check or not, I don’t want my web browser trying to pop up clippy bubbles when I visit a site saying “This has been officially declared by the Fact Checkers™ as wrongthink, are you sure you’re allowed to read it?” I also don’t want my web browser marketer advocating for deplatforming (“we need more than deplatforming suggests that deplatforming should still be part of the ‘open’ internet.) That’s all.

                                                                                                                                                              1. 15

                                                                                                                                                                a bunch of irrelevant information about how bad Ted Cruz and his opinions are

                                                                                                                                                                I don’t see that anywhere. It’s entirely topical and just some context about what Cruz was talking about.

                                                                                                                                                                the meat of the ‘fact check’ which is, unbelievably, “yes, what he said is true, but there was also other stuff he didn’t say that we think is more important than what he did!”

                                                                                                                                                                That’s not what it says at all. Anyone can cherry-pick or interpret things in such a way that makes their statement “factual”. This is how homeopaths can “truthfully” point at studies which show an effect in favour of homeopathy. But any fact check worth its salt will also look at the overwhelming majority of studies that very clearly demonstrate that homeopathy is no better than a placebo, and therefore doesn’t work (plus, will point out that the proposed mechanisms of homeopathy are extremely unlikely to work in the first place, given that they violate many established laws of physics).

                                                                                                                                                                The “39% of Americans … 31% of independents … 17% of Democrats believe the election was rigged” is clearly not supported by any evidence, and only by a tenuous interpretation of a very limited set of data. This is a classic case of cherry-picking.

                                                                                                                                                                I hardly ever read politifact, but if this is really the worst fact-check you can find then it seems they’re not so bad.

                                                                                                                                                                1. 7

                                                                                                                                                                  This article has a few more examples of bad fact checks:

                                                                                                                                                                  https://greenwald.substack.com/p/instagram-is-using-false-fact-checking

                                                                                                                                                                2. 7

                                                                                                                                                                  Media fact-checkers are known to be biased.

                                                                                                                                                                  [Media Matters lobby] had to make us think that we needed a third party to step in and tell us what to think and sort through the information … The fake news effort, the fact-checking, which is usually fake fact-checking, meaning it’s not a genuine effort, is a propaganda effort … We’ve seen it explode as we come into the 2020 election, for much the same reason, whereby, the social media companies, third parties, academic institutions and NewsGuard … they insert themselves. But of course, they’re all backed by certain money and special interests. They’re no more in a position to fact-check than an ordinary person walking on the street … — Sharyl Attkisson on Media Bias, Analysis by Dr. Joseph Mercola

                                                                                                                                                                  Below is a list of known rebuttals of some “fact-checkers”.

                                                                                                                                                                  Politifact

                                                                                                                                                                  • I wanted to show that these fact-checkers just lie, and they usually go unchecked because most people don’t have the money, don’t have the time, and don’t have the platform to go after them — and I have all three” — Candace Owens Challenges Fact-Checker, And Wins

                                                                                                                                                                  Full fact (fullfact.org)

                                                                                                                                                                  Snopes

                                                                                                                                                                  Associated Press (AP)

                                                                                                                                                                  • Fact-checking was devised to be a trusted way to separate fact from fiction. In reality, many journalists use the label “fact-checking” as a cover for promoting their own biases. A case in point is an Associated Press (AP) piece headlined “AP FACT-CHECK: Trump’s inaccurate boasts on China travel ban,” which was published on March 26, 2020 and carried by many news outlets.” — Propaganda masquerading as fact-checking

                                                                                                                                                                  Politico

                                                                                                                                                                  1. 4

                                                                                                                                                                    I’m interested in learning about the content management systems that these fact checker websites use to effectively manage large amounts of content with large groups of staff. Do you have any links about that?

                                                                                                                                                                    1. 3

                                                                                                                                                                      The real error is to imply that “fact checkers” are functionally different from any other source of news/journalism/opinion. All such sources are a collection of humans. All humans have bias. Many such collections of humans have people that are blind to their own bias, or suffer a delusion of objectivity.

                                                                                                                                                                      Therefore the existence of some rebuttals to a minuscule number of these “fact checks” (between 0 and 1% of all “fact checks”) should not come as a surprise to anyone. Especially when the rebuttals are published by other news/journalism/opinion sources that are at least as biased and partisan as the fact checkers they’re rebutting.

                                                                                                                                                                      1. 1

                                                                                                                                                                        The real error is to imply that “fact checkers” are functionally different from any other source of news/journalism/opinion.

                                                                                                                                                                        Indeed they aren’t that different. Fact-checkers inherit whatever bias that is already present in mainstream media, which itself is a well-documented fact, as the investigative journalist Sharyl Atkisson explored in her two books:

                                                                                                                                                                        • The Smear exposes and focuses on the multi-billion dollar industry of political and corporate operatives that control the news and our info, and how they do it.
                                                                                                                                                                        • Slanted looks at how the operatives moved on to censor info online (and why), and has chapters dissecting the devolution of NYT and CNN, recommendations where to get off narrative news, and a comprehensive list of media mistakes.
                                                                                                                                                                3. 5

                                                                                                                                                                  After reading that blog post last week I switched away from Firefox. It will lead to the inevitable politicization of a web browser where the truthfulness of many topics is filtered through a very left-wing, progressive lens.

                                                                                                                                                                  1. 22

                                                                                                                                                                    I feel like “the election wasn’t stolen” isn’t a left- or right-wing opinion. It’s just the truth.

                                                                                                                                                                    1. 15

                                                                                                                                                                      To be fair, I feel like the whole idea of the existence of an objective reality is a left-wing opinion right now in the US.

                                                                                                                                                                      1. 5

                                                                                                                                                                        There are many instances of objective reality which left-wing opinion deems problematic. It would be unwise to point them out on a public forum.

                                                                                                                                                                        1. 8

                                                                                                                                                                          I feel like you have set up a dilemma for yourself. In another thread, you complain that we are headed towards a situation where Lobsters will no longer be a reasonable venue for exploring inconvenient truths. However, in this thread, you insinuate that Lobsters already has become unreasonable, as an excuse for avoiding giving examples of such truths. Which truths are being silenced by Lobsters?

                                                                                                                                                                          Which truths are being silenced by Mozilla? Keep in mind that the main issue under contention in their blog post is whether a privately-owned platform is obligated to repeat the claims of a politician, particularly when those claims would undermine democratic processes which elect people to that politician’s office; here, there were no truths being silenced, which makes the claim of impending censorship sound like a slippery slope.

                                                                                                                                                                          1. 4

                                                                                                                                                                            Yeah but none that are currently fomenting a coup in a major world power.

                                                                                                                                                                      2. 16

                                                                                                                                                                        But… Mozilla has been inherently political the whole way. The entire Free Software movement is incredibly political. Privacy is political. Why is “social media should be more transparent and try to reduce the spread of blatant misinformation” where you draw the line?

                                                                                                                                                                        1. 5

                                                                                                                                                                          That’s not where I draw the line. We appear to be heading towards a Motte and Bailey fallacy where recent events in the US will be used as justification to clamp down on other views and opinions that left-wing progressives don’t approve of (see some of the comments on this page about ‘fact checkers’)

                                                                                                                                                                          1. 7

                                                                                                                                                                            In this case though, the “views and opinions that left-wing progressives don’t approve of” are the ideas of white supremacy and the belief that the election was rigged. Should those not be “clamped down” on? (I mean, it’s important to be able to discuss whether the election was rigged, but not when it’s just a president who doesn’t want to accept a loss and has literally no credible evidence of any kind.)

                                                                                                                                                                            1. 2

                                                                                                                                                                              I mentioned the Motte and Bailey fallacy being used and you bring up ‘white supremacy’ in your response! ‘White Supremacy’ is the default Motte used by the progressive left. The Bailey being a clamp down on much more contentious issues. Its this power to clamp down on the more contentious issues that I object to.

                                                                                                                                                                              1. 6

                                                                                                                                                                                So protest clamp downs on things you don’t want to see clamp downs on, and don’t protest clamp downs on things you feel should be clamped down on? We must be able to discuss and address real issues, such as the spread of misinformation and discrimination/supremacy.

                                                                                                                                                                                But that’s not even super relevant to the article in question. Mozilla isn’t even calling for censoring anyone. It’s calling for a higher degree of transparency (which none of us should object to) and for the algorithm to prioritize factual information over misinformation (which everyone ought to agree with in principle, though we can criticize specific ways to achieve it).

                                                                                                                                                                                1. 4

                                                                                                                                                                                  We are talking past each other in a very unproductive way.

                                                                                                                                                                                  The issue I have is with what you describe as “…and for the algorithm to prioritize factual information over misinformation”

                                                                                                                                                                                  Can you not see the problem when the definition of ‘factual information’ is in the hands of a small group of corporations from the West Coast of America? Do you think that the ‘facts’ related to certain hot-button issues will be politically neutral?

                                                                                                                                                                                  It’s this bias that i object to.

                                                                                                                                                                                  This American cultural colonialism.

                                                                                                                                                                                  1. 3

                                                                                                                                                                                    Can you not see the problem when the definition of ‘factual information’ is in the hands of a small group of corporations from the West Coast of America?

                                                                                                                                                                                    ReclaimTheNet recently published a very good article on this topic

                                                                                                                                                                                    https://reclaimthenet.org/former-aclu-head-ira-glasser-explains-why-you-cant-ban-hate-speech/

                                                                                                                                                                                    1. 3

                                                                                                                                                                                      That’s an excellent article. Thank you for posting it.

                                                                                                                                                                                      1. 3

                                                                                                                                                                                        You’re welcome. You might be interested in my public notes on the larger topic, published here.

                                                                                                                                                                        2. 3

                                                                                                                                                                          Out of interest, to which browser did you switch?

                                                                                                                                                                    2. 2

                                                                                                                                                                      if possible, try vivaldi, being based on chromium, it will be easiest to switch to f.e. you can install chromium’s extensions in vivaldi. not sure about their osx (which seems to be your use-case), support though, so ymmv.

                                                                                                                                                                    1. 2

                                                                                                                                                                      Writing truly reusable components is hard. Integrating libraries or frameworks is also typically hard–unless the library is truly simple or truly familiar (leftpad was the former, a regex library might be the latter).

                                                                                                                                                                      So I think this is an interesting thought experiment, but like writing a book without the letter ‘e’, it’s not a rule that you can follow to make your overall work better. Omit words, delete code, live minimally–sometimes. But also add words, write code and buy kitchen gadgets when they’ll serve an important purpose. There’s no substitute for case by case judgment about what you should do in each specific instance.

                                                                                                                                                                      1. 3

                                                                                                                                                                        Writing a book without a given plot, or without Deus Ex Machina, might make your overall work better.

                                                                                                                                                                        Expressing a complicated idea without any major domain specific vocabulary words and within a page can drastically improve the effect and reach of the work.

                                                                                                                                                                      1. 2

                                                                                                                                                                        It’s sort of fascinating to read that something I’ve never thought about doing is practically impossible. Of course, I wasn’t programming in the early 2000s. What were people trying to do back then?

                                                                                                                                                                        1. 5

                                                                                                                                                                          Nullable types exist in the static type system, but the runtime representation of values uses the underlying type. If you have a “nullable 3”, at runtime it’s just the number 3. If you have an absent value of some nullable type, at runtime you just have the solitary magic value null.

                                                                                                                                                                          I don’t see how this is possible; you need some out-of-band value to represent null. Magic doesn’t exist, it’s just something operating by rules you can’t see.

                                                                                                                                                                          1. 3

                                                                                                                                                                            Would this work fine if everything is boxed? Without knowing the runtime of Dart, I wouldn’t be surprised if that’s true.

                                                                                                                                                                            1. 1

                                                                                                                                                                              …heck you’re right, that’s the obvious answer.

                                                                                                                                                                            2. 2

                                                                                                                                                                              Here’s an example of how it works in two languages I use:

                                                                                                                                                                              TypeScript:

                                                                                                                                                                              let foo: number | null
                                                                                                                                                                              foo = 3
                                                                                                                                                                              console.log(typeof foo) // "number"
                                                                                                                                                                              foo = null
                                                                                                                                                                              console.log(typeof foo) // "object"
                                                                                                                                                                              console.log(typeof null) // "object"
                                                                                                                                                                              

                                                                                                                                                                              TypeScript null values report their own type. A value has the same runtime type no matter where it’s used. (This is a bit trivialized by the fact that TypeScript vanishes into JavaScript before runtime.)

                                                                                                                                                                              Swift:

                                                                                                                                                                                1> var foo: Optional<Int>
                                                                                                                                                                              foo: Int? = 0
                                                                                                                                                                                2> foo = 3 // Shorthand for Optional<Int>.some(3)
                                                                                                                                                                                3> print(Mirror(reflecting: foo))
                                                                                                                                                                              Mirror for Optional<Int>
                                                                                                                                                                                4> foo = nil // Shorthand for Optional<Int>.none
                                                                                                                                                                                5> print(Mirror(reflecting: foo)) 
                                                                                                                                                                              Mirror for Optional<Int>
                                                                                                                                                                                6> print(nil)
                                                                                                                                                                              error: repl.swift:6:7: error: 'nil' is not compatible with expected argument type 'Any'
                                                                                                                                                                              

                                                                                                                                                                              Swift null values are a case of the generic type Optional. The runtime type of an Optional is the same, regardless of whether it’s the .some case or the .none case. Here it’s either .some and contains an int, or it’s .none and does not contain anything. That is to say, nil is just a keyword that refers to a case of a certain standard library type. You can’t even print it without a concrete Optional type, because it is not itself a value. The out of band value you’re referring to is the bit of the Optional that indicates which case it is.

                                                                                                                                                                              An interesting effect here is that Optional<Int>.none and Optional<SomethingElse>.none are both usually expressed by nil and then inferred in context, but they are distinct values, can’t be assigned to a variable of the other type, and are unlikely to be the same allocated size. Compare with TypeScript, where you can take a number | null, compare to see if it is null, and assign the result to a receiver of type string | null. Swift has no such value that can be copied between distinct concrete types of Optional.

                                                                                                                                                                            1. 21

                                                                                                                                                                              This could be one of those hard cases that I talked about recently. This is mostly critiquing his programming, but then there’s notes about his business work that he’s now more famous for, and the business stuff is off-topic here. I’m not removing this because it’s mostly programming. Please help maintain the topicality of the site by not diving into his business and politics. (And reminder: anyone is welcome to help work through the above cases to figure out where to draw the line and how to express it. Those comments I just linked are my current thinking as I slowly work towards getting more of this more explicitly into /about.)

                                                                                                                                                                              1. 30

                                                                                                                                                                                I enjoy bashing PG and startupcanistan as much as anyone, but this critique was heavy on “PG is an ossified hasbeen reactionary” and light on good critiques of Arc.

                                                                                                                                                                                An article about why Arc has deficiencies and what we can learn from it is one thing; character attacks in the guise of technical critique are another.

                                                                                                                                                                                I am as sure the real damages and harm PG has done are nontechnical as I am sure this is offtopic.

                                                                                                                                                                                1. 24

                                                                                                                                                                                  More succinctly: we wouldn’t celebrate an article attacking Larry Wall or Richatd Stallman instead of Perl or Emacs.

                                                                                                                                                                                  0r at least, I would hope we wouldn’t.

                                                                                                                                                                                  1. 10

                                                                                                                                                                                    I don’t have as much faith in the ability of the lobsters commentariat (and moderation team) to fairly judge what content is too political to be on-topic as you do. I would say that merely using the word “reactionary” in a pejorative way makes this article far more political than, say, anything I’ve ever posted here about Urbit that was flagged as off topic or trolling.

                                                                                                                                                                                    1. 3

                                                                                                                                                                                      Just to note that the bar for discussing an article here shouldn’t be that it’s worthy of celebration. What’s being discussed is whether this is on-topic at all.

                                                                                                                                                                                      1. 9

                                                                                                                                                                                        Consider the case of an article about, I don’t know, old IBM punchcards. Perfectly good information. Additionally, the author goes into Holocaust ramblings. How much other stuff are you willing to put up with?

                                                                                                                                                                                        The exploit being used in this article is “mix nontechnical political content, e.g. character assasination, in with sufficient technical content, e.g. language design”.

                                                                                                                                                                                        The article itself could’ve been written purely as a critique of Arc, with a passing reference to its designer, but that clearly isn’t why it was written.

                                                                                                                                                                                        1. 8

                                                                                                                                                                                          This isn’t even close to character assassination. It gives due praise but delves into a serious critique of character or maybe more accurately of method and intent. That was the point of the article. The technical content isn’t an excuse for the political content, it’s an illustrative example. The fact that the article isn’t a good fit for Lobsters shouldn’t matter to the author one bit.

                                                                                                                                                                                          1. 9

                                                                                                                                                                                            It gives due praise but delves into a serious critique of character or maybe more accurately of method and intent. That was the point of the article. The technical content isn’t an excuse for the political content, it’s an illustrative example.

                                                                                                                                                                                            Thank you for making my point!

                                                                                                                                                                                            Lobsters isn’t a site for character critiques and other drama gussied up with supporting technical details.

                                                                                                                                                                                            1. 6

                                                                                                                                                                                              Well, in theory a lot of people take technical advice from his essays on programming languages, language design, etc. If someone believes that’s a bad idea, it is 100% fair game and technical content to make that argument. Not long ago there was a piece that critiqued taking technical advice from Bob Martin by pointing out problems with Clean Code, for example.

                                                                                                                                                                                      2. 1

                                                                                                                                                                                        More succinctly: (make-my-point)

                                                                                                                                                                                      3. 6

                                                                                                                                                                                        I disagree, it is fairly technical and on point with Arc.

                                                                                                                                                                                        Speaking as someone who actually wrote a program in Arc when it was released.

                                                                                                                                                                                      4. 24

                                                                                                                                                                                        Is this a reasonable summary of the article?

                                                                                                                                                                                        • PG’s writing has taken a reactionary turn
                                                                                                                                                                                        • Brevity in language design is a flawed and unrigorous notion. He’s using his intuition, which has not held up to reality
                                                                                                                                                                                        • This is evidence that he uses his intuition everywhere; his opinions about politics shouldn’t be taken seriously.

                                                                                                                                                                                        It’s a fair enough set of observations, although I’m not sure the argument is air tight. It’s also a very roundabout way of refuting political arguments… I’d rather just read a direct refutation of the politics (on a different site)

                                                                                                                                                                                        1. 16

                                                                                                                                                                                          Yes, the politics mentioned in the introduction felt out of place. The rest of the article was well-written and dispassionately argued, but I couldn’t help feeling the whole piece was motivated by political disagreements with Graham (epitomized by the coinbase tweet), and that diminished its impact for me.

                                                                                                                                                                                          1. 8

                                                                                                                                                                                            I don’t think it’s as clear as it could be, but I read the article as starting from the assumption that Graham’s recent political and social writing is poor, and then asking whether the earlier more technical writing is similarly flawed.

                                                                                                                                                                                            If the argument went the way you said, it would be pretty bad. This is why I think talking about logical fallacies is less valuable than many people think. It’s usually pretty easy to tell if a precisely stated argument is fallacious. What’s harder is reconstructing arguments in the wild and making them precise.

                                                                                                                                                                                            1. 13

                                                                                                                                                                                              Yeah, if you want PG criticism, just go straight for Dabblers and Blowhards. It’s funny and honest about what it’s doing.

                                                                                                                                                                                              https://idlewords.com/2005/04/dabblers_and_blowhards.htm

                                                                                                                                                                                              This article spends a lot of words saying something that could be said a lot more directly. I’m not really a fan of the faux somber/thoughtful tones.

                                                                                                                                                                                              (FWIW I think PG’s latest articles have huge holes, with an effect that’s possibly indistinguishable of that of willfully creating confusion. But it’s also good to apply the principle of charity, and avoid personal attacks.)

                                                                                                                                                                                            2. 5

                                                                                                                                                                                              You’ve removed an implication that libraries matter as much as the base language, some negative remarks on Paul Graham’s work as a language designer, and some positive remarks on Paul Graham’s overall effectiveness as a developer, technical writer, and marketer.

                                                                                                                                                                                              But yes, the article seems fairly well summarized by its “This is all to say that Paul Graham is an effective marketer and practitioner, but a profoundly unserious public intellectual (…)”.

                                                                                                                                                                                            3. 12

                                                                                                                                                                                              I’m not removing this because it’s mostly programming.

                                                                                                                                                                                              The programming that is mentioned is there to make a case against a person and extend it to a broader point about people. I would’ve made the call the other way.

                                                                                                                                                                                              1. 17

                                                                                                                                                                                                There’s a lot of interesting insight here into how to do language design (and how not to do it). I’m glad it stayed up.

                                                                                                                                                                                              2. 8

                                                                                                                                                                                                This is is a tricky one, yeah. It feels like there’s really three things going on in this article:

                                                                                                                                                                                                • The writer is bashing Paul Graham
                                                                                                                                                                                                • The writer is making it about Paul Graham’s political/social writings
                                                                                                                                                                                                • The writer is supporting those by talking about Paul Graham’s history in the technology field

                                                                                                                                                                                                When looked at that way, I’d lean slightly towards it being offtopic. If one wanted to write something about the design of Arc and the history and origin of design mistakes and the personality of the person that resulted in those mistakes, one could re-use the same arguments in this article and do so. I think one would come up with a very different article if so. So it’s not about the tech or the intersection of humanity and their artifacts, it’s about Paul Graham and their opinions.

                                                                                                                                                                                                1. 6

                                                                                                                                                                                                  I’m glad this article about PG made it to lobsters, otherwise I wouldn’t have seen it. I’ve had a similar journey with PG’s writings as the author, going so far as to purchase Hackers and Painters when I was younger and thought programming made me special. I enjoyed learning a bit more about arc than I would have had this article been moderated off the site.

                                                                                                                                                                                                  1. 5

                                                                                                                                                                                                    Thanks for your hard work @pushcx! Moderation of topics is what makes lobsters great!

                                                                                                                                                                                                    1. 4

                                                                                                                                                                                                      My impression on this meta-topic of to what extent lobste.rs should have posts that touch to some extent on non-technical questions: We’ve arrived at a point where there’s a group of readers who will indiscriminately flag anything off-topic that falls into this category, and another group of readers who will indiscriminately upvote anything of this category that makes it through.

                                                                                                                                                                                                      I’d suggest that it might be better for the health of the community to be a bit more permissive in terms of what political/social/cultural tech-adjacent stories are allowed, and to rather aim to let those that don’t want to see those posts here filter them using the tagging system. (But I’m sure that’s been suggested before.)

                                                                                                                                                                                                    1. 34

                                                                                                                                                                                                      How common is it to find git stash scary? I can’t recall hearing that from anyone I’ve worked with. The manpage has a clear explanation of what it’s for and how it works, with multiple examples covering common use cases.

                                                                                                                                                                                                      1. 19

                                                                                                                                                                                                        I think stash is an odd corner of Git.

                                                                                                                                                                                                        • It doesn’t modify the commit graph. It’s really easy to stash stuff and forget about it. I’ve definitely rewritten code because I forgot it was stashed.
                                                                                                                                                                                                        • It’s an optional part of your workflow. I use git stash but I know plenty of people who have used git for years who don’t touch it. This means it’s not mentioned in “Intro to Git”-type resources.
                                                                                                                                                                                                        • git stash drop is one of the few ways to lose your work. I’ve lost more work stash drop than to reset --hard

                                                                                                                                                                                                        I really like git stash now, but I have learned to avoid keeping important code stashed for very long.

                                                                                                                                                                                                        1. 8

                                                                                                                                                                                                          Yeah, my stash tends to grow with dead code-paths and I have to clean it out every so often. IMO it’s particularly useful as a method to move uncommitted changes to a different a branch. The syntax of stash save will never not confuse me though, it’s so unergonomic.

                                                                                                                                                                                                          1. 2

                                                                                                                                                                                                            Hmm, in what sense does it not modify the commit graph? It seems like it does to me

                                                                                                                                                                                                            git init
                                                                                                                                                                                                            echo hello > a
                                                                                                                                                                                                            git add a && git commit -m "Added a"
                                                                                                                                                                                                            echo goodbye > a
                                                                                                                                                                                                            git stash
                                                                                                                                                                                                            git log --decorate --all --graph --pretty=format:"%C(auto)%h %<(7,trunc)%C(auto)%ae%Creset%C(auto)%d %s [%ar]%Creset"
                                                                                                                                                                                                            *   232e380 tom-g.. (refs/stash) WIP on master: 1a86647 Added a [2 seconds ago]
                                                                                                                                                                                                            |\
                                                                                                                                                                                                            | * ba5c812 tom-g.. index on master: 1a86647 Added a [2 seconds ago]
                                                                                                                                                                                                            |/
                                                                                                                                                                                                            * 1a86647 tom-g.. (HEAD -> master) Added a [10 seconds ago]
                                                                                                                                                                                                            
                                                                                                                                                                                                          2. 8

                                                                                                                                                                                                            I don’t find it scary as such, but feel it’s messy and tends to lose me work. Typically, by running into conflicts that I can’t resolve with git stash pop (possibly by accidentally popping the wrong change). I expect there might be a way to recover, but that’s where it typically ends and I start over from scratch.

                                                                                                                                                                                                            1. 2

                                                                                                                                                                                                              Makes sense. Popping the wrong change by mistake and thus losing it would hurt. I almost always use git stash apply instead of git stash pop, though obviously sticking with apply has the side effect of the stash list growing over time.

                                                                                                                                                                                                            2. 3

                                                                                                                                                                                                              How many here learned git with a GUI? I use git stash all the time without thinking about it but I remember avoiding it for a couple years after I somehow shot myself in the foot with it using a GUI. I only use the cli and scripting at the moment.

                                                                                                                                                                                                              1. 2

                                                                                                                                                                                                                I wouldn’t call it scary, however it’s common for guides to caution against it, and advocate replacing it with temporary commits.

                                                                                                                                                                                                                The potential for merge conflicts and subsequently losing work when doing git stash pop are the one part I might call scary.

                                                                                                                                                                                                                1. 2

                                                                                                                                                                                                                  I find stash scary because if you make a mistake with it you cannot fix it with the reflog. I use it very gingerly and only when I know my editor is also making backups.

                                                                                                                                                                                                                1. 4

                                                                                                                                                                                                                  The question that popped into my head is:

                                                                                                                                                                                                                  “While you can’t compress white noise in general (because it’s random), is it possible to find an image that visually reads as white noise but also compresses well?”

                                                                                                                                                                                                                  Whatever gives us the visual “feel” of white noise can’t be a truly robust measure of randomness, but some sort of simpler test. So an image could have some sort of patterns that the compressor can take advantage of that slips below our detection. How to find such an image and whether the benefits would be worth it would be harder questions, so this idea is probably just an idle curiosity.

                                                                                                                                                                                                                  1. 2

                                                                                                                                                                                                                    I remember trying to exploit formats’ limitations to simulate something close enough; I compressed a JPG to very low quality (didn’t work) and created a GIF with very few colors (as that format contains a palette of the colors used, which I assume takes space within the file). None helped.

                                                                                                                                                                                                                    In retrospect, maybe resizing a compressible pattern using background-size would’ve created the right illusion.

                                                                                                                                                                                                                    In any way, the illusion that worked here was a combination of the image being semi-transparent and, well, a noise, so repeating a smaller noisy tile wasn’t noticeable.

                                                                                                                                                                                                                    There might be other interesting answers that are above my math/optics skills :)

                                                                                                                                                                                                                  1. 1

                                                                                                                                                                                                                    What is the process for deciding on a negative leap second? Is it on autopilot, or would the relevant parties know to say “this would be an entirely untested scenario for essential infrastructure, we need to slow-roll this.”

                                                                                                                                                                                                                    1. 2

                                                                                                                                                                                                                      How would you do a slow roll-out of a UTC leap second..?

                                                                                                                                                                                                                      I know Google does time smearing, but UTC doesn’t have a mechanism for that - Google is just accepting that they’ll be up to a second off from UTC at the beginning of each new leap second.

                                                                                                                                                                                                                      1. 2

                                                                                                                                                                                                                        I meant literally delay doing a negative leap second until we’re convinced it will be safe. My understanding is that while it’s convenient for some purposes to have leap seconds, there’s no risk of infrastructure breaking if we just skipped them for a decade.

                                                                                                                                                                                                                        1. 2

                                                                                                                                                                                                                          Thanks, I guess I should’ve stressed that it’s less about “who” and more about “what considerations are taken into account?”

                                                                                                                                                                                                                          Digging around, I found a pdf and a reference to a standard, which suggests it might be rather automatic: The Role of the IERS in the Leap Second.

                                                                                                                                                                                                                      1. 9

                                                                                                                                                                                                                        M1 is apparently a multi-die package that contains both the actual processor die and the DRAM. As such, it has a very high-speed interface between the DRAM and the processors

                                                                                                                                                                                                                        But it’s not like they’re using HBM on an interposer, this is basic dual channel (LP)DDR4(X) whatever, which doesn’t magically become much faster if you put it on the package. They could clock it a bit higher but no vendor is going full on overclock mode 4800MT/s CL16 out of the box :D

                                                                                                                                                                                                                        The benefit of sticking to RC is much-reduced memory consumption

                                                                                                                                                                                                                        But that’s only for regular app object junk. 8K video frames, detailed 3D scenes, machine learning matrices, and gigantic ELF files full of debuginfo won’t become smaller due to this difference, and on a big system machine with serious usage, memory is mostly occupied by that kind of stuff.

                                                                                                                                                                                                                        uncontended acquire-release atomics are about the same speed as regular load/store on A14

                                                                                                                                                                                                                        Ooh, that’s cool.

                                                                                                                                                                                                                        1. 6

                                                                                                                                                                                                                          this is basic dual channel (LP)DDR4(X)

                                                                                                                                                                                                                          How do you know? After all, alternative memory interfaces like HBM exist, and Apple specifically claims “high-bandwidth, low-latency memory” memory.

                                                                                                                                                                                                                          But that’s only for regular app object junk.

                                                                                                                                                                                                                          Right, but it’s the “regular object junk” that’s problematic.

                                                                                                                                                                                                                          8K video frames, detailed 3D scenes, machine learning matrices

                                                                                                                                                                                                                          …tend to be nicely contiguous blobs of bytes that can be moved from the (2x faster) SSDs to memory really, really quickly. > 2GB/s on my current Intel MBP.

                                                                                                                                                                                                                          ELF files full of debuginfo

                                                                                                                                                                                                                          Mach-O, not ELF. Those binary files tend to not be all that large, and debug information is stored externally (and even if internal, it’ll be in a section that would at most be mapped, but not read into memory until actually needed).

                                                                                                                                                                                                                          1. 1

                                                                                                                                                                                                                            How do you know?

                                                                                                                                                                                                                            First – the animation in the Special Event where they show a rendered mock-up of how the package is formed. Just checked again, the timestamp is 07:40. Even though it’s a mock-up, you can clearly see the standard shape of a DDR memory chip, itself already covered in its own black plastic with text on it. (HBM stacks look like bare silicon dies located within about a millimeter of the main die, connected by an interposer, not by a regular PCB. Look at an AMD Vega GPU, for example.)

                                                                                                                                                                                                                            Also the fact that the price has not increased compared to the previous models. (HBM is really expensive.)

                                                                                                                                                                                                                            Now let’s look at anandtech – of course, it is LPDDR4X indeed :) (upd: also the aforementioned slide is there, no need to open the video)

                                                                                                                                                                                                                            (upd: also yeah “8x 16b channels” – same width as the typical desktop 2x 64b)

                                                                                                                                                                                                                            Mach-O, not ELF. Those binary files tend to not be all that large, and debug information is stored externally

                                                                                                                                                                                                                            I’m not on macOS these days, so I’m not talking about macOS specifics, I’m just giving examples of things consuming big memory on big computers.

                                                                                                                                                                                                                            The Firefox debug build’s libxul.so requires >14G memory to link, and the result is >2G (which is larger than the WebAssembly address limit so the new symbolicator used in the Firefox Profiler can’t load it, haha).

                                                                                                                                                                                                                            1. 1

                                                                                                                                                                                                                              From the anandtech article:

                                                                                                                                                                                                                              as well as doing a microarchitectural deep dive based on the already-released Apple A14 SoC.

                                                                                                                                                                                                                              The micro-architectural discussion is of the A14, not the M1. And even that doesn’t say that the memory is any kind of DDR, in fact the only mention of DDR I could find is in describing one of the comparison machines for the benchmarks.

                                                                                                                                                                                                                              Firefox

                                                                                                                                                                                                                              XUL is 110MB on macOS, and as I mentioned, debug information is kept to the side. I do remember running out of memory, a LOT, trying to link lldb on Linux (in a Docker container). There seem to be some pathologies in that neck of the woods, partly with code bloat and partly with linker performance. Friends helped me out with configuring the build and switching to a different linker (lld or gold), that solved the issue. Well, it was still “problematic”, but it did link.

                                                                                                                                                                                                                          2. 5

                                                                                                                                                                                                                            But that’s only for regular app object junk. 8K video frames, detailed 3D scenes, machine learning matrices, and gigantic ELF files full of debuginfo won’t become smaller due to this difference, and on a big system machine with serious usage, memory is mostly occupied by that kind of stuff.

                                                                                                                                                                                                                            I currently run a Dell XPS 15 with 32 gb of RAM, and I would say that my app usage rarely contains anything you listed. Most of the RAM being used in my machine is regular app object junk, and seeing a large performance jump in managing these allocations would be very beneficial to me at least.

                                                                                                                                                                                                                            While working, I almost always have these apps open:

                                                                                                                                                                                                                            • 1-3 projects open in IntelliJ
                                                                                                                                                                                                                            • 1-3 terminals
                                                                                                                                                                                                                            • Slack or Telegram
                                                                                                                                                                                                                            • TeamSpeak
                                                                                                                                                                                                                            • 10-40 tabs open in FireFox

                                                                                                                                                                                                                            On Fedora 32, these apps usually aren’t overtaking my resources, but I am very curious to see the performance difference with the shiny new M1.

                                                                                                                                                                                                                            1. 1

                                                                                                                                                                                                                              IntelliJ is implemented in Java, which is equally memory hungry regardless of the OS. Similarly, Slack is an Electron app, which is Chrome under the hood (C++ and Javascript). Firefox also is C++/Javascript.

                                                                                                                                                                                                                              I’m assuming all of those apps use Objective-C APIs (though how they interact with system APIs is really a blind spot for me), so there’s some impact there but I suspect the bulk of their memory use comes from things (Java objects, JS objects) that are similar in size regardless of the platform.

                                                                                                                                                                                                                              Fwiw, both my work (Mac OS, 4 years old) and home (Linux 3.5 years old) laptops currently have 16GB, and it’s mostly ok. Even with 100 Chrome tabs, I have a gig or 2 free. When I’ve run into problems, it’s been analyzing a 8+GB java heap, or running Intellij + Docker DB + multi gig batch process. Optimizing “ordinary app junk” won’t help those use cases (they all manage memory in a way that has nothing to do with Apple’s optimizations to their libraries).

                                                                                                                                                                                                                              For a new laptop I’d plan on getting 32GB. I’m ok with what Apple released this week because I assume that something with 32GB will come sometime next year. But it doesn’t meet the needs of some developers.

                                                                                                                                                                                                                              1. 1

                                                                                                                                                                                                                                Really depends on what you’re doing, for me 16GB is a constant struggle and my buddy oomkiller annoys me to no end.

                                                                                                                                                                                                                          1. 6

                                                                                                                                                                                                                            I’m rather sympathetic to this article. Both in terms of command line tools, and conceptual tools, our industry tends to favor things that are easy.

                                                                                                                                                                                                                            You can attribute some of this to ideology, and some of it to just not wanting to put in the work (I don’t say this with judgement–I’m guilty of doing things in terrible ways because I don’t invest the time to learn a better way).

                                                                                                                                                                                                                            However, one factor that you have to take into account is that our industry has a lot of bullshit floating around. A large fraction of experienced engineers will swear up and down that the fad of the day makes you super-efficient. Another fraction insists that nothing useful has been created this decade. When a tool is easy to use, I can see for myself what benefits it has. When a tool is difficult to use, I have to take a leap, and the question becomes one about whose judgement I trust.