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)
Comments are closed. |
"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>), 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.
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 >.
Reinder:
As the linked article mentions, MS Word also has the same exact behavior.
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.
Oh please, of all places, not here.
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.
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.
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.
@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.)
"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.
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.
"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.