Friday, September 22, 2006

Quick Googler Updates: Citrix via Google

To the Citrix googlers who come here: "I hate Citrix" is my number one search referrer.

I had a few Citrix searches in the past 24 hours: "citrix problem win2k", "how to run everything on citrix" and '"citrix problems" speed latency'. If you don't post a comment and tell me the problem, I can't tell you the solution.

For "citrix problem win2k": Are you sure it's the platform? Citrix changed considerably between Presentation Server 3 and Presentation Server 4. Certain commands aren't passed because this gives a slight performance gain since Citrix believes they're "superfluous".

For "how to run everything on citrix": Why the hell do you want to do that? Is your intent to run current apps on cheap-ass three-year-old equipment via a coulpe servers?

For '"citrix problems" speed latency': Citrix dies like a dog with high latency and retransmits. If you have the QOS equipment you can try shaping your traffic to give Citrix priority but if you can't keep latency down, you can't use Citrix. One measure which might help is increasing the MouseTimer and Keyboardtimer values to cut down on the number of packets being sent. You want to read this document.

You got questions? Put them in the comments of the most recent entry or just mail me. I check the mailbox at least once a week.

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

Cow-Orkers VI: It's Not Supposed to Taste Sour

An easy enough ticket I took asking if localisation on a server system could be done (it can) came back asking how to do it. Fuctifino, so I fired off an internal mail asking who dealt with that component.

It was only after receiving my team manager's single word response that I knew why I'd heard his laugh from across the room.



For six years I've been hounded by Ripa and her whining, REC! You HAVE to HELP me!. Six long years of her insistent prattling on. Six years of her demands that I drop whatever I'm doing and answer her questions. Six years of her pissing and moaning to Vera if I don't write her answers for her.

It was finally my turn. Revenge would be mine!

After a smoke break, I walked up to her desk and said her trademark phrase, in her style.

Ripa! You HAVE to HELP me! The COOstomer has a PRAWblem. You work with $component! You HAVE to HELP me now!.

Sitting across from her Paul just lost it. At the neighbouring desk even Egghead, the quietest, most patient yet stoic man I've ever met cracked a smile.

"REC! Stop it! Go back to your desk."
"No, seriously. I have a problem, it's in your area and you have to help me now."

It took her 20 minutes to babble through a vague explanation which Drew could've answered in two minutes. As I walked away, Paul was still laughing and Ripa called out, "You have to give me Assist!"

Most of us help each other out; tickets have an Assist field so that we get credit for this extra work and effort in addition to our own tickets. I'm expected to average two Assists a week, not too difficult thanks to my Unicode specialisation. Ripa has never once had an assist.

Until today.

On my ticket.

The irony of it all. Never hung poison on a fouler toad.

I'm a fuckwit.

x-posted to HuSi, sans poll.

Labels: ,

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

Friday, September 15, 2006


While it doesn't really come across here, I actually do like helping people, so much so that I occasionally do something very stupid: I risk my job.

So why am I always bitching about fuckwits? Well, first of all, they're fuckwits. I tell them how to fix their problems and they ignore me. But more importantly it's an outlet. It's funny when I look back at it but it's exasperating when it happens. And I can write in an amusing manner when I'm angry about something. Also, I chose this nickname specifically to make it clear that this persona is a fucking bastard.

Does anyone really want to read my auto-hagiography? "I'm the best there is. I'm so great. I can do this and that and I work double as many tickets as my cow-orkers." Big fucking deal. I sure as hell don't want to read that garbage so why would I write it? I do re-read some of these entries later. I'm not good at writing mundane stuff, but I have no problem with that; even famous authors suck at it, too.

I like humour. Sometimes I'm pretty good at it, whether writing or telling a story. Humour doesn't come from happiness and contentment; it comes from the unexpected or the outrageous or someone else's pain. Seeing the humourous side of the worst of my job enables me to continue coming to the CubeDesk of Hate every day despite the my-head-shaped-dent in front of my keyboard slowly but steadily becoming deeper.

I really feel good when I've solved some major problem, getting some 5,000 seat customer care call center back up and running or finding a solution to make things work when by all rights they shouldn't. I don't need reminders about those. I need to know why I should continue to sit in front of a screen wasting half an hour just reading through each day's management-speak edicts before working on tickets from people who ask for help and won't take it. Or those who don't even know how to ask in the first place.

What do I feel good about? I feel real good about Joe. He's not a fuckwit, he's an admin saddled with draconian corporate policies which, despite all warnings from us not to patch Windows before patching $OurBigApp, forced the August 918899 patch onto a few thousand workstations because it was available, never mind that our patches were also "critical" had been available for a couple months but weren't installed.

Joe needed a compatibility patch badly. Unfortunately there ain't one for August. Since the entire environment was down his superiors decided that maybe Joe had been correct so they allowed him to back-patch everyone. Unfortunately that won't help because the embedded ActiveX calls still won't work.

Joe had another idea: since the machines had been patched back to the June level, he could re-apply the 919010 patch. Unfortunately it's no longer available from Microsoft. We discussed his situation for a bit and then I went home early to do something very stupid.

From my personal machines and through my private E-Mail account I sent him a copy of 919010 along with a clear disclaimer that I was doing so of my own accord and that not only did "my employer" not know what I was doing, they would not condone it and if it was discovered that I had done this it would be grounds for immediate dismissal. It could also lead to action against me by Microsoft for distributing their files. Yes, he thanked me. Quite heartily.

