2008 Q1 link clearance: Microsoft blogger edition

Date:March 31, 2008 / year-entry #105
Tags:tipssupport
Orig Link:https://blogs.msdn.microsoft.com/oldnewthing/20080331-01/?p=22923
Comments:    12
Summary:Larry Osterman explains that untitled slider on the Vista volume mixer. Brad Rutkowski welcomes you to the world of crash analysis. Robert Hensing explains click-through cloaking. Amit Pawar describes self-healing NTFS. Gaurav Anand digs into those NTFS timestamps. James Lyle from the Office Natural Language team explains why ain't ain't in the spell check dictionary....


Comments (12)
  1. Reinder says:

    "Imagine the uproar if, in response to a misspelling, a curse word were listed as a suggested replacement."

    I rate that DH4 (<http://www.paulgraham.com/disagree.html&gt;), but the logic is broken. The hidden assumption here is that all words in the dictionary must be candidates for replacements. That need not be the case. As a counterexample (DH6) check the dictionary in Mac OS X. When I type "fick", it has more than 10 suggestions for me, but not that four-letter word. If I type that word, it does not complain about spelling.

  2. Tom says:

    The VirtualRegistry thing seems interesting.  Where I work, we would like to deploy beta releases of software for customer feedback along with official releases.  Access to application resources, COM objects and DLLs can be done side-by-side (.local or .manifest files), but that doesn’t work for the registry.  We could make an "application-beta" registry key, but that seems like a poor choice since now you have to recompile the application or change some other configuration file.  Using a virtual registry would, I think, be a great way to implement the solution.

    Unfortunately, I’m still in XP land, so my only choice looks to be using DLL redirection with a local advapi32.dll that intercepts registry calls.  There is a short paper on that here < http://packetstormsecurity.org/papers/win/intercept_apis_dll_redirection.pdf >.

  3. MJP says:

    Reinder:

    As the linked article mentions, MS Word also has the same exact behavior.

  4. Gabe says:

    Reinder: The definition of "in the dictionary" is probably that the word is recognized as a word that can be misspelled and is suggested as a correction. If a spell checker does not recognize a word as misspelled and does not suggest it as a correction, the word is not in the dictionary; it is merely on the ignore list, like numbers or words with all caps might be.

    I would say that these curse words are in the spell checker’s vocabulary, but intentionally excluded from its dictionary.

    In other news, I would have to say that Chris Jackson’s articles are interesting in general. The app compat ones are especially interesting, as one might expect from a reader of this blog.

  5. Larry Lard says:

    I rate that DH4

    Oh please, of all places, not here.

  6. - says:

    I find it rather amusing that in the "NTFS timestamps" article, when the author saves a small file of 6792 bytes, NTFS actually manages to fragment it in two clusters. At least said clusters are just 13 megabytes far from each other.

  7. DeFag says:

    MS Defrag:

    According to MS, NTFS is better than FAT because you never have to defrag. NTFS is enough advanced to prevent any fragmentation.

    But this was only true until symantec launched it’s defrag program, then MS bundled defrag with w2k to wipe out the competition.

    Current algorithm implemented in M$ defrag: Move (fragment as much as possible) competitor’s apps to slow places on disc.

  8. Yeti says:

    Misspellings and suggested replacements …

    When I was writing my diploma thesis (in 1991, on a german Windows for Workgroups 3.11 using a then-up-to-date version of MS-Word), I incidentally discovered that its dictionary did not contain the word "Maustreiber" (mouse-driver) and it actually suggested "masturbiere" (need I translate that?) as replacement.

    This is no joke and this behaviour persisted up to a version I used on my Win2k-Machine some years later.

    Y.

  9. PC-Historian says:

    @defrag: Don’t let history get in the way of your Microsoft-bashing.  Symantec did not invent NTFS defrag.  Executive Software introduced NTFS defrag, by licensing the Windows NT source code and selling a custom version (!) of Windows NT 3.51 which supported defrag.  http://technet.microsoft.com/en-us/sysinternals/bb897427.aspx  Check Help–>About in Win2K and XP, there’s a copyright notice there for Executive Software.

    Defragmentation is especially prone to the placebo effect because of the importance that many people attach to it.  Witness the myth that ext3 "never" needs defragmentation.  What this actually means is that ext3 is designed to "resist" fragmentation through some preallocation heuristics.

    This is *exactly* the same claim as was touted for NTFS back in 1993.  The only difference is that the Linux fanboys believe it.  My theory is that this is because Windows bundles a defragger and Linux does not.

    (The ext3 anti-defragmentation design, incidentally, plays havoc with virtual disk compaction.  NTFS plays much more nicely with virtual hard drive containers.)

  10. Yuhong Bao says:

    "Executive Software introduced NTFS defrag, by licensing the Windows NT source code and selling a custom version (!) of Windows NT 3.51 which supported defrag."

    No not a custom version of NT, Diskeeper 1.x replaced some NT system files when it is installed. Would you be able to do that today? Probably not, because of WFP.

    Another example is OpenNT. The developers licensed NT source code to get info needed to create a replacement for a POSIX subsystem for NT. Can you do that today? Anyway, later it was renamed Interix and acquired by MS, which later renamed it as Services for UNIX. Now it is part of Server 2003 R2 and Vista Enterprise and Ultimate as Subsystems for UNIX-based Applications (SUA).

    Another example is Citrix’s WinFrame, which was a custom version of NT 3.51 that was a terminal server. Can you do such a custom version of NT nowadays? Again Citrix licensed NT source code from MS. Later MS refused to license NT 4.0 source code to Citrix. Finally it resulted in NT 4 TSE and Citrix’s MetaFrame on top of it.

  11. Gabe says:

    The problem with companies licensing source code and then shipping modified versions of it is that they then have to ship modified versions of every security fix and service pack that uses that code. I remember that it seemed like it took forever for Citrix to ship WinFrame service packs.

    Of course, another problem is that it doesn’t scale. What if I want to have WinFrame and NTDefrag installed but both ship custom versions of NTOSKRNL?

    In other words, it is not in the users’ best interests to use software that is modified versions of licensed OS source code. MS should definitely license anything that requires a modified kernel so that there is a single entity coordinating kernel changes.

    For things that don’t need to be in the kernel (like Interix), MS would probably be willing to license Windows source.

  12. Yuhong Bao says:

    "The problem with companies licensing source code and then shipping modified versions of it is that they then have to ship modified versions of every security fix and service pack that uses that code. I remember that it seemed like it took forever for Citrix to ship WinFrame service packs."

    Back in 1995, that was not as big of a problem as it is today, because security updates wasn’t as much of a concern.

    BTW, that is why MS worked with Diskeeper to add built-in defrag APIs for NT 4. Diskeeper 2.x and later uses these APIs. And that is probably why MS took away the NT 4 license from Citrix. Finally an agreement with Citrix was reached that resulted in NT 4 TSE and MetaFrame.

Comments are closed.


*DISCLAIMER: I DO NOT OWN THIS CONTENT. If you are the owner and would like it removed, please contact me. The content herein is an archived reproduction of entries from Raymond Chen's "Old New Thing" Blog (most recent link is here). It may have slight formatting modifications for consistency and to improve readability.

WHY DID I DUPLICATE THIS CONTENT HERE? Let me first say this site has never had anything to sell and has never shown ads of any kind. I have nothing monetarily to gain by duplicating content here. Because I had made my own local copy of this content throughout the years, for ease of using tools like grep, I decided to put it online after I discovered some of the original content previously and publicly available, had disappeared approximately early to mid 2019. At the same time, I present the content in an easily accessible theme-agnostic way.

The information provided by Raymond's blog is, for all practical purposes, more authoritative on Windows Development than Microsoft's own MSDN documentation and should be considered supplemental reading to that documentation. The wealth of missing details provided by this blog that Microsoft could not or did not document about Windows over the years is vital enough, many would agree an online "backup" of these details is a necessary endeavor. Specifics include:

<-- Back to Old New Thing Archive Index