HNHacker News
TopNewBestAskShowJobs

emilburzo

1,522 karma · joined October 3, 2014

https://emilburzo.com
submissionscomments
emilburzo··on AirPods 5
If microphone quality matters a lot for your use-case, you might also want to checkout the Anker Soundcore Libery 5 Pro.

(I'm only sharing this because I know how difficult it is to find any information on earbuds with good microphones, Huawei Freebuds 4/5 were the best from my experiments until Anker released the ones above)

emilburzo··on Civilian plane crash in New Mexico tied to military GPS blocking
I actually experienced GPS spoofing while paragliding near Ukraine, luckily in the daytime. I don't even want to imagine it at night on a rescue mission. Condolences to the occupants.

It's quite easy to say "no big deal" while calm in an office, but it's really different when you're busy flying and then there's the extra workload of trying to understand what's happening, attempting to fix it, and so on. Imagine "debug bug in production while driving a car" for a rough comparison, although I guess planes are probably better equipped for loss of GPS?

https://blog.emilburzo.com/2026/06/gps-spoofing-teleported-m...

emilburzo··on GPS spoofing teleported me to Peru, mid-flight
Interesting, so the spoofing is only active during attacks? That explains the short duration.

I am wondering what changed though, since this hasn't happened before in the previous 4 years. More spoofing installations maybe? Higher radio transmitter power?

I'm also very curious, do you have any technical mitigations for this to be able to use your GPS devices? Or is it now just a fact of life?

Sorry for what you are going through.

emilburzo··on The ways we contain Claude across products
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.

But good call-out if someone uses a different workflow.

emilburzo··on The ways we contain Claude across products
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.

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.

[1] https://blog.emilburzo.com/2026/01/running-claude-code-dange...

[2] https://news.ycombinator.com/item?id=46690907

emilburzo··on France's aircraft carrier located in real time by Le Monde through fitness app
Yep, that looks like a paraglider circling in a thermal while being drifted due the wind.

Random tracklog example: https://www.xcontest.org/world/en/flights/detail:mattmozza/2...

(zoom in until you see circles on the track line)

emilburzo··on Starlink Mini as a failover
> Romania reportedly has unlimited for 4€ but I don't know which operator.

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".

I'm using the 4.9€ plan for a mountain webcam[1] and they have been true to their word, no throttling so far.

[1] https://ignis.maramures.io/

emilburzo··on What Is OAuth?
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.

It's pretty neat since you can have one oauth instances for all virtual hosts, e.g.:

  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;
  
         [...]
      }
  }

[1] https://github.com/oauth2-proxy/oauth2-proxy
emilburzo··on Hacking Moltbook
> but a bug in VirtualBox is making one core run at 100% the entire time

FYI they fixed it in 7.2.6: https://github.com/VirtualBox/virtualbox/issues/356#issuecom...

emilburzo··on Running Claude Code dangerously (safely)
Hmm, perhaps I'm missing something, so let's go through it step by step and see where the disconnect is:

- There's a cloned 'my-project' git repo on the base OS

- The 'Vagrantfile' is added to the project

- 'vagrant up', 'vagrant ssh' and claude login is run inside the VM

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.

There is also no need to add:

- SSH keys or GitHub tokens: because git push/pull is handled outside the VM

- 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

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.

emilburzo··on Running Claude Code dangerously (safely)
Correct, which I wanted to avoid because:

> 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.

https://docs.docker.com/ai/sandboxes/advanced-config/#giving...

emilburzo··on Running Claude Code dangerously (safely)
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).

With these powers there's a lot less back-and-forth with me running commands, copying the output, pasting it to Claude, etc.

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.

emilburzo··on Running Claude Code dangerously (safely)
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.
emilburzo··on Bubblewrap: A nimble way to prevent agents from accessing your .env files
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.

> VMs with 3D acceleration

I think we don't even need 3D acceleration since Vagrant is running the VMs headless anyways and just ssh-ing in.

> Incus (on Linux hosts)

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.

And since it seems to have a full-VM mode, docker would also work without exposing the host docker socket.

Thanks for the tip, it looks promising, I need to try it out!

emilburzo··on Bubblewrap: A nimble way to prevent agents from accessing your .env files
> [...] and maybe I also want kilo code to run a docker stack for me which it can't in the agent cloud

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.

emilburzo··on Bubblewrap: A nimble way to prevent agents from accessing your .env files
> unsupervised in a VM in the cloud where the agent has root

