<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Hacker News: vitalets</title><link>https://news.ycombinator.com/user?id=vitalets</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Sat, 18 Apr 2026 09:23:22 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=vitalets" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[Show HN: A Chrome extension to open bookmarks in a new tab by default]]></title><description><![CDATA[
<p>I got tired of losing my current page every time I clicked a bookmark and forgot to Ctrl+click. So I built a Chrome extension that makes bookmarks open in a new tab by default — with just a regular left-click.<p>What seemed like a simple idea turned out to be surprisingly tricky to implement. Chrome doesn't provide a direct API for intercepting bookmark clicks from the bookmarks bar, so I had to get creative:<p>- The extension slightly rewrites the bookmark URL (using the username part of the URL scheme)
- When clicked, the link redirects to a harmless ZIP file, which triggers a download and leaves the current tab untouched
- The extension intercepts the download and instantly cancels it
- Then it opens the original URL in a new tab<p>The final solution may look over-engineered — and it kind of is — but it works reliably, preserves favicons, and doesn't break UX.<p>You can try it here:
<a href="https://chromewebstore.google.com/detail/open-bookmarks-in-a-new-t/mcecogccjlcplcccpnejnldpijppkfil" rel="nofollow">https://chromewebstore.google.com/detail/open-bookmarks-in-a...</a><p>Happy to hear your feedback.</p>
<hr>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=43856352">https://news.ycombinator.com/item?id=43856352</a></p>
<p>Points: 1</p>
<p># Comments: 0</p>
]]></description><pubDate>Thu, 01 May 2025 11:39:18 +0000</pubDate><link>https://chromewebstore.google.com/detail/open-bookmarks-in-a-new-t/mcecogccjlcplcccpnejnldpijppkfil</link><dc:creator>vitalets</dc:creator><comments>https://news.ycombinator.com/item?id=43856352</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43856352</guid></item><item><title><![CDATA[New comment by vitalets in "Show HN: Simplex: Automate browser workflows using code and natural language"]]></title><description><![CDATA[
<p>I've tried the following code:<p><pre><code>    simplex.goto("github.com/mitchellh")
    num_contribs = simplex.extract_text("blabla")
    print(num_contribs)
