<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: flakes</title><link>https://news.ycombinator.com/user?id=flakes</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Tue, 14 Apr 2026 22:40:48 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=flakes" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by flakes in "Make tmux pretty and usable (2024)"]]></title><description><![CDATA[
<p>When a child process finishes (that is not actively being waited on) it is left in a "defunct" or "zombie" state and will stick around in the process table until the parent process waits on them to fetch exit code. When you kill a parent process with active children, these subprocesses will become orphaned and re-parented to the OS pid 1 (or another "sub-reaper" process depending on your setup).<p>The OS will typically not kill  orphaned/re-parented processes for you. It will simply wait/reap them so they are not left as zombies once they complete. If your parent process spawns something like a daemon server that needs an explicit signal to be stopped (e.g. SIGINT/SIGTERM), these processes will continue to run in the background until they are manually killed or they crash.</p>
]]></description><pubDate>Mon, 13 Apr 2026 22:19:51 +0000</pubDate><link>https://news.ycombinator.com/item?id=47758685</link><dc:creator>flakes</dc:creator><comments>https://news.ycombinator.com/item?id=47758685</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47758685</guid></item><item><title><![CDATA[New comment by flakes in "Issue: Claude Code is unusable for complex engineering tasks with Feb updates"]]></title><description><![CDATA[
<p>> "this test failure is preexisting so I'm going to ignore it"<p>Critical finding! You spotted the smoking gun!</p>
]]></description><pubDate>Mon, 06 Apr 2026 22:41:09 +0000</pubDate><link>https://news.ycombinator.com/item?id=47668306</link><dc:creator>flakes</dc:creator><comments>https://news.ycombinator.com/item?id=47668306</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47668306</guid></item><item><title><![CDATA[New comment by flakes in "Tracing Goroutines in Realtime with eBPF"]]></title><description><![CDATA[
<p>I would say that this is limited to a targeted Go version and architecture. For example, the filter checks for the goroutine pointer on `r28` which is correct for arm64 but not universally true.<p>Any changes to the struct layouts, stack, or heap layouts would also cause failures in these lookups. E.g., in Go 1.17, many functions now use direct register mappings for arguments rather than always placing arguments in the stack.<p>Would need to thoroughly vet compatability with each new Go version before using something like this in production.</p>
]]></description><pubDate>Sun, 05 Apr 2026 23:50:36 +0000</pubDate><link>https://news.ycombinator.com/item?id=47655196</link><dc:creator>flakes</dc:creator><comments>https://news.ycombinator.com/item?id=47655196</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47655196</guid></item><item><title><![CDATA[New comment by flakes in "Python 3.15's JIT is now back on track"]]></title><description><![CDATA[
<p>You’ll probably want to look to the PEPs. Havent dug into this topic myself but looks related <a href="https://peps.python.org/pep-0744/" rel="nofollow">https://peps.python.org/pep-0744/</a></p>
]]></description><pubDate>Tue, 17 Mar 2026 21:01:28 +0000</pubDate><link>https://news.ycombinator.com/item?id=47418254</link><dc:creator>flakes</dc:creator><comments>https://news.ycombinator.com/item?id=47418254</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47418254</guid></item><item><title><![CDATA[New comment by flakes in "Defer available in gcc and clang"]]></title><description><![CDATA[
<p>I'd say a lot of users are going to borrow patterns from Go, where you'd typically check the error first.<p><pre><code>    resource, err := newResource()
    if err != nil {
        return err
    }
    defer resource.Close()
