I'm slowly working on an aviation and flight related weather notification and NOTAM (Notice to Air Missions) parsing app.
Much of the challenge has been figuring out how to display information for pilots. The global NOTAM system is broken and works on the basis of legal liability, wherein NOTAMs are published to comply with requirements, and pilots are required to know all relevant information but important things get lost in the noise.
For example, my home airport has a runway closed. It is a single notice, but unless you carefully read 100 notices (many of which are about cranes and unlit objects in the general vicinity) you might not see it. I'm trying to make it such that no information is ever hidden, but with some sort of mechanism to surface more important things.
I am certainly no expert in this space so it is quite possible I'm missing something critical, but what seems to work for me is a Podman image I built on my computer with some basic things I need (using OpenCode, but I imagine any other agent could be used instead):
From there I just run the Podman image from the command line (using a Fish function) that mounts the specific project I'm working on to /workspace. I guess there might be some vulnerabilities with shared kernels and such, but it seems like an easy way to have some isolation.
This is how I started, and then I wanted to bring along creature comforts, not have to re-auth per box (for subscription models), had some skills I usually wanted to bring, wanted slightly different setups for different stacks, sensibly install multiple agents, import git identity (but not credentials), mount other code folders ro but only for certain projects, etc etc, and ended up with a full Docker wrapper.
Ah, that makes sense. I've only recently started playing with this stuff, and I've been focusing a lot of just getting somewhat good at using LLMs for projects while developing my own intuition, so everything I do just uses the mounted project and uv directly. As soon as things get more complex, I imagine I'll end up with a full wrapper as well.
Unrelated: I enjoyed your latest blog entry. I recently starting thinking about how to show the work that is done with AI, and how we talk about it. I haven't come to any major conclusions (I wish!), but your post about the prompting being distinct from the actual work resonates with me. Reminds me somewhat of discussions about the art of photography compared to the art of editing photos as a distinct skill.
As opencode is inside your container, credentials and API keys are also inside the container. Prompt injection when your agent fetches some web site could have your agent leak this credentials to someone.
Also, do you restrict networking or does your container have full access to your internal network?
I restrict networking via my pfSense router, using VLANs. I also don't include any credentials in the container; the agents there can't push, pull, or really access anything else beyond the standard tools without any authentication.
I don't use Claude or any other paid agent at the moment, so if that were to change I'd probably modify the way I run this, but with this simple set up I'm not too worried about credentials leaking.
This was an interesting read. I am somewhat reminded of J. S. G. Boggs (https://en.wikipedia.org/wiki/J._S._G._Boggs), who used to hand draw banknotes and bills as a performance art of sort.
There is an excellent book about him by Lawrence Weschler called _Boggs: A Comedy of Values_.
I recently rebuilt my homelab after moving countries, and in the process updated Proxmox to v9.1.6. Been playing with centralizing my databases into their own LXCs rather than creating an individual one for each application.
When I started doing this, I also decided to try Proxmox's new OCI compatibility, which seems to be working well so far, so I am removing all my Docker VMs and recreating the containers directly on my hypervisor.
Location: Zagreb, Croatia.
Remote: Yes, also open to in-person/hybrid
Willing to relocate: No
Technologies: Python (Django, Flask, pandas, etc.), Java, SQL, Git, Linux, Docker
Résumé/CV: https://rxresu.me/captivate1988/resume-cmplete-public
Github: https://github.com/adnanvaldes
Email: contact@arvb.net
Notes: I have the right to work in the EU, Canada, Mexico, or India (by way of citizenships, work permits, etc).
---
I recently moved to Croatia with my wife. In the past 6 months I have been studying for the CompTIA Linux+ exam (planning on doing it at the end of next month), wrote a posterizer using the SLIC algorithm, and developed a database design for a Nepali NGO focused on children's learning through play.
I am a generalist who likes to deep dive into a topic and learn all the ins and outs. I worked for 10 years as an airline pilot - I have flown C172s, Saab 340s, and I am current on the Boeing 737 NG/MAX - while working on the side as a system administrator and doing volunteer software dev work.
I stitched together a small audio clip from LiveATC with both the Ground and Tower frequencies mapped to the Left and Right audio channels. It starts around the time the aircraft was cleared to land, and then skips forward to the moment the controllers realized the aircraft crashed.
Here is a link to the .mp3 file (it's on Discord for now - I don't know if this is allowed, let me know if it isn't):
Rehosted so it'll stay alive at least a few years: <https://lucgommans.nl/tmp/YYZ_Crash.mp3>. Let me know if you'd like something more permanent than my tmp dump folder, or a filename that gives credits or so! (BTW if you're editing clips, I can recommend exporting to Opus instead of ancient MP3: released in ~2012 so support is very good by now and it's like twice the quality at the same file size, probably even better for speech)
Hey, thank you so much. I shared the Discord file because I was sharing it with some friends, and then thought HN might be interested, but I don't have a more convenient place to serve the file at the moment. Thank you for hosting it.
Good point about exporting to Opus! I used .mp3 because the original audio files were also in .mp3. I've re-exported the file in Opus now, let me know what would be the best way to send it to you.
As for file name and credits, I think it's probably best to credit LiveATC (https://www.liveatc.net/), since that's where I got the original audio and I didn't really do much else beyond separating the channels. The specific files I used are the YYZ Ground and YYZ Tower recordings from February 17th that start at 1900z.
Contact method is in profile (or more directly: https://lucgommans.nl/email), though by now I can't edit the comment and thus link anymore so will have to post a new comment and kill the old link if we want to change it. Just let me know, all is fine by me
It'll sort of die, you can't access them directly but if you take the link and paste it into discord (like one with just yourself) then it'll still work.
Tbh I am even surprised those links were a thing to begin with, at the end it is mainly to share stuff on their chat platform, they sort of allowed that, but feels weird that it was a thing to begin with.
What? Discord isn’t meant to be a media hot linking service. They’re literally doing it on purpose, to stop people from doing what this person is doing.
This isn't stopping people from sharing discord media links though. It just means that others who did not share the link and cannot do anything about that will see broken images/etc. in the future.
Much of the challenge has been figuring out how to display information for pilots. The global NOTAM system is broken and works on the basis of legal liability, wherein NOTAMs are published to comply with requirements, and pilots are required to know all relevant information but important things get lost in the noise.
For example, my home airport has a runway closed. It is a single notice, but unless you carefully read 100 notices (many of which are about cranes and unlit objects in the general vicinity) you might not see it. I'm trying to make it such that no information is ever hidden, but with some sort of mechanism to surface more important things.
reply