<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: mnarayan01</title><link>https://news.ycombinator.com/user?id=mnarayan01</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Tue, 07 Apr 2026 05:43:19 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=mnarayan01" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by mnarayan01 in "Implementing Cosine in C from Scratch (2020)"]]></title><description><![CDATA[
<p>For anyone else confused by this, the control logic described in the comment happens in <a href="https://github.com/ifduyue/musl/blob/master/src/math/cos.c" rel="nofollow">https://github.com/ifduyue/musl/blob/master/src/math/cos.c</a></p>
]]></description><pubDate>Wed, 30 Mar 2022 00:47:46 +0000</pubDate><link>https://news.ycombinator.com/item?id=30850273</link><dc:creator>mnarayan01</dc:creator><comments>https://news.ycombinator.com/item?id=30850273</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=30850273</guid></item><item><title><![CDATA[New comment by mnarayan01 in "Improving Git protocol security on GitHub"]]></title><description><![CDATA[
<p>Git has all sorts of options for using proxies, but running socat would be the quick and dirty way to do this, something like:<p><pre><code>  socat TCP-LISTEN:8080,fork,reuseaddr OPENSSL:github.com:443
</code></pre>
would let you use an HTTP connection to your less archaic machine. Could even configure git to automatically do the rewrite similar to <a href="https://stackoverflow.com/questions/1722807/how-to-convert-git-urls-to-http-urls" rel="nofollow">https://stackoverflow.com/questions/1722807/how-to-convert-g...</a>. There's security considerations here so don't just do this blindly, but if no more unencrypted git protocol is a real pain point there's pain free ways around it.</p>
]]></description><pubDate>Thu, 02 Sep 2021 01:47:27 +0000</pubDate><link>https://news.ycombinator.com/item?id=28387806</link><dc:creator>mnarayan01</dc:creator><comments>https://news.ycombinator.com/item?id=28387806</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=28387806</guid></item><item><title><![CDATA[New comment by mnarayan01 in "A Look at the CPU Security Mitigation Costs Three Years After Spectre/Meltdown"]]></title><description><![CDATA[
<p>Unfortunately e.g. the RHEL 7 world doesn't have mitigations=off yet (in addition to many other kernel command line sugars).</p>
]]></description><pubDate>Thu, 07 Jan 2021 03:40:59 +0000</pubDate><link>https://news.ycombinator.com/item?id=25667019</link><dc:creator>mnarayan01</dc:creator><comments>https://news.ycombinator.com/item?id=25667019</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=25667019</guid></item><item><title><![CDATA[New comment by mnarayan01 in "Fixing Mass Effect black blobs on modern AMD CPUs"]]></title><description><![CDATA[
<p>0/0 = NaN</p>
]]></description><pubDate>Sun, 19 Jul 2020 19:33:51 +0000</pubDate><link>https://news.ycombinator.com/item?id=23891797</link><dc:creator>mnarayan01</dc:creator><comments>https://news.ycombinator.com/item?id=23891797</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=23891797</guid></item><item><title><![CDATA[New comment by mnarayan01 in "Things Markdown got wrong"]]></title><description><![CDATA[
<p>> Code Blocks probably aren't necessary<p>When you're reading raw markdown they're <i>extremely</i> useful for short snippets since they save you two wasted lines per block.</p>
]]></description><pubDate>Sat, 04 Apr 2020 04:57:49 +0000</pubDate><link>https://news.ycombinator.com/item?id=22776292</link><dc:creator>mnarayan01</dc:creator><comments>https://news.ycombinator.com/item?id=22776292</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=22776292</guid></item><item><title><![CDATA[New comment by mnarayan01 in "A QUIC look at HTTP/3"]]></title><description><![CDATA[
<p>The other requests are still taking the latency hit.</p>
]]></description><pubDate>Sat, 14 Mar 2020 12:50:04 +0000</pubDate><link>https://news.ycombinator.com/item?id=22574899</link><dc:creator>mnarayan01</dc:creator><comments>https://news.ycombinator.com/item?id=22574899</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=22574899</guid></item><item><title><![CDATA[New comment by mnarayan01 in "Types will be part of Ruby 3 stdlib source"]]></title><description><![CDATA[
<p>That's a block returning a Hash; see bhuga's sibling comment where he notes that they're using blocks to lazy load the constants in the type definition, which may seem silly for e.g. Integer, but consider e.g. some high-dependency Rails model which requires auto-loading 10,000 other classes.</p>
]]></description><pubDate>Sat, 20 Apr 2019 04:54:01 +0000</pubDate><link>https://news.ycombinator.com/item?id=19704878</link><dc:creator>mnarayan01</dc:creator><comments>https://news.ycombinator.com/item?id=19704878</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=19704878</guid></item><item><title><![CDATA[New comment by mnarayan01 in "Types will be part of Ruby 3 stdlib source"]]></title><description><![CDATA[
<p>Then you'd need an extra set of delimiters, e.g.:<p><pre><code>  sig {{name: String, returns: Integer}}</code></pre></p>
]]></description><pubDate>Fri, 19 Apr 2019 12:27:01 +0000</pubDate><link>https://news.ycombinator.com/item?id=19698981</link><dc:creator>mnarayan01</dc:creator><comments>https://news.ycombinator.com/item?id=19698981</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=19698981</guid></item><item><title><![CDATA[New comment by mnarayan01 in "Types will be part of Ruby 3 stdlib source"]]></title><description><![CDATA[
<p>The parser thinks that's a block not a hash.</p>
]]></description><pubDate>Fri, 19 Apr 2019 10:31:44 +0000</pubDate><link>https://news.ycombinator.com/item?id=19698369</link><dc:creator>mnarayan01</dc:creator><comments>https://news.ycombinator.com/item?id=19698369</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=19698369</guid></item><item><title><![CDATA[New comment by mnarayan01 in "Problem solving with Unix commands"]]></title><description><![CDATA[
<p>> mouse(!) selection of arbitrary text that can be piped to commands and so on<p>E.g.:<p><pre><code>  xclip -out | ...
</code></pre>
or do you mean something different?</p>
]]></description><pubDate>Thu, 14 Feb 2019 15:28:12 +0000</pubDate><link>https://news.ycombinator.com/item?id=19162548</link><dc:creator>mnarayan01</dc:creator><comments>https://news.ycombinator.com/item?id=19162548</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=19162548</guid></item><item><title><![CDATA[New comment by mnarayan01 in "Major sites running unauthenticated JavaScript on their payment pages"]]></title><description><![CDATA[
<p>You can specify multiple digests for an asset, so a non-versioned one can be updated sans downtime:<p>1.  Provider informs clients that a new version with digest X will be deployed.<p>2.  Clients add the new digest in addition to the current digest.<p>3.  Provider switches to new asset version.<p>4.  Clients remove old digest (optional).<p>Versioned assets are obviously better unless you're in a <i>really</i> weird situation, but SRI doesn't particularly <i>require</i> them.</p>
]]></description><pubDate>Thu, 29 Nov 2018 15:52:31 +0000</pubDate><link>https://news.ycombinator.com/item?id=18561047</link><dc:creator>mnarayan01</dc:creator><comments>https://news.ycombinator.com/item?id=18561047</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=18561047</guid></item><item><title><![CDATA[New comment by mnarayan01 in "Major sites running unauthenticated JavaScript on their payment pages"]]></title><description><![CDATA[
<p>> 3rd parties should version their JavaScript resources with a version number in the URL<p>I mean yes this is true, but it seems almost totally orthogonal to SRI (which is aimed at <i>security</i> AIUI), particularly given you can give more than one hash for a particular resource. If for some reason a third-party can't use fingerprinted URLs, they can still update the resource provided they give "sufficient" advanced notification of the new fingerprint to clients.<p>> And this should be a manual process because automating it would defeat the whole point of SRI.<p>Obviously it should be offline/write-once, but unless you're reviewing the actual assets as well I'm not sure I see the need to avoid automation.</p>
]]></description><pubDate>Thu, 29 Nov 2018 14:36:05 +0000</pubDate><link>https://news.ycombinator.com/item?id=18560404</link><dc:creator>mnarayan01</dc:creator><comments>https://news.ycombinator.com/item?id=18560404</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=18560404</guid></item><item><title><![CDATA[New comment by mnarayan01 in "Killing processes that don't want to die"]]></title><description><![CDATA[
<p><a href="https://www.kernel.org/doc/Documentation/cgroup-v1/freezer-subsystem.txt" rel="nofollow">https://www.kernel.org/doc/Documentation/cgroup-v1/freezer-s...</a></p>
]]></description><pubDate>Tue, 25 Sep 2018 04:11:17 +0000</pubDate><link>https://news.ycombinator.com/item?id=18063528</link><dc:creator>mnarayan01</dc:creator><comments>https://news.ycombinator.com/item?id=18063528</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=18063528</guid></item><item><title><![CDATA[New comment by mnarayan01 in "µUBSan: clean-room reimplementation of the Undefined Behavior Sanitizer runtime"]]></title><description><![CDATA[
<p>The #ifndef rigamarole is <a href="https://en.wikipedia.org/wiki/Include_guard" rel="nofollow">https://en.wikipedia.org/wiki/Include_guard</a> and at least used to be fairly common. I also used to see the __FOO_BAR_H__ naming convention for these defines all over the place. I'm not sure if __ identifiers being reserved is a (not very) new thing or if it's always been around and people are just now more generally knowledgeable about the fact that they shouldn't be used.</p>
]]></description><pubDate>Wed, 08 Aug 2018 18:53:57 +0000</pubDate><link>https://news.ycombinator.com/item?id=17718402</link><dc:creator>mnarayan01</dc:creator><comments>https://news.ycombinator.com/item?id=17718402</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=17718402</guid></item><item><title><![CDATA[New comment by mnarayan01 in "µUBSan: clean-room reimplementation of the Undefined Behavior Sanitizer runtime"]]></title><description><![CDATA[
<p>If you include it (possibly indirectly) in a file which you compile, then no, you do not need to compile it separately.</p>
]]></description><pubDate>Wed, 08 Aug 2018 16:11:21 +0000</pubDate><link>https://news.ycombinator.com/item?id=17717093</link><dc:creator>mnarayan01</dc:creator><comments>https://news.ycombinator.com/item?id=17717093</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=17717093</guid></item><item><title><![CDATA[New comment by mnarayan01 in "How I gained commit access to Homebrew in 30 minutes"]]></title><description><![CDATA[
<p>> Signing each commit is totally stupid. It just means that you automate it, and you make the signature worth less.</p>
]]></description><pubDate>Tue, 07 Aug 2018 17:18:48 +0000</pubDate><link>https://news.ycombinator.com/item?id=17708533</link><dc:creator>mnarayan01</dc:creator><comments>https://news.ycombinator.com/item?id=17708533</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=17708533</guid></item><item><title><![CDATA[New comment by mnarayan01 in "How I gained commit access to Homebrew in 30 minutes"]]></title><description><![CDATA[
<p>Linus (from 2009) on problems with signing every commit: <a href="http://git.661346.n2.nabble.com/GPG-signing-for-git-commit-tp2582986p2583316.html" rel="nofollow">http://git.661346.n2.nabble.com/GPG-signing-for-git-commit-t...</a></p>
]]></description><pubDate>Tue, 07 Aug 2018 16:50:31 +0000</pubDate><link>https://news.ycombinator.com/item?id=17708286</link><dc:creator>mnarayan01</dc:creator><comments>https://news.ycombinator.com/item?id=17708286</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=17708286</guid></item><item><title><![CDATA[New comment by mnarayan01 in "Building an Inclusive Code Review Culture"]]></title><description><![CDATA[
<p><p><pre><code>  if a = foo()
</code></pre>
versus:<p><pre><code>  if (a = foo())
</code></pre>
Sometimes idiomatic patterns vary based on things which are not amiable to mechanical correction.</p>
]]></description><pubDate>Mon, 30 Jul 2018 16:50:03 +0000</pubDate><link>https://news.ycombinator.com/item?id=17645855</link><dc:creator>mnarayan01</dc:creator><comments>https://news.ycombinator.com/item?id=17645855</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=17645855</guid></item><item><title><![CDATA[New comment by mnarayan01 in "The unreasonable effectiveness of Soccermatics? (2017)"]]></title><description><![CDATA[
<p>The article looks like it's just a generic sports' journalist reporting on a novel statistical technique, with cross language translation added into the mix for extra confusion. I wouldn't take it too literally.<p>I'd guess that either "Impect disregards all passes that go backwards or don’t beat any defender" would be better phrased as "Impect disregards passes unless they go forward or beat defenders" or the statisticians would defend the original solely in terms of it being a heuristic that makes the problem more tractable.<p>Additionally, your linked example, with #25 picking up the ball in a danger position after a deflection, is the kind of "penalty box slop" that, naively at least, seems extremely difficult to handle analytically.</p>
]]></description><pubDate>Thu, 26 Jul 2018 16:01:10 +0000</pubDate><link>https://news.ycombinator.com/item?id=17618482</link><dc:creator>mnarayan01</dc:creator><comments>https://news.ycombinator.com/item?id=17618482</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=17618482</guid></item><item><title><![CDATA[New comment by mnarayan01 in "Transfer.sh – File sharing from the command line"]]></title><description><![CDATA[
<p>From your source machine:<p><pre><code>  < /path/to/source ncat remote-host 8001
</code></pre>
On your destination machine:<p><pre><code>  ncat -l 8001 > /path/to/dest
</code></pre>
Though in most situations with files of reasonable size, you're probably going to be better off running through `gzip -c`.</p>
]]></description><pubDate>Thu, 21 Jun 2018 14:50:40 +0000</pubDate><link>https://news.ycombinator.com/item?id=17365660</link><dc:creator>mnarayan01</dc:creator><comments>https://news.ycombinator.com/item?id=17365660</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=17365660</guid></item></channel></rss>