Hacker Newsnew | past | comments | ask | show | jobs | submit | grzm's favoriteslogin

If you guys want to go down an unusually interesting rabbit hole, the book Open-Focus Brain by Les Fehmi and (especially) the associated audio exercises, are all about this.

The exercises are something like guided meditations, but unique in my experience, and I never do exercises like that. It's a pity that his work isn't better known*. He died a couple years ago.

* Edit: although HN does not disappoint!

https://news.ycombinator.com/item?id=12712532 (Oct 2016)

https://news.ycombinator.com/item?id=8721704 (Dec 2014)

https://news.ycombinator.com/item?id=8718142 (Dec 2014)


It's a fair claim if you make it for Wolfram Research rather than Stephen Wolfram personally (which is all he ever does).

Jupyter notebooks were inspired by Mathematica notebooks: that's widely known and has been explicitly said in blog posts and elsewhere by the creators of Jupyter. It's no secret… And as the designer and developer of Mathematica notebooks I am flattered and honored that my ideas are now so widely used, even if it is in a product other than the one I wrote myself.

Time for a trip down memory lane. There were several notebook-adjacent products around at that time (1987) but none of them implemented notebooks as we know them today.

At the time I was using Xcode, which had a terminal-like interface that was a plain text document in which you could put all the shell commands you needed to build your app. This could include calls to the compiler, linker, or just any generic shell commands. To evaluate a given command (which could be one or more lines long) you had to manually select the exact range of text you wanted to run, which was kind of irritating. Any output would be placed directly below the input line. Because the document was pure plain text, it had no way of knowing what was input and what was output, or distinguish new output from old. So all the outputs accumulated, and you had to manually select and delete them periodically. It was an improvement over a glass teletype terminal interface, but I thought I could do better for Mathematica (code name Omega at the time).

The solution I came up with was to create a text document that was annotated with “zones” delimited by vertical bars along the right side of the screen (where cell brackets are now). Initially I used different black and white texture patterns on 4 or 5 pixel wide vertical bars. One texture for input and another texture for output.

This immediately gave two huge advantages: first, you didn’t have to manually select the range of a multi-line input. Just putting the cursor anywhere within an input zone and evaluating would evaluate the whole input. Second, because the system was keeping track of what was output, old output could be deleted automatically and replaced with new output.

Initially I called these things zones, but Steve Jobs suggested I use large close-square-bracket symbols instead of patterned bars, and think of them more like cells in a spreadsheet than like zones in a text document. Once you have brackets instead of bars, it’s immediately obvious that you could have larger brackets that encompass two or more cells. So I created cell groups, initially just to group input/output pairs, but of course it’s not a big leap to also have sections and subsections, then different cell types, styles, graphics cells, etc.

These key defining features of notebooks did not exist in any other system at the time, and to the best of my knowledge were not independently developed by other people. All the current notebook systems that share these broad features, definitely including Jupyter notebooks, derive from the original Mathematica notebooks I developed in 1987-8. (There are other styles of user interface, including some used by Maple and Matlab around the same time, that are called notebooks, but they did not share the key features I’ve described. They were and are fine products that I’m sure have both advantages and disadvantages compared to our Notebooks, but unlike our Notebooks, they are not the precursors of Jupyter.)

So can Stephen Wolfram personally claim to have invented notebooks? No, and he doesn’t: he claims that Wolfram Research did, which is true, since I was one of the co-founders of that company, and I invented that form of notebook.

Theodore


Speaking of YP (which I always thought sounded like a brand of moist baby poop towelettes), BSD, wildcard groups, SunRPC, and Sun's ingenuous networking and security and remote procedure call infrastructure, who remembers Jordan Hubbard's infamous rwall incident on March 31, 1987?

https://news.ycombinator.com/item?id=25156006

https://en.wikipedia.org/wiki/Jordan_Hubbard#rwall_incident

>rwall incident

>On March 31, 1987 Hubbard executed an rwall command expecting it to send a message to every machine on the network at University of California, Berkeley, where he headed the Distributed Unix Group. The command instead began broadcasting Hubbard's message to every machine on the internet and was stopped after Hubbard realised the message was being broadcast remotely after he received complaints from people at Purdue University and University of Texas. Even though the command was terminated, it resulted in Hubbard receiving 743 messages and complaints, including one from the Inspector General of ARPAnet.

I was logged in on my Sun workstation "tumtum" when it happened, so I received his rwall too, and immediately sent him a humorous email with the subject of "flame flame flame" which I've lost in the intervening 35 years, but I still have a copy of his quick reply:

    From: Jordan K. Hubbard <jkh%violet.Berkeley.EDU@berkeley.edu>
    Date: Tue, Mar 31, 1987, 11:02 PM
    To: Don Hopkins <don@tumtum.cs.umd.edu>
    Subject: re: flame flame flame

    Thanks, you were nicer than most.. Here's the stock letter I've been
    sending back to people:

    Thank you, thank you..

    Now if I can only figure out why a lowly machine in a basement somewhere
    can send broadcast messages to the entire world. Doesn't seem *right*
    somehow.

                                        Yours for an annoying network.

                                        Jordan

    P.S. I was actually experimenting to see exactly now bad a crock RPC was.
    I'm beginning to get an idea. I look forward to your flame.

                                                Jordan
