<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: throwawaymaths</title><link>https://news.ycombinator.com/user?id=throwawaymaths</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Thu, 16 Jul 2026 06:46:33 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=throwawaymaths" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by throwawaymaths in "Why we built Lightpanda in Zig"]]></title><description><![CDATA[
<p>too many features.  tryhard vibe</p>
]]></description><pubDate>Sat, 06 Dec 2025 01:29:29 +0000</pubDate><link>https://news.ycombinator.com/item?id=46169666</link><dc:creator>throwawaymaths</dc:creator><comments>https://news.ycombinator.com/item?id=46169666</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46169666</guid></item><item><title><![CDATA[New comment by throwawaymaths in "Cloudflare outage on December 5, 2025"]]></title><description><![CDATA[
<p>this time in lua.  cloudflare can't catch a break</p>
]]></description><pubDate>Fri, 05 Dec 2025 15:41:16 +0000</pubDate><link>https://news.ycombinator.com/item?id=46162749</link><dc:creator>throwawaymaths</dc:creator><comments>https://news.ycombinator.com/item?id=46162749</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46162749</guid></item><item><title><![CDATA[New comment by throwawaymaths in "Django 6"]]></title><description><![CDATA[
<p>> As a very very heavy LLM user, I also notice that projects tend to be much easier for LLMs (and humans alike) to work on when they use opinionated well-established frameworks.<p>i have the exact opposite experience.  its far better to have llms start from scratch than use batteries that are just slightly the wrong shape... the llm will run circles and hallucinate nonexistent solutions.<p>that said, i have had a lot of success having llms write opinionated (my opinions) packages that are shaped in the way that llms like (very little indirection, breadcrumbs to follow for code paths etc), and then have the llm write its own documentation.</p>
]]></description><pubDate>Fri, 05 Dec 2025 03:57:43 +0000</pubDate><link>https://news.ycombinator.com/item?id=46156709</link><dc:creator>throwawaymaths</dc:creator><comments>https://news.ycombinator.com/item?id=46156709</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46156709</guid></item><item><title><![CDATA[New comment by throwawaymaths in "Thoughts on Go vs. Rust vs. Zig"]]></title><description><![CDATA[
<p>have you ever deployed an erlamg system?<p>the biggest bugbear for concurrent systems is mutable shared data.  by inherently being distributable you basically "give up on that" so for concurrent erlang systems you ~mostly don't even try.<p>if for no other reason than that erlang is saner than go for concurrency<p>like goroutines aren't inherently cancellable, so you see go programmers build out the kludgey context to handle those situations and debugging can get very tricky</p>
]]></description><pubDate>Fri, 05 Dec 2025 02:46:17 +0000</pubDate><link>https://news.ycombinator.com/item?id=46156313</link><dc:creator>throwawaymaths</dc:creator><comments>https://news.ycombinator.com/item?id=46156313</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46156313</guid></item><item><title><![CDATA[New comment by throwawaymaths in "Thoughts on Go vs. Rust vs. Zig"]]></title><description><![CDATA[
<p>ironically with zig most of the things that violate expectations are keywords.  so you run head first into a whole ton of them when you first start (but at least it doesn't compile) and then it you have a very solid mental model of whats going on.</p>
]]></description><pubDate>Fri, 05 Dec 2025 02:40:40 +0000</pubDate><link>https://news.ycombinator.com/item?id=46156270</link><dc:creator>throwawaymaths</dc:creator><comments>https://news.ycombinator.com/item?id=46156270</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46156270</guid></item><item><title><![CDATA[New comment by throwawaymaths in "Thoughts on Go vs. Rust vs. Zig"]]></title><description><![CDATA[
<p>yeah, its a better c, but like wouldnt it be nice if c had stadardized fat pointers so that if you move from project to project you don't have to triple check the semantics?  for example and like say 50+ "learnings" from 40 years c that are canonized and first class in the language + stdlib</p>
]]></description><pubDate>Fri, 05 Dec 2025 02:37:30 +0000</pubDate><link>https://news.ycombinator.com/item?id=46156249</link><dc:creator>throwawaymaths</dc:creator><comments>https://news.ycombinator.com/item?id=46156249</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46156249</guid></item><item><title><![CDATA[New comment by throwawaymaths in "Thoughts on Go vs. Rust vs. Zig"]]></title><description><![CDATA[
<p>and you can have good races too (where the order doesnt matter)</p>
]]></description><pubDate>Fri, 05 Dec 2025 00:03:52 +0000</pubDate><link>https://news.ycombinator.com/item?id=46155088</link><dc:creator>throwawaymaths</dc:creator><comments>https://news.ycombinator.com/item?id=46155088</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46155088</guid></item><item><title><![CDATA[New comment by throwawaymaths in "Thoughts on Go vs. Rust vs. Zig"]]></title><description><![CDATA[
<p>'const expected = [_]u32{ 123, 67, 89, 99 };'<p>constant array with u32, and let the compiler figure out how many of em there are (i reserve the right to change it in the future)</p>
]]></description><pubDate>Thu, 04 Dec 2025 23:14:46 +0000</pubDate><link>https://news.ycombinator.com/item?id=46154567</link><dc:creator>throwawaymaths</dc:creator><comments>https://news.ycombinator.com/item?id=46154567</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46154567</guid></item><item><title><![CDATA[New comment by throwawaymaths in "Django 6"]]></title><description><![CDATA[
<p>why would you need batteries included?  the ai can code most integrations (from scratch, if you want, so if you need something slightly off the beaten path it's easy</p>
]]></description><pubDate>Thu, 04 Dec 2025 22:32:41 +0000</pubDate><link>https://news.ycombinator.com/item?id=46154087</link><dc:creator>throwawaymaths</dc:creator><comments>https://news.ycombinator.com/item?id=46154087</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46154087</guid></item><item><title><![CDATA[New comment by throwawaymaths in "Zig's new plan for asynchronous programs"]]></title><description><![CDATA[
<p>> suspend/resume<p>special @asyncSuspend and @asyncResume builtins, they will be the low level detail you can build an evented io with.<p>new Io is an abstraction over the higher level details that are common between sync, threaded, and evented, so you shouldn't expect the suspension mechanism to be in it.</p>
]]></description><pubDate>Wed, 03 Dec 2025 14:17:21 +0000</pubDate><link>https://news.ycombinator.com/item?id=46134730</link><dc:creator>throwawaymaths</dc:creator><comments>https://news.ycombinator.com/item?id=46134730</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46134730</guid></item><item><title><![CDATA[New comment by throwawaymaths in "Zig quits GitHub, says Microsoft's AI obsession has ruined the service"]]></title><description><![CDATA[
<p>IDK being able to produce a good product in a corpo environment sure sounds like a competency issue.<p>>  how hard it is for top performers to make change<p>then you're not a top performer anymore?<p>seems pretty straightforward<p>> they must be stupid<p>one can be not stupid and still not competent</p>
]]></description><pubDate>Wed, 03 Dec 2025 13:49:56 +0000</pubDate><link>https://news.ycombinator.com/item?id=46134441</link><dc:creator>throwawaymaths</dc:creator><comments>https://news.ycombinator.com/item?id=46134441</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46134441</guid></item><item><title><![CDATA[New comment by throwawaymaths in "Zig's new plan for asynchronous programs"]]></title><description><![CDATA[
<p>i am not familiar with rust and i gave up on python async years ago so i have no frame of reference here.  but im really not sure why theres a need to distinguish between tasks and non tasks?<p>importantly in zig the execution isnt just limited to #1 and #2.  if the caller of this function initiated a #3 before all of this it could also get run stuffed in that .await, for example.</p>
]]></description><pubDate>Wed, 03 Dec 2025 03:43:27 +0000</pubDate><link>https://news.ycombinator.com/item?id=46130068</link><dc:creator>throwawaymaths</dc:creator><comments>https://news.ycombinator.com/item?id=46130068</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46130068</guid></item><item><title><![CDATA[New comment by throwawaymaths in "Anthropic acquires Bun"]]></title><description><![CDATA[
<p>i haven't. do people still use the "class" keyword?</p>
]]></description><pubDate>Wed, 03 Dec 2025 02:26:06 +0000</pubDate><link>https://news.ycombinator.com/item?id=46129580</link><dc:creator>throwawaymaths</dc:creator><comments>https://news.ycombinator.com/item?id=46129580</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46129580</guid></item><item><title><![CDATA[New comment by throwawaymaths in "Zig's new plan for asynchronous programs"]]></title><description><![CDATA[
<p>the io isnt a single resource?  it's a module grouping together a pile of code.  and you can swap out implementations.  the io modules should be responsible for handing out <i>many</i> failable resources, and synchronization is going to be up to the io module code, and thats whether or not it's globalized or passed.</p>
]]></description><pubDate>Wed, 03 Dec 2025 02:04:57 +0000</pubDate><link>https://news.ycombinator.com/item?id=46129466</link><dc:creator>throwawaymaths</dc:creator><comments>https://news.ycombinator.com/item?id=46129466</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46129466</guid></item><item><title><![CDATA[New comment by throwawaymaths in "Zig's new plan for asynchronous programs"]]></title><description><![CDATA[
<p>i mean not really?  it absolutely does nothing to segregate stateful impurity into a type theoretically stateless token</p>
]]></description><pubDate>Wed, 03 Dec 2025 01:49:55 +0000</pubDate><link>https://news.ycombinator.com/item?id=46129362</link><dc:creator>throwawaymaths</dc:creator><comments>https://news.ycombinator.com/item?id=46129362</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46129362</guid></item><item><title><![CDATA[New comment by throwawaymaths in "Anthropic acquires Bun"]]></title><description><![CDATA[
<p>run code anywhere hamstrung by 90s syntax and hidden code indirections</p>
]]></description><pubDate>Tue, 02 Dec 2025 22:44:24 +0000</pubDate><link>https://news.ycombinator.com/item?id=46127978</link><dc:creator>throwawaymaths</dc:creator><comments>https://news.ycombinator.com/item?id=46127978</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46127978</guid></item><item><title><![CDATA[New comment by throwawaymaths in "Zig's new plan for asynchronous programs"]]></title><description><![CDATA[
<p>how do you "fail to obtain the token"?</p>
]]></description><pubDate>Tue, 02 Dec 2025 22:42:29 +0000</pubDate><link>https://news.ycombinator.com/item?id=46127962</link><dc:creator>throwawaymaths</dc:creator><comments>https://news.ycombinator.com/item?id=46127962</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46127962</guid></item><item><title><![CDATA[New comment by throwawaymaths in "Zig's new plan for asynchronous programs"]]></title><description><![CDATA[
<p>is it not the case that in zig, the execution happens in a_future.await?<p>I presume that:<p>io.async 1 stores in io "hey please work on this"<p>io.async 2 stores in io "hey also please work on this"<p>in the case where io is evented with some "provided event loop":<p>await #1 runs through both 1 and 2 interleavedly, and if 2 finishes before 1, it puts a pin on it, and then returns a_result when 1 is completed.<p>await #2 "no-executions" if 1 finished after 2, but if there is still work to be done for 2, then it keeps going until the results for 2 are all in.<p>There's no "task that's running somewere mysteriously" <i>unless</i> you pick threaded io, in which case, yeah, io.async actually kicks shit off, and if the cpu takes a big fat nap on the calling thread between the asyncs and the awaits, progress might have been made (which wouldn't be the case if you were evented).</p>
]]></description><pubDate>Tue, 02 Dec 2025 22:39:04 +0000</pubDate><link>https://news.ycombinator.com/item?id=46127932</link><dc:creator>throwawaymaths</dc:creator><comments>https://news.ycombinator.com/item?id=46127932</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46127932</guid></item><item><title><![CDATA[New comment by throwawaymaths in "Zig's new plan for asynchronous programs"]]></title><description><![CDATA[
<p>Pretty sure the Zig team is aware of this and has plans to fix it before they re-release async.</p>
]]></description><pubDate>Tue, 02 Dec 2025 22:26:43 +0000</pubDate><link>https://news.ycombinator.com/item?id=46127803</link><dc:creator>throwawaymaths</dc:creator><comments>https://news.ycombinator.com/item?id=46127803</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46127803</guid></item><item><title><![CDATA[New comment by throwawaymaths in "Zig's new plan for asynchronous programs"]]></title><description><![CDATA[
<p>1) zig's io is not a viral effect type, you can in principle declare a global io variable and use it everywhere that any library calls for it.  Not best practice for a library writer, but if you're building an app, do what you want.<p>2) There are two things here, there is function coloring and the function coloring problem.  The function coloring problem is five things:<p><a href="https://journal.stuffwithstuff.com/2015/02/01/what-color-is-your-function/" rel="nofollow">https://journal.stuffwithstuff.com/2015/02/01/what-color-is-...</a><p>1. Every function has a color.<p>2. The way you call a function depends on its color.<p>3. You can only call a red function from within another red function.<p>4. Red functions are more painful to call.<p>5. Some core library functions are red.<p>You'll have some convincing to do that zig's plan satisfies 4.  It's almost certain that it won't satisfy 5.<p>It's open to debate if zig's plan <i>will work at all</i>, of course.</p>
]]></description><pubDate>Tue, 02 Dec 2025 22:25:57 +0000</pubDate><link>https://news.ycombinator.com/item?id=46127793</link><dc:creator>throwawaymaths</dc:creator><comments>https://news.ycombinator.com/item?id=46127793</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46127793</guid></item></channel></rss>