I have a lot of work to do, and many posts I'd like to write, but that will have to wait. I need to vent some frustration right now.
I am currently on a systems administration mission where I need to inspect and fix (if necessary... lol!) a few virtual servers.
Let's start with the documentation. Oh wait, I can't really start from there. There's nothing. A bunch of IP addresses, a few very weak passwords. A list of a few shell commands, out of the blue. A list of stuff that's been done, or at least I suppose that's what it's supposed to be (the list contains entries such as "Access phpmyadmin", followed by "Change init level"). Nothing to see here, let's move on.
The server's list of virtual hosts includes a SSH gateway, from which you're supposed to connect to the server's other VMs. Well, that sounded fine to me, as it may have meant I wouldn't need to go there and could simply log on through that gateway. Of course, since the "existing" documentation doesn't really list the VM's IP addresses, it's a bit messy. Especially since most ICMP packets seem to be blocked, somewhere, somehow. Oh, and some of the VMs do not listen on port 22. Has it been changed to some other port? Is it being blocked by iptables rules? No fucking clue. In addition, it was possible to log in as root (using a password that wasn't much better than "test") on the gateway.
For now, I've been able to find 3 out of the 11 VMs I'm supposed to take a look at, including the aforementioned gateway. Each host includes the full Gnome desktop, as well as a random assortment of useless stuff (laptop-detect? Dude, it's a VM!). Of course, since the... person... who did this decided to use Ubuntu Server, it's not even possible to remove dbus, because upstart depends on it. Still, I was able to remove a few gigabytes of crap on the servers I could access.
I expect more bad surprises as I keep on working on that. In the meantime, my opinion is that whoever committed this in the first place should seriously think about giving up on systems administration and looking for a career in, oh, I don't know, floor wiping. Or something like that.
For the record, I have been using PHP for years. Almost every web project I worked on ended up being written in PHP, and the same applies to the project I'm currently working on. Some may have noticed that this website, which had been rewritten in PHP recently, had suddenly switched to Python a few days ago.
This is the reason. Not that this fact, taken on its own, has a major bearing over how bad PHP is as a language. It's just the latest in a very long series of bad design decisions and, as far as I'm concerned, the drop that caused the ocean to yell, "Screw it guys, I'm going home".
A few years back, I was using PHP4, and I was quite annoyed with the (completely borked) OO system. Then PHP5 came along. A lot of improvement in there - objects were finally passed by reference automatically, and some new features had potential. Still, many of them were either borked or, which is probably worse, ill-designed from the start. "Oh well," I said, "I'll wait, it will improve over time."
And I was SO wrong.
A few weeks ago I decided to rewrite my personal site using a bunch of XML data files and an XSLT. This sounded like a good idea at the time - only having to bother with a single datafile to modify, and having a bunch of "stubs" around that'd load the proper data seemed much easier for me to maintain than the old set of HTML files.
And then, one day, I googled myself. And noticed I no longer existed as far as Google was concerned.
Let me tell you - I was slightly beyond "annoyed" when I noticed it. So I googled for information about Google and its handling of XML + XSLT.
Turns out that, since my XML files were loading an XSLT file that then loaded a full data file but only displayed parts of this file, Google considered I was trying to feed it hidden data...
Don't tell me Google can't process XML data with XSLT. I simply refuse to believe that. So - what the hell?