biggest mofos on the planet
I hate Microsoft. I truly do. These assholes are simply unbelievable. I cannot articulate the fury and frustration which I feel at this moment. Seriously. The insanity of whatever policy drives them is beyond the measure of intelligent people.
I cannot write a scathingly witty post about overcoming them. I have redacted this blog once, but this is beyond endurance.
A client has a Windows 2003 SBS network. They started out on "Volume Licensing", and the previous admin upgraded to a "2003 SBS R2 Retail" license. Let me tell you - THAT was a joke. You pay Microsoft to run an install off of a CD labeled "R2 Technologies". This ~$400 investment runs in about 10 minutes or less. The largest change is the "2003 SBS R2" BRANDING. The fckng BRANDING. That's right - half a dozen pictures which appear in places.
Whatever, we commenced the upgrade and transition to the Transition Pack. This leveraged our current investment, and actually allows us to virtualize. The problem is that the Transition Pack doesn't ship with an Exchange 2003 cd.
I do not have enough swear words to make this pain go away. Anyone who knows ANYTHING knows you cannot remove DS from an Exchange Server. You must first uninstall Exchange. Then you may remove/demote/whatever. Then you simply reinstall Exchange.
In our case, we want to move Exchange to server Two, DS to server Three and deprecate server One. We cannot. We don't have the media. The Exchange media which came with the SBS install requires installation on Windows 2003 SBS. Anyone who tells me I didn't plan ahead and "see what I got" deserves to be anally raped by rabid coyotes.
This is so stupid and frustrating. I paid $1400.00 to get a two CD pack which migrates SBS 2003 to 2003 Standard. It also came with paper that allows me to migrate Exchange 2003. Oh, and the "rights" to "buy" media from a "fulfillment" center.
Ripping off a product managers head and shttng down his throat is more like fulfillment here.
Idiots in Power
Why is it that normal people don't run more successful projects? See this ticket regarding Paludis. Paludis is a C++ replacement for Portage. Portage is a squirrels nest and even though the ebuild system is pretty nice, portage itself is pretty lame.
Disclosure
In the interest of fairness, I would point out: The Paludis site flatly refuses to say anything about the project. Therefore being run by a complete asshole isn't contradictory to any previous statements.
Summary
The gist of the ticket is that Paludis doesn't support certain types of parallelism and the developer(s) refuse to do anything sane in order to prevent, notify or clearly document the danger of it. This danger is apparently readily realized by users.
Examples of sanity might be:
- Warn people it's not supported.
- Make some sort of method for restricting parallel execution.
- ADD A NOTE TO A FAQ
Evidence
What does the Paludis think of a notice about the dangers of parallel runs of the software they publish:
chaoflow: "What about preventing parallel paludis runs or at least a FAQ or some other way of explicitly telling people, that parallel paludis operations are not supported?"
ciaranm: "Preventing parallel runs is a security hole. And an FAQ entry is pointless -- parallel executions are fine so long as they stick to certain operations."
chaoflow: "Wouldn't it be nice to have documented, which operations are fine for parallel execution?"
ciaranm: "Not really. If you don't already know, you shouldn't be doing it at all."
Very Dense
This is clearly beyond the scope of Paludis. See this conversation:
chaoflow: "What about preventing parallel paludis runs?"
ciaranm: "Preventing parallel runs is a security hole."
chaoflow: "Could you elaborate on that?"
ciaranm: "It's an inversion. A non-root user can obtain the locks and prevent root from being able to do anything for an arbitrarily long time."
This stunning display of logic and intellect is what passes for success over at Paludis. Even I can think of a few methods to help prevent this:
- Make an override mechanism. Easy enough, right?
- Enable super-users to kill the offending process.
- Put the lockfile in a secured-location.
- Use shared memory, and make use of ipcrm to kill rogue locks.
- Observe that a security /hole/ involves some sort of exploitation of a system. A DoS involves prevention of normal operation. This doesn't even make a legitimate DoS.
Blackhole
The stupidity doesn't end there:
chaoflow: "And way way better would be some simple locking inside of paludis preventing bad things from happening."
ciaranm: Paludis is not there to protect you from yourself.
ciaranm must see this as an incredibly clever way of saying "go f*** yourself.". ciaranm seems to be an incredibly dense idiot. Why is an f'd up system preferable to some logic which may lead to the inconvenience of cleaning up a rogue lock?
Paludis IS a security hole - It just might fuck up your system, if you run it in parallel with itself, but it certainly won't try to tell you that. I am guilty too.
Typo Hell... (straight out da ghetto)
Typo is a Rails app. Rails is a Ghetto. While I'm not sure what it has to do with torturing the Jewish people, I think that Zed might be a Jew. I digress.
Rails is clearly caught in a ghetto. It's strange and suffers from strange documentation. One example of something well-known only to Rails people are the DB Migration steps:
- 1. backup your db
- 2. Install your update / new instance / whatever
- 3. issue "rake db:migrate"
It wasn't known to me. Apparently it wasn't known to most of the Internet. How did I find the magical command "db:migrate"? I found it with the same steps I used to find almost all things about Typo: I crawled through blogs and groups and everything else. I have never found a single site that had concise documentation. Everything is simply people blogging about how a particular problem was solved. I have never found any upgrade guides. This search also found me another goodie: purge your sessions table before the 5.0.3 startup.
I think that the entire Rails documentation process is based on hype. Either you pay attention to the hype, or you're doomed. The way to understand it is to use it. The way to use it is either bloody or all-consuming. The hype is how the word is spread. Once I knew how to use the secret db:migrate, I found TONS about it.
Typo is the child of Rails. I couldn't find an upgrade guide, but I did find an upgrade guy. David, the Nihilist, Gibbons. He is my Typo/Rails upgrade guy. He has worked with Rails and for a while was the best sysadmin that PlanetArgon ever had. David has helped me with more simple problems than I can count.
The last problem which I had was errant notifiers in Typo. I tried (and failed) to post comments. I tried to see what was failing. I turned on debug mode. Nothing. Not a damn thing. I went into settings attempted to disable notification. It didn't work, but I didn't notice. Still no debug messages.
Well, at length David did a little SQL magic.
update users set notify_via_jabber='f'; update users set notify_via_email='f';
Wow. Well, his history with Typo gave him something that I didn't have: a mistrust for the admin interface. I don't blame the Typo people for this crap, but I do blame the lack of docs for everything else. I guess it's time to get out of the ghetto.