Complexity is oblivion, because you can’t use complex software

Well, I spent all of yesterday trying (again) to install (another) mailing list, and was unable to do so.

Today, I spent the whole day trying to run a server-side script from a web-server, i.e. a CGI script. Likewise, this has proved impractical.

The problem in the latter case reminds me of how HTML and CSS have evolved. In the early days, they were simple and by that accessable. As time passed, HTML became increasingly complex and then CSS came out – and the CSS spec is impenetrable unless you’re a computer scientist.

Similarly, in the early days, web-servers were simple. Anyone could easily and rapidly set them up and get stuff going. Today – it’s hopeless. Apache is a pigs breakfast to configure – I tried it today. Listens by default on IPv6 only and denies all files by default, and the installer is broken and it’s now in a state where I *cannot* install it again. Lighttpd I abandoned years ago because configuration is a nightmare. Nginx is okay to configure – I had it up and running in sixty seconds – but there’s no CGI support, only FastCGI and SimpleCGI. Python itself does not support FastCGI, only WSGI. What I read is that to get FastCGI running, I need an FastCGI server which talks WSGI to Python.


What I need is to be able to *call a script from the web-server*.

Fuck me, huh? radical!

Without a fucking metric ton of configuration, because configuration on open source projects is *the kiss of death*. If you have to do any significant config, forget it. Give up before you start – save the time you’d waste discovering it’s fucked.

And I mean, that’s just to run *FastCGI*, which is already work for me, since my current script is CGI and I’ll need to make it FastCGI.

So these servers, they’re now effectively non-existant, because they’re inaccessable. I can’t use them to do work.

I was reading the FastCGI spec and began to write a C server of my own which would just call system() to run the script I have, but oh Jesus, the FastCGI spec is written by fucking aliens. It’s the most incomprehensible garbage I’ve seen since I looked at the Git docs. It’s also bad C – they provide struct definitions which are invalid, they’re actually psuedocode, but you’d need to know it to know it.

So, I’ve given up. I’m going to run the script I have manually, when I need to run it.

All those guys – Apache, Nginx, Lighttpd – the *decades* of work which have gone into those projects is totally and utterly useless for me, because I can’t use what they’ve done to do work. I’m running scripts manually instead. Complexoty is death, because it makes software – especially open source, with its profound quality control, documentation and configuration issues – unusable, which is the same as non-existant.