What programming language/framework would you choose to implement a relatively simple CRUD application with a HTTP and HTML interface that should run for the next 30 years with minimal maintenance?


The requirements of the application are pretty stable. There probably will be bugs to fix and minor features to add.

I'm thinking of a real application that has been running for the last 25 years (rewrite in 2016) and imho is a vital piece of Internet infrastructure.

Just a little thought experiment...

@pukkamustard Python moves too fast. Ruby and Rust too.

I'd use Guile, Lua or Tcl.

@clacke By the way, the real application I was thinking of is purl.org - a persistent URL service run by the Internet Archive.

In my opinion, a vital piece of Internet infrastructure - but severely broken ... and closed-source??

@pukkamustard Wow, what's broken about it? And why does the IA run a proprietary service when OCLC used to run a free software one?

@clacke Editing PURL entries is unreliable and simple changes take multiple attempts (for me at least). Luckily, the redirection itself seems to work reliably.

I can't figure out what software IA's purl is running on, but it does not seem to be PURLZ (sites.google.com/site/persiste) - the free software developed by OCLC.

@pukkamustard @clacke

I don't know what the original service was written in but I think a rewrite started in 2007:


The federated approach and/or the software failed and it moved to the Internet Archive in 2016?

I'm not sure if they are running the same service or if it is something new.

I think some people got frustrated and created w3id.org/ which is basically some Apache rewrite rules maintained with Git.

@pukkamustard @clacke I dropped a question in the Internet Archive Slack to see if anyone knows what software is running it now.

@edsu @clacke

@how did some digging into this as well. Apparently PURL was re-written in Python and there are no plans to release the code.

@pukkamustard @clacke @how yes, I just heard the same from Mark Graham in IA Slack. He said that it's a Python app (with some cache layers) that sits on top of data in IA storage.

It turns out you can browse the PURL data in this IA collection:


Each namespace is an item, that has a JSON file with the mappings in it. So DublinCore is:


and it has JSON file:


Kinda cool :-)

@clacke @pukkamustard

I was looking for something to help me make transcripts from spoken-word audio (eg, podcasts and the like).

Turns out Debian et al have in their repos a program called "transcriber" written in tcl/tk. it's like a fly caught in amber. The project supposedly did a port to GTKmumble but that apparently didn't survive the churn. So we still have the tcl/tk version & it still works for typing words that go with the air wiggles, even if visually it offends current fashion sense.

@deejoe @pukkamustard I've heard that Tk these days allows making applications that don't look like 1990s Motif, but I haven't looked into it.
Sign in to participate in the conversation

chaos.social – a Fediverse instance for & by the Chaos community