Hacker News new | past | comments | ask | show | jobs | submit login

The app is monetized by limiting the number of “runs” you can do per month. Based on iOS limitations I think we can assume this means the compilation is done on a remote server.

EDIT: nevermind! I tried running a program with airplane mode on and it still worked. Now I’m really interested to hear how this was accomplished.




Probably a OpenJDK Zero VM build. That's a configuration without JIT or template interpreter, but a "plain" C++ switch dispatch interpreter that requires no runtime code generation.


I felt out of the loop, thinking that Zero VM was some kind of new distro for OpenJDK but chasing <https://packages.debian.org/sid/openjdk-22-jre-zero#:~:text=...> to <https://sources.debian.org/src/openjdk-22/22.0.1%2B8-1/debia...> lead me to https://github.com/openjdk/jdk/tree/jdk-22-ga/src/hotspot/cp...

It seems that it's a specific CPU target for the Hotspot JIT for non-mainstream architectures (or for research purposes, as I saw mentioned once)


No, it's just a tier where it doesn't JIT. You can build it for your computer, too.


Didn't Apple recently allow to run "emulators"? So code that generates code on the app store?


More like code that runs code, not code that generates code. Assuming the latter means that it's generating native code and attempting to execute it natively, that's not allowed.


Code that generates code - specifically user-specified code - has been allowed on the App Store for years now. They have a very patronizing term for it, too: "learn-to-code apps".

Granted, Apple's never going to give you the entitlements necessary to make this performant or let you create separate temporary containers for compiled apps like Swift Playgrounds can. But you can absolutely ship a dev environment on iPadOS as long as you're willing to deal with those limitations.


Emulators don't have to generate code. At the simplest level, a CPU emulator is a switch statement.


Emulators don't necessarily generate code (maybe if they use JIT). They run arbitrary code, but that's other thing.


I don't have a compatible device but I'm curious how the pricing works. Does it work like a subscription where you pay monthly for unlimited runs per month? Or do you just need to pay for enough runs and buy more if you run out?




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: