Threads for simulacrumparty

  1. 4

    Doesn’t work without JS… I assume because of the stupid loading circle and Google Analytics?

    Edit: Oh my bad, they decided to write the whole fronted of their blog in JS. What a world we live in.

    1. 5

      You also need to allow port 8080. You know, like a normal page of interweb text. 🙄

      1. 4

        If I were to pastebin a few KiB of text, would you run it on your machine in an interpreter of my choice? It would be quite reasonable to turn down my offer, I think!

        1. 3

          I think it’s okay to have fun with your webpage! He wrote it that way because he wanted to play around with Vue.

          1. 4

            I admit my previous comment was rant-y. I think I just woke up on the wrong side of the bed today.

            There is nothing wrong with at all. You should do what you want with your own website. But on that same token, surely some opposition is expected regardless of anything you post on the internet. In fairness, I didn’t make the best comment. I instead should’ve been constructive and said that perhaps he should consider a non-JS fallback, and given my POV of a” lot of websites use tons of JS, but only a small few actually completely bar you out for not having JS enabled”.

            I dunno where I’m trying to go with this. So I’ll sum up with, at least don’t bar people from your website.

            Edit: I mean “you” as in a general sense. Not like you, you, specifically.

            1. 5

              You have nothing to admit, you are 100% right. This website requires you to run code on your machine to display text. That’s really a problem.

              On the other hand, if someone is willing to add so much complexity on top of a simple web page just to display text, then I probably don’t need to heard what that person has to say about software development.

              1. 14

                This whole comment thread is 1) off topic 2) boring and overdone 3) unnecessarily harsh toward the author. Read the article or don’t, we don’t need to dredge up this same tired argument every time a link to a JS-heavy blog gets posted. I thought it was an interesting article and I was looking forward to seeing the discussion but the majority of comments are about JavaScript.

                1. 7

                  There’s a rather important point here : if you want your message to be heard, then make sure do not distract the attention with a fancy/hard to open envelope. If you want to message to be heard, always choose the most simple, direct way to send your message. (I feel that every single developer should be reminded of that regularly).

                  The reason why it is important to tell it every time, especially on a website dedicated to developers, is that maybe, just maybe, the original author is young and just doesn’t know there’s something else than JS and Chrome and Google. Maybe the author doesn’t know that there are many really valid reason to disable JS or not being able to run it. Education about diversity is utterly important in a world dedicated to monopolies. So those comments are needed.

                  Just ask yourself : how did multiple people realize there was a problem with this site ? Not because we inspect the code source of every single website but because we were surprised to not see any content here and investigated to see if there was a problem on our side. Because the title was appealing but, for whatever reason, we were locked out of the content. And how do you want people to talk about a content they can’t read?

                  I admit I was a bit harsh against the author in my previous comment. I assumed a kind of malevolent behavior from someone perfectly knowing what he/she was doing. I’m apologize for that because maybe the author simply didn’t know and reading those comments might be a small learning experience.

        1. 2

          Yawn another sans-serif.

          Sure, Go Mono is the one true serif monospaced typeface, but it would be nice to see some competition.

          1. 3

            I’ve used and liked Verily Serif Mono as well

            1. 2

              The Triplicate font by Matthew Butterick is both monospace and a true serif.

              1. 2

                JetBrains Mono NL is an excellent alternative.

              1. 4

                This is really cool. I’m enjoying how Wordle’s simple concept lends itself to such creative reimplementations.

                1. 41

                  It’s not just one-off custom database schemas, either: you’ll find assumptions about name structure built into various official standards too. OpenID Connect, for example, at least avoids the assumptions about positions of name components (“first” and “last” names) but still breaks names down into given, middle, and family components. That works for names in a lot of cultures, but it discards culturally-relevant information in some cases and forces people to map the parts of their names to concepts that don’t necessarily match reality. And woe unto you if you try to render these names with whitespace between the components: even if you get the order right, Chinese names don’t have whitespace and it’s just flat-out wrong if you insert it.

                  My experience doing internationalization led me to the conclusion that for a lot of applications, you really want two name fields: “full name” (which is pretty much freeform text, whitespace allowed, name components in any order the user decides is correct) and “abbreviated name you want the software to use to address you.” Do full-text indexing of both, and most of the bases are covered.

                  1. 16

                    imo you should have username (for URLs and mentions if applicable, maybe limited character set if you must) and screen name (to show, freeform text, full unicode) and if you really need it, legal name. Don’t use legal name for anything you don’t absolutely need it for.

                    1. 3

                      It’s a good rule. Unfortunately the moment your sell anything you need the names and addresses… which legally makes sense, but it means any commercial service will need them.

                      1. 4

                        Then ask for a name for those purposes and don’t use it anywhere else.

                        1. 2

                          Yes, but for those you can either pass through this info directly, or if you want to save it for convenience later, just use an address table for that purpose specifically, that takes something looking like a proper address.

                        2. 2

                          Does that imply you just give up on having your software address people as [Salutation] [Family Name] in formal contexts? Mr. Smith, Mx. Xi, Dr. Doom, etc?

                          1. 6

                            Exactly.

                        3. 10

                          I’ve worked on a site that has been created in Taiwan, and it had only a single field for name. As soon as the UK management took over, they demanded to split it into first_name and last_name. They could not imagine starting emails in any other way than Hello ${first_name}.

                          1. 4

                            First name: Queen
                            Middle name: Elizabeth
                            Last name: II

                            What culture is that name from?

                            1. 9

                              I think her actual name is Elizabeth Alexandra Mary Windsor, with Queen (or rather, Queen of the United Kingdom and the other Commonwealth realms) as her title, and the “name” Queen Elizabeth II as a type of shorthand (and to distinguish between her and Queen Elizabeth I, who was actually Elizabeth Tudor). So her first name is “Elizabeth”, last name “Windsor”, title is “Queen” with (I think) the salutation of “Your Royal Highness.”

                              I’m not sure where designators like “Jr.” or “IV” fit into the whole naming scheme—part of the last name? A separate part entirely? I’m not sure.

                              1. 4

                                My (poor) understanding is that most members of the House of Windsor don’t have last names, but use it by convention. Prince William went by William Wales in the military (getting him the cool nickname “Billy Fish”), since his father is Prince of Wales. Prince Philip adopted Mountbatten when he became a UK citizen, but didn’t have one before that (being a Greek prince). Elizabeth is the head of the House of Windsor, so she’d probably use it, though.

                                1. 7

                                  Like the blog post author, QE2 has a fake last name she just made up so there would be something to write on bureaucratic forms.

                                  1. 4

                                    She didn’t make up her last name, her great-grandfather did, having switched last names from Saxe-Coburg and Gotha.

                                    1. 1

                                      I was surprised to recently learn that St Petersburg became Petrograd during WW1 for much the same reason - anti-German sentiment in Russia.

                                      1. 2

                                        The name ‘Mountbatten’ mentioned a few replies up was translated directly from ‘Battenberg’ for the same reason

                                  2. 4

                                    Prince Philip adopted Mountbatten when he became a UK citizen, but didn’t have one before that (being a Greek prince).

                                    Somewhat relatedly, the former King of Greece’s refusal to chose a surname like a regular citizen has been a point of dispute with the Greek government for a few decades, preventing him from getting a Greek passport.

                                    1. 2

                                      Fascinating. I know Charles I was referred to as “Charles Stuart” by his prosecutors at the time of his trial, and Louis XVI was referred to as Citoyen Capet after he was deposed as king. No doubt Elizabeth would be referred similarly during the coming revolution…

                                    2. 2

                                      I’m not sure where designators like “Jr.” or “IV” fit into the whole naming scheme—part of the last name? A separate part entirely? I’m not sure.

                                      In the mists of time, X.400 email ORAddresses had a “generational qualifier” field for this purpose, so you’ll still see vestigial remnants of this in LDAP systems (LDAP is/was the “use TCP/IP to access X.500 directories” protocol, with X.500 directories being the “store everyone’s X.400 email addresses and favourite drink preferences as part of a heirarchical global directory”.)

                                      For military/government procurement purposes, MS Exchange supported X.400/X.500-like behaviour, so you get stuff like:

                                      https://docs.microsoft.com/en-us/windows/win32/adschema/a-generationqualifier

                                    3. 6

                                      It’s a regnal name. I don’t know how the UK laws handle these, as well as noble titles such as “Earl of Whatever”, compared to the actual personal name.

                                      I imagine the Queen would register as Elizabeth Windsor, and select the title “Queen of the United Kingdom” from the drop-down list.

                                      1. 1

                                        UK

                                    1. 34

                                      I had to stop coding right before going to bed because of this. Instead of falling asleep, my mind would start spinning incoherently, thinking in terms of programming constructs (loops, arrays, structs, etc.) about random or even undefined stuff, resulting in complete nonsense but mentally exhausting.

                                      1. 12

                                        I dreamt about 68k assembly once. Figured that probably wasn’t healthy.

                                        1. 4

                                          Only once? I might have gone off the deep end.

                                          1. 3

                                            Just be thankful it wasn’t x86 assembly!

                                            1. 4

                                              I said dream, not nightmare.

                                              1. 2

                                                Don’t you mean unreal mode?

                                                being chased by segment descriptors

                                                only got flat 24bit addresses, got to calculate the right segment bases and offsets, faster than the pursuer

                                          2. 6

                                            One of my most vivid dreams ever was once when I had a bad fever and dreamed about implementing Puyo Puyo as a derived mode of M-x tetris in Emacs Lisp.

                                            1. 20

                                              When I was especially sleep-deprived (and also on call) in the few months after my first daughter was born, I distinctly remember waking up to crying, absolutely convinced that I could solve the problem by scaling up another few instances behind the load balancer.

                                              1. 4

                                                Oh my god.

                                                1. 2

                                                  Wow that’s exactly what tetris syndrome is about. Thanks for sharing!

                                              2. 5

                                                Even if I turn off all electronics two hours before bed, this still happens to me. My brain just won’t shut up.

                                                “What if I do it this way? What if I do it that way? What was the name of that one song? Oh, I could do it this other way! Bagels!”

                                                1. 5

                                                  even undefined stuff

                                                  Last thing you want when trying to go to sleep is for your whole brain to say “Undefined is not a function” and shut down completely

                                                  1. 5

                                                    Tony Hoare has a lot to answer for.

                                                  2. 2

                                                    Different but related: I’ve found out (the hard way) that I need to stop coding one hour before sleeping. If I go to bed less than one hour after coding, I spend the remaining of the said hour not being able to sleep.

                                                    1. 1

                                                      I know this all too well. Never heard of the tetris syndrome before. I need to investigate this now right before going to bed.

                                                    1. 8

                                                      If anyone else was trying to follow along and couldn’t figure out how to actually copy the selected text, you press return

                                                      1. 4

                                                        Oh wow, thanks. I updated the post to include this – I didn’t realize tmux didn’t bind y by default. That’s crazy town.

                                                      1. 1

                                                        I’m a couple chapters into this and I’ve already learned a ton about how terminals work and why escape codes are the way they are. Very very interesting.

                                                        1. 8

                                                          I’ve noticed too that building Rust programs from isolated components/crates with well-defined interfaces is very convenient. I can develop and test each component individually. When they’re not a part of a monolith, I don’t need dependency injection to test them. And then putting components together is as easy as building with Lego.

                                                          Many crates can be small enough to actually be reusable across projects. The larger the library, the more you need to make it flexible and configurable, which adds complexity. But when a crate is trivial, you either reuse it or you don’t, so they can stay simple and focused.

                                                          1. 29

                                                            No offense, but isn’t that how it works with every language? You build libraries, which do their own thing, are tested individually. And then later you connect them all, which is your main app. But that’s easy, since the individual parts are very likely to work.

                                                            1. 28

                                                              On a high level it’s supposed to be like that everywhere, but I see qualitative differences:

                                                              • In C and C++ the culture is to actively avoid having “unnecessary” dependencies. They’re considered a hassle and a liability, so they’re used only if it’s too hard to avoid them. That requires dependencies to be complex or large enough to justify their existence.

                                                                In C splitting a project into separate translation units or even libraries gives almost no isolation: linkable symbols are global, and nothing stops wrong part of the code from pulling in a header it shouldn’t have. In C, proper isolation is something that requires discipline from the programmer, not a tool that keeps lazy programmers in check.

                                                              • npm has the same culture of small modules (and people mock it for left-pad and is-array). Building experience is mostly similar to Cargo, but Rust’s strong type system adds an extra level of assurance. I miss things like docs.rs and guarantees around immutability and borrowing, so in JS I use more defensive coding and I’m more worried that if I change implementation of one module I’m going to break some other module.

                                                              I don’t have much experience with Java, but the few projects I’ve worked on were a single monolith with DI, and used libraries only for 3rd party code, not its own. In PHP it was like that too: monolith on top of a framework + maybe a few libraries for specific things. Microservices are closest to the level of internal splitting Rust projects do.

                                                              1. 8

                                                                In C and C++ the culture is to actively avoid having “unnecessary” dependencies. They’re considered a hassle and a liability, so they’re used only if it’s too hard to avoid them. That requires dependencies to be complex or large enough to justify their existence.

                                                                I see no problem with avoiding “unnecessary” dependencies. Every additional line of code is a potential liability (both technical and legally) in any language, and an additional risk that something will break in the future. It’s just that in C and C++ dealing with dependencies is more painful than “add a line to a dependency file” so you think about it more.

                                                                1. 7

                                                                  That’s exactly my point: the C/C++ view is that dependencies are a liability, while Cargo made them work well enough that Rust users see them as a good thing to have.

                                                                  an additional risk that something will break in the future

                                                                  The alternative view is that dependencies lower the risk of your software breaking in the future, because they’ve been tested by multiple people, on multiple platforms. If they need a fix, someone will patch them before you even realize you needed this (e.g. I don’t know Windows well, so I get better Windows support if I use deps than if I write something myself. Conversely, I send patches to other crates that improve macOS support, and everyone benefits).

                                                                  Rust projects choose to split themselves into multiple libraries, because there’s very little downside, and projects benefit from enforced decoupling and easier development on the “leaf” components. In C/C++ you wouldn’t do that, because it seems like a weird thing to do and wasted effort that just makes build scripts more complex. Tooling and culture makes all the difference.

                                                                  1. 6

                                                                    while Cargo made them work well enough that Rust users see them as a good thing to have.

                                                                    I haven’t used Rust but I’m curious; how much of that is Cargo and how much of that is “having a type system that’s not rooted in 1970s ideas”?

                                                                    1. 18

                                                                      Pedantic note: don’t blame the 1970s, Hindley published his paper in 1969 and Milner in 1978.

                                                                      1. 5

                                                                        To expand on modularity section of the post, I think this is fundamentally rooted in the module system. Which is, in Rust, mostly orthogonal to type-system (unlike OCaml, modules are not first-class values), but is very much a language concern. Getting rid of a global namespace of symbols is important. The insight about cyclic/non-cyclic dependencies both being useful and the compartmentalization of the two kinds into modules and crates is invaluable.

                                                                        It’s interesting though that the nuts and bolts of the module system are not perfect – it is way to sophisticated for the task it achieves. It’s a shame to spend so much complexity budget on something that could’ve been boring. (I won’t go into the details here, but suffices to say that Rust has two flavors of module system, 2015 and 2018, because the first try was empirically confusing). But this annoyances do not negate the fundamentally right structure.

                                                                        However, I also do think that the theory of depedency hell less library ecosystem would be useless without cargo being there and making it easy to put everything to practice. A lot of thought went into designing Cargo’s UX, and I doubt many people would notice the language-level awesomeness, if not for this tool

                                                                        1. 4

                                                                          It’s a combination of:

                                                                          • ecosystem taking semver seriously (compare to amount of work Linux distros need to put in to keep sem-whatever packages work together)
                                                                          • compiler taking 1.0 back-compat seriously (in contrast, Node.js has semver-major breaking changes regularly, and my old JS projects just don’t run any more)
                                                                          • concept of crates exist in the language (e.g. Rust can have equivalent of -std=cXY set by each dependency individually. C/C++ can’t quite do it, because headers are shared)
                                                                          • not giving up on Windows as a first-class supported platform (in C it’s “not my problem that Windows sucks”. Cargo chose to make it its problem to fix)
                                                                          • zero-effort built-in unit testing. There’s no excuse for not having tests :)

                                                                          Type system also helps, because e.g. thread-safety is described in types, rather than documentation prose. Rust also made some conscious design decisions to favor libraries, e.g. borrow checking is based only on interfaces to avoid exposing implementation details (this wasn’t an easy decision, because it makes getters/setters overly restrictive in Rust).

                                                                          1. 5

                                                                            I’m not sure the Rust compiler, or its surrounding crates ecosystem, take backwards compat “more seriously” than Node does. They just have better tools available to them to detect and fix it. Take this lovely warning, for instance (yes, this is “real” code, not a contrived test case, though I had to check out an old commit to find it because the current version of the program is fixed):

                                                                            warning: cannot borrow `block` as mutable because it is also borrowed as immutable
                                                                            
                                                                                |
                                                                            687 |                 let variable_id = match &block.instructions[place.0 as usize] {
                                                                                |                                          ------------------ immutable borrow occurs here
                                                                            ...
                                                                            691 |                 stack.push(block.push(Instruction::Assign(*variable_id, value)));
                                                                                |                            ^^^^^                          ------------ immutable borrow later used here
                                                                                |                            |
                                                                                |                            mutable borrow occurs here
                                                                                |
                                                                                = note: `#[warn(mutable_borrow_reservation_conflict)]` on by default
                                                                                = warning: this borrowing pattern was not meant to be accepted, and may become a hard error in the future
                                                                                = note: for more information, see issue #59159 <https://github.com/rust-lang/rust/issues/59159>
                                                                            

                                                                            Rust is capitalizing on a lot of technical advantages, here:

                                                                            • It’s able to detect the problem with just static analysis. Comparable problems in Node would probably not be detectable until runtime, which means the problematic code has to actually be reached in order to detect the problem, at which point it might be too late.

                                                                            • Compiler warnings from Rust are precise, rare, and produced around the same time as compiler errors (which you have to pay attention to in order to produce a working program), so Rust has an open mic to communicate deprecation warnings to the developer.

                                                                            • Even if I slept through all of the warnings and got hit with breakage, it would result in my program no longer compiling, not silently changing behaviour or crashing in production.

                                                                            1. 1

                                                                              concept of crates exist in the language (e.g. Rust can have equivalent of -std=cXY set by each dependency individually. C/C++ can’t quite do it, because headers are shared)

                                                                              Can you explain what this means in language-agnostic terms? I don’t know C or C++.

                                                                              1. 3

                                                                                You can use a crate using the “abc” version of the language from a crate using the “def” version of the language. You can’t do this in C/C++ (or really any other language I know of).

                                                                                Rust calls these versions editions, c/c++ calls them… Not really sure but c++11/c++17 and so on.

                                                                                1. 1

                                                                                  You can use a crate using the “abc” version of the language from a crate using the “def” version of the language. You can’t do this in C/C++ (or really any other language I know of).

                                                                                  Indeed, but you can also use an ABI in C/C++. I’m not excusing the hell that is dependency management in C/C++ projects, but this certainly isn’t specific to Rust. C and C++ can also interact with binary code written in vastly different languages and runtimes, as long as they conform to the ABI of the platform they’re shipping on. Rust cannot do this without work.

                                                                                  1. 2

                                                                                    I’m not sure why this is a reply to me. It has nothing to do with language versions.

                                                                                    It’s also not really true.

                                                                                    All of Rust, C, and C++ speak the various “C” abi ’s with about the same level of work. You have to write a language specific description of the calls in the abi, after that they can both seamlessly call into it.

                                                                                    In rust this is an extern block, that looks like extern "C" { fn abi_fn(x: i32) -> i32 }, in C this looks like extern int32_t abi_fn(int32_t);.

                                                                              2. 1

                                                                                not giving up on Windows as a first-class supported platform (in C it’s “not my problem that Windows sucks”. Cargo chose to make it its problem to fix)

                                                                                I’ve used Visual Studio for both C and C++ dev on Windows. How does Rust offer better Windows support than C/C++ ? Are you referring to the ease of cross-compilation?

                                                                                1. 6

                                                                                  The problem is that Visual Studio doesn’t work on non-Windows systems, and Unix tools like autotools and pkg-config don’t work on Windows (or have quirky ports in mingw/cygwin), so it’s hard to make a project that builds on both. Package management on Windows is a fragmented mess. MSVC has different flags, pragmas and system headers than gcc and clang. C support in MSVC is incomplete and buggy, because Microsoft thinks C (not ++) is not worth supporting. It’s nothing insurmountable, but these are thousands of paper cuts.

                                                                                  OTOH: cargo build works on Windows the same way as on any other platform. Unless you’re doing something very system-specific, it just works. And even if you touch something that’s system-specific, chances are there’s already a dependency you can use to abstract that away.

                                                                                  Cross-compilation in Rust is not as nice as I’d like. While Rust itself can cross-compile object files and static libraries easily, they need linking and system libraries. Rust uses C toolchain for linking, so it inherits many of C’s cross-compilation pains.

                                                                                  1. 1

                                                                                    Oh, I see. While I’m not always the biggest fan of Rust’s insistence of doing everything in Rust, I agree that this is a huge win for Rust and Cargo ergonomics. When writing C/C++ in Windows, you are basically writing for a different C runtime, so you need to tailor it accordingly. Rust’s libraries abstract away the differences (though not without great effort, especially if you look at TUI libraries). I really hope other languages continue to explore this space.

                                                                                  2. 3

                                                                                    C programs written for unix-like operating systems often ignore Windows support entirely. Hence WSL, Cygwin, and so on. Likewise I’m sure few of your Windows C/C++ programs would run on Linux or MacOS unless you exclusively use cross platform libraries and avoid any Windows-specific interfaces.

                                                                                    1. 1

                                                                                      Yeah, most definitely. And even the tooling is dramatically different outside of the IDE, with stuff like nmake.

                                                                              3. 2

                                                                                In which way do they work better than in other languages and why?

                                                                                1. 1

                                                                                  My point is that every line of code that you write, or that you use, might have bugs or vulnerabilities in them. Dependencies don’t come for free. Any of these dependencies could also have their maintainer just walk away from them, which has bitten me multiple times in the past.

                                                                                  Whenever you bring in a dependency, you’re also implicitly depending on all of the dependencies of that thing as well. Tracking dependencies down and being responsible for them is a major issue with the Rust cargo mechanism in that it makes it more difficult for people who have legal liability for code they bring into a project, such as 3rd party contractors.

                                                                            2. 7

                                                                              Yes and no.

                                                                              Heylucas correctly mentions tooling, but it’s also the language.

                                                                              If I’m programming in C or Python and I’m using a library I have to carefully read the documentation to know what I can pass where without breaking things. If it’s java and I’m using a library I have to keep track of a few things like null’s… by carefully reading the documentation. Rust libraries for the most part actually manage to make it difficult to missuse them, so I can be much less careful about reading the documentation.

                                                                              Moreover on the documentation point, rust as a language lends itself to concise and accurate auto generated documentation much more than most languages do, so rust libraries will generally have better documentation despite it being less important. Partially this is tooling, but it is also things like not having SFINAE (C++), not having automatic implementation of interfaces (go), and so on.

                                                                              It is also my belief that the average rust library has less bugs than the average library in the average other language as a result of the language having a greater focus on helping programmers write correct programs (compared to most other languages, which generally focus more on quickly writing programs). As a result the “giant ball of libraries” model is less likely to be a giant buggy mess of others code.

                                                                              1. 5

                                                                                I’m guessing @kornel’s point is more about how easy that is with Rust’s tooling. But I agree, the same can be done for any other language. How easy/convenient it is might depend on the tooling ecosystem.

                                                                                1. 1

                                                                                  People have their brains plagged with frameworks to the point that they don’t know how to use their language. Importing a library and test is by simply calling it, is something many developers (cough cough java, c++) already forgot how to do or are not even familiar with to start with.

                                                                                  It is a programming language. That dependency injection is not needed, is a simple function of how isolated side effects are. There’s nothing language specific there.

                                                                              1. 3

                                                                                Upvoted for the web site color scheme alone…

                                                                                1. 4

                                                                                  It’s surprisingly readable too!

                                                                                  1. 2

                                                                                    Even on mobile

                                                                                1. 19

                                                                                  here’s another one: “cast” as in “casting a shadow”, you’re not seeing the original thing but a projection of it

                                                                                  1. 4

                                                                                    This is essentially the image that I’ve always had in my head with typecasts. Shadows or rays of light…either way, a projection of some kind. It may have even been explicitly taught to me this way by some early programming teacher.

                                                                                    One thing I like about the projection analogy is that the surface you’re casting onto (the target type) could be larger than the image you’re trying to project (the bits) in which case you end up with some blank space; or the surface could be smaller than the image, in which case something’s getting chopped off.

                                                                                    1. 3

                                                                                      It’s molten metal in a mold for me, but I love this imagery

                                                                                      1. 1

                                                                                        I think this is the most etymologically correct modern use of it.

                                                                                        In languages derived from Norse (I’m Norwegian), we literally say kaste skygge (throw shadow), kaste lys (throw light), kaste blikk (throw sight), and there is the new verb å kringkaste (to broadcast).

                                                                                        Funny that the abstract sense of the verb survived in English (while throw replaced it in the physical sense).

                                                                                      1. 5

                                                                                        I like this a lot! I use fish so I translated the script from the post to fish syntax (with some modifications for personal opinion)

                                                                                        function tmux_chooser
                                                                                          if test "$TMUX" != ""
                                                                                            return
                                                                                          end
                                                                                        
                                                                                          set session_count (tmux list-sessions | wc -l)
                                                                                          set output_names (tmux list-sessions -F\#S)
                                                                                          set i 1
                                                                                          echo "Choose the session to attach: "
                                                                                          for session in $output_names
                                                                                            echo "  $i - $session"
                                                                                            set i (math $i + 1)
                                                                                          end
                                                                                          echo "Or create a new session by entering a name for it"
                                                                                          read -P '> ' input
                                                                                          if test "$input" = ""
                                                                                            tmux
                                                                                          else if test "$input" = "nil"
                                                                                            return
                                                                                          else if begin ;
                                                                                                  string match -r '^[0-9]+$' "$input" > /dev/null ;
                                                                                                  and test "$input" -le "$session_count" ; end
                                                                                            tmux a -t "$output_names[$input]"
                                                                                          else
                                                                                            tmux new -s "$input"
                                                                                          end
                                                                                        end
                                                                                        
                                                                                        
                                                                                        1. 2

                                                                                          I love this, great job.

                                                                                          1. 12

                                                                                            The TSC performance bottleneck is an issue that affects a ton of other projects. Rewriting it in Rust could even allow to plug it as a front end to V8 and Node/Deno, effectively allowing to run TypeScript files seamlessly, with little performance overhead. Stakes are huge, but TypeScript is a large language and TSC complexity is such that it might not be worth rewriting it in Rust. It could also get political given that there’s a certain company behind TypeScript and it’s current implementation.

                                                                                            1. 5

                                                                                              An interesting approach (and what makes a ton of sense for deno I think) is to keep tsc as a primary incremental IDE compiler, and add a second batch compiler to the mix, which works in turbo-pascal style, bailing on the first error and sacrificing features for speed.

                                                                                              1. 3

                                                                                                Microsoft is already using Rust in other areas so they might actually get behind it

                                                                                                1. 2

                                                                                                  I’m actually a bit surprised that Typescript is self-hosted. Always helpful for community involvement, but Javascript doesn’t seem like the fastest language for compilers.

                                                                                                1. 9

                                                                                                  Another reason, from the opposite point of view, is that static site generators are often an unnecessary burden. You can just write the HTML5 directly, very easily. Most tags do not need to be closed in modern html, and it is just as readable as markdown. No need to write your text in a slightly different language and then compile it.

                                                                                                  1. 4

                                                                                                    To be honest, I find writing HTML for prose painful; it’s hard to write and hard to read, and there are a bunch of caveats you need to be careful about (like writing < as &gt;). Writing stuff like <strong>bold</strong> or <code>quote me</code> just takes too much time when writing; I want to focus on actually writing content, not typing HTML tags. For me, the biggest advantage of Markdown is that it gets out of my way and allows me to focus on the actual content – which is already hard enough – instead of the syntax.

                                                                                                    YMMV, and whatever works for you of course, but I think this is the added value for a lot of people.

                                                                                                    1. 1

                                                                                                      Prose rarely has boldface or other fancy stuff. If you need to use it too much, then you are doing something wrong. That said, you can use the “i” and “b” tags which are shorter. The only thing that I find annoying when writing html prose is “p” the paragraph tags. I would prefer if a blank line started a paragraph. But I can live with those.

                                                                                                      In the cases when you need some markup, html5 tables are actually easier than markdown tables, and lists and links are mostly equivalent.

                                                                                                      1. 2

                                                                                                        Maybe prose is the wrong word (not native speaker 😅); I mostly mean stuff like articles (i.e. longer versions of comments on Lobsters) where various forms of formatting are fairly common. Common enough for me to be distracted by it, anyway.

                                                                                                        I actually find tables to be one of the more ugly parts of HTML; so many tags, and often not that readable as source code.

                                                                                                        1. 3

                                                                                                          Regarding tables, notice that with HTML5 you don’t need to close any table tags besides “table”. It’s actually cleaner than the many flavors of markdown tables.

                                                                                                    2. 3

                                                                                                      Maybe I’m just old-fashioned, but that’s what I do. I write the HTML by hand. It’s not difficult and my site is very fast.

                                                                                                      1. 7

                                                                                                        How do you handle HTML that should be common to all pages, like the <head> section or the top nav? Do you copy it over to each new page’s source, or do you have some kind of preprocessor to keep it defined separately?

                                                                                                        1. 7

                                                                                                          I saw a post (maybe on here) a while ago where the author said that they write their HTML by hand and they were asked how they manage these bits of common markup. Their response was that they explicitly do not make sure every page has the same header/footer/layout. When starting a new article, they would start by copying a previous post and then tweak the design. The upshot is that a user can follow the evolution of the design from older posts to newer posts, and the design can even be adjusted to better match the content of each individual article. I don’t think I’d like it if every website worked like this but it’s a neat idea for a personal website.

                                                                                                          1. 11

                                                                                                            That was my post :-) You can look at the different articles here on my site to see an example of the difference in styling.

                                                                                                            1. 2

                                                                                                              On the subject of this thread, I’m a tablet hater and I think “SSH is painful on tables” is an argument against modern day tablet UIs.

                                                                                                              Now, a shameless plug: my generator supports extracing metadata from HTML natively. ;) The blog index at https://soupault.neocities.org/blog/ is autogenerated. The config basically says “use <h1> for the post title, <time id="post-date"> for the date and first paragraph for excerpt”. However, ["p#post-excerpt", "p"] means “use <p id="post-exceprt"> if it’s present, else just use the first paragraph”, so I can use any paragraph for the blog index page, not just the first.

                                                                                                              `dump_json = “index.json” saves extracted metadata to a file, that’s what I generate an Atom feed from with a script.

                                                                                                              1. 1

                                                                                                                Now, a shameless plug: my generator supports extracing metadata from HTML natively ;) The blog index at https://soupault.neocities.org/blog/ is autogenerated.

                                                                                                                As far as static site generation, I think this is a much better idea than YAML front matter. I do a similar thing, except not for my index page, only for my RSS feed, which is generated on the fly with a PHP script (example).

                                                                                                                I chose PHP specifically because I wanted to avoid local generation. There are just two many drawbacks, like the fact that you can’t update your site on another system, where your generation tools aren’t installed or even supported.

                                                                                                                1. 1

                                                                                                                  Ah, the feed is dynamically generated. For some reason I thought you wrote a local feed generator in PHP.

                                                                                                                  If you find yourself working on random machines often, that’s a valid concern indeed. Soupault itself is “download the executable and run” for all major OSes, though my Atom feed generator script is not. CI deploys can also solve that problem though.

                                                                                                          2. 4

                                                                                                            I used to do that for my site years ago. When it got to a certain size, I decided to do something about it and converted my entire site to XML and use XSLT to convert it to HTML. The XSLT handles the generation of each page and ensure all the links work properly. I use CSS to handle the style, and rsync to move the files to the server.

                                                                                                            For my blog I wrote my own blogging engine (that I’ve been using for 20 years now), with three ways to import new entries:

                                                                                                            1. a web page with a textarea entry field
                                                                                                            2. via email (my preferred method)
                                                                                                            3. via a file on the server

                                                                                                            Each entry is stored as a separate HTML file; it’s the blogging engine that strings all the entries together for a view. I used to write each entry in HTML, but for the past year I’ve been using a custom markup (that’s geared toward how I write and is a mashup of Markdown and Org Mode) but saving the resulting HTML.

                                                                                                            1. 1

                                                                                                              Good question. At the moment, I copy from an existing page in the same directory location and edit the content. When I need to change something for all pages, if I can, I use the “find and replace all” tool in my editor (VS Code) to do the change in bulk. If I can’t use that, then I have to tediously go page by page and make the change, and verify they are all the same.

                                                                                                              My site is still small and simple- but today I was thinking about how I’d like to write my own little preprocessor to handle that stuff. As I start adding more pages to my site, it’ll become too annoying to do it by hand. Once I have that little tool though, as long as I stay with my “simple” themes, I’ll be fine. I don’t have any intention currently to make it complicated (ex- my site has no JS).

                                                                                                              1. 3

                                                                                                                check out m4, a pre-processor capable of doing exactly what you want, built into *nix. :) That said, if you want to write one, don’t let me stop you!

                                                                                                                1. 1

                                                                                                                  Oh perfect, thank you! I’ll check it out.

                                                                                                                  1. 3

                                                                                                                    you can see a very, very simple way to use it for html here: https://gitlab.com/aslrocks/aslrocks/-/blob/master/bin/convert_html and the template is there as well, obviously.

                                                                                                              2. 1

                                                                                                                One of my blog setups was HTML written in Pug: it had a master.pug with the html root and a block body-section down below, then post.pug would extend ./master.pug on the first line and fill in block body-section, leaving another block for me to define in a blog post.

                                                                                                                Each post would look like extends ../post and then it would just define block post. This isn’t maybe exactly what you had in mind, but I find using Pug a pretty reasonable way to write HTML. Right now I blog via markdown/hugo, but I consider switching back to my Pug setup.

                                                                                                              3. 2

                                                                                                                That sounds painful. It would be better to write markdown and at least generate HTML from it and upload those files manually, if nothing else.

                                                                                                            1. 29

                                                                                                              I don’t think there’s anything Urbit can do or say to erase the history of Yarvin or my overall impression that they’re building “digital share-cropping” from Yarvin’s ideals.

                                                                                                              1. 5

                                                                                                                I neither have a slightest idea what Urbit is, nor Yarvin. But the visuals in the article look interesting to me.

                                                                                                                Personally, I actually most like the 2nd set of images in the Experiments + iterations section. They seem to have most visual difference between them, compared to all the others, in my eyes. I’m very curious what was the algorithm behind them.

                                                                                                                1. 8

                                                                                                                  Agreed - this article is so precisely up my alley but I wish it had come from anywhere else

                                                                                                                  1. 10

                                                                                                                    In 10 years I believe this is the only imprint Urbit will have left behind.

                                                                                                                  2. 14

                                                                                                                    Haters gonna hate. But on Lobste.rs, I expect better quality comments. This is about on the level of commenting “but Google’s so bad” on a Google product team’s tech blog, with no reference to the actual content. It’s low-effort, and needlessly negative.

                                                                                                                    Even someone who is politically or philosopically opposed to Urbit’s structure can learn something about generative graphic design from this post. I found it pretty thoughtful myself. It’s a small but meaningful problem they’re taking on here.

                                                                                                                    Sad thing is, I expect this comment to get downvoted by approximately the same users who upvoted yours, for the same essentially political reasons. So let me be clear: I’m just speaking up for civil, technical, on-topic discussion. I’m not expressing any opinion about Urbit’s system design or history, and I’m not even slightly interested in rehashing that tired topic here.

                                                                                                                    1. 17

                                                                                                                      I upvoted the article, which I found interesting and the art therein beautiful. But does saying that count as a high-effort comment?

                                                                                                                      There’s a difference between leaving a comment on Lobsters rehashing Google, a widely known company with a long public history, and leaving a comment about an obscure start-up. In both cases, you are familiar with the subject, but for many here, they may never have heard of Urbit before. I guess an analogy would be “knives don’t need warning labels, but odorless deadly chemicals do”.

                                                                                                                      1. 4

                                                                                                                        Or, you could just Google “urbit”, and find as much drama as you can stomach. Without wanting to get into how “deadly” it is, I don’t agree that it’s “odorless”.

                                                                                                                      2. 4

                                                                                                                        Thank you for this comment. The main reason I prefer Lobsters to HN is the general absence of politics, and a clear focus on technology. I hope it stays that way.

                                                                                                                        1. 3

                                                                                                                          Urbit is a politically motivated technology, so why is it allowed on this site then?

                                                                                                                      3. 7

                                                                                                                        Yeah its certainly some kind of scam. What specific kind of scam will be more obvious as it plays out but nothing good comes out of trying to model feudalism.

                                                                                                                        1. 1

                                                                                                                          Are you really sure about that? Last century was very democratic and very very bloody.

                                                                                                                          In the old days, the winners turned the losers into serfs. At least that was somewhat productive, and there were periods of peace between the conquests.

                                                                                                                          The modern approach is to napalm and drone-strike relatively harmless peasants–perpetually and fruitlessly–so that corporate and military bureaucrats can justify their paychecks.

                                                                                                                          Also, it is highly debatable whether the disparity between a modern-day oligarch and an ordinary joe is any smaller than that of a 16th century noble and his peasants.

                                                                                                                          I don’t see a clear winner here.

                                                                                                                          1. 2

                                                                                                                            There’s countries where you can try out a feudal system today if you think that’s comparable. Somehow I suspect your opinions will shift when you go there and see that it’s a human meat grinder. You might think that you would be the lord, but I can assure you that you would be a serf unless you are particularly talented at murder.

                                                                                                                            Edit: Actually, given the proliferation of people who advocate for the literal murder and subjugation of their peers here, I’m just gonna delete my account. Y’all have fun.

                                                                                                                      1. 2

                                                                                                                        This is very cool. I’m reminded that before the higher ups told Brendan Eich that his new language should use curly-brace syntax, it was more or less a Scheme in the browser, and in many ways JavaScript still seems like a natural successor to Scheme. I love Scheme and Lisp generally JavaScript is a much more relevant and accessible programming environment for students in 2019.

                                                                                                                        1. 4

                                                                                                                          JS and Scheme share very, very little. The myth that Eich snuck LISP into the web by swapping parents for C syntax is just a myth.

                                                                                                                          1. 4

                                                                                                                            Obligatory related link: https://www.crockford.com/little.html

                                                                                                                            But viewing JavaScript as a successor to Scheme is a bit far-fetched. It’s a quickly hacked together implementation with Scheme in mind but C syntax (losing homoiconicity, which arguably is Lisp/Scheme’s killer feature). Then there’s no tail call optimization, macros, numeric tower, nor type strictness. Especially the latter makes the language frustrating to work with.

                                                                                                                            1. 2

                                                                                                                              How are Scheme and JavaScript similar? I don’t see any connection between these languages.

                                                                                                                              1. 1

                                                                                                                                The book actually covers the connection and similarities in the forewords and start of chapter 1.

                                                                                                                            1. 39

                                                                                                                              I work for Cloudflare, so I have a bit more insight into how it operates (I’m speaking for myself, that’s not an official response).

                                                                                                                              • Free customers at Cloudflare are a really cool hack. You are the product, but not in the Google/Facebook way you’d expect. The more Cloudflare caches, the more it helps ISPs save on costs of their outgoing traffic, and in return Cloudflare can negotiate better peering agreements. That’s a win-win, because Cloudflare gets cheaper bandwidth, and ISPs on other continents are very happy they don’t have to fetch everything from us-east-1.

                                                                                                                                The free tier is also used for testing rollouts and customer acquisition. You an read about it in Cloudflare’s S-1: https://www.sec.gov/Archives/edgar/data/1477333/000119312519222176/d735023ds1.htm

                                                                                                                              • There are customers who really want and pay good money for features like WAF and blocking of “bad” traffic. Sure it sounds dumb, but “just don’t have SQL injection vulnerabilities” doesn’t work for everyone. There are some customers who have thousands of sites, and are at risk of being pwned just because one of marketing teams might have set up a Wordpress microsite for a promotion 5 years ago and forgot about it. Cloudlfare has an entire team that monitors attacks happening in the wild, and keeps updating WAF in response, so you have much smaller chance of being hit by the CVE of the day.

                                                                                                                              • Aggressiveness of bot blocking, e-mail filtering, etc. are controlled by users. Harassment of users with CAPTCHAs doesn’t help anyone. It’s just that classification of traffic is a very hard problem.

                                                                                                                              • Cookies […] Since Cloudflare definitely has assets in the EU — it has to, it’s a CDN — it’s also pretty egregiously violating EU law here.

                                                                                                                                If it was a pretty egregious violation then wouldn’t you think that some law enforcement would have happened?

                                                                                                                              • The mysterious reason why U.S Govt allows Cloudflare to “violate copyright” (and so do all other governments in the world! — wow, Cloudflare is in bed with all of them!) is that users click “Agree” on Terms of Service.

                                                                                                                              1. 36

                                                                                                                                Free customers at Cloudflare are a really cool hack. You are the product, but not in the Google/Facebook way you’d expect. The more Cloudflare caches, the more it helps ISPs save on costs of their outgoing traffic, and in return Cloudflare can negotiate better peering agreements.

                                                                                                                                Meaning, Cloudflare gets more power and more say in who gets to have a website. 8chan is still offline, two and a half months later, as a direct result of Cloudflare’s actions. (I understand many people are happy about that, though.)

                                                                                                                                But, it’s just the world we live in now.

                                                                                                                                I think power grabs aren’t a cool hack. I’ve seen too many of them go badly to be comfortable with immense centralization.

                                                                                                                                1. 16

                                                                                                                                  I think fewer genocide fan sites is always better, and I regret Cloudflare drags its feet dropping them.

                                                                                                                                  1. 33

                                                                                                                                    You’ll feel that way right up until they ban a site you like. And the distance between today and that day is getting smaller.

                                                                                                                                    It’s not about 8chan. It’s about the fact that they can choose who gets to be a part of the internet. You know, that thing that we used to believe everyone should have a say in.

                                                                                                                                    1. 14

                                                                                                                                      To put things in perspective: even in the very recent past government censorship in the US and Europe was much much more intense than Cloudflare kicking two sites (StormFront and 8chan) off the internet for literal support of literal terrorism. We’re probably living in the most free era that has ever been known.

                                                                                                                                      1. 9

                                                                                                                                        We’re probably living in the most free era that has ever been known.

                                                                                                                                        Unless you measure government and corporate surveillance. In that case we are certainly living in the most surveilled era that has ever been known.

                                                                                                                                        1. 7

                                                                                                                                          We’re probably living in the most free era that has ever been known

                                                                                                                                          Obligatory disclaimer: if you’re fortunate enough to live in a liberal democracy.

                                                                                                                                          But I agree with your other statements!

                                                                                                                                          American “cultural imperialism” has many faces - the normalization of US norms of free speech to the world’s internet is one of them.

                                                                                                                                          1. 7

                                                                                                                                            We’re probably living in the most free era that has ever been known

                                                                                                                                            Obligatory disclaimer: if you’re fortunate enough to live in a liberal democracy.

                                                                                                                                            Yeah, obviously. I’m currently living in Indonesia and things are different here; I can’t go on Reddit for example as it’s all blocked :-/

                                                                                                                                            Living abroad in general is one of the things that gives you some perspective by the way, to give a different example, I used to complain about the Dutch public transport system, but after having lived in several different countries I can report that the Dutch public transport is actually really good compared to almost every other country.

                                                                                                                                            1. 3

                                                                                                                                              Americans who value freedom should build technologies that prevent their own speech from being censored by foreigners (or other Americans) who value freedom of speech less than some other political goal. It’s no imperialism worth opposing if non-Americans also make use of those technologies to secure their own speech.

                                                                                                                                          2. 6

                                                                                                                                            You know, that thing that we used to believe everyone should have a say in.

                                                                                                                                            I think most of who said that never believed that nazism could come back. At least I did, and now that it has come back, I’m reconsidering my position. The weaponizing of masses for digital terrorism was another thing I didn’t foresee at all, but that’s what we have now.

                                                                                                                                            If your point was that it’s weird that single companies have to carry the responsibility to make these decisions, that I can agree with.

                                                                                                                                              1. 22

                                                                                                                                                I think you’re stretching that comic a bit there. If you mean it as “you have free speech but I don’t have to listen to you”, I agree with you. You’re not stopping anyone else from listening to him by ignoring him.

                                                                                                                                                But being able to remove a platform in the blink of an eye is a very powerful tool. It should not fall in the wrong hands. As long as Cloudflare is upfront about what is acceptable and what not, and upholds those standards in a publicly verifyable way, I don’t see an issue, but the way 8chan was handled is less than ideal.

                                                                                                                                                Today it was 8chan that suddenly was denied service, tomorrow it could be something that I care about.

                                                                                                                                                1. 18

                                                                                                                                                  I am worried about decisions of platforms that capture audience and control attention of large numbers of people (YouTube, Twitter, Facebook), because when they drop someone, they disconnect them from their audience. When they promote someone, they amplify their voice.

                                                                                                                                                  With Cloudflare none of that happens. It doesn’t bring you an audience. You use your own domain, so when Cloudflare drops you, you can go elsewhere and reconnect with your audience. But if nobody else is willing to host 8chan, that’s the xkcd situation.

                                                                                                                                                  In either case, when a platform makes a wrong judgement that’s very unfortunate, but IMHO it should not be an excuse for not making any judgements at all.

                                                                                                                                                  1. 6

                                                                                                                                                    If your service is Denial of Service prevention, and you can at your own discretion stop providing service to sites you don’t like (or even prevent certain demographics from reaching a certain site), you’re effectively saying that you protect from Denial of Service, except your own.

                                                                                                                                                    Most of your customers are not actually in need of DoS-protection, but some are. For those, you suddenly denying them service is a huge blow. I have no sympathy for 8chan, let that be clear, but some day in the future a case might show up that is not so black and white, and do we trust Cloudflare to make the right call then? Remember they got it wrong with 8chan before - the site was not taken online as soon Cloudflare learned about it.

                                                                                                                                                    And equally important (you’d almost forget about it with all this talk about 8chan), do we trust Cloudflare not to abuse their close-to-monopoly on web traffic?

                                                                                                                                                    1. 4

                                                                                                                                                      because when they drop someone, they disconnect them from their audience.

                                                                                                                                                      If CF dropping 8chan didn’t disconnect them from their audience, what was the point in dropping them?

                                                                                                                                                      But if nobody else is willing to host 8chan, that’s the xkcd situation.

                                                                                                                                                      How do you feel about the Hollywood Blacklist?

                                                                                                                                                      1. 5

                                                                                                                                                        I think refusing to cooperate with those who you believe to be harmful/immoral/corrupting/otherwise unacceptable is a good non-violent method of suppressing such views and behaviors. It doesn’t mean I agree with motivations of all people who use this method.

                                                                                                                                                        1. 7

                                                                                                                                                          Operating a hosting service doesn’t mean you can somehow be apolitical. Saying that you will host anything is itself a political statement.

                                                                                                                                                          Choosing to enable hate-speech is a political action. With 8chan, it appears that no one wanted that publicly associated with the site, and so it is offline. I’d say that’s a good thing. You can disagree. That’s politics.

                                                                                                                                                          I disapprove of the Hollywood Blacklist and similar McCarthyist nonsense. Those people should not have been harassed because those people were not violent or dangerous. This is consistent with wanting hate sites (which do appear to encourage copycat attacks, radicalise others, etc) to be shut down.

                                                                                                                                                          Ideally, the users would be identified and encouraged to take part in counselling and sensitivity training to try to stop them being such racists.

                                                                                                                                                      2. 8

                                                                                                                                                        Even if the same form of a rule (ban X from Y) can be used both for good (ban Nazis from Twitter) and for bad (ban women from public places) we aren’t obliged to throw the rule in all of its forms away. We can apply the rule in ways that reduce suffering, and refuse to apply it in ways that increase suffering.

                                                                                                                                                        This is obvious. We don’t abandon wholesale the concept of laws and punitive justice (if you assault someone the state may confine you) even though it can be misapplied (if you commit adultery the state may execute you).

                                                                                                                                                        1. 6

                                                                                                                                                          Whoa, this is not about whether censorship is good, this is about wheter it’s a good idea to do it at the discretion of a single company. At a state level the lawmaker is supposed to be separate from the justice system. Cloudflare is responsible for a large chunck of the internet; do we want to trust them now and in the future not to abuse that responsibility at some point?

                                                                                                                                                          1. 4

                                                                                                                                                            They do not have a monopoly, so they’re not censoring. The other site CF blocked is hosted again, for example.

                                                                                                                                                            Yes, it would be nice if this kind of thing were done democratically, and CF highlight that in their blog, but the occasional refusal of service to literal fascists is hardly the most compelling argument for democratic governance of the internet.

                                                                                                                                                            1. 4

                                                                                                                                                              Is your point that since you agree with their action this time, we don’t need oversight because next time you will also agree?

                                                                                                                                                              Can I ask if you protested Cloudflare when they defended hosting 8chan?

                                                                                                                                                              1. 3

                                                                                                                                                                I didn’t protest, but if I had heard about it on here or reddit I might have expressed disapproval.

                                                                                                                                                                My point is that it would be nice to have democratic oversight of this kind of thing, but it’s also not really that big a deal because there are competitors to use. If CF was a monopoly, this would be more of an issue and a democratic body should take action (regulate CF or break it up).

                                                                                                                                                                Because CF is in a competitive market, the situation is more like this one: In the UK some hotels refused service to gay people and were then sued under anti-discrimination laws because sexual orientation is a protected characteristic. If a country passes anti-discrimination laws protecting hate-speech, then the administrators of 8chan could sue in that jurisdiction.

                                                                                                                                                                Indeed, if CF refused to host Stonewall, then they could probably be sued in the UK on that basis. That’s the current democratic consensus and I’m mostly fine with it.

                                                                                                                                                      3. 7

                                                                                                                                                        No need to re-iterate, we understand what you’re saying: free speech is only for opinions you approve of. You’re just wrong, is all.

                                                                                                                                                        1. 11

                                                                                                                                                          We understand what you’re saying: free speech is only for opinions you approve of. You’re just wrong, is all.

                                                                                                                                                          It is disingenuous in the extreme to handwave away white supremacy or Nazi ethno-nationalism as mere “opinions you don’t approve of”, or “political speech”, or whatever other weasel phrase you want to use. That the New England Patriots are a good football team is an opinion I don’t approve of. The efficacy of Austrian economic policy is political speech I don’t subscribe to. The notion that a society should be a white ethno-state is fundamentally different, different in kind, an antisocial cancer that deserves complete and contemptuous eradication.

                                                                                                                                                          1. 2

                                                                                                                                                            [ethno-state stuff]

                                                                                                                                                            How do you feel about non-white ethno states?

                                                                                                                                                        2. 4

                                                                                                                                                          Hey, I have an idea. How about a central registry of naughty opinions? If you’re on the list, you’re not allowed to have a website or social media presence. It could be like a modern day sex offender registry: It’ll track when you say something disagreeable, and any time you pop up online it’ll automatically post a link to it for everyone to see.

                                                                                                                                                          I’m a bit sad that this seems like a viable idea. Also sad that people seem to want this future.

                                                                                                                                                          1. 8

                                                                                                                                                            Hey, I have an idea. How about a central registry of naughty opinions? If you’re on the list, you’re not allowed to have a website or social media presence.

                                                                                                                                                            It is disingenuous in the extreme to handwave away white supremacy or Nazi ethno-nationalism as mere “naughty opinions”, or whatever other weasel phrase you want to use. Disliking cilantro, or enjoying EDM, might be naughty opinions. The notion that a society should be a white ethno-state is fundamentally different, different in kind, an antisocial cancer that deserves complete and contemptuous eradication.

                                                                                                                                                            1. 2

                                                                                                                                                              China is pretty much this.

                                                                                                                                                              1. 0

                                                                                                                                                                We already have that, its called Twitter and its cancel culture.

                                                                                                                                                      4. 10

                                                                                                                                                        Aggressiveness of bot blocking, e-mail filtering, etc. are controlled by users.

                                                                                                                                                        It’s the defaults that are terrible! Tons of fully static blogs have the stupid “bot protection” for GET requests which has no security purpose whatsoever. Because users do not bother to change defaults.

                                                                                                                                                        1. 4

                                                                                                                                                          That’s a fair point. I’ll ask if we can change the defaults.

                                                                                                                                                          I suppose it’s tricky, because when we create an account, we don’t really know if it’s going to be used for a dumb static site. And there are some origins (e.g. Wordpress on low-end hosting) that can go down if they’re crawled less than gently, so they do need protection even for GET.

                                                                                                                                                        2. 9

                                                                                                                                                          Thanks for taking the time to respond to this.

                                                                                                                                                          There are customers who really want and pay good money for features like WAF and blocking of “bad” traffic.

                                                                                                                                                          It’s not news to me that WAFs are snake oil sold to enterprises who are determined to see security as a kind of product they can buy, or a box to be ticked. It remains a fundamentally broken practice.

                                                                                                                                                          Aggressiveness of bot blocking, e-mail filtering, etc. are controlled by users.

                                                                                                                                                          As far as I’m aware Cloudflare reserves the ability to disable all meddling to paid tiers, unless this has changed. And in any case most sites leave this stuff enabled, leading to the various issues I raise in the article. The fact that some of these sites have their own AJAX calls broken does not suggest to me that site operators are fully understanding the caveats of Cloudflare’s product.

                                                                                                                                                          If it was a pretty egregious violation then wouldn’t you think that some law enforcement would have happened?

                                                                                                                                                          Honestly, no. For a law as vague and open-ended as EU privacy law, there’s always going to be more violations than enforcement actions. GDPR for example is sufficiently pervasive in its implications I doubt enforcement action will be taken against even 1% of its violations. Enforcement is prioritized against the biggest or most publicly visible harms. Though of course, I’d be interested if Cloudflare has its own legal arguments with regards to this tracking cookie.

                                                                                                                                                          The mysterious reason why U.S Govt allows Cloudflare to “violate copyright” (and so do all other governments in the world! — wow, Cloudflare is in bed with all of them!) is that users click “Agree” on Terms of Service.

                                                                                                                                                          You’re misinterpreting my argument. Yes, of course Cloudflare can and does receive permission from a website owner to redistribute their content. However, this assumes that the website owner has permission to distribute everything on their website, which isn’t necessarily the case.

                                                                                                                                                          The Pirate Bay is an instructive example because, although it doesn’t host anything illegal directly, its purpose is to engage in contributory copyright infringement by linking to infringing material. Under US law, it would be obliged to process 17 USC 512(c) takedown notices in exactly the same way that Google, a search engine, is obliged to process such takedown notices for mere links to infringing material in its search results.

                                                                                                                                                          In order to be exempt from liability for contributory copyright infringement, Cloudflare needs to fall under one of the exemptions from liability provided for under 17 USC 512, presumably 512(b). However, they cannot because they modify the content they transmit. This suggests, unless I am mistaken, that Cloudflare’s activities do not fall under any 17 USC 512 exemption. This is no problem for Cloudflare’s redistribution of content which a website operator had permission to distribute and thus gave to Cloudflare, but it poses a big problem if Cloudflare provides service to any website which itself violates copyright law… which it does, namely TPB.

                                                                                                                                                          1. 1

                                                                                                                                                            GDPR for example is sufficiently pervasive in its implications I doubt enforcement action will be taken against even 1% of its violations.

                                                                                                                                                            Have you tried raising your concerns with your local data protection agency?

                                                                                                                                                            1. 1

                                                                                                                                                              When filtering we try to observe MIME types, so AJAX calls shouldn’t break, unless sites incorrectly label their responses. File bugs with customer support, these get passed on to devs. We’re in the process of upgrading our HTML rewriter, so we may be able to fix many edge cases.

                                                                                                                                                              Cloudflare has a ton of lawyers who review everything we do. I can’t even make a blog post without presenting evidence for all claims to our legal, so I’m pretty sure the main functionality of our main product has been carefully reviewed. Illegal stuff is taken down if Cloudflare is ordered to do so. There’s an entire overworked dept for dealing with law enforcement.

                                                                                                                                                              IANAL, but the cookie is not tied to any PII, and its siloed to DoS protections. As a dev I don’t have access to it, so I can’t use it for other products (even though it’d be useful for things like smart H/2 push or RUM metrics).

                                                                                                                                                              We don’t have infrastructure to do any major tracking. Almost everything is per request and distributed and stateless. Log aggregation is per zone (customer) for billing and performance metrics.

                                                                                                                                                            2. 7

                                                                                                                                                              Harassment of users with CAPTCHAs doesn’t help anyone

                                                                                                                                                              Agreed. So when will it stop?

                                                                                                                                                              Since Cloudflare definitely has assets in the EU — it has to, it’s a CDN — it’s also pretty egregiously violating EU law here.

                                                                                                                                                              If it was a pretty egregious violation then wouldn’t you think that some law enforcement would have happened?

                                                                                                                                                              It isn’t a violation because you haven’t been fined? By that logic I’ve never driven past the speed limit, because I’ve never received a speeding ticket.

                                                                                                                                                              1. 3

                                                                                                                                                                There’s ongoing work on improvement of bot detection accuracy, but it’s an endless cat and mouse game.

                                                                                                                                                                Cloudflare has nothing against Tor, but when actual attackers use Tor, and legit users use Tor, and both do everything they can to make their traffic look the same, we have no way of telling them apart.

                                                                                                                                                                IIRC Cloudflare proposed some solutions that were meant to preserve privacy while carrying a “I’m not a bot” proof, but unsurprisingly Tor users are not receptive to changing anything about their traffic, so that’s probably a stalemate.

                                                                                                                                                                I’ve just checked the Tor bug tracker about it, and the thread ends with users linking to Hitler memes.

                                                                                                                                                                1. 15

                                                                                                                                                                  This has already been adressed in the article. I quote:

                                                                                                                                                                  Cloudflare’s inexplicable inability to implement HTTP in a sane, transparent manner, despite this incapability being seemingly unshared by every other CDN service in existence, became even more ridiculous when Cloudflare reached out to the Tor project to request that they make changes to Tor to accommodate their own problematic practices.

                                                                                                                                                                  Or to say it another way: Allow GET requests from low-reputation IPs.

                                                                                                                                                              2. 5

                                                                                                                                                                What’s your take on the argument that the NSA must have compromised Cloudflare and is using it as a convenient tap to become a Global Active Adversary? (Because the NSA is many things, but it ain’t dumb.) I know you can’t speak to specific countermeasures you may or may not have in place against such things, but… this has always seemed like a really important point to address.

                                                                                                                                                                I appreciate that Cloudflare has made some credible efforts at working with Tor, especially the Privacy Pass initiative (which is the first concrete step I’ve seen towards the blinded reputation system we really need.) But… there’s still a long, long way to go. I don’t know if you’ve tried using the web through Tor, but Cloudflare is becoming increasingly problematic. :-/

                                                                                                                                                                1. 5

                                                                                                                                                                  Cloudfare already does monitoring of raw traffic for security (esp DDOS), availability, and competitive insights into improving their own business. If backdooring Cloudfare, NSA would use systems that already intercept and/or redirect lots of traffic using patterns or firewall rules (“targeting criteria”) substituting their own. The information will be sent to them either directly in a way Cloudfare normally sends external traffic or back to collection points such a national or regional HQ’s or backbones. They’ll likely be sent to some NSA controlled system that, AT&T-style, has an extra connection that sends traffic outside the building without Cloudfare’s systems seeing that. They might even use master-master systems in HA configuration with the redirected data said to be testing those systems. Even fail them over periodically when intel wasn’t needed. Many ways to do it.

                                                                                                                                                                  At most, there would be 1-3 executives/managers and a few specialists that need to know what’s actually going on. The equipment and systems would look like any others for the stated purpose. Their traffic patterns could look different if one looks closely at them but crypto could obscure it. Trusted systems that don’t do anything outside their bounds might also never get traffic inspection by a human. A subversion of a Cloudfare-scale organization would take a handful of people keeping the rest in the dark. NSA might also provide the specialists, too, since they’d be cleared for it. Just with fake resumes.

                                                                                                                                                                  And you should already assume it happened due to Core Secrets saying NSA asked FBI to “compel” U.S. companies to “SIGINT-enable” their systems. And, since it’s TS/SCI, lie to their employees and customers about that. It’s straight-up a felony with 15 years imprisonment for them to tell you the truth if they were coerced into one of those programs. However, the other leaks were clear that NSA paid tens of millions to companies with lots of reach. Around $100 mil each to big telecoms. It’s more likely that Cloudfare, a startup with a huge bill for physical assets, took a large pile of cash to rapidly grow the business faster than those just taking VC money. Also, they made the tradeoff knowing the alternative was being fined out of existence or the executives doing time. There’s few, actual choices if one lives in a police state like America. Liking it or not, I’d understand if a for-profit, small startup took the money instead of declaring war on the U.S. government.

                                                                                                                                                                  1. 2

                                                                                                                                                                    I can’t prove a negative. We have our own hardware and people familiar with the entire hardware and software stack, so I think a non-targeted/high-volume attack would be detected quickly. There’s a healthy level of paranoia about security. There’s also an option of signing TLS sessions from a remote machine, so that we don’t even have a key to compromise: https://www.cloudflare.com/ssl/keyless-ssl/

                                                                                                                                                                    1. 8

                                                                                                                                                                      When you mention a “non-targeted, high-volume attack”, you’re referring to hypothetical processing and exfiltration of all or nearly all traffic metadata, right? (E.g. the NSA extracting all Tor traffic for analysis.) I agree that that’s unlikely, and that barring a goodly number of employees actually being in the pay of the NSA, it would be extremely difficult for it to remain undetected. I’d be more concerned about a sequence of targeted attacks on specific endusers.

                                                                                                                                                                      I know you can’t prove a negative. I suppose I’m asking you to justify helping create a large MITM system, knowing that it will inevitably be a huge target for state-level adversaries, rather than working to design something without this danger to society.

                                                                                                                                                                      (Keyless SSL is indeed cool, but it doesn’t change you being a MITM.)

                                                                                                                                                                      1. 4

                                                                                                                                                                        Cloudflare wants to be in the business of delivering data quickly, protecting sites from attacks, implementing cutting-edge protocols and performance optimizations. MITM isn’t a goal, and it would be fantastic if all these features could be delivered without liability of key management.

                                                                                                                                                                        Cloudflare is a big target, because it grew big offering useful MITM. I don’t know what you expect Cloudflare to do about it? Drop customers? Shut down? Let proletariat seize the means of content distribution?

                                                                                                                                                                        1. 3

                                                                                                                                                                          Let proletariat seize the means of content distribution?

                                                                                                                                                                          Yes. Entities as powerful as CloudFlare are not healthy for the internet.

                                                                                                                                                                          The power could be spread thin administratively. You could become a non-profit foundation and govern your own code and infrastructure through consensus-driven mechanisms that the public participates in, a la the IETF.

                                                                                                                                                                          The power could be spread thin technically. You could split up billing so that each datacenter bills customers individually and set up each of your datacenters to be an independent node that has zero trust in the others and is configured to discover and interact with any other datacenter that implements the same protocols. This would allow third parties to participate–assuming that it behaves as it should in the network. (I recommend requiring nodes to spit out their own source code on demand.) A federation of CDN providers. Indeed, marketplace of competition among CDN providers.

                                                                                                                                                                          Sorry for the word salad! I’m sure what I suggest makes no sense–I don’t know how CDNs work or how your company is organized. But, I repeat my answer to your question: Yes!

                                                                                                                                                                          Same goes for Google, Facebook, Comcast, Level3 Communications, etc. I would happily run a couple Google nodes in my basement if I could just apt-get install google-daemon and get paid for converting electricity into services. I can even offer very low latency to my neighbors!

                                                                                                                                                                          1. 1

                                                                                                                                                                            I can’t say I expect Cloudflare to be upfront about what their service really is, but I think they would have fewer customers if the customers understood what the service is and whether they really need it.

                                                                                                                                                                            Most of your customers don’t need the “delivering data quickly”, “performance optimizations” (it would’ve been quick anyway), “protect sites from attacks” (if there’s nothing to attack on a static page) and “cutting-edge protocols”. Through very good marketing they make technical novices think that they need the service, and that they get a good deal by getting it for free.

                                                                                                                                                                            Consider lobste.rs, not behind Cloudflare, more users than a lot of the sites behind Cloudflare free tier, and yet it’s not slow or regularly down due to attacks.

                                                                                                                                                                            1. 0

                                                                                                                                                                              Using cloudflare may be good for the environment, depending on how they’re set up. Networking is expensive and you do less of it if you hit a local CDN instead of us-east or whatever.

                                                                                                                                                                  1. -8

                                                                                                                                                                    I’m shocked (in a good way) people haven’t expressed outrage at 9front’s propaganda. http://9front.org/propaganda/

                                                                                                                                                                    Maybe because it’s blatant satire, so no one could possibly think that they were literal nazis.

                                                                                                                                                                    Unfortunately in today’s social climate humor is becoming less and less acceptable. Anything mocking, outrageous, edgy, or otherwise not-mainstream can make your coworkers feel unsafe or uncomfortable. A react programmer was nearly crucified after he made the OK symbol with his hand during a conference talk.

                                                                                                                                                                    https://twitter.com/ken_wheeler/status/1164934308366340096?lang=en

                                                                                                                                                                    And it was 4chan that started that “OK symbol = white power” troll, specifically to troll everybody into thinking it actually had any kind of white power meaning. It’s like the media can’t help but play right into 4chan’s hands. https://www.bbc.com/news/newsbeat-49837898

                                                                                                                                                                    1. 27

                                                                                                                                                                      4chan is also packed to the rafters with open and unironic white power enthusiasts so it’s not particularly giving your arguments any credence. When you do something ironically enough times that unironic enthusiasts of that thing are more prevalent than the people who do it ironically, then it’s no longer ironic, it’s just that thing.The thing that makes 9Front different is that they also espouse literal opposites as propaganda. It’s like putting skateboarding is a crime on your skateboard.

                                                                                                                                                                      1. 19

                                                                                                                                                                        Can you think of a reason why recycled Nazi propaganda, even as a joke, might cause some people earnest anxiety, in our present moment?

                                                                                                                                                                        1. 11

                                                                                                                                                                          Which of those images are Nazi propaganda? I can see a V2 launch, but I’m not sure it is propaganda any more than archival footage. I see far more references to the US nuclear program and radiation than anything else (Which I suppose could be offensive to some).

                                                                                                                                                                          1. 3

                                                                                                                                                                            For the same reasons a repurposed Jurassic Park screencap might?

                                                                                                                                                                            1. 4

                                                                                                                                                                              For the same reasons a repurposed Jurassic Park screencap might?

                                                                                                                                                                              I don’t understand the reference or implication here, can you spell it out for me?

                                                                                                                                                                                1. 1

                                                                                                                                                                                  Maybe just riffing on Operation Paperclip? Who knows, actually…there’s even a photo from the Alien 3 set, which really sold them to me. Alien 3 is a strange flick.

                                                                                                                                                                          2. 8

                                                                                                                                                                            Maybe because it’s blatant satire, so no one could possibly think that they were literal nazis.

                                                                                                                                                                            I think it’s because there imaginary is all over the place. You’ve got Kennedy, Mao, 30’s Germany, Orwell, movies, etc.

                                                                                                                                                                            As far as I remember They also had have the communist manifesto somewhere in their source , which I guess ends up worrying other people (and sometimes the same).

                                                                                                                                                                            Edit: It’s in this directory, under manifesto: https://code.9front.org/hg/plan9front/file/82cc8a9cd294/lib

                                                                                                                                                                            And it was 4chan that started that “OK symbol = white power” troll, specifically to troll everybody into thinking it actually had any kind of white power meaning. It’s like the media can’t help but play right into 4chan’s hands. https://www.bbc.com/news/newsbeat-49837898

                                                                                                                                                                            That was particularly mean, because on the one hand it started as satire, but at the same time it became a symbol, because it was satire, making it an actual symbol, beyond satire, masked as satire. Quite honestly, it was executed masterfully, it’s really a surprised it even worked.

                                                                                                                                                                            1. 1

                                                                                                                                                                              Quite honestly, it was executed masterfully, it’s really a surprised it even worked.

                                                                                                                                                                              Heads they win, tails we lose: the more the symbol is used by fascists the more people talk about how it’s a fascist symbol; the more people talk about how it’s a fascist symbol the more cryptofash, fash-lite and fash adjacent people mock the notion that it’s a fascist symbol - thus giving cover to fascists who use it.

                                                                                                                                                                              Feedback loops, oof.

                                                                                                                                                                            2. 18

                                                                                                                                                                              Unfortunately in today’s social climate humor is becoming less and less acceptable. Anything mocking, outrageous, edgy, or otherwise not-mainstream can make your coworkers feel unsafe or uncomfortable.

                                                                                                                                                                              This is such bullshit and I’m tired of hearing these tired and lazy talking points repeated without question any time the topic comes up.

                                                                                                                                                                              Humor is not “becoming less and less acceptable.” What is actually happening now is that, at least in the United States, we are slowly starting to be aware as a culture, in fits and starts, that the status quo in place for most of the history of the U.S.–where it was okay to use people in a perceived lower social class as punching bags and call it “humor”–is actually maybe not okay and not a cultural value we want to keep and moreover, not even funny. And in response what we are hearing is a bunch of people getting butthurt about not being able to talk shit about whoever they want without repercussions…and claiming that actually they are just being “edgy” and the rest of us snowflakes can’t take it. It’s the same bullshit as when Rush Limbaugh was complaining about political correctness hampering his ability to say racist shit without getting called on it back in the 90s, and he is still making money, so obviously things haven’t really changed that much…yet.

                                                                                                                                                                              You know what edgy humor is? Scott Thompson going to Russia during the Sochi Olympics and flaunting his gayness in a place where that could get him arrested or beaten. It’s the Monopoly guy showing up to senate hearings, or, basically anything The Yes Men do. It’s the Satanic Temple unveiling a Baphomet statue at the AR state capitol to make a point about church and state. It’s the Chappelle show’s Frontline Sketch about Clayton Bigsby but, unfortunately, not Dave Chappelle making jokes about trans or gay people or doing racist Chinese accents–that stuff is old and tired.

                                                                                                                                                                              So maybe if you’re saying shit that makes your co-workers feel unsafe and uncomfortable, you should first ask yourself if you should really be saying shit that makes your co-workers uncomfortable (if it’s not about the work itself) or unsafe, and then consider whether it’s really that important to be able to freely make “edgy” and “outrageous” jokes in a work environment. It’s probably not. I will go out on a limb and say that you’re almost definitely not contributing anything useful if you’re making people feel unsafe, and you should probably be fired.

                                                                                                                                                                              I don’t think any of this is particularly hard but yet, a lot of folks seem to have trouble figuring it out. Hopefully this helps.

                                                                                                                                                                              1. 14

                                                                                                                                                                                Why would you bring this up? At best, it’s off-topic…at worst, it could result in an outrage ball that could result in issues for 9front or the removal of that comedy.

                                                                                                                                                                                Why?

                                                                                                                                                                                1. 9

                                                                                                                                                                                  Unfortunately in today’s social climate humor is becoming less and less acceptable.

                                                                                                                                                                                  It’s all fun and games to cry “wolf!” when everybody knows there’s no wolves for hundreds of miles around.

                                                                                                                                                                                  It’s not cool to cry “wolf!” in a dark forest when the howling of wolves is carried clearly on the midnight air.

                                                                                                                                                                                  My point is: if I tell a joke and my audience doesn’t laugh, blaming the Fun Police might soothe my ego, but really I should think about what my audience will find funny before I try again.

                                                                                                                                                                                  1. 4

                                                                                                                                                                                    Are we even looking at the same thing? Can you explain what, exactly, you’re reacting to? (Maybe a screenshot?) All I see is a bunch of random images with their logo on them.

                                                                                                                                                                                    1. 6

                                                                                                                                                                                      Maybe because it’s blatant satire, so no one could possibly think that they were literal nazis.

                                                                                                                                                                                      How could anyone get the impression that they are Nazis from that collection of almost entirely Nazi-less images?

                                                                                                                                                                                      1. 4

                                                                                                                                                                                        Someone started a rumor that the ok sign is white supremacist and then white supremacists started doing it en masse so it’s safe to say it’s officially a white supremacist symbol now. You’re playing into their hands by allowing them to maintain plausible deniability.

                                                                                                                                                                                        1. 5

                                                                                                                                                                                          How should anyone who lives outside the social media filter bubble know what symbols are used by extremists now and thus are not okay to use anymore? I never heard of this rumor before and do not know anyone who has.

                                                                                                                                                                                          1. 3

                                                                                                                                                                                            The user I’m responding to posted a link to the BBC, it’s not just some social media thing.

                                                                                                                                                                                          2. 4

                                                                                                                                                                                            Rather than flipping out, why not just claim it back by doing it for the exact opposite reasons? If you don’t they will just do the same thing with a million other symbols… maybe thumbs up is next?

                                                                                                                                                                                            All that you are doing by perpetuating the idea it is a white supremacist symbol, is losing a little ground.

                                                                                                                                                                                            The original trolls who started that joke must laugh to themselves every time they see someone mention it seriously like you just did.

                                                                                                                                                                                            1. 4

                                                                                                                                                                                              No, the white supremacists who use it as a white supremacist symbol are perpetuating the idea that it’s a white supremacist symbol.

                                                                                                                                                                                              1. 3

                                                                                                                                                                                                The point is the same, why allow that? They are just gonna steal thumbs up and the peace sign next. Is there not a counter to that?

                                                                                                                                                                                                1. 3

                                                                                                                                                                                                  Yeah, the best counter is to organize and smash white supremacy.

                                                                                                                                                                                                  1. 5

                                                                                                                                                                                                    Yeah, but even then, when can we do okay signs again?

                                                                                                                                                                                                    1. 8

                                                                                                                                                                                                      It’s a lot like viking runes, Nazis picked em up for their propaganda, using them doesn’t mean you’re a Nazi but if you see someone with a bunch of them they might be a Nazi. People who have viking heritage and want to have an artifact of their culture avoid the most propagandized ones.

                                                                                                                                                                                                      You can do whatever you want. It is a white supremacist symbol now. If you see someone doing it in a situation that seems overtly racist, they’re probably a white supremacist. If you see someone doing it when someone would say ok, it’s probably not a white supremacy thing.

                                                                                                                                                                                                      1. -2

                                                                                                                                                                                                        Do you actually think this is a question I can answer or are you making some kind of point?

                                                                                                                                                                                                        1. 2

                                                                                                                                                                                                          It’s a serious question.

                                                                                                                                                                                                          1. 3

                                                                                                                                                                                                            I’m a lot more worried about the increased frequency of hate crimes in the last few years than when I’ll be allowed to use a specific hand gesture again to be honest with you.

                                                                                                                                                                                                            1. 6

                                                                                                                                                                                                              I’m worried about the rise of hate crimes, for sure. But, I’m also worried about the Internet’s ability to cause irrepairable harm to innocent people. It’s incredibly easy to take some tweet, some forum post, some photo out of context and cast someone as $X because of $Y, and $Z. “They used a certain hand gesture, and wrote a tweet 3 years ago that, if you squint, suggests they support nationalism–they’re a white supremacist!”

                                                                                                                                                                                                              The downvoted OP linked to a tweet where this seems to have happened. I don’t know anything more than what is in the thread, but guy is bald, used an OK sign for another reason, suddenly he’s the same as Richard Spencer.

                                                                                                                                                                                                              I don’t want to make light of White Nationalism! Far from it. But, we cannot assume, by default, that everyone is bad, and we seem to be doing that more by default. Of course, this could be, and probably is to some degree, reactionary to the rise in hate crimes…

                                                                                                                                                                                          1. 1

                                                                                                                                                                                            What’s the story behind the name? At first I mistook it for the Roman senator Catilina, which would be a weird reference.

                                                                                                                                                                                            1. 3

                                                                                                                                                                                              It refers to an island off the coast of California, keeping with the theme of California names (Mojave, Sierra, Yosemite, etc)

                                                                                                                                                                                              https://en.wikipedia.org/wiki/Santa_Catalina_Island_(California)