hacker-news-undocumented
Some of the hidden norms about Hacker News not otherwise covered in the Guidelines and the FAQ.
Top Related Projects
Pushshift API
Documentation and Samples for the Official HN API
A collective list of free APIs
Learn how to design large-scale systems. Prep for the system design interview. Includes Anki flashcards.
😎 Awesome lists about all kinds of interesting topics
Quick Overview
The minimaxir/hacker-news-undocumented
repository provides a collection of undocumented features and quirks of the Hacker News platform, which can be useful for developers and researchers working with the Hacker News API or data.
Pros
- Comprehensive collection of undocumented Hacker News features and quirks
- Provides valuable insights for developers and researchers working with Hacker News data
- Regularly updated with new discoveries
- Contributes to the understanding and exploration of the Hacker News ecosystem
Cons
- The information may become outdated as the Hacker News platform evolves
- Some of the undocumented features may be subject to change or removal by the Hacker News team
- The repository does not provide any code or tools, it's primarily a documentation resource
Code Examples
This repository does not contain any code examples, as it is primarily a documentation resource.
Getting Started
This repository does not provide any code or tools, so there are no getting started instructions. It is a collection of documentation and information about undocumented Hacker News features and quirks.
Competitor Comparisons
Pushshift API
Pros of pushshift/api
- More comprehensive API covering multiple platforms (Reddit, Twitter, etc.)
- Actively maintained with regular updates and improvements
- Extensive documentation and community support
Cons of pushshift/api
- More complex setup and usage compared to hacker-news-undocumented
- Potentially overwhelming for users only interested in Hacker News data
- Higher resource requirements due to broader scope
Code comparison
hacker-news-undocumented:
import requests
url = "https://hacker-news.firebaseio.com/v0/item/8863.json"
response = requests.get(url)
print(response.json())
pushshift/api:
import requests
url = "https://api.pushshift.io/reddit/search/submission/?subreddit=AskReddit&sort=desc&sort_type=created_utc&size=1"
response = requests.get(url)
print(response.json())
The hacker-news-undocumented repository focuses specifically on undocumented features of the Hacker News API, making it more straightforward for developers working exclusively with Hacker News data. On the other hand, pushshift/api offers a broader range of data sources and more advanced features, but may require more setup and learning for users only interested in Hacker News information.
Documentation and Samples for the Official HN API
Pros of HackerNews/API
- Official API provided by Hacker News, ensuring reliability and stability
- Comprehensive documentation with clear endpoints and usage guidelines
- Supports real-time updates through Firebase integration
Cons of HackerNews/API
- Limited to officially supported features and data points
- May not include undocumented or experimental features
- Potential rate limiting for high-volume requests
Code Comparison
HackerNews/API:
import requests
item_id = 8863
url = f"https://hacker-news.firebaseio.com/v0/item/{item_id}.json"
response = requests.get(url)
item_data = response.json()
hacker-news-undocumented:
import requests
item_id = 8863
url = f"https://news.ycombinator.com/item?id={item_id}"
response = requests.get(url)
# Custom parsing required to extract data from HTML
The HackerNews/API provides a straightforward JSON response, while hacker-news-undocumented requires custom HTML parsing to extract data. The official API offers a more structured and easier-to-use approach for developers, but may lack some of the undocumented features or data points that can be scraped using the unofficial method.
A collective list of free APIs
Pros of public-apis
- Extensive collection of APIs covering a wide range of categories
- Regularly updated with new APIs and community contributions
- Well-organized with clear categorization and metadata for each API
Cons of public-apis
- Less focused on a specific platform or ecosystem
- May include some outdated or deprecated APIs
- Requires more effort to find specific APIs relevant to a particular use case
Code comparison
While both repositories primarily consist of documentation rather than code, here's a brief comparison of their structure:
public-apis:
| API | Description | Auth | HTTPS | CORS |
| --- | ----------- | ---- | ----- | ---- |
| API Name | Brief description | API Key | Yes/No | Yes/No |
hacker-news-undocumented:
## Endpoint Name
Description of the endpoint and its functionality.
### Parameters
- `param1`: Description of parameter 1
- `param2`: Description of parameter 2
The public-apis repository uses a table format to organize API information, while hacker-news-undocumented uses a more detailed markdown structure for each endpoint.
Learn how to design large-scale systems. Prep for the system design interview. Includes Anki flashcards.
Pros of system-design-primer
- Comprehensive coverage of system design concepts and best practices
- Includes visual aids, diagrams, and real-world examples
- Regularly updated with new content and community contributions
Cons of system-design-primer
- May be overwhelming for beginners due to its extensive content
- Focuses primarily on theoretical concepts rather than practical implementation
- Lacks specific code examples for some topics
Code comparison
While hacker-news-undocumented doesn't contain code examples, system-design-primer includes some code snippets to illustrate concepts. Here's an example of a simple consistent hashing implementation from system-design-primer:
def get_server(key):
hash = md5(key).digest()
return servers[bisect(hash_ring, hash) % len(servers)]
Summary
system-design-primer is a comprehensive resource for learning system design concepts, offering in-depth explanations and visual aids. It's well-maintained and regularly updated. However, it may be overwhelming for beginners and lacks practical code examples in some areas.
hacker-news-undocumented, on the other hand, focuses specifically on undocumented features of Hacker News. It's more targeted and potentially easier to digest for those interested in that particular platform. However, it doesn't offer the broad system design knowledge that system-design-primer provides.
Choose system-design-primer for a comprehensive study of system design concepts, or hacker-news-undocumented for specific insights into Hacker News functionality.
😎 Awesome lists about all kinds of interesting topics
Pros of awesome
- Much broader scope, covering a wide range of topics and technologies
- Significantly larger community with more contributors and stars
- Regularly updated with new content and categories
Cons of awesome
- Less focused, potentially overwhelming for specific use cases
- Quality control can be challenging due to the vast amount of content
- May include outdated or less relevant resources in some categories
Code comparison
While a direct code comparison isn't relevant for these repositories, we can look at how they structure their content:
hacker-news-undocumented:
## API
### Search API
The Search API allows you to query stories and comments...
awesome:
## Platforms
- [Node.js](https://github.com/sindresorhus/awesome-nodejs#readme)
- [Frontend Development](https://github.com/dypsilon/frontend-dev-bookmarks#readme)
hacker-news-undocumented focuses on detailed documentation of specific features, while awesome provides curated lists of resources across various topics.
Convert designs to code with AI
Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.
Try Visual CopilotREADME
A List of Hacker News's Undocumented Features and Behaviors
Hacker News, a simple link aggregator owned and operated by Silicon Valley startup incubator Y Combinator, has had many positive effects on SV startups and engineers as a whole. On Hacker News, users receive Karma whenever another user upvotes a submission or comment they made, which incentivizes positive contributions to the community.
However, in maintaining its simplicity, many new features and behaviors added over the years on Hacker News are not fully documented other than the occasional comments from staff. This list details some of the hidden norms about Hacker News not otherwise covered in the Guidelines and the FAQ, along with a few bonus features outside of typical HN usage. If there is anything missing/incorrect from this list, feel free to file a GitHub issue/PR.
This list has no affiliation with Hacker News, Y Combinator, or any YC-backed company.
Table of Contents
- A List of Hacker News's Undocumented Features and Behaviors
- Implicit Downranking of Posts Without URLs
Undocumented Features
Moderators
Hacker News currently has one full time moderator: Dan Gackle (dang), and formerly Scott Bell (sctb). Their comment replies provide a pseudo-log of Hacker News moderation.
Dan is very responsive when contacted at hn@ycombinator.com, and is the best option for resolving any issues on Hacker News.
Downvoting Comments
All comments start with a score of 1 point (but in order to prevent bandwagoning, the comment score is not visible to users other than the author). After users reach 501 Karma, they gain the ability to downvote another comment. Downvoted comments (i.e. with a score < 1) reduce their placement on the comment thread and will appear desaturated to other users deemphasize them. There is no upper limit on the score of a comment, but the minimum score is -4 points. Additional downvotes after that still subtract points from the user's Karma, but the comment won't go below -4. You cannot downvote comments which are direct replies to your own comment, and you cannot downvote 24 hours after the original comment was made.
Complaining about being downvoted is discouraged and usually results in even more downvotes.
If the comment desaturation makes Hacker News difficult to read, you can click on the comment's timestamp to go to its page where the comment will no longer be faded, or you can install the CSS extension discussed here.
Flagging/Vouching
If a user has 31 Karma, they can flag submissions. Although submissions cannot be downvoted, flags act as a "super" downvote and enough flags will strongly reduce the rank of the submission, or kill it entirely (flagging is supposed to be used for submissions which break the site guidelines, but that isn't always the case in practice). A submission that's flagged to death will have a [flagged]
tag. Comments behave similarly.
A [dead]
submission (that does not also show [flagged]
) is killed by a moderator or by the software. They will only be shown to users who have showdead
enabled in their profile. A submission can simultaneously be [flagged]
and [dead]
.
If a user has 31 Karma, they can also vouch for a [dead]
submission/comment. A vouched submission/comment has its rank restored (and potentially improved as the vouch can counteract the effects of flags).
Top Bar Color
If a user has 251 Karma, they can set the color of the top bar in their profile settings. The default is #ff6600. The Y Combinator logo will change its color to match the top bar.
Here's the list of colors from users who have recently posted.
Merry Christmas!
During Christmas (December 25th) UTC, the Hacker News front page will have a Christmas theme, with a dark red top bar, and alternating red and green submission ranking numbers.
Anti-Voting Manipulation
The FAQ states "users should vote for a story because they personally find it intellectually interesting, not because someone has content to promote." Indeed, Hacker News utilizes a voting ring detector which will prevent caught submissions from hitting the front page. Due to sites like Product Hunt normalizing the asking for upvotes or other engagement via social media, the implicit asking of upvotes is also done for Hacker News, usually due to ignorance of the Hacker News rule against it. There are very few good reasons to draw attention to a Hacker News submission immediately after it has been submitted.
One popular "trick" for obfuscating voting manipulation on Hacker News is to link to the Hacker News's /newest
page of new submissions (instead of a direct link which would otherwise make voting manipulation obvious), and asking friends to upvote the submission from that page. This trick doesn't actually work.
Flame-War Detector
The FAQ notes that submission rank is impacted by "software which downweights overheated discussions." A good rule of thumb for this effect is when the number of comments on a submission exceeds its score. Moderators can overrule the downranking for appropriate, not-actually-a-flame-war discussions.
Second-Chance Pool
Moderators will sometimes rescue a post which didn't receive a lot of upvotes and reset the submission time on the post. (This is also one of the reasons why the FAQ discourages deleting submissions).
Relatedly, moderators can also invite users via email to resubmit a post which didn't get much traction.
Posts benefiting from this program are visible at https://news.ycombinator.com/pool .
Edit/Delete Time Limits
After a post or comment is made, it can be edited by the author within 2 hours. A post/comment can be deleted by the author within those two hours, but only if it has no replies, in order to prevent discussion from being lost. In that case, the post/comment cannot be deleted (This can result in a fake [deleted]
edit if a person wants to remove their comment in the limit but can't). Users can upvote posts from any time as a "bookmarking" feature.
Moderators can change the title of a submission at any time.
If you need something deleted but you can't, you'll have to message hn@ycombinator.com.
Unvote Time Limits
After a user votes on a post or comment, it can be unvoted within 1 hour. After that time, the vote becomes permanent.
Comment Collapsing
Comments can be collapsed by clicking the [+]
icon to improve readability.[flagged]
comments are sometimes collapsed by default, and moderators can set a comment to automatically be collapsed if necessary (e.g. meta-discussion).
When a comment thread is collapsed, the [x more]
number on the right indicates the total number of hidden children comments.
Shadowbanning
Both users and domains can be shadowbanned, where all posts/comments by that user / submissions to that domain will be instantly [dead]
and cannot receive votes/comments (but can still be vouched). For accounts with a substantial history on Hacker News, moderators will give warnings before a ban.
A good way to tell if a user/domain is banned is to either have another user with showdead
enabled check for a series of [dead]
content from that source, or view those submissions in Private Browsing/Incognito mode to see if they appear.
Users/domains are usually shadowbanned for breaking HN rules/spam. If you feel you are unfairly shadowbanned, contact hn@ycombinator.com.
Hidden Reply Links
If the comment depth is 3 or more, reply links are withheld until the comments age a while. The amount of aging is a function of the depth. You can get around it by clicking on the comment's timestamp to go to its own page.
Green Usernames
Accounts which are less than 2 weeks old at time of submitting/commenting will appear with a green username.
Thin Black Bar
Occasionally, there will be a thin black bar at the top of the top bar, in memoriam of a significant figure in the tech/science community dying. A Hacker News submission about the death will usually be on the front page at that time.
Behaviors
Implicit Downranking of Politics
The Guidelines state that most political discussion is probably off-topic. However, the line between technology and politics is blurred, especially as of recently. Most tech related submissions with a hint of political partisanship will quickly be flagged to death by users (or die a slow death due to the inevitable flame war).
dang has commented about this issue many times over the years.
Implicit Downranking of Topics Around Diversity and Inclusion
Likewise, topics around diversity and inclusion in tech have gained lots of visibility over the past few years. However, despite these discussions not being off-topic, they tend to be flagged to death by users regardless. Unfortunately. (Moderators occasionally unkill such threads if they see it in time, although it rarely sticks).
Implicit Downranking of Posts Without URLs
Posts without URLs get penalized. If you post with a link and then add the text as a first comment you have more visibility.
Paywalls
Many news websites have started implementing a paywall for their content, which has caused conflict with Hacker News's "original source" rule.
As a result, submissions which link to paywalled sites tend to get many comments complaining about paywalls, which are off-topic.
Perceived Favoritism Toward YC Companies
YC Companies get two notable benefits on Hacker News; they can post jobs ads to the front page (which start off at Rank #6, cannot be voted/commented on, and have a fixed decay rate), and the ability to do a Launch HN when their startup launches out of a YC batch.
Currently, there is no evidence that non-job submissions about a YC startup receive preferential treatment on the front page, or kill submissions critical of a YC startup. In fact, the moderators have stated that they explicitly avoid killing controversial YC posts when possible.
Additionally, founders of YC companies see each other's usernames show up in orange, which â although not an explicit benefit â does allow fellow YC founders to immediately identify one another in discussions.
Downranking of Tutorials
HN submissions which are tutorials are downranked by moderators, as they gratify intellectual curiosity less.
Bonus Features
Hacker News Classic
Hacker News allows people to use the old front page ranking algorithm, which only counts votes from early users. Early users are defined as being created before Feb 13, 2008.
Hacker News Wayback
Hacker News allows users to see what the front page looks like at any point in time, representing a weighted view of the submissions from that 24 hour period. You can also do a wayback view for any user at their registration date by clicking their registration date in their profile.
Hacker News on BigQuery
If you want to gather large amount of Hacker News data for data analysis/machine learning, you should use the Hacker News dataset on BigQuery, which has submission and comment data up to November 2022 and is much more pragmatic to use than manually scraping data from the Hacker News API.
Hacker News Lists
Hacker News maintains a list of useful links that allow for primitive filtering by certain types of content. These currently include:
- /leaders â View a list of users with the most karma
- /front â Filter front page submissions for a given day (e.g. 2016-06-20), ordered by time spent there
- /best â View the highest-voted recent links
- /active â View the links with the most active current discussions
- /bestcomments â List the highest-voted recent comments
- /highlights â List curated high-quality comments
- /noobstories â Show submissions from new accounts
- /noobcomments â List comments from new accounts
- /pool â Links selected for a second chance at the front page
- /shownew â View new Show HN links
- /invited â List of stories deemed interesting whose author was invited to repost in order to give them a second chance because they didn't catch interest at the first submit. More information here: https://news.ycombinator.com/item?id=20508960
- /shownew â View new Show HN links
- /asknew â Latest Ask HN (text) posts
- /whoishiring â Monthly "Who Is Hiring" threads
- /launches â Launches of YC startups
Public URLS with user-generated content
- https://news.ycombinator.com/active
- https://news.ycombinator.com/ask
- https://news.ycombinator.com/asknew
- https://news.ycombinator.com/best
- https://news.ycombinator.com/bestcomments
- https://news.ycombinator.com/classic
- https://news.ycombinator.com/favorites?id=[name]
- https://news.ycombinator.com/favorites?id=[name]&comment=t
- https://news.ycombinator.com/front?day=[day]
- https://news.ycombinator.com/from?site=[domain]
- https://news.ycombinator.com/highlights
- https://news.ycombinator.com/item?id=[id]
- https://news.ycombinator.com/leaders
- https://news.ycombinator.com/newcomments
- https://news.ycombinator.com/newest
- https://news.ycombinator.com/noobcomments
- https://news.ycombinator.com/noobstories
- https://news.ycombinator.com/over?points=[score]
- https://news.ycombinator.com/show
- https://news.ycombinator.com/shownew
- https://news.ycombinator.com/submitted?id=[name]
- https://news.ycombinator.com/submitted?id=whoishiring
- https://news.ycombinator.com/threads?id=[name]
- https://news.ycombinator.com/topcolors
- https://news.ycombinator.com/user?id=[name]
- https://news.ycombinator.com/vouched?id=[name]
- https://news.ycombinator.com/flagged?id=[name]
- https://news.ycombinator.com/highlights
- https://news.ycombinator.com/pool
- https://news.ycombinator.com/invited
Official RSS feeds
- https://news.ycombinator.com/rss maps the frontpage.
- https://news.ycombinator.com/showrss maps the Show HN page.
Hacker News Search
HN Search provides real-time full-text search for Hacker News. The web app is open source and powered by Algolia Search.
Filter Out Posts Below X Points
Want to catch-up on the best submissions over the last few days? Filter out all posts below a certain threshold with the over?points=100
URL parameter. Examples:
To-Do
- Add more images/citations
Maintainer
Max Woolf (@minimaxir, minimaxir on Hacker News since 2012)
Max has no affiliation with Hacker News, Y Combinator, or any YC-backed company.
Top Related Projects
Pushshift API
Documentation and Samples for the Official HN API
A collective list of free APIs
Learn how to design large-scale systems. Prep for the system design interview. Includes Anki flashcards.
😎 Awesome lists about all kinds of interesting topics
Convert designs to code with AI
Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.
Try Visual Copilot