<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: vito</title><link>https://news.ycombinator.com/user?id=vito</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Thu, 21 May 2026 03:58:33 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=vito" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by vito in "Dagger: A shell for the container age"]]></title><description><![CDATA[
<p>The Bash compatible syntax is just one representation of an underlying cross-language API. You can also write code in your preferred language, provided there's an SDK for it. (Currently: Python, TypeScript, Go, PHP, Java, Elixir, Rust, .NET)<p>But if you're talking specifically about shell or a "native" REPL in a safer language - I also want to scratch that itch. Some day I'll dust off <a href="https://github.com/vito/dash" rel="nofollow">https://github.com/vito/dash</a> :)</p>
]]></description><pubDate>Thu, 27 Mar 2025 19:09:01 +0000</pubDate><link>https://news.ycombinator.com/item?id=43496975</link><dc:creator>vito</dc:creator><comments>https://news.ycombinator.com/item?id=43496975</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43496975</guid></item><item><title><![CDATA[New comment by vito in "We replaced our React front end with Go and WebAssembly"]]></title><description><![CDATA[
<p>What you aren't including is the chronic cost of maintaining the status quo, which is the entire reason for making the change. Sometimes making no decision costs you more than making a risky one - and if the decision is risky, you'll want to investigate it first.<p>During that investigation you discover things (like having to implement your own components) and try to account for how much they'll subtract from the time and energy you save. If the calculus works out, you keep going. If it doesn't, you stop. We kept going, and now we can ship complex features and optimizations to both UIs within a day or two.</p>
]]></description><pubDate>Tue, 11 Feb 2025 16:07:57 +0000</pubDate><link>https://news.ycombinator.com/item?id=43014504</link><dc:creator>vito</dc:creator><comments>https://news.ycombinator.com/item?id=43014504</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43014504</guid></item><item><title><![CDATA[New comment by vito in "We replaced our React front end with Go and WebAssembly"]]></title><description><![CDATA[
<p>Here's one of our public traces if you want to try the real thing: <a href="https://v3.dagger.cloud/dagger/traces/6898273d59ad62a6df1e9e392559d126" rel="nofollow">https://v3.dagger.cloud/dagger/traces/6898273d59ad62a6df1e9e...</a></p>
]]></description><pubDate>Tue, 11 Feb 2025 04:22:00 +0000</pubDate><link>https://news.ycombinator.com/item?id=43008933</link><dc:creator>vito</dc:creator><comments>https://news.ycombinator.com/item?id=43008933</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43008933</guid></item><item><title><![CDATA[New comment by vito in "Go 1.21 Release Candidate"]]></title><description><![CDATA[
<p>The compiler will tell you if the types aren't compatible, and this is only for primitive comparable types. What `min()` implementation could you have that even does something different?</p>
]]></description><pubDate>Wed, 21 Jun 2023 21:45:42 +0000</pubDate><link>https://news.ycombinator.com/item?id=36425088</link><dc:creator>vito</dc:creator><comments>https://news.ycombinator.com/item?id=36425088</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=36425088</guid></item><item><title><![CDATA[New comment by vito in "GitHub Actions is my new favorite free programming tool [video]"]]></title><description><![CDATA[
<p>Yeah that's a good point. There are definite trade-offs to going for only one or the other. If there's a nice way to support both without too much maintenance overhead, that'd be my preference. There are a few popular Go libraries which support that, like <a href="https://github.com/spf13/viper" rel="nofollow">https://github.com/spf13/viper</a> - which we'll probably consider switching to as part of a general CLI overhaul.<p>For a long time now we've been primarily focusing on the core design, concepts, and architecture at the expense of documentation and introductory material and outreach - we've never had a dedicated technical writer, so documentation is really best-effort. Now that the dust is settling on our roadmap I feel a lot more confident in increasing our focus on onboarding, operability, and developer/user experience in this coming year. :)</p>
]]></description><pubDate>Fri, 20 Dec 2019 06:42:44 +0000</pubDate><link>https://news.ycombinator.com/item?id=21842149</link><dc:creator>vito</dc:creator><comments>https://news.ycombinator.com/item?id=21842149</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=21842149</guid></item><item><title><![CDATA[New comment by vito in "GitHub Actions is my new favorite free programming tool [video]"]]></title><description><![CDATA[
<p>(Concourse co-creator/OSS lead here.)<p>Our CLI hasn't really aged well and that's something I'd like to address soon - probably going more in the direction of config files instead of flags/env vars. It'd be a lot easier to document with a proper schema. Thanks for the feedback and sorry the experience is still pretty rocky!</p>
]]></description><pubDate>Fri, 20 Dec 2019 06:05:03 +0000</pubDate><link>https://news.ycombinator.com/item?id=21842015</link><dc:creator>vito</dc:creator><comments>https://news.ycombinator.com/item?id=21842015</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=21842015</guid></item><item><title><![CDATA[New comment by vito in "Elm 0.19.1"]]></title><description><![CDATA[
<p>All it really proves is HN's tendency to tear down projects for any arbitrary reason they can find.</p>
]]></description><pubDate>Mon, 21 Oct 2019 14:22:30 +0000</pubDate><link>https://news.ycombinator.com/item?id=21312562</link><dc:creator>vito</dc:creator><comments>https://news.ycombinator.com/item?id=21312562</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=21312562</guid></item><item><title><![CDATA[New comment by vito in "Conference call simulator"]]></title><description><![CDATA[
<p>The Books - Free Translator (<a href="https://www.youtube.com/watch?v=jGjs8TCGvQI" rel="nofollow">https://www.youtube.com/watch?v=jGjs8TCGvQI</a>)</p>
]]></description><pubDate>Wed, 29 Aug 2018 21:56:14 +0000</pubDate><link>https://news.ycombinator.com/item?id=17872424</link><dc:creator>vito</dc:creator><comments>https://news.ycombinator.com/item?id=17872424</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=17872424</guid></item><item><title><![CDATA[New comment by vito in "Windows 93 (2014)"]]></title><description><![CDATA[
<p>Solitude even has the victory animation: <a href="http://i.imgur.com/IlSm5pE.png" rel="nofollow">http://i.imgur.com/IlSm5pE.png</a><p>Funnily enough if you leave the tab in the background, the events queue up and when you tab back there are a bunch of cards bouncing around at once: <a href="http://i.imgur.com/dNObRGb.png" rel="nofollow">http://i.imgur.com/dNObRGb.png</a></p>
]]></description><pubDate>Wed, 12 Oct 2016 17:09:55 +0000</pubDate><link>https://news.ycombinator.com/item?id=12694670</link><dc:creator>vito</dc:creator><comments>https://news.ycombinator.com/item?id=12694670</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=12694670</guid></item><item><title><![CDATA[New comment by vito in "Concourse CI Hits 1.0.0"]]></title><description><![CDATA[
<p>If someone writes a Garden backend for it, sure. Here's an example of a pretty small backend that delegates to `systemd-nspawn`:<p><a href="https://github.com/vito/garden-systemd" rel="nofollow">https://github.com/vito/garden-systemd</a></p>
]]></description><pubDate>Wed, 30 Mar 2016 15:38:20 +0000</pubDate><link>https://news.ycombinator.com/item?id=11390063</link><dc:creator>vito</dc:creator><comments>https://news.ycombinator.com/item?id=11390063</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=11390063</guid></item><item><title><![CDATA[New comment by vito in "Concourse CI Hits 1.0.0"]]></title><description><![CDATA[
<p>I'm curious to know how your flow through the docs went. We inlined "getting started" into the main page, and had the Setting Up section show "vagrant up" first, and we have warnings above sections that are not critical to know before learning Concourse itself, which then take you right to "Hello World". It's already optimized for "Concourse made easy" - but perhaps our navigation is not?<p>I should probably add a warning above the BOSH section though, or even the binaries section.<p>The trouble is, reality is complicated, regardless of whether it's documented or not. I've found that a lot of open source projects simply don't document things to give an illusion of simplicity; people just forget all the manual labor they had to do after downloading that .deb and installing it across 10 machines and maintaining those machines over time. Our docs cover BOSH as our preferred tool for clusters. If you don't want to use BOSH, just use the binaries and your own deployment tool.<p>We don't build .debs yet; as soon as we do other people will want .yum, and another will want Docker images, so we built the binaries that will feed into those first, which is often what I look for when kicking the tires on something anyway.</p>
]]></description><pubDate>Wed, 30 Mar 2016 15:34:37 +0000</pubDate><link>https://news.ycombinator.com/item?id=11390037</link><dc:creator>vito</dc:creator><comments>https://news.ycombinator.com/item?id=11390037</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=11390037</guid></item><item><title><![CDATA[New comment by vito in "Concourse CI Hits 1.0.0"]]></title><description><![CDATA[
<p>Concourse just talks to Garden, it's up to the Garden backend whether or not it actually does containerization. So on Windows it just does the world's worst containerization (cd'ing into a directory), though it at least guarantees that the processes all die.<p>There's a proper Garden Windows backend in the works which we'll switch to at some point once we better understand it: <a href="https://github.com/cloudfoundry/garden-windows" rel="nofollow">https://github.com/cloudfoundry/garden-windows</a></p>
]]></description><pubDate>Wed, 30 Mar 2016 00:28:39 +0000</pubDate><link>https://news.ycombinator.com/item?id=11386106</link><dc:creator>vito</dc:creator><comments>https://news.ycombinator.com/item?id=11386106</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=11386106</guid></item><item><title><![CDATA[New comment by vito in "Concourse CI Hits 1.0.0"]]></title><description><![CDATA[
<p>Woops, typo'd in my original comment: it supports Linux, <i>Windows</i>, and OS X. :) Binaries here: <a href="http://concourse.ci/downloads.html" rel="nofollow">http://concourse.ci/downloads.html</a></p>
]]></description><pubDate>Tue, 29 Mar 2016 23:28:27 +0000</pubDate><link>https://news.ycombinator.com/item?id=11385812</link><dc:creator>vito</dc:creator><comments>https://news.ycombinator.com/item?id=11385812</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=11385812</guid></item><item><title><![CDATA[New comment by vito in "Concourse CI Hits 1.0.0"]]></title><description><![CDATA[
<p>You pretty much got it right. That page is still a bit rough; we'll give it some TLC soon.<p>Workers are just machines running a container management daemon (much like a Docker daemon) and a volume manager (a custom daemon for managing caches and efficient artifact propagation between containers). Not sure how you got to Cloud Foundry though, it's not really related. Garden lives in the Cloud Foundry GitHub organization, as it's also used by Cloud Foundry, but you don't need to know anything about CF to use Concourse.<p>Concourse supports Linux, Windows, and OS X. You can see an example of this here:<p><a href="https://ci.concourse.ci/pipelines/main/jobs/fly/builds/2621" rel="nofollow">https://ci.concourse.ci/pipelines/main/jobs/fly/builds/2621</a></p>
]]></description><pubDate>Tue, 29 Mar 2016 23:01:18 +0000</pubDate><link>https://news.ycombinator.com/item?id=11385662</link><dc:creator>vito</dc:creator><comments>https://news.ycombinator.com/item?id=11385662</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=11385662</guid></item><item><title><![CDATA[New comment by vito in "Concourse CI Hits 1.0.0"]]></title><description><![CDATA[
<p>There are prebuilt OS X binaries available on the Downloads page. Each binary supports both running the web UI and acting as a worker:<p><a href="https://concourse.ci/downloads.html" rel="nofollow">https://concourse.ci/downloads.html</a></p>
]]></description><pubDate>Tue, 29 Mar 2016 22:57:51 +0000</pubDate><link>https://news.ycombinator.com/item?id=11385653</link><dc:creator>vito</dc:creator><comments>https://news.ycombinator.com/item?id=11385653</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=11385653</guid></item><item><title><![CDATA[New comment by vito in "Concourse CI Hits 1.0.0"]]></title><description><![CDATA[
<p>That command would just be `fly` or something else coming from Concourse. To me it makes more sense for the entry into the system to be safeguarded with validation, and then possibly bring your own filesystem-based configuration management system that goes through that same front door, building on trusted tools from Concourse itself. Mucking with files on disk that directly affect a live system (shipping production code!) seems like a recipe for disaster.</p>
]]></description><pubDate>Tue, 29 Mar 2016 22:17:22 +0000</pubDate><link>https://news.ycombinator.com/item?id=11385391</link><dc:creator>vito</dc:creator><comments>https://news.ycombinator.com/item?id=11385391</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=11385391</guid></item><item><title><![CDATA[New comment by vito in "Concourse CI Hits 1.0.0"]]></title><description><![CDATA[
<p>We run browser-based tests in our own pipeline (I'm on the Concourse team). We just use `xvfb-run` around our test script. We also build VirtualBox images using a systemd-based Garden backend running on a dedicated server (not a VM).<p>I find these approaches better than risking test pollution, especially when it comes to building VMs and spinning up desktop apps.</p>
]]></description><pubDate>Tue, 29 Mar 2016 22:15:43 +0000</pubDate><link>https://news.ycombinator.com/item?id=11385379</link><dc:creator>vito</dc:creator><comments>https://news.ycombinator.com/item?id=11385379</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=11385379</guid></item><item><title><![CDATA[New comment by vito in "Concourse CI Hits 1.0.0"]]></title><description><![CDATA[
<p>In addition to what XenoPhex said (`fly execute`) you can always just configure a job that's only ever manually triggered.</p>
]]></description><pubDate>Tue, 29 Mar 2016 22:12:22 +0000</pubDate><link>https://news.ycombinator.com/item?id=11385353</link><dc:creator>vito</dc:creator><comments>https://news.ycombinator.com/item?id=11385353</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=11385353</guid></item><item><title><![CDATA[New comment by vito in "Jenkins 2.0 Beta"]]></title><description><![CDATA[
<p>The nature of Garden is to support container managers as Garden backends. Garden itself is just a client/server API spec.<p>For example, [Guardian](<a href="https://github.com/cloudfoundry-incubator/guardian-release" rel="nofollow">https://github.com/cloudfoundry-incubator/guardian-release</a>) is in the works to replace the Linux backend with a thinner runC-based backend.<p>The main value we get from it is having a nice Go API and not having to overhaul everything using Garden every time some shiny new container tech comes out.</p>
]]></description><pubDate>Sun, 27 Mar 2016 15:02:08 +0000</pubDate><link>https://news.ycombinator.com/item?id=11370145</link><dc:creator>vito</dc:creator><comments>https://news.ycombinator.com/item?id=11370145</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=11370145</guid></item><item><title><![CDATA[New comment by vito in "Jenkins 2.0 Beta"]]></title><description><![CDATA[
<p>Yup (is). You'd just run `concourse web` and then `concourse worker` on the same machine. If all you have is a Mac Mini there's one gotcha, though: currently none of the resources will run on OS X, as they're built as Docker images. So you'll still need at least one Linux worker somewhere.<p>I think the next step from us may be to start building Vagrant boxes that just spin up a worker, parameterized with credentials to register with a Concourse `web` instance. That way you can run Concourse on OS X for iOS testing/etc. and still have all your resources and Linux containerization when you need it via a tiny local VM.</p>
]]></description><pubDate>Sat, 26 Mar 2016 16:36:04 +0000</pubDate><link>https://news.ycombinator.com/item?id=11366267</link><dc:creator>vito</dc:creator><comments>https://news.ycombinator.com/item?id=11366267</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=11366267</guid></item></channel></rss>