Microsoft is not good at software

“No shit, Sherlock”

All I’m going to complain about at the moment is Task Scheduler, and how I can run a PowerShell script if the script is on the local C: drive, but if the script is on my H: drive (which is on the network) then it’s no longer PowerShell, it must be ImpotentShell and should thus fail.

Apparently networks scare Microsoft?

Task Scheduler will attempt to launch it, with the target being powershell -File H:\blah\foo.ps1

But that run of the task will fail with the result code 0xFFFD0000

The only change I made to the Task Scheduler was to change the target path from -File H:\blah\foo.ps1 to C:\blah\foo.ps1. Now the script runs, where it failed before.

I find the whole attitude of “well, the network is so fragile that we are going to fail when we to try” moronic. The freaking machine this script on is a VM (a file) loading across the network you dolts.

But no…. We can’t have a PowerShell script on a network share. Network shares were invented 39 years ago – there’s no way that Windows can rely on tech that bleeding edge and unstable. So now I have to build stupid shit file synchronizing routines to keep changes made in the official repository up to date with the stupid copy on the stupid C: drive.

Please, Microsoft, keep working on Windows 11. Moving the start menu to the center of the screen is so important.

Also: why on the Lord’s Green Earth is the Task Scheduler All Running Tasks dialog box a fixed width? Wasn’t Windows 3 like, twenty years ago?

Man, I wish I could retire from this job.

Microsoft as bully, yet again

Personally, I think that people have the capacity to be both humble and bullies. But it is a conflict, and, some people think they are being helpful when actually they are bullying. “If only you did things my way, and then everything will be better” says the bully under the delusion of being helpful.

Recently, Microsoft pushed out an update to Windows 10 which adds a “News and Interests” widget to the Windows task bar. You don’t get a choice; it will be installed whether you want it or not. You can turn it off after the fact, of course. But what the person at Microsoft behind this change does not care to hear is that I didn’t want to be violated in the first place.

All it really does is remind me that I don’t have control of this machine; Microsoft does.

Thanks, Microsoft. I already dislike you, but, I hadn’t gotten a recent reminder of why.

“What’s the big deal‽‽‽ It’s just a little thing. I was being helpful and making your life better” says the bully. Yeah, no. I hear what you are saying, and I see through the deceit (conceit) that this is somehow for my good. It is not. It is an ego stroke for yourself and nothing more.

If it were really for my good, it would be turned off by default, and not installed by default. Microsoft could say “we added a new feature, if you want”, and I’d be fine with that. But pushing it without permission tells the truth of the act.

Microsoft fouled up when they got rid of gallery.technet.microsoft.com

In the real world, people like to find solutions and then link to the solution as a form of documentation. It is a way of being helpful. I can feel good about myself if I help you out (or at least I’m trying to help you out). The result is that there tend to be a lot of forum discussions and blog posts that have a link to a gallery.technet.microsoft.com script that solves the problem.

As solutions go, gallery.technet.microsoft.com was a great idea. People write a script, that script works, so the author donates it to world at large by publishing it (free of charge and disclaiming all complaints about damage). Microsoft benefited because if you knew nothing else, you knew to go search there for possible help. If I’m trying to solve a problem, and I find the solution on gallery.technet.microsoft.com, then I’m helping if I tell people “here was my problem, and I found the solution: foobarbaz at gallery.technet.microsoft.com”

Unfortunately for us, someone at Microsoft felt the need to push the world into complying with their grandiose idea: “Let’s get rid of Technet and replace it with docs.microsoft.com !”

This was a terrible idea.

And no-one at Microsoft was grown-up enough to stop it.

So now, the world wide web is littered with broken links to solutions that used to be helpful, but now go to https://docs.microsoft.com/en-us/samples/browse/?redirectedfrom=SomethingThatUsedToBeGreatButWeKilledIt

I don’t know what they were thinking, but it was probably someone wanting to pridefully change the world to comply with the way they thought the world ought to be. All they really did is break a previously good thing.