This was an extreme case; there have been others. In my first couple months I risked dismissal during my probationary period. It was a time where none of the German worker protections applied to me and I could be fired without cause.

Claudette had a problem with scripting. Back then it was an edict that no scripting code could ever be provided to the customers since any bug could lead to legal trouble. If we found a method which worked we could describe it in general terms but even supplying p-code was strictly forbidden.

I worked for a week on that damned script until it finally did what it was supposed to do. I had the advantage of assistance of three other experienced coders and a lot of unpublished internal references. Once I had the solution I explained it. Claudette wrote back pleading for the code. They were a month behind and had already spent weeks trying to write what I'd described.

From home that night I sent her the code along with disclaimers that were almost as long as the script itself. I felt good about myself but at the same time, knew it was risky.

I help people. It's what I get paid for. I probably go that far out of my way and literally put my job on the line once every three to six months. Because no good deed goes unpunished I expect it'll catch up with me at some point.

There. That's all the emo I can muster.

Risking my job to help some other poor schlub deal with his? Yeah, I'm a fuckwit, too.

x-posted to HuSi, where there's a poll.

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

Thursday, September 14, 2006

Too Much of a Good Thing

From the You-Gotta-Be-Kidding Dept.:
We are being asked to provide options to encrypt the entire database for our investor relations application.
I'm with you so far, and there are a few options. But encrypting the entire database? I don't think it's necessary. Just what is it you're trying to protect?

# # #

It's $YourBigApp...
Right, with you so far: $OurOLDBigApp.

running on MS SQL Server 7...
I see it coming.

running on NT app servers.
Oh jeebus! So that's why they want to encrypt even the damned ZIP codes: you're running on a deprecated OS which the maker admitted couldn't be made secure and couldn't even be further patched. They know they're going to be broken into (again and again and again).

But wait! There's more!

We would like to encrypt the entire database with strong encryption but not degrade the applications performance.

And just how the fuck are you going to do that, Sparky? A Porsche slows down if you turn on the air conditioner; imagine hooking a 40-foot trailer to its bumper.

Strong encryption necessarily requires more processor time. That's the whole point of it. Of course it should require a lot less power to decrypt data than what's needed to crack it, but the stronger you go, the more cycles you have to sacrifice. The heavy cost of processor cycles is the reason that we encrypt at the column level. Encrypting every field of a relational database -- the contents of which are then transmitted in proprietary protocol which itself can be encrypted at a trivial processing cost -- would require at least four times as much processor capacity as the application itself uses.

I don't think $ParentCompany is really going to consider racks of additional blade servers running NT4 just so they can encrypt $FunClub member Timmy's film character preferences when a couple new 4U servers and updating the OS and DB would suffice.

I explain the high cost of strong security. I provide references in our documentation and that of third-party encryption technology vendors. It's possible, I explain to him, but at a severe performance cost.

Your answer is unacceptable. We must have complete database encryption with $SuperStrongEncryption and we want [a very old version of] $YourBigApp to retain its performance level. I held a meeting to discuss this internally and this is what we decided.

Oh, a meeting? Why didn't you say so? Well then, how can I even consider declining your request to put our engineering staff back to work on code they haven't looked at for five years in order to figure out how to do the impossible which your meeting decided was the only viable solution?

Say it with me: "Root. Cause. Seventeen."
x-posted from HuSi, sans cool poll.

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

Wednesday, September 13, 2006

Quick Googler Updates:

For the guy who got here by googling codepage "sql server 2005" denmark, the answer is "1252".

Codepage 1252 is used for all of the Americas and all of Western Europe, including Iceland. 1252 doesn't cover Eastern European languages (1251), Cyrillic (1250), nor does it do Turkish (1254). The Baltics have their own special codepage 1257.

What really sucks is that even the new MS SQL Server 2005 still doesn't do UTF-8!
That's some serious fuckwittedness, despite their having some seriously non-fuckwit people working in their I18N department... on UTF-8.

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

If Zeus Wills It

I was an outcast as a kid. I tried to watch some of the TV shows the other kids talked about but they generally sucked. Rerun and his schtick from What's Happening got old, fast. Diff'rent Strokes? Yeah, right. Stroke this! No, I spent my time playing pinball and video games, programming or hacking on my Atari 800, or reading the most obscure shit I could find in the public library.

Looking for this was my form of protest against the horrible books the school library had and the even worse books which normally made it to our assigned reading lists. Fuck Dickens. If he were alive today he'd surely be working as a freelance technical writer, pounding out eight pages where two lines would suffice.

In my search for obscure books I was led to Epictetus. I read The Manual and was struck by its insight and relevance. While I didn't know the philosophical terms "Prohairesis" and "Dihairesis", I did grok the content:
Lead thou me on, O Zeus, and Destiny,
To that goal long ago to me assigned.
I'll follow and not falter; if my will
Prove weak and craven, still I'll follow on.
It was exactly this quote that came to mind as I sit for hours trying to install the new version of $OurBigApp. By Zeus I will get it installed, even if that means sweating in a hot room connected via VPN to a virtual server via Terminal Services.

I have the latest build of our spiffy new version 4. It's final beta. It still fights me every step of the way during installation.

I finally got it working... sort of. Enough to at least test a few functions. I fired up the client and watched as our hot-as-hell, super-cool, A-number-one, Super-Duper VERSION 4 software throwing up the splash screen with the old, giant version 3.X logo. In a shipping beta.

x-posted from HuSi, sans poll.

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.