<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: chrfrasco</title><link>https://news.ycombinator.com/user?id=chrfrasco</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Sat, 13 Jun 2026 14:20:20 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=chrfrasco" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by chrfrasco in "The Jeff Dean Facts"]]></title><description><![CDATA[
<p>It was Jeff Dean and Noam Shazeer: <a href="https://www.dwarkesh.com/p/jeff-dean-and-noam-shazeer" rel="nofollow">https://www.dwarkesh.com/p/jeff-dean-and-noam-shazeer</a></p>
]]></description><pubDate>Thu, 08 Jan 2026 22:14:51 +0000</pubDate><link>https://news.ycombinator.com/item?id=46547249</link><dc:creator>chrfrasco</dc:creator><comments>https://news.ycombinator.com/item?id=46547249</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46547249</guid></item><item><title><![CDATA[New comment by chrfrasco in "Proof you can do hard things"]]></title><description><![CDATA[
<p>I believe Nat is referring to a full stop rather than menstruation in the sentence about crying into tiktok.</p>
]]></description><pubDate>Wed, 12 Jul 2023 07:14:58 +0000</pubDate><link>https://news.ycombinator.com/item?id=36691345</link><dc:creator>chrfrasco</dc:creator><comments>https://news.ycombinator.com/item?id=36691345</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=36691345</guid></item><item><title><![CDATA[New comment by chrfrasco in "Why F# evangelism isn't working (2015)"]]></title><description><![CDATA[
<p>> This is how a new product gets across the chasm. Find a pragmatist in pain. Do whatever-it-takes to make them happy with your product. Then go back and do it again.<p>Good advice, I think the useful idea is: An excellent product in competition with a very good incumbent is a bad idea. A mediocre product in competition with an absent or terrible incumbent is a great idea</p>
]]></description><pubDate>Wed, 31 May 2023 02:56:35 +0000</pubDate><link>https://news.ycombinator.com/item?id=36133983</link><dc:creator>chrfrasco</dc:creator><comments>https://news.ycombinator.com/item?id=36133983</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=36133983</guid></item><item><title><![CDATA[New comment by chrfrasco in "GitHub.Dev is now available on any GitHub repo"]]></title><description><![CDATA[
<p>mind expanding on this? you've piqued my interest but I can't quite see the connection</p>
]]></description><pubDate>Fri, 13 Aug 2021 01:35:48 +0000</pubDate><link>https://news.ycombinator.com/item?id=28164264</link><dc:creator>chrfrasco</dc:creator><comments>https://news.ycombinator.com/item?id=28164264</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=28164264</guid></item><item><title><![CDATA[New comment by chrfrasco in "Senior Google exec opposes remote work, moves to New Zealand to work remotely"]]></title><description><![CDATA[
<p>The limiting factor is managed isolation. You can return if there are flights from where you are currently, but you need to secure a spot in managed isolation first (2 weeks in a hotel). <a href="https://www.miq.govt.nz/travel-to-new-zealand/secure-your-place-in-managed-isolation/" rel="nofollow">https://www.miq.govt.nz/travel-to-new-zealand/secure-your-pl...</a></p>
]]></description><pubDate>Thu, 08 Jul 2021 23:19:29 +0000</pubDate><link>https://news.ycombinator.com/item?id=27778794</link><dc:creator>chrfrasco</dc:creator><comments>https://news.ycombinator.com/item?id=27778794</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=27778794</guid></item><item><title><![CDATA[New comment by chrfrasco in "Mugo, a toy compiler for a subset of Go that can compile itself"]]></title><description><![CDATA[
<p>> I wonder if we could reduce binary size with a dead-simple scheduler and GC<p>For many CLIs I think even a brain-dead bump allocator would work</p>
]]></description><pubDate>Mon, 12 Apr 2021 11:23:03 +0000</pubDate><link>https://news.ycombinator.com/item?id=26778147</link><dc:creator>chrfrasco</dc:creator><comments>https://news.ycombinator.com/item?id=26778147</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=26778147</guid></item><item><title><![CDATA[New comment by chrfrasco in "Mugo, a toy compiler for a subset of Go that can compile itself"]]></title><description><![CDATA[
<p>This is so cool. I especially loved the Makefile, it's nice to see "bootstrapping" laid out so plainly. I remember finding the concept quite hard to wrap my head around when I was introduced to it. Seeing this would have made it a lot easier to understand!</p>
]]></description><pubDate>Mon, 12 Apr 2021 11:17:18 +0000</pubDate><link>https://news.ycombinator.com/item?id=26778118</link><dc:creator>chrfrasco</dc:creator><comments>https://news.ycombinator.com/item?id=26778118</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=26778118</guid></item><item><title><![CDATA[New comment by chrfrasco in "Pydis – Redis clone in 250 lines of Python, for performance comparison"]]></title><description><![CDATA[
<p>I hope you didn't take too many of these comments to heart. You unfortunately got the standard HN comment section treatment – a delightful mix of nitpicking, assuming bad intent, and completely missing the point. I also hope you continue to share things on the internet – it's far easier to criticise than it is to create.</p>
]]></description><pubDate>Tue, 17 Nov 2020 02:54:52 +0000</pubDate><link>https://news.ycombinator.com/item?id=25119820</link><dc:creator>chrfrasco</dc:creator><comments>https://news.ycombinator.com/item?id=25119820</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=25119820</guid></item><item><title><![CDATA[New comment by chrfrasco in "Single Page Applications using Rust"]]></title><description><![CDATA[
<p>Sum types and exhaustiveness checking are doable with typescript! Though it's not especially ergonomic<p><a href="https://www.typescriptlang.org/play?#code/C4TwDgpgBAygrgWygXigbygMwPbYFxTABOcEANFAEYCGRBAzsQJYB2A5lAL5QA+6WuApmoAbetE4AoSZjgsAxsCbYWWFgAp6iAvAQBKBs3bpJUKPQDuTYPIAWUTYgB0ObHpNmz86uMIkIeKaeZkQQwHBEqloITjREQV4+0MJiAQmeoeGRUADkACYQwnAiwDnpBUUlgcFmcqHUdtSUIhCO+kFSUjJyisqqdRANtk0t6gAeBCwQAG4QRAZQU7NEHoS2RNgWixBbAKJEG0TqAAbevizYwFDDLHkteQQAJGhjnMd6kpxAA" rel="nofollow">https://www.typescriptlang.org/play?#code/C4TwDgpgBAygrgWygX...</a></p>
]]></description><pubDate>Wed, 12 Aug 2020 01:30:56 +0000</pubDate><link>https://news.ycombinator.com/item?id=24127783</link><dc:creator>chrfrasco</dc:creator><comments>https://news.ycombinator.com/item?id=24127783</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=24127783</guid></item><item><title><![CDATA[New comment by chrfrasco in "Notion for everyone"]]></title><description><![CDATA[
<p>One more suggestion for you – dropbox paper (<a href="https://paper.dropbox.com/" rel="nofollow">https://paper.dropbox.com/</a>) has latex support + syntax highlighting. It's quite simple but it works well as a google docs replacement. As others have mentioned Notion is also fantastic.</p>
]]></description><pubDate>Wed, 20 May 2020 04:21:56 +0000</pubDate><link>https://news.ycombinator.com/item?id=23243268</link><dc:creator>chrfrasco</dc:creator><comments>https://news.ycombinator.com/item?id=23243268</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=23243268</guid></item><item><title><![CDATA[What Color Is Your Function? (2015)]]></title><description><![CDATA[
<p>Article URL: <a href="http://journal.stuffwithstuff.com/2015/02/01/what-color-is-your-function//">http://journal.stuffwithstuff.com/2015/02/01/what-color-is-your-function//</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=23218782">https://news.ycombinator.com/item?id=23218782</a></p>
<p>Points: 106</p>
<p># Comments: 85</p>
]]></description><pubDate>Mon, 18 May 2020 05:43:47 +0000</pubDate><link>http://journal.stuffwithstuff.com/2015/02/01/what-color-is-your-function//</link><dc:creator>chrfrasco</dc:creator><comments>https://news.ycombinator.com/item?id=23218782</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=23218782</guid></item><item><title><![CDATA[What’s the difference between a Rust char and a Go rune?]]></title><description><![CDATA[
<p>Article URL: <a href="https://www.christianfscott.com/rust-chars-vs-go-runes/">https://www.christianfscott.com/rust-chars-vs-go-runes/</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=23133320">https://news.ycombinator.com/item?id=23133320</a></p>
<p>Points: 1</p>
<p># Comments: 0</p>
]]></description><pubDate>Sun, 10 May 2020 15:23:19 +0000</pubDate><link>https://www.christianfscott.com/rust-chars-vs-go-runes/</link><dc:creator>chrfrasco</dc:creator><comments>https://news.ycombinator.com/item?id=23133320</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=23133320</guid></item><item><title><![CDATA[New comment by chrfrasco in "Making Rust as Fast as Go"]]></title><description><![CDATA[
<p>Yeah, I can definitely see how that would be a more performant approach.<p>I suppose I wasn't so interested in figuring out how to make this algorithm as fast as possible as much I was interested in diving into why <i>this particular</i> implementation was slower.<p>I'm not totally convinced that this difference is down to the string being parsed over and over, though<p>> doing the UTF-8 decoding up-front is exacerbating the performance difference in the allocator<p>This seems to suggest that allocation might be dominating here. WDYT? Either way, I've added a disclaimer to the post.</p>
]]></description><pubDate>Sun, 03 May 2020 16:11:56 +0000</pubDate><link>https://news.ycombinator.com/item?id=23059888</link><dc:creator>chrfrasco</dc:creator><comments>https://news.ycombinator.com/item?id=23059888</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=23059888</guid></item><item><title><![CDATA[New comment by chrfrasco in "Making Rust as Fast as Go"]]></title><description><![CDATA[
<p>Hey all, as some keen-eyed commenters have pointed out, it looks like the rust program is not actually equivalent to the go program. The go program parses the string once, while the rust program parses it repeatedly inside every loop. It's quite late in Sydney as I write this so I'm not up for a fix right now, but this post is probably Fake News. The perf gains from jemalloc are real, but it's probably not the allocators fault. I've updated the post with this message as well.<p>The one-two combo of 1) better performance on linux & 2) jemalloc seeming to fix the issue lured me into believing that the allocator was to blame. I’m not sure what the lesson here is – perhaps more proof of Cunningham’s law? <a href="https://en.wikipedia.org/wiki/Ward_Cunningham#Cunningham's_Law" rel="nofollow">https://en.wikipedia.org/wiki/Ward_Cunningham#Cunningham's_L...</a></p>
]]></description><pubDate>Sun, 03 May 2020 15:39:18 +0000</pubDate><link>https://news.ycombinator.com/item?id=23059638</link><dc:creator>chrfrasco</dc:creator><comments>https://news.ycombinator.com/item?id=23059638</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=23059638</guid></item><item><title><![CDATA[New comment by chrfrasco in "Making Rust as Fast as Go"]]></title><description><![CDATA[
<p>> The second problem is that at least the Rust code is decoding UTF-8 every iteration of the inner loop instead of decoding once and saving the result, or even better interning the characters and having versions of the inner loop for 32-bit chars and 8-bit and 16-bit interned indexes.<p>I tried this. Pulling the .chars() call out of the loop & collecting into a Vec made the performance even worse – the following balloons the runtime from ~2.7s to ~5s:<p><pre><code>    let target_chars: Vec<char> = target.chars().collect();
    for (i, source_char) in source.chars().enumerate() {
        let mut next_dist = i + 1;

        for (j, target_char) in target_chars.iter().enumerate()  {
</code></pre>
> written mindlessly
> incompetence of the person<p>No challenge there :P I am operating under the assumption that I don't need to understand how compilers work to get good performance from rust (where good is "similar enough to an equivalent go program")</p>
]]></description><pubDate>Sun, 03 May 2020 15:29:02 +0000</pubDate><link>https://news.ycombinator.com/item?id=23059560</link><dc:creator>chrfrasco</dc:creator><comments>https://news.ycombinator.com/item?id=23059560</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=23059560</guid></item><item><title><![CDATA[New comment by chrfrasco in "Making Rust as Fast as Go"]]></title><description><![CDATA[
<p>run.js is not doing the benchmarking. If you look at the source for each of the programs being benchmarked, you'll see that the programs themselves are responsible for benchmarking</p>
]]></description><pubDate>Sun, 03 May 2020 14:45:30 +0000</pubDate><link>https://news.ycombinator.com/item?id=23059296</link><dc:creator>chrfrasco</dc:creator><comments>https://news.ycombinator.com/item?id=23059296</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=23059296</guid></item><item><title><![CDATA[New comment by chrfrasco in "Making Rust as Fast as Go"]]></title><description><![CDATA[
<p>Nice catch, thanks for pointing this out. I've updated the cache initialization to use `len(targetChars)` rather than `len(target)`:<p><pre><code>    cache := make([]int, len(targetChars)+1)
    for i := 0; i < len(targetChars)+1; i++ {
        cache[i] = i
    }