TIFU

I know I’m a bit of an ass, but this has been tickling my funny bone ever since Microsoft Teams suddenly appeared on my workstation and started automatically launching itself (uninvited):

This is the splash screen that shows for a little while, as the machine finishes starting up, and Teams wants to let you know that it is loading.

Anyone else see (with perhaps a bit of squinting and imagination): TIFU

? 🤣

Search for the acronym TIFU.

Microsoft the abusive boyfriend rehashed

As I mentioned before, I intensely disliked Microsoft under Bill Gates and Steve Ballmer. That post was a record of six times that Microsoft shipped code to fuck over you and me, if you were a customer of particular Microsoft partners. I should have included IBM OS/2, which was another case way back when.

Actually, since then another one popped up. Microsoft shipped code to all their partners for quality assurance testing – everything worked fine – and then at the last minute, they made a change and shipped. The monthly updates then happened to “accidentally” wipe out the user’s ZENworks configuration, with less than one week’s notice.

But I want to go back and rehash the underlying problem.

Microsoft won.

It won by beating your daughter for looking at another guy.

What type of morality did Bill Gates and Steve Ballmer maintain, that it was acceptable to them to ship code that deliberately fucks over their customers who happen to also be customers of other companies?

Some of those companies were actual partners, too. I remember hearing management at Novell saying “When it comes down to it, we are a Windows software publisher.” The bulk of their products were MS Windows applications and the systems to wrangle them.

That Microsoft would backstab it’s partners was my point about LIM EMS. LIM = Lotus, Intel, Microsoft. EMS = Expanded Memory Specification. The original PC’s had very real memory limitations. There was a desperate need for machines to have more memory, and for programmers to be able to access it. So Lotus Development got together with Intel and Microsoft, and they hashed out a spec that programmers could use. They published the spec. Programmers (including the programmers at Lotus) started writing to the spec.

Suddenly, your spreadsheet could have more than 80 rows and 10 columns.

If you were doing a lot of “what if” calculations back then, the memory constraints that 640 KB imposed on you were huge. Everyone needed this problem solved, if the Personal Computer wasn’t going to remain an expensive toy.

The Personal Computer went from a toy to a useful tool. Everyone won. Intel sold more chips, IBM, Hewlett-Packard, Compaq, PC’s Limited (later became Dell), Gateway 2000 – they all sold computers, and Microsoft sold a license to DOS with every one of them. Lotus sold a copy of 1-2-3 to 90% of the PC buyers, because that was the point.

Sure, the “what if” calculations had been done for decades: by hand. It was a miserable process. Suddenly, “what if?” was done in minutes, and then seconds, and then milliseconds!

Maybe I need a $5,000 loan, and the bank will let me borrow and pay it back over 60 months at a 10.5% interest. What if I can come up with $300 so I only need to borrow $4,700, and, pay it back over 63 months instead? Do I save money? What does the monthly payment look like?

What about paying $4,700 back over 60 months, but paying an 11% rate? Do I save money? What does the monthly payment look like?

By hand, the formula is Principle + Interest – Payment => Balance. The next row’s Principle is the previous row’s Balance. A five year loan is “only” 60 rows. A 30 year mortgage is 360 rows. How much did it cost you? Sum the Interest column. Yes, you can do it by hand. But it is drudge work.

Lotus 1-2-3 made number crunching magic happen. Microsoft benefited from vastly expanded PC sales.

And then Microsoft saw you spending money with Lotus. You’re looking at another guy, and, spending money with him.

Time to pick a fight, beat your face, and strangle your neck. Or in Microsoft’s case, change the rules by shipping changed code and (surprise!) crashing your program.

“But, baby, I wouldn’t have to beat you up if you didn’t spend with other guys! I love you so much! It’s your fault that I care so much.”

Or, cutting away the bullshit, Microsoft was evil. Harming it’s customers so that it could destroy it’s competing partners was always on the table.

