1. 4

    Seems like the Perl community is getting pretty lost. My team at work is still using Perl 5 for some pretty non-trivial applications, but there is no plan to ever change versions. Either keep maintaining or rewrite it in another language when we can. I imagine there are others in similar situations?

    1. 6

      I think you’re overestimating the cost of the version transition. If your team follows Perl’s best practices, they’re already not using the things that will be phased out. If they update to current Perl 5 versions, they’ll move on to Perl 5 and exhale in relief, not having to declare 10 lines of Modern Perl Boilerplate at the start of every file.

      It’s nowhere close to a Huge Language Change. It’s mostly a culture shock, like leont mentions in the post, where the “stability first” mentality that’s been driving Perl for all this years is being phased out in favour of “let’s actually make the new, good features available by default”.

      1. 3

        I’m learning Perl5 (after a brief glimpse at Perl6/Rakudo and saying to myself that Perl6 does not seem to have rooted enough).

        As I’m learning on my own, what cultural shock are you referring to ? I add to my learning bits of Perl, just ad hoc, at the moments I need some improvement, and that makes me learn something. (For example I’m not there yet to use what seems strikingly similar to OOP in Perl)

        Is it the fact of always having use strict; use warnings; and always using my for variables? Or are there deeper coding rules ? In such case, what is the name, or a name, for this group of recommendations ?

        1. 6

          what cultural shock are you referring to ?

          Like I mentioned in my post:

          the “stability first” mentality that’s been driving Perl for all this years is being phased out in favour of “let’s actually make the new, good features available by default”

          Perl5’s MO, for as long as I remember was “we never break old code, unless there is a really good reason. Everything should be backwards compatible by default”. It was not all roses, but the maintainers have stuck to it, for better or worse – a lot of progress was inhibited because of it. If you’re new to Perl you may have noticed that a lot of good features (like subroutine signatures) are locked out behind use experimental or similar: that’s because Perl really tries to not break old code. But because of this, the experience for a new programmer is really substandard – unless you know what to enable, the Perl you write is the Perl from roughly 20 years ago – hardly the best Perl there is.

          If you’re new here, you’re the main benefactor of this culture shock – good for you, and welcome to the community :) The change will mostly hurt the “I have a Perl code from 2004 that I haven’t updated since” people – and they often don’t update their Perls anyway.

          1. 2
        2. 3

          Perl 7 is still very far from workplace adoption, considering the project itself is still figuring it out. Its necessity is definitely obvious though. Perl is an awesome idea that should definitely keep being explored, nothing else is quite like it, so I think Perl 7 is a step in the right direction, they just need to figure out where to leave the footprints.

          First build the new thing, then push for adoption. One step at a time.

        1. 2

          I’ll be celebrating my 23rd birthday!

          1. 14

            While suckless as a way to build software is definitely interesting (and a lot of the benefits of suckless come from disregarding edge cases, internationalization and accessibility), I’d argue that suckless as a project is something one should handle really carefully.

            They’re doing literal torch hikes through southern Germany at their conferences, fighting online against “cultural marxism”, and their mail server has the hostname “Wolfsschanze” (see: https://twitter.com/pid_eins/status/1113738766471057408)

            I recommend reading this thread (with a suckless.org developer with enabled hat speaking officially) and looking at this photo from one of their conferences.

            1. 19

              The topic pops up here and there, and one should always consider that Lennart Poettering used this bait to easily escape from a discussion about his software that I personally think should take place. Suckless is not directly a coherent group and more of a group of like-minded individuals, so I’m careful to speak “for” the project even though I’m first chair of the legal entity suckless.org e.V..

              What I can say is that we are probably one of the very very few software projects left that do not politicize. We have members from all political spectrums, but make it work, because we only discuss software and nothing else. Those disagreeing with us or unaccustomed to non-political software projects try to put us into a corner, but it makes no sense when it is used to disregard the suckless philosophy itself, which is non-political.

              Torch hikes are nothing unusual in Germany and there was no political intent behind it. Though I do understand now that it might send a different message worldwide, I expect more cultural sensibility from every observer before “calling us out” for allegedly re-enacting nazism or celebrating a Charlottesville march, which is a ridiculous assessment.

              1. 23

                One should always consider that Lennart Poettering used this bait to easily escape from a discussion about his software that I personally think should take place.

                Perhaps, but I don’t think calling out getting emails from a wolfsschanze host is that unreasonable to be honest; as I mentioned in my other post I’m not going to attach far-fetched conclusions to it but I do find it in pretty bad taste. At any rate, to ask it plainly, what’s the deal that?

                1. 3

                  There is no such thing as “non-political”, because we live in a society with power imbalances. Therefore not taking an explicit political stance, translates to implicitly supporting the status quo, whatever that status quo is in a given society at a given time. You’ll find that people in underrepresented demographics will largely avoid your project as a result, regardless of the political views among members of your project.

                  If supporting the status quo is what you intend to do, then that is one thing. But please stop presenting it as “non-political”, because that is simply not the reality of it. It only looks non-political if you yourself are in a position where the status quo benefits you. Which I am also - so this is not a personal accusation, to be clear. But it is something you need to be aware of.

                  1. 17

                    not taking an explicit political stance, translates to implicitly supporting the status quo

                    No no no, I cannot agree with that. Let’s take an example. I’m working on a crypto library, that on many aspects is very close to the Suckless ideals: it’s in C, it’s small, it’s easy to integrate into other projects… One of the motivations for it was to fight unnecessary complexity. A fairly political goal if you ask me: if software becomes as simple as I think it can (and should) be, the changes could be felt throughout the global economy itself.

                    My project also has an implicit endorsement of the status quo: it is written in English, and I have no intention to translate the documentation, or even the web site to other languages. Not even French, my native language. Sorry, you need to learn English to use my project. That’s kind of an implicit endorsement of US hegemony. Not that I’m very happy about that, but not fighting that fight does make me reinforce the ubiquity of the English language.

                    But there’s no way my project can have a stance on everything. Its stance on many many subjects is really neutral. It does not fight nor reinforce the status quo. Veganism? Patriarchy? White supremacy? I hardly have a community to speak of, there’s just not enough people to warrant something like a code of conduct. That does not mean my project implicitly rejects vegan transgender black women. In fact, I do hope they’ll feel as welcome as anyone else. And right now, I believe being nice to whoever contacts me is enough.

                    1. 8

                      I couldn’t have put it better, thanks for sharing your thoughts. I always like to consider the example of Chemistry: In the 19th and 20th century, German scientists were leading in chemistry and most papers were published in German. Chemistry students were more or less forced to learn German to understand these papers, and German became the lingua franca of Chemistry, which has changed to English though.

                      In computer science, English is the lingua franca. I don’t think it’s exclusionary to only offer software documentation and code comments in English.

                    2. 7

                      That is a good point and I understand what you mean with that. For our conferences, we actually offer those who are unable to attend due to financial reasons to pay their travel expenses and accomodation for them, which was greatly appreciated especially by younger programmers who often don’t have the means to fund such a travel.

                      Apart from income differences, that might be a deciding factor being unable to attend a conference and meeting like-minded people, I see no other factors that might hinder someone from joining us. You basically only need an internet connection and a computer. The computer doesn’t even need to be that fast, unlike if you, for instance, intended to work with deep learning software.

                      And if you still criticize the conferences for being exclusionary in some way: Most communication takes place on a mailing list and IRC, many people use pseudonyms. Factors like race, country of residence, gender are thus irrelevant and even non-determinable, if you choose to, and the development on mailing lists and IRC is the main way development happens and there’s no need to do anything else to partake or make submissions.

                      So, again, I know what you mean, but suckless is not an example for a project supported by the status quo. Most people disregard suckless as too extreme in terms of software philosophy and conclude that we would also be extreme in other areas of life, but suckless, for me, is software zen, and everyone is welcome to adopt this philosophy.

                      1. 5

                        Factors like race, country of residence, gender are thus irrelevant and even non-determinable, if you choose to, and the development on mailing lists and IRC is the main way development happens and there’s no need to do anything else to partake or make submissions.

                        This is a common point of view among those in privileged demographics. However, it is also a misunderstanding of how underrepresented people in demographics actually choose where to hang around and contribute, and why.

                        Imagine for a moment that you are someone in a demographic who’s frequently a target of harassment. The exact demographic doesn’t matter much - maybe you’re black, or you’re a woman, or you’re transsexual, or whatever else. But for the sake of the example, imagine that you are a woman.

                        Now, there are two different communities for you to choose from:

                        1. A community that says “we don’t police member’s politics, this is purely a tech project”.
                        2. A community that says “we actively welcome women”.

                        Where are you going to feel safer? In the second community - because there, it’s clear that if someone finds out you’re a woman, them harassing you over it isn’t going to be tolerated and the harasser is going to be thrown out.

                        In the first community, you just kind of have to stay quiet about your identity, have everyone assume that you’re a guy, and hope that no-one finds out the truth. If they do - maybe there’s some persistent stalker following you around and posting about you in every community you join - you can basically predict ahead of time that harassment and other discriminatory behaviour is not going to be acted upon, because “people’s own politics are not policed”.

                        In a way, there are parallels here to how gay people are “tolerated” in many countries. It’s “fine so long as you don’t bother me with it”, which effectively means that you cannot speak about it publicly or have a public relationship with someone of the same sex, because then the cover falls away and you are no longer “okay”, because your identity can no longer be ignored. Harassment (and often violence) promptly follows.

                        “Don’t ask, don’t tell” policies like this don’t make for healthy, diverse environments. They make for environments in which the status quo is preserved, and where the only way to be vaguely safe as a minority is to never tell anyone that you don’t fit into that status quo. This is not inclusive, and it absolutely does support the status quo. Those who fall outside of it will silently move on to healthier communities.

                        I would like it if “who you are doesn’t matter, it’s about the project” were the reality, I really would. But that just isn’t how things work by default in a society with power imbalances, and the only way to get there is by actively enforcing it - and that means taking a political stance, one that disavows discriminatory behaviour and harassment.

                        1. 12

                          Now, there are two different communities for you to choose from:

                          1. A community that says “we don’t police member’s politics, this is purely a tech project”.
                          2. A community that says “we actively welcome women”. Where are you going to feel safer?

                          I don’t know how the suckless community is, but I am convinced that, if I had a dime for every company, group or project that claimed to “actively welcome women” or “promote equal opportunity for everyone” or “have a zero tolerance” towards discrimination, sexual harassment or any other one of the multitude of abhorrent behaviours that plague our industry – and then turned out to be cesspools of prejudice and discrimination, I would be so outrageously rich that even thinking about it is embarrassing.

                          (FWIW, in addition to witnessing it enough times that it’s part of why I seriously contemplated switching careers at one point, I have some first-hand experience with some of that: my most useful skill, career-wise, has been an impeccable accent. Slightly Irish-sounding (which lots of folks in the US seem to fetishize for some reason), which I developed purely by accident (I’m from nowhere near Ireland, I’ve never been there, and I am not a native English speaker) and is extremely embarrassing every time I’m talking to someone who has a real Irish accent. I certainly had it easier than my black or hispanic colleagues – most Western managers of various importance in the corporate hierarchy could immediately identify them as worthy of contempt, whereas in my case it could take weeks before they realized I’m not a white expat, just some Eastern European programmer.

                          Edit: in case anyone’s wondering – the reason why I can be so light-hearted about it is that, for better or for worse, this experience has been largely confined to the workplace, after-work drinks, conferences and the like. I got to live with it for like 40 hours a week at most, and never really got a taste of it before well into adulthood. I always had alternatives and always had refuge – I could always put up with it on my own terms, which most people can’t)

                          Coming from a culture whose closet is not devoid of skeletons in this department, either, I certainly agree that the mere act of not discussing race, or gender, or ethnicity is in itself a privilege that not everyone has. And that it’s up to every one of us to actively fight discrimination, and to make the world safer and more inclusive for those whose voices are silenced by intolerance. But I don’t think it’s reasonable to ask people to integrate that in every single thing they do. Even activists don’t fight the good fight 24/7, I don’t think it’s unreasonable that some people choose to do it only to a limited extent, or in a possibly misguided way, as part of their hobby project.

                          1. 9

                            I might’ve been a bit unclear. A don’t-ask-don’t-tell approach can be taken by members, if they prefer (many communities don’t provide that luxury and e.g. require clear-name-contributions), but doesn’t have to be. We just don’t care about genders or other aspects other than your coding skills. I see that you have a different opinion on this, which is cool, but the suckless philosophy does not extend beyond software aspects and I personally (not speaking for the group) don’t see a reason to extend that.

                            1. 5
                              1. A community that says “we don’t police member’s politics, this is purely a tech project”.
                              2. A community that says “we actively welcome women”.

                              The two may not be mutually exclusive. Although there’s certainly a huge overlap, there’s a difference between advocating the revocation of women’s right to vote, and actually harassing women in a particular group, be it an open source project or a chess club.

                              A president of a chess club, or a maintainer of an open source project, can hardly be expected to be aware of the political views of the members, no matter how extreme. He could pry, but that would be uncomfortable for many people, and ultimately exclusionary. We could do it anyway, and define the range of acceptable political opinions, and exclude the outliers. We could exclude traditionalists, or we could exclude gay marriage supporters. We could exclude white supremacists, or we could exclude black panthers sympathisers.

                              In my opinion this would be neither ideal nor possible. As long as people stay courteous and focus on working towards whatever common goal the group has, we could actually have, say, gay and homophobic people working together. So we probably want to define a range of acceptable behaviours instead. For instance, revealing your sexual preferences is generally acceptable (unless maybe you’re too loud about this), and revealing your contempt for people who don’t share that preference is generally not.

                              That’s what codes of conduct ultimately do: they don’t talk about the politics one might have outside of the group, they define a range of acceptable behaviours within the group. Yes, that range will tend to filter out people with some particular political opinions. Few white supremacists will follow a black maintainer. But I would think real hard before I make that filter explicit.

                              I’ve seen it done, and it’s not pretty. I’ve heard of someone being disinvited from some conference because of their political beliefs, even though they (allegedly) never let them seep through or ever behaved inappropriately. I have also heard of someone being fired over their sexual practices (at the behest of SJW, ironically). And at the same time, some people who seem to engage in genuinely harmful behaviour (such as straight up sexual harassment) are not excluded. My suspicion? Enforcement goes after the easy targets, instead of going after the important ones.

                              1. -5

                                we could actually have, say, gay and homophobic people working together.

                                Honestly, this free speech absolutism is whack and that’s why I’m out.

                                You don’t know what the fuck you’re allowing. I do - you’re allowing someone who literally spreads hate to walk into work, meekly get some shit done, then go home to post on the internet how trans people are all pedophiles and should be killed.

                                Fact is, you can’t divorce your life from politics because where many of us stand, all minorities, live under the continuous threat that we’ll be murdered, denied service, beaten and reviled all because some free speech absolutist like you envisions a future where racists and their victims can work side by side.

                                My community just had their 12th death. Death because people like you continually give deference to allow our killers to bask in their hate speech until one of them spots us and brutally kills us.

                                You enable this. I’m so happy (not) to be the sacrificial lamb for your perverse ideology.

                                1. 2

                                  we could actually have, say, gay and homophobic people working together.

                                  Honestly, this free speech absolutism is whack and that’s why I’m out.

                                  Who said anything about free speech? I never said hate speech should be allowed. Actually, I do believe we free speech should have limits (though I’m not sure exactly what those should be), and people who cross those limits should be punished.

                                  The question is who should punish them, and how. Forums can (and most probably should) ban hate speech however they can. Police and Judges could intervene whenever appropriate. The worst offenders could be sent to jail.

                                  Wholesale ostracism though? Exclusion from all groups, not just wherever they spread their filth? That’s a death sentence: no job, no home, no shelter. Are you prepared to follow through all the way? (Not a rhetorical question: sometimes, killing your enemy is the right thing to do. But this question is so fraught with self serving cognitive biases that one must be very careful about it.)

                                  Then there are false positives. The guy who was fired over his sexuality? He practised BDSM. One way of putting it is that he liked to whip bound women. When he was outed, there was an SJW outcry about him being some twisted archetype of patriarchy that should be removed from any public position.

                                  I don’t know the guy, I haven’t investigated, so I cannot presume. I’m not even certain this story is even true. But I guess this may have been a huge misunderstanding. See, done properly, BDSM is very careful about safe words, physical and psychological safety… everyone is supposed to enjoy this, including (perhaps even primarily) the bound and gagged “victim”. Being a good dom typically requires empathy and respect for their sub. Pretty far from the simplistic image of the misogynistic man taking pleasure from the suffering of women.


                                  Going back to gays and homophobic working together, that probably requires that they are mutually unaware of their position. It’s when they do become aware of their position that we have a problem, and the group may have to make a choice. My first step would be something like “you don’t like them being gay? deal with it or get the fuck out”. If it’s just gay people being uncomfortable, we may need to know why. If it’s because the other dude displayed an homophobic attitude within the group, that’s pretty obvious grounds for exclusion. If it’s because gay people learned of his views outside the group, this is more delicate, and I honestly have no right answer.

                                  The problem is made even harder because actual bullying, embarrassment, and other inappropriate behaviour within a group, are often hard to see for anyone but the victim. Hence the temptation to rely on more visible, but less reliable, external signs.

                                  For instance, let’s imagine: religious people and atheists working together in the same group. One atheist have written in their blog about how religion is stupid, unfounded, and how religious people are either critically misinformed, or just plain delude themselves. Oh and by the way if there is a God, it’s morals are highly questionable at best. So there we go: no personal insult, but a harsh criticism and a good dose of blasphemy.

                                  Should we exclude this atheist from a chess club because some religious people in that club feel uncomfortable being next to someone who has written a blasphemous pamphlet? Should we exclude the religious people from the club because wearing a cross, a star, or a scarf makes the atheist uncomfortable? Depending on who you ask, you’ll have very different answers.

                          2. 4

                            On the other hand, I don’t think it’s realistic to expect every project to look in depth at difficult social problems and form some sort of consensus on how to best deal with it.

                            You’ll find that people in underrepresented demographics will largely avoid your project as a result

                            Why would that be the case?

                            1. -4

                              On the other hand, I don’t think it’s realistic to expect every project to look in depth at difficult social problems and form some sort of consensus on how to best deal with it.

                              I think that’s entirely reasonable. This is pretty much the basis of community management in general. It doesn’t even need to be done by the core developers, but someone in the community needs to do it, if you want a healthy community.

                              Why would that be the case?

                              Because they know that their safety is not assured in communities that refuse to take an active stance against bigotry of various kinds. I’ve gone into more detail about this in this other subthread.

                              1. 4

                                Because they know that their safety is not assured in communities that refuse to take an active stance against bigotry of various kinds.

                                But there is a difference between belief and action. If someone is actually doing something bad within the project then obviously that’s an issue. If someone just believes something you disagree with (whether you label it bigoted or not) then refusing to work with them in a non-political atmosphere just makes you seem like a bit of a dick, IMO.

                            2. -4

                              There’s no such thing as “non-political” software projects because any political actor can decide that the way your software project run things is bad and should be made to change. And if you resist this, you find yourself in a political conflict, even if you didn’t want to be.

                              1. 1

                                Why would you care what a political actor thinks about your free software project? Do you mean an actual national politician? Why would they be concerned with a free software project?

                                1. 1

                                  No, anyone trying to argue that a software project should change their practices for political reasons is a political actor with respect to software, not just national politicians. Tech industry activists are political actors. joepie91 in this thread is a political actor. I’m a political actor too, for trying to prevent other political actors from carrying out their will.

                            3. -1

                              What are you doing to keep this kind of toxic behaviour from forming inside of the suckless communities you participate in?

                              You have not denied that these people exist in your community. How are they not a problem for you?

                              1. 3

                                Calling people toxic, I think, is the wrong approach. What matters is how people behave in the context of the community. I couldn’t care less about their private political/social/other endeavours as long as it doesn’t affect their actions within the community.

                                I don’t know why there is such a push to politicize software projects, from the inside and outside. It may make something look more homogenous on the outside, but I believe it mostly creates social stress and shifts the focus on issues that shouldn’t be a problem in the first place. But this is just my opinion, and I don’t think there’s a true or false answer to that. It heavily depends on your Weltanschauung.

                                1. 1

                                  I’m sorry, my first approach was a bit antagonistic and too political because I tried to keep my questions short.

                                  People sometimes express their political ideologies in behavioural ways, which might cause exclusion and secularity in the communities that they take part in. I haven’t been much in contact with the suckless community, although I have used and I respect the software and the philosophy, but I have seen communities suffer this. I have no prejudice, but toxic (extreme, hateful) ideologies do lead to toxic behaviour, especially in like-minded groups where it can be cultured. This is why people feel the need to keep them from spreading to their own group.

                                  Have you noticed any exclusive or secular behaviour in the suckless communities that you take part in? If yes, what have you been doing to counter it?

                                  1. 2

                                    Have you noticed any exclusive or secular behaviour in the suckless communities that you take part in? If yes, what have you been doing to counter it?

                                    No, I’ve never seen such secular behaviour like that. The conferences we organize have always been very harmonic and there was never such a push or even a culturation. Thanks though for elaborating what you meant, and I have to say that I’ve seen this problem occuring within other communities. I am and will be very careful that this won’t happen within our community.

                            4. 20

                              I was subscribed to the suckless mailing list for a long time (though no longer, simply out of disinterest), and never had the impression I was dealing with a group of extremists (other than a rather extreme take on software). I don’t recall any political discussion off-hand, and would certainly have unsubscribed if people started ranting about “cultural Marxism” and the like.

                              I read the Lobsters thread you linked and there are many things I personally don’t agree with, but I also find it’s a lot more nuanced than what you’re suggesting (specifically, there was a lot of confusion what was even intended with “Cultural Marxism”). I saw that on HN you (or someone else?) linked to an old tweet of yours that screenshotted just the initial “Cultural Marxism” mention of FRIGN, and I think that’s unfairly out of context. That’s not a defence of the contents if his posts, only a defence of treating people with fairly and with kindness.

                              I find putting the picture of the torches next to literal Nazis and the “Unite the Right” rally incredibly tasteless and offensive. Note the suckless event happened before the Charlottesville march (not that it really matters). [edit: incorrect, see follow-up]. I’ve done torch hikes – they’re actually used to celebrate the end of Nazi occupation in my home town every year and participated regularly. I’ve also done them with scouts just for the fun of it. Maybe some day someone will dig up a picture of that too and put it next to a bunch of Nazis to prove a point… I’m very disappointed anyone would try to make a point like that, here or elsewhere. This part of your post in particular is really bad in many ways IMHO; it’s really not acceptable to just sling around grave insinuations like that based on a friggin’ contextless photo of what is almost certainly just a harmless social event.

                              The mail server belongs to an individual (@FRIGN here). I agree it’s in very bad taste, offensive, and that Poettering was completely right in calling that out, but it’s hardly proof that “they’re a bunch of Nazis”. I find the jump from “edgy hostname” to “literal neo-Nazis” a bit of a leap.


                              I doubted for a long time if I should post this reply as it has the potential to spark a long heated discussion, but I find public casual comparisons to Nazis in particular serious enough to warrant something of a rebuttal.

                              1. 6

                                Note the suckless event happened before the Charlottesville march (not that it really matters).

                                I just want to comment on this one factual point, according to the suckless website this event happened in September 2017, just a couple of weeks after Charlottesville.

                                https://suckless.org/conferences/2017/

                                I do think the proximity in time to the Unite the Right rally is important, especially given the insistence that they were just enacting a German cultural practice.

                                1. 6

                                  Oops, I checked the website and I misread that date as being on “2017-01-03”, instead of “2017-09-(01-03)”. How silly 😅🤦‍♂️

                                  I’m not sure it matters all that much though; it still seems incredibly tenuous at best. This happened on the other side of the world and I’m not sure if the entire world should tip-toe around sensitive topics in the United States. Were these people even aware of Charlottesville? And to what degree? Me, personally, I mostly stopped following US news since the 2016 election as I find it emotionally draining and serving little purpose as it’s not in my power to do something about anyway.

                                  Either way, I’d sure like to see some more evidence exactly because I take it serious: you just don’t go around insinuating people of such serious things with such slim “surely it can’t be coincidence…” type of stuff.

                                  1. 30

                                    I was at the torch hike and hadn’t even heard of the Charlottesville marches then. When I heard the accusation that we in some way celebrated it, which would make no sense in the context of a software conference, I first had to look up what they were.

                                    The thing is, Americans tend to overestimate the importance of domestic events like the Charlottesville marches and think that nothing happens in the whole world and, e.g., we Germans are just sitting at home and waiting for something to happen in the USA to witness it.

                                    The truth, and I think everyone would agree that this also makes much more sense, is that torch hikes are perfectly normal in Germany. I have an understanding for this cultural misunderstanding, and I’ve been guilty of those, as well, but it doesn’t help when one continues to spread this nonsense that this torch hike was some political event every time suckless is discussed here.

                                    To give an example for how normal torch hikes in Germany are, there is a so-called Sommertagszug in the Kurpfalz which also involves torch hikes at night. They are also offered by tourist organizations, e.g. Breitbach Klamm.

                                    1. 8

                                      What’s with the mail server host name though? Do you think that’s fine?

                                      1. 2

                                        It bothers me that he is actively ignoring this question and by saying nothing, he is saying enough.

                                      2. 2

                                        As an American, thanks for sharing your perspective. It makes me wonder if the Internet, and particularly social media, make it too easy to carelessly make connections between things that should remain disconnected. Maybe Facebook’s stated mission of making the world more connected (whether or not that’s their real mission) isn’t a totally good thing.

                                        1. 5

                                          It definitely comes at a cost. Still, as I could see from my own experience, after a few years one gets more careful with culture-relative judgements. There are still many things Americans do that I don’t quite understand or find interesting.

                                          To give an example, I found out a few years ago that the German “mhm” (i.e. the expression to acknowledge you are listening to someone while he speaks) is often interpreted by Americans as a “huh?”. You could imagine how much confusion that caused.

                                          Cultural differences are valuable, though, and I would not want to miss them, even if they become troublesome. I can imagine an American coming to Germany to experience a torch hike and liking it.

                                          1. 0

                                            To give an example, I found out a few years ago that the German “mhm” (i.e. the expression to acknowledge you are listening to someone while he speaks) is often interpreted by Americans as a “huh?”. You could imagine how much confusion that caused.

                                            I have never in my life seen or heard “mhm” interpreted as “huh?”, and while I’m just one American and this is anecdotal I’ve lived in three fairly distinct regions of the USA.

                                            1. -1

                                              German “mhm” is very distinctly different to American “mhm”. I wouldn’t know how to describe it in words, though.

                                              1. 0

                                                It’s it very distinct from the British “mhm”?

                                        2. 1

                                          Going on a torchlit hike at night sounds fun to me in the abstract, and also like the sort of activity that could hardly be unique to any one place, time, or culture. For ages before the invention of electric flashlights, how else were human beings supposed to light their way when walking around at night, wherever in the world they happened to be? I was unaware that some people associated the practice of going on torchlit hikes with specifically the NSDAP (or maybe just going on a torchlit hike while being an ethnic German??) until I saw people mentioning it in the context of suckless. Even if it’s true that the historical Nazis practiced torchlit hikes (which I assume is true, because I think it would be very easy for any group in human history to do so), I don’t think that confers any obligation on people alive today to refrain from it, any more so than Adolf Hitler’s famous vegetarianism confers any obligation on people today not to be vegetarians.

                                          1. 3

                                            I agree. I’m pretty well read on the topic, including having read Shirer’s “Rise and Fall of the Third Reich,” and I hadn’t heard about the association between torchlit hikes and Nazis before it was brought up in the context of suckless either. If I’m actually educated on the topic and still didn’t know about it, how could I really expect others to know about the association?

                                            Personally, a torchlit hike sounds like a blast to me. If the opportunity presented itself to me, I would absolutely participate.

                                            I agree with others in this thread that people are generally way too quick to bring up Nazi associations. I like to think I’m not naive about it either, since there are trolls and Nazis online that like to play these kinds of games. But I personally expect some pretty firm evidence before I’m willing to entertain Nazi accusations seriously. It’s a pretty serious thing to say.

                                  2. 9

                                    As an engineer child of social scientists, I’ve concluded that mental models like that are basically what you get when you take an engineering approach to social systems to its logical conclusion without considering people as, well, people. You end up with very efficient, streamlined, rational systems that place no value upon the people who are crushed in the process. It’s a simple, effective solution to the very complicated problem of human society, and it makes the complicated problem simple by saying “the people on the losing side don’t matter”. You can see this approach working efficiently and effectively all throughout human history, usually in the form of mass graves.

                                    Everything should be made as simple as possible, but no simpler.

                                    1. 3

                                      Because I can’t be sure which comment you’re replying to (AFAIK there’s no “parent” link for comments here), can you please clarify what you mean by “mental models like that”?

                                      1. 4

                                        Sorry, I was talking about mental models such as the ones described by this comment: https://lobste.rs/s/nf3xgg/i_am_leaving_llvm#c_01mpwm . Essentially “we are not going to worry about equity and equality because it is irrelevant to the problem we are actually trying to solve”. Works fine when the problem you are trying to solve is “design a machine that does a particular thing well”, but ignores lots of ugly externalities when it comes down to the social structures and organizations of the people actually doing the design. Like unfettered free-market capitalism, it sounds ideal in theory and that makes it an appealing position. But my observation has been that it works great for the people already powerful enough or lucky enough to be unaffected by those externalities, and does not actually make the world a better place for anyone else.

                                    2. 3

                                      Extremes are rarely good. There should not be an aura of aggressivity around any project.

                                      1. 1

                                        They’re doing literal torch hikes through southern Germany

                                        I have no idea what holding torches might mean in this context. Could you explain, or provide links?

                                        1. 6

                                          It looks like one of those things Nazis ruin for everyone - https://www.theatlantic.com/politics/archive/2017/08/why-they-parade-by-torchlight/537459/. Whether that is intentional on the part of the suckless folks, is not clear to me.

                                          The other top hit I got when googling was a torchlit tourist hike through Partnach Gorge in Garmisch-Partenkirchen. I’ve been to that gorge (not by torchlight) and it’s pretty cool!

                                      1. 9

                                        Very cool artwork on this one! Here’s to another great release!

                                        1. 3

                                          Incremental development with hot-reloading of funtions and classes the way Common Lisp does it is way too uncommon considering it’s among the biggest reasons why it’s still in use today.

                                          1. 16

                                            The reason I’m using Python right now, despite wanting Lisp’s advantages, is Python’s ecosystem. The ecosystem gives me these benefits:

                                            1. Tons of educational resources for every part of the spectrum.

                                            2. My questions were usually already answered online on StackOverflow, blogs, or web sites built with HTML 4. (Yeah, Python is that old.)

                                            3. There’s tons of knowledgeable people if the first two don’t help. If I have to hire them, they’ll probably cost less due to their abundance and geographical spread.

                                            4. Code is available for about every kind of area. There’s battle-tested code for specific needs I have.

                                            5. Good tooling. Especially, the free IDE’s that catch my mistakes. There’s also tools to make the code go faster.

                                            6. The subset I use should be easy to port later, maybe automatically. The py2nim project(s) prove that out given what they already did is way harder than what I had in mind.

                                            So, these are the reasons I delayed Racket or CL to start writing Python. Although it has gotchas, the language, educational resources, tooling, and subsetting let me start cranking out working code before I even understood the language or its libraries. Flask even let me crank out two, web apps without knowing anything about that. I’ll quickly add that I’m also grateful to everyone that contributed to all of that. Their generosity helped me quickly avoid personal headaches and help other people out, too.

                                            I’m definitely learning Python for real as I go along. The IDE mostly complains about typos and refactoring errors. It’s just that Python reminds me of QBASIC and VB6 in how I can just get straight to productivity with minimal effort invested. Then, get more productive as I invest more effort. And when it doesn’t cut it, switch to a rea… uh, a language with better control of resources and/or high-level expression of my ideas. While I get comfortable in that language, it wouldn’t surprise me if I still prototyped, analyzed, and tested code in Python before porting it to that language. Can’t let those hard-earned skills go to waste. ;)

                                            1. 1

                                              So, these are the reasons I delayed Racket or CL to start writing Python

                                              So you’ve never actually learned a Lisp? The reason Lisps are useful to learn is that they give you good habits that you can start incorporating into your Python code. This is widely known and it’s the reason behind scheme.

                                              So you’ve looked at Lisp, recognized its qualities, but you’ve never actually learned one, even though its biggest advantages come from what it teaches you?

                                              1. 6

                                                I lost my memory to a brain injury a long time ago. What you see here are how I can work with combinations of fragments of what I had, things I pick up, etc. It’s much harder for me to learn, focus, and code now.

                                                At present, I work 8-13hr shifts with high-priority projects to code that are easier to do in an established language. So, I focus on that, family, or resting. Many off days I have zero energy. I plan to do HtDP when I get free time away from higher-priority projects. Then, probably CL for its ecosystem advantages over Racket. Especially tooling.

                                                1. 3

                                                  I’m very sorry, I didn’t know about your brain injury. The core principles of Lisp can be learned from scheme, which is a simpler language. It’s very easy to learn through The Little Schemer.

                                                  It’s a short book that teaches it with some form of immersion technique, but it might require varying amounts of concentration depending on how well you adapt to the syntax. Once you’re familiar with the syntax, scheme is very easy to work with, as it’s overall only a very small set of very well chosen rules. I think reading this book, and then trying to write some simple programs in scheme once in a while, could help you find a side of programming that could make Python easier to work with for you (or anyone who doesn’t know a Lisp), and it would take less than a day of work.

                                                  Basically Lisp is like stretching. It’s hard but you have to do it because it makes everything easier.

                                            1. 3

                                              It’s a bit sad that the C Shell isn’t mentioned in either article; I know that the current trend is to mock it all the time, but I quite like it and according to its man page it’s responsible for a lot of features we take for granted today: history, job control, completion…

                                              I guess vi is nice too though ;)

                                              1. 9

                                                You as csh enthusiast and me as a Perl programmer can start our own “Most hated software” club. Everyone’s invited!

                                                1. 4

                                                  Perl is cool, but the guy defending csh has no pardon.

                                                  1. 2

                                                    They hate you ‘cause they ain’t you.

                                                    1. 2

                                                      By volume, effectively all the useful code I’ve ever written has been PHP, Perl, or shell. When do we meet?

                                                      1. 2

                                                        As someone who really likes both perl and csh, I’ve accepted them as things not to mention unless I’m talking to another perl programmer or another BSD enthusiast.

                                                        1. 2

                                                          The sigil that dare not speak its name.

                                                    1. 46

                                                      The Linux community values their privacy and others’. That’s something Discord needs to be taught.

                                                      There is no privacy on Discord to begin with. Packaging would be the least of my worries, if I was using it.

                                                      1. 11

                                                        Yes, it would be preferable to use only open-source software that you’ve built yourself, and to only communicate on platforms where you control the data. Many people, however, do choose to use Discord and similar chat apps regardless.

                                                        I think for people who have made that choice, it is meaningful to talk about ways to limit how much other information those apps can scrape up about your system. The communications you use the app for, obviously, are under the control of the app provider. The privacy intrusions aren’t limited to that, though. It is common for advertising SDKs to scan any data they are permitted to access, in order to fingerprint a device or a user. It really does make sense to want to limit things as much as possible, and it sucks when app vendors nag users to do things that are less secure or less private.

                                                        1. 6

                                                          Perhaps I’m not getting the authors problem – the rant goes on and on, and only in the last sentence it seems to allude that the issue is that the web site offers native packages instead of Flatpak/Snap?

                                                          I mean … yeah? My policy is to not use Flatpak/Snap/… so the website offering *.deb/*.rpm seems fine to me.

                                                          Not sure how this is related to security/privacy that Flatpak/Snap are supposed to provide. I’m not seeing that either.

                                                          1. 6

                                                            There is no privacy on Discord to begin with.

                                                            This is why Discord users have so much to gain from Flatpak and Snap.

                                                            Some enforced privacy is better than no privacy at all.

                                                            1. 15

                                                              The alternative I had in mind was no Discord at all, rather than no privacy at all. :)

                                                              1. 4

                                                                What privacy does Flatpak/Snap guarantee, actually?

                                                                1. 3

                                                                  I think people are hinting at sandboxing in Flatpak (don’t know about Snap) as a means of restricting access to the system:

                                                                  https://docs.flatpak.org/en/latest/sandbox-permissions.html

                                                                  Permissions for the Discord Flatpak can be found here:

                                                                  https://github.com/flathub/com.discordapp.Discord/blob/818f10af0b0238d8ffd4c6df027e296c39944fe5/com.discordapp.Discord.json#L13

                                                                  device=all seems pretty far-reaching.

                                                                  1. 1

                                                                    Apparently that’s required to access devices like microphones and webcams.

                                                                    While not ideal, –device=all can be used to access devices like controllers or webcams.

                                                                    https://docs.flatpak.org/en/latest/sandbox-permissions.html#device-access

                                                                    1. 2

                                                                      Apparently that’s required to access devices like microphones and webcams.

                                                                      Indeed. One would hope that more fine-grained access policies were possible. But I think Pipewire support in xdg-portal is going to make this possible?

                                                                      https://github.com/flatpak/xdg-desktop-portal/blob/master/src/camera.c

                                                                  2. 1

                                                                    Read this https://www.ctrl.blog/entry/firefox-linux-flatpak-snap.html

                                                                    Containerized applications can prevent the discord client from doing various things with its read access to violate your privacy, among other things.

                                                              1. 2

                                                                What are the security/privacy benefits of snap and flatpak?

                                                                1. 4

                                                                  I’m not sure about flatpak, but I’ve done a little snap packaging. A snap package, roughly speaking, runs inside a container. The packager has to explicitly grant the package every right to break out of that container. Those rights include things like writing to the file system, using the GPU, or listening on network ports. The idea is that snap makes it more difficult for a package to “accidentally” overstep the boundaries set by the packager.

                                                                  1. 2

                                                                    Read this https://www.ctrl.blog/entry/firefox-linux-flatpak-snap.html

                                                                    Containerized applications can prevent the discord client from doing various things with its read access to violate your privacy, among other things.

                                                                  1. 5

                                                                    If packagers are patching Discord to put Discord into a Flatpak or Snap, then it’s on those same packagers to patch this update dialog. It’s the same separation of responsibility between any upstream and a distributor: the distributor is responsible for their patches! How can upstream be anticipate 3rd-party, downstream changes?This is a bug in the Flatpack/Snap package.

                                                                    As an aside, this kind of reaction is why my $DAYJOB doesn’t package our Electron app for Linux - we’d rather not deal with this kind of feedback where the true responsibility of support is diffused between our company, the OS maintainers, PPAs, etc, but we end up taking heat from takes like this. You can use our product just fine in Firefox and leverage all the browser’s well-known tools for privacy and customization.

                                                                    1. 6

                                                                      Discord isn’t patched, its packages are simply installers for the tarball using the chosen system.

                                                                      Discord is closed-source software, it can’t be patched that easily.

                                                                    1. 13

                                                                      The only officially supported installation method for Discord on Linux is the .deb and .tar.gz files they provide. Any other installation method, including both the Flatpak and Snap, is unofficial and not supported by Discord.

                                                                      1. 3

                                                                        There’s a difference between only officially supporting one installation method, and designing your software to undermine the other installation methods even when they have been chosen. Especially when said other installation methods add security measures for users’ privacy.

                                                                        1. 9

                                                                          designing your software to undermine the other installation methods even when they have been chosen

                                                                          “Designing to undermine”, in my opinion, is absolutely not what’s happening here. They try and make updates less painful through their admittedly kind-of-clunky official distribution channels.

                                                                          To avoid doing that when it’s installed through another method, they’d have to maintain an built-in check for these non-official distribution channels.

                                                                      1. 2

                                                                        That most software testing is often overrated and can give engineers a false sense of security about their project trajectory.

                                                                        1. 1

                                                                          I disagree, when you work with a team of a certain size, tests are very important to keep future programmers from repeating old bugs. Of course, as an individual or as a team, you might need to remember the bugs, but when your team often welcomes new people, micromanaging known bugs can become hard.

                                                                          It does provide a false sense of security in that it doesn’t prevent new bugs, but the sense of security that old bugs have a much smaller chance of coming back is definitely real and is the reason why testing is vital in certain projects.

                                                                        1. 8

                                                                          The beauty of this is that I can “open” a directory file to see the contents as well!

                                                                          Nah, not really. You can’t cat a directory (anymore), vim just so happens to have a file manager built in. That’s no different from a regular GUI file manager or, in it’s essence, ls.

                                                                          This points towards one of the things I really dislike amongst those who glorify Unix, or more specifically command line interfaces. Sure, there are benefits, but just because you are not directly using graphical user interfaces (but of course probably rely one one because everyone sensible uses terminal emulators), you’re neither more productive, more intelligent or in any other sense better. The only exception is the tautological ability to use CLIs. It’s mostly just looks. Using ncppmpc looks cooler than using any other music player, or even mpd client. Using ranger looks more advanced than using your regular file manager. Using vim looks like you know what you’re doing – but as I’ve experienced so many times as a tutor at university, when directly ask people “why are you using that”, you either get a stock answer or none at all. That’s not to say that there aren’t those who have learned their crafts, the tricks of the TUI/CLI world. It’s just that if you have spent the amount of time necessary to do that, it would have been absolutely surprising if you weren’t as productive as you are.

                                                                          1. 3

                                                                            I agree with your general premise, with one piece of commentary and specific to vim/text editors.

                                                                            It’s just that if you have spent the amount of time necessary to do that, it would have been absolutely surprising if you weren’t as productive as you are.

                                                                            I think there is a theoretical maximum to how productive you can be with software*. I think this magic number is higher for a terminal based text editor compared to a GUI based text editor. Both tools require you to invest a lot of time in order to become productive, but your limit is higher.

                                                                            • I have no data to back this up. :)
                                                                            1. 2

                                                                              I think TUI applications generally have this higher “productivity maximum” because of the constraints they put on the user experience’s design. A terminal application has to be 1. keyboard driven and 2. powerful without being convoluted. Those two together can make for very fast and efficient workflows, because the keyboard is undeniably faster than the mouse and every feature in the program has to be meaningful and accessible.

                                                                              Of course the fact that this results in smaller programs means extensions are necessary for things like text editors which need a variety of features. But, adding extensions to the mix turn this efficient core workflow into something adaptable, which is among the biggest strengths of both vim and emacs.

                                                                              1. 1

                                                                                I think there is a theoretical maximum to how productive you can be with software*. I think this magic number is higher for a terminal based text editor compared to a GUI based text editor.

                                                                                If we’re talking about vi/vim, then there should be no such distinction, since vi/vim is most significant for it’s keybinding choices and compositions. These can be emulated to varying degrees by graphical editors, but there’s no reason why there couldn’t be a full GUI reimplementation of the vi/vim keybindings.

                                                                                1. 1

                                                                                  I guess this “terminal-based” vs. “GUI-based” distinction is kinda not a good axis of comparison, given that gvim is technically totally a “GUI-based text editor”, so it makes not much sense to compare “vim vs. GUI-based editors”, as it could be full well taken to “vim vs. gvim”. Or at least the handwavy “GUI-based” would have to be defined more precisely, how it differs from gvim. Such that we also know where to put emacs then (given that it has variable-size fonts, can embed images, etc.)

                                                                            1. 4

                                                                              I’ll be trying this out, the situation with IRC bouncers is quite horrible, so almost anything is an improvement. A while back I tried to find ZNC alternatives, and found these

                                                                              The joke is that almost every second one hasn’t been updated in the last ten years, and their code quality probably also varies substantially.

                                                                              1. 8

                                                                                The joke is that almost every second one hasn’t been updated in the last ten years, and their code quality probably also varies substantially.

                                                                                I don’t know, it seems to me like an IRC bouncer is something you write, and then you’re done. What updates were you hoping for?

                                                                                1. 6

                                                                                  In general I agree; I’m not planning to have to make many releases of pounce. However there have been some useful developments in IRC in the last 10 years, such as the server-time extension, that do improve the situation for bouncers.

                                                                                  1. 1

                                                                                    There’s a feature I would like in a bouncer which (I believe) does not exist, and therefore this might be used as a data point that there’s still room for updates or innovation in bouncers.

                                                                                    On the other hand, my feature, and indeed OP’s feature here, might be feasibly implemented in a ZNC plugin. Which would be a data point against the need for another cilent.

                                                                                    My feature request is: I would like to be able to make one client->bouncer connection and for the bouncer to provide a view over multiple IRC networks in some fashion, so for example, from my client’s POV, I might join the channel “#oftc#debian-uk”, and the bouncer routes that to an OFTC server connection, channel #debian-uk. As things stand, I have to make a half-dozen individual client→bouncer connections, one per IRC network.

                                                                                    1. 3

                                                                                      Quassel does this, the problem with this idea is that you need a custom protocol between the bouncer and the client. Having to switch from your favourite IRC client to replace it with your bouncer’s only supported client isn’t always fun.

                                                                                      1. 2

                                                                                        I’ve thought about this sort of thing too, having some network connections where I use only one channel. Unfortunately it breaks down pretty quickly (unless you start using a custom protocol as @xi points out). How do you route commands that aren’t directly tied to channels, such as WHOIS or private messages for that matter? What happens if your nick ends up different on one network from another? It seems like it would end up more hassle than just a bunch of separate connections.

                                                                                    2. 3

                                                                                      I’m not exactly an IRC power-user, but I’ve been running weechat-headless on my server together with its relay feature, it fulfills my need for persistent and cross-device history.

                                                                                      1. 1

                                                                                        I’ve tried it once, but I hate having to ssh to any server for chats. As an Emacs user I much prefer to have a “proper” UI (ie. what I’m used to) and use something like rcirc or ERC – and to have a persistent setup with these client, a functioning bouncer is necessary.

                                                                                        But what you mention is probably interesting, because that might be a reason that there hasn’t been much development on the bouncer front, since the intersection between those who think that’s ok and use IRC is not really getting smaller (percent-wise).

                                                                                        1. 3

                                                                                          I don’t actually ssh into it to use IRC, I use a “relay” web client. In the future you should be able to use weechat itself as a relay client, if you prefer its UI.

                                                                                          1. 1

                                                                                            Ah, I forgot about that. But it doesn’t help me, I don’t want to use Weechat, but want a real bouncer.

                                                                                            1. 1

                                                                                              Thanks for linking to Glowing Bear! I use weechat off and on, and that looks pretty slick for a wee-chat front-end

                                                                                        2. 2

                                                                                          I’ve been enjoying using Quassel, but it’s more of a fully fledged client rather than a CLI like weechat, but the “core” idea they have is very good. I just wish there was a bit more development on it to polish out the kinks.

                                                                                          1. 5

                                                                                            A worrying thing about Quassel is that communication with the “core” uses some Qt object serialization format which iirc isn’t necessarily stable and isn’t exactly designed for a network protocol

                                                                                            1. 9

                                                                                              We actually fixed that recently in 0.12.5/0.13.0.

                                                                                              It’s still the exact same protocol, but we use custom serialisation/deserialisation to ensure it’s a stable protocol, and is safe to be used over the network.

                                                                                              You’re right that it used to be undocumented and unstable, but we’ve spent a lot of work to keep everything compatible — a current 0.13.1 core or client can communicate with any client or core since 0.5.2, which was released in 2009 :)

                                                                                              1. 1

                                                                                                I have never really had an issue with the connection. It has had a few hiccups every now and then, but I have never bothered to spend time debugging it as it could be anything from my server throwing a fit, PostgreSQL doing a thing, certificate renewals via Let’s Encrypt or just some network buggery going on. All problems I have had have all disappeared in seconds as well, further making me not bother to deal with it :P

                                                                                                Might be an issue for some, but I have never had much of a problem.

                                                                                              2. 4

                                                                                                What are those kinks you feel need to be polished? I’d love to hear about them, so we can actually start working on improving them :)

                                                                                                1. 3

                                                                                                  Cool to see you around here as well! I hang around on the IRC for when I need to get some help :)

                                                                                                  My biggest peeve is honestly the documentation and the convoluted setup of the core. My core is probably a bit outdated because I really don’t want to deal with the upgrade as I would have to figure out way too much stuff again. Here’s a few things that could be better about it though:

                                                                                                  • Setting up the database is documented on the website, but I don’t see why it couldn’t just have been a script?
                                                                                                  • Why is there a commandline switch to select the backend when you also have to provide a config file? Couldn’t it be specified there so the service setup would be simpler?
                                                                                                  • User administration is a bit of a drag to deal with. Adding a user is simple enough (commandline switches like that is a bit of a pain, but I can manage), but managing them requires dealing with the database directly (deleting for example).
                                                                                                  • It would be nice if more settings were synced between the clients, like the chat monitors and the input widget for example. Having to configure that every time is a bit of a pain. Also, it would be nice if the stylesheet would be synchronized between the clients.
                                                                                                  • Also, push notifications while disconnected would be nice, but I realize this isn’t completely straight forward to do.

                                                                                                  And a few words of praise!

                                                                                                  • The documentation on the website has improved greatly since I used it last. There are many things there that weren’t around when I tinkered with it last time. Good job on that :)
                                                                                                  • The client <-> core solution works very well in general. I feel this solution is way better than any other IRC client/bouncer combos I have ever used. It’s painfree to hop between clients.
                                                                                                  • Everyone on the IRC channel is very helpful and whenever I have asked about things I have gotten a decent answer, and even had some of the issues I brought up fixed in the next version; like being able to reload the core for SSL cert renewals.
                                                                                                  1. 2

                                                                                                    Why is there a commandline switch to select the backend when you also have to provide a config file? Couldn’t it be specified there so the service setup would be simpler?

                                                                                                    The command line switch automatically migrates between databases, while the config (or the new ENV variables) don’t automatically migrate, but only use that database.

                                                                                                    Setting up the database is documented on the website, but I don’t see why it couldn’t just have been a script?

                                                                                                    That’s actually planned, but we haven’t had time for that so far.

                                                                                                    User administration is a bit of a drag to deal with. Adding a user is simple enough (commandline switches like that is a bit of a pain, but I can manage), but managing them requires dealing with the database directly (deleting for example).

                                                                                                    That’s long been planned, but as you all know, we don’t have enough volunteers, and not enough time.

                                                                                                    Also, push notifications while disconnected would be nice, but I realize this isn’t completely straight forward to do.

                                                                                                    That’s actually my #1 priority right now (due to Quasseldroid), and it’s almost done! So you should see that within of 2020 :)

                                                                                                    1. 3

                                                                                                      Don’t get me wrong! I know you are all working hard on it and I see the progress all the time :)

                                                                                                      When I said this:

                                                                                                      I just wish there was a bit more development on it to polish out the kinks.

                                                                                                      I was pretty much referring to what you say here:

                                                                                                      but as you all know, we don’t have enough volunteers, and not enough time.

                                                                                                      It’s really getting there :)

                                                                                            1. 2

                                                                                              That’s a massive amount of projects. I think this shows that Google is as enthusiastic towards starting new projects as it is towards killing old ones, which can be both good and bad in its own way.

                                                                                              1. 8

                                                                                                I’ve read many accounts from Google devs over the years complaining that Google’s performance review process strongly rewards starting projects but only weakly rewards maintaining them, especially if that maintenance isn’t quantified. (Example, with confirmations.) This might be a case of poor incentives, or - Google operates at enormous scale: a product can get millions of users, including many passionate fans, and still be considered a failure.

                                                                                                1. 2

                                                                                                  More important than this being the case for regular individual contributor devs, it’s also the case for higher management. It seems like the way you get from eng manager to VP is to keep launching new products. You launch a product, you get promoted, do a bigger one, get promoted again. No one demotes you for presiding over a product that “only” gets like 50 million users and therefore is not “Google-scale” (revenue-wise) and needs to be shut down. This is what happened to Inbox, for example.

                                                                                              1. 1

                                                                                                on zsh: export prompt="%n@%m:%~%# "

                                                                                                looks like this on my setup: laurent@DUVET:~%

                                                                                                Nice and simple but still has everything I need

                                                                                                1. 10

                                                                                                  I personally do not think this a good investment of time (unless you plan to work at Google, or benefit somehow from their sponsorship for your work).

                                                                                                  My reasoning is very subjective.

                                                                                                  Flutter is meant to allow cross-platform mobile development, plus web.

                                                                                                  React Native + React native Web do that for me, without injecting new programming language, new runtime and complete new, yet to be developed ecosystem.

                                                                                                  Dart is not a language with any revolutionary theoretical underpinnings. Dart, the language behind Flutter, is not going to make your deadlocks, unfreed lists, incorrect async state management - to be detected at compile time.

                                                                                                  Again, subjectively, I appreciate Google’s leadership in many technical areas (for example server and protocol security, some aspects of machine learning, backend infrastructure management). I do not think, however, they are leaders in ‘convergent mobile platform development’, or ground braking programming language research and dev (compared to MS, for example). Not yet, at least.

                                                                                                  I do hope, they port Flutter to android JVM, OpenJDK and .NET, and Swift. And as a library, and with Web/JS – this could then be, quite attractive, and compete with React/React native / React native web.

                                                                                                  1. 1

                                                                                                    I do not think, however, they are leaders in ‘convergent mobile platform development’, or ground braking programming language research and dev (compared to MS, for example).

                                                                                                    I would say they proved themselves very capable with Go. Although I agree about Dart, I just see it as an unnecessary new language that locks you into the Google ecosystem. It’s probably supposed to be to Java what Swift is to ObjC, and as a direct response too. They’re encouraging Android dev transition and they made it similar to Java for this reason.

                                                                                                    But I do think flutter is really interesting because of its simplicity and tooling.

                                                                                                  1. 4

                                                                                                    I like the message of hope. Keep using open platforms, contributing to them and pushing for them. We can still win because we’ve proven ourselves more convenient, we just need manpower and funding.

                                                                                                    1. 3

                                                                                                      This might be useful if you are writing GPU code that avoids branches for performance reasons. Branches can be far more costly on a GPU than they are on a CPU.

                                                                                                      1. 3

                                                                                                        Although this code branches because the abs implementation is usually branching. For example, in glibc it’s implemented as i < 0 ? -i : i

                                                                                                        1. 2

                                                                                                          That may be the default glibc implementation, but if you are writing high performance code, then you will instead be using the builtin abs or fabs intrinsic provided by your compiler, which compiles into the abs instruction provided by your CPU or GPU. For example, GCC has these intrinsics, and Intel has this instruction as part of SSSE3.

                                                                                                      1. 13

                                                                                                        @sircmpwn, please please please put a style="margin: auto;" or similar fix on the root container for the content in the pages. No centering in this day and age is kinda unforgivable.

                                                                                                        1. 10

                                                                                                          Many people, myself included, appreciate the left-aligned layout. However, I can empathise with users of ultrawides etc. To that end this ticket exists:

                                                                                                          https://todo.sr.ht/~sircmpwn/sr.ht/112

                                                                                                          1. 12

                                                                                                            Okay, but seriously, look.

                                                                                                            This is on a 1920x1080 monitor.

                                                                                                            I’d buy the left-justification style preference, but:

                                                                                                            • You still have the top navbar going all the way across the screen.
                                                                                                            • You still have the right-hand toolbar ending up dead-center.

                                                                                                            Your design needs love.

                                                                                                            1. 8

                                                                                                              Okay, but seriously, look.

                                                                                                              Right. This is how it’s supposed to look. You could trivially center this with a user style if you feel strongly about it.

                                                                                                              I definitely appreciate the feedback, but I get more positive feedback on the design than negative.

                                                                                                              1. 3

                                                                                                                It’s your project, but even in the bug tracker you yourself linked only one person is clearly in support of keeping it left-aligned–at least 3 others seem to be against it (cos, benharri, lewis from the thread).

                                                                                                                Like, even if you don’t move the whole container to the center, at least make it use the entire screen–have the righthand stuff actually on the righthand side of the page, instead of awkwardly in the middle.

                                                                                                                1. 10

                                                                                                                  That’s because I direct people who complain to this ticket, and I don’t direct anyone here who praises it.

                                                                                                                  1. 13

                                                                                                                    Fair enough. Also, lest I leave the impression I’m just picking nits on an otherwise difficult project–thanks for making your work on this open-source and getting it going. It’s a lot of work, and I’m betting people are getting good use out of it.

                                                                                                                2. 2

                                                                                                                  Right. This is how it’s supposed to look. You could trivially center this with a user style if you feel strongly about it.

                                                                                                                  The only problem I can see is that “Login/Register” is right aligned, so it ends up out of alignment with the bar on the right hand side.

                                                                                                                3. 7

                                                                                                                  I agree that the login box sticking out to the top right looks broken.

                                                                                                                  Also a utilities column on the right side of the left-justified page looks a bit weird, if going left-justified wouldn’t that look prettier along the left edge of the window, with a proper ragged right look?

                                                                                                                  1. 1

                                                                                                                    I feel like it wouldn’t be too bad of an issue if the login/register form was at the right, and possibly the pictures too.

                                                                                                                    I don’t agree that the fix is as simple as centering everything, SirCmpwn has a vision that still needs to be respected, but the design just needs some more thought, and I don’t think it should be a big priority at this point in the development.