May 2012 Archives

Talk about your controversial start.

Yes, I do hate Cygwin. This is most likely due to two factors:

  1. I began my career as a Windows administrator.
  2. My first experience with Cygwin was not a good one, and was a very long time ago (1998!)

Far, far, far too often I see Cygwin used by Linux admins working on Windows machines for the first time. They get to the incomprehensible labyrinth that is Windows Administration, get all wide-eyed, start googling for ways to make it more comprehensible and leap on Cygwin with the glad cries of a drowning person sighting a boat.

And then start complaining up a storm when it doesn't work like it should.

Those installs are the ones I simply loathe, and it was just that kind of install that I ran into back in 1998. I had no idea what that was, and left it in there longer than I should have. These days if I run into in on a system I'm managing I uninstall it with vigor unless it is required to keep it.

There are legitimate reasons to use it. Not many, but they do exist. Such as integrating Windows into a majority-Unix environment because one key piece only runs on Windows and you're committed to a specific platform. In that circumstance, when used knowingly, and with analysis, it can solve key problems.

But that is not how I run into it.

If you're looking at Cygwin and think, AHAH! SSH for Windows! I'm saved! Keep looking. There are better and faster solutions out there that don't incur the configuration and performance penalties of Cygwin. Some of them built from the ground up in .Net. Cygwin is much, much more than just an SSH server, so using it just for that is overkill.

If you're looking for remote Windows management the same way you remotely manage Linux machines, Cygwin still won't help you. Windows Management, unlike Linux management is not all about files and attempting to make it all about files will lead to madness, pain, and heavy drinking. For that you want to look to platform-specific tools like WinRM. Did you know you that once you have WinRM set up right in a domain you can use Remote Powershell? Looks a lot like ssh, and is far more powerful. 

And if you're looking for actual file-level control on Windows, both Puppet and Chef now have Windows agents these days and they're well designed to do that kind of thing.

Cygwin has gotten a lot better in the 13+ years since I saw it first, but it continues to snare drowning Linux admins.

A client has just asked to move a maintenance window to some other time due to a sudden emergency. The in-house Project Managers, being the customer-service oriented people that they are, have just asked if it is possible to move the window to something less likely to get in the way. You are staring at the reply screen to the email.


A few people clustered around a table. The Herald of Duty has just departed, having delivered the demand that a decision needs to be made. A gavel sounds.

Bleeding Heart: Really? Well then. We'll move it.

Grumpasarus: For ****** sake, we had contractual a maint-en-ance win-dow for a ****** reason! ******, we took a quarter of what we COULD have! Tell 'em to ***** off and lump it. They were warned!

Schemer: Yeah, really. We told them four weeks ago and now it's a problem?

Slacker: Dude, I planned my day around that. Moving the work totally ruins my schedule

Voice of Reason: Well, it's a problem they have now and didn't know about then.

BH: Think about it! They don't know their emergencies four weeks in advance. It's not fair to them to have a problem only to have us unavailable. We owe it to them, it's the humane thing to do.

Grumpasarus: So ****** what? Not OUR problem.

Schemer: You  know.... if we play our cards right we just might get a special gift from the client. Hm.

Grumpasarus: Who ****** cares?? It'll just go to the PM's not us.

VoR: I point out that the PMs have been known to be effusive in their praise when we do favors.

Slacker: But moving the window means I'll lose sleep. It no workie for me.

Schemer: You know, if we push back a little now and then give in, the chances of something special coming our way get higher.

Grumpasarus: Really? Like what?

Schemer: Clients have been known to send us things like large boxes of chocolate, cases of beer, or comps to swank restaurants.

Grumpasarus: Looks thoughtful.

Slacker: DUUUUUDE! Loss. Of. Sleep. Hello!

VoR: You can take a nap later.

Slacker: But I was going to play Skyrim all day, if I nap I won't get as much!

Schemer: Did I mention the Chocolate?

But that's like, work and stuff. No, dude.

VoR: You'll nap less than the sleep you lost, so you'll actually get more Skyrim in.

Slacker: ... good point.

Schemer: Looks to the awaiting Page, We have come to a decision! We will push...

BH: Wait! This is the wrong course of action. You have to work with these people, and pushing back now will make you seem like you're hard to work with.

Schemer: And that means they have to buy me off. I don't see the problem with this.

BH: Then they won't tell you things.

VoR: And when they don't tell you things, you get cut out of decision loops.

Grumpasarus: For ****** sake just tell them to ****** lump it already. Or deliver the ****** chocolate. It's not like this'll get done without us.

Slacker: But that's, like, conflict and stuff. I don't like that.

Grumpasarus: ****** ****** you too? *******! Grow a ****** backbone!

Slacker: Not my job, man.

BH: Going along with this now will make us look reasonable, and willing to work around our customer's needs. Be a team player.

Grumpasarus: ****** team player. We ****** told them ****** four weeks ago that we'd ****** take the ****** system down. They can ****** well bend over and take it. We notified them! This window is in the ****** contract they ****** signed and ****** well didn't read.

VoR: I remind you again. When the notice for this outage went out, they didn't know about this problem. And secondly, the contracted window is much larger than the one we gave.

Schemer: I still say we should push back a little. This is last minute, there should be some costs.

Grumpasarus: ****** right there should be!

BH: Pushing back makes us look hard to work with.

Schemer: I really have to council against blithely rolling over on this one. We don't want to get to a spot where others can dictate our schedule. It'll mean dark-of-night for everything.

Slacker: I hate that!

Schemer: I know. And as we're East Coast and have West Coast clients, it'll mean morning outages not late-night ones.

Slacker: Duuuuude. No.

Schemer: I know. They do need to be made aware that this is not a trivial sacrifice on our part.

Slacker: Sleeeeeep! Skyrim!

BH: They already are aware. Look at the email. See? They know.

Grumpasarus: That's just ****** 'customer service' weasel-words.

Schemer: Hm, I'm not so sure. That sentence could go either way. I'm willing to be persuaded this once and see how it goes.

VoR: Fred has usually played straight with us in the past.

Grumpasarus: You're ***** serious??

VoR: Yes. Always.

Slacker: No. Uh uh. We gotta push a little. Make 'em think twice before asking to totally blow our schedule.

Grumpasarus: Better! Tell them to ****** off!

Schemer: No, we can still make some hay with this. Push a little, not a lot. Just enough.

BH: I really wish we didn't have to push back.

Grumpasarus: We don't ****** have to. We just tell them ****** no. No pushing, just ****** standing our ****** ground.

Slacker: I, uh, don't want to say no outright. It'll get us in trouble later. So kinda no?

Grumpasarus: For ****** sake, grow a ****** backbone you ****** lazy ****** ****** ******. ***** this.  Stomps off in a huff.

BH: Points at the retreating Grumpasarus. That's an abstention!

VoR: I agree.

Slacker: Turns to waiting page, We have a decision....

To: Fred Gerkin
Subject: RE Pushing the maintenance window

Hi Fred,

We warned 'em, but I do understand emergencies. I had plans, but I'm pretty sure I can get them moved. The new window will be 4 to 7am. I'll let you know if I can't flex my plans.