Live data from Hacker News

Code and Let Live

fly.io

131–140 of 195 posts

Re: Code and Let Live

#131
post #107

I really want to love this, but my experience in the first 20 seconds is unfortunately like some of my other experiences coding against Fly APIs, they're broken. https://sprites.dev/api has this command: $ curl -X POST " https://api.sprites.dev/v1/sprites " \ -H "Authorization: Bearer $SPRITES_TOKEN" \ -d '{"name": "my-sprite"}' which responds with {"error":"name is required"} if you use the request body in the full…

Probably because you didn't include the content type header?

Can it be some other content type?

Re: Code and Let Live

#132

Okay this is super interesting! As I was reading this I was a bit confused by the issues they mention, but at work I use Claude SSHed to a persistent dev server and I’d be annoyed if I didn’t have eg my git repos there all the time or any part of that workflow was ephemeral. I’m not really aware of what everyone else is doing with sandboxes etc. But the bit at the end with the MDM server made it click for me. I’ve st…

How do you make these personal iOS apps? Do you have to release them to the App Store? What if you want a small handful of users (eg family members)? And does Android work similarly?

Re: Code and Let Live

#133

Okay this is super interesting! As I was reading this I was a bit confused by the issues they mention, but at work I use Claude SSHed to a persistent dev server and I’d be annoyed if I didn’t have eg my git repos there all the time or any part of that workflow was ephemeral. I’m not really aware of what everyone else is doing with sandboxes etc. But the bit at the end with the MDM server made it click for me. I’ve st…

How do you make these personal iOS apps? Do you have to release them to the App Store? What if you want a small handful of users (eg family members)? And does Android work similarly?

You can deploy from XCode to your iPhone, and it seems to behave like any other app when you do that. I do have a paid Apple developer account, and I think I read that if you don't then you have to re-sign the app every 7 days. If you wanted a small number of users then I don't think this would work. I think you could use TestFlight, which is Apple's method for distributing an unreleased version of an app, but I'm not sure what the review process would look like for that. Android would be much easier as long as you can still sideload APKs, you could just build the APK and send it to everyone to install. I read that there were some changes to sideloading APKs but I don't know the details.

In terms of actually making the app, I don't know Swift or iOS at all so it's all generated. Usual caveats, and I'm only running them on my own phone. I ask Claude (not code) to help me with the spec, I give it some bullet points and it asks a bunch of clarifying questions then gives me a spec. I put that in a new directory, fire up Claude and use the ralph-loop plugin (https://github.com/anthropics/claude-code/tree/main/plugins/...):

> /ralph-loop:ralph-loop "Implement the iOS app described in app-spec.md. You have access to xcode CLI tools. You should write tests and use them to verify your work. The task will be complete when the app is fully implemented, with all tests passing. Output COMPLETE when finished." --max-iterations 50 --completion-promise "COMPLETE"

Once it's done you can open the app in XCode, test it in a simulator, play with it and iterate a bit and then send it to your phone!

Editing to add because I can't edit the original post: I think the limiting factor here might be the concurrent sprites limit. It seems like if you're on pay-as-you-go then you can only have 3 running concurrently, and have to subscribe to get 10.

Re: Code and Let Live

#134
post #88

I thought fly.io snapshots weren't guaranteed to stick around? Although I can can't find the docs mentioning it, but i checked within the last few months... maybe they changed it?

More complicated than that, but with respect to Sprites --- this is a totally new stack.

it seems like when you snapshot, you snapshot memory AND the filesystem (immutable ftw), that's pretty awesome

i am dying to know: firecracker still? I know you have an upcoming post abt it, but i'm incredibly impatient when it comes to fool new infra

Re: Code and Let Live

#135
post #123

I know it's one me for thinking this -- since the domain is fly.io -- but I was really hoping this is some local solution. Not self-hosted, but just local. A thin command line wrapper to something (docker? bubblewrap?) that gave me sort of a containerized "VM" experience for my local machine using CoW.

Check out LXC and the wider Incus set of projects: https://linuxcontainers.org/incus/ . Running IncusOS on some local hardware with ZFS underneath is a phenomenally powerful sandbox.

Yeah I can make an lxc container called "ai" that has an ssh read key and then a few pre cloned projects. When I want to work I can clone and start it then get the same effect on my own hardware and for free. Just need a small little wrapper to make this a bit more streamlined

Re: Code and Let Live

#136
post #90

I've been having so much fun working on sprites (and working with sprites) the last the several months. There's some neat parts of the Elixir side of this we're going to open source soon. Also check out the 5 min demo we put out where I walk thru some sprite basics: https://www.youtube.com/watch?v=7BfTLlwO4hw

One of the coolest things about this is that Claude in his environment --- without him asking to --- knows how to drive Sprites. If you ask it to run a server, it will register it as a local service so it survives reboots. Without you asking to, it'll checkpoint when it makes big changes. I think this is kind of freaky. I can't say enough how, if you're using this like Kurt and Chris have been, you have like, a dozen…

Oh no, as someone who hoards browser tabs, I fear where this will lead me...

Re: Code and Let Live

#138
post #68
post #67

Earlier quoted context omitted.

I wonder the same thing. What’s so different than your own vps and using lxd to create a container. Make two bash aliases and wow you can go in and out quickly and recreate it with one command.

If you have an LXD setup working for your own workloads that's working well for you, that's awesome. Why would we want to talk you out of that? Fundamentally you're getting at the difference between "elastic" cloud services and personal infrastructure. Personal infra is great! If it helps: Jerome has been working for a couple months on a local, open-source Rust version of Sprites, so you can use the same DX with your…

Yes that would be awesome!

Re: Code and Let Live

#139
post #88

Earlier quoted context omitted.

More complicated than that, but with respect to Sprites --- this is a totally new stack.

it seems like when you snapshot, you snapshot memory AND the filesystem (immutable ftw), that's pretty awesome i am dying to know: firecracker still? I know you have an upcoming post abt it, but i'm incredibly impatient when it comes to fool new infra

i think firecracker, just snooping around a sprite i see a lot of virtio-mmio, which afaik CHV would be using PCI in those instances

Re: Code and Let Live

#140
post #57

On one hand it sounds cool. On the other, I feel like I missed it. Is this just a fancy VPS like digital ocean with, https endpoint, snapshot and restore? (Same thing goes for exe.dev)

Yes, plus: * Near-instant creation * Automatic spin-down scale-to-zero, so you're not paying for it when it's not in use. If you're using these like we are internally, you've got like 2 dozen of them sitting around in the background sleeping. They're BIC disposable computers. "When in doubt just make another one."

Will you have higher tier pricing plans in the future? I don't see a way to sleep them (if you mean other than idle), and the max plan has 10 running concurrently
Post reply on HN