ammmir
It's been amazing to participate in a hobby-turned-profession for the last two decades or so. But did we get into it because it was easy? No. Technology, computers, Internet, was a new world, full of excitement, mystery, and exploration. There may have been no immediate ROI in learning how to set up a Geocities site, but it was the gateway to HTML, programming, and eventually led to, what I hope has been, a rewarding career.
The industry isn't being "destroyed" by AI, that started happening with PE and MBAs long before, or maybe it was fucked from the get-go, and we've been very lucky to have had well-paying jobs for typing strange things into a computer. But now that it's easy for the non-tech commoner to do it, we're upset? Fishy NIMBYism something something.
I went through a similar disillusionment phase for a few months as I tried to apply my old thinking to this new era. I had to just let the AI agents own the line-level, function-level, and even class-level responsibilities, while I focused on the file names and writing good prompts. Naming is everything in computer science, as they say.
On personal projects, I'm executing on things that were out of reach before (or required extensive research), like (re)learning hardware, writing RTOS firmware, PCB design, etc. It's my learning PHP3/VB phase, and I love it. What matters now, more than ever, is to have good taste.
Give it time for the mindset shift to happen. Take a break, if you can. You won't miss anything anyway, a few new models, harnesses, and workflows will have appeared, and they take about 5 minutes to understand. So the differentiating factors between you and the next pleb are your fundamentals, good taste, and creativity.
Be like water, etc.
It used to be a teenager’s rite of passage to build your kernel config, figure out LILO (remember that, pre-grub!), ipchains.. talk about feeling old!
This new cat and mouse game is perhaps a sign of the times...
lovely.
hidekarma: hide accounts below certain karma threshold
hideage: hide accounts newer than 1 week/1 month/6 months
these should be opt-in. people that care can turn them on.
Why do you need things to do?
Meditate on this. Everything else is noise.
How much context is eaten up by skills that rehash what a SOTA model should already know?
Maybe token-wise, it's a wash: Elixir/OTP does a lot without third-party libs, which would require massive npm dependencies to achieve the same thing.
AI has made it possible for me to build several one-off personal tools in the matter of a couple of hours and has improved my non-tech life as a result. Before, I wouldn't even have considered such small projects because of the effort needed. It's been relieving not to have to even look at code, assuming you can describe your needs in a good prompt. On the other hand, I've seen vibe coded codebases with excessive layers of abstraction and performance issues that came from a possibly lax engineering culture of not doing enough design work upfront before jumping into implementation. It's a classic mistake, that is amplified by AI.
Yes, average code itself has become cheap, but good code still costs, and amazing code, well, you might still have an edge there for now, but eventually, accept that you will have to move up the abstraction stack to remain valuable when pitted against an AI.
What does this mean? Focus on core software engineering principles, design patterns, and understanding what computer is doing at a low level. Just because you're writing TypeScript doesn't mean you shouldn't know what's happening at the CPU level.
I predict the rise in AI slop cleanup consultancies, but they'll be competing with smarter AIs who will clean up after themselves.
While the microVM route is more secure, it's more complicated and ops are tricky, but you can do some cool things to optimize startup time like when I was working on a function as a service platform, and to reduce TTFB, I trapped the `listen()` call, sent a VSOCK message to the VMM to trigger a freeze, snapshot the VM and save it as a "template". Then for every request, the snapshot was cloned (with some file system tricks like CoW) and resumed to handle the request. It "just" worked, but the orchestration was kludgy.
In the second incarnation of this, I decided to use Linux containers with the gVisor sandbox. You can take a look at my project https://github.com/ammmir/sandboxer which uses Podman and gVisor underneath; it's good enough for a prototype. Later on, you can swap it out with Firecracker microVM, if necessary. In fact, I'm thinking of adding microVM support to sandboxer itself. If you wanted to do it yourself, swap out ContainerEngine() with a new implementation based on calling out to Firecracker. You'll need some way to do disk volume management (grow, clone, shared, cross-machine? good luck!), snapshots, etc.
Hi, I'm a seasoned software professional with 15+ years of experience across the stack, from low-level systems and protocols to web and mobile apps to DevOps CI/CD pipeline engineering to modern AI/LLM/agentic workflows. I like solving real business problems using stable and proven tools, as well as prototyping ideas, so whether you're looking to build a v1 of your product, a DevOps engineer, or looking for a CTO for a more established org, please reach out!
Technologies: TypeScript, Python, Go, JavaScript, Rust, Lua, Next.js, OpenResty, Nginx, PHP, Docker, Podman, CRIU, Linux namespaces, Firecracker, Express, Deno, Bun, Node.js, HTTP, X.509, TLS/SSL, SMTP, OAuth, OIDC, JWT, PostgreSQL, SQLite, Redis, MySQL, AI agents, LLM, RAG, vector databases, FastAPI, MCP, Streamlit, ELK, Terraform, OpenTelemetry
Résumé/CV: https://amirmalik.net/resume
Email: [email protected]
Remote: Yes
Willing to relocate: No
Technologies: TypeScript, Python, Go, Rust, Lua, JavaScript, Next.js, OpenResty, Nginx, PHP, Docker, Podman, CRIU, Linux namespaces, Firecracker, Express, Deno, Bun, Node.js, HTTP, X.509, TLS/SSL, SMTP, OAuth, OIDC, JWT, PostgreSQL, SQLite, Redis, MySQL, AI agents, LLM, RAG, vector databases, FastAPI, MCP, Streamlit, ELK, Terraform, OpenTelemetry, DevOps
Résumé/CV: https://amirmalik.net/resume
Email: [email protected]
Hey HN! I'm a seasoned software professional with 15+ years of experience across the stack, from low- level systems and protocols to web and mobile apps to modern AI/LLM/agentic workflows. I like solving real business problems using stable and proven tools, as well as prototyping ideas, so whether you're looking to build a v1 of your product or looking for a CTO for a more established org, please reach out!
P.S. If you want a taste of how I think/work, check out this blog post I wrote on building secure code sandboxes for LLM agents: https://amirmalik.net/2025/03/07/code-sandboxes-for-llm-ai-a... -- also, a I open-sourced a more advanced sandbox server: https://github.com/ammmir/sandboxer
The restore checkpoint/redo is too linear for my lizard brain. Am I wrong to want a tree-based agentic IDE? Why has nobody built it?
A novel concept that I haven't seen implemented properly yet, perhaps useful for AI coding agents, is that a sandbox can be forked at any point. Similar to how you can fork a PostgreSQL database, you can fork a sandbox, which creates an independent sandbox with all of the changes in it. Technically, I tried to implement this with checkpoint/restore using CRIU, but ran into some issues with nesting beyond 2 levels deep and custom user namespaces for security. And it was difficult to use get CRIU to work with Linux programs that use shared memory segments, and other Unixy things. I ended up switching to file system diffs and using reflinks on XFS to get some Copy-on-Write semantics.
Features:
* Automatic HTTPS with unique URL per sandbox (no need to deal with ingresses or exposing ports)
* Static token auth or GitHub app auth
* Built-in UI
* Multi-tenant ready: each user gets their own network
* List, download, and upload files into sandboxes
* Fork sandboxes to create arbitrary depths of clones
It's still in early stages, but it should be usable. I'd love your feedback and ideas on where to take this :) Personally, I want to use this as a code execution backend for local AI agents.
[1] https://amirmalik.net/2025/03/07/code-sandboxes-for-llm-ai-a...
Show HN: Sandboxer – Forkable code execution server for LLMs, agents, and devs
Remote: Yes (unless local to BKK, or somewhere nearby like Singapore)
Willing to relocate: No
Technologies: TypeScript, Python, Go, Rust, Lua, JavaScript, Next.js, OpenResty, Nginx, PHP, Docker, Podman, CRIU, Linux namespaces, Firecracker, Express, Deno, Bun, Node.js, HTTP, X.509, TLS/SSL, SMTP, OAuth, OIDC, JWT, PostgreSQL, SQLite, Redis, MySQL, AI agents, LLM, RAG, vector databases, FastAPI, MCP, Streamlit, ELK, Terraform, OpenTelemetry, DevOps
Résumé/CV: https://amirmalik.net/resume
Email: [email protected]
Hey HN! I'm a seasoned software professional with 15+ years of experience across the stack, from low-level systems and protocols to web and mobile apps to modern AI/LLM/agentic workflows. I like solving real business problems using the latest tools, without introducing too many shiny new toys.
If you want a taste of how I think and work, check out this blog post I wrote on building secure code sandboxes for LLM agents: https://amirmalik.net/2025/03/07/code-sandboxes-for-llm-ai-a... -- also, I'm building a self-hostable, open-source sandboxing server based: https://github.com/ammmir/sandboxer -- Show HN coming soon!
I'm looking for short-term consulting gigs (open to long-term), so whether you're looking to prototype something new in order to catch the AI hype train, or something more traditional, please reach out ASAP!
https://github.com/ammmir/sandboxer
It may not be useful, but it's been fun, and I've honed my gut-level experience in Docker, Podman, Linux namespaces, Checkpoint/Restore, CRIU, and more. The ultimate goal is to hand each AI agent iteration a sandbox of its own (forked from the previous iteration), and have it build apps in private sandboxes. You'll be able to view intermediate progress as the app is being built (or failed rabbit holes), since each sandbox gets a unique URL automatically. Like, imagine if each commit of your git repo had its own URL to preview the app!
[1] https://amirmalik.net/2025/03/07/code-sandboxes-for-llm-ai-a...
Regarding the verbosity, yeah, it's interesting how model providers make more money from more tokens used, and you/we end up paying for it somehow. When you're doing lots of tool calls, it adds up!
if they can polish up the public facing side of the project, it would instill more confidence.
AWS SCP Starter Pack
the hard part about running VMs isn't really how to launch them (well, ahem, i'm looking at you, qemu), but getting data in and out, and controlling them. some feature requests, if i may ;)
# take screenshot
# this should do the right thing(TM) and take a screenshot of the logged-in user session, which may not necessarily be the console
lume screenshot <vm name> [-o <file.png> | -]
# execute command
lume exec <vm name> [--as-user <user>] <command> [args]
# copy files in and out
lume cp <vm name>:<vm path> <local path>
lume cp <local path> <vm name>:<vm path>
# run clone as new VM
# this should appropriately roll the MAC address, IPs, and reseed any RNGs, of course
lume run --clone <clone name> <vm name>
Can you clone a VM while it's running?The ability to resume a VM within < 1 second would be useful for on-demand workflows without waiting for a full VM bootup sequence, similar to how you can get a firecracker microVM into the state you want, snapshot it.. then clone as you wish, and resume back into the guest.
You may need to preinstall an agent (a la Parallel/VMware Tools) to make sure this is seamless and fast.
i'm curious, in the beginning, before you had so many users of the app, how did you convince pilots/airlines to install SkyPath before it had enough user-generated turbulence data for its ML model? it almost feels like a chicken-and-the-egg problem: you need enough reports before it's useful around the world at all imaginable air routes, or maybe there's enough air/wind data. interesting stuff!
a few general remarks:
the landing page above-the-fold is just ugly, the color gradient is horrendous, and the top screenshot of a video is... blank. at first i tried to click the play button, but nothing happened. then i realized it's more of an abstract illustration of what you app does. makes sense, but a real video or animation would be even straight to the point. please, wow me!
what is mining? at first, i thought you've created a cryptocurrency. i see it's explained later down the page.
after login, the grammar page doesn't respect the light mode theme. more examples for grammar would be helpful. in fact, what i want is, extract relevant grammar from the CC of YouTube videos in Korean, and then link me to the EXACT TIMESTAMP, so i can hear it in actual use. i would pay for this.
Right, it'll be tricky to compete with other SaaS that offer code execution, since they have free tiers and a lot of mindshare already. Other feedback is also hinting that I should focus more on workflows/process automation for non-developer users, rather than code actions. This is the direction I want to go anyway, but I decided to launch with what I have already.
The project term is a bit premature, since I haven't fully finished. Essentially, a separate collection of workflows/jobs, meant for team accounts that can have multiple users.
There's no free tier, but there's free credit on signup so you can try it out without any payment or credit card. Maybe I should have a free tier? My overthinking brain is worried about abuse, but maybe I shouldn't care at this point if nobody is using it yet... :)
Code ("actions") run in a Docker container using the gVisor runtime. I'm also toying with using firecracker-containerd, which uses Firecracker microVMs underneath.
It's funny you mention that. A previous "iteration" of this project was an edge function runtime, which would take Docker images and convert them to Firecracker VMs, prebooting them, and taking a snapshot at the right moment using some VSOCK magic. It was similar to Fly.io, Lambda@Edge, etc. and ultimately I decided to go another direction because most people don't care about low-latency compute on the edge.