Here's the explanation he sent to hackers_guild, and some replies from old net boys like Milo Medin (who said the program manager of the Arpanet in the Information Science and Technology Office of DARPA Dennis G. Perry said they would kick UCB off the Arpanet if it ever happened again), Mark Crispin (who presciently proposed cash rewards for discovering and disclosing security bugs), and Dennis G. Perry himself:

    From: Jordan K. Hubbard <jkh%violet.Berkeley.EDU@berkeley.edu>
    Date: April 2, 1987
    Subject: My Broadcast

    By now, many of you have heard of (or seen) the broadcast message I sent to
    the net two days ago. I have since received 743 messages and have
    replied to every one (either with a form letter, or more personally
    when questions were asked). The intention behind this effort was to
    show that I wasn't interested in doing what I did maliciously or in
    hiding out afterwards and avoiding the repercussions. One of the
    people who received my message was Dennis Perry, the Inspector General
    of the ARPAnet (in the Pentagon), and he wasn't exactly pleased.
    (I hear his Interleaf windows got scribbled on)

    So now everyone is asking: "Who is this Jordan Hubbard, and why is he on my
    screen??"

    I will attempt to explain.

    I head a small group here at Berkeley called the "Distributed Unix Group".
    What that essentially means is that I come up with Unix distribution software
    for workstations on campus. Part of this job entails seeing where some of
    the novice administrators we're creating will hang themselves, and hopefully
    prevent them from doing so. Yesterday, I finally got around to looking
    at the "broadcast" group in /etc/netgroup which was set to "(,,)". It
    was obvious that this was set up for rwall to use, so I read the documentation
    on "netgroup" and "rwall". A section of the netgroup man page said:

      ...
         Any of three fields can be empty, in which case it signifies
         a wild card.  Thus
                    universal (,,)
         defines a group to which everyone belongs.  Field names that ...
      ...

    Now "everyone" here is pretty ambiguous. Reading a bit further down, one
    sees discussion on yellow-pages domains and might be led to believe that
    "everyone" was everyone in your domain. I know that rwall uses point-to-point
    RPC connections, so I didn't feel that this was what they meant, just that
    it seemed to be the implication.

    Reading the rwall man page turned up nothing about "broadcasts". It doesn't
    even specify the communications method used. One might infer that rwall
    did indeed use actual broadcast packets.

    Failing to find anything that might suggest that rwall would do anything
    nasty beyond the bounds of the current domain (or at least up to the IMP),
    I tried it. I knew that rwall takes awhile to do its stuff, so I left
    it running and went back to my office. I assumed that anyone who got my
    message would let me know.. Boy, was I right about that!

    After the first few mail messages arrived from Purdue and Utexas, I begin
    to understand what was really going on and killed the rwall. I mean, how
    often do you expect to run something on your machine and have people
    from Wisconsin start getting the results of it on their screens?

    All of this has raised some interesting points and problems.

    1. Rwall will walk through your entire hosts file and blare at anyone
       and everyone if you use the (,,) wildcard group. Whether this is a bug
       or a feature, I don't know.

    2. Since rwall is an RPC service, and RPC doesn't seem to give a damn
       who you are as long as you're root (which is trivial to be, on a work-
       station), I have to wonder what other RPC services are open holes. We've
       managed to do some interesting, unauthorized, things with the YP service
       here at Berkeley, I wonder what the implications of this are.

    3. Having a group called "broadcast" in your netgroup file (which is how
       it comes from sun) is just begging for some novice admin (or operator
       with root) to use it in the mistaken belief that he/she is getting to
       all the users. I am really surprised (as are many others) that this has
       taken this long to happen.

    4. Killing rwall is not going to solve the problem. Any fool can write
       rwall, and just about any fool can get root priviledge on a Sun workstation.
       It seems that the place to fix the problem is on the receiving ends. The
       only other alternative would be to tighten up all the IMP gateways to
       forward packets only from "trusted" hosts. I don't like that at all,
       from a standpoint of reduced convenience and productivity. Also, since
       many places are adding hosts at a phenominal rate (ourselves especially),
       it would be hard to keep such a database up to date. Many perfectly well-
       behaved people would suffer for the potential sins of a few.

    I certainly don't intend to do this again, but I'm very curious as to
    what will happen as a result. A lot of people got wall'd, and I would think
    that they would be annoyed that their machine would let someone from the
    opposite side of the continent do such a thing!

                             Jordan Hubbard
                             jkh@violet.berkeley.edu (ucbvax!jkh)
                             Computer Facilities & Communications.
                             U.C. Berkeley

    From: Milo S. Medin <medin@orion.arpa>
    Date: Apr 6, 1987, 5:06 AM

    Actually, Dennis Perry is the head of DARPA/IPTO, not a pencil pusher
    in the IG's office.  IPTO is the part of DARPA that deals with all
    CS issues (including funding for ARPANET, BSD, MACH, SDINET, etc...).
    Calling him part of the IG's office on the TCP/IP list probably didn't
    win you any favors.  Coincidentally I was at a meeting at the Pentagon
    last Thursday that Dennis was at, along with Mike Corrigan (the man
    at DoD/OSD responsible for all of DDN), and a couple other such types
    discussing Internet management issues, when your little incident
    came up.  Dennis was absolutely livid, and I recall him saying something
    about shutting off UCB's PSN ports if this happened again.  There were
    also reports about the DCA management types really putting on the heat
    about turning on Mailbridge filtering now and not after the buttergates
    are deployed.  I don't know if Mike St. Johns and company can hold them
    off much longer.  Sigh...  Mike Corrigan mentioned that this was the sort
    of thing that gets networks shut off.  You really pissed off the wrong
    people with this move! 

    Dennis also called up some VP at SUN and demanded this hole
    be patched in the next release.  People generally pay attention
    to such people.

                                            Milo

    From: Mark Crispin <MRC%PANDA@sumex-aim.stanford.edu>
    Date: Mon, Apr 6, 1987, 10:15 AM

    Dan -

         I'm afraid you (and I, and any of the other old-timers who
    care about security) are banging your head against a brick wall.
    The philsophy behind Unix largely seems quite reminiscent of the
    old ITS philsophy of "security through obscurity;" we must
    entrust our systems and data to a open-ended set of youthful
    hackers (the current term is "gurus") who have mastered the
    arcane knowledge.

         The problem is further exacerbated by the multitude of slimy
    vendors who sell Unix boxes without sources and without an
    efficient means of dealing with security problems as they
    develop.

         I don't see any relief, however.  There are a lot of
    politics involved here.  Some individuals would rather muzzle
    knowledge of Unix security problems and their fixes than see them
    fixed.  I feel it is *criminal* to have this attitude on the DDN,
    since our national security in wartime might ultimately depend
    upon it.  If there is such a breach, those individuals will be
    better off if the Russians win the war, because if not there will
    be a Court of Inquiry to answer...

         It may be necessary to take matters into our own hands, as
    you did once before.  I am seriously considering offering a cash
    reward for the first discoverer of a Unix security bug, provided
    that the bug is thoroughly documented (with both cause and fix).
    There would be a sliding cash scale based on how devastating the
    bug is and how many vendors' systems it affects.  My intention
    would be to propagate the knowledge as widely as possible with
    the express intension of getting these bugs FIXED everywhere.

         Knowledge is power, and it properly belongs in the hands of
    system administrators and system programmers.  It should NOT be
    the exclusive province of "gurus" who have a vested interest in
    keeping such details secret.

    -- Mark --

    PS: Crispin's definition of a "somewhat secure operating system":
    A "somewhat secure operating system" is one that, given an
    intelligent system management that does not commit a blunder that
    compromises security, would withstand an attack by one of its
    architects for at least an hour.

    Crispin's definition of a "moderately secure operating system": a
    "moderately secure operating system" is one that would withstand
    an attack by one of its architects for at least an hour even if
    the management of the system are total idiots who make every
    mistake in the book.
    -------

    From: Dennis G. Perry <PERRY@vax.darpa.mil>
    Date: Apr 6, 1987, 3:19 PM

    Jordan, you are right in your assumptions that people will get annoyed
    that what happened was allowed to happen.

    By the way, I am the program manager of the Arpanet in the Information
    Science and Technology Office of DARPA, located in Roslin (Arlington), not
    the Pentagon.

    I would like suggestions as to what you, or anyone else, think should be
    done to prevent such occurances in the furture.  There are many drastic
    choices one could make.  Is there a reasonable one?  Perhaps some one
    from Sun could volunteer what there action will be in light of this
    revelation.  I certainly hope that the community can come up with a good
    solution, because I know that when the problem gets solved from the top
    the solutions will reflect their concerns.

    Think about this situation and I think you will all agree that this is
    a serious problem that could cripple the Arpanet and anyother net that
    lets things like this happen without control.

    dennis
    -------