</code></pre>
AFAIK this makes them equivalent (fingers crossed). It seems to not have made much of a difference (-0.03s)</p>
]]></description><pubDate>Sun, 03 May 2020 14:02:28 +0000</pubDate><link>https://news.ycombinator.com/item?id=23059041</link><dc:creator>chrfrasco</dc:creator><comments>https://news.ycombinator.com/item?id=23059041</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=23059041</guid></item><item><title><![CDATA[Making Rust as Fast as Go]]></title><description><![CDATA[
<p>Article URL: <a href="https://www.christianfscott.com/making-rust-as-fast-as-go/">https://www.christianfscott.com/making-rust-as-fast-as-go/</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=23058147">https://news.ycombinator.com/item?id=23058147</a></p>
<p>Points: 304</p>
<p># Comments: 200</p>
]]></description><pubDate>Sun, 03 May 2020 10:32:11 +0000</pubDate><link>https://www.christianfscott.com/making-rust-as-fast-as-go/</link><dc:creator>chrfrasco</dc:creator><comments>https://news.ycombinator.com/item?id=23058147</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=23058147</guid></item><item><title><![CDATA[Is Mobx Magic?]]></title><description><![CDATA[
<p>Article URL: <a href="https://www.christianfscott.com/is-mobx-magic/">https://www.christianfscott.com/is-mobx-magic/</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=23052715">https://news.ycombinator.com/item?id=23052715</a></p>
<p>Points: 1</p>
<p># Comments: 0</p>
]]></description><pubDate>Sat, 02 May 2020 16:23:24 +0000</pubDate><link>https://www.christianfscott.com/is-mobx-magic/</link><dc:creator>chrfrasco</dc:creator><comments>https://news.ycombinator.com/item?id=23052715</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=23052715</guid></item><item><title><![CDATA[Show HN: A utility for printing paths from stdin as a tree]]></title><description><![CDATA[
<p>Article URL: <a href="https://github.com/christianscott/print-paths-as-tree">https://github.com/christianscott/print-paths-as-tree</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=22758523">https://news.ycombinator.com/item?id=22758523</a></p>
<p>Points: 3</p>
<p># Comments: 0</p>
]]></description><pubDate>Thu, 02 Apr 2020 13:13:06 +0000</pubDate><link>https://github.com/christianscott/print-paths-as-tree</link><dc:creator>chrfrasco</dc:creator><comments>https://news.ycombinator.com/item?id=22758523</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=22758523</guid></item></channel></rss>