Friday, June 30, 2006

(Betriebs-) Rats

It's time to sign the new contract with $MegaCorp. The problem is certain suckage in comparison with my $BigCorp contract, mainly concerning money. I'm taking a pay cut because the Works Council (Betriebsrat) made a decision concerning our pay: everybody coming in from $BigCorp should be handled in an equitable manner.

Communist fuckwits.

Back in the $BigCorp days a few of our fuck-ups led by one with a vendetta and a current court case against the company tried to use German laws to force a Betriebsrat on us. The company had to pick up the full tab for all costs of their attempts to thwart managerial decisions and have a say in how things are handled.

The three clowns went about it in a Little Rascals manner, though much less organised and prepared. I killed their first called meeting within ten minutes by pointing out that they'd failed to provide translations for me which the law requires.

They got better and played a lot of games, wasting time and costing the company thousands. In the end we managed to kill it, and a good thing that was for me. German Works Councils don't give a damn about ability, merit or competency. Whether it's to do with cuts or pay raises, they only look at the la-di-da social impact and would in a heartbeat let single, expert-in-multiple-areas me go in order to keep Mr Incompetent employed based solely on his inability to stop impregnating his wife, especially if he'd worked for the company a single day longer than me.

Management can't do much about it. It's the law, and once there's a Council in place you can't get rid of it. I've yet to hear a single thing that a Betriebsrat does which isn't in some way related to the protection of the incompetent and lazy. They prevent companies from making hard business decisions which are in the interest of the company.

Ten percent of my income under the old contract was based on my performance and would be doled out in a lump sum a couple months into the new year after an appraisal. I actually managed to exceed 100% once and I never fell below 92%. There were others only getting 30-40%.

$MegaCorp doesn't do the 90-10 pay and I rather doubt that basing pay increases even partially on merit can make it past the Council. But how to deal with the $BigCorp salaries in a $MegaCorp world?

Just give everyone 100% of that 10% since that's the rate each person was ostensibly hired at?


Give each person the average percentage received in merit-based pay over the past three years so that a hard worker would get the 90% he'd been getting and the fuck-up would get 40%?


The Works Council decided that everyone should be treated equally: everyone gets the overall average which was paid out.

The results of this ostensibly "fair" decision mean the monkeys who busted their balls over the past few years take a pay cut while the lazy fuck-ups who managed not to get shitcanned got a raise.


x-posted to HuSi with a poll

0 non-"17"s have already commented. Click here and be the next.

Wednesday, June 28, 2006


You learn to live with buzzwords. You get used to Aunt Betty asking how much upgrading to Net 2.0 will cost. You try not to shake your head When Uncle Bill asks about changing providers in order to get Rich Content. You explain to your friend's techno-tard father that even though there are things to be said for a net fridge that after a week he's going to get tired of programming in every one of his purchases and that even if there was a barcode scanner, it would still take more time than it's worth. And no, Cousin Lucy, I know the commercial said how great a wireless home router is but you live in a one-bedroom flat and connect with a modem. You don't need a router and it can't do all the great things for you that the commercial promised.

When administrators fall for the latest buzzwords and ideas, things are different. It's all about performance, anything to speed communication up. I agree. I used to be able to read the text files while they downloaded faster than my 300baud modem could pull them from a BBS. Speed is good. $OurBigApp used to take up to 20 seconds to pull up certain screens; we got that down to a norm of 2-3 seconds on a good connection, normally comprising <50KB of data. That's apparently not fast or small enough. Companies with really remote offices have big latency problems, especially when stuck using 1000km of copper to the next CO or connecting via satellite.

Lenny's got latency problems. Serious latency problems. His remote offices ping no better than 450ms and we normally require a max of 250ms. Lenny had an idea:
We research in the internet and run into some vendor's web application acceleration product that cliams it can help to accerate $YourBigApp connections to overcome the network latency.
Lenny has no idea about what "web acceleration" is nor how it works, but a few companies are telling him they have it and it works. They're even claiming it works specifically with $OurBigApp. We, on the other hand, don't necessarily agree. Lenny was probably drooling as he filed his ticket.

1. Does web application acceleration techonolgy will befenit connected users to overcome the network latency issue?
2. Are there any vendors products that you certified or recommended to overcome network latency issues.
3. In the case of international link, it is not possible to reduce the latency. What is your recommendation to deal with network latency issue that may cause connected client not working well?

Lenny's got buzzword fever. I figure I might as well answer this one completely and then rewrite it into an FAQ for our Knowledge Base. He oughta be real happy; I'll teach him about this stuff and save him some money

Dear Lenny,

Claims of functionality by third parties must be backed and proven by them. We don't support them.

Web accelerators work by three basic means: caching, compression and pre-fetch. Caching of images is acceptable but for obvious reasons, caching of the rest of the dynamic application does little good. Most of our images are very small and are already cached by the local browser.

$OurBigApp already allows compression at the server; a compressed file can't be further compressed. Pre-fetch relies on background loading of links or expected next accesses. Theoretically an accelerator could be designed and tuned for $OurBigApp to load certain elements in the background, but the accelerator would have to determine which fields were such elements in the first place. Since the values for a child elements will differ based on the parent, it would be nearly impossible for most fields to be pre-fetched.

