<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: srijs</title><link>https://news.ycombinator.com/user?id=srijs</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Fri, 25 Sep 2026 16:57:34 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=srijs" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by srijs in "Solving for faster SHA-1 collision detection"]]></title><description><![CDATA[
<p>Hi, author here. FWIW the blog is fully hand-written. I used Claude to help me generate the visuals.<p>What goes into head vs. tail is actually fully deterministically decided by the solver based on a P(tail) gradient, so expressions that are more effective in filtering out blocks before they can hit the (slower) tail are preferred in the prefix.</p>
]]></description><pubDate>Thu, 24 Sep 2026 09:36:16 +0000</pubDate><link>https://news.ycombinator.com/item?id=49828299</link><dc:creator>srijs</dc:creator><comments>https://news.ycombinator.com/item?id=49828299</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49828299</guid></item><item><title><![CDATA[Solving for faster SHA-1 collision detection]]></title><description><![CDATA[
<p>Article URL: <a href="https://sam.dev/blog/faster-sha1-collision-detection">https://sam.dev/blog/faster-sha1-collision-detection</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=49791558">https://news.ycombinator.com/item?id=49791558</a></p>
<p>Points: 58</p>
<p># Comments: 10</p>
]]></description><pubDate>Mon, 21 Sep 2026 18:46:17 +0000</pubDate><link>https://sam.dev/blog/faster-sha1-collision-detection</link><dc:creator>srijs</dc:creator><comments>https://news.ycombinator.com/item?id=49791558</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49791558</guid></item><item><title><![CDATA[Speeding up gearhash on ARM64 (2× faster)]]></title><description><![CDATA[
<p>Article URL: <a href="https://sam.dev/blog/gearhash-on-arm64">https://sam.dev/blog/gearhash-on-arm64</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=49589584">https://news.ycombinator.com/item?id=49589584</a></p>
<p>Points: 2</p>
<p># Comments: 0</p>
]]></description><pubDate>Sun, 06 Sep 2026 18:50:23 +0000</pubDate><link>https://sam.dev/blog/gearhash-on-arm64</link><dc:creator>srijs</dc:creator><comments>https://news.ycombinator.com/item?id=49589584</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49589584</guid></item><item><title><![CDATA[New comment by srijs in "Simple, Fast, and Scalable Reverse Image Search"]]></title><description><![CDATA[
<p>1x RCU gives you 1 strongly consistent read of up to 4KB _per second_. So 8000 reads per second require 8000 RCUs, which at list pricing comes to $1 per hour. And that's assuming reads do need to be strongly consistent (otherwise half the price) and no discounts are applied.</p>
]]></description><pubDate>Wed, 19 Oct 2022 18:53:35 +0000</pubDate><link>https://news.ycombinator.com/item?id=33266367</link><dc:creator>srijs</dc:creator><comments>https://news.ycombinator.com/item?id=33266367</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=33266367</guid></item><item><title><![CDATA[New comment by srijs in "Plumbum: A lazy, constant-memory streaming data Rust library"]]></title><description><![CDATA[
<p>Author here. Slightly simplifying, a Kleisli arrow is just a function from `A` to `M<B>`, and which is composable, similar to function composition:<p><pre><code>    Kleisli<M, A, B> + Kleisli<M, B, C> = Kleisli<M, A, C>
</code></pre>
Although it is an important part of how the conduits work, it is not strictly necessary for using the library.<p>Would it help if I clarified that somewhere, or would you rather not read "Kleisli" anywhere in the docs?</p>
]]></description><pubDate>Mon, 12 Oct 2015 00:51:09 +0000</pubDate><link>https://news.ycombinator.com/item?id=10371898</link><dc:creator>srijs</dc:creator><comments>https://news.ycombinator.com/item?id=10371898</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=10371898</guid></item><item><title><![CDATA[New comment by srijs in "JSON Lines"]]></title><description><![CDATA[
<p>There is also NDJSON (aka Newline-delimited JSON): <a href="http://ndjson.org/" rel="nofollow">http://ndjson.org/</a><p>(disclosure: I'm the author of the Haskell ndjson-conduit library)</p>
]]></description><pubDate>Sat, 26 Sep 2015 06:00:33 +0000</pubDate><link>https://news.ycombinator.com/item?id=10282266</link><dc:creator>srijs</dc:creator><comments>https://news.ycombinator.com/item?id=10282266</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=10282266</guid></item><item><title><![CDATA[New comment by srijs in "Download Atom editor without an invite"]]></title><description><![CDATA[
<p>From the official update:<p>$ shasum -a 256 atom-mac.zip
4614ec62feaea32392ad7f6b3a80534c8ad0c758ed210cabafcc86c5c49a49a1  atom-mac.zip<p>$ md5sum atom-mac.zip
5454bd3a8271c93f5225cd2b57cdab81  atom-mac.zip</p>
]]></description><pubDate>Sun, 02 Mar 2014 13:19:27 +0000</pubDate><link>https://news.ycombinator.com/item?id=7329044</link><dc:creator>srijs</dc:creator><comments>https://news.ycombinator.com/item?id=7329044</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=7329044</guid></item><item><title><![CDATA[Show HN: Open Source Node.js Interpreter for iOS]]></title><description><![CDATA[
<p>Article URL: <a href="https://itunes.apple.com/app/id793774475">https://itunes.apple.com/app/id793774475</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=7052256">https://news.ycombinator.com/item?id=7052256</a></p>
<p>Points: 15</p>
<p># Comments: 0</p>
]]></description><pubDate>Mon, 13 Jan 2014 18:13:31 +0000</pubDate><link>https://itunes.apple.com/app/id793774475</link><dc:creator>srijs</dc:creator><comments>https://news.ycombinator.com/item?id=7052256</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=7052256</guid></item><item><title><![CDATA[Show HN: Node.app - Node.js for iOS (supports timers, events, fs, utils, ...)]]></title><description><![CDATA[
<p>Article URL: <a href="http://nodeapp.org/">http://nodeapp.org/</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=6823437">https://news.ycombinator.com/item?id=6823437</a></p>
<p>Points: 3</p>
<p># Comments: 1</p>
]]></description><pubDate>Sat, 30 Nov 2013 15:54:37 +0000</pubDate><link>http://nodeapp.org/</link><dc:creator>srijs</dc:creator><comments>https://news.ycombinator.com/item?id=6823437</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=6823437</guid></item><item><title><![CDATA[New comment by srijs in "Show HN: Proof-of-concept Node.JS-like interface with iOS 7 JavaScriptCore"]]></title><description><![CDATA[
<p>Very happy about your input! :)<p>I think you got a very good point there regarding the impedance mismatch between native and js apis.<p>Really enjoying the uvbook, this got me sold on the libuv api. After skimming through the source and being happy that libuv is indeed just a very thin wrapper around posix, I just integrated libuv with my project and will base all bindings upon that.<p>Thank you very much!</p>
]]></description><pubDate>Tue, 15 Oct 2013 20:25:59 +0000</pubDate><link>https://news.ycombinator.com/item?id=6556069</link><dc:creator>srijs</dc:creator><comments>https://news.ycombinator.com/item?id=6556069</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=6556069</guid></item><item><title><![CDATA[New comment by srijs in "Show HN: Proof-of-concept Node.JS-like interface with iOS 7 JavaScriptCore"]]></title><description><![CDATA[
<p>Thanks a bunch for your feedback :)<p>My initial plan was to provide the node features using Foundation.framework features only.  Now, this could turn out to be
more boilerplate code than I intended to write and if it does, I'm
now pretty sure I'd go with libuv.<p>I'm not quite sure about using libuv from the start, though.  My consideration was that  a) this is not targeted at server applications, so you don't necessarily need very high performance and  b) libuv is a cross-platform library, while I'm targeting darwin only, so it might be a bit overkill.<p>Do you have experience with libuv? If so, do you have experience regarding footprint / conciseness? Can you confirm/deny my presumptions?</p>
]]></description><pubDate>Tue, 15 Oct 2013 07:21:28 +0000</pubDate><link>https://news.ycombinator.com/item?id=6551976</link><dc:creator>srijs</dc:creator><comments>https://news.ycombinator.com/item?id=6551976</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=6551976</guid></item><item><title><![CDATA[New comment by srijs in "Show HN: Proof-of-concept Node.JS-like interface with iOS 7 JavaScriptCore"]]></title><description><![CDATA[
<p>I did some evaluation a while ago about bundling a Javascript engine with mobile apps on iOS and concluded JSC was way easier to compile and integrate. This is in fact what e.g. Appcelerator Titanium does currently.
However, this bundling results in huge binaries, which is not very nice for mobile platforms.<p>The thing that got me into hacking the prototype was the release of JSC as a public system framework on iOS7, eliminating the need to separately bundle JSC.
So its not really a platform preference, I'm just trying to work with what's currently there...</p>
]]></description><pubDate>Mon, 14 Oct 2013 16:50:59 +0000</pubDate><link>https://news.ycombinator.com/item?id=6548294</link><dc:creator>srijs</dc:creator><comments>https://news.ycombinator.com/item?id=6548294</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=6548294</guid></item><item><title><![CDATA[New comment by srijs in "Show HN: Proof-of-concept Node.JS-like interface with iOS 7 JavaScriptCore"]]></title><description><![CDATA[
<p>Thanks :)</p>
]]></description><pubDate>Mon, 14 Oct 2013 15:23:19 +0000</pubDate><link>https://news.ycombinator.com/item?id=6547732</link><dc:creator>srijs</dc:creator><comments>https://news.ycombinator.com/item?id=6547732</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=6547732</guid></item><item><title><![CDATA[New comment by srijs in "Show HN: Proof-of-concept Node.JS-like interface with iOS 7 JavaScriptCore"]]></title><description><![CDATA[
<p>JavaScriptCore is a cross-platform javascript engine on it's own that is used by default in WebKit browsers (Safari, Mobile Safari, Konqueror, etc.).<p>The new thing on iOS 7 is that this framework is exposed as a public API you can code against. So you don't have to initialize a heavy-weight WebView just to execute Javascript.</p>
]]></description><pubDate>Mon, 14 Oct 2013 12:23:55 +0000</pubDate><link>https://news.ycombinator.com/item?id=6546791</link><dc:creator>srijs</dc:creator><comments>https://news.ycombinator.com/item?id=6546791</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=6546791</guid></item><item><title><![CDATA[New comment by srijs in "Show HN: Proof-of-concept Node.JS-like interface with iOS 7 JavaScriptCore"]]></title><description><![CDATA[
<p>This is very rough and no IO is supported yet. However, I think it serves well as a proof-of-concept that a lightweight node-compatible interface can be done for mobile apps using javascript.<p>Tell me what you think! :)</p>
]]></description><pubDate>Mon, 14 Oct 2013 11:29:07 +0000</pubDate><link>https://news.ycombinator.com/item?id=6546610</link><dc:creator>srijs</dc:creator><comments>https://news.ycombinator.com/item?id=6546610</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=6546610</guid></item><item><title><![CDATA[Show HN: Proof-of-concept Node.JS-like interface with iOS 7 JavaScriptCore]]></title><description><![CDATA[
<p>Article URL: <a href="https://github.com/srijs/NodelikeDemo">https://github.com/srijs/NodelikeDemo</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=6546608">https://news.ycombinator.com/item?id=6546608</a></p>
<p>Points: 30</p>
<p># Comments: 14</p>
]]></description><pubDate>Mon, 14 Oct 2013 11:28:20 +0000</pubDate><link>https://github.com/srijs/NodelikeDemo</link><dc:creator>srijs</dc:creator><comments>https://news.ycombinator.com/item?id=6546608</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=6546608</guid></item><item><title><![CDATA[Add Support for 80+ Filetypes to your iPhone]]></title><description><![CDATA[
<p>Article URL: <a href="http://www.doctapeviewer.com">http://www.doctapeviewer.com</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=6277016">https://news.ycombinator.com/item?id=6277016</a></p>
<p>Points: 14</p>
<p># Comments: 4</p>
]]></description><pubDate>Mon, 26 Aug 2013 13:54:50 +0000</pubDate><link>http://www.doctapeviewer.com</link><dc:creator>srijs</dc:creator><comments>https://news.ycombinator.com/item?id=6277016</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=6277016</guid></item><item><title><![CDATA[New comment by srijs in "Compiling LLJS to asm.js"]]></title><description><![CDATA[
<p>Typed arrays do deliver a lot of speedup, and in fact, the above example is slightly faster in Chrome than in Firefox Nightly for me. However, if your algorithm does crunch a lot of data in a low-level way, there is definitely even more performance you can get by using asm.js.<p>See my link in the comment below for benchmarks of a sha1 algorithm that shows a good speedup in Chrome by using TypedArrays, but an even greater one in OdinMonkey.</p>
]]></description><pubDate>Tue, 26 Mar 2013 08:59:23 +0000</pubDate><link>https://news.ycombinator.com/item?id=5441977</link><dc:creator>srijs</dc:creator><comments>https://news.ycombinator.com/item?id=5441977</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=5441977</guid></item><item><title><![CDATA[New comment by srijs in "Compiling LLJS to asm.js"]]></title><description><![CDATA[
<p>Thank you. I just updated my code and it's really within half of native speed now... (benchmarks in the README, if any of you are interested)<p>asm.js is very exciting technology!</p>
]]></description><pubDate>Mon, 25 Mar 2013 23:45:51 +0000</pubDate><link>https://news.ycombinator.com/item?id=5440448</link><dc:creator>srijs</dc:creator><comments>https://news.ycombinator.com/item?id=5440448</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=5440448</guid></item><item><title><![CDATA[New comment by srijs in "Compiling LLJS to asm.js"]]></title><description><![CDATA[
<p>Cool. I recently wrote a low-level sha1 implementation in pure javascript, trying to leverage asm.js (<a href="http://github.com/srijs/rusha" rel="nofollow">http://github.com/srijs/rusha</a>).<p>Can you tell me, how did you confirm you wrote valid asm.js and there was no fallback-mechanism kicking in?<p>I benchmarked my implementation, of course, and noticed a 2x speedup. However, this seems quite less for the this type of low-level algorithm...</p>
]]></description><pubDate>Mon, 25 Mar 2013 20:38:57 +0000</pubDate><link>https://news.ycombinator.com/item?id=5439558</link><dc:creator>srijs</dc:creator><comments>https://news.ycombinator.com/item?id=5439558</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=5439558</guid></item></channel></rss>