<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: worc3131</title><link>https://news.ycombinator.com/user?id=worc3131</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Thu, 18 Jun 2026 12:14:38 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=worc3131" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by worc3131 in "Battered Crypto Hedge Fund Three Arrows Capital Considers Asset Sales, Bailout"]]></title><description><![CDATA[
<p>> You don't have to take my word for this. Look up the history of what happened to the energy hedge fund Amaranth.<p>Amaranths positions were sold to Citadel and JP to wind down gently. That's pretty different from forced liquidation at the exchange.</p>
]]></description><pubDate>Fri, 17 Jun 2022 15:35:30 +0000</pubDate><link>https://news.ycombinator.com/item?id=31779760</link><dc:creator>worc3131</dc:creator><comments>https://news.ycombinator.com/item?id=31779760</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=31779760</guid></item><item><title><![CDATA[New comment by worc3131 in "How does your programming language handle “minus zero” (-0.0)?"]]></title><description><![CDATA[
<p>Not quite neutral. You return -0.0 only when needed.<p><pre><code>  >>> 0.0+0.0
  0.0
  >>> 0.0+(-0.0)
  0.0
  >>> (-0.0)+0.0
  0.0
  >>> (-0.0)+(-0.0)
  -0.0</code></pre></p>
]]></description><pubDate>Fri, 05 Mar 2021 12:32:58 +0000</pubDate><link>https://news.ycombinator.com/item?id=26356110</link><dc:creator>worc3131</dc:creator><comments>https://news.ycombinator.com/item?id=26356110</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=26356110</guid></item><item><title><![CDATA[New comment by worc3131 in "Using Bloom filters to efficiently synchronise hash graphs"]]></title><description><![CDATA[
<p>Discussion 3 days ago:<p><a href="https://news.ycombinator.com/item?id=25278128" rel="nofollow">https://news.ycombinator.com/item?id=25278128</a></p>
]]></description><pubDate>Sat, 05 Dec 2020 11:59:15 +0000</pubDate><link>https://news.ycombinator.com/item?id=25313907</link><dc:creator>worc3131</dc:creator><comments>https://news.ycombinator.com/item?id=25313907</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=25313907</guid></item><item><title><![CDATA[New comment by worc3131 in "Things I Learned to Become a Senior Software Engineer"]]></title><description><![CDATA[
<p>I don't know if this comment is serious, but I'd suggest you explore the idea that you don't know, what you don't know. With a few years of experience, you can feel comfortable in a technology stack and seen and learnt from a few mistakes. You may know the names of other areas, and played around with them a bit, but you won't understand their pitfalls. This is not enough to make decisions. Software is not easy, it's far too easy to make reasonable design choices, that turn out in the long term to be poor. These can cripple large scale systems.<p>There is so much that you can't learn from books. Reading Mythical Man Month does not make you Fred Brooks, reading Shoe Dog does not make you Phil Knight, nor does reading a medium article on event driven systems make you ready to implement one.<p>Imagine that the college of surgery acted in the same way, a surgical trainee who has worked for a few years and reads a lot may feel comfortable taking the lead in a surgery, but will be out of their depth the moment things deviate from normal. I spoke to a surgeon about this once, and he described how he taught a particular procedure. At one point he has his student reach in to the body, with the explaination that 'it should feel like this'. No book can substitute that experience.</p>
]]></description><pubDate>Mon, 07 Sep 2020 12:07:31 +0000</pubDate><link>https://news.ycombinator.com/item?id=24398831</link><dc:creator>worc3131</dc:creator><comments>https://news.ycombinator.com/item?id=24398831</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=24398831</guid></item><item><title><![CDATA[New comment by worc3131 in "J Notation as a Tool of Thought"]]></title><description><![CDATA[
<p>It doesn't quite seem fair to compare numpy to one of the most famous K code golf's ever created, but here is my attempt, 140 characters compared to Arthur's 30, so 5 times longer. Not worry about padding the edges would cut it to 100. I don't think the gap is as wide as you think it is.<p><pre><code>  def life(M):
    MP = np.pad(M,[(1,1),(1,1)])
    N = sum(np.roll(MP,(i,j),(0,1))
             for i in [1,0,-1]
             for j in [1,0,-1])
    return (3==N-MP*(4==N))[1:-1,1:-1]
</code></pre>
Speedtest (presumably memory bound):<p><pre><code>  100 x 100 matrix, numpy  0.2ms, K  0.2ms
  200 x 200 matrix, numpy  0.5ms, K  0.8ms
  500 x 500 matrix, numpy  5.2ms, K  8.0ms
  1000x1000 matrix, numpy 20.0ms, K 36.0ms
  5000x5000 matrix, numpy  0.5s , K  1.2s
</code></pre>
Interestingly the K code is designed to return a boolean matrix, but operates much more slowly for me on a boolean matrix compared to an integer matrix, with the result that:<p><pre><code>  q)\t klife M
</code></pre>
Takes 1.2 seconds whilst<p><pre><code>  q)\t klife klife M
</code></pre>
Takes 24 seconds. So whilst the idea seems to be that klife is used with scan/over to run a number of iterations, it's actually a bad idea to run it more than once.</p>
]]></description><pubDate>Sat, 15 Aug 2020 20:47:11 +0000</pubDate><link>https://news.ycombinator.com/item?id=24172247</link><dc:creator>worc3131</dc:creator><comments>https://news.ycombinator.com/item?id=24172247</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=24172247</guid></item><item><title><![CDATA[New comment by worc3131 in "J Notation as a Tool of Thought"]]></title><description><![CDATA[
<p>This 100 character version is probably the cleanest.<p><pre><code>    M = np.reshape(np.arange(16),(4,4))
    np.array([np.roll(M,(i,j),(0,1)) 
              for i in [1,0,-1]
              for j in [1,0,-1]])</code></pre></p>
]]></description><pubDate>Sat, 15 Aug 2020 19:15:15 +0000</pubDate><link>https://news.ycombinator.com/item?id=24171442</link><dc:creator>worc3131</dc:creator><comments>https://news.ycombinator.com/item?id=24171442</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=24171442</guid></item></channel></rss>