11 ms·
Show HN: I was tired of opening 2 tabs for every HN link, so I made a userscript
HN is great for the links people share, but a big part of the value I get comes from reading the discussion around them. I realized I was always opening the article in one tab and the comments in another, constantly switching back and forth.
I figured there was probably a simpler way, so I threw together this userscript to merge the two.
1. Clicking a link from Hacker News opens the article with a side panel containing the discussion. It doesn't require your credentials, is resizable, and is easy to tweak if you want to customize it.
2. If you land on an article that has previously been shared on HN, the script finds the existing discussion and adds a button in the top-right to open the panel.
Feedback welcome.
- ahachete 2mo agoI feel ya. I'm always middle clicking twice, story and comments. This shouldn't be a script (no offense, great job!). It should be built into the browsers!
- kwar13 2mo agoyou might find my extension useful https://chromewebstore.google.com/detail/hacker-news-saved-you-a-c/ckjnampgbgchgbpmllianpgdgaemdijk https://chromewebstore.google.com/detail/hacker-news-saved-y...
- anp2987 2mo agoAgreed opening new tabs for every post is a real thing. Would surely try it
- djfdat 2mo agoThis is great and is also something that I've always had an issue with. What I do now is open the HN comments, and then when I'm ready to look at the link + comments, right-click on the title and Open in Split View.
- kwar13 2mo agoI made an extension that does exactly this a while ago https://chromewebstore.google.com/detail/hacker-news-saved-you-a-c/ckjnampgbgchgbpmllianpgdgaemdijk https://chromewebstore.google.com/detail/hacker-news-saved-y...
- hugopuybareau 2mo agoNice idea ! How do you handle duplicates ?
- twalichiewicz 2mo ago[Assuming you mean duplicate HN submissions] I normalize the URL and use HN's Algolia search API to find an existing story with a matching URL. I don't currently handle multiple HN submissions of the same article; I just use the matching story I find. That being said, I could see creating a historical snapshot of all the times an article has been submitted and building a blended comments section in the future.
- Barbing 2mo agoBlended comments section sounds great! Good work.
- twalichiewicz 2mo agoCrunched a bit and got a first pass of this working. https://github.com/twalichiewicz/HNewhere/releases/tag/v1.4.0 https://github.com/twalichiewicz/HNewhere/releases/tag/v1.4.... You can test with https://www.apple.com/iphone/ https://www.apple.com/iphone/
- pluc 2mo agoFirefox has a new Split View that's useful for this, but you still have to left click and select open in split view (M) then click the link. You also used to be able on some browsers to craft a link that was href="tab1.html|tab2.html", no idea if that's still a thing or if it was limited to "home page" setting.
- dagurp 2mo agoVivaldi has included split view for years (called tiles). You can also right click a link and choose open in follower tab. This lets all links clicked in one tile open in another tile. I use this regularly on HN.
- vdfs 2mo agoEdge also had, and now even Chrome have it. Edge had the open links in the other split, chrome doesn't
- Izkata 2mo agoWay back Firefox had a Tile Tabs addon that could split tabs to arbitrary depth. "Tile Tabs WE" (WE = WebExtensions) was an attempt to replace the functionality after the Quantum change killed XUL-based addons like the original Tile Tabs, but it works by positioning whole windows.
- Barbing 2mo agoI accidentally closed Firefox’s last “you’ve just updated” screen which probably mentioned Split View. Couldn’t re-open it. It’s not this https://www.firefox.com/en-US/firefox/153.0.1/releasenotes/ https://www.firefox.com/en-US/firefox/153.0.1/releasenotes/ , know if it’s mirrored?
- squigz 2mo agoIt looks like it was added in 149 https://support.mozilla.org/en-US/kb/split-view-firefox https://support.mozilla.org/en-US/kb/split-view-firefox
- 2mo ago
- perpil 2mo agoThis is slick. 2 things. 1. If you name your script with the extension .user.js it is easier to click on to automatically install at least with tampermonkey. 2. When I went to this link from the main page, on mobile I had to scroll to the right to see the (-) to minimize because the sidebar was too large: https://elizabethtai.com/2026/06/10/substack-writers-you-need-a-website/ https://elizabethtai.com/2026/06/10/substack-writers-you-nee... It may make some sense to start minimized so I can read the article first, but I can easily modify the script to do that.
- swyx 2mo agois this better than using a chrome extension? i guess people need to have tampermonkey installed and so thats a slightly higher barrier to entry? i wonder if chrome would be interested in "sherlocking" userscripts so that we can distribute non security nightmare code easier.
- perpil 2mo agoTampermonkey isn't better than using a Chrome extension, but it's less friction for a developer to build and distribute a cross browser script. If they build it as an extension, they need to target multiple browsers and get it deployed to the Firefox/Chrome web store.
- grimgrin 2mo agoI love userscripts. Aren't we all using https://github.com/violentmonkey/violentmonkey https://github.com/violentmonkey/violentmonkey now though? thought I realize "if it works it works", https://github.com/Tampermonkey/tampermonkey https://github.com/Tampermonkey/tampermonkey
- Barbing 2mo agoNot on Safari, but I should migrate on Firefox I’ve read (some controversy). zip is available only if you're logged-in on GitHub site Haven’t seen that before.
- blopp99 2mo agoThought I was the only one hahaha
- Topology1 2mo agoPhew, thought I was the only one doing that. I thought I was missing some core site feature lol.
- kalamarico 2mo agoVery cool!
- joshdavham 2mo agoI think the amount of upvotes you’re getting here suggests that it might be worth building a proper browser extension for this! Would you be interested in making one?
- twalichiewicz 2mo agoOpen to it. For now I’m going to keep it as a userscript and build out some of the interesting ideas people have suggested here. If it keeps growing, a proper extension would definitely make sense.
- neom 2mo agoRather than making hn extension, maybe you could contribute to https://oj-hn.com/ https://oj-hn.com/ / https://github.com/OrangeJuiceExtension/OrangeJuice https://github.com/OrangeJuiceExtension/OrangeJuice I use it and find it to be great, would love to see this in it! :)
- joshdavham 2mo agoMakes sense. You can also iterate faster without the hassle of getting your extension approved on the chrome store, etc.
- prtmnth 2mo agoHaha, this is so cool and can't believe I didn't think about it. I've been opening 2 tabs per HN link on my phone since forever!
- f3408fh 2mo agoNow make a user script that blocks posts titled "I was tired of X, so I...".
- frollogaston 2mo agoInstructions were unclear, rewrote this script in Rust then in Zig
- james2doyle 2mo agoNice. I’ve been using the new split tabs in Chrome. Works perfectly. I believe Firefox had this first?
- powvans 2mo agoThe submission is cool because it opens the comments even if you just happen upon some article that also happens to have a HN discussion. That said, when I read the headline I thought the same thing, “uh, right click, open in split view?” When that feature landed in Chrome my first use case was exactly this.
- txhwind 2mo agoI also wrote a Monkey script to save clicks when reading papers: just embed PDF webview into the Arxiv abstract page. https://github.com/OneMoreSecond/FileSave/blob/master/arxiv_pdf_preview.js https://github.com/OneMoreSecond/FileSave/blob/master/arxiv_... It seems the software productivity has exploded in the agent era. However, do we treat every point of daily experience seriously enough? Do we recognize such pains actively and try to eliminate them (often easy), or just tolerate infinitely?
- zouhair 2mo agohehe, I opened chatgpt and the little button blocks the three dots
- twalichiewicz 2mo agoYeah, I noticed that too. It's mostly because people tend to post ChatGPT outage pages to HN, so the script ends up activating there unfortunately. I'm working on a fix, but in the meantime you can add `@exclude https://chatgpt.com/* https://chatgpt.com/*` to the userscript header. EDIT: Added this to the v1.4.0 release just now.
- franciscop 2mo agoI made something slightly similar ~10 years ago where you could embed HN comments in your own site. It was the opposite end of consumer though, for webdevs to embed it. https://news.ycombinator.com/item?id=12898366 https://news.ycombinator.com/item?id=12898366 Note: I took it down when it seemed it could degrade HN quality if people used it as normal comments, but yours is great since it's the opposite target/usage
- kwar13 2mo agoI made an extension that opens both tabs for you and thus far has a whopping 6 users! https://chromewebstore.google.com/detail/hacker-news-saved-you-a-c/ckjnampgbgchgbpmllianpgdgaemdijk https://chromewebstore.google.com/detail/hacker-news-saved-y...
- locusofself 2mo agoIs it lame that (especially for super long discussions), I often open a gemini tab and summarize the comments? I like reading HN comment threads, but I often only have a few minutes and just want to get the gist of the reactions from the community for some topic.
- asadm 2mo agoProbably better than rushing the top comment only.
- consumer451 2mo agoyes, a bit.
- hdjdjdjrj 2mo ago[dead]
- deleted 2mo ago[deleted]
- pseudosavant 2mo agoThis is pretty cool! It had never crossed my mind that everyone else is doing the same two tab thing that I'm doing.
- Natalia724 2mo agoThe mobile default seems important here: opening the panel collapsed, then preserving its size per site, could keep the first article read predictable while retaining quick access to the discussion.
- perpil 2mo agoI modified the script to start collapsed. Code is in this issue if you would like to try it: https://github.com/twalichiewicz/HNewhere/issues/5 https://github.com/twalichiewicz/HNewhere/issues/5
- twalichiewicz 2mo ago(Replying to both of you) I've updated to v1.4.5 which now allows you to drag the toggle button anywhere you want on screen, and added the collapsed-by-default behavior on mobile.
- kccqzy 2mo agoFeature 2 is really useful. When I land on a technical article I know chances are there will be a nice HN discussion, that may sometimes even refute the main point of the article. Feature 1 is IMO less useful. It just suggests that people are bad at window management. We didn't like overlapping windows and finding them, so we created tabs inside windows. Then we wanted to see two things at the same time, so we created split views inside tabs (Chrome and Firefox both had this). With a good window manager neither would be necessary. Sadly the community prefers to solve this at the application level rather than the desktop level; I'm currently using Forge (https://github.com/forge-ext/forge https://github.com/forge-ext/forge) but sadly it's becoming unmaintained.
- ta8903 2mo agoNot sure if I agree about using windows instead of tabs. I have hundreds of tabs open, and dozens loaded, at any moment. I'm sure that it's possible to manage all the context with separate windows via a window manager, but it would have to be a REALLY good window manager to be able to provide equivalent features of tree style tabs and separate panes and whatever else that something like Sidebery provides, and it is always easier for each application developer to implement tabs suitable for that application's requirements.
- jiehong 2mo agoI think one of the point of the author is making might also be that a window manager could do just more, like managing windows as tabs as well. So that any application could have tabs, if the desktop manager would allow you to group windows as such. Same with showing a split view within such a tab as well. I think I agree with that. I could imaging that the browser containers of tabs would make a ton of sense if I could make a container of windows handled as tabs across different applications at the window manager level.
- TeMPOraL 2mo agoWindows (IE) tried to give WM visibility into tabs long ago, but this quickly revealed a problem: if tabs are now also separate windows, they enter the Alt+Tab ring, and suddenly you're Alt+Tabbing between 5 applications and dozens of open tabs. N=1, as a tab hoader, I absolutely hated it (it also made Alt+Tab itself very slow to show and cycle). The general problem is that having WM handle in-app tabs means the WM has to support every single hare-brained idea about meaning and role of tabs that app developers invent, which is infeasible. Even with browsers - until recently, you had like just two types of tabs: regular tabs, and porn-mode (er, "private browsing") tabs. Then came "account containers" or whatever it was in Firefox. Then came tab groups, reading groups, and tons of other nonsense. OTOH, I can dream of an ideal world where the OS manages all tabs for all apps via combination of Sidebery (better "tree style tabs") and a tiling WM.
- abudooboo 2mo agoHave you considered modifying it to trigger on every HNews click as well as with as manually triggered? As it is now it leaks browser URLs + query string + fragments to hn.algolia.com since it queries it on every single page you visit. At the very least it might be good to sanitize the queries by restricting to origin + path?
- twalichiewicz 2mo agoYep, looking into it. https://github.com/twalichiewicz/HNewhere/issues/2 https://github.com/twalichiewicz/HNewhere/issues/2
- latchkey 2mo agoFor orange juice, on a "selected" story, i made left arrow open the comments and right arrow open the story. bang bang. currently rocking 666 users... https://oj-hn.com https://oj-hn.com
- thelastgallon 2mo agoChrome has add tab to split view.
- trash_cat 2mo agoSo I have to Shift + Alt + n, the search for the HN blog / article in the other tab? If you have a lot of tabs this isn't feasable.
- geuis 2mo agoI don't understand the problem space. Meaning I don't understand what this solves. My use case, even on phone: View HN Right click link to open in new tab OR: tap/hold a link then open I a new window. What problem is this solving?
- monkpit 2mo agoOr, open the comments and then click the title link. Then click back when you’re done reading the article, so you can read the comments. That’s my preferred mobile workflow anyways.
- h2aichat 2mo agoI find it useful. It saves me time and you can read both things at the same time, right?
- 8ig8 2mo agoI just open the HN post and then open the article. That way I can simply go back to the comments after reading the article, whenever that may be.
- s4i 2mo agoThis. I gather interesting posts this way in my browser tabs in the phone and everytime I finish reading something I click "Back" and there's usually a discussion there, unless I opened the link originally from somewhere else than HN.
- cbhl 2mo agoThis is cool. Don't want to minimize that. That said, in case it helps anyone else, my usual flow is to middle-click (by clicking my mouse wheel) both the link and the comments link which opens each in a new background tab (at least in Chrome). Hopefully that's lower-friction than what you were doing with the two tabs.
- deleted 2mo ago[deleted]
- yoyopa 2mo ago[dead]
- vee-kay 2mo ago[dead]
- est 2mo agoThis is how reddit supposed to be. A universal comment box for del.icio.us
- parpfish 2mo agoI’d love if there were different “layers” of meta discussion on top of everything on the web. Every blog and website would have an untold number of communities having discussions that are completely optional for you to view. Instead of browsing across sites, you’d be browsing across communities seeing the same site.
- twalichiewicz 2mo agoI've been working towards building out functionality close to what you're describing. As a first feature, I added annotations where the script looks for HN comments quoting parts of the article and adds a highlighter effect. It lets you instantly see what parts of the text people are actually interested in. It's still a rough beta, but I'm actively working toward that exact vision.
- twalichiewicz 1mo agoI started working towards this goal in the latest release: you can now add Reddit as a source, so now when you visit a URL it will check across all subreddits where it's been posted and give you a blended discussion made up from everyone's comments.
- jedberg 2mo agoFun story. Way back in 2008, I tried to make it exactly that. I worked on figuring a way to inject the reddit comments onto any page. Sadly at the time the JS ecosystem just wasn't mature enough to allow users to log into reddit and safely inject it onto the page. Disqus existed, but it worked because every page was completely independent. The discussion only existed embedded on the page.
- appsbymo 2mo ago[dead]
- SCLeo 2mo agoOh, I solved this long time ago by only opening the discussion page, never read tfa, and pretend I did. /s
- jstrieb 2mo agoIf you use Firefox (and will pardon me plugging my own project), you might be interested in a version of this I made a while ago as a browser extension: https://github.com/jstrieb/hackernews-button https://github.com/jstrieb/hackernews-button My project is somewhat different from the userscript in that mine uses Bloom filters to check whether a link has been submitted, whereas this userscript sends every page you visit to the Algolia search API. Using Bloom filters means that there are no external requests unless you actually press the button. My project also doesn't show the comments in a sidebar. Having a link to past discussions, whether using this userscript or my extension, is useful not only to read the comments for a page you're browsing, but also to find good sites that haven't been submitted yet!
- avadodin 2mo agoI don't understand what the Bloom filter is supposed to achieve here. Can you elaborate?
- danbruc 2mo agoNot the author, but this prevents leaking all URLs you are visiting to agolia. Instead of asking Was this URL submitted to Hacker News? you ask Which URLs have been submitted to Hecker News?, store that in a Bloom filter, and then use the Bloom filter to answer the question Was this URL [likely] submitted to Hacker News?
- avadodin 2mo agoIs the story being submitted a common feature like dupe detection or maybe unsubmitted link detection? How does the filter know anyways? If it is provided by the package, one could imagine adversarial scenarios where "high interest" submissions are excluded from the filter(maybe even make a custom one each time that somehow lands them in a collision) so Algolia knows exactly what it wants to know about you. Probably, I should have read more into both of the projects before asking.
- 2mo ago
- wayknow 2mo ago[flagged]
- trash_cat 2mo agoWouldn't it make sense to have it an extension? Just spontainously (without reading any instructions) I don't understand how to use this or what Userscripts Tamper or Violentmonkey is.
- dewey 2mo agoI prefer user scripts as I have to install one extension that can load many plugins (user scripts) instead of having one extension for every tiny website tweak. Also much easier to glance over what a user script is doing vs. unpacking some extension and then finding the actual business logic in all the wrapper code.
- skyhigh2026 2mo ago[dead]
- FWxqQ 2mo agoI used another approach - created a custom RSS that has both links, plus the content of the top comment in the same item. There are also a few other filters like selecting only posts that have at least 50 points. Github actions handles RSS updates every five hours, making feed generation completely free. https://github.com/rzagreb/hackernews-top-rss https://github.com/rzagreb/hackernews-top-rss This is actually how I found this article as well
- ninalanyon 2mo agoIn the side bar I can't vote on the comments.
- twalichiewicz 2mo agoAdded this yesterday, update to the latest and give it a test.
- rf15 2mo agoSee, you can do this a lot easier, and a lot of HN folks have already figured out this simple trick: 1. open the comments page 2. select the comment box 3. judge the linked content by its HN title alone and get ready to post /s
- gorgoiler 2mo agoThe thing I like most about your post is it has prompted me to read an example of a user script. Thanks! In the excludes, did you mean *.bank.com, or *bank.com? Or maybe even *bank*.*!
- twalichiewicz 2mo agoI've been trying to think through a schema that would work universally, but so far it's proven tricky to not over-bias and risk blocking a legitimate use case.
- jason1cho 2mo agoI'm a fan of user script, glad to see people are also developing new ones. The uploads to greasy fork seem reduced these days.
- mohamedsayhii 2mo agolove it
- Asmod4n 2mo agoJust curious, can’t this be done using a bookmarklet? Albeit it being a bit clunky to use compared to a userscript which runs automatically.
- croisillon 2mo ago> I was tired of opening 2 tabs for every HN link classic beginner error, in fact no one is supposed to click on TFA
- deleted 2mo ago[deleted]
- Razengan 2mo agoI've made ChatGPT Atlas as my AI-only browser. Whenever there's an HN post about something interesting but not THAT interesting to manually sift through 100+ comments on it, I just ask it to summarize it for me :')
- e-Minguez 2mo agoCan the links be opened in pairs using the split view feature? like create a split view, open the article on the left hand side and the comments on the right hand side.
- SnipeOfficial 2mo ago[flagged]
- deleted 2mo ago[deleted]
- deleted 2mo ago[deleted]
- Ostatnigrosh 2mo agoJust command + click
- ML0037 2mo agoHello, Just for your information, when I open "https://claude.ai/new https://claude.ai/new" the script automatically open a random article, do you know why?
- twalichiewicz 2mo agoThere are several non-static pages that people have previously submitted to HN that can cause some strange behavior like this. In the latest version I just published (v1.4.7) I've excluded the main ChatGPT and Claude homepages (but not subpages) which should fix this bug.
- deleted 2mo ago[deleted]
- LoveMortuus 2mo agoI (very) often just read the discussion on HN and don't open the links, usually just by reading the title I know what's it about and the content I receive from the discussion here, plus I get any corrections y'all find along with needed skepticism, doubts and questions.
- twalichiewicz 2mo agoI feel similarly. That's actually why I started messing around with a feature where HN comments dynamically annotate the target website. It lets you read the article while seeing exactly where users commented on a particular aspect, sort of like GSuite or Google Docs comments.
- sn9 2mo agoIn Firefox, you can just open a new tab in split view.
- deleted 2mo ago[deleted]
- deleted 2mo ago[deleted]
- PKop 2mo ago@twalichiewicz, why do you use a fake AI generated pfp across all of your online accounts?
- jpl56 2mo agoIt's a good thing to optimize workflows and sometimes it can help others. I miss the Firefox extension someone wrote a while ago (like ~2012), it was called HnMarkAllRead 1) it marked as read all topics on a page by clicking a button, even the ones I didn't visit yet and 2) it had this option to not display a topic already read on a previous session when displaying the next page A new Firefox version killed it unfortunately.
- deleted 2mo ago[deleted]
- deleted 2mo ago[deleted]
- deleted 2mo ago[deleted]
- cyanregiment 2mo agoI would use a HN web browser with this built in, also with easy tools to comment or submit a URL you’re currently on. I know it could be just Chrome extensions but why not a whole new browser that also enforces the “bookish” aesthetic by default and is designed around reading articles. Feel like if you did wrap Chromium and got HN users using it, the Extensions would be a lot more active and exciting as many Show HNs could be one
- twalichiewicz 2mo agoThanks again for the feedback everyone! I've made quite a few improvements from the original version over the past few days, but unfortunately the OG version I released didn't specify the @updateURL or @downloadURL so you may not automatically get updated if you installed when I first posted this. And as always, if you find any bugs or have any additional feedback, please report at https://github.com/twalichiewicz/HNewhere/issues https://github.com/twalichiewicz/HNewhere/issues