<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: tidwall</title><link>https://news.ycombinator.com/user?id=tidwall</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Sat, 12 Sep 2026 09:55:09 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=tidwall" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by tidwall in "Solod – A subset of Go that translates to C"]]></title><description><![CDATA[
<p>Looks to me like having the ability to write Go syntax and interop directly with C is the plus.</p>
]]></description><pubDate>Tue, 07 Apr 2026 02:12:33 +0000</pubDate><link>https://news.ycombinator.com/item?id=47669939</link><dc:creator>tidwall</dc:creator><comments>https://news.ycombinator.com/item?id=47669939</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47669939</guid></item><item><title><![CDATA[New comment by tidwall in "Solod – A subset of Go that translates to C"]]></title><description><![CDATA[
<p>"To keep things simple, there are no channels, goroutines, closures, or generics."<p>I wonder if it could be integrated with <a href="https://github.com/tidwall/neco" rel="nofollow">https://github.com/tidwall/neco</a>, which has Go-like coroutines, channels, and synchronization methods.</p>
]]></description><pubDate>Tue, 07 Apr 2026 02:08:36 +0000</pubDate><link>https://news.ycombinator.com/item?id=47669910</link><dc:creator>tidwall</dc:creator><comments>https://news.ycombinator.com/item?id=47669910</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47669910</guid></item><item><title><![CDATA[New comment by tidwall in "A single-file C allocator with explicit heaps and tuning knobs"]]></title><description><![CDATA[
<p>I do this all the time. I’ll spend weeks or months on a project, with thousands of wip commits and various fragmented branches. When ready, I’ll squash it all into a single initial commit for public consumption.</p>
]]></description><pubDate>Sat, 28 Mar 2026 18:01:20 +0000</pubDate><link>https://news.ycombinator.com/item?id=47556895</link><dc:creator>tidwall</dc:creator><comments>https://news.ycombinator.com/item?id=47556895</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47556895</guid></item><item><title><![CDATA[New comment by tidwall in "Floppy disks turn out to be the greatest TV remote for kids"]]></title><description><![CDATA[
<p>This reminds me of a card swiping video game system I made years ago.<p><a href="https://youtu.be/Z2xq3ns5Hsk" rel="nofollow">https://youtu.be/Z2xq3ns5Hsk</a><p><a href="https://github.com/tidwall/RetroSwiper" rel="nofollow">https://github.com/tidwall/RetroSwiper</a></p>
]]></description><pubDate>Mon, 12 Jan 2026 18:29:46 +0000</pubDate><link>https://news.ycombinator.com/item?id=46592294</link><dc:creator>tidwall</dc:creator><comments>https://news.ycombinator.com/item?id=46592294</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46592294</guid></item><item><title><![CDATA[New comment by tidwall in "Approachable Swift Concurrency"]]></title><description><![CDATA[
<p>Or this.<p><pre><code>    func fetchUser(id int) (user User, err error) {
        resp, err := http.Get(fmt.Sprintf("https://api.example.com/users/%d", id))
        if err != nil {
            return user, err
        }
        defer resp.Body.Close()
        return user, json.NewDecoder(resp.Body).Decode(&user)
    }</code></pre></p>
]]></description><pubDate>Tue, 30 Dec 2025 15:16:20 +0000</pubDate><link>https://news.ycombinator.com/item?id=46434108</link><dc:creator>tidwall</dc:creator><comments>https://news.ycombinator.com/item?id=46434108</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46434108</guid></item><item><title><![CDATA[New comment by tidwall in "Taking money off the table"]]></title><description><![CDATA[
<p>A bird in the hand.</p>
]]></description><pubDate>Thu, 30 Oct 2025 19:35:33 +0000</pubDate><link>https://news.ycombinator.com/item?id=45764336</link><dc:creator>tidwall</dc:creator><comments>https://news.ycombinator.com/item?id=45764336</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45764336</guid></item><item><title><![CDATA[New comment by tidwall in "Show HN: Pogocache – Fast caching software"]]></title><description><![CDATA[
<p>Thanks! The Pogocache sharded hashmap design is optimized for extremely low contention and good memory locality. It super rare for any two threads to ever wait on the same key. That's the biggest part and it's all in the src/pogocache.c file. But the network layer is finely tuned too.<p>Mostly I perfed and profiled ad nauseam, monitoring cpu cycles along the way.  I found that keeping a focus on latency and cycles was primo, and the rest fell into place.</p>
]]></description><pubDate>Tue, 22 Jul 2025 00:41:09 +0000</pubDate><link>https://news.ycombinator.com/item?id=44642074</link><dc:creator>tidwall</dc:creator><comments>https://news.ycombinator.com/item?id=44642074</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44642074</guid></item><item><title><![CDATA[New comment by tidwall in "Show HN: Pogocache – Fast caching software"]]></title><description><![CDATA[
<p>Thanks!</p>
]]></description><pubDate>Mon, 21 Jul 2025 23:03:55 +0000</pubDate><link>https://news.ycombinator.com/item?id=44641367</link><dc:creator>tidwall</dc:creator><comments>https://news.ycombinator.com/item?id=44641367</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44641367</guid></item><item><title><![CDATA[New comment by tidwall in "Show HN: Pogocache – Fast caching software"]]></title><description><![CDATA[
<p>Like an ACL file?</p>
]]></description><pubDate>Mon, 21 Jul 2025 23:03:46 +0000</pubDate><link>https://news.ycombinator.com/item?id=44641365</link><dc:creator>tidwall</dc:creator><comments>https://news.ycombinator.com/item?id=44641365</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44641365</guid></item><item><title><![CDATA[New comment by tidwall in "Show HN: Pogocache – Fast caching software"]]></title><description><![CDATA[
<p>Thanks you for the blog post about TG when it came out.</p>
]]></description><pubDate>Mon, 21 Jul 2025 23:02:32 +0000</pubDate><link>https://news.ycombinator.com/item?id=44641356</link><dc:creator>tidwall</dc:creator><comments>https://news.ycombinator.com/item?id=44641356</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44641356</guid></item><item><title><![CDATA[New comment by tidwall in "Show HN: Pogocache – Fast caching software"]]></title><description><![CDATA[
<p>Glad to bring another one into this world.</p>
]]></description><pubDate>Mon, 21 Jul 2025 23:00:44 +0000</pubDate><link>https://news.ycombinator.com/item?id=44641342</link><dc:creator>tidwall</dc:creator><comments>https://news.ycombinator.com/item?id=44641342</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44641342</guid></item><item><title><![CDATA[New comment by tidwall in "Show HN: Pogocache – Fast caching software"]]></title><description><![CDATA[
<p>The protocols are autodetected. No need to carry multiple ports around.</p>
]]></description><pubDate>Mon, 21 Jul 2025 22:59:27 +0000</pubDate><link>https://news.ycombinator.com/item?id=44641332</link><dc:creator>tidwall</dc:creator><comments>https://news.ycombinator.com/item?id=44641332</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44641332</guid></item><item><title><![CDATA[New comment by tidwall in "Show HN: Pogocache – Fast caching software"]]></title><description><![CDATA[
<p>Oh wow. That is dope. Thanks for sharing.</p>
]]></description><pubDate>Mon, 21 Jul 2025 22:55:19 +0000</pubDate><link>https://news.ycombinator.com/item?id=44641292</link><dc:creator>tidwall</dc:creator><comments>https://news.ycombinator.com/item?id=44641292</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44641292</guid></item><item><title><![CDATA[New comment by tidwall in "Show HN: Pogocache – Fast caching software"]]></title><description><![CDATA[
<p>Thanks Steve. Your feedback was very helpful.</p>
]]></description><pubDate>Mon, 21 Jul 2025 20:39:48 +0000</pubDate><link>https://news.ycombinator.com/item?id=44640133</link><dc:creator>tidwall</dc:creator><comments>https://news.ycombinator.com/item?id=44640133</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44640133</guid></item><item><title><![CDATA[New comment by tidwall in "Show HN: Pogocache – Fast caching software"]]></title><description><![CDATA[
<p>No</p>
]]></description><pubDate>Mon, 21 Jul 2025 19:00:19 +0000</pubDate><link>https://news.ycombinator.com/item?id=44639034</link><dc:creator>tidwall</dc:creator><comments>https://news.ycombinator.com/item?id=44639034</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44639034</guid></item><item><title><![CDATA[New comment by tidwall in "Show HN: Pogocache – Fast caching software"]]></title><description><![CDATA[
<p>Yes, it is highly hand optimized. There's a description of some of the methods I used near the bottom of there README. I mainly focused on minimizing contention, with the sharded hashmap and such. But the networking layer is carefully crafted.</p>
]]></description><pubDate>Mon, 21 Jul 2025 18:56:07 +0000</pubDate><link>https://news.ycombinator.com/item?id=44638986</link><dc:creator>tidwall</dc:creator><comments>https://news.ycombinator.com/item?id=44638986</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44638986</guid></item><item><title><![CDATA[New comment by tidwall in "Show HN: Pogocache – Fast caching software"]]></title><description><![CDATA[
<p>Not intending to make pogocache into a sql database. I prefer keeping it a cache. More so exploring ways to work with existing databases such as sqlite, duckdb, postgres. Kinda like providing proxy-ish operations that transparently cache sql reads.</p>
]]></description><pubDate>Mon, 21 Jul 2025 18:50:35 +0000</pubDate><link>https://news.ycombinator.com/item?id=44638927</link><dc:creator>tidwall</dc:creator><comments>https://news.ycombinator.com/item?id=44638927</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44638927</guid></item><item><title><![CDATA[New comment by tidwall in "Show HN: Pogocache – Fast caching software"]]></title><description><![CDATA[
<p>That's the only way right now. The other ways I'm considering is with an environment variable and/or acl.</p>
]]></description><pubDate>Mon, 21 Jul 2025 18:18:41 +0000</pubDate><link>https://news.ycombinator.com/item?id=44638536</link><dc:creator>tidwall</dc:creator><comments>https://news.ycombinator.com/item?id=44638536</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44638536</guid></item><item><title><![CDATA[Show HN: Pogocache – Fast caching software]]></title><description><![CDATA[
<p>Article URL: <a href="https://github.com/tidwall/pogocache">https://github.com/tidwall/pogocache</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=44638076">https://news.ycombinator.com/item?id=44638076</a></p>
<p>Points: 93</p>
<p># Comments: 29</p>
]]></description><pubDate>Mon, 21 Jul 2025 17:42:30 +0000</pubDate><link>https://github.com/tidwall/pogocache</link><dc:creator>tidwall</dc:creator><comments>https://news.ycombinator.com/item?id=44638076</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44638076</guid></item><item><title><![CDATA[New comment by tidwall in "Cache Benchmarks"]]></title><description><![CDATA[
<p>I updated the graphs to use linear scaling. Thanks for the feedback</p>
]]></description><pubDate>Thu, 17 Jul 2025 18:45:19 +0000</pubDate><link>https://news.ycombinator.com/item?id=44596664</link><dc:creator>tidwall</dc:creator><comments>https://news.ycombinator.com/item?id=44596664</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44596664</guid></item></channel></rss>