And eventually, Microsoft won. Or are you still using Lotus 1-2-3 today? OS/2? WordPerfect? NetWare?

The Helm email server – now blocked by Microsoft

This is an automated email from your Helm Server.

I'm sorry to have to inform you that your message could not
be delivered to one or more recipients. It's attached below.

For information about why this might happen visit our support
article here: 
https://support.thehelm.com/hc/en-us/articles/360024507754
                  Helm 

<tccof@hotmail.com>: host hotmail-com.olc.protection.outlook.com[104.47.9.33]
    said: 550 5.7.1 Unfortunately, messages from [35.162.166.161] weren't sent.
    Please contact your Internet service provider since part of their network
    is on our block list (S3140). You can also refer your provider to
    http://mail.live.com/mail/troubleshooting.aspx#errors.
    [VE1EUR03FT024.eop-EUR03.prod.protection.outlook.com] (in reply to MAIL
    FROM command)

I don’t know who is at fault here. On the one hand, I’m sympathetic to the problem of spam. I am an email administrator, after all.

And by the way, it used to work. Last time I successfully sent mail to the same guy was on May 7th. So the change has been within the last week.

If Microsoft really is getting spam from 35.162.166.161 then I can’t blame them for blocking it.

On the other hand, the link they provide says essentially “sign up with ReturnPath, Inc, and we won’t piss on your head any more”. I have no idea how much an investment Microsoft has in ReturnPath, nor do I know what ReturnPath’s revenue model is.

I do not know how many IP addresses Helm uses for their outbound mail. It could be just the one. If that’s the case, I’m screwed. If they have multiple, then they need to figure out who the bad actors are, and move them. Bad guys over there, good guys over here.

That assumes that there are bad actors. I don’t know that spammers would actually go to the expense of buying a Helm email server. It wasn’t inexpensive. To just send spam, I could hire a cloud mail server far cheaper. But if someone is stupid enough to think they can make money sending spam, then maybe they are stupid enough to think that the Helm service would give them a pass. And if they did, and Helm doesn’t try to scan and block for such a thing, then yeah, it could be that I side with Microsoft here. I’d hate that; but I’d have to admit that they are on the correct side of the problem here.

35.162.166.0 is Amazon, of course. Helm is sending the mail from AWS. Of course, the Amazon model is that they will sell their services to anyone; including dirty filthy spammers, may they all get Covid-19 and expire painfully. If Amazon has lumped the Helm customers in with their spammer customers, then there may be nothing Helm can do about it.

But then, I have no way to know if Microsoft is simply pissing on email senders for using AWS. It wouldn’t be the first time Microsoft sabotaged customers for using a competing product. Is this yet another example of “DOS isn’t done until Lotus won’t run“? Does Microsoft happen to be running ads now, with a picture of a crash helmet, and the caption “Wouldn’t you rather host your email with a cloud provider that isn’t on ReturnPath’s block list?”

Anyway. I’ve moved most of my email over to the Helm email server, and now it’s turning out to be a bad thing. Perhaps my corporate overlords are trying to punish me for straying from their cage.

How Microsoft is like an abusive boyfriend

Disclaimer: this is my opinion only, and is worth every penny you paid me for it. 😉

This weekend, the organization I work for is moving 1/2 of us off of NCP (Novell Core Protocol) file servers, to Microsoft CIFS (Common Internet File System) file servers.  I’m in the testing group. Windows Explorer, showing me file shares, is noticeably faster.

My boyfriend has decided to stop beating me.

I no longer have that other boyfriend, Novell, so everything is nice now, right?  My Microsoft boyfriend is happy now, he no longer needs to beat sense into me every night, for keeping up that relationship with that loser, Novell.

I’ve been doing computers for a long time; what follows are five times Microsoft shipped code to put the hurt on me and my users, for having the gall to also be Novell customers.

  • IFSHLP.386 and the anti-virus demo
  • Windows 3.10 –> Windows for Workgroups 3.11 setup.exe
  • Windows 95 Get Nearest Server
  • Outlook access via MAPI of a GroupWise mailbox
  • Windows 2000 network multiplexor