Latency is the tough one. You could use the non-rich client for high-latency offices since there's no interim communication between it and the server. You can modify the default application time-out and keep-alive settings as well as those of the Web server.

At the client level, Microsoft provides information on editing TCP/IP registry entries at;en-us;158474. The time-out and keep-alive settings should be adjusted ; default values and explanations are given on the site.

Love, REC
Now how much more helpful could I have been?

In my mail this morning was low score notification. Lenny gave me 3s across the board and wrote a long complaint that I hadn't given him an acceptable web acceleration solution.
I write to the monkey asking if $BigNetCo and $OtherNetCo Web accelerators are support and he didn't answer about each one. Then he say accelerator won't work but $BigNetCo and $OtherNetCo say it does! He only give link to Microsoft but they can't fix latency. We need acceleration!
My merit-based bonus is taking another hit because of another fuckwit. The only revenge available to me is saving enough money to buy his company's products and then... not buyithem.

There's a poll in the HuSi version.

0 non-"17"s have already commented. Click here and be the next.

Tuesday, June 27, 2006


When a two-year-old asks if the ocean's wet because it's full of water, you can't help but smile. The kid's starting to get a grip on logic (or on winding people up). Almost as amusing is the failed logic of that same child refusing to eat a peach because his best friend ate a peach the week before and fell down afterwards, cutting himself badly.

It's not so amusing when adults do this, and even less so when they're supposed to be professionals. It must be a Full Sun -- these are all tickets which came in since last night:

We running $YourBigApp version X. We noticed since Friday on production system some attachments attach and some won't. Only some small attachments can write, then none.

The attachments directory \\machine\directory was filled up Friday. We delete files not need and now 16G's of free space is available. Not sure if the full disk cause files issues.
You're not sure if a full disk caused file save failures? Are you equally unsure that the pen's out of ink when it only scratches the paper rather than leaving marks or could another possibility be that the Moon is in Virgo and the temporal plane is affected in just such a way as to prevent you writing at that spot which happens to be exactly 3 arc-seconds from a major ley line crossing?

We want to apply all of the language packs except for CHS and CHT. Up until this point, we've only applied the language packs in environments running a Unicode database. We want to know if there are any known issues with applying the language packs to an environment that is currently running non-unicode (1252 code page).
Well Hoss, how are you going to cram a couple hundred thousand Unicode characters into space that only holds 256? WinZip?

We are seeing low performance on $LocalClient workstations with 512MB of system memory. Although this is the minimum amount required it still means that if users have other applications open available memory will soon be not enough. Can you test and confirm that 512MB is the minimum amount really necessary?

In your documentation it says we could expect up to 70% performance improvement with increases in CPU speed and memory. Shouldn't you list higher specs as the minimum since the program runs faster then?

I need a minimum of five cups of coffay a day to work. Give me eight and I'll work a lot better. Give me 12-15 and I'm on a ticket rampage. But I need at least five. Is minimum such a difficult concept?

We need to add a minimum intellect restriction -- a Punch the Monkey banner could probably weed out half of them.

x-posted to HuSi

0 non-"17"s have already commented. Click here and be the next.

Monday, June 26, 2006

Cow-orkers V: Meetings

Attention Corporate Monkey Infidels:
Team meetings, unit meetings, group meetings, area meetings, division meetings, and other such meetings are not, repeat not meant for any sort of discourse. They exist solely to stroke the ego of the numbnuts holding such a meeting so he or she can feel more import.

Unfortunately, most corporate monkeys don't realise this, believing that the meeting is taking place in order to facilitate an exchange of ideas and discussions. This might be the case in a software development meeting but it just ain't the case when the meeting includes all members of a particular corporate hierarchy.

The decisions have already been made in hierarchy meetings. The Death by PowerPoint slides were approved by upper management last week. The purpose of the meeting is one-way communication from up on high down to you fucking peons. Realise this and life becomes So. Much. Easier.

    The purposes of the corporate meeting:
  1. Information (such as it is) is conveyed to those lower down on the org chart.
  2. The ego of the speaker is fed.

That's it. Meetings are unnecessary. The presenter could very well have sent the PowerPoint presentation to you by mail which would have been considerably more useful; you'd be able to peruse the info at your own pace and you'd have a copy of it in case there was something you actually needed to know.

    How to get through the corporate meeting:
  1. If there are slides, sit down, shut up, twiddle your thumbs until the talking stops, and go back to your hole.
  2. If you can find a spot outside the speaker's line of sight, you can use the time to read through notes or do a few sudoku puzzles. I'm partial to the Killer Sudokus myself.
  3. When the speaker finally asks if there are any questions, shut up. If someone else starts talking, stab him.
If you actually have a question, send it later in an E-Mail.

I was finishing puzzle number three as $Manager finished a presentation with the same goddamned slides which had been presented by two other manager at two equally useless, pointless meetings a week ago. Although Berti was there, he'd remained surprisingly silent throughout the ordeal. The last slide came up:

Q & A

"Are there any more questions?"

