1. 1

    This is also something I’ve been using Ecto for (and validating a JSON body). It works pretty well and it’s nice to have to learn One Less Thing sometimes.

    1. 1

      Is your code reusable? Could you share it?

      1. 1

        The technique is so simple that I doubt it needs a separate reusable library on top of Ecto. Just implement a module with the schema and validator functor for each type you want to validate. E.g. here’s a code extract from one of my experiments a few years ago. It looks remarkably similar to OP:

        defmodule RedemptionApiWeb.CaptureRequest do
          use Ecto.Schema
          import Ecto.Changeset
          alias RedemptionApiWeb.Request
        
          @required [:redemption_id, :member_id, :program_id, :miles]
        
          schema "CaptureRequest" do
            field(:redemption_id, :string)
            field(:member_id, :string)
            field(:program_id, :string)
            field(:miles, :integer)
          end
        
          @spec validate(%{
                  redemption_id: String.t(),
                  member_id: String.t(),
                  program_id: String.t(),
                  miles: String.t()
                }) :: Request.t()
          def validate(params),
            do:
              %__MODULE__{}
              |> cast(params, @required)
              |> validate_required(@required)
              |> validate_length(:redemption_id, min: 1)
              |> Request.validate_common()
        end
        
    1. 22

      I’ve been tinkering with copilot in some side projects and and for anything beyond simple stuff it is has proven not just bad, but dangerous. As a finite example, it seems to have been reinforced to use innerHTML basically for everything, even displaying simple text. Everything it generates needs to be incredibly thoroughly reviewed.

      To me, the whole benefit of this tool was to help provide a sort of feedback loop to junior developers to help them think about different ways they could solve a problem. Instead you need a deep understanding of what suggestions are or are not appropriate, basically the exact opposite outcome.

      I foresee a lot of auto-generated security issues if people start using this sort of software as a way to reduce cost of development

      1. 2

        I don’t think the author does a good job of showcasing this, and likely to be an unpopular opinion here, but having quite a bit of experience developing stuff in Javascript at this point, there is a wisdom in having a falsy version of primitives. It both eliminates needless bits and when used properly can eliminate a whole tree of Maybe types.

        Let’s say you are given this code contrived (typescript) code just to illustrate what I mean:

        type Person = 
         { name: string
         ; title    : string
         } 
        const titleIsAbbreviated (person : Person) : boolean => person.title.includes(".")
        const hasTitle = (person : Person) : boolean => !!person.title
        // from some form or whatever
        const sarah = {name: "Sarah", title: ""}
        hasTitle(sarah) // => false
        titleIsAbbreviated(sarah) // => false
        

        Many google javascript SDKs are very good about being cognizant of this, even if I have have other issues with their quality. By removing undefined | null | string and always having the type be string you can vastly reduce the number of problems. This is in fact very common in core browser apis for precisely this reason, which unfortunately most people are very unfamiliar with these days.

        For example:

        const audio = document.createElement("audio")
        audio.currentSrc // => ""
        audio.currentSrc.startsWith("blob:") // this is still safe because it's a string!
        

        tldr; coercion is a powerful tool and with great power comes great responsibility

        1. 4

          Thanks for sharing, was a nice read, even if it felt like the writer and I share a lot of positions on stuff and echo chambers can be dangerous for growth :slight_smile:.

          The only fact I would say that is completely wrong is:

          Svelte and Typescript are very useful, but the cost of building is always more than you think, especially once the codebase grows.

          The difference in cost of building additional features in Typescript vs Javascript is exactly zero, the costs are still there. The question is do you want your tooling to tell you about all the costs of making a change or do you have to discover, remember, and track them yourself? I know which one I would chose.

          1. 1

            I think he was referring to time it takes to compile typescript to JavaScript (build time, not time to build/add new features). As opposed to files on your computer that your browser already understands and somehow reloads straight away when edited. He’s saying there’s a trade off between having a tight feedback loop and whatever benefits you get from your compiler/we pack/whatever.

            1. 1

              in my experience it still takes more time to verify non-trivial behaviors versus your compiler telling you, “hey, you just messed this up”, and there is significantly more chance a bug makes it from your localhost to production. that is not free in any sense.

              that tight loop might be cool for your first couple of features, but as they get more complex you’re going to end up chasing ghosts, i will never start a new project in anything but typescript going forward myself, because anything interesting invariably gets rewritten in typescript anyway.

          1. 1

            Pretty cool article from Google, thanks for sharing, was a great walk-through of developing something over time and how to consider getting buy in from your colleagues.

            Changing cached lookup by removing the cache and always recalculating yields functionally equivalent code, undetectable by conventional testing.

            I don’t know what conventional testing is considered at Google, but this is trivially detectable in a property-based test by benchmarking the first couple of runs and comparing the property of their runtimes, since your first run should always be the slowest. I kind of find it surprising they don’t do stuff like this, it doesn’t need some big property-based framework to do or anything.

            1. 9

              The whole blog is dedicated to bashing Proctorio, how weird

              1. 16

                Eh. It claims to be about “exam spyware analysis” and bashes the similarly named ProctorTrack too. I don’t find it too weird; if I were forced to use such software, I would probably inspect it and might go so far as to write a blog complaining about it, if reporting the problems I saw in other ways brought no joy.

                1. 8

                  I am forced to use Moodle when I teach and I have definitely considered launching a novelty Twitter account just to bash the software. Not so much because I think it would matter, but because doing so might be cathartic… :-)

                  1. 4

                    And Moodle while clumsy to death is one of the less bad of the bunch by my small experience.

                  2. 2

                    How’s that weird?

                    1. 4

                      He (or she) created a blog just for bashing a single company. Even the domain is “proctor.ninja”. Maybe they are an employee, maybe they thinks Proctorio is the worst evil, and maybe it is, but they definetly has a grudge.

                      1. 10

                        Proctor io has a history of suing experts who critique their shady practices. I would probably attempt to remain incognito if I was making these claims as well

                    2. 1

                      There was an entire blog dedicated to how xkcd sucks. It seems like there are … several now. The original (with the hyphen) was hilarious.

                      There’s also an entire mastodon instance dedicated to SalesForce fandom .. or at least it seems at first. It’s difficult to tell if they’re really fans, making fun of it ironically or a little of both.

                      1. 1

                        Wait until you find out about https://twitter.com/memenetes. They even sell merch about bashing Kubernetes! XD

                      1. 8

                        I love crystal, it’s got a reasonably strong stdlib, and once it compiles I’m reasonable confident it will run for a very, very long time. Most importantly, the compiler is helpful and not pedantic. I have several cron jobs/data processors that I rarely touch which have been running for > 2 years now written in Crystal without a single issue, and most importantly whenever someone asks me to add a feature, it takes me all of 0.5s to figure out where I just borked something after adding the feature despite having not touched the code for 6+ months.

                        1. 6

                          …once it compiles I’m reasonable confident it will run for a very, very long time.

                          This is usually seen as a negative. People want their programs to be fast.

                          /s

                          1. 3

                            Hah, well done.

                          2. 1

                            Are those jobs for work or for pleasure? If work, do you use Crystal at work frequently?

                            1. 1

                              A bit of both, but in this case I was specifically taking about work. I wouldn’t say frequently, but if it’s something I’m going to be the sole maintainer of for the foreseeable future, it’s in the mix

                              1. 1

                                That’s pretty cool! How did you get a pre-1.0 language approved?

                                1. 7

                                  How did you get a pre-1.0 language approved?

                                  That’s just not really how our company culture works, it’s less of “what can I get approved?” and more of “Am I comfortable in asking this of my teammates?”.

                                  I also think it’s a bit unfair to say pre-1.0 Crystal wasn’t production ready, maybe I’m jaded by having been in Browserland so long now, but there are many popular, production ready javascript libraries out there that I trust less than pre-1.0 Crystal to work properly between updates.

                          1. 1

                            I like the idea that the browser becomes a native package manager without Node, NPM, or additional build tools.

                            “This import map is all that is needed to work with dependencies in native modules workflows in browsers, allowing you to get back to focusing on just running your own code natively in the browser, instead of needing to configure complex build tools and package management systems.” [0]

                            “Import map management becomes a form of package management in the browser.” [1]

                            [0] https://jspm.org/docs/cdn [1] https://jspm.org/docs/workflows

                            1. 1

                              top-level esm imports, while cool for some reasons, are basically the same problem as the now rarely used CSS imports, the loading waterfall is basically bonkers. The lazily async loading stuff is neat, and perhaps the big win for the future, but I don’t see how we aren’t just repeating the same mistakes we (as web developers) abandoned a decade ago.

                              As an experiment at $WORK$ I created a target with a full ESM compliant output to remove all code duplication in an effort to reduce total amount of bytes transferred, and the performance was absolutely horrible. The previous “dumb” minified/bundled js took at most 0.4s on a really bad network, was now a minimum 8s as minified ESM targets on a very good network (I didn’t even bother simulating 3G and such) despite being significantly less total data.

                              Going forward I don’t think we are going to actually see widespread adoption outside of splitting up monstrous react apps, because as it currently stands it’s super user hostile for library loading. It’s better to just bundle everything and provide an esm target, which negates most of the interesting benefits of ESM as far as I’m concerned.

                            1. 1

                              Looks cool! Is the source code to this project available?

                              1. 2

                                Yes, both the library on which this is built (https://github.com/felixpalmer/procedural-gl-js/) and this specific implementation (https://github.com/felixpalmer/volcanoes-of-japan) are open source

                                1. 1

                                  you can usually find them if you transform the github.io domain into github.com:

                                  <user>.github.io/<repo> becomes:

                                  github.com/<user>/<repo>

                                  https://github.com/felixpalmer/volcanoes-of-japan/

                                1. 1

                                  What was wrong with nvm that necessitated this competing with it?

                                  1. 5

                                    I think that’s more of a confrontational take than we’ve had with Volta—we all have used and were in many ways inspired by nvm, rvm, nodenv, pyenv, rbenv, etc. There were a few things we wanted to do differently and in some cases improve upon, though. One of the biggest is how global installs are handled. Another is the idea of having your toolchain management be declarative (like .nvmrc files!)—but in a way that can be managed for a whole organization, transparently. That latter bit was a key requirement for us at LinkedIn, and none of the tools in the space quite hit the mark.

                                    The last bit is speed! Volta has had “being fast enough that it’s effectively invisible” as one of the key goals from the start, and it shows. You never notice it’s there unless we’re giving you a nice message that we’re installing a tool your project is missing. Key hot paths are consistently in the 10–20ms range to do all of Volta’s work. We consistently hear people say things like “I forgot it was there” or “Is it even doing anything?”

                                    1. 3

                                      One big benefit of Volta is that it runs on Windows. That in and of itself is enough reason to go with it for me.

                                      1. 1

                                        Oh yes! I’ve gotten so used to this with the tools I use that I often forget it’s not actually the norm, and in this case it was particularly problematic because nvm-windows has completely different semantics and behavior than the Unix-y nvm.

                                    1. 1

                                      How would dialyzer + IDE integration look with this since you are turning a Map into function calls by matching on the object shape in dynamically dispatched functions outside of the filter_by/2 entry function? This looks like this would be a really tough job for autocomplete.

                                      1. 50

                                        To whomever downvoted this as off-topic:

                                        • It’s about cryptography, security, and privacy
                                        • The source code examples are written in JavaScript

                                        …so which topic is it off-?

                                        1. 37

                                          It’s probably an expression of political distaste for overt references to furrydom rather than an authentic opinion that this article’s content is off-topic. I think this is absolutely topical content myself, but I’ve seen plenty of articles posted that I also thought were entirely topical (some of which I posted myself), that had off-topic or other flags because they were triggering to the political sensiblities of other users.

                                          1. 53

                                            Just posting in support of this.

                                            Folks, this is a nice high-effort post about implementing security, with code and references and the whole shebang. It isn’t shilling a service, it isn’t navel-gazing on politics, it isn’t even some borderline case of spamming a blog to get more views without care for the community.

                                            Anybody who flagged this as off-topic either didn’t read the article or is a tremendous asshole.

                                            Anyone who flagged this as spam either didn’t read the article or is a tremendous asshole.

                                            If the reference to furries in the title rustled your jimmies, despite the site policy here being to use the original title as close as possible, and you were unable to evaluate the quality of the article on its own merits, you’re a tremendous asshole.

                                            1. 26

                                              I get off topic downvotes for my posts with Mara too. Some of the graybeards here really dislike furries for some reason I can’t comprehend. I hope they can find something better to do that downvote furry adjacent content. Anyways, keep up the good work!

                                              1. 46

                                                I’m that kind of a person, though I don’t have a gray beard. To me it’s just cringe (for lack of a better word), just like an unironic “euphoric” atheist, a gun-obssessed anarcho capitalist, a “My Little Pony” Fanboy or a western-anime otaku. I honestly don’t see what the difference is.

                                                Any blog that tries to mix that kind of usually fringe subculture is fine by itself, people are strange, but I have my doubts how relevant it is to a general-public site like Lobsters.

                                                That being said, I didn’t flag it, I’ll just be hiding it.

                                                1. 16

                                                  Setting aside how cringe or not it is, we should evaluate the article on its technical merits.

                                                  1. 14

                                                    In principle, yes, but we often have discissions on the form of sites (don’t post twitter threads, avoid medium, not loading without JS, too low contrast, automatically playing videos), and interspersing a page with furry imagary is just something that some people are used to (apparently this is an american thing), and others are not.

                                                    1. 5

                                                      It’s not an American thing.

                                                      I don’t know why you think it is.

                                                      Eurofurence, Nordic Fuzz Con, and FurDU are just a few of the international furry conventions that attract thousands of attendees every year (COVID notwithstanding).

                                                      1. 16

                                                        Honestly that comes of as saying that McDonalds isn’t an american thing, because they have joints all over the world. Have you ever wondered why we are writing in English? I think everyone knows that american culture has a kind of dominance that no other culture has, because of hollywood, TV series and media in general. It’s always the de facto standard, and almost anything that is a thing in the US has following somewhere else. That has only intensified with the internet. But if anywhere in this thread, this is the point where we would be crossing over into off-topic territory, so I’d sugest we agree to disagree.

                                                        And regarding

                                                        I don’t know why you think it is.

                                                        First of all, Wikipedia says

                                                        The furry fandom has its roots in the underground comix movement of the 1970s, a genre of comic books that depicts explicit content.[5] In 1976, a pair of cartoonists created the amateur press association Vootie, which was dedicated to animal-focused art. Many of its featured works contained adult themes, such as “Omaha” the Cat Dancer, which contained explicit sex.[6] Vootie grew a small following over the next several years, and its contributors began meeting at science fiction and comics conventions.

                                                        So it literally comes from the US. But setting that aside, even if I didn’t know that, it’s something so inherintly american, that I would have been really suprised that something that at the same time desexualizes bestiality (by removing the inherent link) and sexualizes animals (by giving them human cues of attractivness and anatonomy) could come from anywhere else.

                                                        Edit: Also I was curious and looked it up, “Nordic Fuzz Con” has 1499 atendees in 2020, but considering how many contries these people came from, it’s approximatly 0.000008% of the population. It’s common that when people are too online, they overestimate how large their bubble really is. “Eurofurence” with almost twice as many atendees isn’t much better of.

                                                        1. 2

                                                          That’s super off topic for the discussion, but I’ve recently changed my mind about “american culture”. I now feel that a significant part of it is just universal, liberal culture, and not specifically American (hamburgers, pizzas and sushi being fun gastronomical examples). This post changed the way I think about this.

                                                        2. 2

                                                          I don’t know why you think it is [an American thing].

                                                          Probably due to mako’s comment, which said they “always considered it an American subculture”. I hadn’t heard of it being American before… thanks to your comment I’ll unlearn that.

                                                    2. 12

                                                      Lobsters is general public? :-)

                                                      I think you could tack on just about any group and the content would be pretty much the same. “…for punks,” “…for people with a pulse,” or whatever. I’ve no strong opinion on furries. As long as their hobbies are not hurting anybody, I’ll just file it in the “not my thing, but not hurting me” bucket and see if the rest of what they have to say is interesting or not.

                                                      1. 11

                                                        Technology doesn’t exist in a vacuum. Practitioners, users, researchers, and creators are people whose experiences of technology will be informed by their lifestyle preferences, race, gender, queerness (or not), positionality in society, past experiences, mental health, hobbies, friends and so on.

                                                        It’s ridiculous and downright depressing to me that anyone would consider a blog off topic because the writer chose to make their technical narrative their own. It strikes me as the kind of narrow thinking that leads the tech industry to not be a very accessible or diverse place in general.

                                                        Divorcing technology from the real world leads to isolation and atrophy (to borrow the words of Courant). It reduces diversity, leads to moral atrophy, and systems built without empathy for users.

                                                        And it leads to gatekeeping. Don’t do that.

                                                        1. 8

                                                          The cringe is a reaction of your own, not the content itself. I would avoid downvoting a post just because of my relationship to it, so I’m glad you made the same call.

                                                          1. 11

                                                            Lobste.rs caters to a very specific subculture that exists in the IT sector that is in itself part of a broader subculture of technology creators and maintainers. It’s just that you think your subculture is important enough to be let in and others are not.

                                                            1. 11

                                                              You’re right that “technology” is a subculture, but my claim is that we are perpendicular/stochastically independent to “furry culture”.

                                                              It’s just that you think your subculture is important enough to be let in and others are not.

                                                              I would very kindly ask you not not be this elitist about this, this is explicitly a techonology site, with no further designations. The community has it’s tendencies, this way or another, but that doesn’t change the fact that the average to something as obscure as a “furry” will be recieved with some hesitation. This isn’t anything personal, I can imagine that if I went to some “normal” site like Facebook and started talking about the need Free Software that most people would consider me crazy.

                                                              1. 8

                                                                It’s the exact opposite of being elitist, it’s about being inclusive. You call “technological community” a thing that is aligned to your culture and values and it’s just a very small fraction of the people that produce digital technology. You universalize it because you cannot conceive that there might be different ways than yours of producing technology together. You believe your way is THE way and you reject other ways.

                                                          2. 11

                                                            I don’t think it’s greybeards, rather non-Americans. I’m in the UK, London, and if there’s a furry subculture here it is so microscopic that I’m not aware of it. I’ve always considered it an American subculture, and possibly mostly silicon valley, but certainly for non-Americans I think it’s very obscure. I didn’t vote either way, and have no idea what the furry thing is about, just glimpse it once in a while.

                                                            1. 11

                                                              For what it’s worth, in America you don’t just see people walking around expressing as furries while they shop for groceries. Most of us have never run across the culture in person. I think it’s not that this is an American phenomenon but that online spaces are safer, so that’s where you (and we) see them.

                                                              1. 3

                                                                just how microscopic would it have to be for you to not be aware of it? do you keep tabs on all… culture… in London?

                                                                1. 1

                                                                  It’s honestly not very hard.

                                                              2. 10

                                                                I really enjoy most of the aesthetic of your pages, and the technical content! I just don’t like the random stuff being jammed in between it. I don’t need a bunch of reading space occupied by a full color, artistic, glorified selfie 6 times. Or in the case of Mara’s first appearance, 16 times.

                                                              3. 19

                                                                I’m not going to flag it, but the „for furrys“ bit certainly is off topic

                                                                1. 39

                                                                  Furry is my blog’s aesthetic and theme, and a significant chunk of the content, but the focus is 99% encryption. The parts that are furry-relevant are:

                                                                  1. A lot of tech workers are furries (or furry-adjacent).
                                                                  2. I’ve found that furries are generally more comfortable with the abstraction of “identity” from “self” than non-furries. I generally attribute this to the prevalence of roleplay in our culture. (I remarked on this detail in the post.)
                                                                  3. Implied but never stated in this particular article: Since roughly 80% of furries are LGBTQIA+, and queer folks are likely to be discriminated against in many locales, improving furry technology will likely have a net positive impact on queer privacy in oppressive societies.

                                                                  This page isn’t so much for furries than it is from a furry, published on a furry blog, and with a bad furry pun in the title.

                                                                  1. 27

                                                                    You don’t actually need to entertain anti-furry sentiment. And do not worry either, there’s also people who appreciate this. I’d rather see furries than most common traits of the modern web.

                                                                    1. 19

                                                                      A lot of tech workers are furries

                                                                      For certain values of “a lot”. I’d guess that this kind of stuff is more popular in the US than in India.

                                                                      1. 28

                                                                        The main problem with this kind of title phrasing is the forced communication of a political/sexual/whatever message, which is off-topic for the site, and most people don’t care, and don’t want to care for it.

                                                                        Anybody visiting the link would see that the page has a furry aesthetic. Then they would have the chance to read the article, or close the page. This way a message is promoted on the main page. I think identity politics are already too emphasized and destructive in discussions, and have a bad effect on communities and society. Consider seeing things like a Heterosexual christian father’s guide to unit testing on the front page. Without judging anybody’s identity, this is not the place and form for that topic and that kind of statements.

                                                                        1. 15

                                                                          I wonder why the simple reminder of a group’s existence bothers you so.

                                                                          1. 17

                                                                            For some reason you failed to understand my point, and are accusing me with something instead of arguing my points. Most likely this is because of my inability of phrasing my point efficiently.

                                                                            But in the same spirit: I wonder why do I even need to know anybody’s affiliation at all in context of a technical discussion?

                                                                            1. 11

                                                                              One could make the same argument to flag “Beej’s Guide to Network Programming” or any post about how company X solves their problems.

                                                                              1. 10

                                                                                And usually they do so, considering it as spam, a form of advertisement… Only not of the political, but of the business kind.

                                                                                1. 4

                                                                                  I don’t think you are familiar with at least the first example.

                                                                                  1. 7

                                                                                    But at least I can be familiar with the second example…

                                                                                    Your style is not that of a Friendly engineer.

                                                                                    1. 6

                                                                                      There was a time he went by a different name…:p (angrysock)

                                                                              2. 6

                                                                                I wonder why do I even need to know anybody’s affiliation at all in context of a technical discussion?

                                                                                Because the author decided, that their “affiliation” is relevant to their content, that’s it. You don’t need to follow that thinking, you can opt-out of reading their article, even hide it on sites like lobste.rs.

                                                                                Any articel tells you something about the authors identity and cultural affiliations. And most of us just fill the blanks with defaults, where details are missing. i.e. an authors gender on technical content is often assumed to be male, if not stated otherwise. Most of us who grew up in societies with Christian majorities just assume that most guides to unit testing are a variation of the “Heterosexual christian father’s guide to unit testing”. That’s bad because it taints our perspective, even on the already factual diversity of tech and the net. So IMHO it’s a good thing, if more of us keep their affiliations explicit and maybe even reflect on how those influence their perspectives.

                                                                                1. 3

                                                                                  Your points aren’t worth arguing. You assert several things (“most people don’t care,” “have a bad effect on communities”) without any supporting evidence. To the first about whether people care and “don’t want to care” – I don’t find that persuasive even if you can provide evidence that a majority of people don’t want to be confronted with the identities of people who’re considered outside the mainstream. But I also suspect you’re making an assertion you want to be right but have no evidence to back up.

                                                                                  Likewise, what even is a “bad effect on communities and society”?

                                                                                  You also express an opinion (“I think identity politics are already too emphasized”) which I heartily disagree with, but that’s your opinion and I don’t see any point arguing about that. OK, you think that. I think too many craft beers are over-hopped IPAs and not enough are Hefeweizens. The market seems to disagree with me, but you’re not going to convince me otherwise. :-)

                                                                                  1. 7

                                                                                    Your points aren’t worth arguing.

                                                                                    Start with a thought-terminating cliché. Then you start arguing my points. :) No problem.

                                                                                    To the first about whether people care and “don’t want to care” – I don’t find that persuasive even if you can provide evidence that a majority of people don’t want to be confronted with the identities of people who’re considered outside the mainstream.

                                                                                    I understand your points, but you didn’t really grasp what I wanted to phrase. IMHO “mainstream” and other identities should not confront each other here unless being technically relevant ones, about which technical discussion can be carried on. There are other mediums for those kind of discussions.

                                                                                    Lucky someone has managed to phrase my ideas better than I could above:

                                                                                    https://lobste.rs/s/mn1am1/going_bark_furry_s_guide_end_end#c_xndsrl

                                                                                2. 14

                                                                                  As I understand @kodfodrasz, they were bothered not inherently by the reminder of the group’s existence, but by the broadcasting of that reminder to the Lobsters front page. When an article title on the front page asserts the author’s voluntary membership of a group, that is not only a reminder that the group exists—it’s also implicitly an advocation that the group is a valid, normal, defensible group to join. One can agree with the content of such advocacy while also disliking the side effects of such advocacy.

                                                                                  What side effects would those be? @kodfodrasz said that “identity politics are already too emphasized and destructive in discussions, and have a bad effect on communities and society”. I think they are referring to way advocacy for an identity can encourage an “us vs. them” mindset. Personally, I see the spread of that mindset as a legitimate downside which, when deciding whether to post such advocacy, must be balanced against the legitimate upside that advocacy for a good cause can have.

                                                                                  1. 9

                                                                                    ^ this

                                                                                    My assertion is that currently I see a trend where legitimate topics are not discussed because some participants in the discussion have specific opinions on other topics than the one discussed. Dismissing some on-topic opinions for off-topic opinions is an everyday trend, and if bringing our off-topic identities to the site would gradually become more accepted, then that trend would also creep in from other parts of the society, where it has had done its harm already.

                                                                                    I hold this opinion as a guide for every off-topic identity. I think of it with regards to this forum a bit similarly to the separation of church and state has happened in most of the western world.

                                                                                    1. 6

                                                                                      by the broadcasting of that reminder to the Lobsters front page

                                                                                      The submitter (author in this case) has one “vote” in promoting their content on this site. Usually one net upvote keeps stuff in /new and outside the front page. What’s promoted this content to the front page is the site’s users, who have upvoted it enough to appear on it.

                                                                                      At time of my writing this comment, the current standing is

                                                                                      50, -7 off-topic, -4 spam
                                                                                      

                                                                                      Also note that comments themselves contribute to visibility, so everyone commenting complaining about this being off-topic and “in your face” aren’t helping their cause…

                                                                                      1. 5

                                                                                        When an article title on the front page asserts the author’s voluntary membership of a group, that is not only a reminder that the group exists—it’s also implicitly an advocation that the group is a valid, normal, defensible group to join.

                                                                                        Are you (or @kodfodrasz) implying that identifying as a furry is in some way so dangerous as to be suppressed by society at large?

                                                                                        1. 2

                                                                                          One can agree with the content of such advocacy while also disliking the side effects of such advocacy.

                                                                                      2. 4

                                                                                        Would you be fine with a BDSM-themed blog post on a tech topic?

                                                                                        1. 10

                                                                                          It depends how the theme is explored.

                                                                                          If it uses BDSM culture to explore the nuances of consent in order to explain a complicated technical point, I’m all for it.

                                                                                          1. 3

                                                                                            What if it’s just interlaced with drawings of BSDM activities, like that old GIMP splash screen? I wouldn’t be caught dead scrolling that (nor opening GIMP) at work.

                                                                                            1. 8

                                                                                              If you work at a place that cares more about some bullshit policing of imagery than technical merit, that’s a yikes from me.

                                                                                              1. 5

                                                                                                There’s an inherent sexual quality to BDSM that isn’t inherent to furry culture.

                                                                                                You do realize that, correct?

                                                                                                1. 6

                                                                                                  Strictly speaking that isn’t necessarily true about BDSM.

                                                                                                  1. 3

                                                                                                    Oh? This is news to me.

                                                                                                    1. 16

                                                                                                      Yep. There are people, for example, for whom submission is not a sexual thing but instead about being safe and there are people for whom having a little (in the subcategory of dd/lg) is about having somebody to support and take care of and encourage in self-improvement.

                                                                                                      That’s not everyone, the same way that there are in fact furries who are all about getting knotted.

                                                                                                      My point is just that if you want to go Not All Furries, you should be similarly rigorous about other subcultures.

                                                                                                      1. 6

                                                                                                        o/ I’m asexual but still very into BDSM (and also a furry!). I know what something being sexualised feels like — took a while to get here — and while a lot of people do link the two intimately (as many do for furry things), they aren’t dependently linked.

                                                                                              2. 6

                                                                                                Actually, I know a real example. There is a Python-related French blog named Sam et Max. The technical articles are generally considered high-quality by the French-speaking Python programmers. But there are also BDSM- and sex-related articles alongside the Python articles. Even within a Python-related article, the author sometimes makes some references about his own fantasies or real past experience.

                                                                                                1. 4

                                                                                                  As long as there’s no overt pornography, sure. I’d read a good article on crypto that had “by someone currently tied up” on it. What’s the point of writing if you get shamed for putting your personality in it.

                                                                                                  1. 3

                                                                                                    Already mentioned elsewhere but it’s my understanding that being a furry isn’t inherently sexual / about sex, though there can be that aspect. I certainly wouldn’t mind a post that was something like “a lesbian’s guide to…” or “a gay person’s guide to..” because those identities encompass more than sexual practices. (Someone elsewhere says that BDSM isn’t strictly speaking sexual, which … is news to me, but I admit my ignorance here. If there’s a non-sexual aspect to BDSM identity then sure, I’m OK with a BDSM-themed post on tech.)

                                                                                                2. 5

                                                                                                  Consider seeing things like a Heterosexual christian father’s guide to unit testing on the front page.

                                                                                                  That goes without saying, because that’s the default viewpoint.

                                                                                                  The way the author clarifies and establishes their viewpoint does not make their technical content anymore off topic than someone submitting something titled “A Hacker’s Guide to MFA” or “A SRE’s Guide to Notifications”. The lens that they are using to evaluate a technical topic is an important piece of information that we often-times forget in tech with disastrous outcomes.

                                                                                                  1. 13

                                                                                                    No, it is not necessarily the default. But even if it would be, articulating that off-topic identity on the front-page would be unnecessarily divisive, and I’m pretty convinced, that people of other identities would flock the comment section claiming that the post is racist (sic!), and is not inclusive, hurts their feeling, and I think they’d be right (on this site).

                                                                                                    Hacker or SRE are on-topic tech identities themselves, while sexuality, political stand, religion are not really.

                                                                                                    1. 5

                                                                                                      Hacker is a political identity. For instance, it’s one that I find really degrading when associated to the whole profession. The nerd identity or the general infatilizing of programmers is degrading as well. These are tolerated because they are the majority’s identity in this specific niche and presented as “neutral” even though they are not.

                                                                                                      1. 4

                                                                                                        Well I see some positive vibe about the hacker word in the IT sector, if you remember there was some hacker glider logo thingie around the millennia. I’m not one of them, and agree with you, I also find hacker somewhat negative, and not because of the “evil hacker”, but of the unprofessional meanings of the phrase (eg. quick hack). Still lots of fellow professionals don’t agree on this one with us.

                                                                                                        Regarding Nerd: I also find the phrase degrading, and I don’t understand those who refer to themselves as nerds in a positive context.

                                                                                                        1. 7

                                                                                                          I don’t understand those who refer to themselves as nerds in a positive context.

                                                                                                          The best way of removing the degrading conotation of a word is to rewrite its meaning. The best way to do that is to unironically use it in a neutral-to-positive context.

                                                                                                          1. 1

                                                                                                            yeah but the problem is what you want to appropriate. The word “slut” has been reappropriated to defend the right for men and women to have sex freely without judgement. The word “nigger” has been reappropriated because black people are proud of being black. But the word “nerd”? “nerd” means being obsessed with stuff and have very poor social skill and connections. Reappropriating the word flirts very closely with glorifying social disfunctions, exclusion and individualism.

                                                                                                            1. 4

                                                                                                              Reappropriating is done because there are negative connotations that we want to take out of focus; that’s the whole point.

                                                                                                              1. 1

                                                                                                                but Nerd is imho all negative. The positive connotations, like being dedicated and consistent on a practice is not exclusive to being a nerd. Being nerd is not even stigmatized anymore: now it’s cool to be nerd and still it’s degrading, like being a circus freak. You reappropriate a word to remove a stigma towards a category, but the stigma is already gone and what is left is a very distorted portrayal of knowledge workers.

                                                                                                                1. 4

                                                                                                                  That the stigma is gone is precisely because people took the term and ran with it.

                                                                                                                  Besides, I have no problem with assholes (whose opinion of me is no concern of mine) considering me a circus freak: it makes them keep themselves at a distance which means less work for me to get the same desirable result.

                                                                                                                  (Also: I disagree with the term “nerd” glorifying “social dysfunction” - normalizing, maybe, but that’s a very inclusive stance, especially when these “dysfunctions” are called by their proper name: neurodiversity. And what precisely is the problem with individualism again? And another tangent: knowledge workers aren’t necessarily nerds and nerds aren’t necessarily knowledge workers)

                                                                                                                  1. 1

                                                                                                                    I agree with all your values but it doesn’t seem like this is what’s happening in the real world. Inclusion of neurodiversity is happening only in small bubble in USA/NE: if anything, neurodiverse people are just more aware of being different. Good for coping, not that good for social inclusion. Really neurodiverse people are still rejected by the society at large and at best they get tokenized and made into heroes but not really included. Also this appropriation of the word detached the concept of nerd from neurodiversity that if it was ever a thing, it’s not a thing now. Today being nerd is wearing glasses and a checkered shirt. Then if you flirt flawlessly with girls, entertain complex social networks and work as a hair dresser, it’s enough to say your hobby is building radios and boom, you’re a nerd. I don’t see how this process would help neurodiverse people and I don’t see how it is good to have to live up to this stereotype to be included in the IT industry (because in most places, if you are not some flavor of nerd/geek, you’re looked at with suspicion)

                                                                                                3. 15

                                                                                                  A lot of tech workers are furries (or furry-adjacent).

                                                                                                  I don’t doubt that a lot of furries (or furry-adjacent) might be tech workers, but I’m not sure your statement is accurate, given just how many tech workers there are.

                                                                                                  1. 7

                                                                                                    For most people, “Furries” is “that weird sex thing”. I can see a lot of people wanting to make it clear that sexual references are out of place in order to make tech a more comfortable and welcoming place for everyone. I suspect that famous Rails ‘pr0n star’ talk has (rightly) made people feel uncomfortable with sexual imagery in tech.

                                                                                                    I’ve upvoted because the content is good, but I’m also not really one for keeping things milquetoast. I’d like to see more content like this. The technical parts are worth reading, even though I have no interest whatsoever in furries, and mildly dislike the aesthetic.

                                                                                                    And yes – I’ve discovered today via google that it’s only a sex thing for 30% to 50% of the people in the subculture, but as an outsider, the sexual aspect is the only aspect I had ever heard people mention.

                                                                                                    Going forward, I’d just suggest ignoring the downvotes and moving on – they’ll always be there on anything that’s not boring corporate talk, and the threads like these just suck the air out of interesting conversation.

                                                                                                    1. 3

                                                                                                      [edit: content moved to different post, this was accidentally off-by-one click]

                                                                                                    2. 12

                                                                                                      Yiff it bothers you, why not just read it without the images? Firefox reader view works great fur me.

                                                                                                      1. 9

                                                                                                        It doesn’t claim to be for furries, it claims to be by one.

                                                                                                        1. 5

                                                                                                          Is it, though? If it was written as “a teacher’s guide to end-to-end encryption” would anybody be flagging it or carping about the title just because the intended / primary audience was teachers but the content could be abstracted to anybody who cared about end-to-end encryption?

                                                                                                          1. 11

                                                                                                            That’s a good type of question to ask, but your example title “A Teacher’s Guide …” is not equivalent. The author being a teacher could be highly relevant to the content of the article; for example, the article might especially focus on the easy-to-teach parts of encryption. The author being a furry, however, is likely to affect only the theme.

                                                                                                            Analogous titles would change “furry” to another subculture that is not innately connected to tech and that people choose rather than being born with. Two examples:

                                                                                                            • “Hide my Waifu: An Otaku’s Guide to End-to-End Encryption”
                                                                                                            • “Communication is Key: A Polyamorous Person’s Guide to End-to-End Encryption”

                                                                                                            Would people complain about those titles? I predict that yes, some people would, though fewer than those who are complaining about the furry-related title.

                                                                                                        2. 5

                                                                                                          Obviously it’s great that someone wants to give us this information. In return we should give them respect and thanks.

                                                                                                          Showcasing their identity not only gives personal color to the post, it also donates some of the credit to the community they identify with, rather than to some default security engineer type we might imagine.

                                                                                                          Thanks to this personal touch, some readers can no longer say furries are unintelligent, or never did anything for them.

                                                                                                          1. 4

                                                                                                            Belatedly, but I’m following up on these flags. I missed this story and am reading through it now.

                                                                                                          1. 5

                                                                                                            Hoping this can be abused (and is) to break enclaves as used by e.g. widevine, for e.g. compatibility, accessibility and archivist purposes.

                                                                                                            1. 3

                                                                                                              I see one big problem: possibility that streaming services will just stop working on all your existing hardware.

                                                                                                              1. 3

                                                                                                                How’s that a problem?

                                                                                                                • Intel hardware would be used to dump streams, not watch them.
                                                                                                                • Streams need to be dumped only once. Then they are forever unprotected and can thus be safely preserved by archivists, intact.
                                                                                                                • I don’t stream DRM’d content in the first place, and I’m not about to start doing so.
                                                                                                                • Any annoyances (such as described by you) to those who do help build antagonism to DRM.

                                                                                                                It’s a win-win, as I see it.

                                                                                                                1. 3

                                                                                                                  You can’t dump them anymore if you’re not able to use netflix & co at all on such intel devices. All you get is that nobody with such a system can use them anymore. And I bet the first OS to be dropped entirely is linux, it’s already not full-hd supported, due to being not as “secure” as windows. So in summary you’re happy if everybody else has to suffer.

                                                                                                                  1. 3

                                                                                                                    What you say doesn’t quite make sense to me. Netflix and such services have an incentive to keep supporting Intel platforms—a large portion of their users use solely Intel-based platforms, and it would not make sense to lose them all as customers. x86-based Intel processors will still be used in both new and old hardware for a long while (despite ARM becoming more and more popular).

                                                                                                                    As for dropping non-Android Linux users, I could see that as being more likely solely in terms of user base, but I still don’t think it’s a likely outcome. Breaking enclaves used by Widevine is not, as far as I’m aware, related to Linux in particular. I assume that the same technology is used by Widevine on all supported platforms (Windows, macOS, and Linux-based), and one could potentially develop an attack on any of them. Googling suggests that Netflix restricts video resolution when it’s not using hardware-based DRM on those platforms, which makes me believe there’s more motivation to do this on non-Linux platforms anyway.

                                                                                                                    1. 4

                                                                                                                      The issue is that Linux is designed to be an operating system which is modifiable by the user at all layers. Linux users are supposed to be able to run software in ways which violates the abstractions, for unusual situations such as sandboxing, debugging the platform, or developing novel new tooling. That is explicitly a non-goal for Windows and MacOS. To whatever extent operating systems can mitigate attacks on Widevine, Microsoft and Apple are likely to happily deploy those mitigations.

                                                                                                                      It is of course up to the relevant video consortium whether they ever actually drop Linux support, and I don’t claim to know what they’re thinking or what they’ll do in the future. I do think it’s clear though that dropping Linux support would be consistent with their larger goals, if Linux’s market share drops far enough.

                                                                                                                      Android involves a lot of custom kernel work for each device, much of which never gets upstreamed, so it’s absolutely possible that Android could keep Widevine support while non-Android Linux loses it.

                                                                                                                      1. 6

                                                                                                                        The issue is that Linux is designed to be an operating system which is modifiable by the user at all layers.

                                                                                                                        I fail to see how that is an issue.

                                                                                                                        DRM is.

                                                                                                                        1. 2

                                                                                                                          I mean, I think DRM is a scourge and shouldn’t exist. I’m just explaining that it’s entirely conceivable that, in an escalation of that conflict, Hollywood could decide that support for Linux is less important than continuing to have DRM.

                                                                                                                          1. 2

                                                                                                                            I mean, I think DRM is a scourge and shouldn’t exist.

                                                                                                                            I absolutely agree.

                                                                                                                            Hollywood could decide that support for Linux is less important than continuing to have DRM.

                                                                                                                            That’d be a good thing. Because the more restrictive DRM is, the less likely people will put up with it.

                                                                                                                            Personally, if I am interested in something, I’ll probably buy it. But should it have DRM, I won’t. I’ll either lose my interest or find an easier way.

                                                                                                                            The more the annoying DRM is, the more the people there’ll be who’ll think along these lines.

                                                                                                                            1. 2

                                                                                                                              That’s certainly a fair position.

                                                                                                                          2. 2

                                                                                                                            Because I’d like to keep using netflix on my laptop without using windows in the future (it’s already degraded), thank you very much. I don’t care about demonizing DRM for the sake of having literally nothing available on linux, that’s useless.

                                                                                                                            Otherwise I’ll happily switch every system in my family back to windows after years, so they can keep using the things that are relevant for them. I already have a smartphone which can’t even use the app due to missing SELinux.

                                                                                                                          3. 2

                                                                                                                            I think you summarized my thoughts better than I could. Especially that android could easily still play widevine content (for example via play-services which require locked bootloaders etc), while open/normal linux systems loose their access entirely.

                                                                                                                        2. 1

                                                                                                                          Oh and for example disney streaming already does not work on linux. And I personally could totally play the “I don’t care about them” card, until r/leopardsatemyface comes back when other services have to do the same, to keep their streaming contracts.

                                                                                                                          1. 2

                                                                                                                            Considering the relationship between copyright and Disney, I won’t be caught dead willingly giving up any of my money to them.

                                                                                                                    2. 1

                                                                                                                      The entitlement of the anti-drm movement is astounding. No one is guaranteed access to someone else’s work for free, and anyone should be able to protect their time and monetary investment.

                                                                                                                      Everyone frames this as the People vs the Big Bad, but the reality is that quality content is expensive and requires significant investment for smaller companies/brands which is where I see DRM most often used, because all it takes is 1 bad actor to steal thousands of dollars and hundreds of hours of time.

                                                                                                                      When those brands/individuals don’t want to allow to harvest their users information, they need a pay-wall and they need a way to secure their investment.

                                                                                                                      We cannot delude ourselves into thinking we can have it both ways if we are to move beyond an ad revenue driven monetization model for the internet.

                                                                                                                      DRM isn’t perfect, but it’s the best we have so far.

                                                                                                                    1. 2

                                                                                                                      I don’t really have any strong stance about the specifics of whether or not we have a medium or a paywall tag, but I very much like to see a way to remove all content published on a Medium website from my feed.

                                                                                                                      1. 1

                                                                                                                        See https://lobste.rs/s/bykzkm/hide_medium_com_as_personal_filter_on for some techniques to filter domains.

                                                                                                                      1. 2

                                                                                                                        If I understand correctly, the author use the http server provided by Crystal’s standard library. For the Crystal users here, is it a common/good practice (like in Go) or do you usually use a framework on top of it ? I heard of Amber and Lucky, but it seems to be more of them. What’s your goto ?

                                                                                                                        Anyway, coming from Python I really appreciate the clarity of the syntax ! To bad $WORK’s stack does not need to change, but I definitely need to give Crystal a try !

                                                                                                                        Oh, one more question: what’s your experience building CLIs with it ?

                                                                                                                        1. 2

                                                                                                                          For the Crystal users here, is it a common/good practice (like in Go) or do you usually use a framework on top of it ? I heard of Amber and Lucky, but it seems to be more of them. What’s your goto ?

                                                                                                                          I haven’t reached for a framework yet, but I could see how it would be necessary if you were building something with a lot of routes to manage.

                                                                                                                          Oh, one more question: what’s your experience building CLIs with it ?

                                                                                                                          Delightful for the most part, the initially typing from parsing the argv can perhaps feel a bit rough if you aren’t use to it. I’ve only ever used the stdlib OptionParser so maybe there is something more “ergonomic” out there, but since what I’ve built are tools in our CI/CD pipeline that basically need to run forever, I do not reach for external tooling unless I really have to (because it’s just another piece that can break).

                                                                                                                          1. 1

                                                                                                                            Thanks for your feedback ! :)

                                                                                                                        1. 3

                                                                                                                          I’ve used Crystal successfully at $WORK for 2 different projects now, one I can’t talk about, and another is a web crawler (because no RSS) to alert me in Slack whenever Google ships some upstream updates (google autoupdates are the devil why do they still do this stuff instead of having support windows?) and re-schedule our E2E tests. Both code bases I touch exceedingly rarely and whenever it compiles it just works. I know Crystal is not at “1.0 stable” yet, but I can say with absolutely certainty it is dependable, and it by far my most favorite language to use whenever I own the project.

                                                                                                                          1. 5

                                                                                                                            Languages updated after Moment have no excuse not to have better time and date support.

                                                                                                                            Elixir, my workhorse language, has this issue still to varying degrees. Javascript continues to have clunky support for dates and time.

                                                                                                                            This sort of thing is just as important as type systems and memory safety and whatever else, but it is hard and finicky and not sexy enough for language wonks to get right. :(

                                                                                                                            1. 3

                                                                                                                              Elixir’s stdlib time stuff is a bit weird, but given how good Timex is, I don’t see a reason for them to duplicate efforts there.

                                                                                                                              1. 6

                                                                                                                                Every contributed package solving common problems that exists external to the stdlib of a language I believe to be a failure by the language development team.

                                                                                                                                I’m a nodejs refugee–the asymptotic behavior of “let the community handle it lol” is madness and chaos.

                                                                                                                                1. 3

                                                                                                                                  I’m a nodejs refugee–the asymptotic behavior of “let the community handle it lol” is madness and chaos.

                                                                                                                                  I feel that, there are so many things wrong in Node.js land it’s certainly easier to just draw that hard line in the sand.

                                                                                                                                  For what it’s worth, I’ve noticed Elixir is not quite the same signal-to-noise ratio as the Node.js ecosystem, how many test runners are we up to in Node.js now versus having something sane out-of-the-box?

                                                                                                                                  As a passionate, but casual Elixirist observer (I don’t follow too much of the language details because it’s refreshing to not have to), the core language maintainers have stepped in when they’ve noticed problematic fragmentation starting to occur, like GenStage and Producers/Consumers for instance.

                                                                                                                            1. 9

                                                                                                                              “Real time” already has a meaning and I’m sad to see the term being overloaded by web developers, especially since “web real time” is much less interesting than “embedded real time” IMO.

                                                                                                                              1. 7

                                                                                                                                I think you mean soft real-time (in this case web) versus hard real-time ala your counterexample embedded, which can also be soft real-time. It’s not being overloaded, since real-time constraints are entirely project specific.

                                                                                                                                I’m sad to see this sort of gatekeeping manifest on Lobsters, since there are actual soft real-time constraints even in web dev (ie: video streaming/conferencing). Most of these actually use websockets in some manner (p2p signaling, live chat, etc).

                                                                                                                                1. 3

                                                                                                                                  I think you mean soft real-time (in this case web) versus hard real-time

                                                                                                                                  I don’t think so. When you do both soft and hard real-time, you’re still thinking about deadlines. In hard real-time, you can’t miss a deadline, in soft real-time, you can. This has nothing to do with the real-time described in this story, where real-time is just the act of distributing events as soon as your server receives them.

                                                                                                                                  I’m sad to see this sort of gatekeeping manifest on Lobsters

                                                                                                                                  My goal is not to gatekeep, this story is fine here. I just wish the term “real-time” wasn’t used for “websites that shares events as soon as it receives them”. This wish stems from the disappointment I got when reading the story, I had inferred from the title that some mad scientist had managed to fit WCET into typescript function types and got them to generate warning/error messages when deadlines could potentially be missed. I would find this sort of exercise more interesting than sharing types across a websocket.

                                                                                                                              1. 17

                                                                                                                                Requires a sign-in to read. Unread.

                                                                                                                                1. 8

                                                                                                                                  Is there a way to filter content by domain? I never want to give medium.com my eyeballs

                                                                                                                                  1. 2

                                                                                                                                    Fair enough, and I agree.

                                                                                                                                    But if you like you can work around the problem by telling your browser not to accept cookies from medium.

                                                                                                                                    1. 2

                                                                                                                                      I opened this page both in Firefox for macOS and Firefox for Android, and both browsers showed me the full article without me having to sign in. I was able to view the article despite not even having a Medium account.

                                                                                                                                      Maybe your problem is related to this message I see at the top of the page:

                                                                                                                                      You have 2 free stories left this month. Sign up and get an extra one for free.

                                                                                                                                      Try opening the page in a Private Browsing window?

                                                                                                                                    1. 3

                                                                                                                                      Unless you need i18n, then never manipulate case with css, or at least make sure you only ever do it when .en is present on the body or something.

                                                                                                                                      1. 1

                                                                                                                                        Care to elaborate a bit more? ferd gives a few examples supporting the OP. Same arguments would apply to languages like German and Russian.

                                                                                                                                        1. 2

                                                                                                                                          Taken from MDN:

                                                                                                                                          The text-transform property is not reliable for some locales; for example, text-transform: uppercase won’t work properly with languages such as Irish/Gaelic. For example, App Size in English may be capitalized via text-transform: uppercase to APP SIZE but in Gaelic this would change Meud na h-aplacaid to MEUD NA H-APLACAID which violates the locales orthographic rules, as it ought to be MEUD NA hAPLACAID. In general, localizers should make the decision about capitalization. If you want to display WARNING, add a string with that capitalization, and explain it in the localization note.

                                                                                                                                          The examples they give here are only for Gaelic, but I would imagine there is more than 1 language where no font is going to encapsulate the orthographic complexities of planet Earth.

                                                                                                                                          Not to mention how many custom fonts it might take to handle all of these (which are probably already present as best as possible on the end user’s computer) results in more web page bloat.

                                                                                                                                          1. 1

                                                                                                                                            Thank you for following up, TIL. I’m still unconvinced about “never manipulate case with css” but the rest of your remark about I18n and to be more precise—only use text-transform for certain lang—makes absolute sense. Given that so many web sites/apps don’t even support I18n to begin with IMO the benefits of using it (s. ferd’s comment) outweigh the potential negatives. Once you decide to go all in on I18n and support as many languages as possible you’ll usually run into many many other cases where most I18n implementations will fail you one way or another.