This phenomena is not new, in fact, someone came up with a clever phrase: “DOS isn’t done until Lotus won’t run”.

This refers to an incident where Microsoft shipped a new version of DOS that implemented LIM EMS (Lotus, Intel, Microsoft Expanded Memory Specification) differently.  Lotus had 1-2-3, the first “killer app” – the spreadsheet – and Microsoft wanted all that money.  They were just shipping Windows, and because it was graphical, it was slower.  In speed tests, Lotus 1-2-3 calculated faster than Microsoft Excel inside Windows.  So Microsoft shipped a new version of DOS, with LIM EMS that implemented memory access on word boundaries, instead of byte boundaries (or something like that).  The upshot is that before, you could install DOS, install Windows, install Lotus 1-2-3, and everything ran fine.  After, with the new DOS, when you went to launch Lotus 1-2-3, Windows immediately erred out with a big ugly GPF (General Protection Fault) due to illegal memory access, and a dialog box that told you you should contact your vendor (Lotus) for a version of the program that doesn’t crash Windows.

At the same time, Microsoft was running advertising in all the trade publications, with a picture of a jet fighter pilot and his crash helmet.  The subtext of the ads were “You should get your spreadsheet for Windows from the vendor who wrote Windows.  Less crashes that way” (something to that effect).

This was essentially the first big evidence that Microsoft was the jealous boyfriend who would beat his girlfriend (you) who also dated someone else (Lotus, in this case).

IFSHLP.386 and the anti-virus demo

Installable File System (IFS) Helper, for the Intel 386 architecture, background here: https://en.wikipedia.org/wiki/Installable_File_System.  This was an idea that programmers ought to get to the file system via a standardized operating system call.  Prior to IFSHLP.386, software that needed disk access hooked into Interrupt 21 – and several pieces of software would need to hook on any one PC.

As this idea grew, Novell asked Microsoft if they should get on board.  Of course, they said.  Hooking into the file system to provide storage over the network was what NCP did – it’s reason for existence.  You installed the Novell client software stack, you logged in, and now your PC has a drive E: where it didn’t before, and that drive E: was now on the other side of the network cable.  Novell was the perfect candidate to be an installable file system.

As this idea grew, anti-virus software vendors asked Microsoft if they should get on board.  And Microsoft told them: No, Interrupt 21 will always work, you can count on it, and there is no reason to make your life more complicated by mucking around with installable- this, and dynamic- that.  Just hook into Interrupt 21 like you always have, and things will be fine.

After a while, the IFS idea grew, and shipped, and was promoted as a generally good thing.

And then, Microsoft held a press conference.

They put a virus on a PC, and ran various partner’s anti-virus on the PC.  They all found and cleaned the virus.  They put the virus on a Windows NT file server.  As soon as the the PC accessed the file (going through Interrupt 21), the anti-virus software triggered and protected the PC from the virus on the network file server.  And then they put the virus on a Novell NetWare file server, and accessed the file.  The virus was not detected, because the Novell software stack on the PC had been configured to use IFSHLP.386 to get to the files on the network!  Microsoft made a huge deal of the fact that if you used Novell NetWare for your file server, you were putting your company at risk.  What a bunch of terrible programmers Novell were; they hid viruses from your anti-virus programs.

Thankfully, the computer press was aware of Microsoft’s abusive boyfriend behavior, and instead of flooding all channels of communication with “OMG! Novell! What a bunch of losers!”, they took a weekend off, and asked Novell to explain themselves.  The computer press confirmed with the anti-virus vendors the story about IFS versus Interrupt 21.  Novell agreed to to re-add the Interrupt 21 support they had dropped in the presence of IFS.  So then the computer press either didn’t run the story, or, ran the story of the anti-virus demo with the caveat that Novell promised to support the older access method in the future.