</code></pre>
IMO this pattern makes more sense, as calling exit behavior in most cases won't make sense unless you have acquired the resource in the first place.<p>free may accept a NULL pointer, but it also doesn't need to be called with one either.</p>
]]></description><pubDate>Fri, 20 Feb 2026 07:35:28 +0000</pubDate><link>https://news.ycombinator.com/item?id=47084883</link><dc:creator>flakes</dc:creator><comments>https://news.ycombinator.com/item?id=47084883</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47084883</guid></item><item><title><![CDATA[New comment by flakes in "uBlock filter list to hide all YouTube Shorts"]]></title><description><![CDATA[
<p>Thats interesting. If you’re on Chrome I’d try out Firefox just to see. I haven’t had any issues for a long time.</p>
]]></description><pubDate>Sat, 14 Feb 2026 19:50:51 +0000</pubDate><link>https://news.ycombinator.com/item?id=47017719</link><dc:creator>flakes</dc:creator><comments>https://news.ycombinator.com/item?id=47017719</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47017719</guid></item><item><title><![CDATA[New comment by flakes in "Bubblewrap: A nimble way to prevent agents from accessing your .env files"]]></title><description><![CDATA[
<p>I find it better to bubblewrap against a full sandbox directory. Using docker, you can export an image to a single tarball archive, flattening all layers. I use a compatible base image for my kernel/distro, and unpack the image archive into a directory.<p>With the unpack directory, you can now limit the host paths you expose, avoiding leaking in details from your host machine into the sandbox.<p>bwrap --ro-bind image/ / --bind src/ /src ...<p>Any tools you need in the container are installed in the image you unpack.<p>Some more tips: Use --unshare-all if you can. Make sure to add --proc and --dev options for a functional container. If you just need network, use both --unshare-all and --share-net together, keeping everything else separate. Make sure to drop any privileges with --cap-drop ALL</p>
]]></description><pubDate>Thu, 15 Jan 2026 04:50:05 +0000</pubDate><link>https://news.ycombinator.com/item?id=46628184</link><dc:creator>flakes</dc:creator><comments>https://news.ycombinator.com/item?id=46628184</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46628184</guid></item><item><title><![CDATA[New comment by flakes in "Total monthly number of StackOverflow questions over time"]]></title><description><![CDATA[
<p>Maybe it's a mix of me using the site less, or questions I previously answered not being as relevant anymore, however as it stands, it's just not fun to visit the site any more.<p>I have about ~750 answers and 24K rep after almost 12 years of being a member. The site was a great way to spend some free cycles and help people. My favorite bounty answer lead to me finding a bug in the Java compiler! I even got recruited into my current role from the old Stack Overflow Jobs board.<p>With AI, not only did the quality and frequency of posts go down, but the activity on my existing posts are basically zero now. I used to have a few notifications a week with either comments on my past answers/questions or a few upvotes (for those fun little serotonin boosts). Looking at my past stats.. in 2023 I had ~170 notifications, in 2024 that dropped to ~100, and in 2025 it went down to ~50 (with only 5 notifications since September).<p>I don't feel engaged with the community, and even finding new questions to answer is a struggle now with (the unanswerable) "open-ended questions" being mixed into the normal questions feed.</p>
]]></description><pubDate>Sun, 04 Jan 2026 04:44:16 +0000</pubDate><link>https://news.ycombinator.com/item?id=46485012</link><dc:creator>flakes</dc:creator><comments>https://news.ycombinator.com/item?id=46485012</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46485012</guid></item><item><title><![CDATA[New comment by flakes in "Deliberate Internet Shutdowns"]]></title><description><![CDATA[
<p>> Maybe once every four years on leap day or something.<p>Advantage: You no longer need to fix that leap day bug on your website.</p>
]]></description><pubDate>Mon, 22 Dec 2025 04:59:55 +0000</pubDate><link>https://news.ycombinator.com/item?id=46351454</link><dc:creator>flakes</dc:creator><comments>https://news.ycombinator.com/item?id=46351454</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46351454</guid></item><item><title><![CDATA[New comment by flakes in "Show HN: Shittp – Volatile Dotfiles over SSH"]]></title><description><![CDATA[
<p>I do the same, but I skip rsync for git.<p><pre><code>    git clone $uri dotfiles; export HOME=$(pwd)/dotfiles 
</code></pre>
These days, my laptop acts as a dumb SSH gateway for Linux VMs. No configuration or setup, aside from VS code connecting to VMs. Any server that I would want to load my dotfiles onto will almost always have git installed.<p>Rant (not directed at any comment here): If it's a production server without git, then please do not run scripts like this. Do not create junk directories on (or ideally any modifications to) secure machines. It inevitably causes new and uninteresting puzzles for your colleagues. Create documented workflows for incident responses or inspection.</p>
]]></description><pubDate>Mon, 22 Dec 2025 04:47:59 +0000</pubDate><link>https://news.ycombinator.com/item?id=46351386</link><dc:creator>flakes</dc:creator><comments>https://news.ycombinator.com/item?id=46351386</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46351386</guid></item><item><title><![CDATA[New comment by flakes in "How well do you know C++ auto type deduction?"]]></title><description><![CDATA[
<p>Auto has really made c++ unapproachable to me. It's hard enough to reason about anything templated, and now I frequently see code where every method returns auto. How is any one supposed to do a code review without loading the patch into their IDE?</p>
]]></description><pubDate>Mon, 15 Dec 2025 06:16:10 +0000</pubDate><link>https://news.ycombinator.com/item?id=46271018</link><dc:creator>flakes</dc:creator><comments>https://news.ycombinator.com/item?id=46271018</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46271018</guid></item><item><title><![CDATA[New comment by flakes in "Google unkills JPEG XL?"]]></title><description><![CDATA[
<p>A selfie at that resolution would be some sort of super-resolution microscopy.</p>
]]></description><pubDate>Tue, 02 Dec 2025 04:08:43 +0000</pubDate><link>https://news.ycombinator.com/item?id=46117435</link><dc:creator>flakes</dc:creator><comments>https://news.ycombinator.com/item?id=46117435</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46117435</guid></item><item><title><![CDATA[New comment by flakes in "The HTTP Query Method"]]></title><description><![CDATA[
<p>You can, and that is mentioned in RFC 9110... along with the cons for doing so.<p>> Although request message framing is independent of the method used, content received in a GET request has no generally defined semantics, cannot alter the meaning or target of the request, and might lead some implementations to reject the request and close the connection because of its potential as a request smuggling attack (Section 11.2 of [HTTP/1.1]). A client SHOULD NOT generate content in a GET request unless it is made directly to an origin server that has previously indicated, in or out of band, that such a request has a purpose and will be adequately supported. An origin server SHOULD NOT rely on private agreements to receive content, since participants in HTTP communication are often unaware of intermediaries along the request chain.<p>QUERY is a new option to help avoid some of those downsides.<p><a href="https://www.rfc-editor.org/rfc/rfc9110.html#section-9.3.1" rel="nofollow">https://www.rfc-editor.org/rfc/rfc9110.html#section-9.3.1</a></p>
]]></description><pubDate>Sun, 30 Nov 2025 18:36:13 +0000</pubDate><link>https://news.ycombinator.com/item?id=46099115</link><dc:creator>flakes</dc:creator><comments>https://news.ycombinator.com/item?id=46099115</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46099115</guid></item><item><title><![CDATA[New comment by flakes in "Bazzite: Operating System for Linux gaming"]]></title><description><![CDATA[
<p>Yeah, I just always used the context windows to set permalink. Saves me a step now!</p>
]]></description><pubDate>Sun, 30 Nov 2025 06:15:35 +0000</pubDate><link>https://news.ycombinator.com/item?id=46094317</link><dc:creator>flakes</dc:creator><comments>https://news.ycombinator.com/item?id=46094317</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46094317</guid></item><item><title><![CDATA[New comment by flakes in "The HTTP Query Method"]]></title><description><![CDATA[
<p>> unless I'm missing something I don't think a QUERY verb will change all that much here?<p>The semantics are important. GET APIs are expected to be safe, idempotent, and cache-friendly. When you are unable to use GET for technical reasons and move to POST, suddenly none of the infrastructure (like routers, gateways, or generic http libs) can make these assumptions about your API. For example, many tools will not attempt to put retry logic around POST calls, because they cannot be sure that retrying is safe.<p>Having the QUERY verb allows us to overcome the technical limitations of GET without having to drop the safety expectations.</p>
]]></description><pubDate>Sun, 30 Nov 2025 04:57:25 +0000</pubDate><link>https://news.ycombinator.com/item?id=46093892</link><dc:creator>flakes</dc:creator><comments>https://news.ycombinator.com/item?id=46093892</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46093892</guid></item><item><title><![CDATA[New comment by flakes in "Bazzite: Operating System for Linux gaming"]]></title><description><![CDATA[
<p>I had no idea there was a hotkey for that. Thank you!</p>
]]></description><pubDate>Sun, 30 Nov 2025 04:23:12 +0000</pubDate><link>https://news.ycombinator.com/item?id=46093703</link><dc:creator>flakes</dc:creator><comments>https://news.ycombinator.com/item?id=46093703</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46093703</guid></item><item><title><![CDATA[New comment by flakes in "Rectal oxygen delivery might soon be a real medical treatment"]]></title><description><![CDATA[
<p>Another great post from Arse Technica</p>
]]></description><pubDate>Wed, 22 Oct 2025 02:49:56 +0000</pubDate><link>https://news.ycombinator.com/item?id=45664400</link><dc:creator>flakes</dc:creator><comments>https://news.ycombinator.com/item?id=45664400</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45664400</guid></item><item><title><![CDATA[New comment by flakes in "Apple M5 chip"]]></title><description><![CDATA[
<p>What does “4x the peak GPU compute performance” mean here? No latency difference, but higher throughput? The footnote was not at all helpful<p>> Performance tests are conducted using specific computer systems and reflect the approximate performance of MacBook Pro.</p>
]]></description><pubDate>Thu, 16 Oct 2025 03:09:39 +0000</pubDate><link>https://news.ycombinator.com/item?id=45601057</link><dc:creator>flakes</dc:creator><comments>https://news.ycombinator.com/item?id=45601057</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45601057</guid></item><item><title><![CDATA[New comment by flakes in "macOS Tahoe"]]></title><description><![CDATA[
<p>> I absolutely loathe the amount of brute-force memorization that is required to operate a command-line efficiently. It took YEARS to memorize simple linux shit<p>Not to invalidate your experience, but you shouldn’t need to memorize too much to use the common command line tools (although it does always help to have more experience using them).<p>I recommend always keeping a second terminal session open, purely for referencing man pages. You should be able to see most options easily, or be able to grep for the instructions you need.<p>The tight integration between documentation within the CLI, coupled to the exact software version you have installed, helps immensely when invoking CLI tools.<p>For the common linux tooling, found in most distros (e.g. coreutils or common busybox ops) the documentation in man pages is quite excellent.</p>
]]></description><pubDate>Tue, 16 Sep 2025 05:52:54 +0000</pubDate><link>https://news.ycombinator.com/item?id=45258501</link><dc:creator>flakes</dc:creator><comments>https://news.ycombinator.com/item?id=45258501</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45258501</guid></item><item><title><![CDATA[New comment by flakes in "Google's Liquid Cooling"]]></title><description><![CDATA[
<p>> In theory, a PC builder could try exchanging heat to a toilet tank, allowing for highly efficient cooling with each flush.<p>The future is here.</p>
]]></description><pubDate>Tue, 26 Aug 2025 07:09:19 +0000</pubDate><link>https://news.ycombinator.com/item?id=45023248</link><dc:creator>flakes</dc:creator><comments>https://news.ycombinator.com/item?id=45023248</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45023248</guid></item></channel></rss>