Of course not! During the two versions of this meeting Berti had wasted more than 30 minutes at each with meaningless questions, first about mintiæ, then following up each one with every conceivable and impossible hypothetical situation. Berti is one hell of an unintentional troll.

If some minor mention was made of ScreenClean® windshield cleaner and how it works on all bird shit which might end up on one's windscreen, Berti would ask for clarifications. Would it work on all bird shit? What about chicken shit? How about ostrich or emu shit, something he needs to know since he goes to Australia once eveery three years.

After running through every member of the Aves class, Berti would move up to the Chordata phylum, starting with, say, goats since the farm near the office raises them. Once told "Goats can't fly, so there's no worry about getting goat shit on your windshield", Berti would first reply, "Ostriches don't fly and you said it works on their shit. Just for the sake of argument, suppose a goat was born with wings."

The presenter inevitably allows himself to be sucked into this nonsensical discussion because he's trying to look reasonable. He also lives in fear of being called to the carpet by his own manager for failing to address the legitimate concerns of an employee under him, regardless of how illegitimate they might actually be. One complaint can have a big effect come review time. "A goat can't be born with wings, Berti. It's a mammal."

"But bats are mammals too, and they have wings. Suppose the mother goat maybe ate food grown near Chernobyl or something and this was the result."
"Fine. If a mother goat ate radioactive food and the goat was born with wings, it still couldn't fly. It's too heavy and non-aerodynamic."
"But let's suppose it can. The Stealth Fighter isn't aerodynamic and it can fly, and animal brains are still more powerful than computers."
"Okay, a flying goat. If a flying goat flies over your car and shits on the windshield, ScreenClean® will still work. Are there any other questions?"
"What if someone picked up some goat shit and threw it at the windshield. Would ScreenClean® work then? And what about if, instead of throwing it at the car, some kids started smearing it on the windshield, really rubbing it hard?"

Such is Berti's manner. He's a master at this. Berti's German and he truly believes every single point he raises is rational.

But he'd already asked everything possible concerning this presentation, this being our third time around. This third version of the meeting had only wasted 50 minutes, Berti's and everyone else's questions having been exhausted the first two times.

The manager made a mistake: She repeated the question.

Berti, not wanting to disappoint, having already been given the answer to every possible goat shit scenario, took a new tack:

"Does ScreenClean® work on mule shit?"

I got through another three diabolical/evil puzzles before we finally got out of there.

There's a poll in the HuSi version.

Labels: ,

0 non-"17"s have already commented. Click here and be the next.

Friday, June 23, 2006

A Hot Cup of Java

Maybe it's true that what we dislike in others is what we least like in ourselves. I remember my father yelling at me on occasion for not listening to his answer. Usually it was because I'd parsed it in a manner other than he meant it and he'd lose his cool rather than rephrasing it.

Of course, I was only around eight years old. My responsibilities, rather than the maintenance of a multi-million dollar room full of servers, were limited to tasks such as gluing macaroni artfully onto construction paper or clipping a bunch of Spanish magazines to make collages and calendars.

Over the past 30-some years I've become much better at parsing statements and rephrasing my own when I'm misunderstood, but sooner or later someone always moves me to my breaking point. So it was with Herman:

We have discovered that $YourBigApp will cause a conflict with another application which only works with JRE version 1.3 while $YourBigApp requires JRE version 1.4.

From what we know about the Java environment the browser cannot run two different JREs at the same time.
That's a reasonable enough question, and it was asked professionally, providing lots of details about this other application. Details I didn't need, but the guy knew what he was doing.

So why am I writing about it?

Hi Herman,

It's possible to install multiple instances of the JRE to different directories without deleting older versions by downloading the Java package for later or network installation, then running the Custom rather than Basic or Express Installer.

The HKEY_CLASSES_ROOT\CLSID\{ABCD1234-nnnn-nnnn-nnnn-nnnnnnnnnnnn} Registry key is mapped by default in the client system to the JRE 1.3. Changing this to point to the v1.4 JRE will allow $OurBigApp to identify the correct JRE and allow $CrapApp to continue using the v1.3 JRE.

Love, REC

And that's where it should've ended. Should have, because the answer is clear: change one registry key value, a change that can be easily pushed onto every machine in the network.

Instead, he started driving me apeshit.
Thanks for the reply. I'm not sure exactly how to implement your suggestion (and trial and error is not an option for us). Our internal skillset does not include Java. Could you please supply a set of instructions for achieving what you suggest?
So what if your "internal skillset does not include Java"?! The solution has fuck-all to do with Java! The solution is "change one fucking registry key"!

Herman, there's no programming involved in the solution I sent. You need to install the later version of Java and specify that the installer should place it in a different directory: The installer should also NOT remove the earlier version. Once this is done, run regedit and change the value of the HKEY_CLASSES_ROOT\CLSID\{ABCD1234-nnnn-nnnn-nnnn-nnnnnnnnnnnn} key to point to the new Java directory.

