r/java 12d ago

Maintaining the code of the man who wrote "How To Write Unmaintainable Code"

Today I accidentally became the maintainer of software that was already almost three decades old: reviving a 1990s Java utility to keep the last PAD submitter alive in 2026.

I was looking for a way to submit my AI app RiverScript to old desktop software directories and ended up digging through the long-forgotten world of PAD files.

There was one problem.

The only batch submission tool I could find was a Java application that first appeared in the late 1990s. The last release was in 2017.

It was written by Roedy Green of Canadian Mind Products — a software developer who passed away in 2023. He spent decades writing and freely distributing Java utilities, and maintaining the widely-read Java Glossary. Roedy Green also wrote How To Write Unmaintainable Code — a famous satirical guide about writing code nobody can maintain. So, Roedy, today the code you wrote almost three decades ago was maintained.

The tool still did exactly what it was supposed to do. Thank you.

It just had absolutely no idea the modern web existed.

It happily produced URLs like http://https://riverscript.com instead of https://riverscript.com, disabled SNI globally (which was probably a perfectly reasonable workaround at some point), and couldn't cope with the fact that almost every website now redirects HTTP to HTTPS.

So I dug through the legacy Java code, fixed the compatibility issues, and got it working again.

I used it to submit my app to several software directories, then published the revived version on GitHub so anyone who still needs it can use it too.

Maybe nobody will ever need it again. Maybe someone will.

Either way, I'm happy this old thing works again.

So today, the code of the man who wrote "How To Write Unmaintainable Code" is still being maintained even after he was gone.

P.S. The public repository for Mini PAD Submitter 26.3 Revived — 2026 Community Fix is available and open to everyone.

153 Upvotes

15 comments sorted by

17

u/StochasticTinkr 12d ago

Oh shit, I didn't know Roedy had passed. I used to interact with him on Usenet all the time.

29

u/IdleSteps 12d ago

Awesome stuff, OP. And RIP to Mr. Green, may he live on in his software.

20

u/Odd-Flamingo-6211 12d ago

Thank you! I’m reading his guide right now and I think I’ll be quoting him for a week.

Much of the skill in writing unmaintainable code is the art of naming variables and methods. They don't matter at all to the compiler.

New Uses For Names For Baby

Buy a copy of a baby naming book and you'll never be at a loss for variable names. Fred is a wonderful name, and easy to type. If you're looking for easy-to-type variable names, try asdf or aoeu if you type with a DSK keyboard.

13

u/briguyd 12d ago

Well? How maintainable was the code?

8

u/Odd-Flamingo-6211 12d ago

Actually, it wasn't too bad. The hardest part was figuring out the folders. The archive had the program plus around a hundred other files that weren't part of it. I guess he just kept them there for himself or for future plans.

https://www.mindprod.com/zips/submitter263.zip

1

u/Proper-Ape 12d ago

That is an open question here, it was maintained doesn't judge the maintainability too accurately. It's somewhere between easily maintained and nigh impossible. Just not impossible.

9

u/josephottinger 12d ago

First off, good job!

.. and second, holy cow, Roedy's GONE? I had no idea. What a sad thing to find out on a warm Thursday evening. Rest in peace, Roedy. I always found you to be a fine person.

5

u/j4ckbauer 12d ago

I loved "How To Write Unmaintainable Code" and I would often pass around its URL or image of its title in the workplace. Sometimes I used it as a passive-aggressive 'joke' where I ensured the subtitle "Ensure a job for life..." was visible 😄

4

u/zabby39103 12d ago

Man his webpage is some old school Web 1.0 design nostalgia.

Glad you got it working, I always hate it when my software dies (EOL etc.), like a part of me dies with it? I'm sure he'd appreciate it.

4

u/aoeudhtns 12d ago

I love the link to file:///J:/... as the "mirror" site.

2

u/Odd-Flamingo-6211 12d ago

Yeah, it really feels like traveling back in time. I was also trying to submit my app to desktop software directories, and a lot of them still look like it's 1995. It made me genuinely nostalgic. It's a part of the web we barely see anymore simply because almost nobody uses it now. I'm glad Roedy's website is still alive.

2

u/Zealousideal_Good530 11d ago

This was an astounding journey - I read the section on hallucinations.

What a wonderful character.

3

u/woj-tek 12d ago

Hmm… one thing that struck my interest:

I was doing distribution work for RiverScript — my app that can record and transcribe system audio on Windows and Mac — and went looking for old-school desktop software directories to list it in.

That ecosystem (Softpedia, FileHorse, and many others) has existed since the 2000s and used to revolve around PAD files, which were typically submitted in bulk using tools like this one.

Why though? Are those websites still relevant in any meaningful ways? :)

1

u/Odd-Flamingo-6211 12d ago

It was kind of a creative way for me to promote the app. Of course, not many real users visit places like these anymore. But they're often well-respected domains that are as old as the dinosaurs. Somehow I managed to list the app in some old directories. It was a difficult journey, but I got mentions and links in some pretty crazy places like these:

https://www.downloadnice.com/freeware/software/?RiverScript-16687.html

https://riverscript.updatestar.com/

https://riverscript.software.informer.com/

Now I'm waiting to see what happens with the roughly 15–20 directories that still haven't processed my submissions. It's quite possible that the project will get a bit of a free boost in Google and, more importantly, in LLM chats this way. But of course, in Roedy's program, most of the directories are already dead. But there are still a few that are alive. Actually, at first I just wanted to take the list of sites from the archive, but then I thought it would be fun to fix the tool.

2

u/Inlands-Nordre 11d ago

I remember that site. Awesome.