Tag Archives: Pain

My day with Windoze – or, how to trigger a stroke

If Windoze VISTA was a car.
I’ve said it for decades. Windoze stinks! Horrible, horrible stuff that keeps lots of unfortunate geeks (I mean unfortunate that they have to deal with it, not that they have jobs) busy.

Sure, there are lots tens of cases where Windoze machines have stayed happily running unattended for hours on end. Sadly, it’s not the norm.

My professional career has been carefully crafted to limit my expose to such software, however yesterday my careful maneuvering to avoid direct interaction with a Windoze system was subverted by a high-priority work project. Being the ‘big cheese’ in IT, I decided to avoid the inevitable lamenting from my team and tackling this task myself. I tesitmated it should have taken an hour or so of my time to complete, no big deal.

No….. big….. deal…. right. Here are the redacted entries from my task tracking system. The project name has been changed to protect the innocent, the remainder of the details remain pertinent. Keep in mind that these are my self-edited comments, the actual barrage of what some would consider offensive language (such as the word, VISTA) was quite a bit more verbose.

The start of it all, after having another piece of hardware originally proposed, declared unsuitable due to restrictions on virtualization by the software vendor.

Comment 8 :: 2011-11-16 09:55:32 PST

Additional hours worked: 1.0

Windoze compatible box sourced. Vista installing now. Will configure to VLAN
once that is deployed, will turn on a firewall and punch out just those ports
we need for this thing to work (another hour of my time spent on this).

Things seemed to be going well. A shrink-wrapped 32-bit copy of VISTA was dropped into the CD-DRIVE. Issues with getting the American Megatrends BOIS to read the ‘DEL’ key on my USB keyboard turned out to just be the tip of the ice berg. A harbinger of doom. Why does all this commodity hardware so massively suck?

What is missing in my commentary was an hour long fight to get VISTA to recognize a simple RealTek NIC. Now, the OS understood what it was, but the horrible M$ network driver could not work with it.

Thank goodness I had a MAC handy to access the outside world, hunt down the driver and place it on a USB drive for install onto the new machine. It sounds simple, however VISTA seems to have some built in requirement to install everything at least 3 times before it actually works. After some grunting and a trip to the break room for a fresh bucket of coffee, I embarked on the most frustrating part of the entire experience. Trying to install M$ .NET 3.5 Framework and Service Pack 1.

After almost two hours of fighting with the BIOS, setting boot to the CDROM drive and getting a SIMPLE network driver installed:

Comment 9 :: 2011-11-16 11:50:57 PST

Additional hours worked: 1.75

I have tried 3 times now to get the .NET 3.5 SP1 to install, but there seems to
be some network issues with the M$ server(s), and it times out after about 35
of the 39 MB (I have verified that our network speed is perfectly fine). I
might switch it over the the backup network and try it there if it keeps
failing, worth a try.

The vendor software has been downloaded and copied to the new machine’s
‘downloads’ directory.

At one point during the attempted installs, I had two messages on the screen. On saying there was an error encountered during the installation (no indication what that error or situation was… debugging? Pffft. I guess trying to debug software that *is* a bug is an oxymoron), but stacked above that error dialog was another saying the software was properly installed and I heeded to restart the computer. Turns out, that the first dialog was correct.

Comment 10 :: 2011-11-16 13:39:26 PST

Additional hours worked: 0.75

dotnetfx35setup.exe has failed 3 times now. In the last failure, it shows
“Install Stopped – Error Occurred” in one dialog, and in an overlapping dialog
shows “Restart Required to Complete Installation”, at which point I rebooted,
restarted and logged back in, restarted the vendor software install and it
said that .NET Framework 3.5 was required, and asked me if I wanted to install
it (again..). I replied NO (because I don’t want to). Went looking for the
actual file on the MS site and will try that. Also found the ‘full’ version
(which is about 100 times larger than the one it wanted to auto-install), and
will give that a try too. It’s amazing anyone would still buy M$ products
after VISTA.. this thing is a real pile…..