That was cut and pasted straight from the ticket; I only removed the key. I wrote that there's no programming involved, right? The only action with Java was installing it, right? Right?
We don't have any Java programmers here to make the changes you're saying. We need a solution. Please file a request for support for earlier versions of Java.
That *thwack* you heard was the sound of my head hitting my desk.


  1. Go to
  2. Under "Required" click "Accept License Agreement". The page will refresh.
  3. Click on the first link under Windows Platform: "Winndows Offline Installation, Multi-language"
  4. Click Save
  5. Choose the directory you want to save the installer under
  6. Click OK
  7. Close Internet Explorer.
  8. Open Windows Explorer.
  9. Go to the directory you saved the installer in. If you forget the directory, you can search for the file "jre-1_5_0_07-windows-i586-p.exe"
    0) Double-click the installer
  10. Click Run
  11. Click CUSTOM Setup
  12. Click Accept
  13. The default installation folder is C:\Program Files\Java\jre1.5.0_07\. This is acceptable since it won't overwrite other Java installations.
  14. If you want Java to look nicer, click the icon in front of "Additional Font and Media Support" and select "This feature will be installed on local hard drive."
  15. If you receive an Out of Disk Space warning, click OK, then free up space or choose a different drive location (return to step 14)
  16. All checkboxes should be checked unless you don't want Java to run in a particular browser.
  17. It will take about 2 minutes before the installation is complete.
  18. Click Finish
  19. When the Restart pop-up appears, click "Restart Later"
  20. Click the Windows Start button
  21. Select Run
  22. Type regedit and hit enter.
  23. In the left panel, expand the HKEY_CLASSES_ROOT folder
  24. Scroll down to the CLSID folder and expand that.
  25. Scroll down to the ABCD1234-nnnn-nnnn-nnnn-nnnnnnnnnnnn key
  26. Expand that key
  27. Click on the InProcServer32 folder
  28. In the right panel you'll see a key called default
  29. Click on it
  30. Go back to Windows Explorer
  31. Find the Java 1.3 directory and click on the bin directory
  32. Make sure you see SSV.DLL
  33. Copy the full directory path. You could type Start: Run, then drag that version 1.3 DLL into the Run window. Delete the quotation marks and then copy the string.
  34. Go back to Regedit
  35. Right-click the default key on the right
  36. Select Modify
  37. Type or paste the full path to version 1.3 (see step 31)
  38. Click OK
  39. Close Regedit
In case you're wondering, it took about half an hour for me to tediously replicate the process and ensure I didn't miss a single step.

You sent us detailed steps but we already told you we don't have any Java skillset. Modifying the system Java key isn't authorised since we can't make programmatic changes to Java with no one to test it the repercussions. We need you to file a request to support version 1.3

What the fuck do I write back now?!

Root Cause: 17-Fuckwit.
x-posted to HuSi

2 non-"17"s have already commented. Click here and be the next.

Thursday, June 22, 2006

This is a joke, right?

"Hi. We want to know what it takes to change database platforms."

That's simple enough: a full re-installation since scripts are loaded at installation based on the database. IBM, Oracle and MS SQL Server have different column types, mechanisms, tuning methods and so forth. We also optimise our SQL based on the DB vendor.

And then I read on.

"We want to know this because we're planning to upgrade our database from Oracle to MS SQL Server." [Emphasis mine.]

They can't be serious.

Except that they are.

Upgrading a database from Oracle to Microsoft SQL Server is like upgrading a Ferarri to a Ford Festiva. Especially if you plan to use Unicode, since MS still only support UCS-2 even in SQL Server 2005. Imagine Sony still only making beta recorders and refusing to make VHS machines.

Root Cause-7 Environment-specific.
It deserves a seventeen, bitches. A big, honking seventeen.

We get a question like this a couple times each month.

X-posted to HuSI.

0 non-"17"s have already commented. Click here and be the next.

Wednesday, June 21, 2006

Cow-orkers IV: The Memory of a Goldfish

Ripa again. I'm getting so much mileage out of her that I'm wondering if I'll ever get around to any of the others.

Ripa's taken to talking to herself more and more. Out loud, non-stop droning on. Except that she's not always talking to herself. Sometimes she's talking to one of us and gets pissy if we don't answer immediately, yelling at the unfortunate object of her attention, "I asked you question four times now and you are not answering me!" Even one of our most patient monkeys who often accompanies her to lunch so that she doesn't have to eat alone let off some steam at a gloriously Ripa-free cafeteria table on the day the following occurred.

* * * *
"What now?" Don't bug me, bitch. I need more coffay.

I'm the Duty Monkey today. A lot of tickets are in the wrong areas and they belong in ours. As the Duty Monkey it's up to me to determine if some ticket should indeed be transferred over to our team. Conversely, I try to transfer tickets which we shouldn't have out to other Monkeys who fight back almost as hard as I fight them. None of us want more tickets.

"I have teeket here from COOstomer about support for version. Do you think it's for your team?"
"I don't know what team it's for. You have to tell me.

I stare at her in disbelief. The office goes quiet, everyone waiting to see what's going to happen next. Because they know... they know.

Ripa, until a few months ago, had been in our team for some three or four years. She'd been the Duty Monkey once a week. Surely she...