Also:

http://catless.ncl.ac.uk/Risks/4.73.html#subj10.1

https://everything2.com/title/Jordan+K.+Hubbard


(I appreciate the bit at the end!)

From my perspective these arguments are short-circuited by much simpler points, which is sort of the level at which I try to look at all this.

First, if the GP comment was shitty and/or trollish, then "pushing back" is exactly the wrong thing to do. That is known as feeding trolls, which of course is even more "the classic effect trolls aim for". This is in the site guidelines: "Don't feed egregious comments by replying; flag them instead." – a.k.a. please don't feed the trolls.

Second, if we're making arguments about whether a political-religious argument is more political than religious or more religious than political, we've already lost. All this is obvious flame fodder and to be avoided here—no? I don't believe that anyone on HN is eager to discuss Christian-priests-issuing-vaccine-exemptions for simple reasons of intellectual curiosity. But if they are, the burden is on them to disambiguate their intellectual interest from garden-variety flamebait.

Btw I'm not saying either of the GP commenters was being trollish or malicious - just that the expected value of such subthreads is negative (https://hn.algolia.com/?dateRange=all&page=0&prefix=true&sor...).


Learn it because you're curious about it. If you aren't curious about it, don't bother.

Some people learn it and it becomes important in their lives. I'm one of those. Others don't seem to get much out of it.

If you're someone who doesn't get much out of it, then you won't lose much if you don't learn it.

If, on the other hand, you're one of those that it can enrich, then you'll be missing out on a lot if you don't learn it.

There are a few ways that Lisp can be important.

One way is by being a small set of concepts with large ramifications. Alan Kay (the creator of Smalltalk) famously described it as "the Maxwell's Equations of software", meaning that the short page of pseudocode that defines Lisp also defines all of computation.

In case you want to know what short page he was talking about, it's a page from the Lisp 1.5 manual, which you can find here:

https://michaelnielsen.org/ddi/wp-content/uploads/2012/04/Li...

What Kay meant, as he has explained before, is that once you understand that page, you understand the foundations of computation, and can use them to build anything you need.

Realizing that all of computation is embodied in a small set of concepts that can be written down on less than one page and understood in a brief moment is an empowering realization. It means that there is a small toolkit that offers you unlimited expressive power. It means that a set of tools you can hold in your hands offers you the power to build worlds.

Another way Lisp can enrich you is by providing a programming system of unsurpassed flexibility and interactivity. Old-fashioned Lisps (and Smalltalks) are designed to redefine themselves as they run, enabling you to build up structures of arbitrary complexity by interacting with them, and to interrogate, comprehend, and modify those structures while they continue to run.

Different kinds of programming systems provide different levels of support for interactivity and livecoding. Old-fashioned Lisp and Smalltalk systems are at the extremely interactive end of the spectrum, and are worth learning just to see what that looks like. Not everyone prefers extremely interactive programming systems, but, again, if you're someone who does, then you'll be missing out if you don't experience what it's like to redefine some part of a running program and watch it adapt in real time to your new definitions.

Another way Lisp can enrich you is by illustrating what happens when you make it really really easy to manipulate code.

Most programming languages' source code is made of text strings. Lisp code isn't. Lisp code is made of s-expressions--that is, lists and atoms. Yes, you typically write it in the form of text strings, but the text strings are not Lisp code; they are one possible serialization of Lisp code. Others are possible.

