Fight Software Complexity Pollution
We run the Cheyenne web server on our cloud servers. It's small, fast, has many great features, and integrates well with REBOL. The source code is about 164 KB, and the executable is about 350 KB. That's an entire web server with many nice capabilities!
When we run on cloud servers we install a very small Linux core and no other extra services. On top of that we run various REBOL processes, including Cheyenne, that are microscopic and do everything we need. As a result, our IT maintenance is trivial.
However, to keep Cheyenne updated, we need Subversion... and to install it using apt-get, we see:
The following extra packages will be installed: libapr1 libaprutil1 libexpat1 libneon27 libpq5 libsvn1 libxml2 Suggested packages: db4.6-util patch subversion-tools Recommended packages: xml-core
The package is nearly 50 times larger than the software we're trying to update!
Sorry, not going to do it. I know I'm going to hear comments from you: "it's no problem, just do it, works great, it's how it's done nowadays, the standard of practice, everyone does it, you're old fashioned, ignore the overhead, memory is cheap, blah blah blah."
Sorry: no. No!
This is software complexity pollution. You need one little thing, but then it requires another, and another, and before long you're installing (and maintaining) a half dozen different subsystems. It's a complexity snowball.
Well, I'm rebelling against it. And, this is not just a Linux problem, it's a universal attitude in software design. It's the mindless world of complex modern software. I gave my iPhone to my son after I discovered that every update to it was more than 450 MB. What kind of garbage is that, and from Apple?
Anyway, I'll find some other way to keep the Cheyenne server updated.
So... just say "no" to software complexity. Do it every chance you get. Do not be swayed by mindless "experts" who tell you that it's the "standard of practice". You have a choice. Keep it simple.