<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: chrchang523</title><link>https://news.ycombinator.com/user?id=chrchang523</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Fri, 17 Apr 2026 01:10:39 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=chrchang523" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by chrchang523 in "Floating point from scratch: Hard Mode"]]></title><description><![CDATA[
<p>Other things worth noting about denormal numbers:<p>- It’s not just ‘old’ FPUs that handle them verrry slowly.  Benchmark this aspect of your target processors if this detail matters.<p>- Most modern processors provide a “flush to zero” denormal handling mode (and sometimes you can separately specify “denormals are zero”, relevant when e.g. loading old data).  However, math libraries usually haven’t been written with this mode in mind, so you need to be careful with this.</p>
]]></description><pubDate>Tue, 07 Apr 2026 16:58:12 +0000</pubDate><link>https://news.ycombinator.com/item?id=47678238</link><dc:creator>chrchang523</dc:creator><comments>https://news.ycombinator.com/item?id=47678238</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47678238</guid></item><item><title><![CDATA[New comment by chrchang523 in "Removing newlines in FASTA file increases ZSTD compression ratio by 10x"]]></title><description><![CDATA[
<p>Note that BGZF solves gzip’s speed problem (libdeflate + parallel compression/decompression) without breaking compatibility, and usually the hit to compression ratio is tolerable.</p>
]]></description><pubDate>Mon, 15 Sep 2025 19:14:25 +0000</pubDate><link>https://news.ycombinator.com/item?id=45253774</link><dc:creator>chrchang523</dc:creator><comments>https://news.ycombinator.com/item?id=45253774</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45253774</guid></item><item><title><![CDATA[New comment by chrchang523 in "Go’s race detector has a mutex blind spot"]]></title><description><![CDATA[
<p>Yes, though I think tooling could be better; if I had more spare time I'd write a linter which flagged defers in loops that didn't come with an accompanying comment.</p>
]]></description><pubDate>Thu, 31 Jul 2025 17:36:31 +0000</pubDate><link>https://news.ycombinator.com/item?id=44748018</link><dc:creator>chrchang523</dc:creator><comments>https://news.ycombinator.com/item?id=44748018</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44748018</guid></item><item><title><![CDATA[New comment by chrchang523 in "Show HN: Go Plan9 Memo"]]></title><description><![CDATA[
<p>The problem with cgo is the high function-call overhead; you only want to use it for fairly big chunks of work.  Calling an assembly function from Go is a lot cheaper.<p><a href="https://pkg.go.dev/github.com/grailbio/base/simd" rel="nofollow">https://pkg.go.dev/github.com/grailbio/base/simd</a> has some work I’ve done in this vein.</p>
]]></description><pubDate>Fri, 18 Oct 2024 16:48:01 +0000</pubDate><link>https://news.ycombinator.com/item?id=41881167</link><dc:creator>chrchang523</dc:creator><comments>https://news.ycombinator.com/item?id=41881167</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=41881167</guid></item><item><title><![CDATA[New comment by chrchang523 in "Evaluating a class of infinite sums in closed form"]]></title><description><![CDATA[
<p>I found it useful to walk through evaluation of a few elementary instances of this class using simpler methods, to put the main result in perspective.  Specifically, replace the initial 3 exponent with 0 or 1.<p>If the exponent is 0, then you have the sum 1/2 + 1/4 + 1/8 + 1/16 + 1/32 + ..., from Zeno's most famous paradox (<a href="https://en.wikipedia.org/wiki/Zeno%27s_paradoxes" rel="nofollow">https://en.wikipedia.org/wiki/Zeno%27s_paradoxes</a> ).  If you are fortunate, you previously learned that this converges to 1, and played around with this enough in your head to have a solid understanding of why.  If you are less fortunate, I recommend pausing to digest this result.<p>Then, if the exponent is 1, you have the sum 1/2 + 2/4 + 3/8 + 4/16 + 5/32 + ... .<p>What happens if we subtract (1/2 + 1/4 + 1/8 + 1/16 + 1/32 + ...) from it?  We have (1/4 + 2/8 + 3/16 + 4/32 + ...) left over.<p>Then, if we subtract (1/4 + 1/8 + 1/16 + 1/32 + ...) from the latter, we still have (1/8 + 2/16 + 3/32 + ...) left over.<p>Then, if we subtract (1/8 + 1/16 + 1/32 + ...) from the latter, we still have (1/16 + 2/32 + ...) left over.<p>Continuing in this fashion, we end up subtracting off<p>(1/2 + 1/4 + 1/8 + 1/16 + 1/32 + ...)
+ (1/4 + 1/8 + 1/16 + 1/32 + ...)
+ (1/8 + 1/16 + 1/32 + ...)
+ (1/16 + 1/32 + ...)
+ (1/32 + ...)
+ ...<p>and this converges to the main sum.  And, from the exponent-0 result, we know this is just 1 + 1/2 + 1/4 + 1/8 + 1/16 + ...</p>
]]></description><pubDate>Sun, 04 Aug 2024 17:13:59 +0000</pubDate><link>https://news.ycombinator.com/item?id=41154925</link><dc:creator>chrchang523</dc:creator><comments>https://news.ycombinator.com/item?id=41154925</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=41154925</guid></item><item><title><![CDATA[New comment by chrchang523 in "Morton: Bit Interleaving in C/C++"]]></title><description><![CDATA[
<p>Two-bit values are common in bioinformatics, and I’ve found the ability to efficiently convert between packed arrays of 1- and 2-bit values to be valuable in that domain.</p>
]]></description><pubDate>Sat, 20 Apr 2024 16:44:45 +0000</pubDate><link>https://news.ycombinator.com/item?id=40098632</link><dc:creator>chrchang523</dc:creator><comments>https://news.ycombinator.com/item?id=40098632</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=40098632</guid></item><item><title><![CDATA[New comment by chrchang523 in "The simple beauty of XOR floating point compression"]]></title><description><![CDATA[
<p>One question: it is possible for the XOR of two consecutive floating-point numbers to have 32-63 leading zeros; the numbers 32-63 do not fit in 5 bits.  I imagine this is treated by Gorilla like 31 leading zeros?</p>
]]></description><pubDate>Fri, 12 Apr 2024 05:22:56 +0000</pubDate><link>https://news.ycombinator.com/item?id=40009622</link><dc:creator>chrchang523</dc:creator><comments>https://news.ycombinator.com/item?id=40009622</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=40009622</guid></item><item><title><![CDATA[New comment by chrchang523 in "Peer review is an honor-based system (2008)"]]></title><description><![CDATA[
<p>(2008)</p>
]]></description><pubDate>Sat, 13 Jan 2024 20:25:28 +0000</pubDate><link>https://news.ycombinator.com/item?id=38984182</link><dc:creator>chrchang523</dc:creator><comments>https://news.ycombinator.com/item?id=38984182</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=38984182</guid></item><item><title><![CDATA[New comment by chrchang523 in "Math Team"]]></title><description><![CDATA[
<p>The mod 1000 is actually a consequence of the test format: all answers are integers in [0, 999], you fill in 3 digit-bubbles.</p>
]]></description><pubDate>Thu, 21 Dec 2023 03:52:04 +0000</pubDate><link>https://news.ycombinator.com/item?id=38716805</link><dc:creator>chrchang523</dc:creator><comments>https://news.ycombinator.com/item?id=38716805</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=38716805</guid></item><item><title><![CDATA[New comment by chrchang523 in "Superlinear Returns"]]></title><description><![CDATA[
<p>Suppose the value of a network to an individual user is proportional to the number of users.  Then the total value of the network, summed across all its users, is proportional to the square of the number of users.<p>See also <a href="https://en.wikipedia.org/wiki/Network_effect" rel="nofollow noreferrer">https://en.wikipedia.org/wiki/Network_effect</a> .</p>
]]></description><pubDate>Wed, 18 Oct 2023 12:26:05 +0000</pubDate><link>https://news.ycombinator.com/item?id=37927632</link><dc:creator>chrchang523</dc:creator><comments>https://news.ycombinator.com/item?id=37927632</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=37927632</guid></item><item><title><![CDATA[New comment by chrchang523 in "Superlinear Returns"]]></title><description><![CDATA[
<p>Yup, and that's why I'd consider this a "101" essay.  The larger exponential-growth trends (e.g. Moore's Law) practically always have a microstructure with many sigmoid curves.  After you've encountered your first exponential, the "201" lesson about saturation becomes important.</p>
]]></description><pubDate>Tue, 17 Oct 2023 20:27:22 +0000</pubDate><link>https://news.ycombinator.com/item?id=37921093</link><dc:creator>chrchang523</dc:creator><comments>https://news.ycombinator.com/item?id=37921093</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=37921093</guid></item><item><title><![CDATA[New comment by chrchang523 in "Notes on existential risk from artificial superintelligence"]]></title><description><![CDATA[
<p>The slave-owners were slave-owners because they had military control over the slaves.  (Most of the time, anyway; some slave revolts were successful.)<p>It is not clear how long humans will retain control over AIs.</p>
]]></description><pubDate>Tue, 19 Sep 2023 22:34:37 +0000</pubDate><link>https://news.ycombinator.com/item?id=37577939</link><dc:creator>chrchang523</dc:creator><comments>https://news.ycombinator.com/item?id=37577939</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=37577939</guid></item><item><title><![CDATA[New comment by chrchang523 in "VCMI: Open-Source Engine for Heroes of Might and Magic III"]]></title><description><![CDATA[
<p>Yup.  This 24-year-old game was so culturally significant in the Eastern Bloc that there was a piano concert in Warsaw dedicated to it last month: <a href="https://gmfest.com/2023/06/19/paul-anthony-romero-heroes-piano-collections-concert/" rel="nofollow noreferrer">https://gmfest.com/2023/06/19/paul-anthony-romero-heroes-pia...</a></p>
]]></description><pubDate>Tue, 19 Sep 2023 18:31:02 +0000</pubDate><link>https://news.ycombinator.com/item?id=37574129</link><dc:creator>chrchang523</dc:creator><comments>https://news.ycombinator.com/item?id=37574129</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=37574129</guid></item><item><title><![CDATA[New comment by chrchang523 in "Always Bump Downwards (2019)"]]></title><description><![CDATA[
<p>No, the idea is that you manually make some allocations downward from the top and some allocations upward from the bottom.  The bumping code is as simple as in the unidirectional case.<p>The tricky part is choosing in a way that puts you noticeably ahead of the unidirectional allocator re: what problems you can solve, without putting excessive mental load on yourself.  I've found a pattern of "long-lived allocations on one end, short-lived allocations on the other" to work well here (which, yes, doesn't always coincide with the numerous vs. infrequent axis mentioned in my previous comment).</p>
]]></description><pubDate>Tue, 19 Sep 2023 17:30:30 +0000</pubDate><link>https://news.ycombinator.com/item?id=37573287</link><dc:creator>chrchang523</dc:creator><comments>https://news.ycombinator.com/item?id=37573287</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=37573287</guid></item><item><title><![CDATA[New comment by chrchang523 in "Always Bump Downwards (2019)"]]></title><description><![CDATA[
<p>Incidentally, you can choose to bump in both directions.  It's more complicated (you need to keep track of which end you allocated each data structure on), but in exchange, the allocator becomes sufficient for many more use cases.<p>Given a choice, the OP implies that you should position small-but-numerous allocations next to the top, and larger infrequent allocations next to the bottom.</p>
]]></description><pubDate>Tue, 19 Sep 2023 17:01:33 +0000</pubDate><link>https://news.ycombinator.com/item?id=37572886</link><dc:creator>chrchang523</dc:creator><comments>https://news.ycombinator.com/item?id=37572886</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=37572886</guid></item><item><title><![CDATA[New comment by chrchang523 in "VCMI: Open-Source Engine for Heroes of Might and Magic III"]]></title><description><![CDATA[
<p>I recently started running HOMM3 HD on my Mac with Porting Kit, which has been working great: <a href="https://www.portingkit.com/game/236" rel="nofollow noreferrer">https://www.portingkit.com/game/236</a> .</p>
]]></description><pubDate>Tue, 19 Sep 2023 15:51:01 +0000</pubDate><link>https://news.ycombinator.com/item?id=37571731</link><dc:creator>chrchang523</dc:creator><comments>https://news.ycombinator.com/item?id=37571731</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=37571731</guid></item><item><title><![CDATA[New comment by chrchang523 in "Any sufficiently advanced uninstaller is indistinguishable from malware"]]></title><description><![CDATA[
<p>Sure, but there isn't even an offhand remark about how hacky this kind of polling is.  It's presented as if it's a completely normal way to do things in reliable software.</p>
]]></description><pubDate>Wed, 13 Sep 2023 20:12:50 +0000</pubDate><link>https://news.ycombinator.com/item?id=37501141</link><dc:creator>chrchang523</dc:creator><comments>https://news.ycombinator.com/item?id=37501141</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=37501141</guid></item><item><title><![CDATA[New comment by chrchang523 in "Any sufficiently advanced uninstaller is indistinguishable from malware"]]></title><description><![CDATA[
<p>Agree, I'm shocked at how ugly the recommended alternative is.  This does not make MS look good.</p>
]]></description><pubDate>Wed, 13 Sep 2023 18:27:22 +0000</pubDate><link>https://news.ycombinator.com/item?id=37499894</link><dc:creator>chrchang523</dc:creator><comments>https://news.ycombinator.com/item?id=37499894</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=37499894</guid></item><item><title><![CDATA[New comment by chrchang523 in "Windows 11 will happily execute a binary compiled 30 years ago"]]></title><description><![CDATA[
<p>Raymond Chen has been providing an inside perspective on this for decades: <a href="https://devblogs.microsoft.com/oldnewthing/" rel="nofollow noreferrer">https://devblogs.microsoft.com/oldnewthing/</a></p>
]]></description><pubDate>Fri, 18 Aug 2023 15:49:34 +0000</pubDate><link>https://news.ycombinator.com/item?id=37177339</link><dc:creator>chrchang523</dc:creator><comments>https://news.ycombinator.com/item?id=37177339</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=37177339</guid></item><item><title><![CDATA[New comment by chrchang523 in "Evening Club Bridge Is Dying (2015)"]]></title><description><![CDATA[
<p>(2015)</p>
]]></description><pubDate>Wed, 16 Aug 2023 08:36:14 +0000</pubDate><link>https://news.ycombinator.com/item?id=37144293</link><dc:creator>chrchang523</dc:creator><comments>https://news.ycombinator.com/item?id=37144293</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=37144293</guid></item></channel></rss>