Tuesday, February 27, 2007

ICA v10.0

As the dawn breaks anew over the thin computing landscape, Citrix admins awake with a tingle in their arms and legs. They know. Somehow they know. It's what sets them apart from your average server wonkie. They feel it.

A new ICA client has been released.

There's actually a couple new releases. There's one specifically for Vista, and then there's the one that most of us refer to as the Win32 client which should also work on Vista. There's also a new "streaming client" which is consistent with the new desktop application streaming product offering. Pretty cool stuff.

I'd love to give you more info on them, but as of this writing the admin guides have yet to be updated to reference the new version. Helloooo? Citrix?? Can you hear me?

So don't take my word for it. Be the envy of all your friends and neighbors; download the new ICA client today! You won't be sorry. (But if you are, that's too damn bad because there's no docs to help you in troubleshooting)

Happy clicking!

Monday, February 26, 2007

Customers to Dell: "Give us Linux, Dammit!"

Here's a fun story that my brother sent me this morning.

Apparently Dell opened a customer feedback site. Now while this is pretty astounding by itself, even more surprising is what the top 5 requests are.

1. Pre-install Linux
2. Pre-install Open Office
3. Native Linux Build - basically the same as #1
4. No extra software installed (I really hate that crap too)
5. Install Firefox as the default browser

I think it's coming down to this. I don't think people are sick of MS necessarily, but people are getting smarter and more tech savy. At the same time, Linux is now much more than a command line. It's robust, very flexible, and pretty easy to use. Add to that the fact that more and more companies are writing software to run on Linux and you've got good recipe for a supportable software platform.

As a result, people aren't as intimidated by it as they once were and are willing to explore it as an alternative to Windows. To that I say Fuck Yeah!

What does this mean to Citrix?

Disclaimer: I don't work for Citrix, so anything I say about them is pure speculation on my part and probably a lie. Do your own homework.

For a long time the Windows platform has been the bread and butter for Citrix both on the server and client side. Of course Citrix already has a Linux client, but if they want to keep their head in the game they need to start paying more attention to where this thing is headed. They need to start putting some resources into rounding out their product offerings to include better than average software on the Linux side of the house - especially on the server platform.

Ideally, you could run a mixed farm of Windows and Linux servers and access applications from most any OS though Web interface. You could be running Gimp and Paint from the same farm. We're talking sick integration here, people. Stuff that today would only be allowed in Massachusetts and California.

Will it happen? Who knows. Remember that Microsoft owns terminal server, and the two companies are in bed pretty closely. It would be interesting to see what kind of pressure Microsoft puts on Citrix if they were to start offering a Linux suite.


Wednesday, February 21, 2007

Dear Microsoft, Suck it.

In case you haven't heard, DST is the new Y2K. That is, the hysteria once owed to the Y2K bug is now circling around the Daylight Savings Time bug.

You see, this year our esteemed government has decided to change the daylight savings dates around a bit. Of course, the typical PC with the typical operating system wasn't invited to that meeting and knows nothing about that decision or the impending collapse of civilization that will come from it.

In a mad rush to save us all from the inadequacies of their own products, Microsoft has released some patches to head off this calamity at the last minute. Swell, right? They only knew about it since August 2005. It's not like we server wonkies have anything else to do, right?

Well, they're only releasing patches for the newer OS's. That's right. Bastards. Oh, because no one in their right mind would still be running Windows 2000, right? That is so, like, old and stuff.

Well, I have news for you Microsoft. Your track record of stable OS releases is less than stellar. Hence, many companies have taken the wait and see approach so that they don't have to devote copious resources to keeping their environments running. So even though they're not on the most fashionable release of Windows, their stuff works and they get to do a little business on the side to keep the lights on. The point is that there are alot of legacy servers out there that are humming right along.