Windows 3.10 –> Windows for Workgroups 3.11 setup.exe

Back in the day, we used to move PCs around a lot.  Also, there was a saying “The 3 R’s of troubleshooting: Reboot, Reinstall, Reformat”.  First, reboot.  Is the problem solved? If no, reinstall whatever software package was troubling the user.  Is the problem solved? If no, reformat the hard drive and install everything from fresh again.  It was brutal, but effective.  Our methods developed around this practice, and it became somewhat easy.

Step 1: boot the machine from a floppy disk drive.  Issue the Format command in DOS to wipe the C: drive.

Step 2: install DOS from the floppy (all of DOS fit on one floppy).

Step 3: Reboot from the C: drive, and use the Novell stack from the floppy to log in to the the network.

Step 4: Switch to the F: drive, and change directory to the subdirectory (folder) where Windows 3.10 was.

Step 5: Launch setup.exe, with the command line switch to tell it to install Windows to the C: drive.

A short while late, the machine had a brand new, fresh install of Windows on it; “R3” of The 3 R’s of Troubleshooting was complete.  (We always told our users to store their documents on the H: drive, on the Novell network, so no-one ever lost any files this way).

It is worth noting that all the floppies from Windows 3.10 had been copied to the one network location, so we didn’t need to carry six additional floppies with us.  It made a lot of sense to put them on the network, log in to the network, and run the installers off the network.  It was much faster than floppies, too.  We didn’t worry about licenses, because we never bought a PC that didn’t come with Windows on it.

And then, Microsoft shipped an update to Windows; Windows for Workgroups (WfW), version 3.11.  This was “the first version of Windows, built with the network in mind”.

One of my co-workers copied all six floppies to the network, and told us of the new location.  We were going to have to keep track of which machines had Windows 3.10 versus WfW 3.11 for license reasons, but otherwise we had no qualms – until it came time to 3R a client’s computer.

Steps 1 – 4 were identical.  Step 5, however, had a landmine built into it.

Microsoft shipped WfW 3.11 setup.exe with code that reached into the install media and did something nasty.  If the install was from physical media (a hard drive or floppies) the physical drive ignored it or otherwise didn’t care.  But if setup.exe was running from a virtual (Novell network mapped) drive, it reached into the drive and crashed the entire server.

It. crashed. the. entire. server.

The server suffered an “ABEND” (abnormal end), and broadcast to everyone on the network that it had crashed, your files are lost, the end times have arrived, too bad, so sad, log back in after the file server comes back up, hope you had backups…

I crashed a server, with 80 users on it.  My co-worker crashed a server with 50 users on it.  We learned, the hard way, not to run setup.exe from the F: drive.

I, being the clever guy I am, came up with a work-around.  I renamed setup.exe to setup.not, and made a DOS batch file, setup.bat, that took setup.exe’s place.  It did five things:

  1. Copied the F: drive WfW folder contents to the C: drive
  2. Changed to the C: drive
  3. Renamed setup.not to setup.exe
  4. Deleted setup.bat
  5. Launched setup.exe

Setup.exe still did whatever nasty thing Microsoft programmed it to do; but because the install media was a physical hard drive (C: drive), the nastiness had no effect.

Back to my point of Microsoft being the abusive boyfriend, the analogy for this instance is the jealous boyfriend seeing you borrow another friends truck to help the jealous boyfriend move in; but because the truck belonged to some other guy, your boyfriend deliberately crashes the other guy’s truck into a brick wall.

Later, I was talking with a Novell product manager, and his comment was that they were thankful to Microsoft for this sabotage.   Before, they were happy that things just worked at all.  After, they learned they needed to practice defensive programming, as if a malicious actor was trying to crash their server.

Windows 95 Get Nearest Server