No noise leaves the other cubes as my response is eagerly anticipated. Phone conversations stop. Typing stops. Even someone's Flash game clicking has come to a halt. The only sound is the droning hum of the drinks refrigerator. Will REC scream? Will his head essplode á la Scanners? Will he finally strangle the woman?

"You're kidding, right? Right?! Did you not work in our team for four years? Do you seriously not know which damned team a stupid question about supported platforms goes to?!"

"But you are Doo-ty Monkey of group. I have to ask you where it should go."

Titters, smiles, a few signs of mild disappointment. I manage not to rip her head off her shoulders or even spew a stream of curses that one would only expect from a man whose ex-wife already got everything in the divorce including 80% of his future income after he finds out that she was screwing her lawyer, the judge and his own lawyer, too. That kind of anger.

That's the reaction everyone was expecting. However, my way of handling this round has ensured I won't be fired for my response nor arrested for manslaughter (though I'm sure I could get it knocked down to justifiable homicide) and I've managed to get my point across in a way that everyone understood. Everyone but Ripa, of course.

I sit down at my desk.

"Are you going to take the teeket REC?" she hollers again.

The my-head-shaped-dent in my desk welcomes my forehead.

x-posted to HuSi sans poll.


0 non-"17"s have already commented. Click here and be the next.

Monday, June 19, 2006

Clowns to the Left of Me, Jokers to the Right

Forgetting my building access badge this morning cost me an hour to go back home and return at the height of rush hour, a commute made even worse by all the tourists riding the same line on their way to the stadium. Packed into the subway some weasel looked at me and asked me to move left.

"I can't move any further left."
"But more people are trying to get in the train."
"Look! I'm already shoulder-to-shoulder with this woman." She didn't look up from her book.
"But, but I have no room," he whined, trying to push me a bit.
"There is no room to the left. If I move any further left I'll be fucking this lady."
The not-at-all attractive woman smiled; the weasel shut up. Fuckwit.

That was just the prelude. I got my morning coffay. We have these big filter coffee machines which dump into 2-litre, pump-action thermos containers. As I filled my Supermug (which holds about 5 "normal" cups of coffay") I noticed foam. The fuckwit cleaners left soap in the thermos and I had to wait another 15 minutes as I brewed another round.

On to the tickets and I got a doozie:
We're in the process of designing a highly redundant environment and after some research we have decided to test a combination of Cluster Services and load balancing.

Our question is directed at how the $YourBigApp name server and app servers are installed on a cluster server. Our IT department prefers to set an Active-Passive cluster without using a disk array.
"After some research" meaning, "We stuck our thumbs up our asses and pulled out this idea."

The whole point of a cluster is that multiple machines access the same applications and files from the shared disk array. If one machine goes down, the other is still running and handles the load. The name server data has to be stored on the shared disk array. We wrote a great big FAQ on how to set up a cluster with every possible architecture which works.

In some instances this sort of configuration might be possible, but not with $OurBigApp. The name server includes all the system configurations. Without a shared disk array, you'd have to shut down the system in order to replicate the information across all the cluster nodes.

So they don't really understand how a cluster works, they didn't pay attention in class when the entire $OurBigApp system architecture was described, and didn't even look in the Knowledge Base.

While it may appear that I get a sweetie out of all this, I'm certain they're going to come back to me a dozen times whining like children about how they don't want to use a shared disk array and couldn't they maybe just do . This will be followed by them questioning my knowledge of clusters, then their business needs, and finally a request for management involvement and re-assignment to another monkey before finally accepting that their cockamamie idea won't work.

I'm sitting at a brand new desk but already one can make out a slight, my-head-shaped dent in front of the keyboard.

Because my Root Cause: 17-Fuckwit has yet to be implemented, they'll get off lightly with either a Root Cause: 6-No Research or maybe a Root Cause: 6.5-No Understanding. It's hard to choose.

x-posted to HuSi.

0 non-"17"s have already commented. Click here and be the next.

Friday, June 16, 2006

It's YOUR software. YOU make it work!

I took two tickets in May from a guy I'll call Eddie. One ticket complained that $OurBigApp didn't work with the newest version of a particular browser. The other complained that $OurBigApp didn't work in the newest version of a particular operating system.

We have the SPG (Supported Platforms Guide). It's explicit; if an operating system ain't listed, it ain't supported. If a particular version of an application ain't listed, it ain't supported. If it's beta, it definitely ain't supported.

Internet Explorer 7 and Vista are both beta.

No one supports beta software. As things are, Vista's already two years late and is looking like it's going to be little more than XP's Service Pack 3, but prettier. I don't want pretty; I want functional. Aunt Betty likes pretty but she doesn't have to administrate a network. What fucking professional out there actually wants a search panel with a goddamned animated cartoon wasting processor cycles rather than a panel full of search options? Put that shit in the "Home" version if you must but

And IE7 sucks -- the IE page was initially proclaiming the new invention of tabbed browsing. Real new, guys. And extensions -- sorry, Add-ons -- are additions, most of which must be paid for. "Value-add", I'm sure they're calling it. I'm still trying to figure out why they have a POVray add-on (and that has to be a license violation).

No company in its right mind supports beta software. The software is still being debugged! Anything you do in a QA environment is invalid since the software's subject to unannounced change. There's no way to know how it'll behave after the next compile.

I explained all of this to Eddie in both of his tickets. I also told him the correct way to pass information on to our Engineering department (through his TAR, one of our rare, competent Technical Account Reps).

Fast-forward a few weeks: I took three tickets today reporting new problems with $OurBigApp and IE7/Vista, all submitted by a man in Redmond named Eddie.

Root Cause: 3-Unsupported Platform.
Root Cause: 5-Unsupported Execution.
Root Cause: 6-No Customer Research.

Eddie is a fuckwit. I desperately need my Root Cause: 17.

x-posted from HuSi (which has a poll)

0 non-"17"s have already commented. Click here and be the next.

Thursday, June 15, 2006


Microsoft's 200606 patch (which includes 916281) was publicly released Tuesday morning. Some of our customers didn't turn off auto-updates and Tuesday afternoon we got another spike in our ticket count.

The problem isn't that any of the new fixes cause our software trouble, it's that that the patch also removes the 912745 compatibility patch which undid the hobbling of embedded object calls that patch 912812 imposed last month thanks to the fucking Eolas case.

We knew this was going to happen. We warned everyone about it. We have alerts up. Fuck knows I've answered enough follow-up questions about what would happen on June 13th. It seemed like every every fucknut who I'd already explained the Eolas problem to came back and asked again. Despite that they got hit. Either they didn't pay attention or they didn't warn their (l)users.

Look all over the Microsoft sites and you won't find anything about a compatibility patch this time around. Even if you have the number, you won't find any information anywhere. Go ahead and ignore me, too. Try ghugling "919010". There's no MSKB article associated with it. There's no trace of it on *

The only way to get the 919010 compatibility patch it is to go to, sign up with a MS passport account, tell them what software you have which requires this patch, give them an invitation code provided by the company which made the software which needs the patch, give them a further explanation of your situation, and wait.

I hate Microsoft.
I really hate Eolas.
I fucking despise "admins" who don't do what they're told: Disable the fucking Automatic Updates until you patch $OurBigApp!!

So far I have half a dozen tickets which need to be closed with Root Cause 17:Fuckwit.

This patch is only good until the release of the August security roll-up, after which the new compatibility fix will again be disabled. There will be no further ones. Customers must patch our software by then. They won't. That's fine by me; I already have the boilerplate response finished and I'll have no problem meeting my ticket quota for Q3.

x-posted to HuSi.

0 non-"17"s have already commented. Click here and be the next.

Wednesday, June 14, 2006


As I returned from the bathroom, I asked, "Hey, Joe..."


"What's with all the shit in the hallway?"
"Today is MegaLunch. Ve normally only heff MegaLunch once a munss but ziss time is to velcome all ze $BigCorp people."

From appearances, MegaLunch is plates of paprika-flavoured crisps and peanut M&Ms (yes, same plate) and various sorts of gummy/marshmallow-y candies. And empty plastic cups.

Joe explained they usually order pizza and he mentioned beer. Of this I am certain. Mention beer and you've got my full attention, especially if it's free. We have border police to stop bad beer getting into Bavaria.

MegaLunch attendance, I found while trying my best to clear out a dozen tickets, was mandatory. MegaLunch was scheduled for 12:30; there were still 20 minutes to go.

There would be speeches and I had no means of escape.

When faced with no chairs and a long wait, I usually drop to parade rest which I find the most tolerable stance -- yet another thing I took with me from Boot Camp along with an ability to shine shoes to a mirror finish and fold hospital corners on sheets. The prattling on began.

The pizza arrived late. There was no beer. Joe will pay the minute he forgets to lock his computer and walks away. I can handle lukewarm pizza, congealed Chee-Zee brand processed cheese-like melted pizza topping and even limp and chewy pizza crust, but...

Attention German Pizza-making Infidels:
Stop putting corn/maize/sweetcorn in everything! It most certainly does not belong on a fucking pizza. Everything else was fine: tomato slices, broccoli bits, red onions, mushrooms, some sort of pressed-ham-like stuff, even the feta cheese. But not the fucking corn!
So much for a free lunch. I'm off to find a beer. Dirka dirka Mohammed jihad.

Up-and-coming meme poll only available in the HuSi version)

0 non-"17"s have already commented. Click here and be the next.

Tuesday, June 13, 2006

Cow-orkers III: Language School

I'm sitting at my new desk in the Panopticon, perched high atop Munich on the first floor, just another $MegaCorp monkey. And now, apparently, an English teacher. My new neighbour Joe interrupted me and asked, "What is ze difference between mouse and mouse?"



The seating plan was completed a few weeks ago and most of us $BigCorp people were seated en bloc throughout $MegaCorp's offices based on teams. Our Admin group has too many people and someone had to be separated. The first monkey who got the spot took it as an affront. Steve then agreed to take the spot but didn't really want it. I saw from the floor plan that this position ought to give me some extra wall and storage space and I volunteered to take it. It would also give me a better chance to integrate and if my neighbours were really bad, I could probably take a desk somewhere else as a floater.

Joe turned out to be almost perfect. He's originally from East Germany and since exGF is from there, I already knew about the mindset. We hit it off well, and our skillsets are such that they complement each other, so we'll both be teaching each other technically.

Joe has a two-year-old learning English. Unfortunately Joe is doing ze teachink. While he doesn't have the horrid, heavy Sächsischhhh accent the East is famous for, neither does he have the English pronunciation down.

Joe lifted his mouse and said, "Zis, ze mouse, yeah?" Riiiight. And then he started pointing to his mouth and said "But zis is a mouse".

I lost it. I was howling with laughter. We'd already been over the "th" sound and I'm pretty sure Joe knows how to spell both words correctly. Joe also insists that at the ends of his feet are "toos" or maybe "twos". I essplained what he was doing wrong and gave him a few pronunciation exercises I've designed to torture Tuetons:

Torturing Germans:
I think that these things can throw the balls through the roof.
A mouse has one mouth and more than two toes.
Father Victor wants very wet, fresh vegetables.

My other two new neighbours joined in on the pronunciation questions and that led to other questions which required me explaining, among other things, what a moose is. I also agreed with them that whoever decided the plural of "mouth" was probably trying to fuck with foreigners.

My neighbours learn quickly and are now certain that the plural of "house" is "hice".

x-posted to HuSi, with a poll.

Labels: , ,

0 non-"17"s have already commented. Click here and be the next.

Monday, June 12, 2006

Moving Day

Last Thursday I had to pack up everything from the Cube of Hate® thanks to a change of offices which I'll enumerate in a later post. This took me two days. I threw out a lot of crap and still managed to fill five large boxes. Another two were stuffed with MSDN CDs and DVDs. If you have old MSDN media, don't throw anything away. Not even the Everything Subscriptions can access NT4 or Win2K among other deprecated software. This is a problem when you need to load up, say, Windows NT 4 SP3 Greek for a weird problem that a customer is having. Luckily for said customer I'm a pack rat and had both NT4 GRE and the SP3 CD.

Friday was a Day of Tremendous Waste about which I also have a bit to say. Luckily I'd printed out enough Evil-level Sudokus to keep me busy between the various rounds of break food we got.

It didn't take me too long to find the new building this morning; finding my spot was even easier. Along with my seven boxes of crapola, someone had decided that all the lab machines belonged to me. Heavy rack-mount Suns and a 4-way Netfinity that used to belong to Education, and old single-proc Netfinity and more. All mine!

I'm requisitioning a few long power cords because I'm already overloading the electrical sockets I'm allotted and so I have to steal juice from my more normal cow-orkers who manage to do their work with only one or two machines.

The 4U Sun StorEDGE may or may not be working; it's definitely not going to go back into a rack any time soon. The fuckwit movers dropped it. The rackmount panels are replaceable but I can't switch the thing on until I've had time to look inside, so that's our Sun storage out until next week at the earliest.

I got my workstations rebuilt and running, ripping out the damned CapLock key from fresh, clean keyboards (on which I have to write 40 or so macro reminders above the Fnn keys). A mail check showed me most of my tickets had been updated and the customers were screaming like hungry seals for my fishy responses.

There was another mail, much more ominous...

I was always against the total consolidation of the main lab machines, not just because I loved having all that hardware close-by (and we were more flexible as a result), but because there are too many points of failure with centralised machines. Like telecomms. Or power. Our UK center has lost comms a few times and -- despite dual independent feeds -- electricity not once but twice. But it gets worse.

Over the weekend there was a fire. In the datacenter.

The worst is yet to come.

I no longer even have a cube. I sit at a big, wide, deep desk, the back half of which is unusable. The general office layout is still cube-like, but I no longer have any walls on which to precariously balance and stack reams of paper and shield me from the other monkeys.

At least I got to keep my red stapler19" CRT set to 1600x1200 only because the crappy Compaq on-board video can't handle more. I may yet buy a graphic card for this machine. Any recommendations on cheap cards for non-gaming environments which do ultra-high resolution at high frequency would be appreciated. Everyone else was forced to trade in the CRT for a 19" HP L1940T LCD which can only do 1280x1024 despite having a physically larger screen. I need my real estate; it's good to be buddies with IT.

So I sit here at $MegaCorp waiting for the overlords to sort out the problems they're having getting me into the system. The system chokes on my name. I see many benefits to this: I'm free to take care of all my other unpacking/reconnecting and all my other cow-orkers are figuring out the hard way which system changes are actually necessary. This will become common knowledge once it comes time for me to switch over my own boxes.

I closed another very bloggable ticket today; it should be up next week. I've already started work on the new my-head-shaped-dent, but I miss the form-fitting comfort of the old one which was almost deep enough to prepare a bag of ramen in.

x-posted from HuSi.

0 non-"17"s have already commented. Click here and be the next.

Thursday, June 08, 2006

Why Bother Sending Resumes (CVs)?





So I ask for some basic stuff, IP addresses, firewall information, network diagrams and configuration files.

Three minutes later there's a phone call for me. Dammit, I hate phone calls. At the time we were discouraged from taking or making them unless doing so would be the most sensible way to continue (though now the most unnecessary phone calls are encouraged). Like an idiot I took the call.

The mook started ranting on and on pointlessly, looking to blow off steam. Sorry, not my job. I hung up. He rang back through the central line. I took it.


And my phone rang again a minute later. Charlene asked me what was going on and I told her. I said to patch him through again. Before he could speak I set him straight.

"Look, I'm here to fix your problem, not to take your abuse. I sent you a response in your ticket and by direct E-Mail. The software works. You did something wrong. Send me the information I requested and I'll fix your system. And if you want to complain about me to my manager, feel free. Our calls are recorded."


Umm... yeah. I'll check my mail.

Our calls aren't recorded but everyone's so used to recording everywhere else they call that he wasn't going to argue.

Fifteen minutes later I got what I needed.

Server IP:
Subnet mask:

I had to look at that again just to be sure...

Subnet mask:


If you don't know about subnets, in order to do anything on a network, the first number must be a 255. Normally subnets are set to but there's room for variance which you can read about here if you're interested (and here's a great cheat sheet and a calculator).

