<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: emilburzo</title><link>https://news.ycombinator.com/user?id=emilburzo</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Fri, 05 Jun 2026 03:07:53 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=emilburzo" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by emilburzo in "The ways we contain Claude across products"]]></title><description><![CDATA[
<p>It doesn't have any credentials inside the VM though, not even for git, so it could commit but not push. And I manually review/commit/push outside of the VM since I don't want to just dump stuff without reading it first.<p>But good call-out if someone uses a different workflow.</p>
]]></description><pubDate>Thu, 04 Jun 2026 10:55:23 +0000</pubDate><link>https://news.ycombinator.com/item?id=48396849</link><dc:creator>emilburzo</dc:creator><comments>https://news.ycombinator.com/item?id=48396849</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48396849</guid></item><item><title><![CDATA[New comment by emilburzo in "The ways we contain Claude across products"]]></title><description><![CDATA[
<p>I'm still happy with my containment setup[1][2] on linux. The only risk that I see from the article would be the "Exfiltration through an approved domain" one. But in the VM there's (by design) nothing to exfiltrate besides the source code itself, which is less valuable these days.<p>The major benefit for me with this setup is that the agent can do all of the dev things that I can (install packages, build/run docker images, ...) which is a way faster loop than me trying it manually and then reporting back to the agent.<p>[1] <a href="https://blog.emilburzo.com/2026/01/running-claude-code-dangerously-safely/" rel="nofollow">https://blog.emilburzo.com/2026/01/running-claude-code-dange...</a><p>[2] <a href="https://news.ycombinator.com/item?id=46690907">https://news.ycombinator.com/item?id=46690907</a></p>
]]></description><pubDate>Thu, 04 Jun 2026 06:41:55 +0000</pubDate><link>https://news.ycombinator.com/item?id=48394914</link><dc:creator>emilburzo</dc:creator><comments>https://news.ycombinator.com/item?id=48394914</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48394914</guid></item><item><title><![CDATA[New comment by emilburzo in "France's aircraft carrier located in real time by Le Monde through fitness app"]]></title><description><![CDATA[
<p>Yep, that looks like a paraglider circling in a thermal while being drifted due the wind.<p>Random tracklog example: <a href="https://www.xcontest.org/world/en/flights/detail:mattmozza/21.03.2026/00:21" rel="nofollow">https://www.xcontest.org/world/en/flights/detail:mattmozza/2...</a><p>(zoom in until you see circles on the track line)</p>
]]></description><pubDate>Sat, 21 Mar 2026 11:03:17 +0000</pubDate><link>https://news.ycombinator.com/item?id=47465949</link><dc:creator>emilburzo</dc:creator><comments>https://news.ycombinator.com/item?id=47465949</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47465949</guid></item><item><title><![CDATA[New comment by emilburzo in "Starlink Mini as a failover"]]></title><description><![CDATA[
<p>> Romania reportedly has unlimited for 4€ but I don't know which operator.<p>Orange Yoxo is the only one which has actually-unlimited, all the others have a fine-print somewhere with "up to X GB/month, then bandwidth is severely throttled".<p>I'm using the 4.9€ plan for a mountain webcam[1] and they have been true to their word, no throttling so far.<p>[1] <a href="https://ignis.maramures.io/" rel="nofollow">https://ignis.maramures.io/</a></p>
]]></description><pubDate>Tue, 17 Mar 2026 09:43:46 +0000</pubDate><link>https://news.ycombinator.com/item?id=47410477</link><dc:creator>emilburzo</dc:creator><comments>https://news.ycombinator.com/item?id=47410477</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47410477</guid></item><item><title><![CDATA[New comment by emilburzo in "What Is OAuth?"]]></title><description><![CDATA[
<p>I've been happily using oauth2-proxy[1] with nginx as an extra layer of authentication to prevent situations where e.g. home-assistant had an unauthenticated RCE.<p>It's pretty neat since you can have one oauth instances for all virtual hosts, e.g.:<p><pre><code>  server {
      [...]   
     
      location /oauth2/ {
          proxy_pass       http://127.0.0.1:8469;
          proxy_set_header Host                   $host;
          proxy_set_header X-Real-IP              $remote_addr;
          proxy_set_header X-Scheme               $scheme;
          proxy_set_header X-Auth-Request-Redirect $request_uri;
      }
  
      location / {
         auth_request /oauth2/auth;
         error_page 401 = /oauth2/sign_in;
  
         [...]
      }
  }