</code></pre>
It outputs all texts from the page. Is it expected? Maybe it should fail indicating element could not be found?</p>
]]></description><pubDate>Wed, 15 Jan 2025 06:14:47 +0000</pubDate><link>https://news.ycombinator.com/item?id=42707902</link><dc:creator>vitalets</dc:creator><comments>https://news.ycombinator.com/item?id=42707902</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=42707902</guid></item><item><title><![CDATA[New comment by vitalets in "Show HN: Stagehand – an open source browser automation framework powered by AI"]]></title><description><![CDATA[
<p>Looks interesting. I know about the similar project - <a href="https://zerostep.com" rel="nofollow">https://zerostep.com</a>. Is it basically the same?</p>
]]></description><pubDate>Tue, 14 Jan 2025 07:09:07 +0000</pubDate><link>https://news.ycombinator.com/item?id=42694601</link><dc:creator>vitalets</dc:creator><comments>https://news.ycombinator.com/item?id=42694601</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=42694601</guid></item><item><title><![CDATA[New comment by vitalets in "[dead]"]]></title><description><![CDATA[
<p>Hi HN! I've developed an approach that adds a button to the Playwright HTML report, enabling you to fix failing tests using AI. It works well on the Playwright site tests, but I'm curious how it will behave on other projects. Would appreciate your feedback.</p>
]]></description><pubDate>Tue, 14 Jan 2025 06:59:15 +0000</pubDate><link>https://news.ycombinator.com/item?id=42694546</link><dc:creator>vitalets</dc:creator><comments>https://news.ycombinator.com/item?id=42694546</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=42694546</guid></item><item><title><![CDATA[What do you feel when popular GitHub project is not translated to English?]]></title><description><![CDATA[
<p>When I check GitHub trending repositories [0] I often see popular projects that are not translated in English. More often they are in Chinese.<p>I'd like to learn what are these projects about and how can I use or support them - but I can't.<p>What do you feel about it? 
Should we encourage developers to translate?<p>[0] https://github.com/trending</p>
<hr>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=16687608">https://news.ycombinator.com/item?id=16687608</a></p>
<p>Points: 1</p>
<p># Comments: 1</p>
]]></description><pubDate>Tue, 27 Mar 2018 12:27:19 +0000</pubDate><link>https://news.ycombinator.com/item?id=16687608</link><dc:creator>vitalets</dc:creator><comments>https://news.ycombinator.com/item?id=16687608</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=16687608</guid></item><item><title><![CDATA[New comment by vitalets in "Show HN: GitHub Trending Repos"]]></title><description><![CDATA[
<p>Unfortunately not. GitHub official newsletter only contains trending repositories across all programming languages. So you can't focus on particular language.</p>
]]></description><pubDate>Wed, 28 Feb 2018 07:54:16 +0000</pubDate><link>https://news.ycombinator.com/item?id=16481431</link><dc:creator>vitalets</dc:creator><comments>https://news.ycombinator.com/item?id=16481431</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=16481431</guid></item><item><title><![CDATA[New comment by vitalets in "Show HN: GitHub Trending Repos"]]></title><description><![CDATA[
<p>> But seems that the issues have been locked and not updated since November without explanation as to why.<p>GitHub shows issue creation date, not last update.</p>
]]></description><pubDate>Sat, 24 Feb 2018 11:03:54 +0000</pubDate><link>https://news.ycombinator.com/item?id=16452749</link><dc:creator>vitalets</dc:creator><comments>https://news.ycombinator.com/item?id=16452749</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=16452749</guid></item><item><title><![CDATA[New comment by vitalets in "Show HN: GitHub Trending Repos"]]></title><description><![CDATA[
<p>Thanks for posting this and for the comments!<p>Before creating this repo I've researched existing solutions and described the comparison here:
<a href="https://medium.freecodecamp.org/five-ways-of-tracking-trends-on-github-63940fca63b" rel="nofollow">https://medium.freecodecamp.org/five-ways-of-tracking-trends...</a></p>
]]></description><pubDate>Sat, 24 Feb 2018 10:57:04 +0000</pubDate><link>https://news.ycombinator.com/item?id=16452724</link><dc:creator>vitalets</dc:creator><comments>https://news.ycombinator.com/item?id=16452724</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=16452724</guid></item><item><title><![CDATA[New comment by vitalets in "Show HN: GitHub Trending Repos"]]></title><description><![CDATA[
<p>It seems you've looked at the issue open date. The updates to Swift are coming daily: <a href="https://github.com/vitalets/github-trending-repos/issues/36#issuecomment-368174053" rel="nofollow">https://github.com/vitalets/github-trending-repos/issues/36#...</a></p>
]]></description><pubDate>Sat, 24 Feb 2018 10:52:54 +0000</pubDate><link>https://news.ycombinator.com/item?id=16452710</link><dc:creator>vitalets</dc:creator><comments>https://news.ycombinator.com/item?id=16452710</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=16452710</guid></item><item><title><![CDATA[Top stable browsers can run your tests as Native ES6 Modules without Babel]]></title><description><![CDATA[
<p>Article URL: <a href="https://medium.com/dailyjs/running-mocha-tests-as-native-es6-modules-in-a-browser-882373f2ecb0">https://medium.com/dailyjs/running-mocha-tests-as-native-es6-modules-in-a-browser-882373f2ecb0</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=15905031">https://news.ycombinator.com/item?id=15905031</a></p>
<p>Points: 1</p>
<p># Comments: 0</p>
]]></description><pubDate>Tue, 12 Dec 2017 12:17:28 +0000</pubDate><link>https://medium.com/dailyjs/running-mocha-tests-as-native-es6-modules-in-a-browser-882373f2ecb0</link><dc:creator>vitalets</dc:creator><comments>https://news.ycombinator.com/item?id=15905031</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=15905031</guid></item><item><title><![CDATA[How do you follow trends in your favorite programming language on GitHub?]]></title><description><![CDATA[
<p>Article URL: <a href="https://medium.freecodecamp.org/five-ways-of-tracking-trends-on-github-63940fca63b">https://medium.freecodecamp.org/five-ways-of-tracking-trends-on-github-63940fca63b</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=15870135">https://news.ycombinator.com/item?id=15870135</a></p>
<p>Points: 1</p>
<p># Comments: 0</p>
]]></description><pubDate>Thu, 07 Dec 2017 14:21:54 +0000</pubDate><link>https://medium.freecodecamp.org/five-ways-of-tracking-trends-on-github-63940fca63b</link><dc:creator>vitalets</dc:creator><comments>https://news.ycombinator.com/item?id=15870135</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=15870135</guid></item><item><title><![CDATA[The right way to clear timeout in Promise.race?]]></title><description><![CDATA[
<p>Article URL: <a href="https://jslive.com/p/3x2x9h-the-right-way-to-clear-timeout-in-promiserace">https://jslive.com/p/3x2x9h-the-right-way-to-clear-timeout-in-promiserace</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=15786857">https://news.ycombinator.com/item?id=15786857</a></p>
<p>Points: 1</p>
<p># Comments: 0</p>
]]></description><pubDate>Mon, 27 Nov 2017 12:43:01 +0000</pubDate><link>https://jslive.com/p/3x2x9h-the-right-way-to-clear-timeout-in-promiserace</link><dc:creator>vitalets</dc:creator><comments>https://news.ycombinator.com/item?id=15786857</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=15786857</guid></item><item><title><![CDATA[A Promise-Based API for SetTimeout / ClearTimeout]]></title><description><![CDATA[
<p>Article URL: <a href="https://github.com/vitalets/await-timeout">https://github.com/vitalets/await-timeout</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=15770042">https://news.ycombinator.com/item?id=15770042</a></p>
<p>Points: 3</p>
<p># Comments: 0</p>
]]></description><pubDate>Fri, 24 Nov 2017 08:13:05 +0000</pubDate><link>https://github.com/vitalets/await-timeout</link><dc:creator>vitalets</dc:creator><comments>https://news.ycombinator.com/item?id=15770042</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=15770042</guid></item><item><title><![CDATA[Promise-based W3C WebSocket client]]></title><description><![CDATA[
<p>Article URL: <a href="https://github.com/vitalets/websocket-as-promised">https://github.com/vitalets/websocket-as-promised</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=15456575">https://news.ycombinator.com/item?id=15456575</a></p>
<p>Points: 2</p>
<p># Comments: 0</p>
]]></description><pubDate>Thu, 12 Oct 2017 08:50:28 +0000</pubDate><link>https://github.com/vitalets/websocket-as-promised</link><dc:creator>vitalets</dc:creator><comments>https://news.ycombinator.com/item?id=15456575</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=15456575</guid></item><item><title><![CDATA[New comment by vitalets in "JavaScript Test-Runners Benchmark: A comparison of the most popular test-runners"]]></title><description><![CDATA[
<p>I agree. We should consider several criterias. The speed becomes more important for huge number of tests when execution time starts to annoy developers.</p>
]]></description><pubDate>Wed, 28 Jun 2017 08:55:29 +0000</pubDate><link>https://news.ycombinator.com/item?id=14652646</link><dc:creator>vitalets</dc:creator><comments>https://news.ycombinator.com/item?id=14652646</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=14652646</guid></item><item><title><![CDATA[JavaScript Test-Runners Benchmark: A comparison of the most popular test-runners]]></title><description><![CDATA[
<p>Article URL: <a href="https://medium.com/dailyjs/javascript-test-runners-benchmark-3a78d4117b4">https://medium.com/dailyjs/javascript-test-runners-benchmark-3a78d4117b4</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=14646554">https://news.ycombinator.com/item?id=14646554</a></p>
<p>Points: 2</p>
<p># Comments: 2</p>
]]></description><pubDate>Tue, 27 Jun 2017 15:55:11 +0000</pubDate><link>https://medium.com/dailyjs/javascript-test-runners-benchmark-3a78d4117b4</link><dc:creator>vitalets</dc:creator><comments>https://news.ycombinator.com/item?id=14646554</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=14646554</guid></item><item><title><![CDATA[Analyzing React’s Source Code for Type Mismatch Operations]]></title><description><![CDATA[
<p>Article URL: <a href="https://medium.com/dailyjs/analyzing-reacts-source-code-for-type-mismatch-operations-9ca065e5b91">https://medium.com/dailyjs/analyzing-reacts-source-code-for-type-mismatch-operations-9ca065e5b91</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=14295977">https://news.ycombinator.com/item?id=14295977</a></p>
<p>Points: 1</p>
<p># Comments: 0</p>
]]></description><pubDate>Mon, 08 May 2017 21:54:30 +0000</pubDate><link>https://medium.com/dailyjs/analyzing-reacts-source-code-for-type-mismatch-operations-9ca065e5b91</link><dc:creator>vitalets</dc:creator><comments>https://news.ycombinator.com/item?id=14295977</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=14295977</guid></item><item><title><![CDATA[Runtyper – Babel plugin for runtime type checking in JavaScript]]></title><description><![CDATA[
<p>Article URL: <a href="https://github.com/vitalets/babel-plugin-runtyper">https://github.com/vitalets/babel-plugin-runtyper</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=14002421">https://news.ycombinator.com/item?id=14002421</a></p>
<p>Points: 2</p>
<p># Comments: 0</p>
]]></description><pubDate>Fri, 31 Mar 2017 10:11:41 +0000</pubDate><link>https://github.com/vitalets/babel-plugin-runtyper</link><dc:creator>vitalets</dc:creator><comments>https://news.ycombinator.com/item?id=14002421</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=14002421</guid></item></channel></rss>