I sent them a mail back telling them what was wrong and what to do. I tried real hard not to be condescending, which means that I re-read my response a dozen times and deleted most of it.

I got a mail back a few minutes later telling me I was an idiot. Their network people insisted the settings were correct and said to get another monkey to fix the problem because I clearly didn't know what I was talking about.

I responded like a schoolteacher scolding a child. In it I explained the basics of subnetting and gave a dozen links for them to confirm. You can not connect to any address on a 0.anything subnet. Ever.

An hour later I got a response that the system was now working and that I should close the ticket.

Root Cause: 17-Fuckwit. A mistake even most beginners don't make.

Another call came after lunch. Charlene told me it was someone from the same company. No way, no way, no possible way. I told her to route it to my manager. Thirty seconds later he rang me and and told me to take the call. Why? I don't need more shit from these idiots.

"No, REC, it's their boss. He's happy . He just wants to talk to you for a minute."

Fuck. I take the transfer.

"Hello, is this REC?"
"Yes. What's the problem?"
"No problem. Our system's working fine now. I just wanted to ask you a question."
"How did you solve the problem in fifteen minutes? Our people have been working on it for the past four days now."
"You're kidding, right?"
"No, seriously. How did you fix it so fast."
"Well, Jeff, the problem was a setting that anyone who's ever set up a network ought to know. As soon as they sent me the settings I told them what was wrong. Once they quit arguing and did what I said, it worked."
"And we paid these guys overtime to be here all weekend... Are you interested in working for us as our head of network operations? We pay ."

