Stream: show and tell

Topic: safari screensaver in Roc


view this post on Zulip Steve Howell (Sep 11 2026 at 21:57):

I had Claude port my Safari Screensaver to Roc today:

Click here to watch it run: http://143.244.172.148:9201/

The journey is about two minutes, then it starts over from the beginning.

image.png

view this post on Zulip Steve Howell (Sep 11 2026 at 22:00):

https://github.com/showell/roc-apps/tree/master/safari/roc

The program has an interesting lineage. I originally had Claude write it in TypeScript, and that involved all the creative work on my part. Then I had Claude port it to Zig. Then I had Claude port it to Codex, which is an experimental language written by Damian Tedrow. (The name "codex" is not related to the LLM.) Then I had Claude write a Rust program to automatically translate the codex to Roc.

So this is code-generated Roc from agent-written code that was already twice ported. :)

view this post on Zulip Steve Howell (Sep 11 2026 at 22:03):

It's not entirely Roc. It's always had a very thin JS layer to serve up the wasm (whether from zig or codex or roc): https://github.com/showell/roc-apps/blob/master/safari/web/blitter.js

Right now it's only served up on the web. My zig version produces an actual screensaver in Windows. So, the next step is to figure out how to make a Windows screensaver platform in Roc.

view this post on Zulip Steve Howell (Sep 11 2026 at 22:04):

Here is Claude's account of the afternoon: http://143.244.172.148:9100/notes/an-afternoon-safari-to-roc.md

view this post on Zulip Steve Howell (Sep 15 2026 at 17:05):

This is now live at https://roc.lynrummy.com/safari/

This project was very pleasant in Roc. It was code-generated from another functional language called Codex , from the Cobblestone project.

view this post on Zulip Steve Howell (Sep 15 2026 at 20:55):

@Luke Boswell There's also a roc-ray version of my screensaver:

For the post:

view this post on Zulip Steve Howell (Sep 15 2026 at 20:59):

safari.mp4

view this post on Zulip Steve Howell (Sep 15 2026 at 21:32):

New release: https://github.com/showell/roc-apps/releases/tag/safari-roc-ray-2026-09-15b (adds gradients and anti-aliasing)


Last updated: Sep 24 2026 at 15:59 UTC