1. 12

    The decision to not include gettext and intltool highlights the major problem with this “simplicity” obsession which is present in several subcultures in the computing community.

    Of course simplicity is a good thing to aim for, but some problems we have to solve are complicated. If your philosophy can provide a simple way to solve those problems then fantastic, but if it merely refuses to solve them at all then I think it might be time to ask questions about the worldview you’re working with.

    1. 6

      gettext and intltool

      Are they really needed on servers?

      1. 3

        The server is going to serve contents, and applications could be half-english half- because of how language and system libraries got entangled together, which is sad.

        Finely-designed applications should not need these. Servers not serving content directly to an user should not need these. Writing programs that serve content to the user and support various languages could need these.

        1. 2

          Sysops are human, too.

        2. 4

          It’s not simplicity when you’re creating artificial barriers for common problems that have already been solved. I understand only wanting to officially support English, but cutting out all language support otherwise is not the same thing. It’s an almost hostile decision.

          1. 2

            KISS is supposed to be a simple and minimal base distribution, with the philosophy that it’s easier to add software than to remove it. The author has no need for internationalization, so therefore it’s not included, but the package manager is designed so you can add other repositories and have them function no differently from the “official” one.

          1. 7

            This has been a problem I’ve also had, but compared to this text, I just can’t properly do the switch from reading a text (usually physical or ebook) to taking notes, such as on a laptop, or even in a notebook. I have a pretty bad reading endurance to begin with, which makes working with any books hard to begin with. My best hope is just to remember where I can find something, and look it up when I need it again.

            1. 4

              You can go analog and use pen and paper. I’m going to give you some links that might help you.

              You can use translucent sticky notes to add notes to the books without obscuring the text below. They are available from many vendors, such as the linked above and this other one for example. You can also use index sticky notes to create your own organization on the side of the book and grant you quick access to the parts you need. Another useful tool are erasable highlighet pens like Pilot Frixion soft color highlighter which you can use to add highlights to your text that is not too agressive (pastel highlights don’t add too much noise to the book). Those are erasable with heat/friction, so you can remove them if you want.

              To be honest, I could go on forever about things like these but those items are the ones I think you’ll find useful right now. With them you can quickly annotate your books without taking your attention away from the context like when constantly executing context switches between laptop and book. I hope this helps.

              1. 2

                Have you tried using stick it bookmarks? I just can’t use my laptop to take notes as it’s a focus killer. Adding many little color coded bookmarks with numbers or short annotations helps me return to hard parts and then when I feel like it to write useful notes.

                1. 1

                  No I haven’t but the idea isn’t bad. I’ll try it when I try reading a physical book the next time. The only problems seems to be that you’d either have to have the stickers with you all the time, or just read at home/work/etc.?

                  1. 2

                    Leave the stickies in the book, depending on size?

                2. 1

                  I’ve described few tricks I’m using on rare occasions I’m reading paper books here, some might help. They feel pretty low context switch.

                1. 3
                  1. 10

                    While I agree with the practical suggestions of this article in principle, what’s being suggested here effectively sounds like “host your own git repositories so you’re free of all criticism and can let your toxic behavior go unchecked”? I think there’s a difference between GitHub taking action on things that are legitimately offensive and would go against any Code of Conduct, and the true political censorship GitHub has been enforcing over the last months, such as barring users to access their site based on their location.

                    1. 16

                      Presumably, people disagree with Github about the what constitutes “toxic” and “legitimately offensive”.

                      Or (like me) they are uncomfortable with a service enforcing their views, even if the views themselves are reasonable.

                      1. 14

                        Personally, I would like it if the services I used barred people who don’t think I deserve to exist from participating in the same things I participate in.

                        1. 7

                          I would like it if the services I used barred people who don’t think I deserve to exist

                          FWIW, I have strong issues with people who think other categories of people should not exist, and it sucks that you have to deal with them.

                          However, I don’t think this is a very good long term practical solution, especially when the moral compass of a lot of SV companies seems to be directly related to the amount of social media pressure a given issue garners. I would perhaps have a different viewpoint if companies had a well articulated, solid set of moral principles that they stuck to.

                          Even then, I see services such as code hosting as completely orthogonal to political/moral judgement. I see no reason why they should be intertwined.

                          1. 13

                            I don’t want to retread the same ground that we’ve been on 100 times before for the sake of winning an argument online, so I’ll just say that my opinion is that all social spaces are political and therefore require moderation (codes of conduct, etc) in order to be welcoming to newcomers. GitHub has a much larger precedent on this than almost all other code hosting platforms I’ve seen.

                            1. 9

                              I don’t see how every social space being political logically leads to the conclusion that they should be welcoming to newcomers. And every social space being moderated sounds like a totalitarian nightmare.

                              I can see that ‘social’ aspect of github does potentially shift it towards more of a political space, especially as they do position themselves as a place for newcomers. I would say, though, that people like the author of the article wanting to move away from that social aspect and the attendant rules is not necessarily a sign that they want create a den of free-for-all abuse and horror. Perhaps they just don’t want every space they inhabit to be political.

                              1. 12

                                Professional social spaces (that is: places where some of the people have to be there in order to keep a roof over their head) need very different rules from other kinds of space.

                                1. 5

                                  Indeed; github is in some ways more like a workplace than, say, a cafe or a park.

                                  Thinking about it in those terms helps me to clarify my objection. Github is more analogous to an office building than to an organisation. It’s a piece of infrastructure within which individuals and organisations come to work. It would seem rather bizarre if the owner of an office building enforced rules about the speech of their tenants.

                                  It’s obviously an imperfect analogy.

                                  1. 4

                                    It would be bad if every cafe and park was required to enforce the same rules as a workplace, just in case you encountered someone you knew at work there.

                                    1. 4

                                      If Github is analogous to an office building, surely a project within it is analogous to the group of people operating within it.

                                      If those people put up a sign saying “You’re welcome to come in, but don’t do X”, and you decide to do that anyways, don’t whinge when they call security (github) and ask to have you escorted from the premises (banned).

                                      (that is: projects have codes of conduct; github has very lax rules other than ‘behave on other peoples projects’)

                                      1. 4

                                        (that is: projects have codes of conduct; github has very lax rules other than ‘behave on other peoples projects’)

                                        The original article has examples of github enforcing their own set of standards.

                                        1. 3

                                          If GitHub’s own rules are that minimal, then to respond to @marisa’s original point, the relevant distinction isn’t between GitHub and self-hosted projects, but projects with an appropriate (and enforced) code of conduct and those without one. And AFAIK, there’s no reason why more project maintainers who conscientiously apply and enforce a CoC shouldn’t leave GitHub and host their repo, issue tracker, etc. under their own domain.

                                          1. 3

                                            I agree, but that’s not what the blog post sounded like :)

                                  2. 2

                                    I’ll just say that my opinion is that all social spaces are political and therefore require moderation (codes of conduct, etc) in order to be welcoming to newcomers.

                                    Even if you take this as read, and I think this statement taken in isolation is reasonable, you still need platform diversity because some platforms will settle on codes of conduct which you see as wrong, perhaps even horribly wrong. One example is TERFs: They see trans women as males invading female spaces and will work extremely hard to police that kind of thing, which is inherently unfriendly to trans people. Unless you’re absolutely sure none of the kinds of platform you want to participate in (code hosting, web hosting, issue tracking, etc.) will go a pro-TERF route, you need some kind of backup plan to avoid dealing with them.

                                    Self-hosting is simply the ultimate backup plan.

                                2. 10

                                  It’s getting annoying to have to keep a list of the services I shouldn’t use due to overly pedantic/prescriptive definitions of sex/gender.

                                  1. 1

                                    That is confusing: How sex/gender came into question with Git Hosting?

                                    Of course it is a social network that tries to map account to social identities. That is the source of the problem: Github being not only a git service but also aiming to be a part of our “lifestyle”.

                                    1. 19

                                      It’s common for queer activists, particularly trans activists, to argue that people who disagree with them on political issues related to sex and gender “think they don’t deserve to exist”, using that specific phrasing. I think this kind of rhetoric is nearly always disingenuous, designed to make it seem like their attempts to censor opposing rhetoric are unquestionably-righteous, rather than themselves a kind of true political censorship. If you think that your own freedom to publish things on the internet is important, then you should try to avoid centralized services like Github precisely because they can be co-opted by political activists (who you might not agree with) who think that advancing their cause and suppressing their opponents is more important than your freedom to publish things on the internet.

                                      1. 5

                                        I think this kind of rhetoric is nearly always disingenuous, designed to make it seem like their attempts to censor opposing rhetoric are unquestionably-righteous, rather than themselves a kind of true political censorship.

                                        There is a difference between censorship and trying to maintain a level of basic human decency in a community.

                                        In order for a larger community to function you need to set at least some rules in place to determine what kind of behavior and speech is not welcome. The worst you allow sets the bar. I can think of at least one genuinely “censorship”-free place and we all know how pleasant of a corner of the internet that is.

                                        So assuming we can agree that at least some rules are needed, the question – and I’m by no means saying it’s an easy one – is where to draw the line. For me, unsolicited opinions about trans people are very far from simply “disagreeing on political issues”. They’re actively harmful. How can you “disagree” with someone’s lived experience? Is that not, in itself, a form of invalidation, of erasure?

                                        The kind of behavior and speech you allow also effectively silences people who would otherwise like to be part of the community by forcing them out or discouraging them from joining in the first place. But somehow, people are more worried about censorship. I’m more concerned about the people who didn’t even get to say anything in the first place.

                                        1. 5

                                          When I become king, this will be stapled to the doors of GitHub, Twitter, the BBC…

                                          I might run out of staples.

                                          1. 9

                                            I think this kind of rhetoric is nearly always disingenuous, designed to make it seem like their attempts to censor opposing rhetoric are unquestionably-righteous, rather than themselves a kind of true political censorship.

                                            Whenever I hear or read someone saying “trans people are too pushy” I mentally substitute them saying “women are too shrill”, or “black people are too uppity”, and I afford their utterance precisely the amount of respect it deserves.

                                            1. 9

                                              You’re proving @Hail_Spacecake’s point.

                                              What you just said can be logically reduced to “whenever I hear someone say x, I substitute that with some y that they didn’t actually say.”

                                              This is exactly the kind of straw-manning disingenuous argument style that we’ve all become accustomed to when engaging this specific flavour of political activist.

                                              1. 4

                                                I’m saying that there’s no qualitative difference in the arguments against trans rights than in past arguments against the rights of women, gays, or people of color.

                                                1. 9

                                                  A criticism of an underhanded debate tactic used by a group is not a tacit denial of that group’s rights.

                                                  I mean, look at it the other way around: You’re arguing against me. Does that mean you don’t believe I deserve equal rights?

                                              2. 4

                                                trans people are too pushy

                                                But that’s really not what @Hail_Spacecake is saying, is it? He points out that there are queer/trans activists who reduce opposition to the personal attack that one “don’t deserve to exist”, which if it is a “common” thing, would be a legitimate criticism. Other than that, I don’t see how what you say related to the discussion? If anything, you would want decentralised systems so that those who do actually say “X are too Y” don’t control you, or inhibit you in acting according to your intentions.

                                              3. 4

                                                It’s common for queer activists, particularly trans activists, to argue that people who disagree with them on political issues related to sex and gender “think they don’t deserve to exist”, using that specific phrasing

                                                Do they? Do they, really?

                                                Might it be that those people who “merely” “disagree with them on political issues related to sex and gender” are actually opposing their existence? Like, say, by supporting bathroom bills - which are aimed at removing gender non-conforming folks from the public eye - by opposing anti-discrimination laws, or by trying to make access to treatment more difficult?

                                                Might it be that their “disagreement on political issues” is also, most of the time, accompanied by behaviours that go beyond mere disagreement, and that “I just disagree with [homosexuality|transsexuality]” is never just that?

                                                designed to make it seem like their attempts to censor opposing rhetoric

                                                Is it really censorship if someone says “you suck” at the Westboro Baptist Church because of what they say? I thought both had a right to express their opinion.

                                                Oh, sure, maybe hearing “you suck!” over and over again might make them think twice before opening their mouth.

                                                Is that censorship? In any case, is it wrong? And, do you think that LGBT+ people are immune to it?

                                                I feel like getting told, over and over again, “trans people are mentally ill”, “there is only two genders”, “they are just doing it for the attention”, might have a chilling effect on that population.

                                                1. 1

                                                  Is it really censorship if someone says “you suck” at the Westboro Baptist Church because of what they say? I thought both had a right to express their opinion.

                                                  No, but it is censorship for github to bar them from using their SaaS product because of what they say. It’s definitely censorship for trana activists to attack the entire concept of decentralized github alternatives for the specific reason that it would make it harder for github to enforce a code of conduct requiring that they be barred from github for what they say, which is what several people in this thread about decentralized alternatives to github have done. We’re all the Westboro Baptist Church in someone’s eyes, and I don’t want Github making that judgment call for everyone who writes open source software.

                                                  1. 3

                                                    It’s definitely censorship for trana activists to attack the entire concept of decentralized github alternatives

                                                    Where, exactly, are they doing that?

                                                    Because I’m looking pretty hard at this thread and I can’t seem to find “trans activists attacking the entire concept of decentralized github alternatives”, or doing so because “[decentralized alternatives] would make it harder for github to enforce a code of conduct”.

                                                    I saw a few people expressing their worry and disappointment, how they felt unwelcome in some spaces because of petty, discriminatory asshats, and how an article starting with “controversy resulting from GitHub censoring” - listing events often described as “those damned S-J-Ws want to destroy open source” - might be read as endorsing alternative spaces as free from censorship and, by extension, free from “SJWs” and “political correctness drama”.

                                                    As one example of a censorship-free, “SJW”-free spaces is Voat, you can see how it might be concerning to some.

                                                    There wasn’t much else here, which is both disappointing and funny. Why, “those spaces cannot be censored and might become a free-for-all” sounds more like an endorsement than an attack.

                                                    We’re all the Westboro Baptist Church in someone’s eyes,

                                                    Yes, yes, yes. Trivially true, and yet irrelevant.

                                                    We are all the Westboro Baptist Church in someone’s eyes. We are all monsters in someone’s eyes. We can also avoid trite platitudes such as this one.

                                                    1. 0

                                                      Where, exactly, are they doing that?

                                                      https://lobste.rs/s/s0s8fu/why_not_github#c_g1rymt

                                                      1. 3

                                                        The only argument against decentralization I can see there is this mild statement:

                                                        decentralization can be harmful in unexpected ways (see: all of Bitcoin)

                                                        And I really don’t see how you determined that @rebecca is a “trana*(sic!)* activist”. I certainly could not from her About page.

                                              4. 5

                                                It matters when you are a gender/sexual minority and want to avoid being shat on for factors beyond your control

                                                1. 7

                                                  It is easy to people in the majority to say “it’s not that painful to be in the minority”. Until they face another situation, for which they belong to the minority and suddenly change the reaction toward “it’s a nightmare everyday”.

                                                  We all are in one majority for some topic. We all are in a minority for some other topic.

                                                  If one hesitate between “Do I include the minority and be frown upon by the majority” and “Do I exclude the minority and be safe with the majority”, then it’s all about asking to ourselves: “in that other case in which I am the minority, would I appreciate to be included by the majority?”.

                                                  Then the choice becomes obvious to me: treat the 10% minority as a first class citizen and fully give it the 10% it deserves without reserve.

                                                  1. -1

                                                    What you pulled off at Alpine Linux was definitely under your control. Its not because your sexual preference or gender identity, its your behavior. I’m wary of you because i know, when we two will ever have an argument, or a disagreement (even on just a technical detail), you’ll throw a tantrum and it will be my fault because i’m presumably a “white straight cis-male” and you are the one oppressed.

                                                    You, Madam, need a dose of self-reflection.

                                                    1. 3

                                                      Ad-hominem attacks are not helpful to the community.

                                                      1. 1

                                                        I find it difficult to address individual behavior without it being ad hominem. Throwing a tantrum, facing a backleash and then spinning up a “cant do anything about it” narrative is dishonest. If kids do it, fine, but as an adult you need to take responsibilities for your actions, not blame others.

                                              5. -5

                                                I’m left-handed. For now, this is just a simple fact which to me is totally natural while others wonder how I am able to do anything at all without fumbling all the time given that they belong to the right-handed majority. When people in that group describe my particularity they use terms like ‘south-paw’. There is a Wikipedia page on bias against left-handedness. So far, so good, I’m left-handed like Kermit the frog is green-hued and have yet to make a song about the fact, unlike Kermit.

                                                Give it a few years on the current course and my left-handedness will have turned into an identity marker, yet another artificial boundary separating my clave from all the others. Give it a few more years and there will be left-handed people clamouring for the removal of right-handers who have been caught using ‘derogatory’ terms like ‘south-paw’.

                                                I do not relish this prospect as I do not feel the need for others to ‘take up my cause’ in calling for the removal of people just because they think I’m an oddity. Let them think whatever they want, as long as they’re not out in the streets calling for pogroms against left-handed people their words won’t hurt me. I would certainly not want them to be banned from services I use because that would only lead to more balkanisation.

                                                Ignore the loud-mouths, their liberty ends where yours begins. The same is true vice-versa, you can not force them to accept your particularity just as they can not force you to accept theirs.

                                                1. 25

                                                  To be clear, there are, in fact, people out in the streets calling for pogroms against lgbt folk, and in many countries they have state backing.

                                                  1. 27

                                                    YIKES. This colour doesn’t look good on you.

                                                    You have not been removed from your family because of your handedness. You have not been fired because of your handedness. You have not been threatened with death because of your handedness. You are not vilified daily because of your handedness. You do not have your personhood disconfirmed because of your handedness. You do not have your sanity questioned because of your handedness. You are not at extremely heightened risk for suicide due to societal and familial rejection due to handedness. etc etc etc etc etc etc

                                                    as long as they’re not out in the streets calling for pogroms against left-handed people their words won’t hurt me

                                                    And yet this is tantamount to what we’re talking about.

                                                    Ignore the loud-mouths, their liberty ends where yours begins.

                                                    Would that it were so. :/

                                                    1. 17

                                                      you could have used the minutes spent to write this extremely in-bad-faith argument to do literally anything else

                                                      1. 2

                                                        In what way do you deem my argument to be in bad faith? It is not. The balkanisation of society into identity groups is a threat which needs to be countered or we’ll all end up behind walls glaring at each other.

                                                2. 6

                                                  For other readers’ info: https://help.github.com/en/articles/github-and-trade-controls

                                                  GitHub themselves don’t really have much choice in the matter, but if you live outside the US, it makes perfect sense wanting to host in your same country, so that you don’t have to deal with two different sets of laws at once.

                                                  1. 2

                                                    Author here. Added this link to an update to the article. Thanks.

                                                  2. 2

                                                    Interesting, I hadn’t heard about that. Looking into it, though, I do agree it’s a much bigger concern than those mentioned in the article.

                                                    1. 2

                                                      barring users to access their site based on their location.

                                                      They and everyone else have to follow the law.

                                                      1. 4

                                                        While that is true not everyone using GitHub lives in the US. So in many cases it really is using GitHub rather than being more independent causing that particular issue.

                                                        Of course that applies to similar central hosting platforms and other countries and therefor laws as well. I’d also not read that as anti-GitHub in particular, but to a large part anti-centralization.

                                                    1. 2

                                                      low-impact control center and multiple remote low-impact generation sites.

                                                      Odd targets.

                                                      1. 4

                                                        This is probably similar to credit card scammers testing card validity by making a small purchase before the real thing. Lower visibility and a smaller chance of getting caught before the real attack. If this had actually brought down an entire state in America, you can bet it wouldn’t be in the lower half of the frontpage on Lobsters.

                                                        Who knows how many other attacks have gone unnoticed in the past because of this.

                                                      1. 18

                                                        They are pretty clear about it. Violentmonkey is one of open alternatives.

                                                        1. 12

                                                          I’m curious what Perl (either version) is used for these days.

                                                          In the past I saw it used as a glue language for things like ad-hoc build/test pipelines, or a shell replacement when shell scripts became unwieldy. Nowadays CI tools or Python usually fill those roles.

                                                          Personally I have no interest in working with Perl6. They doubled-down on everything I disliked in Perl5, and I think the language tries to be too clever. Too much “magic” and too many ways to do things for my liking. I’ve got better things to do than memorize a hundred special variable.

                                                          1. 7

                                                            Booking.com and DuckDuckGo run on Perl. (5, which is the only Perl.) I worked at Booking for two years, used Perl in anger, and grew to like it. It’s still and has always been a perfectly good Python/PhP/Ruby alternative.

                                                            I wouldn’t write anything new in Perl, but more because of the difficulty of finding people who could work on it than any fault of the language. Fashion is a cruel top.

                                                            1. 3

                                                              I got in charge for a large Perl5 codebase by forking an abandoned project and we still consider Perl5 its original sin. I don’t think it’s an adequate alternative to anything but AWK one-liners (I still use it in that role and not going to give up—but that’s about it).

                                                              Even with strict and warnings, so many things just pass silently. Sure, you can unit test it, but other languages that aren’t untyped can just detect it on their own, and produce an informative exception trace. The difference is especially noticeable in glue code that is hard to unit test. Its garbage collector still can leak memory in situations everyone else’s could handle a decade ago. The context thing (with default context almost never being documented) is still a minefield.

                                                              The community part is important too. A lot of people had been telling us they would be happy to contribute, if it wasn’t for Perl. We’ve been steadily replacing it with Python, and it’s been an improvement all around. Code is easier to read, problems are detected earlier, and contributor activity is much higher.

                                                              1. 4

                                                                on the other hand the old farts who know perl might be more competent than the young hipster python programmers. that’s a heuristic i often use when evaluating projects: if the community is older they are less likely to do dumb shit.

                                                              2. 7

                                                                I use it for personal projects, mostly because I’ve invested the time to learn it well.

                                                                I don’t think much new stuff is being written in Perl, but there’s plenty of maintenance.

                                                                1. 6

                                                                  Currently gainfully employed and writing perl is part of my job, yes some of it is maintenance, but I also write new things in it as well. I also write go, python (grudgingly), shell, and some C++ here and there too.

                                                                  I, personally, would be very happy to see this change. Perl6 has some neat ideas that I’d love to flex some day, but Perl5 needs to move on. No reason they both can’t co-exist.

                                                                  The notion that Perl is dead dead dead dead is a tiresome one at this point.

                                                                  1. 5

                                                                    I do it for a living in webdev (backend) and deployment automation.

                                                                    1. 4

                                                                      I’ve never used perl5, but I discovered perl6 recently and am in love. Good for: desktop applications (assuming they don’t get too big), scripts, web applications. It essentially obviates metaprogramming because anything you could possibly want to metaprogram is already in the language (including metaprogramming, in case you want that for some reason). That means that you have less to memorize than with any other language, because once you know it, you know it. There are no codebase-specific bespoke constructs you have to learn; it’s pretty much all straight perl6 because straight perl6 is already good enough.

                                                                      1. 1

                                                                        desktop applications web applications That’s interesting! What do you use?

                                                                        1. 4

                                                                          For desktop, there are various bindings to GTK and SDL; for web, cro is the current state of the art.

                                                                    1. 4

                                                                      That’s unexpected.

                                                                      1. 4

                                                                        Only if you haven’t been paying attention, the writing has been on the wall for a while now.

                                                                      1. 21

                                                                        Honestly, I really hope this goes through for the benefit of both Perl communities. Perl 6 is a really fun and useful language that continues in the path of Larry’s linguistical ideas; I think it’s hampered by the initial confusion with Perl 5 and vice-versa. They’ve diverged too much to share a name anymore, in my opinion.

                                                                        1. 9

                                                                          The linguistical ideas are what bug me the most about Perl.

                                                                          So, some natural languages inflect for number, right? English has singular and plurals.

                                                                          Linguistical idea for Perl: inflect every variable with its number, in a sort of non-optional pseudo-Hungarian notation: $ for scalars (singular) and @ for arrays (plural).

                                                                          Result: super annoying with @foo has to become $foo[0] because you’ve now indexed an array. This was one of the first things that PHP threw out: all variables are just $, period.

                                                                          I think using natural languages as inspiration for programming languages is a very bad idea. Use a few mnemonics, sure, x = y if z else w instead of x = z ? y : w, that’s fine. Natural languages, however, are messy things very far removed from the order, predictability, and consistency that programmers value the most.

                                                                          If Perl 6/Camelia requires me to do something like properly decline functions, remember the correct gender of every string literal, or conjugate modules, I’m outta here.

                                                                          1. 20

                                                                            If Perl 6/Camelia requires me to do something like properly decline functions, remember the correct gender of every string literal, or conjugate modules, I’m outta here.

                                                                            No, it’s going to be tonal, like Cantonese.

                                                                            1. 8

                                                                              Entertainingly, iirc a lot of the grammatical fru-fru that natural languages seem to automatically collect, like numerical inflections or gendered nouns, seems to be there to provide redundancy in a vague and lossy medium. That’s sort of the opposite of what one often wants for programming languages, because programs are easier to design and modify when there’s less redundancy.

                                                                              1. 6

                                                                                Result: super annoying with @foo has to become $foo[0] because you’ve now indexed an array. This was one of the first things that PHP threw out: all variables are just $, period.

                                                                                This is solved in Perl 6. Indexing into arrays take the form @foo[0].

                                                                                1. 3

                                                                                  Expressiveness. Perl5 is amazing when it comes to working with arrays and hashes. @capital_of{'Belize', 'Kyrgyzstan'} = ('Belmopan', 'Bishkek');

                                                                                  1. 1

                                                                                    Heh, that’s a nice/horrible example.

                                                                                    I prefer not being too clever in my coding

                                                                                    my %capital_of = ( Belize => 'Belmopan', Kyrgyzstan => 'Bishkek' );
                                                                                    

                                                                                    The “arrow” => is of course just a comma, because why not: http://www.modernperlbooks.com/mt/2013/04/the-fat-comma-and-clarity.html

                                                                                    1. 1

                                                                                      Oh, wow, thanks for explaining. I wouldn’t have been able to understand what was going on otherwise.

                                                                                      “Expressiveness”, ew. If you want expressiveness go write some poetry; we’re doing programming here.

                                                                                      1. 2

                                                                                        Heh, reading the Wall article linked from the StackOverflow answer you refer to in your other comment:

                                                                                        Style not enforced except by peer pressure

                                                                                        We do not all have to write like Faulkner, or program like Dijkstra. […] Some language designers hope to enforce style through various typographical means such as forcing (more or less) one statement per line. This is all very well for poetry, but I don’t think I want to force everyone to write poetry in Perl. Such stylistic limits should be self-imposed, or at most policed by consensus among your buddies.

                                                                                        1. 0

                                                                                          He and I have different interpretations of poetry, I guess. I’m thinking more of free verse, perhaps?

                                                                                  2. 2

                                                                                    Linguistical idea for Perl: inflect every variable with its number, in a sort of non-optional pseudo-Hungarian notation: $ for scalars (singular) and @ for arrays (plural).

                                                                                    You’re confused about what’s going on. @ means I want a list. $ means I want a scalar. $f[0] means I get a scalar. @f[0] means I get a list of one element. Why is this important? Because I can say @f[0,1] to get the first two elements, or @f[0,-1] to get the first and the last.

                                                                                    I think using natural languages as inspiration for programming languages is a very bad idea. Use a few mnemonics, sure, x = y if z else w instead of x = z ? y : w, that’s fine. Natural languages, however, are messy things very far removed from the order, predictability, and consistency that programmers value the most.

                                                                                    There are millions of perl programmers, so you’re saying millions of programmers don’t value “order, predictability, and consistency” – how can you possibly have it both ways?

                                                                                    Lacking experience in perl you have no ability to make a statement as to how effective it is, unless you’re willing to stand up YourFavouriteLanguage against every perl programmer out there. Who has that kind of hubris?

                                                                                    If Perl 6/Camelia requires me to do something like properly decline functions, remember the correct gender of every string literal, or conjugate modules, I’m outta here.

                                                                                    Now this is just getting absurd. You’re better than this.

                                                                                    I’m ashamed of the crustaceans that agree with you.

                                                                                    1. 6

                                                                                      I’m ashamed of the crustaceans that agree with you.

                                                                                      Bashing on Perl has been a popular pastime since at least Perl 4. Just ignore the haters and keep on hacking.

                                                                                      1. 1

                                                                                        People actually believe set of things they don’t understand is equivalent (or neigh-equivalent) to the set of things they won’t benefit to understand. But to be proud of your ignorance is one thing, to bash on someone who has less of it (in an area) is something I’ll never find funny.

                                                                                        1. 1

                                                                                          It’s not entirely clear to me what you’re stating here.

                                                                                          I’m saying that @JordiGH has stated they don’t like Perl, and think people who like Perl are… misguided. The upvotes may be from other users who agree, or just think the comment is well-written.

                                                                                          I like and use Perl(5), but I’m under no illusions concerning the language’s warts, nor some of the user base’s proclivities for “smart” solutions.

                                                                                          1. 2

                                                                                            I think you can like Perl, but please don’t like it because of its “linguistical ideas”. Linguistics is a terrible place to get ideas for how to build a programming language, unless you’re willing to go whole hog and implement some kind of smart parser that tries to parse absolutely everything like Wolfram Alpha did and you’re basically doing NLP, not programming anymore.

                                                                                            1. 1

                                                                                              I like and use Perl(5),

                                                                                              I don’t. I haven’t used Perl in a decade, but before that I used it off and on for two decades, and I think the “linguistical ideas” are definitely, without a doubt, the best part.

                                                                                              To that end, I’ll make the claim that someone who doesn’t like them almost certainly doesn’t understand them.

                                                                                              Variables are not “inflected” with its cardinality, this is just wrong as I’ve demonstrated. “Declining functions?” “Gendered string literals?” What nonsense! Surely this is meant to be a joke, but it’s not funny.

                                                                                              First, this is not even remotely close to what Wall is describing when he talks about perl’s learnings from linguists, and so maybe at best it is a cheap joke, but at worse it fosters this incredibly pervasive negative attitude about things we don’t understand. Maybe you’re not sensitive to this, but where I work pretty far in the outskirts of software, the idea that there is anything not worth learning is preposterous at the start, and the claim that something millions of people know is not worth learning is incredulous. This doesn’t make us better programmers.

                                                                                              I appreciate people might like the (elitist) joke, just like some people like racist and sexist jokes, but our capacity to know is limited by our communities acceptance of the journey we undertake to get that knowledge.

                                                                                              Ha ha. Sigils are dumb. Right up there with global warming. Seriously. This sort of shit doesn’t make me happy on a Friday.

                                                                                              1. 1

                                                                                                Sigils are dumb, other languages get fine without them, there’s a reason no other language has acquired them, and, going by other comments here, even Perl 6 got rid of the most annoying part of array indexing.

                                                                                                If you want to distinguish array slices from scalars from arrays, there is better syntax (e.g. array, element_of_an_array[0], single_element_slice_of_array[0..1]) that doesn’t require inflecting every variable with the same kind of redundancy we put up with in natural languages, nor having to be thinking about evaluation contexts (because natural language requires so much context you see!) or all the other cognitive load of Perl 5.

                                                                                                And this is just one example of “linguistical ideas” resulting in annoying things; I could go on, but I don’t want to anger you further.

                                                                                                Edit: This looks like a good article on the pros and cons of sigils:

                                                                                                https://www.perl.com/article/on-sigils/

                                                                                                1. 2

                                                                                                  Sigils are dumb

                                                                                                  Fine. Accepted. Sigils are dumb.

                                                                                                  there’s a reason no other language has acquired them

                                                                                                  Except rust and swift (? sigil), postscript (/ sigil), Python (@ and * and ** sigils), and actually quite a few languages. What makes this use of single characters “better” than Perl’s use of them? Why don’t we typically call those things sigils even though they’re required to appear next to every use (in that context) of the noun?

                                                                                                  Look, the real issue here is you don’t like the way perl looks and you’re looking to invent a reason why. That’s what people do when they think learning things is going to be a waste of their time – it takes a long time to learn something properly, so if you can sum up easily the reasons why perl is a waste of your time, and tell a joke at the same time, then you post it online and get other laughs and high-fives from other people just like you. Ha ha, yay internet points.

                                                                                                  But here’s the thing: Perl won. There are literally millions of perl programmers that value “order, predictability, and consistency” so perl cannot possibly be designed to mess these things up as you claim. You are definitely, absolutely and completely wrong justifying your “opinion” with this:

                                                                                                  I think using natural languages as inspiration for programming languages is a very bad idea. Use a few mnemonics, sure, x = y if z else w instead of x = z ? y : w, that’s fine. Natural languages, however, are messy things very far removed from the order, predictability, and consistency that programmers value the most.

                                                                                                  Natural languages have nothing to do with why you don’t like Perl. You’ve just latched onto this to justify your opinion (for some weird reason; like we need to justify opinions!?), and you’re cheating yourself and others out of what’s good about natural languages (and good about perl in general) with this kind of shit.

                                                                                                  But wait there’s more: There are things you don’t know that haven’t won. Some of them are really exciting, and they look even more like line noise than Perl does. You’re going to miss out on them because of this attitude, and you’re not going to have such clear-cut evidence that you’re wrong with your justification.

                                                                                                  You think I’m defending the use of @array or $array[0]? I’m not. However the use of a single character for a powerful (loaded) meaning is important and worth defence, and that’s why looking to linguists to figure out how they can formalise this overloading is important.The other way is Iverson, which is a mathematical (instead of linguistic) approach to notation, and (given your opinions about line noise) you won’t like that either. My opinion of perl is my own, and it’s built on a few decades of its use. I shouldn’t have to justify it to you or anyone else, but someone who is eager to learn something new is going to benefit more from where my opinion comes from (experience) than where yours does (avoidance).

                                                                                                  One thing I think would help us all if there were a single standard goal behind what makes programming better or worse in one situation instead of another; whether that situation is language, operating system, library, or just feel-good stuff. Until someone shows me something better, mine is this: Software is better if it is more correct (for a wider domain), shorter (in source code bytes), faster (in run time), and is built more quickly. It is difficult to have all four, but this is the test I use when someone tells me some language is better than another: Are (some subset of programs) sorter, faster, easier to write quickly? Different languages “win” for a different subset of programs, and it’s worth considering why they win. I’m really always happy to have that conversation, but I’m really unhappy to argue with you about something which is really just your opinion (i.e. that perl sucks because you don’t like the way it looks).

                                                                                                  1. 2

                                                                                                    Perl is pretty damn old, and I suspect part of the use of sigils was to aid parsing.

                                                                                                    They can be considered a form of Hungarian notation, which was once considered de rigueur, but have now apparently been relegated to the dustbin of history.

                                                                                                    With Perl 5’s references, you can treat everything as a scalar, (but you have to use the -> infix to access hash keys or array positions. So that removes @ and % at least! ;) I used to work with a guy who used hashrefs for everything.

                                                                                                    Anyway, thanks for the discussion.

                                                                                              2. 1

                                                                                                Ugh, stop throwing shade at me. It’s perfectly possible to understand contexts and sigils while simultaneously disliking them. Just because I dislike something doesn’t mean I don’t understand it.

                                                                                            2. 0

                                                                                              You’re confused about what’s going on

                                                                                              I am not. I am paraphrasing Larry Wall who has actually said that these decorators are supposed to mimic singular and plurals.

                                                                                              https://stackoverflow.com/a/1092701

                                                                                              1. 2

                                                                                                Yes. You really are. Wall is explaining how he thinks about it. Unless you can think about these things in that way, this will not make sense. I can try to show you other ways to think about it (to correct your confusion), but your paraphrasing indeed misses the point: @ means plural, not @f. There’s a reason Larry says:

                                                                                                “So $ and @ are a little like this and these in English.”

                                                                                                and that’s because you’re intended to read these f not the array f.

                                                                                                1. -1

                                                                                                  I am not confused. I know that $foo[0] is a dollar sign because we’re referring to a scalar. I still think it’s stupid and introduces the famous “line noise” into Perl. Not only stupid people dislike Perl, and JAPHs are a Perl-exclusive phenomenon for a reason.

                                                                                          2. 3

                                                                                            I hope this happens too. It makes the most sense. They are two totally different languages at this point, and there was never going to be the Python 2 -> Python 3 type transition with it.

                                                                                            1. 2

                                                                                              It seems to work to the advantage of C++, which sneaks in by being confused with C.

                                                                                              And to people who think that doesn’t happen: People can’t tell the difference between C and “C” even if you explicitly point it out to them, let alone Java and JAVA, Mac and MAC, and Java and Javascript. The distinction between C and C++ is way too subtle to matter, especially if you’ve ever had a web search query as your Facebook status or most recent Tweet.

                                                                                            1. 11

                                                                                              Turns out having a monopoly is super problematic; who knew?

                                                                                              1. 15

                                                                                                This is unrelated to being a “monopoly” (not that GitHub is one, IMHO); every US-based company – and probably EU as well – will have to deal with these kind of restrictions. As people point out in that issue, the same problems exist with GitLab. You will encounter the same issue with SourceHut as well, as Drew confirmed.

                                                                                                Perhaps you’ll remember similar problems when there were US crypto export restrictions back in the 90s, which was similar.

                                                                                                In other words, the problem is a political one. Complaints about an alleged “GitHub monopoly” – whatever merit they may or may not have – are entirely misplaced and deeply uninformed. It looks like you just read the title, and knee-jerked to “GitHub bad!” Well, okay, but this isn’t reddit and I would expect a higher standard here

                                                                                                1. 19

                                                                                                  It’s a monopoly problem because if you are blocked from GitHub, you are essentially blocked from working in the entire software industry. Git was designed to be a distributed system that should be resilient to authoritarian censorship like this, but we as an industry managed to snatch defeat from the jaws of victory. A decentralized network of git servers wouldn’t have this problem.

                                                                                                  You will encounter the same issue with SourceHut as well, as Drew confirmed.

                                                                                                  If you have this problem with SourceHut, you spin up your own instance or pay someone in another jurisdiction to run one for you; no problem. But realistically it’s very unlikely that these laws would be enforced in a healthy ecosystem anyway even for servers hosted within US jurisdiction.

                                                                                                  1. 5

                                                                                                    It’s a monopoly problem because if you are blocked from GitHub, you are essentially blocked from working in the entire software industry.

                                                                                                    Apart for that being a massive exaggeration, it’s also doesn’t make Github a monopoly.

                                                                                                    1. 7

                                                                                                      if you are blocked from GitHub, you are essentially blocked from working in the entire software industry.

                                                                                                      This is massive hyperbole.

                                                                                                      1. 8

                                                                                                        I mean… it’s the intent of the sanctions, isn’t it? That’s the reason to put sanctions in place, to block economic cooperation. A Crimean resident working for a US-based company is economic cooperation. A Crimean resident working for a non-US-based company which relies on infrastructure provided by a US-based company is economic cooperation. If there are alternatives to the existing arrangements but companies have to spend time and money switching to them, that’s an intended effect. If the cost of switching causes some companies to fire people rather than switch, that’s an intended effect.

                                                                                                        Generally, economic sanctions are imposed thoughtfully and narrowly, because their effects are so great and because the people most affected by them are almost always private citizens with no power to change the situation the sanctions are intended to protest. There have been many books and PhD theses written on the ethics of this. When the decision to impose sanctions is taken, broadly speaking, the more arduous it is for people to comply, the more likely it is the sanctions will achieve their policy objective.

                                                                                                        You can certainly argue that there are alternatives to GitHub, and that in that sense the statement is exaggerated, but the political objective of the sanctions is precisely to block people from working in the software industry, to the extent that the US “owns” the software industry - and I can assure you that many policymakers do feel that sense of ownership. I do not think it’s hyperbole.

                                                                                                        1. 5

                                                                                                          “This is massive hyperbole” “I mean… it’s the intent of the sanctions, isn’t it?”

                                                                                                          There’s all kinds of software engineering positions which don’t require you to be on Github. Massive hyperbole indeed. Now, you might be locked out of Silicon Valley or any other area that puts too much weight into Github activity along with other buzzword tech. Not coding projects you show them but Github specifically. I’m not even sure S.V. requires that in general.

                                                                                                          Certainly useful if one wants to pull tech in from Github projects. There’s bypasses to do that, though.

                                                                                                          1. 3

                                                                                                            Thanks for this thoughtful expansion. I agree that sanctions can hit some parts of the targeted population harder than others. They are weapons after all. They’re also predicated by the notion that economic hardship can lead to a change of attitude for the targeted regime, which is problematic to say the least when regimes are authoritarian and control public opinion.

                                                                                                            However, I was not discussing sanctions in general, nor even the specific sanctions against the Russian Federation in regards to its annexation of Crimea from Ukraine.

                                                                                                            I was reacting to the perceived notion that software development is impossible without access to GitHub. Git was developed in 2005, GitHub launched in 2008, and presumably took a few years to reach its current dominant position. Yet people managed to develop software just fine before they existed.

                                                                                                            1. 2

                                                                                                              That is certainly a fair position.

                                                                                                          2. 3

                                                                                                            Its not hyperbole for people that use Golang.

                                                                                                            How are they supposed to install dependencies using go get while most of the packages are stored on GitHub?

                                                                                                            1. 4

                                                                                                              That does seem to be an issue, yes. But Go and its ecosystem is not “the entire software industry”.

                                                                                                          3. 6

                                                                                                            You can still do all of that. No one – certainly not GitHub – is stopping you from self-hosting your git service using one of many publicly available tools, and many do exactly this. You’re certainly not “blocked from working in the entire software industry”, although you might run in to trouble if you’re working for a company that uses GitHub. But then again, that’ll most likely be a Western company, and they probably wouldn’t be able to hire you in the first place, so the point is rather moot.

                                                                                                            authoritarian censorship

                                                                                                            This is neither censorship nor authoritarian. It’s a sanction imposed due to the highly dubious annexation of Crimea by Russia. Whether it’s a good measure is debatable, but it’s not “authoritarian censorship”.

                                                                                                            1. 3

                                                                                                              You can still do all of that.

                                                                                                              I can do that, but unless it’s being done by organizations who can employ Crimean residents, it does no good for them.

                                                                                                              This is neither censorship nor authoritarian

                                                                                                              You’re right that it’s not censorship, but I would say that forcing US citizens to punish the residents of a particular region for the crime of having their home invaded is authoritarian.

                                                                                                              1. 6

                                                                                                                All people are victims of circumstances, and it’s sad that some people have to suffer for decisions of other people. That said, staying in Crimea is career limiting, and it wasn’t the US who got that ball rolling.

                                                                                                            2. 2

                                                                                                              But realistically it’s very unlikely that these laws would be enforced in a healthy ecosystem anyway even for servers hosted within US jurisdiction.

                                                                                                              I guess it would be impractical to enforce laws against whatever server @technomancy or @notriddle spins up, but that’s mostly a matter of the gov’t never noticing that we exist enough to check in. But for commercially hosted servers (which is always going to dominate the mainstream, because most people don’t want to mess with running a server themselves), it seems perfectly feasible for the US government to enforce trade sanctions against any realistic number of companies. Arguing otherwise would require you to either argue that the government doesn’t have enough resources to enforce trade laws in any of the many industries that are subject to regulation, or arguing that there don’t exist “healthy ecosystems” in any industry (both of those positions actually have merit, but they’re huge, general, political problems that aren’t going to be solved with improved tech).

                                                                                                              1. 3

                                                                                                                arguing that there don’t exist “healthy ecosystems” in any industry

                                                                                                                I think the closest thing to a healthy ecosystem we have to compare against is the Fediverse.

                                                                                                                It is in fact a great example of using a distributed ecosystem to work around problems with authoritarian crackdowns; in this case against sex workers in the wake of FOSTA: https://www.usatoday.com/story/news/world/2018/06/29/fosta-sex-workers-leave-twitter-switter-after-us-law/744989002/

                                                                                                                1. 8

                                                                                                                  I think the closest thing to a healthy ecosystem we have to compare against is the Fediverse.

                                                                                                                  That’s not an industry. I mean, the sex work is commercial, but Switter itself is not. Switter does not have employees, does not pay taxes, does not sign SLAs, and if a lawsuit was brought against them, they’d either fold or have to beg on Kickstarter for help. That’s just someone, who doesn’t count as “most people”, being willing to take on the complex nastiness of running a server. Stuff like Switter can never be mainstream, because individual hobbyists can’t run the world’s mainstream social network. There simply aren’t enough of us. (which is not actually meant as a knock on Switter specifically; sex work was on the fringes of society long before they decided to host a Mastodon instance, and I’m sure it’ll work fine; the point is that it can’t replace GitHub)

                                                                                                                  More importantly, I think the Fediverse as it exists is fundamentally unsustainable, because the spam problems (you’ll notice that Switter currently has registrations closed because of spam) are only going to get worse the more popular it gets. What happened to SMTP is just going to happen to ActivityPub.

                                                                                                                  1. 2

                                                                                                                    We’re not going to make the same mistakes as SMTP

                                                                                                                    1. 7

                                                                                                                      You already did make the same mistakes as SMTP:

                                                                                                                      • ActivityPub routes based on domain name, depriving users of the ability to transparently migrate from one instance to another. The best you can do is forward between two addresses, and that still means that if the node goes away, then so does your old identity. This incentivizes people to seek out instances that they expect to be around in ten years, since once you pick an instance, you’re committed. Contrast this with the humble phone number: if my current provider announces that they’re going to close up shop, I can port by existing number to a new provider, and even when they go out of business it continues to work.

                                                                                                                      • ActivityPub allows anyone with an IP address to inject content into public view (through follow-bots). You can layer on requirements, just like email does, but anyone who’s able to meet those requirements basically has a license to spam until you get around to blacklisting them. This is fundamentally true for all public-access push-based systems, including not only email, but blog comments, the phone network, and NNTP. It is importantly absent in systems with pull-based or immutable semantics like RSS, Freenet, and BitTorrent, and in closed systems like Lobsters and RetroShare.

                                                                                                                      • ActivityPub doesn’t really nail down what you can and can’t include in a message. Different clients will have different policies when they sanitize HTML, which can result in messages getting garbled.

                                                                                                                      1. 2

                                                                                                                        We are fixing much of this in LitePub.

                                                                                                          4. -1

                                                                                                            Every company has to comply.

                                                                                                            1. 3

                                                                                                              Every company has to comply, but there is no such requirement for a private person even in the US. Non-US companies and people alike don’t need to comply either.

                                                                                                              1. 11

                                                                                                                Are you sure that is correct? Because that’s not how I read it:

                                                                                                                Section 1. (a) The following are prohibited:

                                                                                                                [..]

                                                                                                                (iii) the exportation, reexportation, sale, or supply, directly or indirectly, from the United States, or by a United States person, wherever located, of any goods, services, or technology to the Crimea region of Ukraine; and

                                                                                                                (iv) any approval, financing, facilitation, or guarantee by a United States person, wherever located, of a transaction by a foreign person where the transaction by that foreign person would be prohibited by this section if performed by a United States person or within the United States.

                                                                                                                [..]

                                                                                                                Sec. 8. For the purposes of this order:

                                                                                                                (a) the term ‘‘person’’ means an individual or entity;

                                                                                                                (b) the term ‘‘entity’’ means a partnership, association, trust, joint venture, corporation, group, subgroup, or other organization;

                                                                                                                (c) the term ‘‘United States person’’ means any United States citizen, permanent resident alien, entity organized under the laws of the United States or any jurisdiction within the United States (including foreign branches), or any person in the United States

                                                                                                                Seems not just implied but pretty darn explicit that it applies to pretty much everyone and everything in the US, including private persons?

                                                                                                                1. 2

                                                                                                                  Ah, thanks for the correction. The latter part still applies though.

                                                                                                                  I wonder why github still allows access to public repos though, it’s against the letter of that law as well.

                                                                                                                  1. 5

                                                                                                                    The latter part still applies though.

                                                                                                                    I think it also applies for the EU and some non-EU European countries like Norway, Australia, New Zealand, based on a quick reading of https://en.wikipedia.org/wiki/International_sanctions_during_the_Ukrainian_crisis – I didn’t check the details though, so perhaps GitHub-like services may still be allowed from those countries.

                                                                                                                    I wonder why github still allows access to public repos though, it’s against the letter of that law as well.

                                                                                                                    My guess would be that GitHub doesn’t really want to deny service to the Crimean people, but is trying to “cover their ass” at least to some degree, and that this is considered a “reasonable compromise”. But that’s really just a guess.

                                                                                                                    1. 3

                                                                                                                      EU/EEC countries have separate sanctions regime and enforcement on the issue AFAIK.

                                                                                                          1. 14

                                                                                                            This is exciting stuff; valuable perspectives on the tension between developers giving their code and the companies that benefit from it. I’m looking forward to seeing where this goes.

                                                                                                            Since I don’t do any JS, I wonder how the ideas could be adapted to other languages and ecosystems.

                                                                                                            1. 5

                                                                                                              Answering my own question, the github repo description is “a package registry for anything, but mostly javascript” which looks promising: https://github.com/entropic-dev/entropic

                                                                                                              1. 6

                                                                                                                As package management seems to be a wheel oft-reinvented with the same lessons re-learned, it’s always worth looking at alternatives and prior art.

                                                                                                                I’ll note gx as well as Guix/Nix for non-Javascript-centric packaging, but I would like to see more too!

                                                                                                              2. 2

                                                                                                                Why don’t use CPAN? It’s proven to work and be sustainable.

                                                                                                              1. 7

                                                                                                                The end of controlling what you see on the Web is coming.

                                                                                                                1. 27

                                                                                                                  Not if you switch to Firefox :)

                                                                                                                  I really hope Google is shooting themselves (and Chrome’s market share) in the foot with this move… but somehow I doubt it.

                                                                                                                  1. 7

                                                                                                                    Firefox development is mostly funded by Google. I can’t imagine them doing much to piss Google off.

                                                                                                                      1. 13

                                                                                                                        This actually sounds reassuring:

                                                                                                                        Regardless of what happens with Chrome’s manifest v3 proposals, we want to ensure that ad-blockers and other similarly powerful extensions that contribute to user safety and privacy remain part of Mozilla’s add-ons ecosystem while also making sure that users are not being exposed to extreme risks via malicious use of powerful APIs.

                                                                                                                        1. 8

                                                                                                                          making sure that users are not being exposed to extreme risks via malicious use of powerful APIs.

                                                                                                                          This part is scary.

                                                                                                                          1. 1

                                                                                                                            Yeah, but …

                                                                                                                            We have those APIs now isn’t it ? And the world isn’t collapsing.

                                                                                                                            1. 4

                                                                                                                              The scary part is that Firefox thinks it’s their job to decide how users use their own computers.

                                                                                                                              1. 18

                                                                                                                                It’s kind of impossible not to if you’re creating consumer facing software, isn’t it?

                                                                                                                                1. 4

                                                                                                                                  It’s one thing to provide safe defaults, and another thing entirely to ensure that those defaults can’t be overridden.

                                                                                                                                  1. 12

                                                                                                                                    If it’s about the signed extension thing, please read about the history of that feature It is not based on threat models and predictions. It was done this way to get rid of adware that was auto-installing itself and making real-world people’s lives worse. It has to be hard-coded into the EXE, because it’s only the EXE that Windows performs signature checks on and that Mozilla can sue adware developers for impersonating.

                                                                                                                                    1. 2

                                                                                                                                      Alright. If it doesn’t affect people building from source, I guess it doesn’t matter.

                                                                                                                                      1. 2

                                                                                                                                        So… block it on Windows?

                                                                                                                                    2. 3

                                                                                                                                      It’s one thing to provide safe defaults, and another thing entirely to ensure that those defaults can’t be overridden.

                                                                                                                                    3. 3

                                                                                                                                      I never understand this sort of rhetoric.

                                                                                                                                      I maintain quite a few open-source projects, and contribute to others. They all make choices about what they support and what they don’t. Is it sinister of them to do so? Many of them don’t provide any sort of toggle to make them support things the developers have chosen not to support, which is what you seem to object to. Is that really controlling behavior, or just developers disagreeing about what should be supported?

                                                                                                                                      1. 1

                                                                                                                                        My issue is that it’s user-hostile to prevent users from doing what they want with their computers. Firefox runs on my computer; I as an end user — and my grandparents as end-users — should be free to determine which extensions I run within Firefox. It’s not Mozilla’s computer to control. The ability to choose how to use one’s computer shouldn’t be reserved to developers: it should be available to everyone.

                                                                                                                                        1. 0

                                                                                                                                          Mozilla is free to develop the software they want to develop. You’re free to not use it.

                                                                                                                                          You don’t have the right to force them to develop something they don’t want to, but you seem to be trying to assert such a right.

                                                                                                                              2. 2

                                                                                                                                Or, rely on blocklists: https://firebog.net/ I’ve got a little side project to automate it: https://gitlab.com/dacav/myofb

                                                                                                                                If you want something more complex, more popular, more user-friendlly: pi-hole

                                                                                                                                1. 3

                                                                                                                                  Until they fully control DNS as well with something like DoH.

                                                                                                                                  1. 1

                                                                                                                                    Ah, this cat-and-mouse thing! :) Let’s try. You play adversary :)

                                                                                                                                    My next move is to use the blacklist to place a filter at firewall level instead of using it at dns level.

                                                                                                                                    Your move

                                                                                                                                    1. 1

                                                                                                                                      Or use /etc/hosts

                                                                                                                                      1. 1

                                                                                                                                        That’s actually one of the options of my scripts: populating /etc/hosts. :)

                                                                                                                                      2. 1

                                                                                                                                        Proxying ads through the website you want to see, so the ad urls are http://destination.com/double click/ad/1234

                                                                                                                                        1. 1

                                                                                                                                          Definitely. But the website gets a performance penalisation, I think.

                                                                                                                                          Plus, I’m wondering, will it be as effective for the trackers to deal with the tracked browser with a proxy server in between? (maybe, maybe not).

                                                                                                                                        2. 1

                                                                                                                                          I place Ads and DoH on the same IP address as the CDN that millions of websites use.

                                                                                                                                          1. 1

                                                                                                                                            Wait what? I don’t get this one. How many millions of websites are passing through the same IP address? Can you elaborate?

                                                                                                                                            1. 1

                                                                                                                                              Many of the ones that sit behind CloudFlare and Fastly.

                                                                                                                                1. 4

                                                                                                                                  Trying to wrap my brain around prolog. My short term goal is to prepare a model of Polish intestacy rules, as my previous js attempt underestimated creativity of judges.

                                                                                                                                  1. 1

                                                                                                                                    I have never done much Perl, but I enjoyed playing with it one spring at university. Who here is using Perl regularly?

                                                                                                                                    1. 7

                                                                                                                                      I used to work at Booking.com, which has about a million lines of Perl in production. It was good times, I quite enjoyed working with it.

                                                                                                                                      1. 6

                                                                                                                                        It was my main language from about 1998-2008. I don’t write programs in Perl anymore, but I regularly use perl -ne, perl -pe, and perl -i -p -e on the command line and in scripts.

                                                                                                                                        1. 9

                                                                                                                                          Same here. Back in the days of “traditional sysadmin” I used Perl for most tasks, be it small processing scripts or CGI web apps. These days Perl has fallen out of fashion and as much as I still like writing things in Perl 5, none of my colleagues wants to touch Perl code, so I end up doing much more Go, or sometimes Python (but I’m not a huge fan of Python).

                                                                                                                                          That said, I did manage to semi-sneak some Perl 5 into production a while back, and recently replaced a complicated shell script which was doing all sorts of echo | grep | sed | xargs etc. - I put the Perl replacement up for review and most people said it was “surprisingly readable” and that no other language could have done it as well.

                                                                                                                                          Perl definitely still has its place, but there’s too much stigma around it now.

                                                                                                                                          1. 6

                                                                                                                                            It’s possible to write reasonable Perl, but it’s very easy to make unreadable Perl if one isn’t careful. Unfortunately, sysadmins under duress was the most significant Perl userbase, while not one known for taking time on scripts. (Not helping Perl’s reputation for readability also: JAPH)

                                                                                                                                            1. 7

                                                                                                                                              Agreed, TMTOWTDI is both good and bad. Perl lets you take shortcuts, so people take them. PHP is arguably just as bad for this (I guess because it evolved from Perl).

                                                                                                                                        2. 5

                                                                                                                                          Never tried perl5, but I’ve been using perl6 quite a bit lately and I really enjoy it.

                                                                                                                                          1. 5

                                                                                                                                            I use Perl regularly, as my “secret weapon” when consulting and/or writing API backends.

                                                                                                                                            1. 4

                                                                                                                                              I used perl from 2005-2010 on closed source code (a fastcgi ad-server, of all things). I remember going through the camel book(s) at the same time, and quite enjoy it. I’ll miss the Perl conferences more than the language though. :p I never got to an expert level though, so it can be that.

                                                                                                                                              1. 4

                                                                                                                                                I don’t use much Perl anymore but I really miss how well regular expressions were integrated into the language.

                                                                                                                                                1. 4

                                                                                                                                                  2/3 of my regular clients are Perl shops (the third is teaching, and that’s mostly Python), so Perl is basically my dayjob :)

                                                                                                                                                  1. 3

                                                                                                                                                    I use Perl(5) for fun (personal projects, coding challenges etc).

                                                                                                                                                    I’ve broken it out in anger at work for some ad-hoc log parsing stuff too .

                                                                                                                                                    1. 2

                                                                                                                                                      Not only is it the scripting language I usually reach for, and have since 4.036, but most of the externally facing services on Floodgap.com are written in Perl including the HTTP and gopher servers.

                                                                                                                                                      1. 2

                                                                                                                                                        I’d just like to take the opportunity to thank you for making TTYtter back in the day!

                                                                                                                                                        I still use Oysttyer daily. Best Twitter client bar none.

                                                                                                                                                        1. 2

                                                                                                                                                          Hey, thanks! :)

                                                                                                                                                      2. 2

                                                                                                                                                        I believe The Register is still a perl shop :~)

                                                                                                                                                        1. 31

                                                                                                                                                          Google cut us off after an incident where one of our users account was taken over and a lot of spam sent. We have failed to even come in contact with Google. We are a public library with 200 employees and some 20k active users.

                                                                                                                                                          If a phone operator failed to communicate in such a situation, regulators would fine them. Perhaps we should regulate large email providers as well?

                                                                                                                                                          EDIT: I also run a small company mail server on Digital Ocean and its mail ends up in spam 100% of the time for GMail recipients. I’ve tried their reporting tool several times, implemented SPF, DKIM and DMARC - all in vain.

                                                                                                                                                          1. 16

                                                                                                                                                            E-Mail providers are in Germany regulated under the same law (TKG) as phone companies. So, if you’re in Germany and have problems with Google (or anyone else) blocking legitmate mail, please, by all means, write to the Bundesnetzagentur as the relevant administrative authority at info@bnetza.de (not hosted by GMail I assume; German language probably required). If they get enough complaints, they’re going to look into the problem.

                                                                                                                                                            1. 2

                                                                                                                                                              Czechia… Thanks for the tip, though. Might copy the legislation eventually. :-)

                                                                                                                                                              1. 1

                                                                                                                                                                And does it really work?

                                                                                                                                                                1. 5

                                                                                                                                                                  If you refer to the legal framework: as long as Google provides e-mail service in Germany, they have to obey German law, and as such the BNetzA can fine Google if it doesn’t obey.

                                                                                                                                                                  If you refer to personal capabilities: the BNetzA is one of the larger authorities as it regulates the entire German telco market. If you file a complaint with them, it’s usually handled professionally and friendly, albeit (as with all German authorities) probably slowly. I have had contact with them on another topic some years ago.

                                                                                                                                                                  1. 6

                                                                                                                                                                    Complaint to BNetzA has worked in my case with Telekom. So I second the recommendation to complain about Google there.

                                                                                                                                                            1. 8

                                                                                                                                                              I’m making a fast reading device with 2.13in e paper and raspberry pi zero - something like spritz but without giving me headache and making my eyes sore. My first ‘low level’ project ever. I have managed to reduce refresh time from over 2s to about 0.5s, that’s about 240 wpm.

                                                                                                                                                              1. 4

                                                                                                                                                                And people still say perl is ugly.

                                                                                                                                                                1. 7

                                                                                                                                                                  This seems like more of an anti-feature to me. Maybe in limited uses it won’t be too bad?

                                                                                                                                                                  <joke> Maybe the perl folks are staring to move to ruby now? </joke>

                                                                                                                                                                  1. 6

                                                                                                                                                                    This snippet is kotlin (which had the opportunity to make it a reserved word at the getgo), but it’s applicable and imho is a good example of how very readble succinct code can come out of this:

                                                                                                                                                                    nums.filter { it > 5 }.sortBy { -it }.map { it * 3 }
                                                                                                                                                                    

                                                                                                                                                                    I’m a fan, at least. @1 is an uglier sigil to me, but that’s history.

                                                                                                                                                                    1. 11

                                                                                                                                                                      I’ll argue that any feature that has every been added to any programming languages has at least a few good use cases. It’s not like language designers are adding features just for the craic, they do it to solve real problems.

                                                                                                                                                                      The question isn’t so much “does this language feature make a certain type of problem easier to solve?”, but rather “does this solve enough problems to offset the costs of adding it to the language?”

                                                                                                                                                                      Adding features to languages comes with real costs. It will increase programmers cognitive load, it will make tools harder to write, it will make future language improvements/changes harder as features interact with features, etc.

                                                                                                                                                                      In this particular case, I’m not so sure if it’s a good trade-off. The problem it solves is typing an explicit parameter (|a|). It strikes me as a small problem, at best.

                                                                                                                                                                      1. 9

                                                                                                                                                                        They all seem like warts to paper over a lack of proper partial application.

                                                                                                                                                                        1. 4

                                                                                                                                                                          Partly, though you can use these variables to apply deeper than the first position

                                                                                                                                                                        2. 6

                                                                                                                                                                          Swift had $0, $1, etc since 1.0. I though I’d never use this syntax when I first saw it but I was very wrong. Your example is exactly where it shines.

                                                                                                                                                                          On paper, it looks magical. But in practice, coming up with arbitrary names for a parameter is probably less clear and adds more cognitive load, including coming up with good names when writing the code. Here’s the same example with an explicit “good” parameter name:

                                                                                                                                                                          nums.filter { num -> num > 5 }.sortBy { num -> -num }.map { num -> num * 3 }
                                                                                                                                                                          
                                                                                                                                                                          1. 5

                                                                                                                                                                            Oleg Kiselyov has an interesting take on the subject. Suppose Kotlin took this from Scala’s _.

                                                                                                                                                                          2. 2

                                                                                                                                                                            I think ‘limited uses’ is key. I expect we (team/employer) will adopt it, restricted to use in one-line blocks, enforced by a Rubocop.

                                                                                                                                                                            Haven’t seen Clojure mentioned yet in the comments, but that’s where I first encountered this kind of thing.

                                                                                                                                                                            1. 1

                                                                                                                                                                              That could potentially encourage people to write ‘smarter’ and more magical one-liners.

                                                                                                                                                                            2. 1

                                                                                                                                                                              Well it’s really close to perl’s $_[1]. But it doesn’t work in blocks if I recall correctly.

                                                                                                                                                                              I think some people really want Perl but are afraid to admit that.