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?
Code and Let Live
131–140 of 195 posts
Re: Code and Let Live
#132Okay 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…
Re: Code and Let Live
#133Okay 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?
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
#134I 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.
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
#135I 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.
Re: Code and Let Live
#136I'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…
Re: Code and Let Live
#137Re: Code and Let Live
#138Earlier 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…
Re: Code and Let Live
#139Earlier 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
Re: Code and Let Live
#140On 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."