To at least have a fighting chance against compromise, I’m installing SP1 for
Vista. This will take at least 1 hour (according to the install manager).
It’s unlikely that the vendor software will be installed today, since I
still need to find some way to make it install the .NET 3.5 Framework (4th
times a charm running a full product install, maybe?)

Having failed to successfully install .NET in several different ways, I decided that perhaps first installing VISTA SP1 would somehow help. This was another incredibly frustrating undertaking, but this broke the mold and installed on the 2nd try. After several reboots and twice running through the ‘3 steps’ (why not just call it 6 steps instead of trying to fool people, or maybe the various engineering departments responsible for SP1 didn’t talk to each other and they had not idea their 3 parts where part of a larger set of parts? Who knows what goes on over there in Redmond.

Comment 11 :: 2011-11-16 15:12:38 PST

Additional hours worked: 1.75

VISTA SP1 install completed.

Full DOTNETFX35.EXE install attempt number.. who knows, but it’s not attempt
#1.

And finally, it seems to think that .NET 3.5 has installed. No errors, no
restarts, no conflicting dialogs. I guess you have to be insane to use
Windoze, because doing the same thing over and over and over and over again and
expecting a different result IS expected. This really dose explain at lot
about modern society… if this is somehow ‘acceptable’ and ‘expected’…
well.. I guess monkey see, monkey do for PC users.

Oh.. how naive I was. Following the successful install of .NET 3.5, and then
the download and install of .NET 3.5 SP1, the installer indicates that .NET 3.5
was *not* successfully installed (despite what the installer noted just a few
minutes before) and .NET 3.5 needs to be ‘repaired’ and returned to it’s
‘original state’. Basically, the fresh install was bjorked. I’d just ignore
.NET 3.5 SP1, except the vendor software installer specifically looks for
SP1 and will force install. Of course one could just not install the vendor
software and go on with life, but that’s not an option for this project.

Re-running the SP1 updater yet again, and now it want’s to download another
20MB file, which is very slow to download from M$. But now that it’s
downloaded and that install is starting up, perhaps there is once again, reason
to hope.

My insanity has paid off! At least there is no a .NET 3.5 SP1 install
successful message on the screen.

Issues with the bizarre way the vendor software installs (it actually makes
the VISTA install seem sensible) it *seems* to be telling me that it’s
installed, AND there is an application hot link on the desktop to a Product Monitor.

I have shut the machine down and will be passing it over to the Senior Sys Admin for
configuration and installation within the VLAN.

At no time in the last 6 years working with ‘difficult’ open source LINUX distributions have I ever had this much trouble, frustration and time wasted on a computer. A simple computer, designated to run just one software package.

When people say the TCO of Windoze is low (which is of course a lie), they must not have taken into account actually having to INSTALL and patch the OS it self. I can’t imagine what fresh hell this thing will be in our organization. Hopefully locking it in our dmarc room, on it’s own private network will keep it from causing too much chaos. Although I will have to present a written apology to my Sys Admin group for inflicting this upon them.

UPDATE!

My senior Systems Admin just sent me this message regarding the VISTA box I abandoned yesterday at 15:45 while it was (as it said) 1/2 way into applying some un-requested updates.

Thursday, November 17, 2011 10:32
The updates are still running on Windows box. […]

That is really impressive. This install is now bumping up against the 24 hour window.

ANOTHER UPDATE – November 20, 2011

After two days of dealing with Windows VISTA (arguably the worst from M$ yet, and that’s quite a heavy indictment), we pulled the plug on it, spent $300 for a crappy commodity computer with Win7 already installed, applied the patches and plugged it into the network.

VISTA… wow.. I knew it was bad, but I didn’t know it was THAT BAD! I’m going to tell the CTO that we should tell M$ we want a refund for that pile of junk.

CIDR notation – Living in Net Block Hell

CIDR… what is CIDR? No, it’s not something you drink. Although, given enough exposure to it, It’s something that makes me want to drink (hard) cider. Be that as it may, it’s an important part of my job, de-cidering, I mean, deciphering these cute little buggers.

So.. just what does a typical CIDR notation IP block look like? Well, it looks like this:

67.213.31.0/26

Now, you might be asking yourself, what, why and who cares? So, to answer your questions:

What:
Well, it’s a CIDR block dumba**, that’s what we’re talking about here. Oh.. what does it mean you might really be asking me. It means: Classless Inter Domain Routing. Or, in layman’s terms, it’s like a sort of Internet Zip Code, a method of sub-organizing the massive worldwide IPv4 addressing system (which amounts to approximately 4,000,000,000 addressable ‘systems’, not counting those massive blocks that are set aside for private network use, such as the infamous 192.0.0.0/24.

Why
Well, there is a good question. In the early 90s it became apparent that the number of free IP addresses would be depleted. The total number of IPs was large enough then, but because of routing issues, they could only be used in blocks. Now, those that are even slightly in the know, know, (heheh) that that entire pool of IPs is projected to be exhausted in early 2011. Yeah… that’s right, NEXT YEAR! But, IPv4 and the new IPv6 that supersedes it is another discussion for another time. Right now, were talking about Cider!, uh CIDR! So, trying to get back on point, the use of these CIDR blocks was a way for routing tables (in those things they call routers, imagine that) to store and organize large pools of IPs, or small pools of IPs as one might see fit.

Who Cares?
Anyone that deals with internet IP infrastructure cares. Now, since it’s my business (what I’m paid to do) is watch the ENTIRE Internet to make sure that:

  • DNS (oh.. dont’ get me started) works for corporations large and small. And yes, DNS hijacking is real, it happens, but not only that sometimes they are corrupted accidentally, and people like me designed the software the keeps track of that.
  • I’m able to do other things with this data that I can’t talk about, period. So don’t ask.
  • And, last but certainly not least, it’s just how us geeks communicate. So be it.

Now, why is it a pain in the ass? Well, simply, I need to accurately decode these CIDR blocks into IP ranges (what I do with them is a classified trade and operational secret, so don’t ask, I just need to do this). And to do so requires MATH!. Math… nothing wrong with Math, but it’s math that is to computationally intense for me to do it in my head. Primarily because it’s based on bits, 32 to be exact. Bits are those nasty little binary components of the real numbers the rest of you common mortals pretend you know what you are doing with.

I’m not going to try to explain why routers care about CIDR, I’m only going to say ONE of the things I care about most, re: CIDR blocks is getting the actual (true) IP range values from that short-hand notation.

So, let’s take the fictitious example I displayed before (67.213.31.0/26). I don’t know whom off the top of my head (I have databases to do that sort of stuff for me) that CIDR block might belong to (and it might belong to more than one organization), but let’s pretend that CIDR (the one I picked out of thin air) is relevant.

First things first.. we need to know what the block notation of 26 means, so we’ll start there. This part is called the ‘Network Prefix’. It signifies the number of bits (from the left) that identify the starting point of that network block. In this case, the first 26 bits determine the NETWORK and the last 6 bits ( 32 – 26 = 6 ) the HOSTS that are within that NETWORK.

So.. taking that number, 67.213.31.0 :

  • 01000011.11010101.00011111.00000000
  • and knowing we need the first 26 bits, which would be:

  • 01000011.11010101.00011111.00------
  • The starting address point is.. ta, da! 67.213.31.0
    uh.. OK.. so that’s not super illustrative.. but do the math anyway.

    OK.. next.. we know that we have a block of 6 bits to play with, starting at ‘0’. so the range is:
    .00000000 to .00111111

    Now.. doing that big of math we get (drum roll please…)

    0 (where we started in that net block) up to 63 (which is what 111111 binary means in base-10.

    THUS:

    The IP range calculation for this 67.213.31.0/26 is:

  • 67.213.31.067.213.31.63

    Now.. don’t you feel a little enlightened?

    Maybe next week, if I’m in a good mood, I’ll write a CIDR translator program and post it to my blog, but don’t hold your breath, unless you want to PayPal me a a $1000, then I’ll do it this weekend.