In software engineering, complexity is often seen as a sign of competence.
Indeed, a simple system looks suspicious, while a complex system looks serious.
What is the value of a decade of success?
In my final year of engineering school, I built a CTF platform. At the time, no software like CTFd existed. Everything had to be built from scratch.
It took me a lot of thinking to arrive at an architecture that looks simple in hindsight: serve static files, generated on demand, to reduce the attack surface. Standard Unix services glued the components together. Low-level containers isolated services from one another.
[Read More]