Threads for sac

  1. 4

    Find a guy that’s better than you. Watch what he commits. Send him code reviews. You might learn things like:

    Don’t just fix a problem. Try to make the problem impossible. If a function isn’t supposed to be passed NULL because it will crash, put the NULL check in the function so you can delete all the checks in the callers. If a data structure isn’t supposed to be inspected, put its declaration in a .c file, not in a .h file.

    Audit the source tree proactively. How does the thing you’re calling work? Jump into the function and see.

    Don’t write a lot of comments. A lot of comments that people write are bad.

    1. 1

      Jeff is a very good teacher of algorithms, and I highly recommend his writing. (I took his course many years ago.)

      1. 21

        I’ve already given my 2 cents on the matter in an older post, but I’d also like to add something else:

        Why would you expect people not to use downvotes as a convenient shorthand for “I disagree with this”? It’s much easier to click on a button than to form an argument or even just ignore something you don’t like. People are just like that.

        And seriously, the graying out is moronic, stop it. I will mention this every time the topic gets brought up.

        1. 28

          I know this might be controversial, but I’d be in favour of totally removing downvotes from lobsters. If you don’t think it’s helpful, don’t upvote it. The ‘best’ comments will still rise to the top, but the site won’t punish users with radical opinions.

          1. 71

            I’ve removed comment downvotes. Have fun!

            1. 22

              The absolute madman…he actually did it.

              1. 6

                Thanks for doing this! How would you feel to add now a “report” button for patently abusive comments?

                Anyway, I think we can at least experiment and see what happens for a couple of weeks. If things get out of hand we can always roll back, but hey, at least we tried!

                1. 5

                  I think it’s easy to find and message a mod in those cases (it has happened before even with downvoting).

                  I’m not against adding a formal “report” action but if it’s too easy to tap it anytime someone’s jimmies are rustled, we (the moderators) are going to have more stuff to wade through and investigate every time we just want to read the site like everyone else. The nice thing about comment downvoting is that the users did all the work and if the comment was bad enough, it was grayed out and collapsed, effectively doing the same thing a moderator would have to by removing it.

                  1. 5

                    I think it might be a good idea to handle comments like stories: have a “flag” button that is basically a downvote button, but has different connotations. Also show the flag reasons above the flagged comment for visibility (I also think this will promote discussion, I know it does with stories).

                    This way the community still has a channel to self-moderate without the tendency for abuse that the downvote button had.

                2. 5

                  This kind of democratic action, transparency, & good faith efforts in community and admins is why I like this site so much. The content, too, obviously. I cant wait to see what effect it has on the comment quality!

                  1. 8

                    I like what jcs did and it is transparent and in good faith, but how is it democratic?

                    1. 6

                      A member of the community wanted a change to the status quo. Many people weighed in. Most convincing arguments were in favor of eliminating downvotes. jcs eliminated downvotes.

                      Now, compare that to how most forums or admins handle a “change the site” thread. This thread’s results looks more democratic in comparison.

                      1. 1

                        If you don’t like it, vote with your feet and use Hacker News instead.

                        1. 9

                          But…. that’s still not democracy.

                          (I’m not saying it’s bad that lobsters isn’t a democracy, I’m just saying it isn’t.)

                          1. 3

                            As Transmetropolitan points out, democracy can be overrated.

                    2. 5

                      Next we need to consider removing comment upvotes. Otherwise there’s potentially too much positive encouragement for short bite-sized comments that lack substenance and don’t really contribute to the discussion but which happen to have “popular appeal” for other reasons.

                      Anyway it’s nice to watch how this plays out. Downvotes can be quite frustrating.

                      1. 3

                        Why “other reasons” for popular appeal shouldn’t deserve upvoting?

                        1. 8

                          Because we probably don’t want to see the comment section full of bite sized chunks that lack substenance and don’t contribute to a discussion. Yet people love such things. At least sites with mainstream appeal are rampant with such comments. Repeating memes, calling for hillary/trump/putin/obama to be shot, making fun of $bigcorp, bashing people’s software choices, etc. etc.

                          There’s so much crap (even on-topic) one could post and there’s probably always an audience that agrees and will upvote just because they agree or find it funny or whatever. Downvotes are essentially community moderation that in my view has done a great job keeping such bull to a minimum on HN and here (not so much on reddit, I wonder why?). If downvotes were only used for this purpose, I don’t think anyone would object. The problem is when they are used to suppress, discourage and frustrate perfectly legitimate posters.

                          1. 7

                            Agreed. The front page right now contains at least a few posts that have comments that I’d normally down-vote. Some of those comments have even bubbled to the top, despite the fact that they are silly content free quips that I expect to see at the top of a reddit post, but not here.

                            1. 2

                              Well put, thank you!

                        2. 2

                          Perfection is achieved not when … etc …

                          1. 2

                            upvoted this :)

                            1. 2

                              maybe in their place you can add some thread coloring to note that certain problematic people are participating in the discussion? I’m sure the list for everyone is different, but I’d love some warning before even looking at a thread where $USER is arguing in bad faith using discredited arguments because they’re a callow and thoughtless young person.

                              1. 2

                                Yeah but eventually callow young people become grumbly old people and your filters will be all wrong.

                              2. 2

                                thanks!

                              3. 9

                                I like the way it’s handled for posts; there’s an upvote, and there’s a flag button. Flags are essentially downvotes, but because they’re treated differently they don’t “feel” like downvotes. I don’t think people are flagging article submissions that they disagree with.

                                1. 7

                                  My suggestion is that downvotes should be accompanied by a reason, and then “downvote” can be “upvoted” to show agreement. I don’t have the knowledge/time/energy to implement this and offer a PR, unfortunately. I do try to offer a reason I’m downvoting a post, unless it’s a troll.

                                  1. 3

                                    I like seeing the degree to which my opinion is unpopular.

                                    1. 1

                                      people can be helpful but how do you upvote your goodness when you upvote a good post?

                                    2. 11

                                      Right now if I click on a downvote arrow, I need to specify the reason. Thus, if the reason is not listed, that means the comment shouldn’t be downvoted.

                                      The current options are:

                                      • Off topic
                                      • Incorrect (to which I wouldn’t personally downvote, but rather reply with the “correct” answer)
                                      • Me-too
                                      • Troll
                                      • Spam

                                      Some communities solve this problem by eliminating completely the downvote and replacing it with a “report” button, which has different connotations.

                                      If we’re going to stick with up & downvotes, there’s little we can do. Sites like Slashdot have been experimenting with alternative methods to control moderation quality, and I think there is no perfect system.

                                      However, and this is 100% my personal opinion, my favorite method is the upvote + report button. I don’t mind “dumb” or “incorrect” comments sitting with 1 point at the bottom of the page. We all can be mistaken sometimes or write a comment which is just too snarky or misinterpretable, and receiving a downvote for them is infuriating and solves nothing.

                                      Edit: I replied to you instead of OP by mistake, however I think the discussion is still relevant

                                      1. 6

                                        It’s much easier to click on a button than to form an argument or even just ignore something you don’t like. People are just like that.

                                        Maybe we need a separate “Disagree” button to satisfy that basic human instinct.

                                        1. 7

                                          I’d love if the disagree button grayed out the post for the local user but did nothing on the backend.

                                      1. 10

                                        After 20 years of research, it seems we are still innovating on the worst blogging platform front.

                                        “thanks daddy”

                                        “I have a kickball game today”

                                        1. 6

                                          Twitter is the first time I noticed being generation-gapped in computing. Every time I dip back into it, I feel better about being old and out of touch.

                                          1. 7

                                            That’s how old people have always felt.

                                            1. 1

                                              Snapchat holds that title for me…

                                            2. 6

                                              This (1/n) thing enrages me. And I am a very easygoing kinda guy.

                                              Next up: blogging through Instagrammed pictures of post-it notes.

                                              1. 9

                                                You know that people actually do instagram images of text, right?

                                                1. 4

                                                  It doesn’t seem that weird to me; I treat it sorta like IRC. It’s very common on IRC that someone explains something over 10 IRC messages and then if someone else wants to see the explanation, you link them to a timestamp in the channel log. Yeah, it’d be better to write it up properly, but often they don’t get around to it. And at the time, it’s often more interesting to the commenter to make a series of comments into a discourse like IRC (or Twitter) where you have a built-in immediate audience and a kind of informal feel, instead of writing up an essay and posting it somewhere.

                                                  1. 3

                                                    IRC is at least a single stream that everyone’s looking at. This just seems like a sign saying “please choose any one sentence of my essay and make an out-of-context stream based on it, thanks!”. Why would I want to encourage people to branch off a separate conversation attached to a single 140-character snippet of something that’s going to take me 1400 characters to say? [edit: and get off my lawn!]

                                                    1. 3

                                                      As a heavy Twitter user, I do hear these objections frequently and they’re valid. The 140-character format has benefits for both writers and readers, although they aren’t things everybody wants nor are they suited to all types of communication. The context issue is not that big a deal once you get used to using threading properly, and remembering to check for context before responding to anything. I feel like being sure of context, in particular, is a good habit to be in for life in general and I appreciate that Twitter culture makes people explicitly aware of the need for it.

                                                    2. 2

                                                      Interesting comparison. Maybe because I use a browser and poll the site instead of using the TweetBlaster app, I don’t consider Twitter real time.

                                                    3. 2

                                                      Well at least it’s properly threaded nowadays.

                                                      Twitter was supposed to give the ability for “long-tweets” (first 140 chars shows up , but possibility to expand) in a tweet, but they haven’t released the feature yet. Will they ever?

                                                      1. 2

                                                        At least they link related tweets together in a chain now, letting you read through them. It was infuriating back when they didn’t.

                                                        1. 2

                                                          I’d bet more that couples were sending love notes to each other if Instagramming text.

                                                      1. 8

                                                        Stop speaking for me. You don’t represent me.

                                                        Just leave me alone. I don’t want you involved in my employment at all, in any form or manner.

                                                        If a petty tyrant such as this manages to get some power, we will all see very quickly a new kind of software portability.

                                                        1. 1

                                                          Is the author going to be as happy with this interview process when people who are hired based on being “open to learning, good at communicating, and people we’d like to work with every day” are fired after a few months because they’re not delivering?

                                                          1. 11

                                                            No one I’ve ever hired based on that criteria has been let go. They usually last longer than I do.

                                                          1. 5

                                                            Google has some ridiculous amount of code, say ten million lines.

                                                            I imagine it is difficult to wrap one’s brain around so much that is so complicated.

                                                            Does that mean that Google is stupid?

                                                            1. 3

                                                              I’m not sure what your point is. Everybody I know knows how to use google. Nobody complains (for serious) that googling is too hard.

                                                              1. 1

                                                                I meant the software behind Google.

                                                                The comic implies that Git is stupid because it is complex. If anything complex is stupid, then that means stupid includes things like Google, databases, and operating system kernels (especially any that are security-conscious).

                                                            1. 8

                                                              I’m glad he used Comic Sans. People who are smart will know to pay attention.

                                                              1. 3

                                                                Is that a project-wide thing now? I remember seeing it “militarized” when they were doing the SSH overhaul.

                                                                1. 2

                                                                  I think you mean SSL, but yes, it’s clearly a running joke now.

                                                              1. 3

                                                                Commenting data structures is more important than the code. If you have good function names and halfway decent variable names, most code should generally be pretty readable.

                                                                One thing people never talk about is the fact that comments go stale and can be wrong. Every comment you add is something that can go stale, and then it will be a negative, not a positive. So your comment may be good now, but you should think about how likely it is to stay good into the future.

                                                                1. 1

                                                                  Commenting data structures is more important than the code.

                                                                  Yes! I also agree with Rob Pike that “data dominates” (sic) the design.

                                                                  When I write a new module, I usually put a long comment explaining the high-level design at the top of the file. More often than not, it tends to document data structures. Although there’s

                                                                  the fact that comments go stale and can be wrong.

                                                                1. 29

                                                                  I don’t want a networking device made by a company whose main revenue stream comes from tracking and advertising.

                                                                  1. 4

                                                                    TP-Link isn’t the best company either, I’m kinda surprised Google didn’t go with Asus right off the bat, seeing as they are already doing quite a bit of devices together already.

                                                                  1. 1

                                                                    The problem with Reddit et al. is obviously the centralisation, yet everyone seems to repeat the problem over and over and over. A place will start to suck, people will leave, and they move to a new centralised site. (And amazingly part of the recent beef with Reddit is that the moderators want Reddit to implement a Reddit-specific e-mail system.)

                                                                    I’ve been wondering if everything could be decentralised. Store articles locally like Usenet, distributing them through a Bittorrent-like swarm. That’s all solved. But how to deal with identities and spam? Maybe each user could do his own scoring, built on a web of trust. He could manually find a few people he likes and then score based on who those people like, etc.

                                                                    Thus there’s no namespace collision problem. If two rival groups both want to claim a newsgroup name such as “unicorns,” each could score the other down and would only see its own content.

                                                                    1. 8

                                                                      You should use C if you’re writing an OS or system software.

                                                                      If you’re asking the question, you probably aren’t. So use whatever language you want.

                                                                      1. 6

                                                                        Depends on what you mean by system software. Languages like Ocaml are pretty capable of replacing C for a good chunk of systems problems.

                                                                        1. 4

                                                                          And Rust, too! :-)

                                                                      1. 4

                                                                        Interesting paper.

                                                                        But it won’t stop people on HN and elsewhere from complaining about how stupid it is to write operating systems in C.

                                                                        1. 22

                                                                          To be fair, your description of the consequences is subtext, not what they actually announced. :)

                                                                          I’ve listened to a lot of people’s war stories on community building. Like probably everyone here on Lobsters, I’ve also participated in a lot of online communities. One of the first choices to make in trying to affect the atmosphere of a new place is how much should be stated formally, vs. how much should be left to everyone’s presumed good will.

                                                                          Too many rules become, like driving laws, usable against anyone at any time because nobody is ever fully in compliance; I would describe Reddit and Hacker News as being in this category, full of in-fighting by people treating the rules as a tool they can use to improve their personal influence.

                                                                          Too few guidelines and people get away with anything, and when they do get noticed it’s hard to enforce anything on the grounds that everyone else is doing it too.

                                                                          Ultimately, a community must be composed of people who actually want to interact with each other, and moderators must mean what they say, be willing to enforce it, and pay enough attention to actually have it happen. I generally argue in favor of less being written down, because when those things are true, no amount of writing is going to provide any further benefit.

                                                                          (I do advocate codes of conduct with regard to harassment of the types usually motivated by sexism and other forms of prejudice; but once a venue is launched it’s quite infeasible to get agreement on those as the audience already includes people on opposing sides.)

                                                                          I don’t think HN’s move has any meaning for Lobsters whatsoever. As sac pointed out, HN did not manage to say this in a way that is clear and easy to apply; it’s just the latest addition to the HN motor vehicle code, which is already immense. The membership over there appears to like this sort of thing, and that is their choice and their privilege.

                                                                          It’s also not a rule that, even if written more precisely, would be a good thing. Negative feedback is expressing a real sentiment, not the same thing as a consistent pattern of provocation. And the latter already gets treated harshly here; I was extremely impressed by the civility of almost every participant in one of the discrimination threads about a month ago.

                                                                          Lobsters doesn’t need anything like this. :)

                                                                          1. 19

                                                                            Lobsters doesn’t need anything like this. :)

                                                                            In my experience, many small communities rarely need such rules stated explicitly. I’m not sure what it is exactly, but when a community gets beyond some magical size, it ceases to be a group of people and becomes a sort-of-mob. When it’s just a group of people, it seems we can see and treat each other as humans—and that’s usually good enough to maintain civility.

                                                                            Anecdotally and not universally, one can tend to see this phenomenon on reddit. Many (including myself) will tell you that there’s plenty of good left in reddit, but most of it is found in the smaller subreddits. The larger subreddits seem to have little left to offer in the way of “community.”

                                                                            As sac pointed out, HN did not manage to say this in a way that is clear and easy to apply; it’s just the latest addition to the HN motor vehicle code, which is already immense.

                                                                            I suspect the imprecision was intentional. (And I don’t think that’s altogether a bad idea either.)

                                                                            I’m not trying to defend HN—they certainly have their problems like any community—but HN is much much bigger than, say, Lobsters, so I’d be careful before drawing any meaningful comparisons.

                                                                            1. 5

                                                                              Agreed. When a medium gets large enough, it begins to encourage broadcasting instead of discourse, and being heard becomes a matter of relative popularity. It’s a problem when the medium is intended for discourse. :-\

                                                                              1. 2

                                                                                These are fair points. I could have made it clearer, but I do feel different answers work for different places. I was mostly expressing my preference for places I want to be. ☺

                                                                              2. 3

                                                                                In my experience, many small communities rarely need such rules stated explicitly. I’m not sure what it is exactly, but when a community gets beyond some magical size, it ceases to be a group of people and becomes a sort-of-mob. When it’s just a group of people, it seems we can see and treat each other as humans—and that’s usually good enough to maintain civility.

                                                                                I do a fair share of community building and I’d say: It depends on what your aim is. Small groups tend to self-moderate better, I agree. They are often very focused and it’s pretty easy to keep in the back of your head how a certain person speaks and reacts. But that’s on the inside. If you want to grow a community, writing down your goals and intentions and the way you expect things to work can be quite powerful, even at an early stage. This is an incredibly good way for outward facing communication. And this is also where community driven moderation breaks down: you need to put a face on those rules for them to help reaching out. Moderators are also ambassadors.

                                                                                I’m not trying to defend HN—they certainly have their problems like any community—but HN is much much bigger than, say, Lobsters, so I’d be careful before drawing any meaningful comparisons.

                                                                                HN has crossed the line where moderating everything as it happens is possible. I moderated a bunch of bulleting boards and there is a certain boundary: before, discussions tend to be slow, so if you moderate a discussion with a lag of 2 hours, people are still find with it. At a certain critical point, the board life gets faster and you need to have a moderation team around most of the time. HN is way beyond this point.

                                                                                1. 1

                                                                                  That’s all well said, and I don’t think we’re in disagreement. :)

                                                                                2. 2

                                                                                  I think this effect happens because communities need shared values, but over time, as you add random people, you lose that set of shared values.

                                                                                  You can have big communities, they just need to be communities.

                                                                                3. 7

                                                                                  They should absolutely do whatever they want.

                                                                                  I’m going to stay away; my comments are too short.

                                                                                  1. 2

                                                                                    Haha, fair :)

                                                                                1. 11

                                                                                  We suck at webpages too.

                                                                                  1. 5

                                                                                    Whenever I see an OpenBSD web page in Comic Sans, I know to pay attention.

                                                                                  1. 16

                                                                                    I made the mistake of reading the Hacker News comments on this story:

                                                                                    I’m amazed we still use configuration files like that. Why not have some capable programming language (python, javascript) handle the configuration?

                                                                                    1. 4

                                                                                      ಠ_ಠ

                                                                                      1. 4

                                                                                        Depending on how well that user knows OpenBSD, this question may in fact be a good one:

                                                                                        1. Why use a yet another different text format for configuration instead of JSON/XML/YAML/TOML? OpenBSD tools such as pf, OpenSMTPd and the new httpd (others? I’m not familiar enough) actually share the same syntax, so learn one, be comfortable in the others.

                                                                                        2. Why use a configuration language instead of a programming language? Though Turing-complete languages have proven themselves useful in the configuration of many applications (e.g. Emacs, Xmonad), they can be sometimes overwhelming for non-programmer users and a simpler language actually is a feature.

                                                                                        1. 4

                                                                                          Not really a reply, but I’d like to add to that:

                                                                                          JSON and XML are bad configuration languages. The other two have issues.

                                                                                          a) Comments are inconvenient (XML) or not possible (JSON)

                                                                                          b) Both make the “adding a line” hard - JSON because of its hash syntax that requires “,” after every line except the last, making “growing the config” hard. XML because of its general verbosity.

                                                                                          c) Generic data formats as they are, they often don’t check for options that are not valid, encouraging misconfiguration through typos. (XML as it should be used being an exception)

                                                                                          I like YAML, because it has references, but there are also surprising parts in that language. Also, I find checking of validity hard. Also, there are at least two styles for everything ;). I see why people don’t like it.

                                                                                          I don’t like TOML that much - it has many of the issues mentioned in c) and some of the “there are two ways of writing things”. Also, I have no mental mapping between what I wrote in TOML and the actual configuration key in the software in the end.

                                                                                          1. 1

                                                                                            Both make the “adding a line” hard - … XML because of its general verbosity.

                                                                                            I don’t see why verbosity makes adding a line hard. I think xml is a great choice. It can be easily validated on any platform with xsd, and re-rendered if desired with a number of techniques.

                                                                                            1. 1

                                                                                              json doesn’t support comma after the last element?

                                                                                              1. 1

                                                                                                No, because older Javascript interpreters don’t support/ignore them, which is why you get this wonky-ass comma-first style that became popular with the node.js crowd.

                                                                                          2. 2

                                                                                            Like Scons, which substitutes Makefiles for python code? It’s an utter disaster of undocumented time suck.

                                                                                            1. 1

                                                                                              Well, I see the point, but once you start building Makefiles using autotools, you are in a mess of undocument time suck in M4.

                                                                                          1. 5

                                                                                            This is not a style of discourse to encourage in our community. The HN mods flagkilled it. I’m disappointed the mods here and on reddit Programming didn’t also.

                                                                                            1. 14

                                                                                              I don’t care for the tone of the post, but I am pleased with the tone of discussion in this thread. One of the reasons I enjoy Lobsters is for the communities ability to discuss hard topics like adults. But I think, and you will probably agree, that we don’t want to get too mired in this kind of post, least it bring the whole of the community down.

                                                                                              1. 1

                                                                                                I agree!

                                                                                              2. 9

                                                                                                Some people come here to escape HN’s brutal moderation.

                                                                                                1. 7

                                                                                                  I was one of two people that hid it. There have been 25 upvotes, and only four people that flagged it. As a moderator, it seems to be the style of discourse that people have decided is worthwhile (though I disagree, and hid it based solely on the title).

                                                                                                  1. 2

                                                                                                    I thought about flagging it but didn’t really think that the flags fit. I forgot you could even hide it, or I would have.

                                                                                                    1. 1

                                                                                                      Thanks for the explanation. Supermighty’s reply below is good too.

                                                                                                    2. 1

                                                                                                      I’m glad that the censors here appreciate freedom more than others. If I really can’t handle sarcasm in technical articles, I will have to put on pink glasses myself instead of relying on others to paint the world pink for me. And I’m OK with that.

                                                                                                    1. -8

                                                                                                      Go is a language designed for PhDs with bad coding skills who work at Google on systems software.

                                                                                                      1. 3

                                                                                                        I’ve found a couple of good papers via lobste.rs, so I thought I’d share a paper I chose for a reading group in case others are interested.

                                                                                                        1. 4

                                                                                                          Agreed. Good papers seem to surface on lobste.rs from time to time and this is a great submission. Keep it up!