But that's not okay by you is it? You can't get any license revenue if folks don't constantly have to upgrade their stuff. So instead you publish a knowledge base article that outlines the slew of registry updates that have to be made just to get your stuff to work like it's supposed to. (http://support.microsoft.com/kb/914387/en-us).

In a situation such as this, Microsoft should step up and own the fix for their products, legacy or no. It's naive to think that everyone has moved on to Windows 2003 when 2000 is still a viable solution for many companies. Based on the scripts for updating Win2k that are listed on the above site, it would take slightly more than a gorilla to compile those into an MSI or MSP.

I wish I could run a company where the business model was, "screw the customers". It would sure make things alot simpler around here.

Tuesday, February 13, 2007

Server Uptime Script

The thing that you have to understand about J & E (former coworkers) is that they can script a sunny day. Script demons these guys were. Me? Yeah, not so much.

So as you might imagine, I was actually quite pleased with myself when I wrote my first vb script to pull server uptime. Of course it shelled out to uptime.exe and was very basic in it's functionality. My gleee was short-lived as J was quick to inform me that only people without penises shell out to stand alone exe's to accomplish tasks.

Alas, with J & E gone it has fallen on me to script things as needed. This is pretty scary when you consider the size company I work for and my relative skill set when it comes to scripting. The flip side is that it's given me a chance to improve.. which is coolio. So today I crafted a script that is pretty handy for pulling server uptime.

It's still pretty basic, but is flexable enough to use logic against the uptime value. i.e. if a server has been up too long, reboot it. Is it the most efficient code? Oh Hell no. E would probably crap a brick if he ever comes across it. Instantiating objects over and over again was one of his pet peaves.

Still it works, and my shabby development skills definitely allow for you to improve it when you steal it for your own use and claim to your manager that you came up with the idea. Hey it's cool; I know how it works. There's one guy in the world who actually knows how to write code, and he posts to the internet. Everyone else downloads, plagurizes, and re-posts it somewhere else. It's the great circle of life.

So here ya go.

'Try this in Production first. Just for grins.
'// USAGE: cscript.exe uptime.vbs (duh)

option explicit
Dim strComputer, thefarm, aServer, intsystemuptime, objWMIService, colOperatingSystems, objOS

'// Get the farm 411
Set theFarm = CreateObject("MetaFrameCOM.MetaFrameFarm")
theFarm.Initialize 1

'// If this doesn't work we're screwed so exit
if Err.Number <> 0 Then
WScript.Echo "Can't create MetaFrameFarm object"
WScript.Echo "(" & Err.Number & ") " & Err.Description
WScript.Echo ""
WScript.Quit Err.Number
End if

'// Loop through the server name
For each aServer in thefarm.servers

'// set the hostname based on where we are in the loop
strComputer = aServer.servername

'// Compensate for small penis and crappy coding
on error resume next

IF not strComputer = "" then
wscript.echo "Checking " & strcomputer
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")

'// Will error if the server is offline. You might want to know about that.
if Err.Number <> 0 Then
WScript.Echo "Something is jacked up. "
WScript.Echo "(" & Err.Number & ") " & Err.Description
WScript.Echo ""
End If

Set colOperatingSystems = objWMIService.ExecQuery _
("Select * From Win32_PerfFormattedData_PerfOS_System")

'//Nested For loop to enumerate the objects in the collection, yo.

For Each objOS in colOperatingSystems

'\\Get the number of seconds and divide by 3600 to get hours
'\\set as an integer because decimals are for nerds!

intSystemUptime = Int(objOS.SystemUpTime / 3600)
Wscript.Echo strComputer & " has been up for " & intSystemUptime & " hours."
wscript.echo ""
Set objWMIService = nothing
Set colOperatingSystems = nothing
End If

Monday, February 12, 2007

Resource Manager Web Interface

It's no secret that the resource manager summary database, while robust and filled with wholesome goodness, can be a pain in the ass to deal with. It's gotten better with the introduction of report center in PS3 and PS4, but it's still pretty basic. On several occasions, I've asked Citrix about this, and the response has always been, "It's all there, just write a query."

Fair enough, but if you're like me you don't really have time to devote to doing sql and asp.net development just to provide some useful metrics to some assclown manager. Fortunately if your name happens to the Jason Conger, you're nothing like me. In fact, I would wager that you're a fair bit smarter because this is exactly what Jason has done.

Enter Web Interface for Resource Manager. Just like it sounds - it's an easy way to pull meaningful data from the RM Summary Database and display it in a simple graphical format. Wow. Truly a deeper shade of soul.

Just to be fair, one of the managers at Citrix did author a similar tool a couple years back that was asp based. It's good, but it's not on the level with Jason's. I think it can still be downloaded from the Citrix website if you want to compare.

J turned me on to his website at www.jasonconger.com. Kudos to JC for a job well done. He's got some other cool toys for you MFCom code junkies out there too.

Tuesday, February 6, 2007

I hate web applications.

The problem with publishing a browser in Citrix is that it becomes very difficult to control what the hell these tards that call themselves users are actually doing.

Case in point, we have a slew of applications on our intranet that are accessed via a central login provided by websphere. Hence to access any one of them, a user needs to log in to the main page first. So it's just about impossible to limit what these wankers can get to since they all have the same launch page to get there.

So as one might imagine we're having performance problems with a web app. Surprise! Of course as we all know, some crap application going bulimic on system resources is always a Citrix issue. Oh right, because the chance of some half-cocked web application having problems is far and remote! Never mind that it was written by some 2 dollar outsourced developer who could likely not even spell "Terminal Services" much less write anything to run on it.

Like any other homicidally frustrated system admin, we went back to the original business group who absolutely had to have the application published or the company would never make another dime and we calmly said to them, "Hey, your shit is broken."

Then we said it again.

...and again.

...and again.

(you get the idea)

Finally, I consider taking a hostage when I receive an email from one of these business whelks saying that they have no reason to believe that the application is causing performance issues.


How about the edgesight reports (great product, btw), screenshots, perfmons, and RM reports we sent you? How about the 15 years of experience I bring to the table that might lead me to believe that perhaps I would be able to spot a problem application when it repeatedly projectile vomits all over my damn servers? How about because I friggin say so?

Sometimes it's not even worth bringing the KY.


Friday, February 2, 2007

The very first post!!

Hi Folks,

Citrix guy here. And yes, this is the first post. You found it. Lucky friggin you.

Normally, the first post is reserved for fruity little blitherings about who I am, what I do, things I like, and other little factoids to help you get to know me.

Well screw that. I don't really care if you know me, and honestly it's probably better that you don't. I'm kind of an ass hole sometimes.

So on to the Citrix stuff. It's been a week from hell. Our normally stable environment has been riddled with stability problems. All of which have landed squarely on my lap. There's nothing better than some tard of a manager on a crisis call trying to tell you how to do your job. Yes please yell at me some more and then ask me again if the server has been rebooted.

The diagnosis is easy enough. It's a ticketing black hole. The ZDC logs show that some LLS ticketing request crapped out. Then low and behold Web Interface requests start to queue up on the xml broker and pretty soon things start to break down into dung.

The problem is that I'm probably too dumb to figure out what is randomly causing my Metaframe servers to take a dump when trying to issue tickets. It's one of those things that is going to turn out to be exceedingly simple like setting the "GOCOMPLETELYTOSHIT" value to zero in the registry. Of course, I could call my friend J who would listen to the sound of the mouse click over the phone and determine that a .dll file was the wrong version on three of the servers, but that would be the easy way out.

J of course is smarter than me and no longer works for our company.