1. 4

    I myself has noticed that Debian packaging is really hard to get right as a newcomer.

    It’d be great if their was both simpler tooling a more concise guides on getting started. A PDF with 50+ pages/slides of information isn’t a good quick start format.

    1. 4

      A coworker once spent a couple of months trying to get a package upsteamed to Debian. By far the hardest part was waiting for the upstream maintainers to comment on the package. It took weeks to get any kind of feedback at all. By that time my teammate had completely forgotten all the packaging details but fixed the comments anyway. After not hearing back about the fixes for another couple weeks he just gave up. Someone else ended up finishing the packaging.

      1. 4

        A few of these are mentioned in the article under the “Things for Debian to improve” section. I think improvements here could help reduce friction at the margins, but not sure they address the more fundamental disconnect. For example tooling/docs improvements would make it easier for the subset of upstream developers who value a Debian-style packaging system but currently don’t bother with it due to annoyances on that front, which is definitely not nothing. But it wouldn’t fix the problem with regard to upstream developers whose release cycle just doesn’t fit the Debian packaging model at all.

    1. 2

      The original bug report: https://openradar.appspot.com/radar?id=4987859723354112

      Codepoints that cause the crash: U+0C1C U+0C4D U+0C1E U+200C U+0C3E

      Here is a pastebin with the glyph: https://pastebin.com/9Tr8ytTr

      Warning: if you paste it into your address bar, it may crash Safari and cause it to crash again every time it shows up in your history after that. If you paste it into other apps, they may or may not crash (many iOS apps confirmed and iMessage, Terminal, and others on MacOS).

      This is fixed for iOS in the latest beta, which you can sign up for (free): https://beta.apple.com/sp/betaprogram/

      1. 2

        Opening that pastebin hard-crashed firefox on my mac.

        1. 1

          I’m running MacOS 10.12.5 and FireFox 58.0.2 and I was able to open the pastebin safely.

          Are you running High Sierra or a different FF version?

          1. 1

            I’m running MacOS 10.13.3 and FF 59.0b7.

        1. 4

          I hadn’t watched a SpaceX launch previously. Seeing those two side boosters return to land and touch down together was pretty amazing.

          So the first person to Mars get a free Tesla?

          1. 7

            Wikipedia says they put it into a Mars transfer orbit with no mention of putting it into orbit around (or just plain into) Mars, so it will be a very large solar orbit.

            And it looks like the center core crashed into the drone ship and they’re keeping mum for a better first wave of PR.

            1. 1

              I did miss the restored video feed with the smoke clearing and no rocket, as visible in the background of the post-lanuch talk. I was wrong. Technically, it didn’t crash into the droneship.

              1. 1

                To the best of my knowledge, SpaceX has given up on having a video link from the droneship survive the approach of the core trying to land. Live video of droneship landings has been previously streamed from a helicopter, but that was still closer to shore than this time. The video feed from the ship itself goes down 100% of the time.

                What we see in the last frames is consistent both with a core crash and with a nominal landing, so I am not sure if anyone already knows the fate of the main core for sure…

                1. 8

                  Musk confirmed that the core crashed.

                  1. 4

                    Yes, thank you.

                    A few quotes from the statements for the press: http://spacenews.com/spacex-successfully-launches-falcon-heavy/

              2. 1

                Despite SpaceX marketing, it’s heading for a solar orbit.

                1. 1

                  UPDATE: That information was from 30 minutes or so before launch. Things changed.

                  1. 1

                    And now it has been confirmed that the orbit crosses the Mars orbit and then goes almost to the inner part of the asteroid belt.

                    1. 2

                      You’d think the exact orbit would have been calculated beforehand…

                      1. 6

                        Actually in this case I wouldn’t be surprised if they didn’t know the exact orbit before the last burn. If second stage has any difference from the Falcon 9 second stage, SpaceX cares about detailed performance data more than about the orbit — so it makes sense to make the maximum possible last burn for the second stage instead of trying to ensure a specific orbit (which usually requires performing slightly below the maximum — just in case).

                        In a sense, the fact that the launch date got delayed multiple times in small increments means that they couldn’t know the exact orbit relative to Mars. Of course, Mars makes a catchy headline, so that’s how the press releases were worded. Now Elon Musk just says «exceeded Mars orbit».

                        1. 1

                          That makes total sense, thanks for the detailed clarification. I forgot this was supposed to be a “test flight”, not an actual mission to deliver a payload to a specific space-time coordinate!

                          1. 2

                            In a sense, there is a wide range of level of significance of the orbit for realistic space missions. We see Falcon Heavy test flight, where you want the things to sound nice and in reality you are collecting the data about the vehicle, not about anything in space. There are missions towards some planet where getting to the planet is what counts. There are solar measurements, where the probe needs to be close to Sun — at some point in time, from some side, but the distance and velocity matter most… but then these are done by gravitational slingshots, and that means that the trajectory must be synchronised very well with the orbital motion of multiple planets, and your launch window is quite tight and doesn’t repeat often.

                1. 2

                  Yay, I’m a hat doffing guinea pig! 😆

                  1. 3

                    And let us hope that @journeysquid never doffs the banana king hat.

                    1. 1

                      That was hilarious. Thanks for sharing it.

                  1. 6

                    If you’re interested in promoting open science and free, openly developed scientific software, perhaps consider donating to NumFOCUS: https://www.flipcause.com/secure/cause_pdetails/Mjc2NTg=

                    Currently they are matching donations so your donation will have double impact. NumFOCUS legally represents 20 or so open source projects in the Julia, R, and Python ecosystems, including NumPy, Jupyter, matplotlib, Julia, ROpenSci. In addition, they organize workshops and conferences to promote sustainable software development and inclusive practices in scientific software development. You can find more information about NumFOCUS on their website: https://www.numfocus.org/.

                    1. 1

                      This is great! Thanks so much for sharing. I’ll definitely be coming back to this.

                      1. 7

                        I’m going to be attending the NumFOCUS DISC unconference in NYC later this week. I’m hoping to work on establishing a program for interested OSS maintainers in NumFOCUS projects to mentor programmers from underrepresented backgrounds. I believe strongly that a key to sustainability in our OSS projects is onboarding new contributors and maintainers, and I don’t want our projects to be limited by the narrow demographic pool they are currently drawing new contributors from.

                        1. 10

                          How is it a popularity contest? I mean, I think they are good metrics, they simply don’t measure popularity. Furthermore, I think that you rarely get to see other people’s karma, since it is not displayed in regular conversations, but in profiles.

                          I’m specially shocked by the “competition” part. Are we going to do a ranking in Christmas? No one is going to bash you because of your karma, just relax and enjoy the conversation :)

                          1. 5

                            Furthermore, I think that you rarely get to see other people’s karma, since it is not displayed in regular conversations, but in profiles.

                            I didn’t even realize it was possible to see it for other users.

                            1. 8

                              Then let me blow your mind: https://lobste.rs/u?by=karma

                              1. 2

                                Ok so there was a ranking after all. Dammit.

                                1. 1

                                  Great now I have that Eve/Gwen Stefani song stuck in my head…

                                  1. -1

                                    It’s the usual distribution these things have

                                    ********************************************************************************
                                    ****************************************************************
                                    ****************************************************************
                                    ******************************************************
                                    **********************************
                                    ******************************
                                    ***************************
                                    **************************
                                    **************************
                                    **********************
                                    *********************
                                    *****************
                                    *****************
                                    ****************
                                    ****************
                                    **************
                                    **************
                                    *************
                                    ************
                                    ************
                                    ************
                                    ************
                                    ************
                                    ************
                                    ************
                                    ***********
                                    ***********
                                    ***********
                                    ***********
                                    **********
                                    **********
                                    **********
                                    **********
                                    *********
                                    *********
                                    *********
                                    *********
                                    *********
                                    *********
                                    *********
                                    *********
                                    ********
                                    ********
                                    ********
                                    ********
                                    ********
                                    ********
                                    ********
                                    ********
                                    ********
                                    ********
                                    ********
                                    *******
                                    *******
                                    *******
                                    ******
                                    ******
                                    ******
                                    ******
                                    ******
                                    ******
                                    ******
                                    *****
                                    *****
                                    *****
                                    *****
                                    *****
                                    *****
                                    *****
                                    *****
                                    *****
                                    *****
                                    *****
                                    *****
                                    *****
                                    *****
                                    *****
                                    *****
                                    *****
                                    ****
                                    ****
                                    ****
                                    ****
                                    ****
                                    ****
                                    ****
                                    ****
                                    ****
                                    ****
                                    ****
                                    ****
                                    ****
                                    ****
                                    ****
                                    ****
                                    ***
                                    ***
                                    ***
                                    ***
                                    ***
                                    ***
                                    ***
                                    ***
                                    ***
                                    ***
                                    ***
                                    ***
                                    ***
                                    ***
                                    ***
                                    ***
                                    ***
                                    ***
                                    ***
                                    ***
                                    ***
                                    ***
                                    ***
                                    ***
                                    ***
                                    ***
                                    **
                                    **
                                    **
                                    **
                                    **
                                    **
                                    **
                                    **
                                    **
                                    **
                                    **
                                    **
                                    **
                                    **
                                    **
                                    **
                                    **
                                    **
                                    **
                                    **
                                    **
                                    **
                                    **
                                    **
                                    **
                                    **
                                    **
                                    **
                                    **
                                    **
                                    **
                                    **
                                    **
                                    **
                                    **
                                    **
                                    **
                                    **
                                    **
                                    **
                                    **
                                    **
                                    **
                                    **
                                    **
                                    **
                                    **
                                    **
                                    **
                                    **
                                    **
                                    **
                                    **
                                    **
                                    **
                                    **
                                    **
                                    **
                                    **
                                    **
                                    **
                                    **
                                    **
                                    **
                                    **
                                    **
                                    **
                                    **
                                    **
                                    **
                                    **
                                    **
                                    **
                                    **
                                    **
                                    **
                                    **
                                    **
                                    **
                                    **
                                    *
                                    *
                                    *
                                    *
                                    *
                                    *
                                    *
                                    *
                                    *
                                    *
                                    *
                                    *
                                    *
                                    *
                                    *
                                    *
                                    *
                                    *
                                    *
                                    *
                                    *
                                    *
                                    *
                                    *
                                    *
                                    *
                                    *
                                    *
                                    *
                                    *
                                    *
                                    *
                                    *
                                    *
                                    *
                                    *
                                    *
                                    *
                                    *
                                    *
                                    *
                                    *
                                    *
                                    *
                                    *
                                    *
                                    *
                                    *
                                    *
                                    *
                                    *
                                    *
                                    *
                                    *
                                    *
                                    *
                                    *
                                    *
                                    *
                                    *
                                    *
                                    *
                                    *
                                    *
                                    *
                                    *
                                    *
                                    *
                                    *
                                    *
                                    *
                                    *
                                    *
                                    *
                                    *
                                    *
                                    *
                                    *
                                    *
                                    *
                                    *
                                    *
                                    *
                                    *
                                    *
                                    *
                                    *
                                    *
                                    *
                                    *
                                    *
                                    *
                                    *
                                    *
                                    *
                                    *
                                    *
                                    *
                                    *
                                    *
                                    *
                                    *
                                    *
                                    *
                                    *
                                    *
                                    *
                                    *
                                    *
                                    *
                                    *
                                    *
                                    *
                                    *
                                    *
                                    *
                                    *
                                    *
                                    *
                                    *
                                    *
                                    *
                                    *
                                    *
                                    *
                                    *
                                    *
                                    *
                                    *
                                    *
                                    *
                                    *
                                    *
                                    *
                                    *
                                    *
                                    *
                                    *
                                    *
                                    *
                                    *
                                    *
                                    *
                                    *
                                    *
                                    *
                                    *
                                    *
                                    *
                                    *
                                    *
                                    *
                                    *
                                    *
                                    *
                                    *
                                    *
                                    *
                                    *
                                    *
                                    *
                                    *
                                    *
                                    *
                                    *
                                    *
                                    *
                                    *
                                    *
                                    *
                                    *
                                    *
                                    *
                                    *
                                    *
                                    *
                                    *
                                    *
                                    *
                                    *
                                    *
                                    *
                                    *
                                    *
                                    *
                                    *
                                    *
                                    *
                                    *
                                    *
                                    *
                                    *
                                    
                                    1. 4

                                      Looks almost like a Zipf-Distribution…

                                      Quite interesting, maybe someone should study this a bit (or apply Machine Learning until study pops out).

                                      1. 3

                                        It would be nice to post long tail posts like this externally on a paste service like gist.github.com. I know you wanted to visualize the distribution but it just makes all of us scroll a lot of screen estate for little benefit.

                                        1. 1

                                          Ok, I’m sorry if it bothered you, but I felt the act of scrolling really gives a feel for the long tail.

                                  1. 1

                                    OK, thanks!

                                    1. 1

                                      Question is why it’s taking this long to just generate a new cert with the extra SAN…

                                      1. 4

                                        No one is paid to work on lobsters. If you know ansible and letsencrypt you should be able to help out.

                                        1. 1

                                          Well I don’t really know how the current Lets Encrypt cert was generated, but it’s literally just another argument. Did ask about it when it came up on IRC 3 weeks ago, but didn’t get a reply then, and figured it would probably be fixed pretty quickly then so completely forgot about it.

                                          1. 1

                                            It was manually created with certbot but, as noted in the bug, should probably be replaced with use of acmeclient to have much fewer moving parts, if nothing else.

                                            It’d be great to have someone who knows the topic well to help the issue along in any capacity, if you have the spare attention.

                                            1. 1

                                              I’ve done entirely too much work with acmeclient to automate certs for http://conj.io and some other properties I run. Will try and find time this weekend to take a run at this.

                                              1. 1

                                                That or to use dehydrated: in a text file, one certificate per line, each domain separated by a space.

                                      1. 15

                                        I wish all trolls were like xQuasar.

                                        1. 20

                                          I didn’t know what this comment was referring to so for those who are also confused: https://gist.github.com/quchen/5280339

                                          1. 9

                                            Daw. :3

                                            There’s truth behind the saying “Don’t feed the trolls”.

                                            Kill them with kindness.

                                            1. 7

                                              We are cooperating with you, you’re just not aware that your goal is learning Haskell

                                              Perfect.

                                          1. 1

                                            I hope google actually gave this guy a bounty of $3,133.7 :)

                                            1. 3

                                              I agree this is cool, but these are not things that should be used daily, changing history is stupid. Pretty much the only reason I can see using a tool like this is to immediately back out a password(or other secret) committed by mistake. But really the right answer is just change the password/secret, make a new commit removing it and note that this is not valid anymore, let the history stand as people making mistakes and move along with life.

                                              1. 13

                                                I disagree. One area where this is insanely useful on a daily workflow is code review, because it gives you the best of both worlds: the mainstream, published history can be the versions of the patches that were finally accepted, with all fixes and any squashing or splitting that needed to happen, but if I need to later ask questions like, “why was this particular solution done here, rather than the alternatives?”, then I stand a much higher chance of being able to trivially answer that within the SCM by tracking obsolete versions of that changeset. This is a huge improvement, in practice, from trying to discover what GitHub PRs existed for a given commit and track those histories entirely through the GitHub UI.

                                                1. 1

                                                  hrm. for me, code review belongs in the other person’s branch.. if Tootie wants me to merge her stuff, then I’ll look at her code on her branch/repo and then merge into the main branch/repo. i.e. hg incoming -vp <Tootie's repo>

                                                  But if you were doing code-review ala github or other methods, then I can see where this could be useful.

                                                  1. 1

                                                    Does that mean you’re not doing CI? You might want to consider setting up a CI server - it’s very useful.

                                                    1. 1

                                                      I’m not sure where you got no CI from what I said… but yes, I’m all for CI/CD. On push to the central VCS server (regardless of repo/branch), Jenkins will go forth and run some tests, etc. If it happens to be the main stable(or dev/test/etc) branch, it will also deploy. I definitely agree it’s useful.

                                                      The nice thing about my method is it’s decentralized, and anyone can use whatever tools they want to do code review, much like the Linux Kernel. If Tootie wants 500 feature branches or repo’s, then she can have them, organized however she wants. When it’s time to merge into the main branch, the main server repo(s) require a gpg signature from 1 other developer (via the commitsigs extension) – it’s just a test that’s run as part of the CI run, which effectively makes our code reviews GPG signed.

                                                      1. 1

                                                        Ah, I see, your central server has all the in-development branches. The nice thing about the evolve workflow is that you can have a publishing server that has a canonical linear history where all the tests pass on every commit. It takes some tooling and discipline to get there, but the benefit is that bisect is always useful and it’s easier to follow how the codebase evolved over periods when many developers were working simultaneously.

                                                        1. 1

                                                          For us, every push, regardless of branch/repo gets tested by Jenkins, a commit hook on our central repo calls into Jenkins to run. Can you explain more about your workflow and how it works? I think maybe I’m missing something. How does every commit get tested?

                                                          1. 1

                                                            After passing code review from one or two other developers, and after the test bot certifies that the tests pass on every commit in the series, a bot rebases the series onto the current default branch and then pushes to the publishing server. In principle one could also squash the series into a single commit but that means that each commit is no longer as easy to read. We like to keep commits atomic and manageable to review by a person without getting overwhelmed by a huge diff.

                                                            1. 1

                                                              Assuming I understand you correctly, this is how it works:

                                                              So developer A makes a small change, commits it, pushes it to Server A. Server A then runs tests, assuming pass - dev A begs 1-2 other devs to review their commit. After code review is signed off (via what mechanism?) a bot rebases it onto some new repo, and pushes to Server B. Server B then does the standard CI/CD stuff and deploys?

                                                2. 7

                                                  changing history is stupid

                                                  Mercurial keeps track of whether a changeset is public (because you pushed it/someone pulled it) or draft. By default, Evolve-related commands (rebase, prune, fold, evolve, and others), will only change unpublished history, that is the changesets that are still in draft mode: this prevents you from accidently editing history others may already depend on. As Gecko says, it’s a pleasure to be able to edit history without destroying the old history.

                                                  You can also share a history that you mutate, e.g. with a close colleague or with yourself on another device. Create a so-called ‘non-publishing’ repo: changesets pushed to this repository remain in draft mode. Evolve now supports sharing your history mutations. It’s a rare use case, but it’s supported; and Evolve’s notion of ‘obsolesence’ and ‘successor changesets’ is what makes it possible to support it at all.

                                                  1. 3

                                                    Yes, Mercurial is awesome, I’m not disagreeing, it’s what I use. Like I said this is very cool, but I think as a daily driver it’s not a good idea to use. That it doesn’t destroy old history like Git does is indeed a breath of fresh air. I’m not at all disagreeing with how it’s implemented/what it does. It’s great the tool exists for when you need it, I just don’t think one should be using it all the time.

                                                  2. 4

                                                    In addition to code review, another reason to modify history on a daily basis is to avoid broken commits. It’s generally good practice to avoid landing any commits that lead to a broken state (in build or tests). Otherwise other contributors who happen to rebase onto the busted commit will be left wondering whether or not their changes are responsible for the failures.

                                                    Rather than committing a “bustage” fix on top, much better to change history and make sure the broken commit never makes it into upstream in the first place.

                                                    1. 1

                                                      For large teams, or where you are not able to communicate in basically real-time, I can see this being useful. For smaller teams and/or where real-time communication(i.e. a chat channel/etc) I don’t see this as a big deal. But I can agree there are times where this would be useful, but if you are breaking builds on a daily basis.. maybe you are doing something wrong? :P

                                                  1. 12

                                                    My favorite thing about Evolution, once I’ve gotten the hang of it, is how it makes editing history safe and easy, while also preserving the full “real” history.

                                                    The other day, I realized my editor was being stupid, so I quickly grabbed a .editorconfig from another project on my machine, committed it, and kept hacking. It wasn’t until two or three commits later that I realized the .editorconfig I happened to grab trailed off mid-line, which Visual Studio Code was actually cool with, but IntelliJ was not—and which was at any rate invalid.

                                                    The old way to fix this would be some combination of hg histedit or a dive through MQ on Mercurial, and a collection of commits and rebase commands in Git. But Evolution?

                                                    $ hg up <commit with bad .editorconfig>
                                                    $ <fix it>
                                                    $ hg amend         # update the commit
                                                    $ hg evolve --all  # automatically fix up all the children commits
                                                    $ hg up            # go back to tip
                                                    

                                                    That is way easier—and it trivially preserves the whole, real history to boot, for later if I accidentally realize there was something in the original-yet-buggy .editorconfig I wanted or the like.

                                                    You can see an example of this if you’d like: when viewing that changeset, off to the side, you’ll see a link marked « 791b15d. That’s the original version of that changeset. If you click it, you’ll see the obsolete commit, which both clearly identifies that it’s obsolete, and which links to the changeset obsoleted it. Git has no equivalent of this, and I’ve found it amazingly useful even in my own little one-person projects.

                                                    1. 2

                                                      Ah cool, I didn’t realize @smf added a UI to bitbucket to see the obsolete versions of successor commits.

                                                    1. 6

                                                      Thanks for the transparency and also the hard work you and the other mods put in.

                                                      As an aside, why are some usernames in the user list set to green?

                                                      1. 9

                                                        They’re less than a week old.

                                                        1. 2

                                                          Those are recently invited users.

                                                          1. 2

                                                            They’re new.

                                                          1. 49

                                                            Thanks very much for this detailed response.

                                                            Free speech and public moderation is a core community value on this site. After all, the site was founded in response to capricious, arbitrary, and unannounced moderation on HN.

                                                            That said, I think that jcs might have been a bit too light in his hand in moderation and I approve of pushcx trying to improve the quality of discussion here.

                                                            1. 26

                                                              I agree, especially with this sentiment:

                                                              Communities like Usenet, 4chan, and YouTube with little to no human moderation sink into useless garbage.

                                                              As much as technologists want to believe that the right software will enable the virtues of humanity to shine through, it’s ultimate a human problem that can’t be solved with a technological solution. I wish I could find it now, but there was a study on unmoderated vs moderated hate speech in online communities which found that moderating hate speech does, in fact, extinguish it, as opposed to it finding other avenues.

                                                              Moderation does matter.

                                                              1. 8

                                                                At Tumblr I think we solved it (mostly) mechanically. I left in 2015 so some of this may have changed, but we felt very strongly that “sunlight is the best disinfectant” and we did not delete content unless it was child porn, self-harm, or gore. You can still go see terrorist cat blogs posting under #catsofjihad. The community was great about shutting down those who were abusive, and the mechanics of response were important for that. Once you created a post, anyone could reference your original, even if you deleted it. Tumblr threads are not trees, but the particular chain of responses that are favored by whoever decided to respond, giving responders full control over the context, making responses far more clear. You lose the full-picture, but gain clarity of context. This was backed up by a support team that was usually great about taking action when abuse was happening. The clarity of context is what I believe gave the community the tools it needed to effectively self-police. This is something I believe is sorely missed in other platforms.

                                                                1. 3

                                                                  we felt very strongly that “sunlight is the best disinfectant”

                                                                  This is, unfortunately, naïve, even to the point of being malicious—always in consequence, even if not in intent. And exponentially moreso online, where vectors for abuse are numerous and practically zero-cost.

                                                                  https://twitter.com/yonatanzunger/status/914605545490857984

                                                                  1. 6

                                                                    I don’t think your link has anything to do with the mechanism in my comment. Twitter gives total contextual power to the content creator, not to the responders. A malicious user deletes the tweet and the responses lose their power. This mechanism totally strips the community’s ability to self-police. I’m in agreement with the author of the link you posted, and I think twitter has made terrible trade-offs. There’s a reason tumblr has tended to be the place where many members of marginalized communities find the first group of people that accepts them, and these communities flourished there. That doesn’t happen with G+.

                                                                    1. 5

                                                                      There’s a reason tumblr has tended to be the place where many members of marginalized communities find the first group of people that accepts them, and these communities flourished there.

                                                                      To be fair, this only applied if the community was not sufficiently odious that Tumblr nuked them.

                                                                      1. 1

                                                                        What do you mean? We let terrorists post anything that was legal…

                                                                        1. 5

                                                                          If memory serves there were a bunch of tags and adult blogs (some of whom were legitimately scummy folks doing commerce) that got rounded up and purged. I think around the time of Gamergate there were also some blogs purged, notably [REDACTED–see edit].

                                                                          (Do yourself a favor: don’t search for that last one. There is nothing there that will make you a happier person. It’s some of the most hateful and misogynistic stuff posted online. Again, do not read it. I found it by accident through webcomics circles, and saw it descend pretty immediately into awful shit.)

                                                                          EDIT: On second thought, I’m going to actually censor that last one. They’re shitty human beings and I don’t want to drive traffic their way, even for the curious.

                                                                          1. 3

                                                                            I mind this kind of censorship, be it self-induced or by moderators: I believe it is everyones own judgement to see for themselves and learn about it. Why mention it in description but not allow further research? In my opinion, your post is no longer credible because I can not verify it independently.

                                                                            (Edit: Reverted autocorrect. Perhaps add public record of post edits?)

                                                                            1. 1

                                                                              I remember a few cases where certain tags were blocked on mobile because if one of the app store testers found porn using a test of the app it could lead to them rejecting an update. Once, this unfortunately included tags like bisexual, gay and lesbian. It was not a fun decision to make, because it hurt the communities we tried so hard to protect, but Apple was holding the business hostage with this, and we chose to block lgbt tags in the short term and figure out something else later. There was significant blowback.

                                                                              We often mass-blocked clusters of associated spammers, which is uncontroversial as far as I know. Other controversial mass-blocks may have happened, but I don’t remember them.

                                                                2. 7

                                                                  I agree, on both points. Transparency has always been a core goal of the site, and should continue to be. And I also think it makes sense to do at least slightly more moderation than there has historically been.

                                                                  1. 1

                                                                    I personally think the quality is/was fine and don’t care if there are flame wars as long as they’re not just 4chan style insults.

                                                                  1. 1

                                                                    There are really nice, thanks for sharing!

                                                                    1. 3

                                                                      Please don’t repost your HN submissions here.

                                                                      1. 3

                                                                        This PEP was accepted so presumably this will be a new feature in python 3.7.

                                                                        1. 3

                                                                          Blood Music by Greg Bear.

                                                                          1. 3

                                                                            Man that book made a big impression on me back in the day.