I check the company information quickly.

"Would I have to be on-site or could I work remotely?"
"Well, we'd need you to be here."
"It's a kind offer, but I think I'll have to pass."
"That's OK. Thanks again. Can you patch me back to the manager?"

I did, and he told me later the customer wouldn't stop singing my praises. Yay me.

I was sorely tempted. The job was obviously cake if the incompetents there now hadn't been fired, and considering the location, with that money I could live really well. But there's a catch.

It's not like I haven't moved internationally before but there's no way in hell I'm living in Oklahoma.

xposted to HuSi


0 non-"17"s have already commented. Click here and be the next.

Wednesday, June 07, 2006

Who's the 17?

We are trying to do a silent uninstall of the "$UninstallManager".
We can't find a way to even remove it. Could you please provide us with the necessary parameters/information to silently uninstall the "$UninstallManager" itself and not only the component that it is set to manage. We have succesfully been able to silent uninstall of components controlled by it.
What? You want to remove a base operating component? You tards.
The $UninstallManager is a base component designed to allow clean removal under Windows; we don't support its removal. Why would you want to remove it? If your intention is to prevent users from installing components this can be done with Windows' Group Policy Editor.
And that should've been that.

Not half an hour later came the reply:
Dear Mr Canine,

Thank you for giving us the laugh of the day - our software distribution team is just shaking their heads.

No, we are not trying to prevent the users from installing components. Our software distribution team is not very keen on installing software on laptops that can't be removed again.

Please submit a bug report to fix this in an upcoming release.

What the...?

I rang them back to confirm the problem. It seems that when you install our software on any machine, the $UninstallManager is installed as well so that we can clean up all nice and tidy like. Except that the damned thing itself can't be removed without manual deletion and Registry hacking.

They get a Root Cause: 1-Bug, I get a friendly thank-you for sorting this quickly instead of doing the Bangalore Boogie, sending one pointless mail after another, and I've decided the Eng gets the 17 today.

x-posted to HuSi

0 non-"17"s have already commented. Click here and be the next.

Thursday, June 01, 2006

Holidays from Hell

New posts begin next week. I'm in Belgium (don't ask) and will be back at the Cubicle of Hate® next week.

0 non-"17"s have already commented. Click here and be the next.

In compliance with $MegaCorp's general policies as well as my desire to
continue living under a roof and not the sky or a bus shelter, I add this:

The views expressed on this blog are my own and
do not necessarily reflect the views of $MegaCorp, even if every
single one of my cow-orkers who has discovered this blog agrees with me
and would also like to see the implementation of Root Cause: 17-Fuckwit.