YUMS - A retrospective

This is a blog post for the archival of my YUMS project.

We had a good run, a month of development that taught me much. But in the end. It all ends the same. Just another bowl of “modular” sphagetti.

What was the plan?

A simple, barebones implementation that is extendable and scalable. It also should use as few dependancies as possible.

There was already an immensely more mature and batteries included framework called Evennia. Though I couldn’t make heads or tails of it, plus it used quite a few dependencies.

What went wrong?

In short, a lack of architecting and design.

The authentication had to use multiprocessing, making things monolithic. The only real scaling that could happen would be with cloud-based load balancers. Feature creep was setting in etc…

Many things were an afterthought, like implementing a way for re-loading python module definitions during runtime just to deal with updates to a running server.

Documentation was all over the place with readme files in folders, which isn’t too bad inherently, but heck if anyone would be able to search for a specific thing. The addition of features and organisation of knowledge was… non-existent really.

It was turning into a mess really.

so what now?

The project has been archived and will likely stay so for an indeterminate amount of time.

Python is a language I am quite familiar with, but it is evidently clear that it is not suited for such a back end, due to it’s loose type system.

Later on I hope to resurrect this project as my foray into the Rust language, as it is much more strict and memory safe.