(Historically, some Lisps have offered editors that bypass text strings and work directly on s-expressions in memory. One such editor is INTERLISP's S-Edit.)

When you give your text to Lisp, it starts by deserializing it into actual Lisp source code. Because the source code is made of lists and atoms, which are standard, first-class Lisp data structures, the source code is really really easy to operate on. You can walk its structure, take it apart, analyze it, put it back together, transform it, rewrite it, and so on, all using standard, built-in Lisp functions.

A C compiler does all of these sorts of things in the process of compiling C code, but it doesn't typically expose its internal data structures or the functions that operate on them to you, the programmer. Lisp uses standard, built-in data structures to represent its source code--data structures that are available to you as a user. It uses standard, built-in procedures to operate on the code--procedures that are part of the standard API of the language. Everything it uses to process and compile source code, you can use for your own purposes just as easily.

That circumstance makes it unusually easy to write a wide variety of coding tools in Lisp, including code walkers, analyzers, macro processors, editors, interpreters and compilers, optimizers, code-coverage tools, cross-referencers, and so on. It can be inspiring to work with rich Lisp development environments and see what people build when it's so easy to work with source code. It's one of the reasons that so many experiments in language design have emerged from Lisp. It's also a reason that Lisp programmers come to like the idiosyncratic parenthesized syntax that seems to unappealing at first. That syntax--those s-expressions--are part of what makes it so easy to work with Lisp code.

If your reaction is, "so what?" then Lisp may not be for you. If you're intrigued, then I recommend you learn more about Lisp. You might find that it enriches your life.

I'd say the main hazard is discovering that you really love it, and that it's relatively hard to find employers who will pay you to work with it all day. On the other hand, if you do happen to love Lisp, and you do find a job working with it, it's worth the wait.


The community reflects the larger society, which is divided on social issues. Don't forget that users come from many countries and regions. That's a hidden source of conflict, because people frequently misinterpret a conventional comment coming from a different region for an extreme comment coming from nearby.

The biggest factor, though, is that HN is a non-siloed site (https://hn.algolia.com/?dateRange=all&page=0&prefix=true&sor...), meaning that everyone is in everyone's presence. This is uncommon in internet communities and it leads to a lot of misunderstanding.

(Edit: I mean internet communities of HN's size and scope, or larger. The problems are different at smaller size or narrower scope, but those aren't the problems we have.)

People on opposite sides of political/ideological/cultural/national divides tend to self-segregate on the internet, exchanging support with like-minded peers. When they get into conflicts with opponents, it's usually in a context where conflict is expected, e.g. a disagreeable tweet that one of their friends has already responded to. The HN community isn't like that—here we're all in the same boat, whether we like it or not. People frequently experience unwelcome shocks when they realize that other HN users—probably a lot of other users, if the topic is divisive—hold views hostile to their own. Suddenly a person whose views on (say) C++ you might enjoy reading and find knowledgeable, turns out to be a foe about something else—something more important.

This shock is in a way traumatic, if one can speak of trauma on the internet. Many readers bond with HN, come here every day and feel like it's 'their' community—their home, almost—and suddenly it turns out that their home has been invaded by hostile forces, spewing rhetoric that they're mostly insulated from in other places in their life. If they try to reply and defend the home front, they get nasty, forceful pushback that can be just as intelligent as the technical discussions, but now it feels like that intelligence is being used for evil. I know that sounds dramatic, but this really is how it feels, and it's a shock. We get emails from users who have been wounded by this and basically want to cry out: why is HN not what I thought it was?

Different internet communities grow from different initial conditions. Each one replicates in self-similar ways as it grows—Reddit factored into subreddits, Twitter and Facebook have their social graphs, and so on. HN's initial condition was to be a single community that is the same for everybody. That has its wonderful side and its horrible side. The horrible side is that there's no escaping each other: when it comes to divisive topics, we're a bunch of scorpions trapped in a single bottle.

This "non-siloed" nature of HN causes a deep misunderstanding. Because of the shock I mentioned—the shock of discovering that your neighbor is an enemy, someone whose views are hostile when you thought you were surrounded by peers—it can feel like HN is a worse community than the others. When I read what people write about HN on other sites, I frequently encounter narration of this experience. It isn't always framed that way, but if you understand the dynamic you will recognize it unmistakeably, and this is one key to understanding what people say about HN. If you read the profile the New Yorker published about HN last year, you'll find the author's own shock experience of HN encoded into that article. It's something of a miracle of openness and intelligence that she was able to get past that—the shock experience is that bad.

But this is a misunderstanding—it misses a more important truth. The remarkable thing about HN, when it comes to social issues, is not that ugly and offensive comments appear here, though they certainly do. Rather, it's that we're all able to stay in one room without destroying it. Because no other site is even trying to do this, HN seems unusually conflictual, when in reality it's unusually coexistent. Every other place broke into fragments long ago and would never dream of putting everyone together [1].

It's easy to miss, but the important thing about HN is that it remains a single community—one which somehow has managed to withstand the forces that blow the rest of the internet apart. I think that is a genuine social achievement. The conflicts are inevitable—they govern the internet. Just look at how people talk about, and to, each other on Twitter: it's vicious and emotionally violent. I spend my days on HN, and when I look into arguments on Twitter I feel sucker-punched and have to remember to breathe. What's not inevitable is people staying in the same room and somehow still managing to relate to each other, however partially. That actually happens on HN—probably because the site is focused on having other interesting things to talk about.

Unfortunately this social achievement of the HN community, that we manage to coexist in one room and still function despite vehemently disagreeing, ends up feeling like the opposite. Internet users are so unused to being in one big space together that we don't even notice when we are, and so it feels like the orange site sucks.

I'd like to reflect a more accurate picture of this community back to itself. What's actually happening on HN is the opposite of how it feels: what's happening is a rare opportunity to work out how to coexist despite divisions. Other places on the internet don't offer that opportunity because the silos prevent it. On HN we have no silos, so the only options are to modulate the pressure or explode.

HN, fractious and frustrating as it is, turns out to be an experiment in the practice of peace. The word 'peace' may sound like John Lennon's 'Imagine', but in reality peace is uncomfortable. Peace is managing to coexist despite provocation. It is the ability to bear the unpleasant manifestations of others, including on the internet. Peace is not so far from war. Because a non-siloed community brings warring parties together, it gives us an opportunity to become different.

I know it sounds strange and is grandiose to say, but if the above is true, then HN is a step closer to real peace than elsewhere on the internet that I'm aware of—which is the very thing that can make it seem like the opposite. The task facing this community is to move further into coexistence. Becoming conscious of this dynamic is probably a key, which is why I say it's time to reflect a more accurate picture of the HN community back to itself.

[1] Is there another internet community of HN's size (millions of users, 10-20k posts a day), where divisive topics routinely appear, that has managed to stay one whole community instead of ripping itself apart? If so, I'd love to know about it.


Sorry, that's not what I was trying to convey here. "Free speech as a dog whistle" is people using the term free speech but not actually meaning it. More of a "free speech for me, but not for thee," but the second part isn't explicitly said. I do mean dog whistle, which is covert speech. But speech can only be covert (undertone) if there is a non-covert overtone (otherwise it wouldn't be hidden). So why I'm criticizing here is because the CEO said that Twitter is a place of cancel culture, which comes a lot from users, but said that that can't happen on Parler and then just targeted extremist right wing groups to adopt the platform. He flies under the flag of free speech but the intent was to create a network where right wing extremists could talk within a bubble. There's nothing wrong with that (except for the extremist part) but that isn't exactly free speech focused, that's a niche focus. There's a big difference if you develop a product and it is adopted by a certain group verses if you specifically target that group, use their language, go on their platforms, and actively encourage that group to adopt your platform without even making any attempt to get other groups to join. Essentially Parler said Twitter is a left wing echo chamber and wanted to create a right wing echo chamber. The intent was never to create a free speech platform, the intent was to create a right wing platform. Intent matters.

To clarify on the dog whistling part more, let's think about a recent example. Conservatives have frequently said that free speech is one of the most important things (Fox News, Trump, etc, not your neighbor). But then these groups also advocated for kicking athletes out of the country for kneeling in protest[0]. The president used his position of power to lead a boycott against a private organization[1]. The hypocrisy here is about that there is no right form of protest if you don't agree with me but even extreme forms of protest are okay if you do agree with me. Someone who says that is not actually advocating for free speech no matter how often they use the term. You saw organizations and the president saying that this wasn't a protest and that if it was they should do it another way. Then you see BLM and say that they should have protested peacefully and we would have solved the problems. From a different perspective you can see this as protesting escalating from peaceful to more disruptive and including violence. We see the "two sides" arguments (Charlottesville), encouraging supporters to run Biden's vehicle off the road[2], encouraging kidnapping of a governor[3], and I can go on (do we need to talk about the several cases at the Oregon capital?). Free speech isn't unlimited. Nor is "free speech for me and not for thee" free speech either.

If free speech is unlimited for one group but not for another, that is not free speech it is a dog whistle.

You can call a cat a dog but that doesn't make a cat a dog. And it doesn't matter if you take your cats on walks or you teach it to play fetch or other tricks or convince a bunch of people it is a dog, it is still a cat at the end of the day and won't ever be a dog.

[0] https://www.bbc.com/news/world-us-canada-44232979

[1] https://www.theguardian.com/sport/2017/sep/22/donald-trump-n...

[2] https://www.theguardian.com/us-news/2020/oct/31/biden-harris...

[3] https://www.cnn.com/2020/10/27/politics/trump-gretchen-whitm...


Since 2007, I've taken detailed notes on every book I've read, then posted them on my site with my top recommendations up top:

https://sivers.org/book

My top recommendations here for the Hacker News crowd - with a nudge for the under-rated, are:

The Time Paradox - by Philip Zimbardo and John Boyd

https://sivers.org/book/TimeParadox

Profound idea that everyone has a primary time focus: either Future-focused, Present-focused, or Past-focused. Fascinating implications of each. Because I'm so future-focused, reading this book helped me understand people who are very present-focused. Also great advice on shifting your focus when needed. I read it 7 years ago, but still think about it almost every day.

--

Mindwise: How We Understand What Others Think, Believe, Feel, and Want - by Nicholas Epley

https://sivers.org/book/Mindwise

Many new brilliant insights, especially about over-estimating the differences between you and others, thereby separating into us-vs-them tribalism. Scan to the end of my notes, to see. If you know more books like this, please recommend them to me. I adore this subject.

--

The War of Art - by Steven Pressfield

https://sivers.org/book/WarOfArt

Have you experienced a vision of the person you might become, the work you could accomplish, the realized being you were meant to be? Are you a writer who doesn’t write, a painter who doesn’t paint, an entrepreneur who never starts a venture? Then you know what “Resistance” is. This book is about that. Read it.

--

E-Myth Revisited - by Michael Gerber

https://sivers.org/book/EMythRevisited

Absolutely everyone who is an entrepreneur or wants to be one needs to read this book. I first read it after 10 years of successfully running my company, and was still blown away and totally humbled by its wisdom. Re-reading it today, I'm amazed how my view of business was completely changed by this one little book. See my notes for examples, but definitely read the book itself to get the real impact.

--

The Courage to Be Disliked - by Ichiro Kishimi and Fumitake Koga

https://sivers.org/book/Disliked

Wow. A profound little philosophy book from Japan, communicating the psychology of Alfred Adler - a rival of Freud. Told as a conversation between an angry student and a patient teacher. A little book so good that I rushed home from other activites to keep reading it, and finished in a day. A surprisingly fresh perspective on how to live. (The “disliked” part is not the point, so don’t let the title distract you.)


Downvotes to express disagreement are part of the ethos of this site; it's a norm Paul Graham established almost a decade ago. But comments discussing downvotes are not; the guidelines specifically ask us not to waste time litigating them, which is what this thread basically asks everyone to do.

I agree with what people have already said, but I think there's one more point to add: people usually over-estimate how funny their own comments are. We have a tendency to think, "This idea of mine is hilarious! And different! Surely this witticism is the exception." And we are usually wrong. When you have N people all doing that, there's a lot of noise.

I try to gently point this out to people who complain when their attempt at humor has been downvoted by the community. It's not that we don't like humor. We just don't like banal attempts at humor, which becomes noise. Or, put in a less charitable fashion, "You're not as funny as you think you are."


A few of my favorites, not found in the linked article:

"There are two ways of constructing software. One way is to make it so simple that there are obviously no deficiencies. The other is to make it so complex that there are no obvious deficiencies." C.A.R. Hoare

"The purpose of software engineering is to control complexity, not to create it." Dr. Pamela Zave

"The most important single aspect of software development is to be clear about what you are trying to build." Bjarne Stroustrup

"The cardinal sin is to make a choice without knowing you are making one." Jonathan Shewchuk

"Good code is short, simple, and symmetrical - the challenge is figuring out how to get there." Sean Parent

"The ability to simplify means to eliminate the unnecessary so that the necessary may speak." Hans Hoffman

"Any intelligent fool can make things bigger, more complex, more violent. It takes a touch of genius - and a lot of courage - to move in the opposite direction." Albert Einstein

"The cost of adding a feature isn't just the time it takes to code it. The cost also includes the addition of an obstacle to future expansion... the trick is to pick features that don't fight each other." John Carmack

"If we'd asked the customers what they wanted, they would have said, "faster horses." Henry Ford

"What I cannot create, I do not understand." Richard Feynman

"Such is modern computing: everything simple is made too complicated because it's easy to fiddle with: everything complicated stays complicated because it is hard to fix." Rob Pike

"A program is a poem: you cannot write a poem without writing it. Yet people talk about programming as if it were a production process and measure "programmer productivity" in terms of "number of lines of code produced." In doing so they book that number on the wrong side of the ledger: We should always refer to "the number of lines of code spent." Edsger Dijkstra

"As a programmer, it's your job to put yourself out-of-business. What you can do today can be automated tomorrow." Doug Mcilroy

"The whole point of getting things done is knowing what to leave undone." Oswalf Chambers

"Simplicity is hard to build, easy to use, and hard to charge for. Complexity is easy to build, hard to use, and easy to charge for." Chris Sacca

"Knowledge is a process of piling up facts. Wisdom lies in simplification." Martin Luther King, Jr.

"Measuring programming progress by lines of code is like measuring aircraft building progress by weight." Bill Gates

"Debugging is twice as hard as writing the code in the first place. Therefore, if you write the code as cleverly as possible, you are, by definition, not smart enough to debug it." Brian Kernigham

"It ain't what you don't know that gets you in trouble. It's what you know for sure that just ain't so." Josh Billings

"Be careful that victories do not carry the seeds of future defeats." Ralph Stockman

"The most effective debugging tool is still careful thought, coupled with judiciously placed print statements." Brian Kernigham

"Controlling complexity is the essence of computer programming." Brian Kernigham

"Simplicity is prerequisite for reliability." Edsger Dijkstra

"...but there is one quality that cannot be purchased that way - and that is reliability. The price of reliability is the pursuit of the utmost simplicity. It is a price which the very rich find most hard to pay." C.A.R. Hoare

"UNIX is simple. It just takes a genius to understand its simplicity." Dennis Ritchie

"Complexity kills. It sucks the life out of developers, it makes products difficult to plan, build, and test, it introduces security challenges and it causes end-users and administrators frustration." Ray Ozzie

"A charlatan makes obscure what is clear; a thinker makes clear what is obscure." Hugh Kingsmill

"Fools ignore complexity, pragmatists suffer it. Some can avoid it. Geniuses remove it." Alan Perlis


That sounds great, but isn't doable. It only seems doable, because of the dynamic described here: https://news.ycombinator.com/item?id=16438476. What would actually happen is that it would make the community nastier and dumber until it died. Whom the gods would destroy, &c.

The fundamental tradeoff: the better HN gets, the more people want to use it for things that worsen it. This puts a cap on how good HN can ever get. All we can do is find ways to wriggle out of that tradeoff here and there.


The concept is valuable because it identifies a predator species that kills the intellectual curiosity HN exists for. This is independent of the content of the rant. If an army tramples your garden, it doesn't matter whether they led with their left feet or right, or what color the uniforms were.

You're thinking about this in terms of specific comments and political views, while for us it is a systemic problem of how to run a large, anonymous internet forum that doesn't self-destruct. These are two different perspectives. That gap is why people make the mistake of feeling certain that we're secretly biased in favor of $X, where $X has nothing to do with us but is rather the inversion of their own ideological side. All sides think this, leading to many contradictory-yet-somehow-all-the-same charges of manipulation. I presume it is the same cognitive bias that makes sports fans 'know' that the refs are secretly against their team.

Often people throw in seemingly factual statements like you did here: "because they agree with the increasingly rather odd Silicon Valley...". A statement like that is simply invented. You don't know it; you can't know it; nor can you point to any statement showing it. It just feels like it's true. Meanwhile opposite people say opposite things, feeling just the same way that you do. https://news.ycombinator.com/item?id=16098840 is typical.

There's an incongruence between saying that HN is filled with quality discussion ("hardly any genuine spam or trolling") and that the mods are biased censors (Soviet-style! adds your sibling commenter) stamping out good discussion. That would hardly be quality-enhancing behavior. The assumption that if only we would stop doing what we do, HN would get better, is magical thinking. If HN is any good, how did it get good to begin with? How could it stay any good, if the moderators are so repellent?

Re dead comments, there are lots of reasons why that happens. Sometimes it's software that we've written based on past patterns of abuse; sometimes it's user flags, etc. These methods are indispensable but imperfect, which is why we created the 'vouch' feature for community members to rescue dead comments that shouldn't be dead. Anyone with karma > 30 can click a comment's timestamp to go to its page, then click 'vouch'. This way, instead of interpreting it as censorship and complaining about the refs, you and your fellow community members can simply reverse it. How Soviet is that!


Things pg said about downvotes:

https://news.ycombinator.com/item?id=117171

https://news.ycombinator.com/item?id=392347

https://news.ycombinator.com/item?id=658691

It's how HN has always worked, and in my opinion needs to. A site that cares about discussion quality needs those white blood cells.


All: if we're to have non-boring discussion on a hot+divisive topic like this one, please have the restraint to not post anything unless you have something thoughtful to say. Most first reactions are reflexive, i.e. predictable, i.e. uninteresting, i.e. off topic for Hacker News. Repetition is the enemy of curiosity.

A good antidote is to stop and ask yourself if your comment engages at all with anything specific and/or unpredictable in the article. If it doesn't, consider not posting it; odds are you're moving discussion quality in the wrong direction for this particular message board.

https://news.ycombinator.com/newsguidelines.html


Quite right, but it's a tradeoff. We have years of experience with the effects posts like that have on HN, and they're dreadful.

I puzzled over this dynamic for years but it seems clear to me now: the issue is genre/medium fit. In the case of the GP comment, the genre is the diatribe. A scathing diatribe in a small literary salon or journal, like n+1, is one thing; on a large, public, internet forum it's another. In the first case it's interesting and leads to interesting responses. In the second it's a fast track to the bottom of the barrel, a snake in Snakes and Ladders.

Imagine if anyone who felt like it could reply to any n+1 piece and n+1 had to publish all of them as new pieces without editing. What would happen to quality? It would tank. Personal projection, simple misunderstanding, dimwittedness, windbaggery, reversion to the mean: every known factor would work against you. Extrapolate further and this would kill n+1.

In both cases—a small literary forum and a large internet one—the goal is more complex, more interesting formations, but the way to get them could not be more different. The more I learn about this, the more I appreciate McLuhan. Most of the issues on HN derive from the medium, not what people post to it.


What we've been doing is sort of a software sandwich with a human filling. Software does a first pass through all the stories to guess which ones might be good candidates (otherwise there are too many for humans to review). Then humans pick some candidates. Those go into a pool from which software randomly picks one every so often and randomly places it low on the front page. After that it's up to the community which ones are interesting. The ones that aren't fall off the front page relatively quickly. I've been meaning to write some code to collect data on how much frontpage time they get.

That's the current state. We do still send repost invites occasionally, but mostly not, because users made it clear they don't like the duplicates.

I don't think the human phase can be automated. Instead, our plan is to open it to the community, so it isn't just us and selected users picking stories. The challenge is to design a mechanism for that which doesn't just reduce to an upvoting system (since as the knight in Monty Python says about the grail, we've already got one it's very nice).

We'll also probably publish the list of stories selected in this way, whether or not they end up getting traction, because if nothing else it's alternate reading material.


I wonder if you're running into the problem of mixed cultural standards on HN. People here come from very different backgrounds but we interpret each other's statements without knowing that—a hard problem. I'm not assuming anything about you but I can imagine different pairs of backgrounds that would react quite differently to the simple, blunt question "was it suicide". Some would think "what's the problem it's a simple factual question" while others would wince and almost feel pain. This isn't an issue of PCness, but of the lossiness of channels across multiple cultures.

Different cultures also have different standards around speech vs. writing for such a question, as well as around public vs. private. And a small private conversation and a large public internet forum are miles apart even before bringing culture into it.

On HN we're dealing with all that and more. Our way is to try to have a local culture in which people err on the side of posting thoughtful, substantive comments. These two factors—considerateness for others and solid information—compensate for packet loss in the channels, making it easier for real communication to occur, leading to more interesting conversations. But it comes at a cost: utterances can't be quite as sharp or colorful. We give up some expressive range. Things get more bland. It took me years to reconcile myself to this—I hate blandness and am a fan of the historical art of barbed wit—but eventually I realized that if you don't make this tradeoff then the smart people eventually leave, and that would be blander to say the least.

People do sometimes mistake this approach for political correctness—and then wonder how the author of "What You Can't Say" could have created both—but that's because they don't understand what HN is going for. (I feel annoyed sometimes when people accuse us of being champions of bourgeois politesse when they haven't the least idea, but what can you do.) We're trying to optimize the site for interestingness—intellectual curiosity. The HN guidelines are an engineering tradeoff to achieve a design goal: one we have to make to protect HN from the dynamics that make internet forums less interesting and then dead. This design decision goes back to the founding of the site: see https://news.ycombinator.com/newswelcome.html and https://news.ycombinator.com/hackernews.html.


This comment breaks the HN guidelines badly by bringing extraneous flamebait into a substantive and interesting thread, turning it into a political flamewar. That may not be arson but it is criminal negligence. Please don't do it in HN threads.

It's up to each of us to prevent this, just like we don't light cigarettes at gas stations or let campfires smolder in dry forests. That's not hard. I feel like Smokey the Bear.

https://news.ycombinator.com/newsguidelines.html

May I suggest ten close readings of https://news.ycombinator.com/item?id=15374168 (once for each comment currently in this off-topic subthread) as a good example of what we do want: substantive, grounded in experience, civil, teaching something new.

Edit: I want to add something about the mechanism at work here. Not to pick on you, but as an illustration for everyone.

If we look at the path taken by this subthread, what can we say about it? It gets consistently more generic. That is, it starts with something specific (a self-observation of Scandinavian culture), swaps that out for something much more generic (small towns: good or bad?), goes to more generic and inflammatory things (gang violence) and then to informational heat death ("Religions can inspire peace or war").

So we can sum up how to avoid the unwanted this way: Don't go generic. Note that that's not the same thing as "don't go off-topic". Going off topic can be fine if the direction is interesting. The trouble with the generic is that's predictable and seductive, producing not only the uninteresting but a lot of it.

(I might come back and add more here. If there's one point I wish I could effectively communicate to the HN community this thing about not going generic is it, because it makes the difference between interesting and lame discussion.)


> This is an insult [...] Just fucking wow [...] If you think you're entitled

It doesn't look like you've been in this kind of flamewar on HN before, or at least not recently, so I'm going to assume that something in the parent comment provoked a strong reaction in you based on experience that the rest of us don't know about. This happens all the time of course. On HN, we all need to remain respectful and give the other the benefit of the doubt, even if their comment was clueless. Your comment would have been fine with just the third and fourth paragraphs.

We have almost no information about each other—just a few dots—but since we're wired to relate to other humans, we always connect the dots to get a picture. Lacking information, we fill the picture in with past experiences of our own, often painful ones, especially when we've seen one or two of those dots before. (Just one is enough, two feels like absolute proof.) In reality we're mostly making these pictures ourselves and then seeing them in the other. Everyone does this everywhere, but it's acute in internet comments because we have so little information about whoever we're speaking with.

On HN, we need to watch for those reactions in ourselves and consciously hold them so they don't blast out at others. The reason is not so much to spare others' feelings, but to protect the commons. When people start blasting and blasting back, they destroy things like gardens and cities, and HN is like those.

You made good points in this thread. But those go up in flames like everything else in a flamewar. That prevents good points from being expressed and received—the kind of exchange that leads to more complex behavior, which makes discussion interesting. Everything on HN boils down to trying to be more interesting where possible.

https://news.ycombinator.com/newsguidelines.html


Did you win the Putnam?

If not, please don't be "bolder" than this guy: http://en.wikipedia.org/wiki/Ravi_Vakil


If you mean the moderators of HN, I'm one and all I consciously care about is saving this site from sucking with tedium. So if anybody is "actively policing" HN, they have figured out how to hack my unconscious and I wish they'd share how they did it. That would actually be interesting.

The problem with tedium is that it's human nature for us all to care most about the sound of our voice and the sweet sweet beauty of our own words on the screen. We don't notice when we're repeating things that have been said millions of times because those lacked the flagship merit of it being me who was saying them.

This little me is the arch-enemy of intellectual curiosity (https://news.ycombinator.com/newsguidelines.html). It is the same in everyone and has nothing to do with pro- or anti-China, or pro- or anti-anything.


Please don't take us on generic tangents. You can tell if it's generic if you'd post it on any thread with a certain word in the headline, like "Facebook".

https://news.ycombinator.com/newsguidelines.html


One perspective on this is to think about your definition of "civilization" and compare it with both "human universals" and what we know about the general lives of hunter-gatherers and the extent that we can use this to guess about the several hundred thousand years before agriculture.

Many of the things on my list for "civilization" are not directly in our genes or traditional cultures: reading and writing, deductive mathematics, empirical science of models, equal rights, representative governments, and many more. It's not that we do these well, or even willingly, but learning how to do them has made a very large difference. We can think of "civilization" not as a state of being that we've achieved, but as societies that are trying to become more civilized (including getting better ideas about what that should mean).

Most of the parts of civilization seem to be relatively recent inventions, and because the inventions are a bit more distant from our genetic and cultural normals, most of them are more difficult to learn. For example, as far as history can tell, schools were invented to concentrate the teaching of writing and reading, and they have been the vehicle for the more difficult learning of some of the other inventions.

And, sure, from history (and even from looking around) we can see that a very high percentage of people would be very happy with servants, even slaves, whether human or technological.

In Tom Paine's argument against the natural seeming monarchy in "Common Sense" he says don't worry about seems natural, but try to understand what will work the best. His great line is "Instead of having the King be the Law, we can have the Law be the King". In other words, we can design a better society than nature gives rise to, and we can learn to be citizens of that society through learning.

In other contexts I've pointed out that "user friendly" may not always be "friendly". For example, the chore of learning to read fluently is tough for many children, but what's important beyond being able read afterwards is that the learning of this skill has also forced other skills to be learned that bring forth different and stronger thinking processes.

Marketing, especially for consumers, is aimed at what people -want-, but real education has to be aimed at what people really -need-. Since people often don't want what they need, this creates a lot of tension, and makes what to do with early schooling a problem of rights as well as responsibilities.

One way to home in on what to do is to -- just for a while -- think only about what citizens of the 21st century need to have between their ears to not just get to the 22nd century, but to get there in better shape than we are now. Children born this year will be 83 in 2100. What will be their fate and the fate of their children?

If people cannot imagine that the situation they are in had to be invented and worked at and made, they will have a hard time to see that they have to learn how to work the garden as they become adults. If they grow up thinking as hunter gatherers they can only imagine making use of what is around them, and to move on after they've exhausted it. (But there is not place to move on to for the human race -- larger thoughts and views have to be learned as part of schooling and growing up.)


This violates the HN guideline which asks you to refrain from insinuations about astroturfing or shillage: https://news.ycombinator.com/newsguidelines.html.

On the internet, people are far too quick do this because they can't imagine that views which seem (to them) so wrong and dumb could possibly be coming from others in good faith. But the truth is that the opinion diversity of the community wildly exceeds intuitive estimates. The null hypothesis, therefore, when it feels like astroturfing simply must be going on, is that you're underestimating the good faith of others. It's super tempting to reach for the stick (PR! astroturf! shill! how much are they paying you!) but we know from experience that this degrades discussion quickly, and therefore the temptation needs resisting—hence that guideline. Real astroturfing exists, of course, but it's a quite different species than this common astroturfy warbler. If you're worried about it, we can investigate, but you need to email us rather than post comments about it.

In this case Occam is even more active than usual because there's a particularly obvious explanation for what you're seeing: the tendency of the community to respond with objections to whatever gets posted. If the article were slanted the opposite way, so would the comments be, not because different 'astroturfers' would show up but because the people most motivated to comment are the ones who see something to pick holes in. Then others show up to pick holes in the way the first round of holes was picked—invariably leading with "I can't believe this community is so X", not realizing that they're motivated by just the same thing as their predecessors. This dynamic is a problem in its own right but for different reasons.

Btw your assessment of HN as 'right wing' has the same cognitive bias—underestimating the diversity of the community—embedded in it. It's clear (painfully clear, at least to me!) that the opposite wing sees HN just the opposite way and has just as ready a supply of examples to point to. An anarcho-anti-capitalist story has spent the last several hours on the front page, etc.


This is our long-running experiment in story re-upping. I've described it at https://news.ycombinator.com/item?id=10705926, but it might be time for a fresh explanation.

Moderators and a small number of reviewer users comb the depths of /newest looking for stories that got overlooked but which the community might find interesting. Those go into a second-chance pool from which stories are randomly selected and lobbed onto the bottom part of the front page. This guarantees them a few minutes of attention. If they don't interest the community they soon fall off, but if they do, they get upvoted and stay on the front page.

We want to turn this system into something that's open to all users who want to take time to review stories. We'll make it a form of community service that will be a new way to earn karma. However, it's still an open question how to pull this off without simply recreating the current upvoting system under another guise.

There's one glitch that occasionally confuses people. When the software lobs a story, it displays a rolled-back timestamp—not the original submission time, but a resubmission time relative to other items on the front page. If you see a timestamp inconsistency on HN, this is probably why. Edit: if this is the kind of detail that interests you, see https://news.ycombinator.com/item?id=19774614 for a more recent explanation.


It's because comments can have troll effects even when they're downvoted or flagged.

There's a difference between expressing a view and setting this place on fire. There's no view that can't be expressed substantively and thoughtfully if one has a mind to, but it takes work. Throwing fuel on the fire or sand in the gears is different; that's vandalism, and it destroys the free exchange of views by ruining the container—the community and site—that supports it. The container is fragile and needs protecting.

People mostly do this without realizing how destructive it is. Dealing with it requires moderators whose role is to protect the commons. That's how HN still exists as a place for (hopefully) thoughtful discussion. We'll never all agree about where to draw the line every time, but that's secondary to the point that someone needs to.

A comment crosses into trolling when it does things that are known to ruin thoughtful discussion, whether that is the intent or not. I chided the commenter upthread because they were going much further than merely (say) arguing against a rush to judgment about the OP—they were signalling bad faith with polemical swipes (e.g. 'Your prejudice that in general, "men are pigs"'). That is not thoughtful discussion, it's destructive of it.

When we ask commenters not to do this, reactions vary. Some react by taking responsibility and learn how not to produce such effects in online conversation. Many HN users have gone through that process. I had to go through it myself (it took years); I used to optimize for snark and venting too as much as the next person. If HN has anything superb about it, to use your word, it's because of the community members who do this work.

Other commenters prefer melodrama. They proclaim they're being 'censored' for their 'unpopular opinions' by mods who 'can't handle the truth', then storm out the front door with an 'enjoy your circlejerk' or two. (Typically they then walk around the building, come back in and start over with a new account.) This is the 'help help I'm being repressed' phase of the internet cycle of life. It will never go way, but I'm confident that most neutral readers notice the same signs of bad faith that mods were reacting to. How do I know that? Because otherwise our job would be impossible.

In the end the root distinction isn't about what view a commenter has on this or that topic, it's the difference between users who comment with care for the whole and those who don't. Sometimes that's because they're so agitated that they lack the self-control to do anything other than toss a hot potato into the thread. (It happens to everyone.) But often it's just that they haven't yet learned about this dynamic and why it matters. Once somebody gets that, they're motivated to participate in the community quite differently—but it isn't a question of changing their views, becoming more 'conformist' or 'groupthink' or any of that sort of thing people say. It's more akin to not littering in a city park, or to taking good care of a campsite.


Hmm, let's see. It does a lot of moderatory things, but general readery things include highlighting stories or commments and jumping to related pages (e.g. the story url, the thread url, the user's profile page, the user's comments page, other stories from that domain), opening and closing those tabs; navigating up and down comment trees (go to parent, go to prev/next sibling); marking stories or comments as 'seen' and thus hiding them, but keeping track of whether 'seen' items have changed and displaying how they changed; finding comments that match regexes and highlighting the matches; if a comment contains a url, open that url in a new tab; jump around between open tabs; go to the root url of a comment (i.e. the original story item); select text and open tabs based on that text; show HN search results in the form of an HN story list that looks like the front page; take various actions based on what's in the clipboard, or copy HN urls or titles to the clipboard; filter stories or comments being displayed according to various criteria; upvote or flag a post; go to the internet archive for a url; show the current rank of a story on pages other than the front page; request the 'more' url at the bottom of a page and inline its results instead of navigating to it. Edit: I forgot one of my favorites, which is aligning the current selection to the center, top, or bottom of the window, a la ctrl+L in Emacs.

It's all done by keyboard shortcuts, which means the mapping to keys is pretty complicated and not as consistent as I'd like.

Edit: It's also written in a Lisp we made that only three of you have ever heard of :)


Thanks for helping to improve HN! We need all the help we can get.

There has never been a rule against downvoting for disagreement on HN. (Perhaps the people who think this are mistakenly applying the rule from Reddit, a much better-known site.) But that doesn't mean just any kind of downvoting is ok. For example, downvoting a comment that says 2+2=5 is ok (unless it was quoting Dostoevsky!) But downvoting a substantive comment merely because you don't like the same things as the author is not ok. We see this a lot, for example, in programming language debates.

Some users want us to formalize the downvote policy in a precise rule, but we don't have a precise rule. Here's what we do say about downvotes. First, when you see a comment unfairly in the grey, be a good community member and provide a corrective upvote. Most comments that unfairly dip into grey get corrected this way.

Second, when you get downvoted, resist the temptation to strike back. Getting downvoted excites emotion. It stings a little, and the mind recoils from the idea that one might have deserved it. The way to respond as an HN user is to take the hit, review your comment to see what might have evoked it, adjust future comments when you see anything, and shrug it off when you don't.

If you want more clarification of community norms around downvoting, I've been impressed by brudgers' recent few comments on it and by dragonwriter's comments in https://news.ycombinator.com/item?id=9317916. They both did a better job of articulating the function of downvoting on HN than anything we've written ourselves. There is a body of community practice around this, and if you pay attention with the intent of learning it, you will.


As others have pointed out and demonstrated, you can just as easily draw the opposite conclusions about HN. Such perceptions are in the eye of the beholder.

People's assessments of the community's ideological bias are wildly contradictory, so they can't all be right and—since HN is the same for everybody—they don't vary with HN. What do they vary with? This is easy to answer once you know to look for it: they vary with the the ideological preference of the observer. Moreover the correlation is in two dimensions: 1) direction: left-leaning users think HN is right-leaning, and vice versa; 2) intensity: the stronger one's ideological commitment, the more strongly it feels like HN is opposing it.

We detached this subthread from https://news.ycombinator.com/item?id=14205096 and marked it off-topic.


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: