1. 3

    Good thread idea. I am not an expert at this stuff so suggestions and feedback most appreciated:

    • git server via gitolite
    • dns authoritative server for my primary domain with maradns
      • This is only because my domain provider’s API for manipulating managed DNS is awful
      • I do want to look into setting up a caching server as well, but I have very few cases and the effort doesn’t seem worthwhile. Please prove me wrong.
    • A custom file-sharing/upload thing written in Go
      • I wrote my own because I wanted one without any client-side JS, lightweight markup, file tagging support etc. and none of the existing solutions worked for me
    • OpenSMTPD
      • It receives email and relays to gmail and stores a local copy in a maildir
      • Don’t have a way to send email yet. I don’t like mutt, and really would like to avoid another ncurses app. I would really like a well written email client on top of notmuch.
    • ZNC and weechat for IRC
    • A medium proxy (example link: http://med.awalgarg.me/p/ee98c180100)
      • Based on @tedu’s code, thanks tedu!
    • aria2c for torrents

    Stuff is rather unorganized right now. I’d like to move to a BSD, setup a proper VPN (wireguard looks neat, hope it works on BSDs soon) to connect all devices, make it easier to manage multiple domains and servers together and throwaway email accounts with domain rotation etc. The overall broken state of computing makes me loose motivation towards even trying to build my utopia of personal computing, though.

    1. 8

      I see the site is still being served via nginx.

      ~ curl -I https://lobste.rs
      HTTP/2 302
      server: nginx
      […]

      This is really bad for scalability and security. Please switch to apache with php-cgi.

      1. 18

        Just putting this here after a brief conversation in IRC. Don’t think it counts but whatever.

        • The comment in question was most definitely on-topic.
        • Simply by having the word “hate” in it doesn’t mean it is a hate post. Reading it made me laugh, yet in no way did I feel immediately turned off by the story itself. I checked it out further and appreciated its existence anyways.
        • Deletion of the comment was not nice. No. (ignoring the deletion of entire thread since that is just a bug)
        • Momentarily there was a “dragon” feature in the past which let mods mark a comment as dragon, which’d hide it and push it down, but not delete it. It seems to have gone now. I’d suggest bringing it back for cases like these.
        1. 22

          As someone who’s been writing Go professionally for 2 years and change, and more-or-less enjoys it, I don’t give a damn about any particular solution, whether it’s generics or templates or type inference or something new entirely, but I do care about the problem, which in my mind is this: Go’s types are so limited that they discourage code reuse. Things that would be put into libraries in any reasonable language (especially a 21st-century one) are habitually copy-pasted in Go, because the library functions that would implement them have inexpressible types. So we copy-paste, and pay the price with less-readable code and more bugs. Or we use interface{} and func(...interface{})interface{} everywhere, and pay the price with less-readable, slower, un-typesafe code. Or we use code generation, and pay the price with more complicated builds and a major loss of debuggability. Finding an alternative to all of that is important to improving the overall quality of everyone’s code and creating a non-shitty library ecosystem.

          1. -1

            For which type of functions do you see the need for generics, any real life examples?

            1. 21

              This is sort of like asking “for which types of tasks to you see the need for functions instead of GOTOs?”

              Strictly speaking, you don’t need generics for anything. They’re just super convenient for almost any type of code. If you’re writing a graph manipulation library, it shouldn’t matter what data is in the nodes. If you’re writing code to add up a bunch of numbers, it shouldn’t matter if they’re in a list or in a set or in a map. If you want to map over all the values in a data structure, it shouldn’t really matter what the data structure is most of the time.

              Can you just re-implement all these things for every combination of data structure and contained type? Sure. But you’re going to waste time and write more bugs.

              Just today I wrote a semi-complicated function that scanned over a stream of values. I used the same function in two different locations, with different types values in the stream. It would have been annoying to rewrite the whole thing just because one instance used UIIDs and the other used Ints.

              Parametricity is also good because it lets you restrict the sort of things you should be doing with your function arguments, which is another way the compiler can help you to not do the wrong thing.

              1. 1

                I think it helps the discussion if you have a clear this is how my code works without generics, this is how it would work with generics. Provide a good overview of the various scenarios in which you think generics are better. That would make the point much clearer.

                1. 9

                  Without generics:

                  int_stream_thing =
                  <do a bunch of stuff>
                  sum' = sum + x
                  <do a bunch more stuff> 
                  
                  uuid_stream_thing =
                  <do a bunch of stuff>
                  set' = insert x set
                  <do a bunch more stuff> 
                  

                  With generics:

                  stream_thing f =
                  <do a bunch of stuff>
                  val' = f val x
                  <do a bunch more stuff> 
                  
                  uuid_stream_thing = stream_thing insert
                  int_stream_thing = stream_thing (+)
                  

                  If stream_thing is big, you’ve saved a lot of effort. This is basically a fold, which can be generic over both the type of the stream (or other container) and the type of contained value.

              2. 6

                I am sometimes annoyed and usually scared at the complexity of the “concurrency patterns” one has to use in Go. (See https://blog.golang.org/advanced-go-concurrency-patterns for examples.) It’s easy to use channels in a way that is wrong, and once you’ve learned the right way, there’s no language-level facility to encapsulate and reuse that knowledge – you just copy/paste stuff into the next program and hope you adapted it correctly. Things like Context help, but only a little.

                Someone wrote an article with more specifics on this topic: https://gist.github.com/kachayev/21e7fe149bc5ae0bd878

                1. 4

                  Comparing and sorting lists. Error handling Rudy/ML style.

                  1. 1

                    I don’t know how I wrote Rudy instead of rust. I don’t seem to be able to edit this post.

                  2. 4

                    This feels a rather odd question because Go already has generic types that everyone uses, they are just magical (given by the language) and not traditional generics in userland. This was very clearly highlighted in the article itself by example of copy and append magical functions. Monadic types are also only possible in Go if the language provides them or by losing type-safety with interface{}. Does that answer your question?

                1. 4

                  Ah I’ve been meaning to put up something like this. Now I can piggy back on it :)

                  So first, all due respect to whosoever came up with SOLID principles. I assume they are meant to be guidelines which do help at times, and not rigid rules. Hence technically the title is over-dramatic - which is fine. (2017 and dramatic titles? On the internet?! Unthinkable crime!)

                  For me, writing code is not much different than instructing someone on how to do something, except code is instructing a CPU. With the additional constrain that the instructions that I am writing will be read again and again, not just by the CPU but by me and other humans. Anything which applies to clarity of regular spoken languages almost definitely applies in some manner to computer code. Note that “structuring” code-bases into files and modules etc. is a different problem. Perhaps that’s more akin to structuring a book or a thesis.

                  The general advocacy for clarity in spoken languages is to use simple words. There are just so many kinds of things to express that you can’t come up with heavily constrained rules that can apply to everything. You have to use your common-sense to understand what you are writing, what you are describing, and to just keep it simple, intuitive and easy to understand - for the specific thing that you are writing. When you are talking to someone, you don’t go lookup a “way” of speaking.

                  The fact that people try to apply patterns in application code and that they are encouraged to do so is daunting to me. What is so hard about saying what you have to in simple words?

                  I quote someone I’m no fan of, but they put it very elegantly:

                  When I see patterns in my programs, I consider it a sign of trouble. The shape of a program should reflect only the problem it needs to solve. Any other regularity in the code is a sign, to me at least, that I’m using abstractions that aren’t powerful enough– often that I’m generating by hand the expansions of some macro that I need to write.
                  (source)

                  1. 1

                    I think analogies between programming languages and natural languages are often misleading. But even so, there are “patterns” in natural language: people are encouraged to structure arguments in particular ways, to use certain forms of repetition, even to use particular template phrases. People absolutely do look up how to write an essay (and further, how to structure an exploratory vs a persuasive essay), how to write an opinion column… Just saying “use simple words” is occasionally a useful reminder, but by no means the be-all and end-all.

                    1. 1

                      “Uncle” Bob Martin created the acronym and collected/created the principles. In the mid-90s he popularized them in magazine articles, usenet, and the C2 wiki, culminating in his book Clean Code.

                    1. 24

                      By “are you using containers”, I assume you mean “are you using containers for developing/shipping an application in an isolated environment”, to which the answer is - I don’t. @pushcx did a good job explaining many reasons, I’d try to put it in my own words:

                      I find containers to be semantically broken for that purpose. What developers want is better and easier management of state/configuration, and I don’t see how putting all that non-managed state into a deeper room is the solution. How about we fix the problem where it exists instead of covering it under rugs and calling it a day.

                      Here is a crazy idea, which is probably never going to see life:

                      Lets standardize software configuration! One of my favorite examples of existing “configuration management” is the linux utility visudo. It is used to edit the /etc/sudoers configuration file. While you can just edit the file as it is, using visudo ensures that only one user is editing the file at once, does syntax checks on the file before it takes effect etc. Lets take this a bit further…

                      I’d like to see a configuration system (and not dbus or windows' registry) which lets me manage configuration files in plain text, and statically verifies that they will work. i.e., syntax checks, type checks, environment checks (eg. check if the same port is going to be used by multiple applications) etc. and when it catches errors, it should return useful error messages and probably hints on what to fix. We already have amazing static analysis for programming languages - why not configuration systems, which aren’t even turing complete? :)

                      1. 22

                        You really need to provide some examples of those comments, because it can be really hard to tell the difference between comment quality actually dropping and people just wanting to say “back in my day this was awesome and now it sucks”.

                        Especially accusations of trolling need to be substantiated better because the word tends to be grossly overused.

                          1. 24

                            It seems just about every comment you linked was received with polite, but firm criticism/sensible answers, and didn’t end up spoiling the thread or the community’s view. Now while it’d be great to not have these comments at all, I think those examples actually show the bigger picture - the high maturity level of the people in community.

                            Perhaps the lobsters software should be able to track repeated troll attempts from a single user and raise an alert for moderators to step in. One thing I’ve experienced from moderation of a few communities is that it is generally better to accept more users cheaply, and have stricter rules to kick them out if/when they misbehave.

                            1. 9

                              It seems just about every comment you linked was received with polite, but firm criticism/sensible answers, and didn’t end up spoiling the thread or the community’s view. Now while it’d be great to not have these comments at all, I think those examples actually show the bigger picture - the high maturity level of the people in community.

                              Amen. I agree, and this is why I don’t think censorship is needed.

                              Hacker News is heavily modded and it’s still a cesspool.

                              The best way to handle the problem of bad users is not to attract them in the first place. I think that we’re doing a good job of keeping the forum in a state that doesn’t attract the YC type.

                              1. 5

                                You are such a prolific commentator here, that one of the explicit benefits of HN (compared to lobsters) is that you aren’t there.

                                [EDIT] I stand by what I said above, but @angersock is right, I probably could have expressed it better. Some clarification: https://lobste.rs/c/01bj1d

                                1. 11

                                  This is the sort of feedback that is best left to private messages, or that really requires further elaboration and generalization of principle in order to raise the level of discourse. Please consider either of those options in the future.

                                  1. 12

                                    IMO, michaelochurch’s comments are a non-trivial portion of the low quality comments I’ve seen on lobsters. Virtually every single comment by him either insults entire classes of programmers with absurd generalizations or participates in revisionist history.

                                    This is the sort of feedback that is best left to private messages

                                    I generally agree. I’ve mostly stopped interacting with michaelochurch because all previous interactions have been remarkably negative. But if we’re going to participate in a meta discussion about the comment quality on lobsters, then it seems more than appropriate to air grievances.

                                    1. 9

                                      While I don’t always agree with michaelochurch’s comments, and sometimes they’re only vaguely related to the parent post (which can be disruptive), I think he’s a valuable member of the community. He holds a minority opinion on a number of issues, but argues them in a thought-provoking way. I’d hate to see lobste.rs as a community push people out because of contrarian viewpoints.

                                      1. 3

                                        I’d hate to see lobste.rs as a community push people out because of contrarian viewpoints.

                                        I wonder if you’d actually walk the walk too.

                                      2. 6

                                        Hm, I actually liked the “two types” of programmers comment made by michaelochurch and remember thinking “this guy can really write well”. It made me check out his blog and add it to my feed.

                                        But maybe that’s because what he wrote down agrees with my opinion?

                                        1. 5

                                          Virtually every single comment by him either insults entire classes of programmers with absurd generalizations or participates in revisionist history.

                                          While we’re on the topic of quality content and all, it would be great if you could back up your claims by quoting something Michael said and telling us why he’s wrong (or why it’s reasonable to get “offended” or upset by it).

                                          1. 3

                                            I provided links and have otherwise said enough. At this point, it’s up to folks to come to their own conclusions.

                                            1. 2

                                              I didn’t see anything wrong with what Michael said in the comments you linked to, so you definitely haven’t said enough.

                                          2. 3

                                            IMO, michaelochurch’s comments are a non-trivial portion of the low quality comments I’ve seen on lobsters.

                                            Generally, I think this sort of stat-waving is in poor taste, but I have a higher average karma-per-comment than you do.

                                            all previous interactions have been remarkably negative.

                                            You made the first personal attack, not me.

                                          3. [Comment removed by author]

                                            1. 12

                                              This thread is bringing out some of the worst in our posters I’ve seen in a while–let’s not exacerbate things further.

                                          4. 2

                                            You are such a prolific commentator here, that one of the explicit benefits of HN (compared to lobsters) is that you aren’t there.

                                            Banning me from HN was part of a larger effort. They forced Quora (which YC bought) to ban me. On Reddit, they used to attack me heavily with sock puppets and brigades. Then I started getting the death threats, including harassment from homeless on the street (presumably paid off by YCs; it is a common tactic) when I was in the Bay Area. On one occasion, those assholes tried to get me fired.

                                            I suppose you’re a fan of all that, too?

                                            If you wonder what I did to piss them off, I wrote a blog post in 2013 where I used the term “chickenhawk” to describe VC’s attraction to inexperience founders. I never mentioned Paul Graham once in that context, and did not have him in mind, but he took the post to be about him, and the rest is history.

                                            I’m sure, though, that you think you dislike me because you think for yourself and not because you’ve been told what to think by Paul Graham and his menagerie of boypets. Carry on, then.

                                            1. 16

                                              If you wonder what I did to piss them off

                                              You’ve conveniently left out some important details that might color one’s perspective. For an example of such a detail, see: https://news.ycombinator.com/item?id=10017538

                                              1. 1

                                                I have no idea what point you’re trying to make.

                                                1. 9

                                                  I’d imagine the point was that you were warned by a mod to stop doing something and then banned after you kept doing it.

                                                  Either those posts were not in fact written by you (which would be consistent with your accusation that they are trying to get rid of you by any means necessary), or you broke the rules of their private space and got kicked out for it.

                                                  I’m not going to tell you they aren’t out to get you - I have every reason to believe PG would act like that - but the HN ban sure looks like more like regular old moderation than some kind of conspiracy.

                                                  1. 2

                                                    Either those posts were not in fact written by you (which would be consistent with your accusation that they are trying to get rid of you by any means necessary), or you broke the rules of their private space and got kicked out for it.

                                                    The rules, to the extent that they can be argued to exist, are inconsistently enforced. People who point out that Silicon Valley has devolved into a pyramid scheme, and that Y Combinator is morally culpable to a large degree, are treated differently from people who aren’t perceived to represent a threat to Paul Graham’s economic or cultural interests.

                                                    I’m not going to tell you they aren’t out to get you - I have every reason to believe PG would act like that - but the HN ban sure looks like more like regular old moderation than some kind of conspiracy.

                                                    They definitely know who I am. I have a couple sources inside Y Combinator (they’re not all bad people).

                                                    [ETA.] Oddly enough, Paul Graham isn’t as bad as he’s made out to be, and he’s been pretty much retired for close to 2 years. I wouldn’t call him a good person, but he’s not Hitler either. PG can be childish and vindictive, but the evil that YC is known for comes mostly from people under him.

                                              2. 6

                                                They forced Quora (which YC bought) to ban me. On Reddit, they used to attack me heavily with sock puppets and brigades. Then I started getting the death threats, including harassment from homeless on the street (presumably paid off by YCs; it is a common tactic) when I was in the Bay Area. On one occasion, those assholes tried to get me fired.

                                                What do you think would cause a diverse group of people across a number of sites to all attack you like that? They can’t handle the truth?

                                                1. 1

                                                  It wasn’t a diverse group of people. It was a small number of people (maybe five). Y Combinator owns Quora, which explains the ban.

                                                  The death threats could have come from anywhere, and although the Reddit brigade detected last April consisted of 45-70 accounts, it’s overwhelmingly likely in my mind that it was fewer than five people, working together and possibly in the same physical space (YC headquarters).

                                                  Of course, I don’t know for sure, but I know how these people fight. It’s more likely that a small number of people are doing bad things than that there is a large conspiracy.

                                                  What motivated them? It’s not that they “can’t handle the truth”. They know the truth. What they don’t want getting out there is how much of this current “startup” bubble is outright fraudulent, not only against employees and customers, but also against the institutional investors who provide the capital.

                                                2. [Comment removed by author]

                                                  1. 6

                                                    That is a crazy story.

                                                    The operative word here is crazy.

                                                    1. 3

                                                      As if a blog post could do something like that.

                                                      At my peak, I got about 2,500 uniques per day. I had a low four-digit Alexa rank in the SF Bay Area.

                                                      I’ve pulled out of that game. I don’t care about this industry. I enjoy programming, but the tech industry can go to hell (who would know the difference?)

                                                      1. [Comment removed by author]

                                                        1. 2

                                                          I certainly poked the bear, although I didn’t intend to provoke the specific response I got.

                                                          In July 2012, I wrote an essay called “Don’t waste your time in crappy startup jobs”. It got about 200,000 hits. That put me on Paul Graham’s radar and soon afterward he put me on “rank ban”, a Hacker News “feature” that would cause my comments to fall to the bottom no matter how many upvotes they got. It wasn’t until 2015 that Gack (the current moderator) admitted to this, but most people in-the-know were aware of it, and I wasn’t the only person affected by it.

                                                          It wasn’t a personal grudge, on Paul Graham’s end, until about a year later when I wrote this blog post. He thought “chickenhawk” was intended to refer to him. It wasn’t. I didn’t even have him in mind, to be honest. This is probably an exaggeration, coming from one of my sources inside YC, but I was told that after reading that essay, PG couldn’t even get out of bed for three days. At that point, the grudge was personal. Even though is essentially retired these days, he encouraged his puppies, Gack and Paul Buchheit, to attack me at every opportunity.

                                                          I was very active as a technology writer. I’ll admit that it took some effort to get the Paul Grahams of the world as pissed off as I did. It’s not something that you just fall into. What I didn’t expect is that these people would take a difference in economic and cultural interests and then try to spin it into something personal and vicious.

                                                    2. 10

                                                      You’re omitting a few details. You were banned from Wikipedia for sockpuppeting, you were banned from Hacker News for calling Marissa Mayer the C-word, and you were banned from Quora for repeated sockpuppeting.

                                                      1. 10

                                                        You’re omitting a few details. [.. snip ..]

                                                        Uh.. I totally understand why you posted that, and won’t call it out for being entirely unreasonable given the way this thread (unfortunately) went. So don’t take this personally.

                                                        But as a plea for the future, could we all please not dig up dirt on our community members? I really think it is one of the saddest things one can do here. And if we really have to judge somebody, then it should be based on their contribution here on lobsters. Not elsewhere, and definitely not over ten years ago elsewhere.

                                                        There are multiple reasons for this. Through such external sources, we catch a glimpse of community drama and claims without context, with no way to verify these claims, with no way to understand the background. No way to know who’s lying and who’s saying the truth. That community might be toxic, and toxicity often breeds toxicity. I admit, I can be quite toxic on the trollfest that slashdot is. And the past is past, people can change. I no longer participate on slashdot.

                                                        Along these lines, I can ascertain that when we have a nice friendly community here, then the people here are naturally encouraged to play along and be nice regardless of how they do elsewhere. That is what matters.

                                                        But when people come in and bring personal grudges and vendettas and dig up dirt, they bring in the toxin from these other communities. It evokes negative feelings and it hurts, and when it hurts, it is easy to forget what a nice community we have here. And so the poison spreads.

                                                        1. 9

                                                          But as a plea for the future, could we all please not dig up dirt on our community members?

                                                          If you peruse this particular community member’s comments, you will note that he speaks frequently of his past interaction with various folks. It at least seems clear to me from his comments that he’s quite willing to discuss the past and his interaction with communities he’s been banned from. He may very well be telling the truth about many things (as you say, there’s no way to know), but one thing is very very clear: he omits critical details that are terribly inconvenient to his narrative. If he’s willing to talk about it, then adding additional context to what he’s saying seems absolutely fair to me.

                                                          1. 3

                                                            one thing is very very clear: he omits critical details that are terribly inconvenient to his narrative.

                                                            I omit details that are irrelevant, regardless of whether they are favorable or not. It’s not like I post, “I’ve received death threats from YC partners” at every opportunity, because who cares? What would I gain from that? I come here to read and talk about technology, not this sort of shit.

                                                            I don’t talk about this stuff except when asked or provoked. The record shows that you, not me, are the one who turned this thread into a personal-attack-driven shitshow. And you owe an apology to the Lobsters community for doing it.

                                                            1. 8

                                                              And you owe an apology to the Lobsters community for doing it.

                                                              As I said, I could have expressed myself better. I never intended for anything I said to be a personal attack, but I can absolutely see how I came across that way. For that, I apologize to you. My intent was to express how unfavorably I view your contributions to this web site. Intent doesn’t count for much, but there it is.

                                                              In any case, I’ve learned from my mistake. This will be the last time I respond to you on this web site.

                                                          2. 9

                                                            In general I agree with you, but in this case I was responding to a comment in which Church claims he was banned from HN and Quora as part of a larger conspiracy against him (that includes YC paying the homeless to harass him). When someone makes a claim like that, I feel like I need to point out there were several clear reasons for why he was banned.

                                                            1. -2

                                                              “Point[ing] out” things that aren’t actually true isn’t a public service. It’s annoying and, frankly, you aren’t very convincing or talented at it.

                                                          3. -4

                                                            You were banned from Wikipedia for sockpuppeting,

                                                            That user’s hate page was debunked a long time ago. Most of those accounts don’t even exist. Granted, I did some stupid shit on Wikipedia back in 2004. Just not that.

                                                            you were banned from Hacker News for calling Marissa Mayer the C-word

                                                            Not true. I used a different word, “queynte”, specifically because some people consider “cunt” to be a gender slur when applied to a woman. The best translation of “queynte” would be “ornament”, not “crude term for vagina”.

                                                            you were banned from Quora for repeated sockpuppeting.

                                                            I am aware of that being their stated reason. However, those sock puppet accounts didn’t exist.

                                                            Back when I had an active blog, Marc Bodnick posted a comment putting the blame on Paul Buchheit who demanded it. Paul Buchheit denied it. I don’t know who’s responsible for that. What I do know is that Marc Bodnick got fired a few months later, because Adam D'Angelo specifically blamed his moderation for the collapse in user engagement and comment quality.

                                                            Please find a way either to become more intelligent, or to become more graceful in apologizing for what you currently are.

                                                            1. 9

                                                              Please find a way either to become more intelligent, or to become more graceful in apologizing for what you currently are.

                                                              What does that mean?

                                                    3. 3

                                                      I’d agree that the number of bad comments has gone up, but I’m not sure that the S:N has gotten worse.

                                                      polite, but firm criticism/sensible answers, and didn’t end up spoiling the thread

                                                      We have quite a low quantity of BS, so it’s relatively low-effort to refute (which keeps the place nice). There’s a threshold beyond which people stop being willing to invest time doing that.

                                                      accept more users cheaply, and have stricter rules to kick them out if/when they misbehave

                                                      My only concern with this approach (which works well in genereal) is that the failure mode is collapse (when e.g. a key moderator is absent for a few months and there isn’t suitable handover).

                                                      If that were our approach, I think it would become important to recruit a larger pool of moderators to reduce this risk.

                                                      1. 2

                                                        Disclaimer: I’m one of the word-criminals listed above.

                                                        I pointed out what I consider to be an obvious fact - that Common Lisp itself is not very practical, but didn’t want to go through the effort of trying to convince people of it. For example because if it’s not obvious to someone, he probably wouldn’t be amenable to convincing either.

                                                        Someone who’s never considered CL impractical but does have an open mind, might benefit from seeing the idea, in case it led to him investigating and reaching the same conclusion himself.

                                                        It seems just about every comment you linked was received with polite, but firm criticism/sensible answers, and didn’t end up spoiling the thread or the community’s view.

                                                        Yes, someone asked the reasonable question: “Why?”, and someone else provided a great answer.

                                                        All in all, which would you say caused a greater disturbance to Lobste.rs’s peace & harmony: my comment, or this thread? It could be argued that whoever started this thread is sowing discord!

                                                        The thing is, we all interpret quality content and whether an article “belongs here” in different ways. Lobste.rs itself can reasonably be found highly lacking in greatness, even if it is better than HN in some ways.

                                                      2. 8

                                                        So, to summarize those examples for people that don’t want to follow links:

                                                        1. Throwaway comment saying Clojure is more practical than Common Lisp.
                                                        2. Comment asking why news about a suicide of a non-notable person is being posted to Lobsters.
                                                        3. Comment expressing skepticism about EU competence on regulating crypto based on linked material.
                                                        4. Comment (mine) tersely pointing out misuse of math tag and panning article source.
                                                        5. Comment wondering why so many Julia Evans drawings (simple diagrams) keep showing up lately.

                                                        With the possible exception of the first comment, those all seem like reasonable comments to me and are not particularly trollish (compared with, say, this or some of yui’s stuff.

                                                        I think something worth considering is the content of articles all of those comments were in reply to: we need to all remember that a bad submission (like somebody deciding to kill themselves, or spamming pretty drawings, or public policy news) will usually breed bad comments, either asking “why is this here on lobsters?” or failing to have useful content for discussion.

                                                        In short, if you submit garbage, don’t be surprised if you attract flies.

                                                        1. 4

                                                          bad submission (like somebody deciding to kill themselves, or spamming pretty drawings, or public policy news)

                                                          I wouldn’t call any of those submissions bad. News about tech industry’s culture affecting people’s mental state, public policy related to tech and other “meta” articles are relevant to lobste.rs, in my opinion. The pretty drawings in question were educational and about tech. Although I didn’t necessarily like some of those submissions, they’re still on-topic.

                                                          1. 2

                                                            those all seem like reasonable comments to me and are not particularly trollish

                                                            IMO, not all low quality comments are trolls. I agree with the OP that comments like the ones linked are nearly content free, and I find it disappointing that they’re appearing on lobsters with increasing frequency. I don’t have any good solutions, unfortunately. Ideally, we as a group would discourage those sorts of comments from existing in the first place. Perhaps @nickpsecurity is right in that the only other choice is heavier moderation, but I don’t really like that choice either. sigh

                                                            1. 3

                                                              Three of them aren’t content free though–they are meta comments on the submission. There is a place for such comments and unfortunately they are necessary if we want the community to self regulate properly.

                                                              Perhaps the increase in bad comments you are seeing is due to an increase in bad submissions?

                                                              1. 2

                                                                Im pushing two: careful who you invite to point you audit prior comments or behavior (approximates friend-to-friend model); heavier moderation if discouraging specific behaviors that persist. I think the invites arent usually handled like in the first. Many were casting a wide net.

                                                            2. [Comment removed by author]

                                                              1. 5

                                                                I personally put sub-par comments that spark good discussions into a different category

                                                                I think this is important. There are so many ways a sub-par comment that on its own contributes nothing can lead to very fruitful or informative discussion that is worth having, and quite likely would not be had if it were not for that comment. Sometimes, these little comments can even seem a little trollish or otherwise inflammatory. That is one way to spark discussion; perhaps it is not perceived to be a good way, but it can be very effective. Of course there is no way to know in advance what such a thread will turn into.

                                                                1. 9

                                                                  I disagree, given that the brevity of such comments is usually more likely to produce misunderstandings and hostility than creative discussion. Additionally, the brevity of such comments increases the odds that any subsequent discussion is likely to be less topical because of lost context.

                                                                  Sure, we get occasional gems, but the aggregate effect is always going to be junk commentary and poor decorum.

                                                                  1. 4

                                                                    The negative effect of lack of context is important. I overlooked that in my response. It does usually result in people talking past each other until the “real” point comes out. Happened to me here a few times.

                                                                    Therefore best to write at least enough of a comment that claim and context are clear. This might be worth becoming a guideline at some point.

                                                                  2. 5

                                                                    This seems to happen most when the comment represents a common misconception that many other readers might have. On HN, I often give a detailed counter with evidence and upvote the comment so corrected information reaches that commenter and others reading along. I also upvote the correct ones past it. Can’t recall how much I do it on Lobsters.

                                                                    The idea being that just filtering out very different views doesnt make them go away. In absence of correcting feedback, misinformation remains with self-reinforcement and more gets built on it. Im still undecided on best strategy here but think it’s worthwhile keeping and countering low-value comments reflectinh misconceptions if person’s other comments were decent.

                                                                  3. 3

                                                                    OK, I’m a newcomer here

                                                                    Are you also this “hga”? https://news.ycombinator.com/user?id=hga who was recently banned?

                                                                    Jews are to be “excluded if not eliminated from society”, as in all societies that are not Israel. You’ve got your own homeland now, which we of the Alt West fully support, relocate yourself there.

                                                                    1. 0

                                                                      is also correct, and prompted a discussion I at least think is worthwhile,

                                                                      I vehemently disagree with that characterization. The OP posted a useless comment. Of what use to others is to state conclusion without an argument or observation so the we can reach our conclusions? Then ssl appears to have attempted to use the maieutic approach to teach the OP about the importance of backing up your conclusions. At which point you derailed the discussion posting a bunch of incorrect statements that because they take more time and effort to refute normally go unchallenged.

                                                                      Furthermore I see no good discussion that sparked from it.

                                                                1. 6

                                                                  Some of the real goodies are on the Changes for Developers page. Things that will immediately fill holes are:

                                                                  1. You can now finally do forEach on nodelists. No more [].forEach.call etc.! Rewrite all the things!
                                                                  2. The console can now use sourcemaps to link to the original location of errors (and other things) in source, instead of going into the compiled scripts.
                                                                  3. You can now trace the origin of xhrs much easily, since they get stack traces. This was something missing from FF which Chrome had for a long while.

                                                                  That entire page is worth a quick read :)

                                                                  1. 29

                                                                    I’ll give some thoughts on the matter. These are all just my opinion, and with that warning out of the way I’ll skip my normal niceties in tone and wording. These thoughts are about what Lobsters is to me, what I’ve learned in general, and how I think moderation should be shaped.

                                                                    What Lobsters Is

                                                                    Lobsters is a wonderful discussion forum for people working in computer- and electronics-related fields to discuss ideas relevant to our industry practices and culture. It is a place to teach and learn, and a place to compare notes on how to do things.

                                                                    In bullet form, Lobsters is a place:

                                                                    • …to learn about new programming and engineering techniques and ideas
                                                                    • …to learn about weird software and hardware hacks in the old sense of the term
                                                                    • …to learn about software and hardware history
                                                                    • …for professionals to compare war stories and employment information
                                                                    • …for somewhat established members to show other members their cool hacks and software projects (projects != products)
                                                                    • …to reflect on the philosophy and culture of engineering and programming and how that relates to our professions
                                                                    • …to debate/argue with other members on any of the above and to be able to do so civilly

                                                                    For me, those are the core things Lobsters is.

                                                                    What Lobsters is not

                                                                    The thing’s Lobsters is not is even more important.

                                                                    Lobsters is not a place:

                                                                    • …for advertising and shilling new products and services from non-members or new members
                                                                    • …for posting things whose value derives from novelty (read: news in most forms)
                                                                    • …for posting political or politically-minded articles
                                                                    • …for posting things whose value derives from outrage (read: most stories of unfairness or inequality)
                                                                    • …for rabble-rousing and social calls-to-action
                                                                    • …for making empty comments and stupid/low-effort jokes
                                                                    • …for insulting and making ad-hominem attacks against other members

                                                                    Those are all things that have caused other communities to go to the dogs. HN, Reddit, Youtube comments–all are better places to get that information. News and product marketing tend to clog aggregators and disrupt things, and political stuff leads to unmoderatable echochambers.

                                                                    Moderation

                                                                    So, with that in mind, where does that leave moderation?

                                                                    I think the old system worked pretty well. We could possibly do with another moderator–I don’t know what their perceived workload is right now.

                                                                    We do need to, as a community, take responsibility for aggressively flagging content that doesn’t match Lobsters. We need to take responsibility for tolerating posts that we disagree with but that are civil and reasoned.

                                                                    And we need to make sure to downvote posts that aren’t good and explain why they are not good or ask for clarification. Even @Zuu’s hilariously silly “feminazi” ranting could’ve been avoided had they taken up the opportunity to calmly and civilly explain why they had a problem–but since they couldn’t, downvotes let us fix it.

                                                                    What we don’t need is mindless feelgood upvoting. Maybe upvoting should require an explanation too?

                                                                    1. 30

                                                                      I have mixed feelings on this.

                                                                      On the one hand, I really do like the idea of having a good site for technical + scientific topics that focuses on deeper and more interesting discussion. Issues of politics and inequality matter, but they end up causing two problems. The first is that on a personal level I’d rather this site be a place to go and hide from those things, rather than be constantly reminded of them (I get enough reminders in my own personal life…). And secondly, they tend to attract that certain type of tech bro who is extremely eager to argue about those topics and, to put it rather bluntly, shit up the entire site in the process. You can see this effect where certain political threads end up with a far higher comment-to-upvote ratio than anything else on the site.

                                                                      I’ve always wanted a more “pure”, low-level, in-depth tech site, but inevitably, like you worry about, they’ve gotten ruined by political types and low quality posters (remember Slashdot?). We should probably try to avoid making Lobsters a site that seems attractive to people who are “looking for an argument”.

                                                                      On the other hand, it’s tricky because everything has politics in it. Everything we do affects other people, and affects society. Where do you draw the line? Do other people agree with you on where that line is? And so forth. Is it possible to reasonably come up with a line at all?

                                                                      And perhaps as engineers shying away from the social consequences of our technical choices isn’t always the best idea.

                                                                      1. 14

                                                                        I’ve always wanted a more “pure”, low-level, in-depth tech site

                                                                        That’s something I’ve trying to find for a long time. A site without the derisive “why,” no billion dollar startup valuations, just people enthusiastic about the things they’re building/learning/exploring/doing.

                                                                        1. 2

                                                                          I really do like the idea of having a good site for technical + scientific topics that focuses on deeper and more interesting discussion. Issues of politics and inequality matter, but they end up causing two problems. The first is that on a personal level I’d rather this site be a place to go and hide from those things

                                                                          I agree. It’s a site distinguished by the quality of technical submissions and commentary. It’s better to keep political threads off of here. Sites that do that are like a breath of fresh air to someone just wanting tech instead of political nonsense.

                                                                        2. 9

                                                                          I mostly agree, except that the effects of technology on society are interesting to me, and such topics will always touch on politics. So i do think those kinds of articles have their place here.

                                                                          1. 6

                                                                            I love all of this, and agree wholeheartedly. I don’t come to Lobsters to hear about new apps or businesses, or to hear about tech news. I can get all of that elsewhere. I come to Lobsters for deep and thoughtful technical discussions on things both inside and way-outside my area of expertise.

                                                                            1. 5

                                                                              What we don’t need is mindless feelgood upvoting. Maybe upvoting should require an explanation too?

                                                                              I rarely comment on meta posts, but here goes a crazy idea:

                                                                              I think we should just get rid of “votes” altogether (I can see you enraging already, but stay with me), because they are badly defined. An upvote on a joke comment might mean “funny”. Or maybe someone took it seriously(!). An upvote on a thoughtful comment might mean “I agree”. Or maybe “I disagree but your comment is thoughtful and helps discussion” or something. Nobody really knows. Worse for downvotes.

                                                                              I propose we replace them with Github style “emotions” instead. They inherently carry meaning. I know this will be seen quite controversially, and you might have started typing “why add ugly orange lightbulbs to Lobsters' clean UI”, but I don’t mean we should copy the same funky UI as is. We just need a way to let people express their state of mind after reading a comment without writing it out as a reply, since we want to reserve comment area for material discussion and not “omg I completely agree!”.

                                                                              1. 2

                                                                                That’s an interesting point. I was initially skeptical of it when I saw Facebook do it. I reserved judgment to watch it play out. The results were quite like you said: many BS comments shifted to emotional reactions that I could ignore or observe for curiosity of impact of the post on diverse audience. There were still nonsense comments. They just seemed lower in number. Facebook should run one of their mass studies on the comment data before and after that to give us an idea of what the technique achieves.

                                                                              2. 4

                                                                                I heartily agree too. Also, I’ve noticed over the months that really highly voted submissions tend to be product or social/political topics. Submissions with ~7-10 votes tend to more closely adhere to these guidelines.

                                                                                1. 3

                                                                                  What we don’t need is mindless feelgood upvoting. Maybe upvoting should require an explanation too?

                                                                                  I like the idea of upvotes for stories and comments requiring an explanation. That would balance out the downvoting system. There might be a slight decrease in the number of upvotes because of the extra step, but those that do make it through the filter will be more considered.

                                                                                  1. 3

                                                                                    …for posting political or politically-minded articles

                                                                                    It is impossible to isolate technology from society in any historical context, especially today, given the current explosive rate of technological progress. We’re heading in a jobless future, most likely run by machines which we’ll have to program to make political decisions for us.

                                                                                    …for posting things whose value derives from outrage (read: most stories of unfairness or inequality)

                                                                                    Again, technology can create these issues in a much more aggressive rate and people have already started to notice. Unfairness and inequality is not subjects to be taken lightly. I don’t think any of us or our children would appreciate technology being faceless (and most probably dystopian).

                                                                                    1. 2

                                                                                      What we don’t need is mindless feelgood upvoting. Maybe upvoting should require an explanation too?

                                                                                      I’m up for discussing that, too. Winding down tonight but I favor constructive comments over votes. Much less to intuit that way along with greater contribution.

                                                                                      1. 2

                                                                                        IMHO, it’s the nature of the internet’s million monkeys (no offense to anyone here) that sends communities to the dogs. HN was an awesome place at the beginning, so was reddit. Before checking lobste.rs daily when I quit HN because it was full of samples from the IS NOT list above, and useless opinions by the mass, I went back to slashdot that also had it’s eternal september, around 2000. Time is of the essence. Time is the essence. I’d suggest expensive voting (say you have to add a comment?), as well as length-based penalties (on the value of upvotes?) for a given comment past a certain length. This is not the place for long form. (Personally, I have little time for long form in my life, it has to be of the enlightening and positive category)

                                                                                        Ce qui se conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. Cheers. Lets keep productive, and keep together, balancing both in the daily timeline? :-)

                                                                                      1. 4

                                                                                        Self-plug:

                                                                                        A simple proof of concept chrome extension which skips the standard copy route itself to avoid this: https://github.com/awalGarg/realcopy

                                                                                        Note: User rain1 from chat suggested testing it on https://thejh.net/misc/website-terminal-copy-paste where it didn’t work. That site uses CSS to hide the actual selected text instead. The extension above however shows what you copied so it might still work for you anyways.

                                                                                        Edit: Also note that it puts the copied text in a textarea (separate from webpage context) so you can edit something if you like. Now I am actually thinking of using it, but needs an FF port :P

                                                                                        1. 10

                                                                                          Considering a project (and possibly looking for collaborators):

                                                                                          I use stagit1 for personal project hosting (and github as social media but that’s irrelevant to this). I find stagit to be simple and minimal. Does the job. Does one thing and does it well. But I miss issues and PRs. Allowing collaboration from other people is pretty much impossible (asked people to format-patch, anyone?). So I am thinking of creating a “bundle” project which uses stagit and some mailing list software that allows anyone with his own vps and an ip/domain to quickly setup a github like personal project host with patches and discussion over emails with a public mailing list. So people won’t have to “register” to everyone’s site for contributing or opening an issue (which is mostly what keeps people from moving out of github or any other centralized service). They’d just use emails. If we can keep things consistent enough, it could offer the consistency of Github (or other hosts) while getting the decentralization of git back. Add some light css (see http://bettermotherfuckingwebsite.com/) and people wouldn’t find it dull or boring either.

                                                                                          Thoughts? Anyone feels like collaborating? Am I missing something crucial?

                                                                                          Edit: Just realized that this thread might be more about already accomplished/started things and not made up ideas. Apologies if this is offtopic for the thread.

                                                                                          1. 4

                                                                                            don’t hesitate to … ask for help, advice or other guidance

                                                                                            Almost definitely not off topic :-)

                                                                                            1. 4

                                                                                              It really looks like you’re describing Phabricator here (code reviews, issues, discussions, git hosting, simple design, simple hosting…), you should check that too.

                                                                                              1. 2

                                                                                                +1 phabricator. used it at my old job.

                                                                                              2. 3

                                                                                                I’m busy with exams right now, but this is something I’d be interested in following & possibly contributing to in the future :)

                                                                                                1. 2

                                                                                                  But I miss issues and PRs

                                                                                                  Google has a project where they abuse git-notes as a code review tool. Maybe something similar can be done for issues?

                                                                                                  Or maybe we should all just realise that what we really should be using is fossil-scm.

                                                                                                  1. 1

                                                                                                    That is really clever. It seems like making a new GitHub repo for it will be a necessary evil though ;)

                                                                                                    1. 3

                                                                                                      Thanks. It is maybe clever eyesight, not a clever idea in itself because git was meant to be used that way only.

                                                                                                      Why would this require a GitHub repo?

                                                                                                      1. 1

                                                                                                        I feel like that would be a better place than Lobsters to pool ideas and find out who wants to participate.

                                                                                                    2. 1

                                                                                                      This looks like something I’d find pretty useful for https://eigenstate.org and https://myrlang.org.

                                                                                                      At the moment, I mirror my code on github, and use their bugs/issues.

                                                                                                      1. 1

                                                                                                        Definitely interested in this. Got a repo for it yet?

                                                                                                      1. 5

                                                                                                        This is fun, well done!

                                                                                                        FYI, tested on Chrome 52, works well when I open devtools and the text changes back properly when I close devtools.

                                                                                                        1. 4

                                                                                                          This is fun, well done!

                                                                                                          s/fun/scary, but sure ;-)

                                                                                                          This reminds me quite a bit of the recent story about detecting curl foo | bash at the server and changing the script output accordingly.

                                                                                                          I think this is a very bad type of attack that seems to be gaining traction and will change how we think about security.

                                                                                                          1. 3

                                                                                                            Yeah, the curlsh was fun as well. More fun than scary in my opinion.

                                                                                                            Timing attacks have been around for a few decades already and I don’t really think they are gaining traction. Perhaps are they getting more attention, but I see this is as a good thing.

                                                                                                            The case of curlsh is, just like here, a nice proof of concept. If it helps people understand the danger of curlsh, that’s good. If you don’t trust a server (and you probably shouldn’t trust a server), don’t curlsh. Download the script, review it, run it. If you do trust a server and this server detects you’re doing curlsh and uses this “exploit” to put you in trouble, then you shouldn’t have trusted this server. :)

                                                                                                            Loosely related is the nice warning Paypal displays in the JS console: https://www.paypal.com . I think these proofs of concept are mostly harmless, and mostly beneficial as they raise security awareness.

                                                                                                            1. 4

                                                                                                              whoa, I had no idea you could css format console text

                                                                                                              if(window.console || "console" in window) {
                                                                                                                console.log("%c WARNING!!!", "color:#FF8F1C; font-size:40px;");
                                                                                                                console.log("%c This browser fea[...]", "color:#003087; font-size:12px;");
                                                                                                                console.log("%c For more information, http://en.wikipedia.org/wiki/Self-XSS", "color:#003087; font-size:12px;");
                                                                                                              }
                                                                                                              
                                                                                                              1. 2

                                                                                                                I think that’s a chrome-specific extension. You might also want to take a look at console.table and a bunch of other nifty extensions.

                                                                                                                1. 4

                                                                                                                  It works in FF too! And anyways, the console is now a standardized1 API. Non-standard stuff will soon either be washed away, or be standardized.

                                                                                                                  1. 2

                                                                                                                    I was aware of console.table; %c, however, has a nice big red TODO: process %c in the living standard @awal posted below haha

                                                                                                              2. 2

                                                                                                                How is this a bad type of attack? What kind of compromise could happen from knowing the devtools are open?

                                                                                                                1. 6

                                                                                                                  It just adds to the client-side JS obfuscation toolkit. One could detect if devtools are opened and clear all dom and state to make it harder for end-user to check what is happening. Obviously, like all other obfuscation techniques this is also not fool-proof at all. It is not a break-through at all :)

                                                                                                                  1. 2

                                                                                                                    Gotcha, and yeah, agreed. :)

                                                                                                            1. 2

                                                                                                              (Wanted to add an abstract initially, but I was sort of asleep when I posted this. and too late now :))

                                                                                                              This is mostly an experiment. I intend it to be used as a portable arch environment to use at random PCs, or to help newbies to arch linux to get started. It is pretty opinionated for sure, but the profile and the makefile included in the repo allows you to customize it very easily (easier than archiso is by default). If something doesn’t work for you in the live environment, please do open an issue. Thanks!

                                                                                                              1. 2

                                                                                                                On Chrome on Mac, after I close the console the text does not change back.

                                                                                                                1. 2

                                                                                                                  Oh, thanks for the report. if only I had a mac to debug properly :(

                                                                                                                  I’d still see what could be wrong.