Early Novell NetWare servers had an easy (if simplistic) way of helping to set stuff up: broadcasts.  The type of packet was called a SAP packet, for Service Advertising Protocol.  Note that SAP was specific to Novell IPX/SPX networking, and had nothing to do with TCP/IP (the dominate protocol today).  IPX/SPX and SAP were a Novell thing.  When a server started up, it broadcast a SAP packet: “I’m a server, if you need me, here’s my address.”  Some things, like Hewlett-Packard JetDirect print servers would send a SAP packet every 30 seconds: “I’m a printer, if you need me, here’s my address.”

A client PC booting up on the network would broadcast a SAP Get Nearest Server packet.  This was the other side of the coin: “I’m a client, and I need to know what servers are available.  I’m asking which servers are nearest me.”  And all the NetWare boxes on the network would send a packet back “I’m a server, here’s my address.”  The network connection would be established and communication would flow.

An interesting assumption that Novell programmers made, was that the file server was the fastest machine on the network.  If you have 200 PCs on a network, serving all of them isn’t going be the job of some underpowered hand-me-down piece of junk that no-one wants any more.  It’s going to be the biggest, fastest, best box money can buy.  And “fastest” meant “answers quickest”.

The “nearest server” was the box that was a server, and replied the quickest.  If there were several servers on the network, all would reply; but the client would choose the first one with an answer as the “nearest”.

So how could Microsoft abuse the network?  By adding SAP Get Nearest Server replies to Windows 95.  Mind you, Windows 95 didn’t provide Novell NetWare network support; they just answered the Get Nearest Server broadcasts with “I’m a server, here’s my address.”

It was all lies, of course.  The client PC would then attempt to establish the network connection, but the Windows 95 box would sit there silently, non-responsive.  I imagine some programmer in Redmond, Washington, watching  the network failure play out, was grinning like the proverbial Cheshire Cat.

So of course, one of our power users had just gotten a really fast PC – faster than his file server, in fact.  Microsoft had the big shindig, announcing Windows 95.  Our power user stood in line to buy that retail copy of Windows 95 on opening day, came back to work, and upgraded his PC.

Which promptly began answering Get Nearest Server broadcasts with “I’m a server, here’s my address (whispering only to itself ‘but you can go stuff yourself’).”  All the printers on the network vanished.  All the file servers to log in to vanished.  All the servers in Remote Console vanished (how us administrators administered servers).

Kind of like the abusive boyfriend standing on your doorstep, and to everyone who shows up at your door, getting confrontational with them, to make sure they can’t reach you, nor can you reach them.  All that poor mail carrier wanted to do was deliver a freaking letter.

Outlook access via MAPI of a GroupWise mailbox

One wonderful resource we had in the GroupWise environment was a mailing list named NGW List.  Anyone could subscribe, and if you administered Novell GroupWise (NGW) you ought to have.  If you had a problem, we could tell you how we solved it, or what work-arounds there were.  At it’s height, it had more than 200 messages per day.  We sometimes discussed feature requests.  But a problem was that someone at Microsoft had the job of lurking on the list, looking for ideas.

So, a new version of GroupWise dropped, and Novell told us how great it was; that it was now fully MAPI compliant.

MAPI was a Microsoft standard: “Messaging Application Programming Interface”.  Developers wanted to be able to send email from their programs, and Windows might have MS Mail installed on it, or MS Outlook installed on it.  How to send email, if different mail providers are available?  The answer was MAPI, which Microsoft made, and provided as a standard.

On the list, we asked “because the new GroupWise was fully MAPI compliant, does that mean one can install Microsoft Outlook on the PC, and Outlook would access the mailbox on the GroupWise server?”  Yes, the answer was: just fine.  Outlook never knew it wasn’t talking to MS Mail or MS Exchange.  It just worked.  Life was good.

Until that Microsoft lurker reported upstairs that people were successfully using Outlook as a client to GroupWise servers.