Why in the cloud and not in a local VM?

I've re-discovered Vagrant and have been using it exactly for this and it's surprisingly effective for my workflows.

https://blog.emilburzo.com/2026/01/running-claude-code-dange...

emilburzo··on Running Claude Code dangerously (safely)
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.

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.

emilburzo··on Show HN: DoNotNotify – Log and intelligently block notifications on Android
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.

https://www.androidauthority.com/android-15-notification-coo...

emilburzo··on Precise geolocation via Wi-Fi Positioning System
Already done: https://hackaday.com/2024/11/15/bypassing-airpods-hearing-ai...
emilburzo··on Show HN: Geofenced chat communities anyone can create
For anyone else trying to find the Telegram feature:

> Telegram Announces Removal of "People Nearby" Feature

emilburzo··on Show HN: Geofenced chat communities anyone can create
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.

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.

Anyway, interesting prototype, I hope you get some traction!

[1] https://en.wikipedia.org/wiki/Direct_Connect_(protocol)

emilburzo··on A macOS terminal command that tells you if your USB-C cable is bad
+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).

I always wanted a dedicated binary anyway, so 1 hour later I got: https://github.com/emilburzo/pushbulleter (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.

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.

emilburzo··on Leveling Up My Homelab
If you have another machine with a SSD or at least a fast-ish HDD and want to give it another go, you could try running k3s with an external datastore (e.g. postgres).

That's the setup I've been using on 3 x rPi since 2021 and I'm super happy with it as I can host all my own personal projects, some OSS ones (changedetection, n8n, etc), even longhorn for distributed storage and still have capacity left -- and this with just microSDs (to be fair, A1s, but still).

emilburzo··on OpenDataLoader-PDF: An open source tool for structured PDF parsing
I just tested it on one of my nemeses: PDF bank statements. They're surprisingly tough to work with if you want to get clean, structured transaction data out of them.

The JSON extract actually looks pretty good and seems to produce something usable in one shot, which is very good compared to all the other tools I've tried so far, but I still need to check it more in-depth.

Sharing here in case someone chimes in with "hey, doofus, $magic_project already solves this."

emilburzo··on Show HN: ExpenseOwl – Simple, self-hosted expense tracker
This is exactly what I did for my DIY solution, it's quite amazing how far you can get with some SMS parsing.

Initially I was still missing quite a lot of transactions, as there isn't a SMS for non-CC payments, but then I realized I could just grab the information from the 2FA confirmation, as it had all the important details.

I'm not so good on the frontend, so I'm still using redash to build charts, dashboards and alerts, but it's fine for keeping an overview.

Long-term I would still like to switch to parsing the statement PDF from the bank, especially since there's an option to receive them automatically at the end of the month, but I'm dragging my feet on that one, as parsing tables from PDF is surprisingly difficult. Even though the actual text is embedded in the PDF, getting it in the correct layout has proven impossible so far. Or maybe I'm just missing some piece of the puzzle?

emilburzo··on Query Apple's FindMy network with Python
> without resorting to google maps history (which is great but has…obvious downsides)

Maybe relevant: they moved it to on-device now: https://9to5google.com/2023/12/12/google-location-history-ti...

emilburzo··on MomBoard: E-ink display for a parent with amnesia
Nothing spectacular, I just want to have a display by the door that shows various things I'd like to check on before leaving, like: which windows are open, outside temperatures, etc.

I don't want a battery because:

- although every X months is quite ok, I don't want the hassle of remembering to charge it (first world problems, I know)

- but I also have a fear of leaving devices with a battery plugged in for a long time / having to monitor for battery swelling or other abnormalities

I already have a classic battery-powered display which shows temperature info from some sensors and it's really convenient, but annoying when the battery is dead right when you need the info. Even if that only happens every X months.

emilburzo··on MomBoard: E-ink display for a parent with amnesia
Are there any plans to have a version without the battery? It looks exactly like what I've been looking for otherwise.

Also, what country are the orders shipped from? US?

emilburzo··on Google Claims World First as AI Finds 0-Day Security Vulnerability
Previous discussion with more comments: https://news.ycombinator.com/item?id=42017771
emilburzo··on Ask HN: Who is hiring? (November 2024)
Just wanted to give a shout out that the forecasts for this year have been so much more spot on compared to last year, happy to see the UI/UX will also get some love!
Page 1 of 14Next →