<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: fourteenminutes</title><link>https://news.ycombinator.com/user?id=fourteenminutes</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Tue, 28 Apr 2026 18:27:44 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=fourteenminutes" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by fourteenminutes in "GitHub Actions is slowly killing engineering teams"]]></title><description><![CDATA[
<p>As a (very happy) RWX customer:<p>- Intermediate tasks are cached in a docker-like manner (content-addressed by filesystem and environment). Tasks in a CI pipeline build on previous ones by applying the filesystem of dependent tasks (AFAIU via overlayfs), so you don't execute the same task twice. The most prominent example of this is a feature branch that is up-to-date with main passes CI on main as soon as it's merged, as every task on main is a cache-hit with the CI execution on the feature branch.<p>- Failures: the UI surfaces failures to the top, and because of the caching semantics, you can re-run just the failed tasks without having to re-run their dependencies.<p>- Debugging: they expose a breakpoint (<a href="https://www.rwx.com/docs/rwx/remote-debugging" rel="nofollow">https://www.rwx.com/docs/rwx/remote-debugging</a>) command that stops execution during a task and allows you to shell into the remote container for debugging, so you can debug interactively rather than pushing `env` and other debugging tasks again and again. And when you do need to push to test a fix, the caching semantics again mean you skip all the setup.<p>There's a whole lot of other stuff. You can generate tasks to execute in a CI pipeline via any programming language of your choice, the concurrency control supports multiple modes, no need for `actions/cache` because of the caching semantics and the incremental caching feature (<a href="https://www.rwx.com/docs/rwx/tool-caches" rel="nofollow">https://www.rwx.com/docs/rwx/tool-caches</a>).<p>And I've never had a problem with the logs.</p>
]]></description><pubDate>Fri, 06 Feb 2026 05:25:21 +0000</pubDate><link>https://news.ycombinator.com/item?id=46909443</link><dc:creator>fourteenminutes</dc:creator><comments>https://news.ycombinator.com/item?id=46909443</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46909443</guid></item><item><title><![CDATA[New comment by fourteenminutes in "We deleted our Dockerfiles: a better, faster way to build container images"]]></title><description><![CDATA[
<p>Love these problems being solved at a platform level rather than just a language level.</p>
]]></description><pubDate>Tue, 25 Nov 2025 01:09:28 +0000</pubDate><link>https://news.ycombinator.com/item?id=46041283</link><dc:creator>fourteenminutes</dc:creator><comments>https://news.ycombinator.com/item?id=46041283</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46041283</guid></item><item><title><![CDATA[We deleted our Dockerfiles: a better, faster way to build container images]]></title><description><![CDATA[
<p>Article URL: <a href="https://www.rwx.com/blog/we-deleted-our-dockerfiles">https://www.rwx.com/blog/we-deleted-our-dockerfiles</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=46037136">https://news.ycombinator.com/item?id=46037136</a></p>
<p>Points: 13</p>
<p># Comments: 6</p>
]]></description><pubDate>Mon, 24 Nov 2025 18:15:01 +0000</pubDate><link>https://www.rwx.com/blog/we-deleted-our-dockerfiles</link><dc:creator>fourteenminutes</dc:creator><comments>https://news.ycombinator.com/item?id=46037136</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46037136</guid></item><item><title><![CDATA[New comment by fourteenminutes in "Solving the Pain that is CI/CD"]]></title><description><![CDATA[
<p>few developers want to think a lot about CI/CD. The best solution is one that is remarkably close to everything you can do locally.</p>
]]></description><pubDate>Wed, 26 Mar 2025 20:03:23 +0000</pubDate><link>https://news.ycombinator.com/item?id=43486562</link><dc:creator>fourteenminutes</dc:creator><comments>https://news.ycombinator.com/item?id=43486562</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43486562</guid></item><item><title><![CDATA[Solving the Pain that is CI/CD]]></title><description><![CDATA[
<p>Article URL: <a href="https://www.dan-manges.com/blog/solving-the-pain-that-is-ci-cd">https://www.dan-manges.com/blog/solving-the-pain-that-is-ci-cd</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=43485166">https://news.ycombinator.com/item?id=43485166</a></p>
<p>Points: 11</p>
<p># Comments: 1</p>
]]></description><pubDate>Wed, 26 Mar 2025 18:20:06 +0000</pubDate><link>https://www.dan-manges.com/blog/solving-the-pain-that-is-ci-cd</link><dc:creator>fourteenminutes</dc:creator><comments>https://news.ycombinator.com/item?id=43485166</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43485166</guid></item><item><title><![CDATA[New comment by fourteenminutes in "The Pain That Is GitHub Actions"]]></title><description><![CDATA[
<p>Used to use GH actions quite a bit. At my current company we set up RWX Mint (rwx.com/mint) and haven't looked back. (disclaimer: used to work at rwx but no longer affiliated)</p>
]]></description><pubDate>Thu, 20 Mar 2025 04:56:17 +0000</pubDate><link>https://news.ycombinator.com/item?id=43419995</link><dc:creator>fourteenminutes</dc:creator><comments>https://news.ycombinator.com/item?id=43419995</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43419995</guid></item><item><title><![CDATA[New comment by fourteenminutes in "Roc Lang – Elm but for everywhere [video]"]]></title><description><![CDATA[
<p>Side effects are monadic (the main side-effectful abstraction, Task, is the continuation monad). There are no algebraic effects.</p>
]]></description><pubDate>Tue, 20 Aug 2024 19:50:21 +0000</pubDate><link>https://news.ycombinator.com/item?id=41303380</link><dc:creator>fourteenminutes</dc:creator><comments>https://news.ycombinator.com/item?id=41303380</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=41303380</guid></item><item><title><![CDATA[The Pizza Meter]]></title><description><![CDATA[
<p>Article URL: <a href="https://en.wikipedia.org/wiki/The_Pizza_Meter">https://en.wikipedia.org/wiki/The_Pizza_Meter</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=39805067">https://news.ycombinator.com/item?id=39805067</a></p>
<p>Points: 18</p>
<p># Comments: 2</p>
]]></description><pubDate>Sun, 24 Mar 2024 03:58:17 +0000</pubDate><link>https://en.wikipedia.org/wiki/The_Pizza_Meter</link><dc:creator>fourteenminutes</dc:creator><comments>https://news.ycombinator.com/item?id=39805067</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=39805067</guid></item><item><title><![CDATA[New comment by fourteenminutes in "I quit my job to work full time on my open source project"]]></title><description><![CDATA[
<p>If someone steals your laptop and breaks in I think you have many problems equal to, or more severe, than your shell history.</p>
]]></description><pubDate>Wed, 10 Jan 2024 05:33:01 +0000</pubDate><link>https://news.ycombinator.com/item?id=38936589</link><dc:creator>fourteenminutes</dc:creator><comments>https://news.ycombinator.com/item?id=38936589</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=38936589</guid></item><item><title><![CDATA[New comment by fourteenminutes in "Roc – A fast, friendly, functional language"]]></title><description><![CDATA[
<p>It's unlikely that macros will be supported. Regarding editors, it's unlikely that effort on the advertised Roc editor will start in earnest some time soon. I actually recently merged an LSP implementation into the mainline compiler ([details on how to integrate here](<a href="https://roc.zulipchat.com/#narrow/stream/304902-show-and-tell/topic/Language.20server/near/397961230" rel="nofollow noreferrer">https://roc.zulipchat.com/#narrow/stream/304902-show-and-tel...</a>)), and that's likely to develop more in the near future, before a standalone Roc editor is available.</p>
]]></description><pubDate>Mon, 20 Nov 2023 19:25:48 +0000</pubDate><link>https://news.ycombinator.com/item?id=38353116</link><dc:creator>fourteenminutes</dc:creator><comments>https://news.ycombinator.com/item?id=38353116</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=38353116</guid></item><item><title><![CDATA[New comment by fourteenminutes in "Ask HN: Could you share your personal blog here?"]]></title><description><![CDATA[
<p><a href="https://ayazhafiz.com/cc" rel="nofollow noreferrer">https://ayazhafiz.com/cc</a>. A lot of programming languages, type systems stuff.</p>
]]></description><pubDate>Thu, 06 Jul 2023 02:05:39 +0000</pubDate><link>https://news.ycombinator.com/item?id=36610078</link><dc:creator>fourteenminutes</dc:creator><comments>https://news.ycombinator.com/item?id=36610078</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=36610078</guid></item><item><title><![CDATA[New comment by fourteenminutes in "How to become a “designer who codes” (2019)"]]></title><description><![CDATA[
<p><a href="https://archive.is/blk7s" rel="nofollow">https://archive.is/blk7s</a></p>
]]></description><pubDate>Sat, 22 Apr 2023 04:35:25 +0000</pubDate><link>https://news.ycombinator.com/item?id=35663369</link><dc:creator>fourteenminutes</dc:creator><comments>https://news.ycombinator.com/item?id=35663369</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=35663369</guid></item><item><title><![CDATA[Time Crystals]]></title><description><![CDATA[
<p>Article URL: <a href="https://en.wikipedia.org/wiki/Time_crystal">https://en.wikipedia.org/wiki/Time_crystal</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=35636004">https://news.ycombinator.com/item?id=35636004</a></p>
<p>Points: 1</p>
<p># Comments: 0</p>
]]></description><pubDate>Thu, 20 Apr 2023 03:25:12 +0000</pubDate><link>https://en.wikipedia.org/wiki/Time_crystal</link><dc:creator>fourteenminutes</dc:creator><comments>https://news.ycombinator.com/item?id=35636004</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=35636004</guid></item><item><title><![CDATA[Poker Exploits 1: Introduction and Blind vs. Blind Preflop Exploits]]></title><description><![CDATA[
<p>Article URL: <a href="https://lukebhan.com/blog/post6/">https://lukebhan.com/blog/post6/</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=35005372">https://news.ycombinator.com/item?id=35005372</a></p>
<p>Points: 2</p>
<p># Comments: 0</p>
]]></description><pubDate>Fri, 03 Mar 2023 03:17:09 +0000</pubDate><link>https://lukebhan.com/blog/post6/</link><dc:creator>fourteenminutes</dc:creator><comments>https://news.ycombinator.com/item?id=35005372</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=35005372</guid></item><item><title><![CDATA[New comment by fourteenminutes in "A Lambda Calculus with Coroutines and Heapless, Directly-Called Closures"]]></title><description><![CDATA[
<p>The manuscript is currently unpublished so it’s not available ):<p>Thanks for the links - I’ve seen them, and it’s interesting that defunctionalization is usually an optimization. The “Type-driven …” paper is the earliest work I’m aware of that does it over surface types, but doesnt “go all the way”.<p>Id love to chat more - a link to email can be found around the post, including at the bottom.</p>
]]></description><pubDate>Sun, 26 Feb 2023 00:47:23 +0000</pubDate><link>https://news.ycombinator.com/item?id=34941968</link><dc:creator>fourteenminutes</dc:creator><comments>https://news.ycombinator.com/item?id=34941968</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=34941968</guid></item><item><title><![CDATA[New comment by fourteenminutes in "A Lambda Calculus with Coroutines and Heapless, Directly-Called Closures"]]></title><description><![CDATA[
<p>Yes - if the closure representation is recursive, it must be boxed. I believe your example is also that given by the original author (William Brandon et.al.). I don’t think there is any way around this, because it is the same as any other recursive data type at that point.<p>Although, if you know at compile time the size of the list, you could imagine compiling the recursive data type “unrolled” into a statically-sized array - but now you need dependent types.</p>
]]></description><pubDate>Sun, 26 Feb 2023 00:32:55 +0000</pubDate><link>https://news.ycombinator.com/item?id=34941908</link><dc:creator>fourteenminutes</dc:creator><comments>https://news.ycombinator.com/item?id=34941908</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=34941908</guid></item><item><title><![CDATA[New comment by fourteenminutes in "A Lambda Calculus with Coroutines and Heapless, Directly-Called Closures"]]></title><description><![CDATA[
<p>Yes - that’s a great observation. The scheme here means that you can end up with compilation dependencies that aren’t reflected in your explicit dependency graph, exactly e.g. via the path you describe.<p>The same is true of monomorphization in presence of typeclasses (or traits, concepts, etc). I have some ideas about how to do such incremental compilations optimally, but they haven’t been written down.<p>Anyway, I totally agree with you. I don’t mean to suggest this is the best way to do things - if anything Rust/C++/etc have taught us excessive monomorphization is probably not the way to go for developer experience reasons. You may be able to imagine some interesting derivative of the scheme presented here with something like Swift’s “witness table”-based compilation of protocols, which may be much more compile-time performant, and support separate compilation. But, I don’t even have a sketch of that. This is only one technique and the design space is very wide.</p>
]]></description><pubDate>Sun, 26 Feb 2023 00:26:37 +0000</pubDate><link>https://news.ycombinator.com/item?id=34941883</link><dc:creator>fourteenminutes</dc:creator><comments>https://news.ycombinator.com/item?id=34941883</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=34941883</guid></item><item><title><![CDATA[New comment by fourteenminutes in "A Lambda Calculus with Coroutines and Heapless, Directly-Called Closures"]]></title><description><![CDATA[
<p>Author here. Yes, the scheme requires whole-program compilation, which is unfortunate. If you’re okay with statically-linked dependencies there is only the large problem of making a compiler that is adept to incremental re-compilation. However, any monomorphizing compiler faces such a challenge, so the problem is not unique.</p>
]]></description><pubDate>Sat, 25 Feb 2023 22:15:23 +0000</pubDate><link>https://news.ycombinator.com/item?id=34940984</link><dc:creator>fourteenminutes</dc:creator><comments>https://news.ycombinator.com/item?id=34940984</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=34940984</guid></item><item><title><![CDATA[New comment by fourteenminutes in "Design of This Website (2021)"]]></title><description><![CDATA[
<p><a href="https://ayazhafiz.com/cc" rel="nofollow">https://ayazhafiz.com/cc</a><p>My personal blog! Let me know if you like any of the stuff on it. And what I'm wrong about :)</p>
]]></description><pubDate>Thu, 07 Apr 2022 01:12:20 +0000</pubDate><link>https://news.ycombinator.com/item?id=30939503</link><dc:creator>fourteenminutes</dc:creator><comments>https://news.ycombinator.com/item?id=30939503</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=30939503</guid></item><item><title><![CDATA[New comment by fourteenminutes in "Why don't more languages offer flow typing?"]]></title><description><![CDATA[
<p>I entirely agree with you! And all of these are things covered in the post.</p>
]]></description><pubDate>Tue, 05 Apr 2022 02:19:19 +0000</pubDate><link>https://news.ycombinator.com/item?id=30914610</link><dc:creator>fourteenminutes</dc:creator><comments>https://news.ycombinator.com/item?id=30914610</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=30914610</guid></item></channel></rss>