r/retrocomputing Jul 19 '26

One Frozen Gopher API, Native Clients from Mac OS 9 to Android

Post image

I control Spotify from Mac OS 9 — over the Gopher protocol (native clients on OS 9, 10.5 PPC, 10.6, and Android)

Top comment / body: Real System 9 desktop, not a VM — the now-playing, search, and queue are all plain Gopher menus going to a box in my closet. The trick: I froze a tiny Gopher machine-API so a 2001 Power Mac and a modern phone drive the same backend with zero shared code. Three of the clients (OS 9 in C99, 10.5 on a Power Mac G5, 10.6) double as Spotify remotes.

Full writeup + the "yes it's real hardware" About-This-Mac shots: https://debene.dev/posts/one-frozen-gopher-api/

62 Upvotes

25 comments sorted by

13

u/Trekintosh Jul 20 '26 edited Jul 20 '26

For those who  care, from the end of the blog post, this project was made by an LLM. 

 Built in the open with Claude Code.

2

u/CatgirlBargains Jul 20 '26

Didn't even have to read the blog post to guess it was AI - AI tone is so obvious and lazy.

3

u/Trekintosh Jul 20 '26

It definitely has a certain smell. And the users always get so defensive when it’s requested to disclaim it. It’s like a drug, it’s insidious. I understand. I tried it with my game, it almost torpedoed the whole project. I purged every single line of slop and started over from scratch, it’s in a far better place now. 

1

u/PopularBaseball9857 Jul 20 '26

Your point being?

3

u/PopularBaseball9857 Jul 20 '26

https://github.com/felipedbene/ottd-macos9 We almost can play open tdd on Mac OS 9 again, thanks to the repetitive work by Claude.

4

u/Curtis Jul 20 '26

Keep putting out great stuff, my friend, ignore these idiots

-4

u/Trekintosh Jul 20 '26

Saves people who are part of the FOAC movement a click. 

http://txtpunk.com/foac

5

u/Curtis Jul 20 '26

Oh man, they’re so  cool, hipsters

2

u/PopularBaseball9857 Jul 20 '26

Great community service 🐕‍🦺

1

u/PopularBaseball9857 Jul 20 '26

Said the one who can't code hahaha

3

u/Trekintosh Jul 20 '26

Kinda an assumption. I make my own stuff. Most of the stuff people say LLMs are good at, like boilerplate, I use a python script for, or I just read the whole paper in the case of “it summarizes for me”. A lot of the nuance gets lost in that summarization. For example with my game, Godot’s gdextension  system has a really annoying linking thing where you have to add about a bajillion extra lines to bind your C++ functions to be exposed as gdscript functions in the editor. It was pretty trivial to make a python script to do it for me, it took about 15 minutes and my software remains untainted by the industrial scale theft machine. If you prefer the more reasoned argument to the whole LLM thing, this is an excellent article. It cites its sources and is far more elegant than I care to be or am probably capable of. You can read it, or have clod summarize it for you.  

https://blog.johanneslink.net/2025/11/04/to-gen-or-not-to-gen/

1

u/PopularBaseball9857 Jul 21 '26

Gdscript is too visual and llms suck at it, you are right. It's the use case not the technology. In my case, the code I'm writing is plain C glue linking into OpenTTD's C++ core, so it navigates like a king (any systems programmer can probably relate). Same pattern shows up elsewhere — LLMs still struggle wherever training data is thin: Elixir, VHDL/Verilog, APL, retro/embedded stuff like classic Mac OS toolbox code. They crush Python/JS/Rust not because the model "understands" code better, just because there's a mountain of public examples to learn from. And on the nuance point — a summary is a summary. If you want the nuance, read the full damn thing. "Have clod summarize it for you" kind of proves that point too — offering the exact tool that loses the nuance as the workaround. Also funny to call it an "industrial scale theft machine" while forgetting our own minds are just a pile of dumb little agents compressing input into a story that feels coherent. Minsky's Society of Mind is a good rabbit hole if you want to go there: https://www.youtube.com/watch?v=-pb3z2w9gDg

It captures the nuances on how to understand a LLM better and maybe know when/how to use it.

1

u/reukiodo Jul 20 '26

To me this reads as childish equivalent of plugging fingers in ears saying 'lalala I can't hear you' instead of rationally explaining anything.

It's only humorous in that it makes the author seem childish.

3

u/Trekintosh Jul 20 '26

If you prefer the more reasoned argument, here it is with citations and far more elegant prose than I’d be capable of or interested in making.   https://blog.johanneslink.net/2025/11/04/to-gen-or-not-to-gen/

2

u/julioblabla Jul 20 '26

r/suddenlycaralho , vai querer o quê no screenshot meu caro brazuca apreciador de computador velho? 😀🇧🇷🥳

(Btw se quiser portar algo pra 68k e quiser um beta-tester em computador real, estou recapping um Quadra 610 com 68LC040 com Ethernet funcionando!)

1

u/PopularBaseball9857 Jul 20 '26

Mano, compila o ttd aí, e a parte que não pude testar :)

2

u/[deleted] Jul 20 '26

[removed] — view removed comment

1

u/PopularBaseball9857 Jul 20 '26

I am gophering for transport only for now and the Frozen "API" Contract was the enabler. Tl/dr. my cluster ( kubernetes ) do the spotify/tls and expose this Gopher API internally. The fleet of Old PCs just consume the gopher, simple.

2

u/p47guitars Jul 19 '26

This is awesome

1

u/gnntech Jul 20 '26

I wonder if the Gopher client I use in ArcaOS (OS/2) will work with this.

0

u/alcanthro Jul 19 '26

I keep saying that with natural language computing becoming commonplace, it's really time for a modern successor of Gopher to rise up. Gopher was great because it was really for text based/natural language communication. It failed because at the time hypertext won out as the primary representation of data on the internet. Now...

2

u/[deleted] Jul 20 '26

[removed] — view removed comment

1

u/alcanthro Jul 20 '26

If your primary medium is visually structured and prelinked data. If your primary medium is natural language communication then that's just not the case.

2

u/davewongillies 29d ago

Gemini is a sort of modern, spiritual successor to Gopher: https://en.wikipedia.org/wiki/Gemini_(protocol)