Microsoft - their software can be annoying sometimes

By: John McFarlane <john.mcfarlane@rockfloat.com>
Last updated: 09/27/2005 @12:16

Abstract:
This document will show how to explain to someone that Microsoft has some annoying stuff goin on.



1. File name limitations

The current NTFS filesystem has some messed up file name limitations. For example, on Windows XP examine the following:

Valid file name:      ;.]-=(fo'$%@~)^o&   fr.txt
Invalid file name:    .svn
	
What kind of sense does that make?
I'm finished with this step

2. Default image type during cut and paste

Ever hit "print screen" and pasted into word? Yea, you get an awesome bitmap. Nothing funner than getting screenshots from users (each of which is 1.2m) in bitmap format filling up your inbox.
I'm finished with this step

3. File renaming includes the file extension

Have you ever hit F2, or right clicked "rename" and noticed that you have to select the name of the file with your mouse or keyboard before you can change it... else you need to type the extension again? I guess this one's prolly unreasonable, but I find it annoying.
I'm finished with this step

4. Deleting an empty directory can take forever

I've had times when it takes 30 seconds to delete an empty directory. A person could argue that my machine was unhealthy at the time, but geezle.
I'm finished with this step

5. The default windows XP Start Menu

Enough said.
I'm finished with this step

6. Defragmentation, still?

NTFS still requires manual defrag?
I'm finished with this step

7. Command line interface

I know most would completely disagree with me here, but try to get alot of work done during an emergency over dialup (if that's all you've got) using the current cli. Word has it Vista might have something much improved.
I'm finished with this step

8. Cannot write to file because it's being used by some process

It would be nice to have something to tell you what process is using the file. Maybe lsof for Windows? I'm sure something's out there but I haven't seen it yet.
I'm finished with this step

9. Back in the day I paid $1,000 for W2k server

I was having an install problems, so I called for support. The call was going to be $250 just to get someone on the line, and I just got back from the store spending 1k? That was annoying.
I'm finished with this step

10. Hardware support (standard stuff, like nics)

A while ago I installed W2k3 Standard Server on an HP D530 (P4, year old maybe) and I could't get the network card to work: Broadcom NetXtreme Gigabit Ethernet for HP I'm sure I was doing something wrong, but it suddenly started working after I installed drivers from the manufacturer. That's annoying to not have such a typical driver. What makes it even worse, I didn't have a cdrw or a floppy in the computer. Yes, I used a freeking USB floppy to get the driver on the computer. Just for kicks, I popped in a Knoppix disk and was surfing the net after one keystroke (enter). I know Windows has awesome support for the latest webcam or USB game or whatever, but this was W2k3 server, I just wanted the NIC work.
I'm finished with this step

11. Visual Source Safe

Come one, no way it's still this bad.
I'm finished with this step

12. System recovery

I on several occasions have either had my machine fail to boot, or I've observed someone else in the same situation. What are you supposed to do if it won't boot? In fact, I think it was my W2k Server that I paid 1k for that wouldn't boot.

PS: The recovery console is not a valid solution
I'm finished with this step

13. File system searching stinks

There's not really a good way to search for files that have "bla" in the filename, and also contain the contents "wooo".
I'm finished with this step

14. Task manager is not responding

When you can't kill an application or process, please don't tell me the only resort is to reboot. Actually, there's a neat little program called kill.exe that works much of the time. Please include it by default, and provide something else when it also isn't able to stop something. It is really annoying to loose work you've done in autocad or somethign, because IE locked up.
I'm finished with this step

15. Antivirus software slowing things down too much

It's really frustrating when you are in the middle of composing an email or word processing document right when Mcafee/Norton start to scan things. Suddenly it takes 25 seconds for each keystroke to render on the screen. Why does it seem like I never suffer from that with my non work computers? Ah, I know why.
I'm finished with this step

16. No one likes all the security patches

MS computers usually need to be patched and rebooted monthly to stay secure. There are plenty of other operating systems out there that seem to avoid this. Thru obscurity you retort? Maybe, but it's still annoying.
I'm finished with this step

17. Microsoft SQL Server

Don't get me wrong... it's a great product. I've developed on it for a long time now. But can we please, please stop calling it: "sequel"

It should be wrong somehow for Microsoft to brand their product off of a language. I know, I'm gunna release my next application and name it: C#, or TCP/IP

It's cool to say that your product is a SQL server, but it's not cool to say it's SQL. SQL is a language, not a database engine!
I'm finished with this step

18. MSDN search is poopy

As dominant as Microsoft is, and as much as you pay for their products I would like to think their web based support was better. Try searching for "xsl find last element in node" on:
  1. search.microsoft.com/us/dev/
  2. google.com
and compare the results. Which one does a better job of pointing you towards an example of how to print the last element of an XML node using XSL? I guess it's not fair to compare Google and Microsoft, it's just annoying how hard it can be to find support on Microsoft's site (remembering I paid them for it)
I'm finished with this step

19. Dotnet typing

Sure being strongly typed is good, and sure loose typing can be nice... but this is just wrong(vb.net):

Dim a As String
If a = "" and a Is Nothing Then
    Response.Write("wtf?")
End If
		
I'm finished with this step

20. Filesystem searching

One day I was getting a dotnet exception where "something" was looking for a particular version of a DLL that I don't have. I needed to determine what DLL was the culprit. My first instinct was to search thru the vb.net project files to see which one had a reference to the offending DLL. I'll walk you thru it:
  1. Search for *.vbproj from the root of C
  2. Wait for it to pull back the results
  3. Copy the search results to another directory for full text searching
  4. Receive: "Cannot copy file: Cannot read from the source file or disk"
  5. Search again, this time also specifying the "word or phrase" as part of the search criteria
  6. Note start time: 10:32:48
  7. Get some coffee...
  8. Results come back: 10:34:59
  9. Wonder if: "Search is complete. There are no results to display" is accurate or not
  10. Send a particular .vbproj file to notepad to pull out text that's assuredly there...
  11. Search again, this time knowing that > 0 results should be found
  12. Note start time: 10:37:01
  13. Results come back: 10:38:10
  14. Wonder if: "Search is complete. There are no results to display" is accurate or not
  15. Do search again, using the exact file name as the target of the search, and also use the version [1.1.5000.27677] as the "word or phrase" (which I know is in the file)
  16. Wonder if: "Search is complete. There are no results to display" is accurate or not
  17. Start to get really frustrated
  18. Try to brainstorm on how to get access to grep, as Cygwin isn't installed, and I'm not allowed to install it
  19. Search for *.vbproj again. Then try to copy results [excluding shortcuts] to another folder
  20. Receive: "Cannot copy file: Cannot read from the source file or disk"
  21. Wonder if Visual Studio 2005 somwhow has a lock on one of the project files I'm trying to copy
  22. Close VS2005 (takes about 2 minutes to close)
  23. Realize the copy problem is being caused by the search results containing many references to .vbproj files by the same name. You may wonder how this can happen? Try "branching" with Microsoft's Team Foundation Server - each branch must have it's own directory to hold the working copy. You can't just "switch" to another branch using a single working copy.
  24. Starting to run out of ideas...
  25. Give up, mount the filesystem via another computer and immediately find what I was looking for:
    
    # find //host/d\$/projects/ -name *.vbproj -exec grep "1.0.5000.26660: {} \;
    				
    You might notice that I used Cygwin, not a Linux box. I did this only as an excercise to get to the data I needed using only Windows. In fact I had to reboot from the Gentoo partition of my laptop to the win32 partition simply to get what I needed using only Windows.
  26. *sigh*
I'm finished with this step

Changelog: Date Description
09/27/2005 @12:16 Initial creation

This document was originally created on 09/27/2005


Conventions and tips for this howto document:
  1. This document assumes you prolly have an unhealthy degree of bias already
  2. So maybe my spelling/grammar isn't the best

Disclaimer:
This page is not endorsed by gentoo.org or any other cool cats. Any information provided in this document is to be used at your own risk.