Magically, one day not very long later, a Windows Update appeared, and things were patched.  Outlook was patched.  Outlook accessed the GroupWise mailbox via MAPI, and seeing it was GroupWise, created a new, duplicate, folder at the root level named “mailbox”.  And if you only ever used Outlook, life was grand.  Every time you logged in, Outlook would look at the mailbox, see two system folders at the root level named “mailbox”, pick the right one (the one with mail in it), and continue merrily along it’s way.

The GroupWise client, on the other hand, was completely unprepared for a duplicate system folder at the root level.  Like, GPF unprepared.  Like, wow that was ugly unprepared.

So although the GroupWise server was 100% MAPI compliant, GroupWise had additional features that MAPI didn’t support.  Specifically, To Do lists.  MAPI was an email protocol, and To Do items aren’t in any email spec, so MAPI doesn’t support them.  Doesn’t really matter, if all you are trying to do is email, and all Outlook was needing to do was email.

But if you did want to also do To Do lists, you needed to crank up the GroupWise client.  After the Windows Update which patched Outlook (and Outlook fouled over your GroupWise mailbox),  your GroupWise mailbox was completely unusable by the GroupWise client.

Novell had to scramble, and soon found the problem.  They had to issue an emergency patch to the database maintenance routine “gwcheck”.  It now (still to this day) includes a fix “deldupfolders”.  Run a gwcheck with the deldupfolders option, and your mailbox becomes un-f*cked.  Don’t run Outlook against it again, until Novell can issue a fix to the GroupWise client that does not crash when duplicate system folders magically appear in the folder structure.

It’s like your boyfriend works at Nestle, you invite him over for dessert, and when he finds you bought Hershey chocolate syrup for the ice cream, he takes an axe to your dinner table.  Weird thing was: why did he bring an axe with him, to dessert in the first place?

Windows 2000 network multiplexor

You try to access a file on a file server.  You are doing this from Windows.  Windows handles the call to the network, and gets to do with it what it may, as it takes care of your request.  If the file you want to get is on an NCP server, your experience may be sub-optimal.

Where we experienced this the worst, was again after one of those magical Windows Updates that got applied to a ton of machines on a Patch Tuesday.  All of our users on Windows 2000, after the patch, were taking three minutes to log in.

The day before, it took only a few seconds.  What happened?

Microsoft, in typical jealous boyfriend fashion, decided to play passive-aggressive in serving up network resources.  “Where’s the server? Hang on while we find out.”

After the patch, when a PC asked for an NCP server, the user’s PC (through the Windows 2000 network multiplexor), threw the name resolution request out to all CIFS servers first, and then waited 30 seconds for any of them to respond.  After 30 seconds, since none of the CIFS servers answered the call for the NCP service, it threw the name resolution request at the NCP servers (which of course, responded instantly).  Then it went on to resolve the next server name request.

Which took another 30 seconds.

To. the. same. server.

We typically mapped E:, F:, G:, H:, I:, and Z: all to the same server (but to different subdirectories on disk).  Six drive letters, at 30 seconds of timeout each, turned every login from a few seconds before the patch to three minutes after the patch.  Our users were howling at how painful this was.  All we could tell them was “don’t reboot, or you will have to log in (and wait) again”.

Novell again had to scramble for a fix, which was to roll out a new version of the Novell Client.  It would avoid asking the Windows 2000 network multiplexor to resolve NCP server names, by keeping a cache.  Find it once, with the 30 second penalty, but you’ll never have to find it again, ever again.

Their long term solution, by the way, was to add CIFS support to the NCP file servers.  Sure, Microsoft could (and from history, would) foul over anything NCP related, but if the server became a CIFS server; well, Microsoft couldn’t sabotage that without sabotaging their own.

Which brings me to today

Today, my PC will no longer ever again make an NCP call to a NCP file server.  All evidence points to it being speedy.  Very speedy.

My abusive boyfriend, Microsoft, who I now vow to be with forever and ever, is showing me his magnanimous generosity by not beating me up today.

And you know damn well that I had better be grateful.  Damned grateful.