</code></pre>
[1] <a href="https://github.com/oauth2-proxy/oauth2-proxy" rel="nofollow">https://github.com/oauth2-proxy/oauth2-proxy</a></p>
]]></description><pubDate>Sat, 21 Feb 2026 08:45:19 +0000</pubDate><link>https://news.ycombinator.com/item?id=47098776</link><dc:creator>emilburzo</dc:creator><comments>https://news.ycombinator.com/item?id=47098776</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47098776</guid></item><item><title><![CDATA[New comment by emilburzo in "Hacking Moltbook"]]></title><description><![CDATA[
<p>> but a bug in VirtualBox is making one core run at 100% the entire time<p>FYI they fixed it in 7.2.6: <a href="https://github.com/VirtualBox/virtualbox/issues/356#issuecomment-3817823550" rel="nofollow">https://github.com/VirtualBox/virtualbox/issues/356#issuecom...</a></p>
]]></description><pubDate>Tue, 03 Feb 2026 09:28:03 +0000</pubDate><link>https://news.ycombinator.com/item?id=46868655</link><dc:creator>emilburzo</dc:creator><comments>https://news.ycombinator.com/item?id=46868655</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46868655</guid></item><item><title><![CDATA[New comment by emilburzo in "Running Claude Code dangerously (safely)"]]></title><description><![CDATA[
<p>Hmm, perhaps I'm missing something, so let's go through it step by step and see where the disconnect is:<p>- There's a cloned 'my-project' git repo on the base OS<p>- The 'Vagrantfile' is added to the project<p>- 'vagrant up', 'vagrant ssh' and claude login is run inside the VM<p>At this stage, besides the source code and the Claude Code token (after logging in), there are no other credentials on the VM: no SSH keys, no DB credentials, no API tokens, nothing.<p>There is also no need to add:<p>- SSH keys or GitHub tokens: because git push/pull is handled outside the VM<p>- DB credentials: because Claude can just install a DB inside the VM and run the project migrations against that isolated instance, not any shared/production database<p>API tokens can definitely be a problem if you need external service integration. But that's an explicit opt-in decision, you'd have to deliberately add those credentials to the Vagrantfile or sync them in. At that point, yes, you need proper token scoping and permissions.</p>
]]></description><pubDate>Tue, 20 Jan 2026 15:57:35 +0000</pubDate><link>https://news.ycombinator.com/item?id=46693224</link><dc:creator>emilburzo</dc:creator><comments>https://news.ycombinator.com/item?id=46693224</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46693224</guid></item><item><title><![CDATA[New comment by emilburzo in "Running Claude Code dangerously (safely)"]]></title><description><![CDATA[
<p>Correct, which I wanted to avoid because:<p>> Mounting the Docker socket grants the agent full access to your Docker daemon, which has root-level privileges on your system. The agent can start or stop any container, access volumes, and potentially escape the sandbox. Only use this option when you fully trust the code the agent is working with.<p><a href="https://docs.docker.com/ai/sandboxes/advanced-config/#giving-agents-access-to-docker" rel="nofollow">https://docs.docker.com/ai/sandboxes/advanced-config/#giving...</a></p>
]]></description><pubDate>Tue, 20 Jan 2026 15:02:25 +0000</pubDate><link>https://news.ycombinator.com/item?id=46692488</link><dc:creator>emilburzo</dc:creator><comments>https://news.ycombinator.com/item?id=46692488</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46692488</guid></item><item><title><![CDATA[New comment by emilburzo in "Running Claude Code dangerously (safely)"]]></title><description><![CDATA[
<p>I tried this approach for a while, but I really wanted it to be able to do anything (install system packages, build/run Docker containers, the works).<p>With these powers there's a lot less back-and-forth with me running commands, copying the output, pasting it to Claude, etc.<p>I'm sure you've had the case where you had to instruct someone to do something (e.g. playing tech support with family, helping another engineer, etc). While it helps the other person learn, it feels soooo slow vs just doing it yourself :) And since I don't have to teach the agent, I think this approach makes sense.</p>
]]></description><pubDate>Tue, 20 Jan 2026 12:57:25 +0000</pubDate><link>https://news.ycombinator.com/item?id=46691357</link><dc:creator>emilburzo</dc:creator><comments>https://news.ycombinator.com/item?id=46691357</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46691357</guid></item><item><title><![CDATA[New comment by emilburzo in "Running Claude Code dangerously (safely)"]]></title><description><![CDATA[
<p>This was also the direction I was initially headed, but then I realized I wanted one-VM-per-project so it can really do anything it wants on the complete VM. So the blast-from-the-past-Vagrant won because of the Vagrantfile + `vagrant up` easiness.</p>
]]></description><pubDate>Tue, 20 Jan 2026 12:53:07 +0000</pubDate><link>https://news.ycombinator.com/item?id=46691315</link><dc:creator>emilburzo</dc:creator><comments>https://news.ycombinator.com/item?id=46691315</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46691315</guid></item><item><title><![CDATA[Running Claude Code dangerously (safely)]]></title><description><![CDATA[
<p>Article URL: <a href="https://blog.emilburzo.com/2026/01/running-claude-code-dangerously-safely/">https://blog.emilburzo.com/2026/01/running-claude-code-dangerously-safely/</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=46690907">https://news.ycombinator.com/item?id=46690907</a></p>
<p>Points: 351</p>
<p># Comments: 258</p>
]]></description><pubDate>Tue, 20 Jan 2026 11:58:34 +0000</pubDate><link>https://blog.emilburzo.com/2026/01/running-claude-code-dangerously-safely/</link><dc:creator>emilburzo</dc:creator><comments>https://news.ycombinator.com/item?id=46690907</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46690907</guid></item><item><title><![CDATA[New comment by emilburzo in "Bubblewrap: A nimble way to prevent agents from accessing your .env files"]]></title><description><![CDATA[
<p>I totally understand, Vagrant and VirtualBox are quite a blast from the past for me as well. But besides the what-are-the-odds bug, it's been smooth sailing.<p>> VMs with 3D acceleration<p>I think we don't even need 3D acceleration since Vagrant is running the VMs headless anyways and just ssh-ing in.<p>> Incus (on Linux hosts)<p>That looks interesting, though from a quick search it doesn't seem to have a "Vagrantfile" equivalent (is that correct?), but I guess a good old shell script could replace that, even if imperative can be more annoying than declarative.<p>And since it seems to have a full-VM mode, docker would also work without exposing the host docker socket.<p>Thanks for the tip, it looks promising, I need to try it out!</p>
]]></description><pubDate>Thu, 15 Jan 2026 16:54:32 +0000</pubDate><link>https://news.ycombinator.com/item?id=46635442</link><dc:creator>emilburzo</dc:creator><comments>https://news.ycombinator.com/item?id=46635442</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46635442</guid></item><item><title><![CDATA[New comment by emilburzo in "Bubblewrap: A nimble way to prevent agents from accessing your .env files"]]></title><description><![CDATA[
<p>> [...] and maybe I also want kilo code to run a docker stack for me which it can't in the agent cloud<p>Yes! I'm surprised more people do not want this capability. Check out my comment above, I think Vagrant might also be what you want.</p>
]]></description><pubDate>Thu, 15 Jan 2026 13:37:06 +0000</pubDate><link>https://news.ycombinator.com/item?id=46632333</link><dc:creator>emilburzo</dc:creator><comments>https://news.ycombinator.com/item?id=46632333</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46632333</guid></item><item><title><![CDATA[New comment by emilburzo in "Bubblewrap: A nimble way to prevent agents from accessing your .env files"]]></title><description><![CDATA[
<p>> unsupervised in a VM in the cloud where the agent has root<p>Why in the cloud and not in a local VM?<p>I've re-discovered Vagrant and have been using it exactly for this and it's surprisingly effective for my workflows.<p><a href="https://blog.emilburzo.com/2026/01/running-claude-code-dangerously-safely/" rel="nofollow">https://blog.emilburzo.com/2026/01/running-claude-code-dange...</a></p>
]]></description><pubDate>Thu, 15 Jan 2026 13:35:04 +0000</pubDate><link>https://news.ycombinator.com/item?id=46632299</link><dc:creator>emilburzo</dc:creator><comments>https://news.ycombinator.com/item?id=46632299</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46632299</guid></item><item><title><![CDATA[New comment by emilburzo in "Running Claude Code dangerously (safely)"]]></title><description><![CDATA[
<p>Good point. For me, that was intentional, since all my projects are in git I don't care if it messes something up. Then you get the benefit of being able to use your regular git tooling/flows/whatever, without having to add credentials to the VM.<p>But if you need something more strict, 'config.vm.synced_folder' also supports 'type rsync', which will copy the source folder at startup to the VM, but then it's on you to sync it back or whatever.</p>
]]></description><pubDate>Wed, 14 Jan 2026 11:26:41 +0000</pubDate><link>https://news.ycombinator.com/item?id=46614818</link><dc:creator>emilburzo</dc:creator><comments>https://news.ycombinator.com/item?id=46614818</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46614818</guid></item><item><title><![CDATA[New comment by emilburzo in "Show HN: DoNotNotify – Log and intelligently block notifications on Android"]]></title><description><![CDATA[
<p>Since Android 15, Google Pixel phones have a "notification cooldown" that sort of fixes this. Hopefully it makes it's way to all Android phones at some point.<p><a href="https://www.androidauthority.com/android-15-notification-cooldown-great-3537037/" rel="nofollow">https://www.androidauthority.com/android-15-notification-coo...</a></p>
]]></description><pubDate>Mon, 05 Jan 2026 17:35:08 +0000</pubDate><link>https://news.ycombinator.com/item?id=46501903</link><dc:creator>emilburzo</dc:creator><comments>https://news.ycombinator.com/item?id=46501903</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46501903</guid></item><item><title><![CDATA[New comment by emilburzo in "Precise geolocation via Wi-Fi Positioning System"]]></title><description><![CDATA[
<p>Already done: <a href="https://hackaday.com/2024/11/15/bypassing-airpods-hearing-aid-georestriction-with-a-faraday-cage/" rel="nofollow">https://hackaday.com/2024/11/15/bypassing-airpods-hearing-ai...</a></p>
]]></description><pubDate>Thu, 20 Nov 2025 08:26:39 +0000</pubDate><link>https://news.ycombinator.com/item?id=45990279</link><dc:creator>emilburzo</dc:creator><comments>https://news.ycombinator.com/item?id=45990279</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45990279</guid></item><item><title><![CDATA[New comment by emilburzo in "Show HN: Geofenced chat communities anyone can create"]]></title><description><![CDATA[
<p>For anyone else trying to find the Telegram feature:<p>> Telegram Announces Removal of "People Nearby" Feature</p>
]]></description><pubDate>Sun, 09 Nov 2025 13:03:36 +0000</pubDate><link>https://news.ycombinator.com/item?id=45865288</link><dc:creator>emilburzo</dc:creator><comments>https://news.ycombinator.com/item?id=45865288</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45865288</guid></item><item><title><![CDATA[New comment by emilburzo in "Show HN: Geofenced chat communities anyone can create"]]></title><description><![CDATA[
<p>Back in the day when Direct Connect[1] was a thing, and we all had insane speeds in the metropolitan area (but not so great outside of that), I used to run a DC hub. Which due to said speeds had mostly people that were close by, geographically speaking, and the interactions felt so much more relevant, probably because of the "third thing" you mention, the common interest/background.<p>So I've also been thinking for a while now: how can that style of community be recreated? There's of course the chicken-and-egg problem until you have traction, but also things like: how big should the community be, geographically? The same size in the US vs EU likely encompasses quite different amounts of people. Should it be anonymous or real identities? Should history be viewable by new members or should it be ephemeral? And so on.<p>Anyway, interesting prototype, I hope you get some traction!<p>[1] <a href="https://en.wikipedia.org/wiki/Direct_Connect_(protocol)" rel="nofollow">https://en.wikipedia.org/wiki/Direct_Connect_(protocol)</a></p>
]]></description><pubDate>Sun, 09 Nov 2025 06:21:32 +0000</pubDate><link>https://news.ycombinator.com/item?id=45863399</link><dc:creator>emilburzo</dc:creator><comments>https://news.ycombinator.com/item?id=45863399</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45863399</guid></item><item><title><![CDATA[New comment by emilburzo in "A macOS terminal command that tells you if your USB-C cable is bad"]]></title><description><![CDATA[
<p>+1 here, with the latest Chrome v3 manifest shenanigans, the Pushbullet extension stopped working and the devs said they have no interest in pursuing that (understandable).<p>I always wanted a dedicated binary anyway, so 1 hour later I got: <a href="https://github.com/emilburzo/pushbulleter" rel="nofollow">https://github.com/emilburzo/pushbulleter</a> (10 minutes vibe coding with Claude, 50 minutes reviewing code/small changes, adding CI and so on). And that's just one where I put in the effort of making it open source, as others might benefit, nevermind the many small scripts/tools that I needed just for myself.<p>So I share the author's sentiments, before I would have considered the "startup cost" too high in an ever busy day to even attempt it. Now after 80% of what I wanted was done for me, the fine tuning didn't feel like much effort.</p>
]]></description><pubDate>Wed, 08 Oct 2025 06:46:35 +0000</pubDate><link>https://news.ycombinator.com/item?id=45512889</link><dc:creator>emilburzo</dc:creator><comments>https://news.ycombinator.com/item?id=45512889</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45512889</guid></item></channel></rss>