<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: thegeekpirate</title><link>https://news.ycombinator.com/user?id=thegeekpirate</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Sun, 05 Apr 2026 13:34:16 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=thegeekpirate" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by thegeekpirate in "Go-legacy-winxp: Compile Golang 1.24 code for Windows XP"]]></title><description><![CDATA[
<p>There's a fork which has been continually worked on <a href="https://repo.or.cz/w/tinycc.git" rel="nofollow">https://repo.or.cz/w/tinycc.git</a><p>Unofficial mirror <a href="https://github.com/TinyCC/tinycc" rel="nofollow">https://github.com/TinyCC/tinycc</a></p>
]]></description><pubDate>Thu, 22 Jan 2026 06:03:03 +0000</pubDate><link>https://news.ycombinator.com/item?id=46715819</link><dc:creator>thegeekpirate</dc:creator><comments>https://news.ycombinator.com/item?id=46715819</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46715819</guid></item><item><title><![CDATA[New comment by thegeekpirate in "The Algebra of Loans in Rust"]]></title><description><![CDATA[
<p>You can require allocations in Odin to be explicit using `#+vet explicit-allocators`</p>
]]></description><pubDate>Fri, 26 Dec 2025 21:22:32 +0000</pubDate><link>https://news.ycombinator.com/item?id=46396411</link><dc:creator>thegeekpirate</dc:creator><comments>https://news.ycombinator.com/item?id=46396411</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46396411</guid></item><item><title><![CDATA[New comment by thegeekpirate in "Zig's new plan for asynchronous programs"]]></title><description><![CDATA[
<p>There's a GC library around somewhere, but I doubt anyone uses it. Manual memory management is generally quite simple, as long as you aren't using archaic languages.<p><a href="https://www.youtube.com/watch?v=xt1KNDmOYqA" rel="nofollow">https://www.youtube.com/watch?v=xt1KNDmOYqA</a> is worth a watch.</p>
]]></description><pubDate>Wed, 17 Dec 2025 08:34:57 +0000</pubDate><link>https://news.ycombinator.com/item?id=46299559</link><dc:creator>thegeekpirate</dc:creator><comments>https://news.ycombinator.com/item?id=46299559</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46299559</guid></item><item><title><![CDATA[New comment by thegeekpirate in "GrapheneOS is the only Android OS providing full security patches"]]></title><description><![CDATA[
<p>I replied to a poster who said the seven years of updates began with the Pixel 6 with "Pixel 8" and a link which showed when support expires on these devices, because... it began with the Pixel 8, not 6.</p>
]]></description><pubDate>Wed, 17 Dec 2025 00:51:37 +0000</pubDate><link>https://news.ycombinator.com/item?id=46296868</link><dc:creator>thegeekpirate</dc:creator><comments>https://news.ycombinator.com/item?id=46296868</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46296868</guid></item><item><title><![CDATA[New comment by thegeekpirate in "GrapheneOS is the only Android OS providing full security patches"]]></title><description><![CDATA[
<p>> Google for one updates their devices for 7 years since Pixel 6<p>Pixel 8 <a href="https://endoflife.date/pixel" rel="nofollow">https://endoflife.date/pixel</a></p>
]]></description><pubDate>Sun, 07 Dec 2025 00:55:07 +0000</pubDate><link>https://news.ycombinator.com/item?id=46178221</link><dc:creator>thegeekpirate</dc:creator><comments>https://news.ycombinator.com/item?id=46178221</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46178221</guid></item><item><title><![CDATA[New comment by thegeekpirate in "Bazzite: Operating System for Linux gaming"]]></title><description><![CDATA[
<p>My pleasure!</p>
]]></description><pubDate>Wed, 03 Dec 2025 12:12:50 +0000</pubDate><link>https://news.ycombinator.com/item?id=46133611</link><dc:creator>thegeekpirate</dc:creator><comments>https://news.ycombinator.com/item?id=46133611</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46133611</guid></item><item><title><![CDATA[New comment by thegeekpirate in "Zig's new plan for asynchronous programs"]]></title><description><![CDATA[
<p>Completely replaced Go for me after using Go since inception.<p>Wonderful language!</p>
]]></description><pubDate>Wed, 03 Dec 2025 12:06:34 +0000</pubDate><link>https://news.ycombinator.com/item?id=46133552</link><dc:creator>thegeekpirate</dc:creator><comments>https://news.ycombinator.com/item?id=46133552</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46133552</guid></item><item><title><![CDATA[New comment by thegeekpirate in "Bazzite: Operating System for Linux gaming"]]></title><description><![CDATA[
<p>Press "y" before linking to a Github file/line to ensure it stays accurate <a href="https://github.com/ublue-os/bazzite/blob/5e8f61a56ca3da02778851621f895c15d01da6ce/Containerfile#L194" rel="nofollow">https://github.com/ublue-os/bazzite/blob/5e8f61a56ca3da02778...</a></p>
]]></description><pubDate>Sun, 30 Nov 2025 03:44:10 +0000</pubDate><link>https://news.ycombinator.com/item?id=46093456</link><dc:creator>thegeekpirate</dc:creator><comments>https://news.ycombinator.com/item?id=46093456</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46093456</guid></item><item><title><![CDATA[New comment by thegeekpirate in "We're learning more about what Vitamin D does"]]></title><description><![CDATA[
<p>4,000 is perfect.</p>
]]></description><pubDate>Sat, 29 Nov 2025 19:25:10 +0000</pubDate><link>https://news.ycombinator.com/item?id=46090047</link><dc:creator>thegeekpirate</dc:creator><comments>https://news.ycombinator.com/item?id=46090047</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46090047</guid></item><item><title><![CDATA[New comment by thegeekpirate in "Go's Sweet 16"]]></title><description><![CDATA[
<p>> exhaustive checks for sum types<p>Linters such as <a href="https://golangci-lint.run" rel="nofollow">https://golangci-lint.run</a> will do this for you.</p>
]]></description><pubDate>Fri, 14 Nov 2025 23:49:31 +0000</pubDate><link>https://news.ycombinator.com/item?id=45933569</link><dc:creator>thegeekpirate</dc:creator><comments>https://news.ycombinator.com/item?id=45933569</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45933569</guid></item><item><title><![CDATA[New comment by thegeekpirate in "Why is Zig so cool?"]]></title><description><![CDATA[
<p>Odin's even better than that—you can only use `0..<5` and `0..=5`, so there's never any ambiguity whatsoever.</p>
]]></description><pubDate>Sun, 09 Nov 2025 02:18:29 +0000</pubDate><link>https://news.ycombinator.com/item?id=45862320</link><dc:creator>thegeekpirate</dc:creator><comments>https://news.ycombinator.com/item?id=45862320</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45862320</guid></item><item><title><![CDATA[New comment by thegeekpirate in "Lisp interpreter with GC in <750 lines of Odin (and <500 lines of C)"]]></title><description><![CDATA[
<p>Last question I'll answer, because you aren't doing any of this is good faith.<p>You mean `curl.GLOBAL_ALL`, and it's for <a href="https://curl.se/libcurl/c/curl_global_init.html" rel="nofollow">https://curl.se/libcurl/c/curl_global_init.html</a></p>
]]></description><pubDate>Wed, 03 Sep 2025 21:00:20 +0000</pubDate><link>https://news.ycombinator.com/item?id=45120370</link><dc:creator>thegeekpirate</dc:creator><comments>https://news.ycombinator.com/item?id=45120370</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45120370</guid></item><item><title><![CDATA[New comment by thegeekpirate in "Lisp interpreter with GC in <750 lines of Odin (and <500 lines of C)"]]></title><description><![CDATA[
<p>> Back to the CURL prefix, what is wrong with it?<p>It prevents stuttering when using it `curl.CURL_*`.<p>> What would the "CURL" distinct type be without the CURL prefix?<p>`CURL` isn't a prefix there.<p>Take more time to think things through.</p>
]]></description><pubDate>Wed, 03 Sep 2025 19:43:30 +0000</pubDate><link>https://news.ycombinator.com/item?id=45119690</link><dc:creator>thegeekpirate</dc:creator><comments>https://news.ycombinator.com/item?id=45119690</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45119690</guid></item><item><title><![CDATA[New comment by thegeekpirate in "My Foray into Vlang"]]></title><description><![CDATA[
<p>It does seem like they somewhat do now, as of the last several years <a href="https://wiki.lazarus.freepascal.org/management_operators" rel="nofollow">https://wiki.lazarus.freepascal.org/management_operators</a><p>From <a href="https://news.ycombinator.com/item?id=19100760">https://news.ycombinator.com/item?id=19100760</a> since I'm not a Pascal user:<p>> The change we're talking about automatically invokes Initialize and Finalize on all types for dynamic allocations / destruction, unless they intentionally circumvent it. Intentional circumvention might include allocating raw memory in a class and treating the class like an array with an index property. In other words, if you declare a raw pointer, allocate untyped memory (e.g. bytes), and handle something back from that memory using a typecast, then you are bypassing automatic allocation and destruction.<p>> All other ways to make space for complex types (records and classes) as well as types which may hold complex types (arrays and nested fields) will safely and reliably use Initialize and Finalize when needed if they are defined.</p>
]]></description><pubDate>Mon, 01 Sep 2025 02:28:09 +0000</pubDate><link>https://news.ycombinator.com/item?id=45088887</link><dc:creator>thegeekpirate</dc:creator><comments>https://news.ycombinator.com/item?id=45088887</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45088887</guid></item><item><title><![CDATA[New comment by thegeekpirate in "My Foray into Vlang"]]></title><description><![CDATA[
<p>Far too complex, Odin (my favorite language for writing apps in) would align more with minimalistic values.<p>Lazarus always looked good, so there's probably value there if having a GC isn't an issue.</p>
]]></description><pubDate>Sun, 31 Aug 2025 18:47:21 +0000</pubDate><link>https://news.ycombinator.com/item?id=45085834</link><dc:creator>thegeekpirate</dc:creator><comments>https://news.ycombinator.com/item?id=45085834</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45085834</guid></item><item><title><![CDATA[New comment by thegeekpirate in "Janet: Lightweight, Expressive, Modern Lisp"]]></title><description><![CDATA[
<p>Odin's language server calls it "fake methods".<p><a href="https://odin-lang.org" rel="nofollow">https://odin-lang.org</a><p><a href="https://github.com/DanielGavin/ols">https://github.com/DanielGavin/ols</a></p>
]]></description><pubDate>Sun, 27 Jul 2025 15:07:18 +0000</pubDate><link>https://news.ycombinator.com/item?id=44701868</link><dc:creator>thegeekpirate</dc:creator><comments>https://news.ycombinator.com/item?id=44701868</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44701868</guid></item><item><title><![CDATA[New comment by thegeekpirate in "Beyond Meat fights for survival"]]></title><description><![CDATA[
<p>USDA 80/20 ground beef has 7.7g per 113g [0], 90/10 has 5g [1], Beyond Meat has 2g [2], and Impossible has 6g [3].<p>Impossible also has a "Lite" version (which doesn't seem to exist near me) with 1g [4], although apparently it doesn't taste very good.<p>[0] <a href="https://fdc.nal.usda.gov/food-details/2514744/nutrients" rel="nofollow">https://fdc.nal.usda.gov/food-details/2514744/nutrients</a><p>[1] <a href="https://fdc.nal.usda.gov/food-details/2514743/nutrients" rel="nofollow">https://fdc.nal.usda.gov/food-details/2514743/nutrients</a><p>[2] <a href="https://www.beyondmeat.com/en-CA/products/the-beyond-burger/beyond-burger" rel="nofollow">https://www.beyondmeat.com/en-CA/products/the-beyond-burger/...</a><p>[3] <a href="https://faq.impossiblefoods.com/hc/en-us/articles/360018939274-What-are-the-nutrition-facts-for-Impossible-Beef-Meat-From-Plants" rel="nofollow">https://faq.impossiblefoods.com/hc/en-us/articles/3600189392...</a><p>[4] <a href="https://impossiblefoods.com/beef/plant-based-impossible-beef-lite" rel="nofollow">https://impossiblefoods.com/beef/plant-based-impossible-beef...</a></p>
]]></description><pubDate>Sun, 20 Jul 2025 08:23:47 +0000</pubDate><link>https://news.ycombinator.com/item?id=44623023</link><dc:creator>thegeekpirate</dc:creator><comments>https://news.ycombinator.com/item?id=44623023</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44623023</guid></item><item><title><![CDATA[New comment by thegeekpirate in "Show HN: I wrote a BitTorrent Client from scratch"]]></title><description><![CDATA[
<p>There's a bunch <a href="https://github.com/go-graphics/go-gui-projects">https://github.com/go-graphics/go-gui-projects</a><p>My personal favourite is an ImGui wrapper <a href="https://github.com/AllenDang/giu">https://github.com/AllenDang/giu</a><p>The most featureful is probably unison, although I'm uncertain if anyone uses it outside of their own project (<a href="https://gurpscharactersheet.com" rel="nofollow">https://gurpscharactersheet.com</a>), meaning documentation will be sparse <a href="https://github.com/richardwilkes/unison">https://github.com/richardwilkes/unison</a><p>Gio uses a different way of thinking about GUIs, used by Tailscale and gotraceui <a href="https://gioui.org" rel="nofollow">https://gioui.org</a><p>Wails is great if you're familiar with development on the web <a href="https://wails.io" rel="nofollow">https://wails.io</a><p>The GTK4 bindings also look nice <a href="https://github.com/diamondburned/gotk4">https://github.com/diamondburned/gotk4</a><p>Cogent Core also looks neat, but I didn't have the time to play with it before I switched over to using the Odin programming language instead of Go <a href="https://www.cogentcore.org/core" rel="nofollow">https://www.cogentcore.org/core</a><p>I personally had nothing but issues with Fyne (especially in regard to performance, across multiple computers and operating systems), but it's probably the most popular option <a href="https://fyne.io" rel="nofollow">https://fyne.io</a></p>
]]></description><pubDate>Fri, 13 Jun 2025 21:41:21 +0000</pubDate><link>https://news.ycombinator.com/item?id=44272544</link><dc:creator>thegeekpirate</dc:creator><comments>https://news.ycombinator.com/item?id=44272544</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44272544</guid></item><item><title><![CDATA[New comment by thegeekpirate in "Odin, a pragmatic C alternative with a Go flavour"]]></title><description><![CDATA[
<p>I use Dear ImGui and love it <a href="https://gitlab.com/L-4/odin-imgui" rel="nofollow">https://gitlab.com/L-4/odin-imgui</a></p>
]]></description><pubDate>Mon, 12 May 2025 00:27:19 +0000</pubDate><link>https://news.ycombinator.com/item?id=43958483</link><dc:creator>thegeekpirate</dc:creator><comments>https://news.ycombinator.com/item?id=43958483</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43958483</guid></item><item><title><![CDATA[New comment by thegeekpirate in "Odin, a pragmatic C alternative with a Go flavour"]]></title><description><![CDATA[
<p>All good, I contribute for everyone reading ^_^</p>
]]></description><pubDate>Mon, 12 May 2025 00:25:12 +0000</pubDate><link>https://news.ycombinator.com/item?id=43958475</link><dc:creator>thegeekpirate</dc:creator><comments>https://news.ycombinator.com/item?id=43958475</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43958475</guid></item></channel></rss>