<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: tagraves</title><link>https://news.ycombinator.com/user?id=tagraves</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Sun, 12 Apr 2026 10:03:33 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=tagraves" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by tagraves in "Cirrus Labs to join OpenAI"]]></title><description><![CDATA[
<p>Well, check out RWX! We don't do exactly everything like CirrusCI did -- most notably, we aren't open source and we are still managing all of our own infrastructure for running CI right now -- but we have a great "local" story and a validation CLI (`rwx lint`), and a lot of fundamental changes that make us better than other CI systems too :)</p>
]]></description><pubDate>Sun, 12 Apr 2026 02:15:20 +0000</pubDate><link>https://news.ycombinator.com/item?id=47735610</link><dc:creator>tagraves</dc:creator><comments>https://news.ycombinator.com/item?id=47735610</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47735610</guid></item><item><title><![CDATA[New comment by tagraves in "GitHub Actions is slowly killing engineering teams"]]></title><description><![CDATA[
<p>There's three main things we do to solve this, all of which relate to the fact that we have our own (OCI-compatible) container runtime under the hood instead of using Docker.<p>1. We don't gzip layers like Docker does. Gzip is really slow, and it's much slower than the network. Storage is cheap. So it's much faster to transmit uncompressed layers than to transmit compressed layers and decompress them.<p>2. We've heavily tuned our agents for pulling layers fast. Disk throughput and IOPS are really important so we provision those higher than you typically would for running workloads in the cloud. When pulling layers we modify kernel parameters like the dirty_ratio to values that we've empirically found with layer pulls. We make sure we completely exhaust our network bandwidth and throughput when pulling layers. And so on.<p>3. This third one is experimental and something we're actively working on improving, but we have our own underlying filesystem which lazily loads the files from a layer instead of pulling tons of (potentially unneeded) files up front. This is similar to AWS's [Seekable OCI](<a href="https://github.com/awslabs/soci-snapshotter" rel="nofollow">https://github.com/awslabs/soci-snapshotter</a>) but tuned for our particular needs.<p>I've been slowly working on improving our documentation to explain these kinds of differentiators that our architecture and container runtime provide, but most of it is unpublished so far. We definitely need to do a much better job of explaining _how_ we are faster and better rather than just stating it :).<p>The other side of this is that we also made _building_ those layers much much faster. We blogged a little bit about it at <a href="https://www.rwx.com/blog/we-deleted-our-dockerfiles" rel="nofollow">https://www.rwx.com/blog/we-deleted-our-dockerfiles</a> but just to hit some quick notes: in RWX you can vary the compute by task, and it turns out throwing a big machine at (e.g.) `npm install` is quite effective. Plus we make using an incremental cache very easy, and layers generated from an incremental cache are only the incremental parts, so they tend to be smaller. And we're a DAG, so you can parallelize your setup in a way that is very painful to do with Docker,  even when using multi-stage builds. And our cache registry is global and very hard to mess up, whereas a lot of people misconfigure their Docker caches and have cache misses all over their docker builds. And we have miss-then-hit semantics for caching. Okay, I'm rambling now! But happy to go into more depth on any of this!</p>
]]></description><pubDate>Sat, 07 Feb 2026 04:41:03 +0000</pubDate><link>https://news.ycombinator.com/item?id=46921352</link><dc:creator>tagraves</dc:creator><comments>https://news.ycombinator.com/item?id=46921352</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46921352</guid></item><item><title><![CDATA[New comment by tagraves in "GitHub Actions is slowly killing engineering teams"]]></title><description><![CDATA[
<p>I hope the author will check out RWX -- they say they've checked out most CI systems, but I don't think they've tried us out yet. We have everything they praise Buildkite for, except for managing your own compute (and that's coming, soon!). But we also built our own container execution model with CI specifically in mind. We've seen one too many Buildkite pipelines that have a 10 minute Docker build up front (!) and then have to pull a huge docker container across 40 parallel steps, and the overhead is enormous.</p>
]]></description><pubDate>Fri, 06 Feb 2026 04:34:01 +0000</pubDate><link>https://news.ycombinator.com/item?id=46909165</link><dc:creator>tagraves</dc:creator><comments>https://news.ycombinator.com/item?id=46909165</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46909165</guid></item><item><title><![CDATA[New comment by tagraves in "I hate GitHub Actions with passion"]]></title><description><![CDATA[
<p>This is one of the big problems we solved with the RWX CI platform (RWX.com). You can use ‘rwx run’ and it automatically syncs your local changes, so no need to push — and with our automated caching, steps like setting up the environment cache hit so you don’t have to execute the same stuff over and over again while writing your workflow. Plus with our API or MCP server you can get the results directly in your terminal so no need to open the UI at all unless you want to do some in-depth spelunking.</p>
]]></description><pubDate>Wed, 14 Jan 2026 16:11:18 +0000</pubDate><link>https://news.ycombinator.com/item?id=46617799</link><dc:creator>tagraves</dc:creator><comments>https://news.ycombinator.com/item?id=46617799</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46617799</guid></item><item><title><![CDATA[Zero Configuration CI/CD Observability on RWX Using OpenTelemetry]]></title><description><![CDATA[
<p>Article URL: <a href="https://www.rwx.com/blog/zero-configuration-observability-for-cicd">https://www.rwx.com/blog/zero-configuration-observability-for-cicd</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=46313903">https://news.ycombinator.com/item?id=46313903</a></p>
<p>Points: 1</p>
<p># Comments: 0</p>
]]></description><pubDate>Thu, 18 Dec 2025 15:34:22 +0000</pubDate><link>https://www.rwx.com/blog/zero-configuration-observability-for-cicd</link><dc:creator>tagraves</dc:creator><comments>https://news.ycombinator.com/item?id=46313903</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46313903</guid></item><item><title><![CDATA[New comment by tagraves in "Denial of service and source code exposure in React Server Components"]]></title><description><![CDATA[
<p>I appreciate the follow up! I think it looks great now and doesn’t read as defensively anymore!</p>
]]></description><pubDate>Thu, 11 Dec 2025 22:40:49 +0000</pubDate><link>https://news.ycombinator.com/item?id=46238329</link><dc:creator>tagraves</dc:creator><comments>https://news.ycombinator.com/item?id=46238329</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46238329</guid></item><item><title><![CDATA[New comment by tagraves in "Denial of service and source code exposure in React Server Components"]]></title><description><![CDATA[
<p>It's really concerning that the biggest, most eye-grabbing part of this posting is the note with the following: "It’s common for critical CVEs to uncover follow‑up vulnerabilities."<p>Trying to justify the CVE before fully explaining the scope of the CVE, who is affected, or how to mitigate it -- yikes.</p>
]]></description><pubDate>Thu, 11 Dec 2025 21:53:50 +0000</pubDate><link>https://news.ycombinator.com/item?id=46237728</link><dc:creator>tagraves</dc:creator><comments>https://news.ycombinator.com/item?id=46237728</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46237728</guid></item><item><title><![CDATA[New comment by tagraves in "Getting syntax highlighting wrong"]]></title><description><![CDATA[
<p>I had the same experience -- it was way easier for me to find it with the rainbow highlighting (even though I already knew where to look when it came to the monochrome highlighting!).<p>The author later asks what color class definitions were. I think this fundamentally gets wrong how syntax highlighting helps humans. I don't have a clue what color anything is in my favored highlighting, but my brain does incredible pattern recognition to help me digest code in it without me consciously knowing what color does what.<p>So his arguments for why there's a problem don't hold up, but that doesn't mean there is not in fact a problem.</p>
]]></description><pubDate>Wed, 15 Oct 2025 20:17:44 +0000</pubDate><link>https://news.ycombinator.com/item?id=45597864</link><dc:creator>tagraves</dc:creator><comments>https://news.ycombinator.com/item?id=45597864</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45597864</guid></item><item><title><![CDATA[New comment by tagraves in "The future of large files in Git is Git"]]></title><description><![CDATA[
<p>We use a somewhat similar approach in RWX when pulling LFS files[1]. We run `git lfs ls-files` to get a list of the lfs files, then pass that list into a task which pulls each file from the LFS endpoint using curl. Since in RWX the output of tasks are cached as long as their inputs don't change, the LFS files just stay in the RWX cache and are pulled from there on future clones in CI. In addition to saving on GitHub's LFS bandwidth costs, the RWX cache is also _much_ faster to restore from than `git lfs pull`.<p>[1] <a href="https://github.com/rwx-cloud/packages/blob/main/git/clone/bin/git-clone#L86-L112" rel="nofollow">https://github.com/rwx-cloud/packages/blob/main/git/clone/bi...</a></p>
]]></description><pubDate>Sat, 16 Aug 2025 02:57:12 +0000</pubDate><link>https://news.ycombinator.com/item?id=44919718</link><dc:creator>tagraves</dc:creator><comments>https://news.ycombinator.com/item?id=44919718</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44919718</guid></item><item><title><![CDATA[New comment by tagraves in "Web fingerprinting is worse than I thought (2023)"]]></title><description><![CDATA[
<p>Not on iOS, as I understand it. If you "Ask app not to track" on iOS then the app cannot access your IDFA, which was the ID that previously was used to track a device across apps.</p>
]]></description><pubDate>Thu, 24 Jul 2025 13:38:24 +0000</pubDate><link>https://news.ycombinator.com/item?id=44670545</link><dc:creator>tagraves</dc:creator><comments>https://news.ycombinator.com/item?id=44670545</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44670545</guid></item><item><title><![CDATA[New comment by tagraves in "Reverse engineering GitHub Actions cache to make it fast"]]></title><description><![CDATA[
<p>Come check out RWX :). We have per second billing but I think it won't even matter for your use case because most of those checks are going to take 0s on RWX. And our UI is optimized for showing you what is wrong at a glance without having to look at logs at all.</p>
]]></description><pubDate>Wed, 23 Jul 2025 15:34:22 +0000</pubDate><link>https://news.ycombinator.com/item?id=44660391</link><dc:creator>tagraves</dc:creator><comments>https://news.ycombinator.com/item?id=44660391</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44660391</guid></item><item><title><![CDATA[New comment by tagraves in "Reverse engineering GitHub Actions cache to make it fast"]]></title><description><![CDATA[
<p>It's pretty amazing to see what Blacksmith, Depot, Actuated, etc. have been able to build on top of GitHub Actions. At RWX we got a bit tired of constantly trying to work around the limitations of the platform with self-hosted runners, so we just built an entirely new CI platform on a brand new execution model with support for things like lightning-fast caching out of the box. Plus, there are some fundamental limitations that are impossible to work around, like the retry behavior [0]. Still, I have a huge appreciation for the patience of the Blacksmith team to actually dig in and improve what they can with GHA.<p>[0] <a href="https://www.rwx.com/blog/retry-failures-while-run-in-progress" rel="nofollow">https://www.rwx.com/blog/retry-failures-while-run-in-progres...</a></p>
]]></description><pubDate>Wed, 23 Jul 2025 14:39:45 +0000</pubDate><link>https://news.ycombinator.com/item?id=44659732</link><dc:creator>tagraves</dc:creator><comments>https://news.ycombinator.com/item?id=44659732</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44659732</guid></item><item><title><![CDATA[New comment by tagraves in "Ruby on Rails: The Open-Source Blueprint"]]></title><description><![CDATA[
<p>I'd be shocked to learn it wasn't written by AI. The bolding and italicizing of text is exactly how LLMs typically do it.</p>
]]></description><pubDate>Wed, 02 Jul 2025 15:36:38 +0000</pubDate><link>https://news.ycombinator.com/item?id=44445026</link><dc:creator>tagraves</dc:creator><comments>https://news.ycombinator.com/item?id=44445026</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44445026</guid></item><item><title><![CDATA[New comment by tagraves in "Run GitHub Actions locally"]]></title><description><![CDATA[
<p>In my experience (and as reflected by the comments on this post already), trying to run complex CI workflow locally is a fairly hopeless enterprise. If you have a fully containerized workflow, you might be able to get close, but even then ensuring you have all of your CI specific environment variables is often not a trivial task, and if your workflow orchestrates things across tasks (e.g. one task uploads an artifact and another task uses that artifact) you'll have a hard time reproducing exactly what is happening in CI. My company (RWX) builds a GitHub Actions competitor and we intentionally do not support local execution -- instead we focused on making it easy to kick off remote builds from your local machine without having to do a `git push` and we made it easy to grab an SSH session before, during, or after a running task to inspect things in the exact build environment that your workflow is running.</p>
]]></description><pubDate>Fri, 16 May 2025 18:57:06 +0000</pubDate><link>https://news.ycombinator.com/item?id=44008742</link><dc:creator>tagraves</dc:creator><comments>https://news.ycombinator.com/item?id=44008742</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44008742</guid></item><item><title><![CDATA[Mint CI/CD 1.0 is now available]]></title><description><![CDATA[
<p>Article URL: <a href="https://www.rwx.com/blog/mint-1-0-now-available">https://www.rwx.com/blog/mint-1-0-now-available</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=40792509">https://news.ycombinator.com/item?id=40792509</a></p>
<p>Points: 2</p>
<p># Comments: 0</p>
]]></description><pubDate>Tue, 25 Jun 2024 19:23:19 +0000</pubDate><link>https://www.rwx.com/blog/mint-1-0-now-available</link><dc:creator>tagraves</dc:creator><comments>https://news.ycombinator.com/item?id=40792509</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=40792509</guid></item><item><title><![CDATA[New comment by tagraves in "Google Gemini Pro API Available Through AI Studio"]]></title><description><![CDATA[
<p>Here's the response chatGPT 4 gave for me:<p>> The orange remains in the living room. Moving the plate to the kitchen does not affect the location of the orange, since it was placed below the plate but not attached to it. Therefore, the orange stays where it was originally placed, which is in the living room.<p>You don't need to visualize it in your mind to understand the relationship between being _below_ and being _moved with_. Keep in mind that many people cannot visualize anything in their mind!</p>
]]></description><pubDate>Wed, 13 Dec 2023 17:13:12 +0000</pubDate><link>https://news.ycombinator.com/item?id=38630474</link><dc:creator>tagraves</dc:creator><comments>https://news.ycombinator.com/item?id=38630474</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=38630474</guid></item><item><title><![CDATA[New comment by tagraves in "Apple Vision Pro developer kit"]]></title><description><![CDATA[
<p>Isn't this exactly what Apple did with the M1 chips when they were first being released? Plus, Apple announced they would do developer kit applications for the Vision Pro at the same time they announced the Vision Pro, so they couldn't have based this decision on the traction with third party developers.</p>
]]></description><pubDate>Mon, 24 Jul 2023 18:06:07 +0000</pubDate><link>https://news.ycombinator.com/item?id=36851971</link><dc:creator>tagraves</dc:creator><comments>https://news.ycombinator.com/item?id=36851971</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=36851971</guid></item><item><title><![CDATA[Test results can be so much richer]]></title><description><![CDATA[
<p>Article URL: <a href="https://www.rwx.com/blog/test-results-can-be-so-much-richer">https://www.rwx.com/blog/test-results-can-be-so-much-richer</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=36216873">https://news.ycombinator.com/item?id=36216873</a></p>
<p>Points: 2</p>
<p># Comments: 0</p>
]]></description><pubDate>Tue, 06 Jun 2023 18:12:50 +0000</pubDate><link>https://www.rwx.com/blog/test-results-can-be-so-much-richer</link><dc:creator>tagraves</dc:creator><comments>https://news.ycombinator.com/item?id=36216873</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=36216873</guid></item><item><title><![CDATA[GitHub Actions is vulnerable to supply chain attacks]]></title><description><![CDATA[
<p>Article URL: <a href="https://www.rwx.com/blog/github-actions-is-vulnerable-to-supply-chain-attacks">https://www.rwx.com/blog/github-actions-is-vulnerable-to-supply-chain-attacks</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=35878047">https://news.ycombinator.com/item?id=35878047</a></p>
<p>Points: 3</p>
<p># Comments: 0</p>
]]></description><pubDate>Tue, 09 May 2023 17:56:41 +0000</pubDate><link>https://www.rwx.com/blog/github-actions-is-vulnerable-to-supply-chain-attacks</link><dc:creator>tagraves</dc:creator><comments>https://news.ycombinator.com/item?id=35878047</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=35878047</guid></item><item><title><![CDATA[New comment by tagraves in "FYI: LLVM-project repo has exceeded GitHub upload size limit (2022)"]]></title><description><![CDATA[
<p>How would the DoS work? As I understand it the issue here only occurs if you try to push the entire project to a _new_ repo. It doesn't affect existing repos.</p>
]]></description><pubDate>Mon, 30 Jan 2023 15:54:12 +0000</pubDate><link>https://news.ycombinator.com/item?id=34581335</link><dc:creator>tagraves</dc:creator><comments>https://news.ycombinator.com/item?id=34581335</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=34581335</guid></item></channel></rss>