<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-11573761</id><updated>2011-11-26T14:34:16.049-08:00</updated><category term='Safety'/><category term='Data Recovery'/><category term='Bug'/><category term='Meta-bug'/><category term='Malware'/><category term='Anti-competitive behavior'/><category term='Basics'/><category term='The Waking Hour'/><category term='PC maintenance'/><category term='Public Conversations'/><category term='Polls and Results'/><category term='Blogging'/><title type='text'>Chris Quirke's Blog</title><subtitle type='html'>Freelance troubleshooter of non-corporate PCs</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://cquirke.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11573761/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://cquirke.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/11573761/posts/default?start-index=101&amp;max-results=100'/><author><name>Chris Quirke</name><uri>http://www.blogger.com/profile/05538828571660803875</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://cquirke.mvps.org/images/cqhead.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>127</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-11573761.post-1247814596873168191</id><published>2011-11-20T07:31:00.001-08:00</published><updated>2011-11-20T07:31:53.069-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Safety'/><title type='text'>C-Net’s Downloader Pollutes “My Documents”</title><content type='html'>&lt;p&gt;You may have noticed &lt;a title="C-Net downloads" href="http://download.cnet.com" target="_blank"&gt;C-Net&lt;/a&gt; have started &lt;a title="An example of a C-Net downloader stub" href="http://download.cnet.com/3001-6676_4-10260390.html?spi=2a14d161d8de8dfee01b814f954210a2&amp;amp;part=dl-100887"&gt;using a downloader stub&lt;/a&gt; when you download software from them.&amp;#160; The stub adds no value that I can see (it claims to be “more secure”) and tries to push unwanted bycatch, such as browser toolbars etc.&lt;/p&gt;  &lt;p&gt;So far, so normal and nasty, but there’s something else that makes this totally unacceptable IMO – it changes the location where your download is saved, ignoring your browser’s settings and providing no UI to see where this is beforehand, or change it.&lt;/p&gt;  &lt;p&gt;And where does it save the download?&amp;#160; The Windows Vista/7 Downloads shell folder?&amp;#160; No; in “My Documents”.&amp;#160; So now you have &lt;a title="Malware that infects &amp;quot;clean&amp;quot; code files" href="http://www.webopedia.com/TERM/F/file_infecting_virus.html" target="_blank"&gt;infectable&lt;/a&gt; incoming code dumped into your “data” set, where it will pollute your data backups too.&lt;/p&gt;  &lt;p&gt;I was wondering why I was seeing so much Incredimail, Babylon Toolbar and other junk on client systems – now I know why.&amp;#160; What I now know, is that I must also clear these code downloads from the data set.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11573761-1247814596873168191?l=cquirke.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cquirke.blogspot.com/feeds/1247814596873168191/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11573761&amp;postID=1247814596873168191' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11573761/posts/default/1247814596873168191'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11573761/posts/default/1247814596873168191'/><link rel='alternate' type='text/html' href='http://cquirke.blogspot.com/2011/11/you-may-have-noticed-c-net-have-started.html' title='C-Net’s Downloader Pollutes “My Documents”'/><author><name>Chris Quirke</name><uri>http://www.blogger.com/profile/05538828571660803875</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://cquirke.mvps.org/images/cqhead.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11573761.post-6446509136042778208</id><published>2011-10-04T07:58:00.001-07:00</published><updated>2011-10-04T08:31:36.561-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Bug'/><category scheme='http://www.blogger.com/atom/ns#' term='PC maintenance'/><title type='text'>SkipRearm Setting for SysPrep Failure</title><content type='html'>&lt;p&gt;   &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:49958476-7ba5-4781-ad96-28a1a2700f77" class="wlWriterEditableSmartContent"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/SysPrep" rel="tag"&gt;SysPrep&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Windows" rel="tag"&gt;Windows&lt;/a&gt;&lt;/div&gt; &lt;/p&gt;  &lt;p&gt;Here’s how it goes; you have an un-activated Vista or Windows 7 reference system ready for &lt;a title="How SysPrep Works article at Microsoft TechNet site" href="http://technet.microsoft.com/en-us/library/dd744512(WS.10).aspx"&gt;SysPrep&lt;/a&gt; and &lt;a title="Wikipedia article on Windows Imaging Format" href="http://en.wikipedia.org/wiki/Windows_Imaging_Format"&gt;.WIM&lt;/a&gt; &lt;a title="Microsoft TechNet article on ImageX harvesting to .WIM" href="http://technet.microsoft.com/en-us/library/cc507842.aspx"&gt;harvesting&lt;/a&gt;, but SysPrep &lt;a title="Microsoft Support article on this SysPrep failure pattern" href="http://support.microsoft.com/default.aspx?scid=kb;EN-US;929828"&gt;fails&lt;/a&gt;.&amp;#160; You search, and find articles that mutter about adding a “&lt;a title="Microsoft TechNet article on SkipRearm setting" href="http://technet.microsoft.com/en-us/library/cc722350(WS.10).aspx"&gt;SkipRearm&lt;/a&gt;” setting to an “answer file”, but get stuck there if you don’t know how to apply an answer file.&lt;/p&gt;  &lt;p&gt;Fortunately, there’s a &lt;a title="The blog post I found that describes the fix" href="http://option9.blogspot.com/2009/06/getting-around-windows-rearm-limit-with.html"&gt;simpler fix&lt;/a&gt; that I found and tested for Windows 7, and it works.&amp;#160; For Vista (which I didn’t test)…&lt;/p&gt;  &lt;p&gt;&lt;span id="SPELLING_ERROR_14"&gt;HKEY&lt;/span&gt;_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\&lt;span id="SPELLING_ERROR_15"&gt;CurentVersion&lt;/span&gt;\&lt;span id="SPELLING_ERROR_16"&gt;SL\SkipRearm&lt;/span&gt; = 1&lt;/p&gt;  &lt;p&gt;…and for Windows 7 (as tested OK):&lt;/p&gt;  &lt;p&gt;HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsNT\CurrentVersion\SoftwareProtectionPlatform\SkipRearm = 1&lt;/p&gt;  &lt;p&gt;The nice thing is, you don’t have to fiddle with “answer files”, or .WIM mounting and manipulation in &lt;a title="Windows Automated Installation Kit article at Wikipedia" href="http://en.wikipedia.org/wiki/Windows_Automated_Installation_Kit"&gt;WAIK&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;This fits with the simplistic way I use .WIM imaging; I use only &lt;a title="WinPE as described by Wilkipedia" href="http://en.wikipedia.org/wiki/WinPE"&gt;WinPE&lt;/a&gt; 3.0, &lt;a title="Microsoft TechNet article &amp;quot;What is ImageX?&amp;quot;" href="http://technet.microsoft.com/en-us/library/cc722145%28WS.10%29.aspx"&gt;ImageX&lt;/a&gt;, and the &lt;a title="GimageX web site" href="http://www.autoitscript.com/site/autoit-tools/gimagex/"&gt;GimageX&lt;/a&gt; GUI wrapper for convenience.&amp;#160; My WinPE 3.0 is standard other than the addition of GimageX and ImageX, and a setting to prevent the WinPE boot from falling through to boot the hard drive if no key is pressed (sorry, no link for that).&lt;/p&gt;  &lt;p&gt;When building a system, I partition via BING, format the prospective C: to NTFS via WinPE, then apply the .WIM, so I have a baseline installation that when booted, will resume Windows Setup as part of what SysPrep did prior to the creation of the .WIM image.&amp;#160; I do the first boot OFFline, and kill the duhfault setting to automatically activate Windows.&amp;#160; &lt;/p&gt;  &lt;p&gt;Then I update and install free software to taste, until the new PC is generically fully set up.&amp;#160; I use BING to image the C: partition for safekeeping (in case SysPrep screws up), then run SysPrep and Generalize the new PC.&amp;#160; I then boot WinPE to capture C: as a new and updated .WIM, then I boot BING to restore the partition to the state before SysPrep was run.&amp;#160; At this point I can apply client-specific changes, activate Windows, and ship the new PC.&lt;/p&gt;  &lt;p&gt;SysPrep does not maintain undoability, and tends to &lt;a title="An example of SysPrep screwing up, and how to avoid this particular cause" href="http://cquirke.blogspot.com/2009/11/sysprep-fails-winpe-sees-wrong-drive.html"&gt;screw up&lt;/a&gt;.&amp;#160; When it does, you can be left with no bootable reference system and no usable new .WIM, so I again stress the need to image-backup C: before SysPrep.&amp;#160; If you’ve done that, you may prefer to restore that image rather than wade through and clean up after SysPrep’s effects.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;font size="2"&gt;Key safety&lt;/font&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;One of the things you want to avoid when working with what you hope to harvest as a reference .WIM, is inadvertently activating the build, especially with the wrong product key:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Disable the “automatically activate” setting&lt;/li&gt;    &lt;li&gt;Keep new PC offline from build until first backup image of C:&lt;/li&gt;    &lt;li&gt;Re-check “automatically activate” setting before going online&lt;/li&gt;    &lt;li&gt;Do the “image backup, SysPrep, restore C:” sandwich&lt;/li&gt;    &lt;li&gt;Check the current key before activating&lt;/li&gt;    &lt;li&gt;Activate before shipping as new PC&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;When I tested SysPrep with SkipRearm, I did not enter a product key when prompted, and used &lt;a title="Nirsoft&amp;#39;s web site" href="http://www.nirsoft.net/"&gt;Nirsoft’s&lt;/a&gt; &lt;a title="Nirsoft Produkey viewing tool" href="http://www.nirsoft.net/utils/product_cd_key_viewer.html"&gt;Produkey&lt;/a&gt; tool to check the key.&amp;#160; This showed a key other than that of the client, so SysPrep had stripped that OK, and presumably fallen back to some previous or fake key.&amp;#160; When I restored the pre-SysPrep BING partition image as C:, this showed the expected client’s key, as I’d entered when originally starting the build from the previous .WIM&lt;/p&gt;  &lt;p&gt;Final tip; if/as SkipRearm doesn’t reset the full grace period for activation, you may want to minimize the days spent between restoring the previous .WIM and capturing the next one.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11573761-6446509136042778208?l=cquirke.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cquirke.blogspot.com/feeds/6446509136042778208/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11573761&amp;postID=6446509136042778208' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11573761/posts/default/6446509136042778208'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11573761/posts/default/6446509136042778208'/><link rel='alternate' type='text/html' href='http://cquirke.blogspot.com/2011/10/skiprearm-setting-for-sysprep-failure.html' title='SkipRearm Setting for SysPrep Failure'/><author><name>Chris Quirke</name><uri>http://www.blogger.com/profile/05538828571660803875</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://cquirke.mvps.org/images/cqhead.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11573761.post-3885118168771862009</id><published>2011-10-01T17:01:00.001-07:00</published><updated>2011-10-01T17:02:16.201-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Bug'/><title type='text'>Mint/Linux, Sandy Bridge, Blank-screen Intel Graphics</title><content type='html'>&lt;p&gt;Mint 11.4 64-bit installs on Cold Lake H67 Sandy Bridge motherboard PC OK, hard drive boots to grub2 OK, but Mint boots to a black screen with no mouse pointer.&amp;#160; The OS is running OK, you just can’t see anything – or almost; a close look at the screen shows a pixel-flickering red line down the left edge and a solid short horizontal white line top left, when a 17” CRT is used.&amp;#160; &lt;/p&gt;  &lt;p&gt;The problem appears with LCD screens also, and is variable; some boots may be OK.&amp;#160; At present, all 3 of 3 new PC builds have done this on first Mint hard drive boot.&lt;/p&gt;  &lt;p&gt;The fix: Plug another monitor into the other graphics socket.&amp;#160; The desktop will immediately appear on both screens; you can then unplug the second screen and it will work OK (at least for that booted session).&lt;/p&gt;  &lt;p&gt;Cold Lake motherboards use the H67 chipset, which in turn interfaces the Intel GPU built into the processor, to DVI and HDMI dual display outputs.&amp;#160; Typically I use a DVI to VGA adapter to take the DVI’s analog signal to 17” CRT or more modern LCD, leaving the HDMI unplugged, though from memory I recall similar mileage when a digital-signal LCD was plugged into DVI, or HDMI via HDMI to DVI “pigtail” adapter.&lt;/p&gt;  &lt;p&gt;It seems like Linux can’t figure out what display signal to use?&lt;/p&gt;  &lt;p&gt;If previous Ubuntu mileage is anything to go by, the “fix” is prolly to wait until the next OS release in the hopes it will use a newer Linux kernel that has a clue about “new” hardware.&amp;#160; Bah!&amp;#160; Still, that should be due later this month, so let’s see how it goes.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11573761-3885118168771862009?l=cquirke.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cquirke.blogspot.com/feeds/3885118168771862009/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11573761&amp;postID=3885118168771862009' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11573761/posts/default/3885118168771862009'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11573761/posts/default/3885118168771862009'/><link rel='alternate' type='text/html' href='http://cquirke.blogspot.com/2011/10/mintlinux-sandy-bridge-blank-screen.html' title='Mint/Linux, Sandy Bridge, Blank-screen Intel Graphics'/><author><name>Chris Quirke</name><uri>http://www.blogger.com/profile/05538828571660803875</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://cquirke.mvps.org/images/cqhead.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11573761.post-8109502692356624696</id><published>2010-10-11T23:50:00.001-07:00</published><updated>2010-10-11T23:52:04.073-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Safety'/><title type='text'>Robot Drivers and Driving Tests</title><content type='html'>&lt;p&gt;If we require training and licensing of humans to fly aircraft and cars, then how do those standards apply to software that pilots these things for us?&lt;br /&gt;&lt;br/&gt;&lt;br /&gt;A key is situational awareness. You wouldn't easily give a blind pilot a flying license, yet effectively that is what Airbus &lt;a href="http://www.airdisaster.com/investigations/af296/af296.shtml" title="An article exposing some typical human perfidity"&gt;tried&lt;/a&gt; &lt;a href="http://www.seattlepi.com/business/boe202.shtml" title="A post that gets to the crux of this debate"&gt;to&lt;/a&gt; &lt;a href="http://www.youtube.com/watch?v=-kHa3WNerjU" title="A video of the crash, with a rather ironic voice commentary"&gt;do&lt;/a&gt; with an engine control system that "landed" a test plane in a forest. It's one thing having a &lt;a href="http://www.smartplanet.com/business/blog/business-brains/have-workplace-robots-passed-the-tipping-point/10778/" title="http://www.smartplanet.com/business/blog/business-brains/have-workplace-robots-passed-the-tipping-point/10778/"&gt;robot hospital cart&lt;/a&gt; that negotiates around people's ankles at walking speed, quite another to do that at &lt;a href="http://www.smartplanet.com/technology/blog/thinking-tech/googles-self-driving-car/5445/" title="Google's car, coming soon to a collision near you?"&gt;road speeds&lt;/a&gt;, or while attempting to keep an airliner within its flight envelope.&lt;br /&gt;&lt;br/&gt;&lt;br /&gt;Perhaps the human pilot or driver is expected to remain in control, on standby and ready to override the robotics? Good luck with that, as attention wanders and distractions take the foreground in the human's mind.&lt;br /&gt;&lt;br/&gt;&lt;br /&gt;I see Google's already had &lt;a href="http://www.zdnet.com/blog/google/googles-self-driving-car-whats-in-it-for-google/2529?tag=nl.e550" title='Another article on the "Google car"'&gt;cars driven by software logic on public roads&lt;/a&gt;. I wonder what the traffic cops would have to say about that?&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11573761-8109502692356624696?l=cquirke.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cquirke.blogspot.com/feeds/8109502692356624696/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11573761&amp;postID=8109502692356624696' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11573761/posts/default/8109502692356624696'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11573761/posts/default/8109502692356624696'/><link rel='alternate' type='text/html' href='http://cquirke.blogspot.com/2010/10/robot-drivers-and-driving-tests.html' title='Robot Drivers and Driving Tests'/><author><name>Chris Quirke</name><uri>http://www.blogger.com/profile/05538828571660803875</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://cquirke.mvps.org/images/cqhead.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11573761.post-748048282603918018</id><published>2010-09-07T15:33:00.001-07:00</published><updated>2010-09-07T15:33:41.553-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Malware'/><category scheme='http://www.blogger.com/atom/ns#' term='Safety'/><category scheme='http://www.blogger.com/atom/ns#' term='Basics'/><category scheme='http://www.blogger.com/atom/ns#' term='PC maintenance'/><title type='text'>Driver Cure or Driver Curse?</title><content type='html'>&lt;p&gt;If you'd just dropped into the PC world last week, you'd think all software was perishable and had to be continuously refreshed. Must always have the latest version BIOS, drivers, etc.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;This attitude runs counter to an older wisdom, that the first question when something goes wrong, is: "What changed?" With this in mind, the last thing you want is vendor-driven changes to your code base; in fact, for a critical working system, you want no changes at all.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;The logic behind all this is contradictory...&lt;/p&gt;&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt;Software vendors make mistakes, requiring software repairs ("patches" or "updates")&lt;/li&gt;&lt;br /&gt;&lt;li&gt;This happens so often, you may not be able to keep up with the constant flow of updates&lt;/li&gt;&lt;br /&gt;&lt;li&gt;So it's best to let the software vendor push updates whenever they see fit&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;&lt;p&gt;This boils down to: Trust software vendors to push changes into your code, because they fail that trust so often you can't keep up with the pace of quality repair required.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;So, should you always patch, or never patch? Or sometimes patch? If "sometimes", then on what basis do you use to decide what needs patching?&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;Balancing risks&lt;/strong&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Some code is so critical, you may consider it too risky to change, e.g. BIOS and device firmware, device drivers, core OS code, and code that is running all the time and can crash the PC if it goes wrong.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Some code is so exposed to arbitrary unsolicited material, you may consider it too risky to leave unpatched, for fear that malware may exploit defects in the code to attack your PC.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Code should never fall into both of the above categories; if it does, you're probably looking at really bad software design. For example, integrating a web browser so deeply into the system that it's indivisible from the system's own UI, would be a bad design decision. Or consider a service so critical to the system's internal functioning that the OS shuts down the whole PC every time the service fails, that is waved at the Internet on the basis it's "networking"; that would be a really bad decision (Lovesan vs. RPC, remember?).&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;Trust me, I'm a software vendor&lt;/strong&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;The two reasons not to trust a software vendor are incompitence and perfidity. A vendor who claims you "must" leave your system open to a constant stream of fixes, has declared themselves incapable of writing code that can be trusted to work properly.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;And frankly, when even "legit" vendors hide deliberately user-hostile code within their products, set to automatically deny you service if its logic considers your license state is invalid (product &lt;a href="http://cquirke.blogspot.com/2007/09/wga-product-activation-kafka.html" title="If Kafka wrote the Windows Activation FAQ..."&gt;activation&lt;/a&gt;) or distribute rootkits within "audio CDs" (&lt;a href="http://en.wikipedia.org/wiki/Sony_BMG_CD_copy_protection_scandal" title="Wikipedia on the Sony rootkit scandal"&gt;Sony&lt;/a&gt;), I'd not trust &lt;em&gt;any&lt;/em&gt; vendor's ethics.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Finally, even if you trust the vendor's ethics, you have to look at the mechanics of code distribution. Fakeware abounds, so when a third party claims to serve you fresh code from the vendors you trust, you have to ask yourself how trustworthy is that third party?&lt;/p&gt;&lt;br /&gt;&lt;p&gt;You also have to ask why you'd trust a particular software package. Open source advocates would say it's because you can read the source code yourself, or at least feel safer in that others have done this on your behalf. Closed source advocates would say it is unrealistic to read source code yourself, and instead would point to pre-deployment testing that would pick up unwanted behavior before the code was used in the real world.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Patches and updates change both of these equations, because now the code you read and/or tested, is no longer the actual code that is running. Any patch may add unwanted behaviors that favor whoever pushed the patch into your system. For the same reason, you should avoid software that stores "your" settings on the server side rather than on your PC (e.g. Real Player, many Instant Messaging apps) and "Privacy Policies" and End User License "Agreements" that state "these terms can be changed whenever we see fit", as so many do.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;The race to patch&lt;/strong&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;There's a race between freshly-released malware, vs. your antivirus scanner that protects your system. When a new malware is found, the antivirus vendor analyses the code to work out how to detect it, then how to safely remove the code, then that logic is packages as an update that your PC's scanner pulls to update your protection.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Compares this to what happens when a new vulnerability is patched. The malware coders can compare pre- and post-patched code to isolate the fix, then work out what the unfixed code did wrong, and thus how to attack that code. The exploit code is then packaged into malware prepared earlier, such as a downloader stub, and that's pushed into the wild.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Notice the similarities between these processes, i.e. recognizing and removing malware compared to extracting and exploiting code defects from studying patches?&lt;/p&gt;&lt;br /&gt;&lt;p&gt;If you rely on resident antivirus to protect you, then you are betting on the av vendor to beat the malware in the race. By the same token, you may expect malware coders to be fast enough to exploit your edge-facing code before the patch arrives to fix the defect. Hence the manic rush to patch, for fear of prompt exploit.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;It's actually a bit worse than this, for two reasons. Firstly, sometimes it's the malware folks who find and exploit defects before the code vendor learns about these and fixes them. Secondly, software vendors have to ensure their patches don't break any systems, whereas a malware coder just wants it work enough of the time to spread, and doesn't care if it breaks other systems in the process. Less rigorous testing means "faster to market", right?&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Self-spreading malware can also spread faster from more systems, and thus beat the patching or updating processes to the punch. Malware can be delivered in real-time via pure network worms, or links to servers that are themselves updated in real time. Often the malware that enters the system is just a downloader stub; it only has to last long enough to pull down the "real" malware, which can replace itself in real time as well.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;Edge-facing software&lt;/strong&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;With all this in mind, you can see why one would want to patch edge-facing software as soon as possible. Examples include web browsers, Java, Acrobat Reader, Flash and media players, and anything that is constantly exposed to the outside world, such as software that waits for instant messages or "phone" calls.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;The best solution is to remove that edge-facing software, and thus the need to patch it. Do this whenever you don't need that software, when the software or its vendor are too flaky to trust, or when the update process itself is something you want to avoid.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;For example, you may catch a vendor trying to shove new edge-facing software as "updates", even when that software is not present and therefore doesn't require patching. That's how Apple &lt;a href="http://blogs.pcmag.com/securitywatch/2008/03/apple_pushes_safari_to_itunes_and_quicktime_users.php" title='Security alert on "updates" that are stealth-installs'&gt;used&lt;/a&gt; &lt;a href="http://news.cnet.com/8301-10784_3-9900456-7.html" title='Cnet article on Safari as "update"'&gt;to&lt;/a&gt; &lt;a href="http://www.computerworld.com/s/article/9070558/Apple_pushes_Windows_Safari_via_iTunes_updater" title='ComputerWorld article on Safari as "update"'&gt;push&lt;/a&gt; Safari to PCs running iTunes or QuickTime, until they were pressurized to stop.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;For another example, a vendor may &lt;a href="http://google-opensource.blogspot.com/2009/07/google-update-regularly-scheduled.html" title="A Google blog post and comments that say it all"&gt;decide&lt;/a&gt; you don't need to be &lt;a href="http://www.google.com/support/chrome/bin/answer.py?hl=en&amp;amp;answer=95414" title='Updates are automatic, hidden, and this is a "feature"'&gt;asked&lt;/a&gt; before &lt;a href="http://www.sitepoint.com/blogs/2010/06/01/how-to-disable-google-chrome-updates/" title="How to disable Google automatic updates"&gt;updates&lt;/a&gt; are &lt;a href="http://blogs.pcmag.com/securitywatch/2009/05/google_chrome_forces_patches_o.php" title="PCMag blog post on Google Chrome silent updates"&gt;pushed&lt;/a&gt;, or even told when this has happened. And when you look at that vendor's updater, you find it running as &lt;a href="http://omaha.googlecode.com/svn/wiki/GoogleUpdateOnAScheduleOverview.html" title="Details on the 5 Google Update tasks"&gt;multiple&lt;/a&gt; scheduled &lt;a href="http://www.brighthub.com/computing/windows-platform/articles/11978.aspx" title="Google Updater task description"&gt;tasks&lt;/a&gt;; then when you &lt;a href="http://www.google.com/support/forum/p/earth/thread?tid=37ad9d03e5643889&amp;amp;hl=en" title="End users trying to turn off Google Updater"&gt;look&lt;/a&gt; at the &lt;a href="http://antivirus.about.com/od/windowsbasics/ht/googleupdate.htm" title="An article on killing Google Updater"&gt;details&lt;/a&gt;, you find a task that appears to be run once a day, is actually repeatedly run &lt;a href="http://www.webmonkey.com/2009/07/google_update_now_a_scheduled_task__but_still_evil/" title="Not only that, but it may re-enable itself if curbed"&gt;every hour&lt;/a&gt; throughout the day. That's the equation with Google, and why I would avoid any edge-facing Google software.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;If you can't avoid edge-facing software, then you can protect yourself in two ways; by updating it as soon as possible, and/or by choosing such obscure, small-market-share products that they aren't likely to be attacked. The latter is like living in an unlocked shack in the countryside; that works not because shacks are "so secure", but because there are so few attackers around.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;Driver Cure or Driver Curse?&lt;/strong&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;So now we come to Driver Cure, which is a third party product that pulls in the latest versions of your device drivers. Would you want this? I'd say no, for two reasons.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Firstly, device drivers are code that runs so "deep" in the system, that any mistakes are very likely to crash the entire OS, leaving the file system corrupted, data files unsaved, etc. Device drivers usually run all the time, so bad code may prevent the system from being able to boot or run at all, even in Safe Mode. So I definitely don't want unexpected changes to this code, any of which may cause the system to stop working.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Secondly, device drivers are not edge-facing, so the risk of explosure exploit should not be high. That means less reason to patch in haste.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Thirdly, if malware were to be integrated into the system as deeply as a device driver, it would have considerable power and be very hard to remove. So we'd want to know a &lt;em&gt;lot&lt;/em&gt; more about third party software that inserts "drivers" into the system.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;The "Driver Cure" folks also push XoftSpy, which was one of several hundred &lt;a href="http://www.spywarewarrior.com/rogue_anti-spyware.htm#xos_note" title="The Rogue List"&gt;fake&lt;/a&gt; anti-spyware scanners, until they supposedly "went legit". As such, sites and blogs may no longer call XoftSpy "malware" for fear of being sued; we may instead &lt;a href="http://anti-spyware-review.toptenreviews.com/xoftspy-review.html" title="A review of XoftSpy"&gt;consider&lt;/a&gt; it as a legit antispyware that isn't very good at what it does, and costs money where better products are free.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;So, in spite of "&lt;a href="http://www.ezdriverupdates.com/drivercure-review.html" title="A glowing review of Driver Cure"&gt;reviews&lt;/a&gt;" &lt;a href="http://www.goarticles.com/cgi-bin/showa.cgi?C=1725322" title='Another review; "You have nothing to loose"'&gt;like&lt;/a&gt; &lt;a href="http://www.computeruser.com/blogs/entry/drivercure-review-is-driver-cure-a-scam/" title="Read this review to the end... machine-generated or just badly edited?"&gt;these&lt;/a&gt;, I would avoid Driver Cure and anything else from that particular software vendor or distributor.&lt;br /&gt;&lt;br/&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11573761-748048282603918018?l=cquirke.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cquirke.blogspot.com/feeds/748048282603918018/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11573761&amp;postID=748048282603918018' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11573761/posts/default/748048282603918018'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11573761/posts/default/748048282603918018'/><link rel='alternate' type='text/html' href='http://cquirke.blogspot.com/2010/09/driver-cure-or-driver-curse.html' title='Driver Cure or Driver Curse?'/><author><name>Chris Quirke</name><uri>http://www.blogger.com/profile/05538828571660803875</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://cquirke.mvps.org/images/cqhead.jpg'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11573761.post-6485317135882899595</id><published>2010-06-11T10:54:00.001-07:00</published><updated>2010-06-11T10:54:38.997-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Blogging'/><title type='text'>Zoundry Raven Double-Spaces On Blogger</title><content type='html'>&lt;p&gt;I've started using Zoundry Raven as my off-line blog editor instead of Windows Live Writer, as the latter depends on Live Passport before it can do anything, anywhere, and for some reason that's gone haywire in my case.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;It posts OK to my WordPress blog, but on Blogger (here), I see my text paragraphs are separated by two blank lines, rather than one.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Well, HTML always seems to have trouble with white space control; either too many blank lines, or not as many as you'd expect; reminds me of DOS vs. UNIX CR/LF issues in the days of dot matrix printers. Looking at the source code, I see previous posts have the (/p)(p) sequences I'd expect (where I've used parantheses rather than angle brackets to show the codes as text), but the new post has a (/p)(br /)(p) sequence instead.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;OK, so I'll clean up my posts in the HTML code window before posting, right? Nope; this is "XHTML" in Raven, and it innocently shows the expected (/p)(p) sequences. So perhaps the transport process and/or Blogger's server side is screwing up - bleh.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11573761-6485317135882899595?l=cquirke.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cquirke.blogspot.com/feeds/6485317135882899595/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11573761&amp;postID=6485317135882899595' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11573761/posts/default/6485317135882899595'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11573761/posts/default/6485317135882899595'/><link rel='alternate' type='text/html' href='http://cquirke.blogspot.com/2010/06/zoundry-raven-double-spaces-on-blogger.html' title='Zoundry Raven Double-Spaces On Blogger'/><author><name>Chris Quirke</name><uri>http://www.blogger.com/profile/05538828571660803875</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://cquirke.mvps.org/images/cqhead.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11573761.post-2094024283740068720</id><published>2010-06-11T10:35:00.001-07:00</published><updated>2010-06-11T10:35:45.932-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Safety'/><category scheme='http://www.blogger.com/atom/ns#' term='PC maintenance'/><title type='text'>AVG 9 Update Blocked By Ashampoo Firewall</title><content type='html'>&lt;p&gt;&lt;em&gt;Geek summary: AVGUpd.exe can't pass Ashampoo Firewall when launched within AVG, but works when run explicitly; as a workaround, create a Task to run on startup and every few hours&lt;/em&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Firewalls sometimes block antivirus updates, even when all of the antivirus executables have been permitted full Internet access through the firewall. In this case, I hit the problem on a Windows 2000 PC, on which I'd installed AVG 9.0 Free antivirus and Ashampoo Free Firewall.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;I searched about this and found &lt;a href="http://forums.avg.com/ww-en/avg-free-forum?sec=thread" title="A forum thread at AVG"&gt;several&lt;/a&gt; &lt;a href="http://forums.avg.com/gb-en/avg-free-forum?sec=thread&amp;amp;act=show&amp;amp;id=66661" title="Another thread at AVG's forums"&gt;threads&lt;/a&gt; at AVG's forums, which usually pointed to an &lt;a href="http://free.avg.com/ww-en/kb.num-2446" title="List of AVG executables to let through the firewall"&gt;article&lt;/a&gt; that lists the AVG executables that should be allowed through the firewall. Other posts &lt;a href="http://imbacore.blogspot.com/2008/05/ashampoo-firewall-seems-to-be.html" title="Ashampoo incompatible with AVG?"&gt;elsewhere&lt;/a&gt; simply declared Ashampoo as incompatible with AVG.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Even listing every AVG executable in Ashampoo's rules does not fix the issue, which is more subtle than it looks. Specifically, the AVGUpd.exe update tool does work if launched explicitly, but if it is invoked through AVG's general UI, the update fails.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;If you run AVGUpd.exe directly, nothing visible happens unless you already have the general AVG dialog open at the time. If you do, then you will see that dialog indicate the update is now in progress, and it works.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;The problem may be Ashampoo blocking interprocess communication within AVG (though I had disabled that sort of internal functionality), or failing to recognise when AVGUpd.exe is invoked from AVG's code (perhaps it calls it as a .DLL?).&lt;/p&gt;&lt;br /&gt;&lt;p&gt;A fix (aside from ditching Ashampoo, which I'm reluctant to use for the next Windows 2000 PC that needs a free firewall) is to create Start Menu and desktop shortcuts to run AVGUpd.exe, and/or set a Task to launch this when starting the system and/or every few hours during the day. Both approaches appear to work so far.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11573761-2094024283740068720?l=cquirke.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cquirke.blogspot.com/feeds/2094024283740068720/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11573761&amp;postID=2094024283740068720' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11573761/posts/default/2094024283740068720'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11573761/posts/default/2094024283740068720'/><link rel='alternate' type='text/html' href='http://cquirke.blogspot.com/2010/06/avg-9-update-blocked-by-ashampoo.html' title='AVG 9 Update Blocked By Ashampoo Firewall'/><author><name>Chris Quirke</name><uri>http://www.blogger.com/profile/05538828571660803875</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://cquirke.mvps.org/images/cqhead.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11573761.post-5448026502164483124</id><published>2009-11-20T02:06:00.001-08:00</published><updated>2009-11-20T03:36:19.022-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Bug'/><category scheme='http://www.blogger.com/atom/ns#' term='PC maintenance'/><title type='text'>Sysprep Fails, WinPE Sees Wrong Drive Letters</title><content type='html'>&lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:3ef641c2-dfe8-414a-8fe5-5cbd862fc7c1" class="wlWriterEditableSmartContent"&gt;Technorati tags: &lt;a href="http://technorati.com/tags/Windows" rel="tag"&gt;Windows&lt;/a&gt;, &lt;a href="http://technorati.com/tags/Ubuntu" rel="tag"&gt;Ubuntu&lt;/a&gt;, &lt;a href="http://technorati.com/tags/grub" rel="tag"&gt;grub&lt;/a&gt;, &lt;a href="http://technorati.com/tags/dual-boot" rel="tag"&gt;dual-boot&lt;/a&gt;, &lt;a href="http://technorati.com/tags/Sysprep" rel="tag"&gt;Sysprep&lt;/a&gt;, &lt;a href="http://technorati.com/tags/WinPE" rel="tag"&gt;WinPE&lt;/a&gt;, &lt;a href="http://technorati.com/tags/ImageX" rel="tag"&gt;ImageX&lt;/a&gt;, &lt;a href="http://technorati.com/tags/bug" rel="tag"&gt;bug&lt;/a&gt;&lt;/div&gt;  &lt;p&gt;If you…&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Dual-boot Windows and &lt;a title="Ubuntu (a Debian-based Linux) home page" href="http://www.ubuntu.com/"&gt;Ubuntu&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;Have multiple Windows-visible partitions&lt;/li&gt;    &lt;li&gt;Use &lt;a title="Windows Automated Installation Kit" href="http://en.wikipedia.org/wiki/Windows_Automated_Installation_Kit"&gt;WAIK&lt;/a&gt; / &lt;a title="OEM Preinstallation Kit" href="http://oem.microsoft.com/script/contentPage.aspx?pageid=552859"&gt;OPK&lt;/a&gt; tools such as &lt;a title="System Preparation tool" href="http://en.wikipedia.org/wiki/Sysprep"&gt;Sysprep&lt;/a&gt;, &lt;a title="Windows Imaging Format (WIM) and ImageX" href="http://en.wikipedia.org/wiki/ImageX"&gt;ImageX&lt;/a&gt; and &lt;a title="Windows Preinstallation Environment" href="http://en.wikipedia.org/wiki/WinPE"&gt;WinPE&lt;/a&gt;&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;…then you may find…&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a title="System Preparation tool" href="http://en.wikipedia.org/wiki/Sysprep"&gt;Sysprep&lt;/a&gt; fails before it completes&lt;/li&gt;    &lt;li&gt;&lt;a title="Windows Preinstallation Environment" href="http://en.wikipedia.org/wiki/WinPE"&gt;WinPE&lt;/a&gt; “sees” partitions with incorrect drive letters&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;The &lt;strong&gt;&lt;font color="#ff0000"&gt;impact&lt;/font&gt;&lt;/strong&gt; can be severe; finding you’ve built your .WIM from the wrong partition, having Sysprep ruin both the .&lt;a title="Windows IMaging format" href="http://en.wikipedia.org/wiki/ImageX"&gt;WIM&lt;/a&gt; you harvest plus the reference system you’d built, etc.&amp;#160; Attempts to maintain the Windows installation via &lt;a title="Windows Recovery Environment" href="http://en.wikipedia.org/wiki/Windows_Recovery_Environment"&gt;WinRE&lt;/a&gt; or “just” re-install Windows may fail, too; I haven’t tested those scenarios.&lt;/p&gt;  &lt;p&gt;The &lt;strong&gt;&lt;font color="#ff0000"&gt;fix&lt;/font&gt;&lt;/strong&gt; is to make sure the Windows boot partition is set as active in the partition table before you apply Sysprep or attempt access from WinPE, WinRE, OS installation disk, etc.&amp;#160; You can do this after Windows and Ubuntu have been installed; it won’t affect these, or how grub works.&lt;/p&gt;  &lt;p&gt;The &lt;strong&gt;&lt;font color="#ff0000"&gt;cause&lt;/font&gt;&lt;/strong&gt; is a combination of the way &lt;a title="Editing the grub boot menu in Ubuntu 9.10 vs. older versions" href="http://cquirke.wordpress.com/2009/11/20/edit-grub-menu-in-ubuntu-9-10-and-older/"&gt;grub&lt;/a&gt; works (which bypasses the normal MBR “boot the partition that is set as “active” code logic) and the way Microsoft code assigns drive letters to Windows-visible partitions and logical volumes.&lt;/p&gt;  &lt;h4&gt;Standard MBR logic&lt;/h4&gt;  &lt;p&gt;The Master Boot Record (MBR) is the first sector of the physical hard drive, and acts as an extension of the system BIOS.&amp;#160; It exists outside of any OS, running as it does before any particular OS has come into effect.&lt;/p&gt;  &lt;p&gt;The standard MBR contains a partition table defining up to 4 partitions, one of which may be flagged as “active”.&amp;#160; The standard MBR code logic is to look for the (first?) active partition and chain into code within the first sector of this space.&amp;#160; At this point, the system phase of the boot process ends, and the OS phase begins.&lt;/p&gt;  &lt;h4&gt;How grub works&lt;/h4&gt;  &lt;p&gt;The grub boot manager adds some initial code to the MBR which links to the bulk of its code within the Ubuntu partition.&amp;#160; At boot time, this modified MBR code will always chain into the rest of grub, irrespective of which partition entry in the partition table is set as “active”.&amp;#160; The partition table is still referenced to find partitions, but the “active” setting is now ignored, and is thus irrelevant.&lt;/p&gt;  &lt;p&gt;You may assume that the partition you booted via grub will be set as “active” in the partition table, but this is not the case; grub (at least grub 2, as contained in Ubuntu 9.10) does not update the “active” flag status according to what you booted last, even if set to default to this on next boot.&lt;/p&gt;  &lt;h4&gt;How Microsoft assigns drive letters&lt;/h4&gt;  &lt;p&gt;Microsoft OSs can “see” two groups of partition types; primary partitions that may be bootable and define a single volume, and an extended partition type that is not bootable but can contain multiple logical volumes.&amp;#160; Each volume contains a single file system and is typically assigned a single drive letter.&lt;/p&gt;  &lt;p&gt;Drive letters have validity only within a Microsoft OS.&amp;#160; In the absence of “remembered” settings within that OS, they are assigned as follows…&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;A: and B: reserved for legacy diskette drives     &lt;br /&gt;For each physical hard drive…      &lt;br /&gt;&amp;#160; Assign ascending letters to each “active” primary partition      &lt;br /&gt;…next drive until all done      &lt;br /&gt;For each physical hard drive…      &lt;br /&gt;&amp;#160; Assign ascending letters to each logical volume in extended partition      &lt;br /&gt;…next drive until all done      &lt;br /&gt;For each physical hard drive…      &lt;br /&gt;&amp;#160; Assign ascending letters to each “inactive” primary partition      &lt;br /&gt;…next drive until all done&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;For example, if you have an NTFS primary partition and an extended partition containing three logical volumes, these will be lettered as C:, D:, E: and F: if the primary is set as “active”, and F:, C:, D: and E: if the primary is not set as “active” – and so…&lt;/p&gt;  &lt;h4&gt;Here comes the pain&lt;/h4&gt;  &lt;p&gt;When Windows boots off the hard drive, it can override the above logic in two ways.&amp;#160; &lt;/p&gt;  &lt;p&gt;Firstly, it is aware of which partition it booted from, and which volume contains the bulk of its own code; these drive letters are recorded within the OS and can’t be changed.&lt;/p&gt;  &lt;p&gt;Secondly, it remembers drive letters assigned to volumes it has “seen” before.&amp;#160; Unlike the letters for boot and OS volumes, these can be changed by the user, causing new values to be “remembered” and applied on subsequent boots.&lt;/p&gt;  &lt;p&gt;But when you don’t boot this OS code, e.g. you boot &lt;a title="Windows Recovery Environment" href="http://en.wikipedia.org/wiki/Windows_Recovery_Environment"&gt;WinRE&lt;/a&gt;, &lt;a title="WinPE described at Wikipedia" href="http://en.wikipedia.org/wiki/WinPE"&gt;WinPE&lt;/a&gt; or the OS installation disk instead, then all those remembered settings do not apply.&amp;#160; I suspect Sysprep applies fresh logic during its processing as well, thus breaking its assumption base and causing it to fail.&lt;/p&gt;  &lt;p&gt;Further, one may not be aware that the “active” flag status is an variance with boot history, and therefore assume that because you last booted Windows, that Windows partition will be the one currently set as “active”.&amp;#160; But that is not what happens when grub is in effect.&lt;/p&gt;  &lt;h4&gt;Best practices&lt;/h4&gt;  &lt;p&gt;I would suggest the following, to reduce these sort of risks…&lt;/p&gt;  &lt;p&gt;1.&amp;#160; Always do an image backup prior to Sysprep&lt;/p&gt;  &lt;p&gt;Sysprep can be as destructive as “just” re-installing Windows, or shifting/resizing existing partitions.&amp;#160; In practice, I have far higher destructive failures with Sysprep than repair installs of XP, over-old OS version upgrades and partition management, all of which have been safer than Service Pack installs.&amp;#160; So if you would always backup before doing those sort of things, then all the more so to backup before Sysprep.&lt;/p&gt;  &lt;p&gt;Unlike Win9x and older Microsoft OSs, accurately copying every single file from one drive to another will not result in a bootable system, even if the drives and partitions are identical in size and you also copy over PBR contents that exist outside the file system.&amp;#160; &lt;/p&gt;  &lt;p&gt;That is why you have to do a partition image backup (e.g. from &lt;a title="Boot It New Generation boot and partition manager" href="http://www.bootitng.com"&gt;BING&lt;/a&gt; boot, using Drive Image from &lt;a title="Bart PE Builder home page" href="http://www.nu2.nu/pebuilder/"&gt;Bart&lt;/a&gt; boot, etc.) to preserve your “undo” trail.&lt;/p&gt;  &lt;p&gt;2.&amp;#160; Check that the Windows primary is set as “active”&lt;/p&gt;  &lt;p&gt;This should now be added to your sanity-checks before signing off on a system build, running Sysprep, harvesting .WIM images from WinPE, etc.&amp;#160; &lt;/p&gt;  &lt;p&gt;If you have a WinRE installation set up to boot in the event of Windows boot failure, then it may be important for the correct partition to be set as “active” at all times.&lt;/p&gt;  &lt;p&gt;3.&amp;#160; Apply descriptive names to disk volumes&lt;/p&gt;  &lt;p&gt;I apply the names “C-Drive”, “D-Drive” etc. to partitions and volumes as I create them in BING, so that these are the names I will see when working in BING to manipulate them as partitions.&amp;#160; &lt;/p&gt;  &lt;p&gt;&lt;a title="Boot It New Generation vendor&amp;#39;s home page" href="http://www.terabyteunlimited.com/index.htm"&gt;BING&lt;/a&gt; writes these names into the boot record of the volume, whereas the name you apply in Windows is held as a Volume Label entry within the root directory of that volume.&amp;#160; So you can have “pretty” names in Windows, Bart CDR boot, etc. and accurate names in BING.&lt;/p&gt;  &lt;p&gt;My own practice is to choose “pretty” names that happen to start with the expected drive letter, so I get a quick visual sanity-check before operating on them in Windows.&amp;#160; For example, if I see “Core” is C: but “Data”, “Extras” and “Factory” are E:, F: and G:, then I know something’s gone wrong and should be fixed before I generate new paths based on these wrong letters.&amp;#160; I’d know to look for an optical drive or other intruder that has become “D:”, and fix that.&lt;/p&gt;  &lt;h4&gt;How this was tested&lt;/h4&gt;  &lt;p&gt;I tested this on new PCs build with the following hardware:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Intel “GoldTree” G43 chipset motherboard, latest BIOS applied&lt;/li&gt;    &lt;li&gt;E6300 processor, VT enabled in BIOS (is off by duhfault)&lt;/li&gt;    &lt;li&gt;2 x 2G = 4G DDR2-800 Kingston Value RAM&lt;/li&gt;    &lt;li&gt;S-ATA Seagate 1.5T hard drive as S-ATA 0&lt;/li&gt;    &lt;li&gt;S-ATA LG DVD writer as S-ATA 3 (last)&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Partitions and OSs were:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;30G Ubuntu 9.10 partition (not visible to Windows)&lt;/li&gt;    &lt;li&gt;4G Ubuntu swap partition (not visible to Windows)&lt;/li&gt;    &lt;li&gt;64G primary partition, Windows 7 64-bit, as C:&lt;/li&gt;    &lt;li&gt;Extended partition containing FAT32 logicals D:, E: and F:&lt;/li&gt;    &lt;li&gt;MBR contains grub 2 as installed with Ubuntu 9.10&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Two PCs were tested, one with Home Basic and one with Pro as the Windows 7 edition, both being DSP (small OEM) installations.&amp;#160; The grub menu was set to default to the OS that was booted last, and this was always Windows during these tests.&amp;#160; &lt;/p&gt;  &lt;p&gt;BING was used to create and manage partitions (unlike Windows, can format FAT32 larger than 32G) and was &lt;em&gt;not&lt;/em&gt; installed as boot manager.&lt;/p&gt;  &lt;p&gt;Test procedure:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;BING boot, image backup Win7 primary to logical E:&lt;/li&gt;    &lt;li&gt;&lt;strong&gt;&lt;font color="#0000ff"&gt;Set Win7 primary as “active”&lt;/font&gt;&lt;/strong&gt;&lt;/li&gt;    &lt;li&gt;Boot hard drive; grub defaults to last selected (Windows), OK&lt;/li&gt;    &lt;li&gt;Boot Windows; works, drive letters OK&lt;/li&gt;    &lt;li&gt;Boot WinPE; what should be C: D: E: F: seen as C: D: E: F:, &lt;strong&gt;OK&lt;/strong&gt;&lt;/li&gt;    &lt;li&gt;Boot Windows, run Sysprep; works &lt;strong&gt;OK&lt;/strong&gt;&lt;/li&gt;    &lt;li&gt;BING boot; now…&lt;/li&gt;    &lt;li&gt;&lt;strong&gt;&lt;font color="#0000ff"&gt;Set Ubuntu primary as “active”&lt;/font&gt;&lt;/strong&gt;&lt;/li&gt;    &lt;li&gt;Boot hard drive; grub defaults to last selected (Windows), OK&lt;/li&gt;    &lt;li&gt;Boot Windows; works, drive letters OK&lt;/li&gt;    &lt;li&gt;Boot WinPE; what should be C: D: E: F: seen as F: C: D: E: - &lt;strong&gt;Fail&lt;/strong&gt;&lt;/li&gt;    &lt;li&gt;Boot Windows, run Sysprep; &lt;strong&gt;fails&lt;/strong&gt; before post-processing boot&lt;/li&gt;    &lt;li&gt;Windows is now not functioning, and remains so after reboot - &lt;strong&gt;&lt;font color="#ff0000"&gt;Fail&lt;/font&gt;&lt;/strong&gt;&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;In each case, Sysprep was run without answer file or CLI parameters; OOBE was selected, Generalize was checked, and Reboot selected as the post-processing action.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11573761-5448026502164483124?l=cquirke.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cquirke.blogspot.com/feeds/5448026502164483124/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11573761&amp;postID=5448026502164483124' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11573761/posts/default/5448026502164483124'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11573761/posts/default/5448026502164483124'/><link rel='alternate' type='text/html' href='http://cquirke.blogspot.com/2009/11/sysprep-fails-winpe-sees-wrong-drive.html' title='Sysprep Fails, WinPE Sees Wrong Drive Letters'/><author><name>Chris Quirke</name><uri>http://www.blogger.com/profile/05538828571660803875</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://cquirke.mvps.org/images/cqhead.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11573761.post-3244160046950254446</id><published>2009-11-17T00:36:00.001-08:00</published><updated>2009-11-17T00:37:22.197-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Bug'/><category scheme='http://www.blogger.com/atom/ns#' term='PC maintenance'/><title type='text'>XP Blank Desktop, No Task Manager, No UI</title><content type='html'>&lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:a6e6b10b-2bac-4799-97f3-77047b05bfc4" class="wlWriterEditableSmartContent"&gt;Technorati tags: &lt;a href="http://technorati.com/tags/XP" rel="tag"&gt;XP&lt;/a&gt;, &lt;a href="http://technorati.com/tags/boot" rel="tag"&gt;boot&lt;/a&gt;, &lt;a href="http://technorati.com/tags/bug" rel="tag"&gt;bug&lt;/a&gt;&lt;/div&gt;  &lt;p&gt;I hit this failure pattern in the context of doing an XP SP3 &lt;a title="Tips on doing a repair install of Windows XP" href="http://cquirke.blogspot.com/2008/07/xp-repair-install.html"&gt;repair install&lt;/a&gt; over XP &lt;a title="Information about XP SP3" href="http://cquirke.blogspot.com/2008/07/xp-repair-install.html"&gt;SP3&lt;/a&gt; with &lt;a title="Internet Explorer 8 home page" href="http://www.microsoft.com/windows/Internet-explorer/default.aspx"&gt;IE 8&lt;/a&gt; installed, and it may be that this is a generic issue.&amp;#160; Searching the web did not find a solution, which is why I’m writing this.&amp;#160; &lt;/p&gt;  &lt;p&gt;The &lt;strong&gt;fix&lt;/strong&gt; is to install IE 8 from Safe Mode.&lt;/p&gt;  &lt;h4&gt;Failure pattern&lt;/h4&gt;  &lt;p&gt;Windows XP boots to the desktop, showing wallpaper, but nothing else; no icons, Taskbar, Start button, etc.&amp;#160; Mouse pointer present and moves OK, and the “lock” keys toggle the appropriate keyboard LEDs, so the system is still running.&amp;#160; Safe Mode works OK.&lt;/p&gt;  &lt;p&gt;Pressing Ctl+Alt+Del does not bring up Task Manager, pressing Alt+Tab or the Flag key does nothing, and pressing (but not holding) ATX power off does not initiate a shutdown.&amp;#160; Pressing the case Reset button forces a hard reset and holding down ATX power button forces ATX “power off”; both cause some file system damage due to bad exit with files open for writes.&lt;/p&gt;  &lt;p&gt;Note how this failure pattern differs from some others that are more common; no icons but UI elements present (desktop properties setting to hide icons, icons unselected, etc.), other “shell” failures where Ctl+Alt+Del and ATX power press still work, and malware effects that specifically knock out Task Manager while leaving the desktop UI functioning.&lt;/p&gt;  &lt;h4&gt;Typical Scenario&lt;/h4&gt;  &lt;p&gt;It is often necessary to do a “&lt;a title="Tips on doing a repair install of Windows XP" href="http://cquirke.blogspot.com/2008/07/xp-repair-install.html"&gt;repair install&lt;/a&gt;” of Windows XP if one has changed core hardware that breaks compatibility with XP’s pre-PnP code base.&amp;#160; This is what happened to me, when I had to replace a dead motherboard with a different one, even though this was based on the same chipset and the hard drive interface remained the same.&amp;#160; &lt;/p&gt;  &lt;p&gt;In addition, folks often &lt;a title="Why &amp;quot;just&amp;quot; re-installing Windows is usually a Bad Idea" href="http://cquirke.mvps.org/reinst.htm"&gt;“just” re-install Windows&lt;/a&gt; for all sorts of problems, even when there are cleaner ways to fix the problem, and/or when doing so is likely to fail.&amp;#160; So I’m surprised there hasn’t been solutions visible via Internet search for this issue – if indeed it is as generic as I suspect it may be. &lt;/p&gt;  &lt;p&gt;A few weeks earlier I’d done a similar replacement on a similar PC, using a completely different motherboard chipset.&amp;#160; In that case, Windows booted just fine, did a bit of PnP device detection and driver installation, tossed its Activation cookies out of the cot, but was ultimately fine.&amp;#160; But in the second case, I had the half-expected &lt;a title="A page on STOP errors" href="http://kadaitcha.cx/xp/stop_error.html"&gt;STOP&lt;/a&gt; BSoD error (“Windows has been shut down to prevent damage to&amp;#160; your computer”) earlier during the boot process.&lt;/p&gt;  &lt;h4&gt;What didn’t work&lt;/h4&gt;  &lt;p&gt;Writing to an at-risk system, especially installing new software, can often make things worse – so installing IE 8 was far from the first thing I tried.&lt;/p&gt;  &lt;p&gt;The PC had already &lt;a title="PC Crisis Management" href="http://cquirke.mvps.org/pccrisis.htm"&gt;done&lt;/a&gt; “&lt;a title="&amp;quot;Before You Think&amp;quot;; an old article I wrote about &amp;quot;the prelim&amp;quot;" href="http://cquirke.mvps.org/9x/bthink.htm"&gt;the&lt;/a&gt; &lt;a title="A later article I originally wrote for an apprentice tech" href="http://cquirke.mvps.org/9x/badpc.htm"&gt;prelim&lt;/a&gt;”; &lt;a title="MemTest (RAM tester) home page" href="http://www.memtest86.com/"&gt;RAM&lt;/a&gt;, motherboard &lt;a title="Bad capacitors; what they look like, etc." href="http://cquirke.mvps.org/badcaps.htm"&gt;capacitors&lt;/a&gt;, &lt;a title="HD Tune (hard drive diagnostic) home page" href="http://www.hdtune.com/"&gt;hard drive&lt;/a&gt;, file system were all OK and malware had been managed from a &lt;a title="Bart PE Builder home page" href="http://www.nu2.nu/pebuilder/"&gt;Bart&lt;/a&gt; boot, and the C: partition had been backed up as a partition image using &lt;a title="BootIT New Generation home page" href="http://www.terabyteunlimited.com/index.htm"&gt;BING&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;First, I hunted down and removed all startup items and drivers for old hardware, working both from Safe Mode and Bart boot.&amp;#160; No joy.&lt;/p&gt;  &lt;p&gt;Because Safe Mode worked OK, I suspected a shell integration factor, so I tried setting the shell to Cmd.exe and starting Windows normally.&amp;#160; This failed in the same way; no Cmd.exe window appeared, and ATX power, Ctl+Alt+Del etc. still didn’t work.&amp;#160; Disabling shell extensions using &lt;a title="Nirsoft page (avoid the .com domain, it&amp;#39;s not theirs!)" href="http://www.nirsoft.net"&gt;Nirsoft&lt;/a&gt; &lt;a title="Nirsoft Shell Extension Viewer page" href="http://www.nirsoft.net/utils/shexview.html"&gt;Extension Viewer&lt;/a&gt; didn’t work either.&lt;/p&gt;  &lt;p&gt;Then I thought there may be a problem with launching the shell, so I edited a batch files run via an existing Task so that it launched Explorer.exe instead of doing what it had done before.&amp;#160; I’d noted this Task running behind the dead desktop, but from Safe Mode one cannot create new Tasks properly – some properties can’t be set, such as “run only when logged on”.&amp;#160; That’s why I edited the batch file of an existing Task, rather than creating a new one.&amp;#160; No joy, again.&lt;/p&gt;  &lt;h4&gt;The fix&lt;/h4&gt;  &lt;p&gt;Re-installing Windows often causes problems when bundled subsystems (e.g. Windows Media Player, Internet Explorer) are forced back to older versions.&amp;#160; With that in mind, I tried re-installing IE 8 from Safe Mode, half expecting the usual “Windows Installer is not running” failure pattern.&amp;#160; Much to my surprise, not only did the installation of IE 8 from Safe Mode work, the next boot brought up a functioning shell in normal Windows mode.&amp;#160; Problem solved!&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11573761-3244160046950254446?l=cquirke.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cquirke.blogspot.com/feeds/3244160046950254446/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11573761&amp;postID=3244160046950254446' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11573761/posts/default/3244160046950254446'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11573761/posts/default/3244160046950254446'/><link rel='alternate' type='text/html' href='http://cquirke.blogspot.com/2009/11/xp-blank-desktop-no-task-manager-no-ui.html' title='XP Blank Desktop, No Task Manager, No UI'/><author><name>Chris Quirke</name><uri>http://www.blogger.com/profile/05538828571660803875</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://cquirke.mvps.org/images/cqhead.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11573761.post-8891171074442375232</id><published>2009-05-26T10:12:00.001-07:00</published><updated>2009-05-26T10:39:13.667-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Basics'/><title type='text'>Vista UI Annoyances</title><content type='html'>&lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:d73ba37d-d61c-4c7a-8e7a-621be76a1bab" class="wlWriterEditableSmartContent"&gt;Technorati tags: &lt;a href="http://technorati.com/tags/Vista" rel="tag"&gt;Vista&lt;/a&gt;&lt;/div&gt;  &lt;p&gt;When a user interface has different behaviours, and you can’t predict which one will arise, it can drive you nuts.&amp;#160; Sometimes this is due to cues it takes from material you haven’t seen yet, and sometimes there’s something you need to do slightly differently to select one or other behaviour – but the difference in what you do is too subtle to learn.&lt;/p&gt;  &lt;h3&gt;File operation, multi-selection, or re-ordering?&lt;/h3&gt;  &lt;p&gt;This was always a pain in XP’s Start Menu; you try to drag an item to re-order it, and it doesn’t go with the mouse because for some reason the OS didn’t know that’s what you wanted to do.&amp;#160; So I’d stamp the mouse button on the thing, hold still with button down for a while, then drag smartly while staying on the menu – trying to make my gestures and timing as clear as possible.&amp;#160; No joy; sometimes it works, sometimes not.&amp;#160; Then I tried making the first move sideways vs. up or down, making the start of the move gradual vs. sudden, and I still could not get consistent results.&lt;/p&gt;  &lt;p&gt;In Vista, the problem sprawls over to all folder views, making the problem that much more annoying as it now pervades the whole shell.&amp;#160; Even if you deliberately choose List view in an attempt to avoid useless icon positioning info clogging up the registry, Vista still seems to remember item positioning, as imposed via dragging within the pane.&lt;/p&gt;  &lt;p&gt;The effect is the reverse of the Start Menu context, because usually in the shell I’m trying to select a large number of items by “lasso’ing” them, or move one or a selected wad of items from one pane to another.&amp;#160; Sometimes I get what I want; sometimes Vista thinks I’m trying to lasso-select items when I’m trying to drag what I’ve stamped the mouse on, and other times it does the re-ordering thing, which is never what I want.&lt;/p&gt;  &lt;p&gt;In XP, I didn’t have that confusion between lasso-selection and dragging items.&amp;#160; As long as I started by lasso-select from an “empty” point in the folder, I’d know I’d get lasso behaviour, and not drag-and-drop behaviour.&lt;/p&gt;  &lt;p&gt;But there’s something different in the way Vista selects things, and that’s a problem in its own that we’ll come to later.&amp;#160; Perhaps that difference affects this UI behaviour as well?&lt;/p&gt;  &lt;h3&gt;Letter case for drive volume names&lt;/h3&gt;  &lt;p&gt;In the days of Windows 95, to avoid the overhead of LFN directory entries for valid 8.3 names, you’d have to stick to ALLCAPS.&amp;#160; The NT family may use other more economical cues for ALLCAPS, Sentence.Case and allsmalls names, which is one reason to be less tense about all this… so today, I usually use the letter case that I want to see, rather than try to reduce system overhead of LFNs.&lt;/p&gt;  &lt;p&gt;This works fine for files and folders, but gets wobbly when it comes to the names used by hard drive volumes.&amp;#160; The problem is common to both XP and Vista – it appears to be impossible to force your choice of letter case; sometimes you get ALLCAPS, other times Sentence Case.&lt;/p&gt;  &lt;p&gt;Now volume labels are tricky things, down at the file system where they are stored.&amp;#160; Each volume actually has two separate name locations; one is embedded within the volume’s boot record, and the other is held in the root directory as a “legacy” 8.3 entry.&amp;#160; There’s a twist to the way that 8.3 entry is interpreted; all 11 characters are seen as one name (not as 8 character name plus 3 character extension), and lower case and space characters are allowed.&amp;#160; This behaviour goes back as far as pre-Windows MS-DOS.&lt;/p&gt;  &lt;p&gt;When you set the volume name via the shell, only the root directory entry is affected, and this is what is displayed if it exists.&amp;#160; If it does not exist, the name embedded within the boot record is shown; if that is blank, you will see “local disk” instead.&amp;#160; If you want to operate on the embedded boot record name, you can do that from &lt;a title="Boot It New Generation web site" href="http://www.bootitng.com"&gt;BING&lt;/a&gt; after booting it from CDR, cancelling the install prompt, and using it in partition maintenance mode.&lt;/p&gt;  &lt;p&gt;On the face of it, preserving letter case should be even easier than for normal files and directories, because the legacy behaviour does this even without LFNs.&amp;#160; The shell appears to restrict itself to the original 8.3 entry, as it accepts only 11 characters as input.&amp;#160; &lt;/p&gt;  &lt;p&gt;But whether I use F2, right-click Rename or right-click Properties etc., I cannot impose my choice of letter case, whether I “break the rules” with spaces or not.&amp;#160; Often I have some volumes displaying as ALLCAPS and some in Sentence case, after using the same UI methods to name all of these in the same way… very strange.&lt;/p&gt;  &lt;h3&gt;Content-sensitive folder views&lt;/h3&gt;  &lt;p&gt;I’m not the only one who &lt;em&gt;&lt;strong&gt;hates&lt;/strong&gt;&lt;/em&gt; this with a passion!&amp;#160; When you view the items in a folder, Vista gropes those items to “smell” what type of things they are, then selects the appropriate view.&amp;#160; AutoPlay does a similar thing when it populates the pop-up list of things you can do.&lt;/p&gt;  &lt;p&gt;If these behaviours were restricted to clearly-defined contexts, such as defined shell folders and true audio CDs, I wouldn’t mind.&amp;#160; The problem is the cues that Vista is using to determine the context, are far too variable and flaky – one image file doesn’t mean this is a collection of photos, and one .MP3 or .WAV doesn’t make it a music collection either.&amp;#160; Several apps will include a few image or audio files in the same directory, yet if anything these should be handled as “mixed content”.&amp;#160; &lt;/p&gt;  &lt;p&gt;Vista’s guessing is as absurd as vintage Windows 95’s auto-resolution of shortcuts that point to missing targets (remember “can’t find WINWORD.EXE, should I point to SMARTDRV.EXE instead, and do so forevermore if you click OK?”).&amp;#160; Navigate into a new Start menu folder containing the Skype icon, and it will always be shown as thumbnails view; other Start menu folders containing other icons typically look “normal”.&amp;#160; Bizarre.&lt;/p&gt;  &lt;p&gt;There are safety aspects to this as well – when I view a folder, it may be because I know there’s malware in there and I intend to delete files without “opening” them.&amp;#160; Having the shell code automatically groping all this material is exactly what I DON’T want – and that applies especially to the “autoplaying” of arbitrary CDRs and external storage devices.&lt;/p&gt;  &lt;h3&gt;Dead icons for living shortcuts&lt;/h3&gt;  &lt;p&gt;This also drives me nuts in Vista, and may be related to the way that Windows Installer smurfs pointers to files and icons through CLSIDs.&amp;#160; Specifically, shortcuts created by Windows Installer’s processing of .MSI files, will not point to the actual executable, but to a spare copy of this that is held within %WinDir%\Installer – and yes, this junk can’t be relocated off C:.&lt;/p&gt;  &lt;p&gt;Well, all of that’s just Windows Installer; irrespective of whether that’s on XP or Vista, it’s equally flaky and tedious, e.g. prone to spontaneously demanding install disks for stuff you thought you’d already installed, and weren’t even running at the time.&lt;/p&gt;  &lt;p&gt;What’s particular to Vista, is how icons within the Start Menu – both (All) Programs and the “recently used” and pinned lists – often flip to the generic “file not found” icon, and stay that way even if you can right-click the shortcut and re-assert the icon.&amp;#160; Given that CLSID-based post-.MSI shortcuts preclude user UI editing of target filespecs etc., maybe this isn’t related to Windows Installer after all – then again, I’ve enough other reasons to wish Installer and .MSI to go away forever.&lt;/p&gt;  &lt;h3&gt;Is it selected or not?&lt;/h3&gt;  &lt;p&gt;Vista feels “different” to XP when one is selecting items, as well as nodding the current item through these.&amp;#160; For example, for item1 … item5, if you’re holding down the Control key and using the arrow keys to nod the current item along, after using Space to select item2 and item4, then the appearance of these items can be confusing.&amp;#160; The selection colours are usually quite pale, and the difference between “selected”, “unselected”, “current and selected” and “current but not selected” is extremely subtle.&amp;#160; &lt;/p&gt;  &lt;p&gt;In contrast, XP uses different and mutually exclusive UI techniques for selected vs. unselected (different background color) and current item (outline rectangle).&amp;#160; Vista’s fancy 3D pastels may be pretty to look &lt;em&gt;at&lt;/em&gt;, and thus nice for the first few minutes, but they’re hard to work &lt;em&gt;through&lt;/em&gt;, and thus a pain for ever.&lt;/p&gt;  &lt;p&gt;In fact, it really amuses me how we’ve “progressed” as far as monitors and GUIs are concerned.&amp;#160; First, we used curved reflective tube monitors that picked up reflections from lights and windows, and all we wanted was a matt non-reflective screen, or better yet, a screen with a flat surface that didn’t show these highlights.&amp;#160; Now that we have flat LCDs that don’t reflect the room back at us while we’re trying to work, we add fake highlights all over everything.&amp;#160; Then we’re told we need higher-performance (and power-hogging) hardware so we can see these added imperfections – very strange.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11573761-8891171074442375232?l=cquirke.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cquirke.blogspot.com/feeds/8891171074442375232/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11573761&amp;postID=8891171074442375232' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11573761/posts/default/8891171074442375232'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11573761/posts/default/8891171074442375232'/><link rel='alternate' type='text/html' href='http://cquirke.blogspot.com/2009/05/vista-ui-annoyances.html' title='Vista UI Annoyances'/><author><name>Chris Quirke</name><uri>http://www.blogger.com/profile/05538828571660803875</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://cquirke.mvps.org/images/cqhead.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11573761.post-8807594508277673640</id><published>2009-03-05T17:13:00.001-08:00</published><updated>2009-03-05T17:13:03.642-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Safety'/><title type='text'>Automatic Update May Force-Feed You</title><content type='html'>&lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:eb0e777a-f011-4208-ae3b-c254e29cc373" class="wlWriterEditableSmartContent"&gt;Technorati tags: &lt;a href="http://technorati.com/tags/Windows+Update" rel="tag"&gt;Windows Update&lt;/a&gt;&lt;/div&gt;  &lt;p&gt;Here’s a fun thing to try, as re-verified tonight in XP SP3: Set Automatic Updates to “Download updates for me, but let me choose when to install them”, then when the yellow shield shows new updates are ready to install, go “Advanced”, UNcheck all of them, and ignore the prompt.&lt;/p&gt;  &lt;p&gt;Now do the same thing with the yellow shield.&amp;#160; See how the updates are checked again?&amp;#160; UNcheck them again, as you did before.&lt;/p&gt;  &lt;p&gt;Now go to the Start Menu, Turn Off Computer.&amp;#160; Notice how the dialog box is set to install updates, with the non-icon link text to shutdown without installing them?&lt;/p&gt;  &lt;p&gt;In tonight’s case, the updates were two; one, a self-serving “Genuine Advantage” for MS Office, and the other, something to update with Windows Live Sign-In Assistant.&lt;/p&gt;  &lt;p&gt;I’ve debated this topic in a security newsgroup, who are gung-ho to have us consumers swallow updates immediately, even if they advise against immediately rolling updates across their own corporate network “production machines” before these are tested.&amp;#160; Well, as a consumer, I have a network of one crucial “production machine”, I don’t have pro-grade in-house testing capabilities, and yet I don’t want my system adversely impacted either.&lt;/p&gt;  &lt;p&gt;As it stands, you can read “Download updates for me, but let me choose when to install them” to mean “let me choose whether to install them right now, or have them forced into the system on next shutdown” or (as I did), “let me choose whether or not to install them at all”.&amp;#160; I want my downloaded updates stored somewhere in a redirectable location (hint: Not C:) so that I can initiate installation when I choose.&amp;#160; Yes, pre-check them in the yellow shield dialog box, but if I assert my desire to NOT install them by UNchecking them, then DO NOT install them.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11573761-8807594508277673640?l=cquirke.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cquirke.blogspot.com/feeds/8807594508277673640/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11573761&amp;postID=8807594508277673640' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11573761/posts/default/8807594508277673640'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11573761/posts/default/8807594508277673640'/><link rel='alternate' type='text/html' href='http://cquirke.blogspot.com/2009/03/automatic-update-may-force-feed-you.html' title='Automatic Update May Force-Feed You'/><author><name>Chris Quirke</name><uri>http://www.blogger.com/profile/05538828571660803875</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://cquirke.mvps.org/images/cqhead.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11573761.post-109478438759059487</id><published>2008-09-11T01:35:00.001-07:00</published><updated>2008-09-11T01:35:00.284-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Safety'/><title type='text'>Google Chrome - Born Dead?</title><content type='html'>&lt;p&gt;&lt;/p&gt; &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:56146aa7-6e00-49c6-b883-e23bb82c3843" class="wlWriterSmartContent"&gt;Technorati tags: &lt;a href="http://technorati.com/tags/Web%20browser" rel="tag"&gt;Web browser&lt;/a&gt;, &lt;a href="http://technorati.com/tags/safety" rel="tag"&gt;safety&lt;/a&gt;&lt;/div&gt; &lt;p&gt;&lt;/p&gt; &lt;p&gt;Web browsers are serious risk surfaces, so there's always room for a better one - but so far, most new browsers are a lot dumber than the incumbents.&lt;/p&gt; &lt;p&gt;So it was with Apple's &lt;a title="Wikipedia on &amp;quot;what is Safari?&amp;quot;" href="http://en.wikipedia.org/wiki/Safari_%28web_browser%29"&gt;Safari&lt;/a&gt;, when that was ported to Windows as a beta -it was &lt;a title="&amp;quot;Safari Bugs Popping Up Like Hotcakes&amp;quot;" href="http://www.informationweek.com/news/internet/showArticle.jhtml?articleID=199903540"&gt;found&lt;/a&gt;&amp;nbsp;&lt;a title="eWeek Security Watch on Safari for Windows" href="http://securitywatch.eweek.com/apple/day_one_becomes_0day_for_safari_for_windows_beta.html"&gt;to&lt;/a&gt;&amp;nbsp;&lt;a title="Security Focus on a design bug that Safari re-introduced in 3.1" href="http://www.securityfocus.com/bid/24484/info"&gt;be&lt;/a&gt;&amp;nbsp;&lt;a title="Beta News on Safari &amp;quot;Zero-Day Nightmare&amp;quot;" href="http://www.betanews.com/article/Day_One_for_Safari_for_Windows_Becomes_ZeroDay_Nightmare/1181661606"&gt;exploitable&lt;/a&gt; within &lt;a title="Slashdot; Safari Broken on First Day (actually, within hours)" href="http://apple.slashdot.org/article.pl?sid=07/06/12/0120230"&gt;two&lt;/a&gt;&amp;nbsp;&lt;a title="Techmeme &amp;quot;0-Day exploit in 2 hours&amp;quot;" href="http://www.techmeme.com/070612/p20#a070612p20"&gt;hours&lt;/a&gt;&amp;nbsp;&lt;a title="US National Vulnerability Database writeup of IFrame bug" href="http://web.nvd.nist.gov/view/vuln/detail;jsessionid=002adf11bd993204efef354192ea?execution=e1s1"&gt;of&lt;/a&gt;&amp;nbsp;&lt;a title="Information Week on Safari 0-Day Exploitability" href="http://www.informationweek.com/news/internet/showArticle.jhtml?articleID=199903540"&gt;release&lt;/a&gt;.&amp;nbsp; So &lt;a title="ZD Net on Chrome's DoS-ability, crashing all tabs" href="http://blogs.zdnet.com/security/?p=1847&amp;amp;tag=nl.e550"&gt;it&lt;/a&gt; &lt;a title="ZD Net on Chrome's old Safari &amp;quot;desktop download&amp;quot; flaw" href="http://blogs.zdnet.com/security/?p=1843"&gt;is&lt;/a&gt; with Google's &lt;a title="ZD Net on Chrome's intended security features" href="http://blogs.zdnet.com/security/?p=1847&amp;amp;tag=nl.e550"&gt;Chrome&lt;/a&gt;, which should be no surprise as it &lt;a title="Quote: &amp;quot;Google specifically used a version of WebKit prior to the fix for the Carpet Bombing bug.&amp;quot;" href="http://blogs.pcmag.com/securitywatch/2008/09/googles_chrome_tries_to_raise.php"&gt;uses&lt;/a&gt; the pre-fixed exploited code from Safari!&lt;/p&gt; &lt;p&gt;&lt;strong&gt;By-design safety&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;Google talk a good talk, with these security &lt;a title="ZD's coverage of Google Chrome beta release" href="http://blogs.zdnet.com/security/?p=1837"&gt;features&lt;/a&gt; widely quoted:&lt;/p&gt; &lt;ul&gt; &lt;li&gt;&lt;a title="IE8 InPrivate mode and other de-tracking features" href="http://blogs.msdn.com/ie/archive/2008/08/25/ie8-and-privacy.aspx"&gt;Privacy&lt;/a&gt; mode for trackless browsing  &lt;li&gt;Each tab runs in its own context, can't crash other tabs  &lt;li&gt;Tabs run in a "sandbox", can't attack the rest of the system  &lt;li&gt;Updates list of bad sites from Google's servers, to spot phishing scams  &lt;li&gt;Web pages can open without browser UI elements (uhh... why is this "secure"?)&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;My first reaction when I read this was, "wow, Google scooped IE8's feature set", given that IE8 builds IE7's to &lt;a title="IE7's Phishing Filter from 2005" href="http://blogs.msdn.com/ie/archive/2005/09/09/463204.aspx"&gt;phishing filter&lt;/a&gt; into a &lt;a title="IE8's SmartScreen enhancements to Phishing Filter" href="http://blogs.msdn.com/ie/archive/2008/07/02/ie8-security-part-iii-smartscreen-filter.aspx"&gt;more comprehensive&lt;/a&gt; updated system, &lt;a title="IE8's Loosely-Coupled-IE (LICE) feature, March 2008 write-up" href="http://blogs.msdn.com/ie/archive/2008/03/11/ie8-and-loosely-coupled-ie-lcie.aspx"&gt;runs tabs in separate processes&lt;/a&gt; so they don't crash the whole browser, and Vista runs IE7 and thus IE8 in a safer "&lt;a title="IE7 Protected Mode from 2006" href="http://blogs.msdn.com/ie/archive/2006/02/09/528963.aspx"&gt;protected mode&lt;/a&gt;" for well over a year now.&amp;nbsp; I don't know whether Google's "sandbox" is stronger and safer than IE7-on-Vista's "protected mode", or whether either of these constitute an effective "sandbox".&lt;/p&gt; &lt;p&gt;Then I thought: Hang on, this is a newly-released beta, whereas IE8 has been in beta for a while now and has already been more widely released as beta 2... so who's first to offer these features?&lt;/p&gt; &lt;p&gt;I have to wonder why Google thinks it's a good idea to spawn web content (basically, stuff foisted from the web) as generic stand-alone windows, when we already have so many problems with pop-ups forging system dialog boxes to push fake scanners etc.&amp;nbsp; Why is it considered a good idea to let sites hide the address bar, when phishing attacks so often use misleading URLs that HTML allows to be covered with arbitrary text, including completely different fake URLs?&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Code safety&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;Google talks about a large sandboxed system to interpret JavaScript, which sounds a bit like the idea behind Java.&amp;nbsp; Well, we've &lt;a title="&amp;quot;Banking on Java&amp;quot; from this blog" href="http://cquirke.blogspot.com/2006/09/banking-on-java.html"&gt;seen&lt;/a&gt; &lt;a title="Google( Java Vulnerability )" href="http://www.google.com/search?hl=en&amp;amp;rls=com.microsoft%3Aen-us%3AIE-SearchBox&amp;amp;rlz=1I7ADBR&amp;amp;q=Java+vulnerability"&gt;how well&lt;/a&gt; that &lt;a title="Old versions; block to protect, or allow to be compatible?" href="http://cquirke.blogspot.com/2008/09/compatibility-vs-safety.html"&gt;works&lt;/a&gt;, given the long list of security updates that Sun have to constantly release to keep up with code exploits - so we'd have to hope Google are really good at crafting safe, non-exploitable code.&lt;/p&gt; &lt;p&gt;So it doesn't bode well, that the public beta they release is based on a known-exploitable code base, which is already being attacked, at a time when patched versions of this code are already being retro-fitted to existing Safari installations.&amp;nbsp; &lt;/p&gt; &lt;p&gt;Why would Google not build their beta on the fixed code base?&amp;nbsp; It's Open Source, and already available, why not use it?&amp;nbsp; Would it have killed them to delay the hitherto-secret web browser beta until they'd adopted the fixed code?&amp;nbsp; Or is the need to leverage pre-arranged hype etc. more important than shipping known-exploited code to users?&amp;nbsp; And why does the fixed release still &lt;a title="ZD Net: &amp;quot;Curiously,  user agent for the fully patched version of Chrome (version 0.2.149.29) is still showing WebKit 525.13 (Safari 3.1)&amp;quot;" href="http://blogs.zdnet.com/security/?p=1865&amp;amp;tag=nl.e539"&gt;report&lt;/a&gt; the exploitable code base version?&amp;nbsp; &lt;/p&gt; &lt;p&gt;&lt;strong&gt;Trust me, I'm a software vendor&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;How do you feel about vendors who &lt;a title="Google's patches are silently pushed, and you can't say no" href="http://www.monacome.com/2008/09/google-chrome-updates-fix-bugs-security.html"&gt;silently push new code&lt;/a&gt; into your system and are &lt;a title="Cnet on finding out what the recent update actually fixes" href="http://news.cnet.com/8301-1009_3-10035004-83.html"&gt;slow&lt;/a&gt; to tell you what it does?&amp;nbsp; Here's what Google is quoted as saying about that:&lt;/p&gt; &lt;blockquote&gt; &lt;p&gt;"Users do not get a notification when they are updated. When there are security fixes, it's crucial that we update our users as quickly as possible in order to keep them safe. Thus, it's important for us to not require user intervention. There are some security fixes that we'll keep quiet because we don't want to disclose security vulnerabilities to attackers"&lt;/p&gt;&lt;/blockquote&gt; &lt;p&gt;To me, that reads like a dangerous combination of Mickey-Mouse attempts at security via obscurity, plus supreme vendor arrogance.&amp;nbsp; &lt;/p&gt; &lt;p&gt;&lt;strong&gt;But wait, there's more...&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;Further things have come to light when searching for links for this post, such as &lt;a title="Chrome installs under AppData, Local - not Program Files" href="http://blog.noop.se/archive/2008/09/05/google-chrome-plays-outside-of-vista-security-zones.aspx"&gt;installing&lt;/a&gt; in a "data" location (thus side-stepping Vista's protection for "Program Files") and a rather too-effective &lt;a title="&amp;quot;Chrome is a security nightmare, indexes your bank accounts&amp;quot;" href="http://www.tgdaily.com/content/view/39176/108/"&gt;search&lt;/a&gt; that finds supposedly private things.&lt;/p&gt; &lt;p&gt;"Well, it's a beta", I can hear you say.&amp;nbsp; That's why it's safely tucked away deeply within Google's developer site, so that only the adventurous and knowledgeable will find it, right?&amp;nbsp; I mean, it's not as if it's being shoved at everyone via popular or vendor-set &lt;a title="Ah, I see it's not on the Google home page (anymore?)" href="www.google.com"&gt;web pages&lt;/a&gt; so that it's gaining &lt;a title="ZD Net: &amp;quot;Google has apparently surpassed Opera in market share&amp;quot;" href="http://blogs.zdnet.com/carroll/?p=1874&amp;amp;tag=nl.e539"&gt;significant market share&lt;/a&gt;, is it?&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11573761-109478438759059487?l=cquirke.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cquirke.blogspot.com/feeds/109478438759059487/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11573761&amp;postID=109478438759059487' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11573761/posts/default/109478438759059487'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11573761/posts/default/109478438759059487'/><link rel='alternate' type='text/html' href='http://cquirke.blogspot.com/2008/09/google-chrome-born-dead.html' title='Google Chrome - Born Dead?'/><author><name>Chris Quirke</name><uri>http://www.blogger.com/profile/05538828571660803875</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://cquirke.mvps.org/images/cqhead.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11573761.post-8512976766347681682</id><published>2008-09-10T06:29:00.001-07:00</published><updated>2008-09-10T06:29:20.001-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Safety'/><title type='text'>Compatibility vs. Safety</title><content type='html'>&lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:cf4b3088-0b98-4ce4-9fd5-82b559a72461" class="wlWriterSmartContent"&gt;Technorati tags: &lt;a href="http://technorati.com/tags/Software%20Updates" rel="tag"&gt;Software Updates&lt;/a&gt;, &lt;a href="http://technorati.com/tags/Safety" rel="tag"&gt;Safety&lt;/a&gt;&lt;/div&gt; &lt;p&gt;Once upon a time, new software was of interest because it had new features or other improvements over previous versions.&amp;nbsp; This attracted us to new versions, but we still wanted our old stuff to work - so the new versions would often retain old code to stay compatible with what we already had.&lt;/p&gt; &lt;p&gt;Today, we're not so much following the carrot of quality, but fleeing the stick of quality &lt;em&gt;failure&lt;/em&gt;.&amp;nbsp; We are often told we &lt;em&gt;must&lt;/em&gt; get a new version because the old version was so badly made, it could be exploited to do all sorts of unwanted things.&amp;nbsp; In this case, we want to &lt;em&gt;break&lt;/em&gt; compatibility so that the old exploit techniques will no longer work!&lt;/p&gt; &lt;p&gt;Yet often the same vendors who drive us to "patch" or "upgrade" their products to avoid exploitation risks, still seem to think we are attracted by features, not driven by fear.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Sun's Java&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;I've highlighted the long-standing problems with &lt;a title="Banking on Java (on this blog)" href="http://cquirke.blogspot.com/2006_09_01_archive.html"&gt;Sun's Java&lt;/a&gt; before, and they are &lt;a title="Washington Post article from July 2008" href="http://blog.washingtonpost.com/securityfix/2008/07/remnant_java_versions_again_po.html?nav=rss_blog"&gt;still&lt;/a&gt; &lt;a title="Blog article on Sun's &amp;quot;Secure Static Versioning&amp;quot;" href="http://weblogs.java.net/blog/enicholas/archive/2006/10/what_you_should_1.html"&gt;squirming&lt;/a&gt; around their &lt;a title="Sun's 1.5 update 6 was supposed to fix this, as per this 2006 article" href="http://sunsolve.sun.com/search/document.do?assetkey=1-26-102557-1&amp;amp;searchclause=%22category:security%22%2420%22availability,%2420security%22%2420category:security"&gt;promise&lt;/a&gt; to mend their ways.&amp;nbsp; In short, they may still leave old exploitable versions of the Java JRE on your system, but it's no longer quite as easy for malware to select these as their preferred interpreter.&amp;nbsp; Still, you're probably safer if you uninstall these old JREs (as Sun's Java updater typically does not do) than trust Sun to deny code access to them.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Microsoft's Side By Side&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;Here's an interesting &lt;a title="Microsoft article on SxS and how it pertains to risk management" href="http://blogs.technet.com/swi/archive/2008/09/09/ms08-052-explaining-the-windows-side-by-side-cache.aspx"&gt;article&lt;/a&gt; on the Windows SxS (&lt;a title="Article on Side-By-Side assemblies" href="http://msdn.microsoft.com/en-us/library/aa376307.aspx"&gt;Side By Side&lt;/a&gt;) facility, which aims to appease software that was written for older versions of system .DLLs and thus ease the pain of "&lt;a title="A Win9x-era article on managing DLL conflicts; modern tactics may have to vary" href="http://cquirke.mvps.org/9x/dllhell.htm"&gt;DLL Hell&lt;/a&gt;".&amp;nbsp; This works by retaining old versions of these .DLLs so that older software can specify access to them, via their &lt;a title="Article describing what manifests are and how they work" href="http://msdn.microsoft.com/en-us/library/aa375365(VS.85).aspx"&gt;manifest&lt;/a&gt;.&amp;nbsp; &lt;/p&gt; &lt;p&gt;How is that different from Sun's accursed practice?&amp;nbsp; &lt;/p&gt; &lt;p&gt;Well, is generally isn't, as far as I can tell, until a particular exploit situation is recognized where this behaviour poses a risk.&amp;nbsp; The &lt;a title="From September 2008; more holes in GDIPlus" href="http://www.microsoft.com/technet/security/bulletin/ms08-052.mspx"&gt;current crisis du jour&lt;/a&gt; involves exploits against GDIPlus.dll - yep the same one that was &lt;a title="Fix for GDIPlus buffer overrun, from 2004" href="http://www.microsoft.com/technet/security/bulletin/MS04-028.mspx"&gt;fixed before&lt;/a&gt; - and the patch this time includes a facility to block access to old versions of the .DLL, leveraging a feature already designed into the SxS subsystem.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11573761-8512976766347681682?l=cquirke.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cquirke.blogspot.com/feeds/8512976766347681682/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11573761&amp;postID=8512976766347681682' title='7 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11573761/posts/default/8512976766347681682'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11573761/posts/default/8512976766347681682'/><link rel='alternate' type='text/html' href='http://cquirke.blogspot.com/2008/09/compatibility-vs-safety.html' title='Compatibility vs. Safety'/><author><name>Chris Quirke</name><uri>http://www.blogger.com/profile/05538828571660803875</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://cquirke.mvps.org/images/cqhead.jpg'/></author><thr:total>7</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11573761.post-7477119823445045810</id><published>2008-09-05T20:49:00.001-07:00</published><updated>2008-09-05T20:49:28.171-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Safety'/><title type='text'>The Most Dangerous File Type Is...</title><content type='html'>&lt;p&gt; &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:ba533623-bf55-494a-9475-a6d3fe0d6f6c" class="wlWriterSmartContent"&gt;Technorati tags: &lt;a href="http://technorati.com/tags/Malware" rel="tag"&gt;Malware&lt;/a&gt;, &lt;a href="http://technorati.com/tags/Safety" rel="tag"&gt;Safety&lt;/a&gt;&lt;/div&gt;&lt;/p&gt; &lt;p&gt;The most dangerous file type is... what?&lt;/p&gt; &lt;p&gt;Well, you pass if you said ".exe", and get bonus marks for ".pif, because it's just as dangerous thanks to poor type discipline, and more so because of poor UI safely that hides what it is".&amp;nbsp; But today's answer may be neither.&lt;/p&gt; &lt;p&gt;By the time a code file lands up on your system, there's a chance your antivirus will have been updated to know what it is, and may save the attacker's shot at goal.&amp;nbsp; But a link can point to fresh malware code that's updated on the server side in real time; that's far more likely to be "too new" for av to detect, and once it's running, it can kill or subvert your defences.&lt;/p&gt; &lt;p&gt;We need to apply this realization to the way we evaluate and manage risk, to up-rate the risk posed by whatever can deliver Internet links.&amp;nbsp; Think "safe" messages without scripts or attachments, and blog comment spam (including the link from the comment poster's name).&amp;nbsp; &lt;/p&gt; &lt;p&gt;Think also about how HTML allows arbitrary text to overlie a link, including text that looks like the link itself.&amp;nbsp; This &lt;a title="Yes, there really is a &amp;quot;bad.com&amp;quot;" href="http://www.bad.com"&gt;link&lt;/a&gt; could obviously go to www.bad.com, but it's less obvious that &lt;a title="Yes, there really is a &amp;quot;bad.com&amp;quot;, and here it is again" href="http://www.bad.com/"&gt;www.microsoft.com&lt;/a&gt; could go there instead.&amp;nbsp; Then think how HTML is ubiquitously tossed around as a generic "rich text" interchange medium, from email message "text" to .CHM Help files.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11573761-7477119823445045810?l=cquirke.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cquirke.blogspot.com/feeds/7477119823445045810/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11573761&amp;postID=7477119823445045810' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11573761/posts/default/7477119823445045810'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11573761/posts/default/7477119823445045810'/><link rel='alternate' type='text/html' href='http://cquirke.blogspot.com/2008/09/most-dangerous-file-type-is.html' title='The Most Dangerous File Type Is...'/><author><name>Chris Quirke</name><uri>http://www.blogger.com/profile/05538828571660803875</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://cquirke.mvps.org/images/cqhead.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11573761.post-2368846715687672877</id><published>2008-08-13T10:31:00.001-07:00</published><updated>2008-08-13T10:31:16.673-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PC maintenance'/><title type='text'>Bart Plugin for Spybot 1.6</title><content type='html'>&lt;p&gt; &lt;div style="padding-right: 0px; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px; display: inline" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:79f92a3c-f6b4-4cce-8065-d7c52cea71d9" class="wlWriterSmartContent"&gt;Technorati tags: &lt;a href="http://technorati.com/tags/Bart%20PE" rel="tag"&gt;Bart PE&lt;/a&gt;, &lt;a href="http://technorati.com/tags/Bart%20plugin" rel="tag"&gt;Bart plugin&lt;/a&gt;, &lt;a href="http://technorati.com/tags/Spybot" rel="tag"&gt;Spybot&lt;/a&gt;, &lt;a href="http://technorati.com/tags/maintenance%20OS" rel="tag"&gt;maintenance OS&lt;/a&gt;&lt;/div&gt;&lt;/p&gt; &lt;p&gt;See &lt;a title="Previous blog post about Spybot 1.6 and Bart integration issues" href="http://cquirke.blogspot.com/2008/08/spybot-16-and-bart-pe.html"&gt;previous post&lt;/a&gt; about the new version 1.6 of &lt;a title="Spybot home page" href="http://www.spybot.info/en/home/index.html"&gt;Spybot&lt;/a&gt; SD and its issues.&amp;nbsp; I've updated my Bart plugin (tested with XP SP2 code base, &lt;a title="Bart PE home page" href="http://www.nu2.nu/pebuilder/"&gt;Bart&lt;/a&gt; Builder 3.1.3) to address these, and offer it here, along with .REG for control in Windows.&lt;/p&gt; &lt;p&gt;To use the plugin, do this:&lt;/p&gt; &lt;ul&gt; &lt;li&gt;Navigate into your Bart Builder plugin folder&lt;/li&gt; &lt;li&gt;Create new folder called SpybotSD and enter it&lt;/li&gt; &lt;li&gt;Copy this post's plugin files to this location&lt;/li&gt; &lt;li&gt;Create a subfolder Files within this location and enter it&lt;/li&gt; &lt;li&gt;Copy the installed Spybot 1.6 subtree contents into here&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;The plugin is written with these assumptions and dependencies:&lt;/p&gt; &lt;ul&gt; &lt;li&gt;Standard Bart PE Builder with nu2menu as shell&lt;/li&gt; &lt;li&gt;Cmdow utility in Bart included Bin folder (not essential)&lt;/li&gt; &lt;li&gt;Paraglider's RunScanner plugin in plugin\RunScanner&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;&lt;strong&gt;Cmdow&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;Cmdow hides windows for processors, and I use it to hide the .CMD launcher; it's purely cosmetic, so if missing, the plugin will still work.&amp;nbsp; Because Cmdow can be dropped on systems and used maliciously, many scanners will detect it as a "potentially unwanted program", and fair enough!&lt;/p&gt; &lt;p&gt;&lt;strong&gt;RunScanner&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;RunScanner allows registry-aware tools to run relative to an inactive set of hives, rather than those of the booted OS.&amp;nbsp; Spybot has native awareness of this situation, so theoretically doesn't need RunScanner, but I find I get better detections if I use it anyway.&amp;nbsp; If RunScanner isn't present, you'd have to revise the .INF and .XML for it else it won't work.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;SpybotSD.inf&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;This determines how Spybot 1.6 is integrated into the Bart CDR at build time.&lt;/p&gt; &lt;blockquote&gt; &lt;p&gt;; spybotsd.inf&lt;br&gt;; PE Builder v3 plug-in INF file for Spybot - Search &amp;amp; Destroy by Safer Networking Ltd.&lt;br&gt;; Created by Patrick M. Kolla, Jochen Tösmann and modified by cquirke for Spybot 1.6&lt;/p&gt; &lt;p&gt;[Version]&lt;br&gt;Signature= "$Windows NT$"&lt;/p&gt; &lt;p&gt;[PEBuilder]&lt;br&gt;Name="Spybot - Search &amp;amp; Destroy"&lt;br&gt;Enable=1&lt;br&gt;Help="spybotsd.htm"&lt;/p&gt; &lt;p&gt;[WinntDirectories]&lt;br&gt;a="Programs\SpybotSD",2&lt;br&gt;b="Programs\SpybotSD\Dummies",2&lt;br&gt;c="Programs\SpybotSD\Excludes",2&lt;br&gt;d="Programs\SpybotSD\Help",2&lt;br&gt;e="Programs\SpybotSD\Includes",2&lt;br&gt;f="Programs\SpybotSD\Languages",2&lt;br&gt;g="Programs\SpybotSD\Plugins",2&lt;/p&gt; &lt;p&gt;h="Programs\SpybotSD\HelpHTML",2&lt;br&gt;i="Programs\SpybotSD\HelpHTML\css",2&lt;br&gt;j="Programs\SpybotSD\HelpHTML\html",2&lt;br&gt;k="Programs\SpybotSD\HelpHTML\images",2&lt;/p&gt; &lt;p&gt;[SourceDisksFiles]&lt;br&gt;*.cmd=a,,1&lt;/p&gt; &lt;p&gt;files\blindman.exe=a,,1&lt;br&gt;files\SDMain.exe=a,,1&lt;br&gt;files\SDUpdate.exe=a,,1&lt;br&gt;files\SDWinSec.exe=a,,1&lt;br&gt;files\SpybotSD.exe=a,,1&lt;br&gt;files\TeaTimer.exe=a,,4&lt;br&gt;files\Update.exe=a,,4&lt;br&gt;files\advcheck.dll=a,,1&lt;br&gt;files\aports.dll=a,,1&lt;br&gt;files\DelZip179.dll=a,,1&lt;br&gt;files\SDHelper.dll=a,,4&lt;br&gt;files\Tools.dll=a,,4&lt;br&gt;files\messages.zres=a,,1&lt;br&gt;files\Tools.dll=a,,1&lt;br&gt;files\sqlite3.dll=a,,4&lt;/p&gt; &lt;p&gt;files\Dummies\*.*=b,,1&lt;br&gt;files\Excludes\*.*=c,,4&lt;br&gt;files\Help\*.*=d,,4&lt;br&gt;files\Includes\*.*=e,,1&lt;br&gt;files\Languages\*.*=f,,4&lt;br&gt;files\Plugins\*.*=g,,1&lt;/p&gt; &lt;p&gt;files\HelpHTML\*.*=g,,4&lt;br&gt;files\HelpHTML\css\*.*=h,,4&lt;br&gt;files\HelpHTML\html\*.*=i,,4&lt;br&gt;files\HelpHTML\images\*.*=j,,4&lt;/p&gt; &lt;p&gt;[Software.AddReg]&lt;br&gt;0x4, "Safer Networking Limited\Tweaks", "DisableTempFolderCleaning", 0x1&lt;br&gt;0x1, "Paraglider\RunScanner\SpybotSD.exe", "HKLM", "Software\Safer Networking Limited\Tweaks"&lt;/p&gt; &lt;p&gt;[Append]&lt;br&gt;nu2menu.xml, spybotsd_nu2menu.xml&lt;/p&gt;&lt;/blockquote&gt; &lt;p&gt;Ensure that when you copy and paste these files, that they are free of HTML tags and formatting junk, and that long lines (e.g. the two lines in the last section) are not broken.&amp;nbsp; The above differs from Safer Networking's plugin for 1.5, in that:&lt;/p&gt; &lt;ul&gt; &lt;li&gt;It includes new code file sqlite3.dll&lt;/li&gt; &lt;li&gt;It suppresses automatic temp file clearance&lt;/li&gt; &lt;li&gt;It persists the above setting through RunScanner&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;The last is useful, so you don't have to use non-zero /t parameters in an attempt to delay registry redirection until Spybot has checked for the "disable temp clearance" setting.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;SpybotSD_nu2menu.xml&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;This integrates Spybot 1.6 into the Bart menu system, and is referenced from the .INF during build time.&amp;nbsp; &lt;/p&gt; &lt;blockquote&gt; &lt;p&gt;&amp;lt;!-- Nu2Menu entry for SpybotSD --&amp;gt;&lt;br&gt;&amp;lt;NU2MENU&amp;gt;&lt;br&gt; &amp;lt;MENU ID="Programs"&amp;gt;&lt;br&gt;&amp;nbsp; &amp;lt;MITEM TYPE="ITEM" DISABLED="@Not(@FileExists(@GetProgramDir()\..\SpybotSD\SpybotSD.exe))" CMD="RUN" FUNC="@GetProgramDir()\..\SpybotSD\SpybotSD.exe"&amp;gt;Spybot 1.5.2&amp;lt;/MITEM&amp;gt;&lt;br&gt; &amp;lt;/MENU&amp;gt;&lt;br&gt;&amp;lt;/NU2MENU&amp;gt;&lt;/p&gt;&lt;/blockquote&gt; &lt;p&gt;You may change this to strip references to RunScanner, relocate it to a different menu flyout etc. or if you're fed up with disordered menus, you may simply leave out this file (; comment it out in the .INF) and add your reference directly to plugin\nu2menu\nu2menu.xml - once again, watch out for long lines; there is in fact only one line between the MENU ID and /MENU tags.&lt;/p&gt; &lt;p&gt;&lt;strong&gt; SpybotSD.cmd&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;This launches Spybot 1.6 from the nu2menu entry at runtime.&lt;/p&gt; &lt;blockquote&gt; &lt;p&gt;@Echo Off&lt;/p&gt; &lt;p&gt;SetLocal&lt;/p&gt; &lt;p&gt;Set Debug=&lt;br&gt;Set Prog=SpybotSD.exe&lt;br&gt;Set Launch=%~dp0..\RunScanner\RunScanner.exe&lt;br&gt;Set Opt=/t 0&lt;/p&gt; &lt;p&gt;If Not Defined Debug (&lt;br&gt;&amp;nbsp; Cmdow @ /HID&lt;br&gt;&amp;nbsp; %~dp0..\..\Bin\Cmdow @ /HID&lt;br&gt;) Else (&lt;br&gt;&amp;nbsp; Title Debug&lt;br&gt;&amp;nbsp; Echo.&lt;br&gt;&amp;nbsp; Echo ProgDir&amp;nbsp; %~dp0&lt;br&gt;&amp;nbsp; Echo Prog&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; %Prog%&lt;br&gt;&amp;nbsp; Echo Launch&amp;nbsp;&amp;nbsp; %Launch%&lt;br&gt;&amp;nbsp; Echo Opt&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; %Opt%&lt;br&gt;&amp;nbsp; Echo.&lt;br&gt;&amp;nbsp; Pause&lt;br&gt;&amp;nbsp; Title %~dp0%Prog%&lt;br&gt;)&lt;/p&gt; &lt;p&gt;If Exist "%~dp0Files\%Prog%" Set ProgDir=%~dp0Files\&lt;br&gt;If Exist "%~dp0%Prog%"&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Set ProgDir=%~dp0&lt;br&gt;If Defined ProgDir (&lt;br&gt;&amp;nbsp; If "%SystemDrive%"=="%~d0" (&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Start %Launch% %Opt% %ProgDir%%Prog%&lt;br&gt;&amp;nbsp; ) Else (&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Start %ProgDir%%Prog%&lt;br&gt;&amp;nbsp; )&lt;br&gt;) Else (&lt;br&gt;&amp;nbsp; Title Error - target executable not found!&lt;br&gt;&amp;nbsp; Echo "%Prog%" not found in %~dp0 or %~dp0Files\ - abort!&lt;br&gt;&amp;nbsp; Pause&lt;br&gt;&amp;nbsp; EndLocal&lt;br&gt;&amp;nbsp; Exit /b 1&lt;br&gt;)&lt;/p&gt; &lt;p&gt;If Defined Debug (&lt;br&gt;&amp;nbsp; Echo.&lt;br&gt;&amp;nbsp; Echo Done!&lt;br&gt;&amp;nbsp; Echo.&lt;br&gt;&amp;nbsp; Pause&lt;br&gt;)&lt;/p&gt; &lt;p&gt;EndLocal&lt;/p&gt; &lt;p&gt;Exit /b 0&lt;/p&gt;&lt;/blockquote&gt; &lt;p&gt;You can edit this to strip out the "debug" part (define the Debug variable to enable it), as well as references to Cmdow and RunScanner.&amp;nbsp; By changing the variables, you can use this for other "easy" tool plugins (e.g. HiJackThis).&lt;/p&gt; &lt;p&gt;The logic goes as follows; if boot drive is same as where we are, then we're Bart-booted and need to apply RunScanner redirection, else we're not, and can run the tool directly.&amp;nbsp; This logic will also not use RunScanner if run from a WinPE 2.0 boot disk, which is OK with me as I don't know how safe RunScanner is for Vista hives.&lt;/p&gt; &lt;p&gt;An extra bit of logic is applied to deriving the path to the tool, so that the .CMD will work when run from the pre-build subtree.&amp;nbsp; This is also why the .XML uses relative "GetProgramDir()\..\" paths, rather than the more commonly used "GetProgramDrive()\Programs\" paths that break in the pre-build or pre-iso environments.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Windows .REG&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;You can also control some of Spybot's potentially unwanted behaviours via .REG in Windows, similar to the Software.AddReg section in the .INF above:&lt;/p&gt; &lt;blockquote&gt; &lt;p&gt;Windows Registry Editor Version 5.00&lt;br&gt;&lt;br&gt;[HKEY_LOCAL_MACHINE\SOFTWARE\Safer Networking Limited\Tweaks]&lt;br&gt;"DisableTempFolderCleaning"=dword:00000001&lt;/p&gt; &lt;p&gt;[HKEY_LOCAL_MACHINE\SOFTWARE\Paraglider\RunScanner\SpybotSD.exe]&lt;br&gt;"HKLM"="Software\\Safer Networking Limited\\Tweaks"&lt;/p&gt;&lt;/blockquote&gt; &lt;p&gt;The second part of the above will pre-load appropriate settings for a Bart session using RunScanner, in case the RunScanner's parameters cause it to read its settings from the hard drive's hives.&lt;/p&gt; &lt;p&gt;Some settings can be changed interactively, e.g. disabling the intrusive Tea Timer feature, while others have to be excluded at the time of installation.&amp;nbsp; One of the latter, is the right-click context menu action to scan using Spybot, which annoyed &lt;a title="Mow's post is the second in this forum thread, offering .REG fixes" href="http://aumha.net/viewtopic.php?f=31&amp;amp;t=34347#p198399"&gt;these folks&lt;/a&gt; who offer this fix:&lt;/p&gt; &lt;blockquote&gt; &lt;p&gt;Windows Registry Editor Version 5.00&lt;/p&gt; &lt;p&gt;[-HKEY_CLASSES_ROOT\*\Shell\sdfiles]&lt;br&gt;&lt;br&gt;[-HKEY_CLASSES_ROOT\Folder\shell\sdfiles]&lt;br&gt;&lt;br&gt;[-HKEY_LOCAL_MACHINE\SOFTWARE\Classes\*\Shell\sdfiles]&lt;/p&gt;&lt;/blockquote&gt; &lt;p&gt;The * association is applied to all things, hence all things can be right-clicked and scanned.&amp;nbsp; There's an Undo .REG in the same post in &lt;a title="See the second post for details, including Undo .REG" href="http://aumha.net/viewtopic.php?f=31&amp;amp;t=34347#p198399"&gt;that thread&lt;/a&gt;.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11573761-2368846715687672877?l=cquirke.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cquirke.blogspot.com/feeds/2368846715687672877/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11573761&amp;postID=2368846715687672877' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11573761/posts/default/2368846715687672877'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11573761/posts/default/2368846715687672877'/><link rel='alternate' type='text/html' href='http://cquirke.blogspot.com/2008/08/bart-plugin-for-spybot-16.html' title='Bart Plugin for Spybot 1.6'/><author><name>Chris Quirke</name><uri>http://www.blogger.com/profile/05538828571660803875</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://cquirke.mvps.org/images/cqhead.jpg'/></author><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11573761.post-3928603174229706008</id><published>2008-08-12T07:58:00.001-07:00</published><updated>2008-08-12T08:02:21.804-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Malware'/><category scheme='http://www.blogger.com/atom/ns#' term='PC maintenance'/><title type='text'>Spybot 1.6 and Bart PE</title><content type='html'>&lt;p&gt; &lt;div style="padding-right: 0px; padding-left: 0px; float: none; padding-bottom: 0px; margin: 0px; padding-top: 0px; display: inline" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:d0a4e9de-b1f6-4f6b-8287-3d371a7a74b1" class="wlWriterSmartContent"&gt;Technorati tags: &lt;a href="http://technorati.com/tags/Bart%20PE" rel="tag"&gt;Bart PE&lt;/a&gt;, &lt;a href="http://technorati.com/tags/maintenance%20OS" rel="tag"&gt;maintenance OS&lt;/a&gt;, &lt;a href="http://technorati.com/tags/malware" rel="tag"&gt;malware&lt;/a&gt;&lt;/div&gt;&lt;/p&gt; &lt;p&gt;Malware scanners tend to focus on resident protection rather than intervention and clean-up, but &lt;a title="Home of Spybot Search and Destroy" href="http://forums.spybot.info/project.php?issueid=265"&gt;Spybot&lt;/a&gt; has always had a clue there.&amp;nbsp; Not only does Spybot &lt;a title="FAQ answer on Bart compatibility, with links to plugin" href="http://www.spybot.info/en/faq/43.html"&gt;explicitly&lt;/a&gt; support &lt;a title="Home site for Bart PE Builder" href="http://www.nu2.nu/pebuilder/"&gt;Bart PE&lt;/a&gt; as a formal scanning platform, it can also be aware of &lt;a title="FAQ answer on scanning inactive installations" href="http://www.spybot.info/en/faq/41.html"&gt;inactive&lt;/a&gt; registry hives, e.g. if you were to drop an ?infected hard drive into a Windows host system to clean it from there.&lt;/p&gt; &lt;p&gt;Bart has a &lt;a title="Documentation for Bart plugin format" href="http://www.nu2.nu/pebuilder/help/english/pluginformat.htm"&gt;plugin&lt;/a&gt; facility to integrate tools, and whenever there's a new version of a &lt;a title="A list of available plugins, plus links to further collections etc." href="http://www.nu2.nu/pebuilder/plugins/"&gt;plugged-in tool&lt;/a&gt;, there may be changes required, or new unwanted behaviours to work around.&amp;nbsp; Such is the case with the new Spybot 1.6&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Spybot 1.6 plugin changes&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;A Bart plugin is a set of files that control how a program is integrated into a Bart CDR.&amp;nbsp; Build-time instructions are defined in an .inf, menu integration via an nu2menu.xml, runtime control via a .cmd (if needed), and human documentation via an HTML file.&lt;/p&gt; &lt;p&gt;The .inf defines what files are to be copied to the CDR and where they are to be located, in the &lt;a title="Documentation of SourceDisksFiles and SourceDisksFolders syntax" href="http://www.nu2.nu/pebuilder/help/english/pluginformat.htm#SourceDisksFiles"&gt;SourceDisksFiles&lt;/a&gt; and SourceDisksFolders sections.&amp;nbsp; If you've used SourceDisksFiles to explicitly name every file from within Spybot 1.4 or 1.5 to be copied to CDR, and you then drop in the Spybot 1.6 file set and build a new Bart disk, then you'll find Spybot will fail to launch from the disk.&lt;/p&gt; &lt;p&gt;If so, you can fix this by adding a line to include sqlite3.dll, which is a new file not present in earlier versions of Spybot SD.&amp;nbsp; Or you can use wildcard syntax to include all dll files, i.e. *.dll as files to be included.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Unwanted behaviour&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;Spybot 1.6 has a &lt;a title="A forum comment on this new feature" href="http://forums.spybot.info/showpost.php?p=222501&amp;amp;postcount=6"&gt;controversial&lt;/a&gt; &lt;a title="From the beta period, some folks weren't happy..." href="http://forums.spybot.info/project.php?issueid=265"&gt;new&lt;/a&gt; feature; it deletes Temp files when it starts up.&amp;nbsp; This is "controlled" by a 6-second dialog box that appears as Spybot starts up (so if you start it and walk away, you'll miss it) and defaults to "Yes, delete temp files".&lt;/p&gt; &lt;p&gt;This is a bigger problem within the Bart environment, which often has troublesome graphics due to unrecognised display chipsets.&amp;nbsp; In my first Bart session with Spybot 1.6, I expected the dialog, but it appeared with blank buttons.&amp;nbsp; By the time I checked out what button was what, testing on another PC, the 6 seconds were up, and I'd lost material I'd have preferred to include in further malware scans.&lt;/p&gt; &lt;p&gt;There is a rather obscure &lt;a title="Registry setting to suppress auto-deletion of Temp files" href="http://forums.spybot.info/showthread.php?p=210587#post210587"&gt;fix&lt;/a&gt; for this, which I will add to my Bart plugin's .inf file, using one of the &lt;a title="Documentation on various registry change syntax" href="http://www.nu2.nu/pebuilder/help/english/pluginformat.htm#Software.AddReg"&gt;registry modification&lt;/a&gt; sections.&amp;nbsp; If using the &lt;a title="Paraglider's RunScanner utility for Bart PE" href="http://www.paraglidernc.com/plugins/runscanner.htm"&gt;RunScanner&lt;/a&gt; plugin to launch Spybot (should not be required, as Spybot "knows" about such needs), then you'd want to delay the RunScanner redirection until this value had been read by Spybot after starting up - else it will look for it in the inactive (target) hives instead.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11573761-3928603174229706008?l=cquirke.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cquirke.blogspot.com/feeds/3928603174229706008/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11573761&amp;postID=3928603174229706008' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11573761/posts/default/3928603174229706008'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11573761/posts/default/3928603174229706008'/><link rel='alternate' type='text/html' href='http://cquirke.blogspot.com/2008/08/spybot-16-and-bart-pe.html' title='Spybot 1.6 and Bart PE'/><author><name>Chris Quirke</name><uri>http://www.blogger.com/profile/05538828571660803875</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://cquirke.mvps.org/images/cqhead.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11573761.post-268864367615013104</id><published>2008-08-09T01:57:00.001-07:00</published><updated>2008-08-09T01:57:38.679-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Data Recovery'/><title type='text'>Lazarus of Bad Hard Drives</title><content type='html'>&lt;p&gt; &lt;div style="padding-right: 0px; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px; display: inline" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:af223ebb-5cfc-4ab3-865b-02d10dabff8d" class="wlWriterSmartContent"&gt;Technorati tags: &lt;a href="http://technorati.com/tags/PC%20maintenance" rel="tag"&gt;PC maintenance&lt;/a&gt;, &lt;a href="http://technorati.com/tags/Data%20Recocery" rel="tag"&gt;Data Recocery&lt;/a&gt;&lt;/div&gt;&lt;/p&gt; &lt;p&gt;Here's a failure pattern worth keeping in mind:&lt;/p&gt; &lt;ul&gt; &lt;li&gt;Unbootable OS&lt;/li&gt; &lt;li&gt;Attempts to access hard drive lock up or fail&lt;/li&gt; &lt;li&gt;Hardware &lt;a title="HD Tune is a free Windows-based, Bart-compatible drive diagnostic" href="http://www.hdtune.com"&gt;diagnostics&lt;/a&gt; show or imply bad sectors&lt;/li&gt; &lt;li&gt;You &lt;a title="BING is a free boot/partition manager you can use to image hard drives" href="http://www.bootitng.com"&gt;image&lt;/a&gt; the raw &lt;a title="What I mean by 'partition', as opposed to 'volume'" href="http://cquirke.mvps.org/9x/partition.htm"&gt;partition&lt;/a&gt; to a good hard drive&lt;/li&gt; &lt;li&gt;Data access and even OS bootability miraculously OK&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;This is &lt;a title="Wikipedia on two Lazaruses" href="http://en.wikipedia.org/wiki/Lazarus"&gt;Lazarus&lt;/a&gt; of Bad Hard drives, as opposed to &lt;a title="Wikipedia on the best-known Lazarus" href="http://en.wikipedia.org/wiki/Lazarus_of_Bethany"&gt;Lazarus of Bethany&lt;/a&gt;.&lt;/p&gt; &lt;p&gt;What's happening here, is that effects from deeper abstraction layers are creating what appears to be unfixable problems in higher layers.&amp;nbsp; What is counter-intuitive is that fixing the underlying layer can fix the upper layers too, i.e. that the state of these layers may not be irreparably botched by the lower-layer failure.&lt;/p&gt; &lt;p&gt;So don't give up hope, if you hit the first three items in the list above.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11573761-268864367615013104?l=cquirke.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cquirke.blogspot.com/feeds/268864367615013104/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11573761&amp;postID=268864367615013104' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11573761/posts/default/268864367615013104'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11573761/posts/default/268864367615013104'/><link rel='alternate' type='text/html' href='http://cquirke.blogspot.com/2008/08/lazarus-of-bad-hard-drives.html' title='Lazarus of Bad Hard Drives'/><author><name>Chris Quirke</name><uri>http://www.blogger.com/profile/05538828571660803875</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://cquirke.mvps.org/images/cqhead.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11573761.post-7120882977115622868</id><published>2008-07-27T14:53:00.001-07:00</published><updated>2008-07-27T14:53:27.198-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PC maintenance'/><title type='text'>This Hard Drive, Which PC?</title><content type='html'>&lt;div style="padding-right: 0px; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px; display: inline" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:c2186248-7c93-4feb-b338-be316cee5da7" class="wlWriterSmartContent"&gt;Technorati tags: &lt;a href="http://technorati.com/tags/PC%20maintenance" rel="tag"&gt;PC maintenance&lt;/a&gt;&lt;/div&gt; &lt;p&gt;Let's take two unrelated ideas and draw them together...&lt;/p&gt; &lt;blockquote&gt; &lt;p&gt;If you take Fred's brain and transplant it into Martin's body, have you performed a brain transplant on Martin, or a body transplant of Fred?&lt;/p&gt; &lt;p&gt;If the processor is your computer's brain, then the computer's hard drive is your mind.&lt;/p&gt;&lt;/blockquote&gt; &lt;p&gt;Do you think the second sentence should have been "...the computer's hard drive is the computer's mind"?&amp;nbsp; Both statements are true, but from your perspective, the first may be more important.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Why might this matter?&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;The practical importance of this arises if you take a hard drive out of a PC, and then come back after a while with that hard drive in your hand, and a collection of PCs without hard drives on the bench.&lt;/p&gt; &lt;p&gt;It's easy to tell who the hard drive belongs to, because the files it contains will be full of cues.&amp;nbsp; But which PC belonged to that particular user?&amp;nbsp; Less easy, because all information uniquely linking that computer to the user is on the hard drive.&amp;nbsp; Unless you have kept some other record, e.g. serial number tracking, ownership sticky notes, arrival photos etc. you could have a problem.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Solving this problem&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;On old PCs that don't auto-detect hard drives, you can examine CMOS to look for CHS geometry etc. that matches the hard drive in your hand.&amp;nbsp; But new PCs generally don't persist CHS or other hard drive parameters in CMOS; they re-detect such devices on POST instead.&lt;/p&gt; &lt;p&gt;You can examine the hard drive's files to look for links to the particular hardware, e.g. an OS product key that matches a case sticker, or a collection of device drivers that map to the rest of the PC hardware.&amp;nbsp; &lt;/p&gt; &lt;p&gt;That is not as easy as looking for cues to the user of the PC; you may have to bind registry hives and look for cues in there.&amp;nbsp; You could do that implicitly by CDR-booting into Bart and using RunScanner to wrap Regedit or other tools so they map to the hard drive installation's hives, or you can do that explicitly by running Regedit from any suitable host OS, and manually binding the hard drive's hives under HKLM.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Don't boot in the wrong PC!&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;Whichever approach you use to examine the hard drive, it's crucial not to allow the hard drive to boot in the wrong PC, in all but the most trivial of OSs.&amp;nbsp; DOS would be safe, but anything more complex is likely to go wrong for various reasons.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Win9&lt;em&gt;x&lt;/em&gt;&lt;/strong&gt; will use Vmm32.vxd as the core driver set upon which all other drivers are loaded, and that core driver code was derived from the particular PC hardware that was in effect when Windows was installed on it.&amp;nbsp; If it's incompatible, then the PC will crash before the OS has reached sufficient "consciousness" to Plug-n-Play.&amp;nbsp; &lt;/p&gt; &lt;p&gt;This is a common crisis when changing the motherboard under a Win9&lt;em&gt;x&lt;/em&gt; system, and can be solved by rebuilding a new Vmm32.vxd appropriate to the new hardware.&amp;nbsp; Yes, there's one on the installation disk, but it's an empty stub upon which Windows Setup builds the "real" file at install time.&lt;/p&gt; &lt;p&gt;You could rebuild Vmm32.vxd by re-installing the Win9x over itself, but that is messy; breaks patches and subsystem upgrades, loses settings, and so on.&amp;nbsp; Or you could do a fresh install of Win9&lt;em&gt;x &lt;/em&gt;on a different hard drive, harvest the new Vmm32.vxd from there, and drop that into the "real" hard drive from DOS mode.&lt;/p&gt; &lt;p&gt;Having got this far, Windows should now boot to the point that Plug-n-Play can detect the rest of the new hardware and nag you for drivers.&amp;nbsp; Expect problems from hardware-specific code that was not installed as drivers, and is thus not disabled when PnP detects the hardware as no longer present - think packet-writing CD software, modem fax and especially voice software, hardware-specific Properties tabs added to Display Settings, etc.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;XP&lt;/strong&gt;, Windows 2000 and older NT-based OSs may fail in a similar way, though the installation-time hardware-specific code file will he the HAL (Hardware Abstraction Layer) rather than Vmm32.vxd - same difference, in other words.&amp;nbsp; &lt;/p&gt; &lt;p&gt;You will probably have to do a repair installation to fix this, with similar impact as installing a Win9&lt;em&gt;x&lt;/em&gt; over itself.&amp;nbsp; I'm not sure if cleaner fixes would work.&lt;/p&gt; &lt;p&gt;XP may have another surprise for you, if you aren't BSoD'ed by a HAL compatibility STOP error; Windows Product Activation may see the changed PC as "too different", and trigger the DoS (Denial of Service) payload.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Vista &lt;/strong&gt;doesn't have the same HAL mechanism as earlier NT, so it may start up without a STOP error, but you'd still have the Product Activation payload to contend with - as you would with MS Office versions XP and later, regardless of OS.&lt;/p&gt; &lt;p&gt;I can't tell you how Linux, BSD or MacOS (pre- or post-BSD) would fare when booted in the "wrong" computer, but I suspect similar issues may apply.&amp;nbsp; Aside from artificial crises caused by deliberately malicious product activation code, you may still have the core problem of needing hardware-specific information to boot the logic that can respond to altered hardware.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Safety First&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;If you are not certain that you're putting the hard drive in the correct PC, then you should back up C: in such a way it can be restored as a working OS, if mistakes lead to a PnP or product (de)activation mess.&lt;/p&gt; &lt;p&gt;For a &lt;strong&gt;Win9&lt;em&gt;x&lt;/em&gt;&lt;/strong&gt;, that's as simple as copying off all files from the root directory, all of the OS subtree, and (easiest) everything in "Program Files".&amp;nbsp; For best-practice on WinME, you should preserve the _Restore subtree too.&amp;nbsp; These are the only contents of C: that should be affected by the OS "waking up" in the wrong PC.&lt;/p&gt; &lt;p&gt;For &lt;strong&gt;NT&lt;/strong&gt;, it's messier, because Windows 2000 and later (I haven't tested earlier NT) will not boot after a file-copy transfer from one hard drive to another, even if you meticulously include all files.&amp;nbsp; So you're obliged to do a partition-level copy (e.g. save C: as a partition image via &lt;a title="Boot It New Generation; use as partition manager, without installing it as a boot manager" href="http://www.bootitng.com"&gt;BING&lt;/a&gt;) to maintain undoability.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11573761-7120882977115622868?l=cquirke.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cquirke.blogspot.com/feeds/7120882977115622868/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11573761&amp;postID=7120882977115622868' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11573761/posts/default/7120882977115622868'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11573761/posts/default/7120882977115622868'/><link rel='alternate' type='text/html' href='http://cquirke.blogspot.com/2008/07/this-hard-drive-which-pc.html' title='This Hard Drive, Which PC?'/><author><name>Chris Quirke</name><uri>http://www.blogger.com/profile/05538828571660803875</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://cquirke.mvps.org/images/cqhead.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11573761.post-8781799981279983794</id><published>2008-07-25T02:24:00.001-07:00</published><updated>2008-07-25T02:24:05.755-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Malware'/><category scheme='http://www.blogger.com/atom/ns#' term='Safety'/><title type='text'>Should You Detect Old Malware?</title><content type='html'>&lt;p&gt; &lt;div style="padding-right: 0px; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px; display: inline" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:a84478ed-c000-485b-95a0-a4f4dd5f04bc" class="wlWriterSmartContent"&gt;Technorati tags: &lt;a href="http://technorati.com/tags/Malware" rel="tag"&gt;Malware&lt;/a&gt;, &lt;a href="http://technorati.com/tags/Safety" rel="tag"&gt;Safety&lt;/a&gt;, &lt;a href="http://technorati.com/tags/Security" rel="tag"&gt;Security&lt;/a&gt;&lt;/div&gt;&lt;/p&gt; &lt;p&gt;We've gone from thinking of software as a "durable good" to &lt;a title="Chris Jackson's  excellent blog, selected here by 'evolution' tag; read backwards, i.e. from oldest to newest post" href="http://blogs.msdn.com/cjacks/archive/tags/Software+Evolution/default.aspx"&gt;evolving&lt;/a&gt; under &lt;a title="Another article on software as within a Darwinian system" href="http://cquirke.blogspot.com/2007/08/evolution-vs-intelligent-design.html"&gt;selection pressure&lt;/a&gt;.&amp;nbsp; This certainly applies to malware and blacklist-driven scanner countermeasures, which are assumed to become either extinct or irrelevant over time.&amp;nbsp; &lt;/p&gt; &lt;p&gt;&lt;strong&gt;Who needs old scanners? &lt;/strong&gt; &lt;/p&gt; &lt;p&gt;You may want to keep an old scanner if it still detects stuff other scanners can miss, or if it was the last version that ran in your environment - though as an "extra" on-demand scanner, not as sole resident protection, of course.&lt;/p&gt; &lt;p&gt;For example, Kaspersky's CLI scanner no longer runs under &lt;a title="Wikipedia's page about Bart PE Builder" href="http://en.wikipedia.org/wiki/BartPE"&gt;Bart&lt;/a&gt;, and I haven't adapted AdAware 2007 (which I don't particularly like) to run in Bart either.&amp;nbsp; There are still manual updates for AdAware SE, so that's still "current", and Kaspersky CLI still works in Safe Cmd.&amp;nbsp; However, I may want the safety of &lt;a title="An old and simple explanation of &amp;quot;formal virus scanning&amp;quot;" href="http://cquirke.mvps.org/9x/virtest.htm"&gt;formal scanning&lt;/a&gt; with Kaspersky CLI, and for that, I'd need the last "old" version and updates that still worked from &lt;a title="Bart PE Builder; the source page to read about and download it" href="http://www.nu2.nu/pebuilder/"&gt;Bart&lt;/a&gt;.&lt;/p&gt; &lt;p&gt;Another example is McAfee's Stinger.&amp;nbsp; Just as an "old" Kaspersky CLI may find stuff other updated scanners will miss, so it is with the even older Stinger - it's particularly good at catching &lt;a title="Wikipedia on TFTP (Trivial File Transfer Protocol)" href="http://en.wikipedia.org/wiki/Trivial_File_Transfer_Protocol"&gt;TFTP&lt;/a&gt;-dropped malware and some bots, both of which are likely to be found in an NT that has not &lt;a title="Microsoft advisory on the &amp;quot;Lovesan&amp;quot; RPC vulnerability" href="http://www.microsoft.com/technet/security/bulletin/MS03-026.mspx"&gt;patched RPC&lt;/a&gt; against &lt;a title="Kaspersky's excellent FAQ on Lovesan/Blaster" href="http://www.kaspersky.com/news?id=985675"&gt;Lovesan&lt;/a&gt; &lt;a title="Google search for &amp;quot;bot&amp;quot; and &amp;quot;RPC&amp;quot; on F-Secure's site" href="http://www.google.com/search?q=RPC+bot+site%3Af-secure.com&amp;amp;rls=com.microsoft:en-us:IE-SearchBox&amp;amp;ie=UTF-8&amp;amp;oe=UTF-8&amp;amp;sourceid=ie7&amp;amp;rlz=1I7ADBR"&gt;et&lt;/a&gt; &lt;a title="Did you think this was over by Server 2003?  Not so; this is from 2007..." href="http://weblog.infoworld.com/zeroday/archives/2007/04/bot_worm_owning.html"&gt;al&lt;/a&gt;.&lt;/p&gt; &lt;p&gt;F-Prot's DOS and Win32 CLI scanners are also discontinued, i.e. no further updates, but are still useful.&amp;nbsp; Specifically, these scanners will often detect "possibly new version of ... &lt;a title="F-Secure article on the arrest of &amp;quot;Maximus&amp;quot; and others" href="http://www.f-secure.com/weblog/archives/00001247.html"&gt;Maximus&lt;/a&gt;", and sometimes that rather loose and false-positive-prone detection still finds things others miss.&amp;nbsp; These scanners also find other false positives unrelated to Maximus, so handle with care.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Does old malware matter?&amp;nbsp; &lt;/strong&gt;&lt;/p&gt; &lt;p&gt;Firstly, you may encounter vintage malware on vintage systems and diskettes (e.g. boot sector infectors on old DOS or Win95-era PCs, old MS Office macro infectors in "documents" from old systems).&amp;nbsp; Malware of that era were mostly self-contained and fully automated, and often had destructive payloads, so they will still bite... so you'd want to detect them.&lt;/p&gt; &lt;p&gt;Secondly, think of the spammer equivalent of the guy who still uses a PC built from old parts running MS Office 2000 on Windows 98, because these old feeware programs pre-date &lt;a title="Wikipedia on Product Activation" href="http://en.wikipedia.org/wiki/Product_activation"&gt;automated defence&lt;/a&gt; against piracy - i.e. no software budget.&lt;/p&gt; &lt;p&gt;A less-obvious feature of botnets is that those who own them, don't want folks controlling them for free.&amp;nbsp; So if you want to send spam through a modern botnet, you will probably have to find someone and pay them.&lt;/p&gt; &lt;p&gt;On the other hand, old bots that are still in the wild, may have been cracked so they can be operated for free - or may simply pre-date the rise of malicious info-business and thus lack modern mechanisms to block control.&amp;nbsp; In which case, our impoverished spammer may use these instead - so it may still be prudent to detect and kill them off, especially in the context of poorly-patched or defended systems (e.g. unpatched Windows 2000, no firewall, outdated or missing av).&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11573761-8781799981279983794?l=cquirke.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cquirke.blogspot.com/feeds/8781799981279983794/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11573761&amp;postID=8781799981279983794' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11573761/posts/default/8781799981279983794'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11573761/posts/default/8781799981279983794'/><link rel='alternate' type='text/html' href='http://cquirke.blogspot.com/2008/07/should-you-detect-old-malware.html' title='Should You Detect Old Malware?'/><author><name>Chris Quirke</name><uri>http://www.blogger.com/profile/05538828571660803875</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://cquirke.mvps.org/images/cqhead.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11573761.post-4798752485935875947</id><published>2008-07-07T12:00:00.001-07:00</published><updated>2008-07-07T12:02:10.432-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PC maintenance'/><title type='text'>XP Repair Install</title><content type='html'>&lt;p&gt; &lt;div style="padding-right: 0px; padding-left: 0px; float: none; padding-bottom: 0px; margin: 0px; padding-top: 0px; display: inline" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:f25bc321-edd3-438d-8d69-c989c081b331" class="wlWriterSmartContent"&gt;Technorati tags: &lt;a href="http://technorati.com/tags/XP" rel="tag"&gt;XP&lt;/a&gt;, &lt;a href="http://technorati.com/tags/install" rel="tag"&gt;install&lt;/a&gt;&lt;/div&gt;&lt;/p&gt; &lt;p&gt;Re-installing Windows XP &lt;a title="&amp;quot;Just re-install Windows - you won't lose your settings!&amp;quot; (yeah right)" href="http://cquirke.mvps.org/reinst.htm"&gt;isn't a good idea as a blind first step&lt;/a&gt; in troubleshooting problems, but there are specific contexts where it is necessary, as the cleanest way to "make things work".&amp;nbsp; One of these contexts is after a motherboard change that invalidates XP's core assumptions, typically causing a STOP BSoD on any sort of attempted XP boot (from Safe Cmd to normal GUI).&lt;/p&gt; &lt;p&gt;This is the situation that edgecrusher is in, as posted in &lt;a title="edgecrusher's comment, asking about XP repair install after new motherboard" href="https://www.blogger.com/comment.g?blogID=11573761&amp;amp;postID=699234496356165903"&gt;comments&lt;/a&gt; to the previous &lt;a title="The post edgecrusher commented on" href="http://cquirke.blogspot.com/2008/07/cause-and-distance.html"&gt;post&lt;/a&gt; in this blog, and this post is my response.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Before you start&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;Firstly, I'm going to assume you have all the necessary installation and drivers disks, have your XP product key or retrieved this via &lt;a title="Nirsoft, home of many small but free and useful tools" href="http://www.nirsoft.net"&gt;Nirsoft&lt;/a&gt; &lt;a title="Reads Windows and MS Office product keys" href="http://www.nirsoft.net/utils/product_cd_key_viewer.html"&gt;Produkey&lt;/a&gt; or similar, excluded malware, and verified RAM overnight e.g. via &lt;a title="MemTest site" href="http://www.memtest86.com/"&gt;MemTest86&lt;/a&gt; or &lt;a title="MemTest86+ site" href="http://www.memtest.org/"&gt;MemTest86+&lt;/a&gt; and hard drive e.g. via &lt;a title="Free hard drive S.M.A.R.T. detail and surface scan diagnostics tool" href="http://www.hdtune.com"&gt;HD Tune&lt;/a&gt;.&amp;nbsp; &lt;/p&gt; &lt;p&gt;Make sure the edition (OEM vs. retail, Home vs. Pro, etc.) of the XP installation disk you will use for the repair install is one that matches your product key, that the disk actually has the ability to do a non-destructive install (as many OEM disks do not), and that the disk can be read without errors (as tested by copying all files to a subdir on the hard drive before you start).&lt;/p&gt; &lt;p&gt;It's a good idea to make a partition image backup of your XP installation before you start, using something like &lt;a title="Boot It New Generation can be used as a non-destructive partitioning tool" href="http://www.bootitng.com"&gt;BING&lt;/a&gt;.&amp;nbsp; Simply copying off every file is not enough, because unlike Windows 9x, XP will not work when copied in this way.&lt;/p&gt; &lt;p&gt;Also before you start, you may want to uninstall any OS-bundled subsystems that you've upgraded past the baseline of your XP installation disk, such as IE7 or recent versions of Windows Media Player.&amp;nbsp; Things are cleaner and more likely to be "supported" if you uninstall these before the repair, and re-install them afterwards, plus you'll have valid entries in Add/Remove Programs should you need to uninstall them again later (e.g. as a troubleshooting step).&lt;/p&gt; &lt;p&gt;Several sites describe the XP repair install process, starting from &lt;a title="How to start an XP repair install" href="http://www.microsoft.com/windowsxp/using/helpandsupport/learnmore/tips/doug92.mspx"&gt;how to start&lt;/a&gt; the process, and going on to a step-by-step &lt;a title="Part 1 of a slideshow on doing an XP repair install" href="http://pcsupport.about.com/od/operatingsystems/ss/instxprepair1.htm"&gt;slide&lt;/a&gt; &lt;a title="Part 2 of a slideshow on doing an XP repair install" href="http://pcsupport.about.com/od/operatingsystems/ss/instxprepair2.htm"&gt;show&lt;/a&gt; or providing &lt;a title="Michael Stevens' article on performing an XP repair install" href="http://www.michaelstevenstech.com/XPrepairinstall.htm"&gt;more detail&lt;/a&gt;.&amp;nbsp; In this post, I will mention a few specific gotchas to avoid...&lt;/p&gt; &lt;p&gt;&lt;strong&gt;137G capacity limit&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;If your hard drive is over 137G in size, then the Service Pack level of the Windows XP installation disk must be at least SP1 to install, and SP2 to live with.&amp;nbsp; In other words, you cannot safely install XP "Gold" (SP0) on a hard drive over 137G, and should apply SP2 or SP3 over an XP SP1 installation.&amp;nbsp; &lt;/p&gt; &lt;p&gt;If your install disk pre-dates SP1, you need to slipstream a later Service Pack into this and make a new installation disk that includes SP1 or later, built in.&amp;nbsp; Your other option is to install XP "Gold" onto a hard drive smaller than 137G, apply SP1 or later, and then use a partition transfer utility to copy the partition to the larger hard drive where the partition can then be resized to taste.&lt;/p&gt; &lt;p&gt;XP "Gold" has no awareness of hard drives over 137G and is very likely to mess them up.&amp;nbsp; XP SP1 is supposed to be safe on such hard drives, but there are some contexts where the code that writes to disk is unsafe and may cause corruption and data loss; from memory, these contexts typically apply to C:, e.g. writing crash dumps to the page file.&amp;nbsp; XP SP2 and SP3 are truly safe over 137G.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;F6 driver diskette&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;Yep, you read right; that's "diskette" as in "ancient crusty old stiffy drive"!&amp;nbsp; &lt;/p&gt; &lt;p&gt;Most current motherboards have S-ATA hard drive interfaces that are not "seen" by the native XP code set (affecting &lt;a title="Bart PE Builder, the definitive maintenance OS for XP" href="http://www.nu2.nu/pebuilder/"&gt;Bart&lt;/a&gt; and &lt;a title="RC is useful, but a &amp;quot;wannabe&amp;quot; in comparison to Bart" href="http://support.microsoft.com/kb/314058"&gt;Recovery Console&lt;/a&gt; boot disks as well).&lt;/p&gt; &lt;p&gt;The trouble is, the latest PCs often have no diskette drive, and the latest motherboards often have no legacy diskette controller.&amp;nbsp; You may come right with an external diskette drive plugged in via USB.&amp;nbsp; You'll also have to find and download the relevant driver diskette image and make a diskette from this, if yours is missing or unreliable.&lt;/p&gt; &lt;p&gt;If you use a USB keyboard, and this is not initiated at the BIOS level, then your F6 keystroke to read the driver diskette will be missed.&amp;nbsp; If so, you can plug in a PS/2 keyboard... as long as your new motherboard has PS/2 sockets; the newest ones don't.&lt;/p&gt; &lt;p&gt;Sometimes your mileage may vary, depending on the mode that your S-ATA is set to operate in CMOS Setup.&amp;nbsp; RAID and &lt;a title="Wikipedia on Advanced Host Controller Interface" href="http://en.wikipedia.org/wiki/Advanced_Host_Controller_Interface"&gt;AHCI&lt;/a&gt; will generally not be "seen" natively by XP's code, whereas IDE mode may be.&amp;nbsp; But some nice S-ATA features may not work in IDE mode, e.g. hot-swapping external S-ATA or NLQ, and changing this after XP is installed may precipitate the same crisis as the motherboard swap... requiring a repair install to fix, again.&lt;/p&gt; &lt;p&gt;All of this is a reason why I consider the XP era to be over, when it comes to new PCs.&amp;nbsp; I appreciate how old OSs run beautifully fast on new hardware, and how attractive that is for gamers in particular - but XP's getting painful to install and maintain, and this is going to get worse.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Duplicate user accounts&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;Later in the GUI part of the installation process, you will be &lt;a title="The &amp;quot;cerate user accounts&amp;quot; step in the install process" href="http://pcsupport.about.com/od/operatingsystems/ss/instxprepair2_6.htm"&gt;prompted&lt;/a&gt; to create new user accounts.&amp;nbsp; You can try to skip this step (best, if that works... I can't remember if it does), or create a new account with a different name that you'd generally delete later.&amp;nbsp; &lt;/p&gt; &lt;p&gt;But many users are likely to create a new account with the same one as their existing account, and that's likely to hurt...&amp;nbsp; &lt;/p&gt; &lt;p&gt;The two accounts will show the same name at the Welcome screen, but both will be selectable via this UI; I have no idea what will happen if you were to force the more secure legacy logon UI, which requires the account name to be typed in.&lt;/p&gt; &lt;p&gt;Each account will have a unique Security Identifier (SID), which is the real "name" used behind the scenes - but you can't login with that.&amp;nbsp; There will also be separate account subtrees in "Documents and Settings"; the one with the plainest name is likely to be the original, and the one with numbers or the PC name added to it is likely to be for the newly-spawned account.&lt;/p&gt; &lt;p&gt;At this point I'll mention another user account hassle that I generally don't see, because I avoid NTFS where I can.&amp;nbsp; If you find you can "see" your old user account's data, but aren't permitted to access the files, then you may have to "take ownership" of these files from a user account that has full administrative rights.&amp;nbsp; &lt;/p&gt; &lt;p&gt;This issue is well documented elsewhere; search and ye will find!&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Broken update services&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;It's a given that the "repair" is going to blow away all patches subsequent to the baseline SP level of the XP installation disk you are using, unless you've slipstreamed these into your installation disk.&lt;/p&gt; &lt;p&gt;What's less obvious is that after you do the "repair" install, you won't be able to install updates.&amp;nbsp; It doesn't matter whether you try via Automatic Update, Windows Update or Microsoft Update, the results will be the same; the stuff downloads OK (costing you bandwidth) but will not install, whether you are prompted to restart or not.&lt;/p&gt; &lt;p&gt;The cause is a mismatch between the "old" update code within the installation CD, and the newer update code that was &lt;a title="Updating the updater; necessary even if updates disabled?" href="http://www.macobserver.com/article/2007/09/13.14.shtml"&gt;controversially pushed&lt;/a&gt; via update itself.&amp;nbsp; I can see Microsoft's logic here; if you ever wanted updates to work (e.g. you'd chosen "download but don't install", or disabled updates while planning to enable them later), then the update mechanism has to be updated - but doing so, invalidates the original installation disk's update code.&lt;/p&gt; &lt;p&gt;This &lt;a title="Follow-up article on &amp;quot;stealth updates&amp;quot;, covering the repair install angle" href="http://www.macobserver.com/article/2007/09/27.9.shtml"&gt;topic&lt;/a&gt; is &lt;a title="Another article on how stealth updates broke repair install" href="http://blogs.zdnet.com/hardware/?p=817"&gt;well-covered&lt;/a&gt;, as is &lt;a title="How to re-assert the necessary .DLLs to get updates working" href="http://www.vincentverhagen.nl/2007/09/25/windows-automatic-update-fails-after-xp-repair/"&gt;the&lt;/a&gt; &lt;a title="Another article on fixing updateability after an XP repair install" href="http://windowssecrets.com/2007/09/27/03-Stealth-Windows-update-prevents-XP-repair"&gt;fix&lt;/a&gt;; manually re-registering a number of .DLLs that are needed for the update process to work.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Broken settings&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;It's often asserted that a repair install "won't lose your settings", and is yet waved around as a generic fix for undiagnosed problems.&amp;nbsp; Part of why it sometimes works as a "generic fix" is precisely because it can and does flatten some settings, which may have been deranged to the point that the OS couldn't boot!&lt;/p&gt; &lt;p&gt;So if you do apply any non-default settings, you should check these to see if they've survived.&amp;nbsp; I always check the following, and can't remember with certainty which ones survive and which don't:&lt;/p&gt; &lt;ul&gt; &lt;li&gt;System Restore (may be re-enabled on all volumes)&lt;/li&gt; &lt;li&gt;System Restore per-volume capacity limits&lt;/li&gt; &lt;li&gt;Automatically restart on system errors&lt;/li&gt; &lt;li&gt;RPC Restart the computer on failures (may survive)&lt;/li&gt; &lt;li&gt;Show all files, extensions, full paths, etc. (may survive)&lt;/li&gt; &lt;li&gt;NoDriveTypeAutoRun and NoDriveAutoRun&lt;/li&gt; &lt;li&gt;Standard services you may have disabled&lt;/li&gt; &lt;li&gt;Hidden admin shares, if you'd disabled them&lt;/li&gt; &lt;li&gt;Recovery Console enabling settings&lt;/li&gt; &lt;li&gt;AutoChk parameters in BootExecute setting&lt;/li&gt; &lt;li&gt;Shell folder paths&lt;/li&gt; &lt;li&gt;Windows Scripting Host, if you'd disabled it&lt;/li&gt; &lt;li&gt;Settings detail in IE, including grotesquely huge web cache&lt;/li&gt; &lt;li&gt;Windows Firewall settings; may be &lt;em&gt;disabled&lt;/em&gt; if &amp;lt; SP2 !!&lt;/li&gt; &lt;li&gt;Anything else you've dared to change from duhfaults&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;It's particularly crucial to enable the Windows Firewall (or install a 3rd-party alternative) before letting your PC anywhere near any sort of networking, especially the Internet, if your installation is "Gold" or SP1.&amp;nbsp; Not only do these dozeballs duhfault to "no firewall", they're also unpatched against RPC (Lovesan et al) and LSASS (Sasser et al) attacks, so you'd be "open and revolving".&lt;/p&gt; &lt;p&gt;By now, the original PoC Lovesan and Sasser worms may be extinct, but these exploits are often crafted into subsequent workaday bots and worms.&amp;nbsp; You may still get hit within an hour of plugging in the network cable if so, and probably before you can pull down updates for the OS, antivirus scanners, etc. &lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11573761-4798752485935875947?l=cquirke.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cquirke.blogspot.com/feeds/4798752485935875947/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11573761&amp;postID=4798752485935875947' title='19 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11573761/posts/default/4798752485935875947'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11573761/posts/default/4798752485935875947'/><link rel='alternate' type='text/html' href='http://cquirke.blogspot.com/2008/07/xp-repair-install.html' title='XP Repair Install'/><author><name>Chris Quirke</name><uri>http://www.blogger.com/profile/05538828571660803875</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://cquirke.mvps.org/images/cqhead.jpg'/></author><thr:total>19</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11573761.post-699234496356165903</id><published>2008-07-07T03:41:00.001-07:00</published><updated>2008-07-07T03:41:22.411-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='The Waking Hour'/><title type='text'>Cause and Distance</title><content type='html'>&lt;p&gt;"Send this habitat module to Sirius Prime, now!"&lt;/p&gt; &lt;p&gt;' OK ...'&lt;/p&gt; &lt;p&gt;Right-click habitat module, Properties, Location tab, highlight "Earth", enter new text "Sirius Prime", press Enter.&amp;nbsp; Drone work, really, but Fred just counts himself lucky at being able to find a summer job.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Sharp distance runaround&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;I find it interesting that despite the strange and counter-intuitive models we've developed for sub-atomic matter, we still cling to the Newtonian idea that cause is carried by force, and force involves &lt;a title="Virtual particles; the article I had in mind when I wrote this" href="http://en.wikipedia.org/wiki/Virtual_particle"&gt;objects banging into each other&lt;/a&gt;.&lt;/p&gt; &lt;p&gt;So we've had "The Aether" before we could get our heads around empty space, the idea that waves must travel in a medium (neatly solved by counter-generating electro and magnetic fields), and the "problem" of &lt;a title="Interview with Anton Zelinger" href="http://www.signandsight.com/features/614.html"&gt;action at a distance&lt;/a&gt; that is modelled on throwing &lt;a title="Wikipedia list of particles (types, not each instance, duh!)" href="http://en.wikipedia.org/wiki/List_of_particles"&gt;particles&lt;/a&gt; around.&lt;/p&gt; &lt;p&gt;We understand space and time as interrelated through the speed of light, so that "&lt;a title="Article on Bell's Theorem and locality" href="http://www4.ncsu.edu/unity/lockers/users/f/felder/public/kenny/papers/bell.html"&gt;distance&lt;/a&gt;" can be envisaged in either terms.&amp;nbsp; &lt;/p&gt; &lt;p&gt;&lt;strong&gt;Trapped in the mesh&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;Trying to resist the idea of &lt;a title="Evolution &amp;quot;versus&amp;quot; Intelligent Design" href="http://cquirke.blogspot.com/2007/08/evolution-vs-intelligent-design.html"&gt;desire-guided evolution&lt;/a&gt;, consider the need for senses (or sensors, if you like).&amp;nbsp; We sense what we need to attain, avoid or overcome, not what we can happily ignore as irrelevant.&amp;nbsp; Does hard drive S.M.A.R.T. monitor the tides of the ocean?&amp;nbsp; Nope.&amp;nbsp; Does the body monitor radiation levels?&amp;nbsp; Nope, as this had not been relevant during the timescale when shaped by selection pressure.&lt;/p&gt; &lt;p&gt;We are of the universe and are unable to transcend "distance" (be it conceptualised as time or space) at will, though we have a limited ability to physically move towards or away from things.&amp;nbsp; So we perceive distance as a dominant property of our environment, shaping concepts such as "cause and effect" and "the arrow of time".&amp;nbsp; &lt;/p&gt; &lt;p&gt;But this perspective may be a platform-specific perception issue, rather than a universal truth.&amp;nbsp; Perhaps if we visualize things differently - e.g. consider the distribution of mass as a constant, and "distance" as a particular parameter, then some things may snap in to focus, such as gravity as a "curvature of space".&amp;nbsp; &lt;/p&gt; &lt;p&gt;Often a graph that has a shape that is hard to grapple with, becomes a tame line drawing when the &lt;a title="&amp;quot;Understanding Integers&amp;quot; may be tangentally relevant at this point" href="http://cquirke.blogspot.com/2007/10/understanding-integers.html"&gt;scaling of an axis&lt;/a&gt; is changed; certain problems, such as shapes that tend towards but never reach zero, may resolve themselves.&amp;nbsp; So it may be with "distance".&lt;/p&gt; &lt;p&gt;After writing this, I found the articles I've linked to, along with &lt;a title="Stanford University on Action at a Distance" href="http://plato.stanford.edu/entries/qm-action-distance/"&gt;this one&lt;/a&gt;.&amp;nbsp; It would probably be more enlightening to fan out from &lt;a title="Wikipedia on hidden variable theories" href="http://en.wikipedia.org/wiki/Hidden_variable_theories"&gt;here&lt;/a&gt; than to read the post you have just finished reading&amp;nbsp; :-)&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11573761-699234496356165903?l=cquirke.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cquirke.blogspot.com/feeds/699234496356165903/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11573761&amp;postID=699234496356165903' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11573761/posts/default/699234496356165903'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11573761/posts/default/699234496356165903'/><link rel='alternate' type='text/html' href='http://cquirke.blogspot.com/2008/07/cause-and-distance.html' title='Cause and Distance'/><author><name>Chris Quirke</name><uri>http://www.blogger.com/profile/05538828571660803875</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://cquirke.mvps.org/images/cqhead.jpg'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11573761.post-5978250752946492668</id><published>2008-06-28T03:54:00.001-07:00</published><updated>2008-06-28T03:54:23.085-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Bug'/><title type='text'>XP SP3 "Stuck" Activation Dialog</title><content type='html'>&lt;p&gt; &lt;div style="padding-right: 0px; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px; display: inline" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:42660e99-9af2-41e3-8b81-beabc6c15b47" class="wlWriterSmartContent"&gt;Technorati tags: &lt;a href="http://technorati.com/tags/XP%20SP3%20bug%20activation" rel="tag"&gt;XP SP3 bug activation&lt;/a&gt;&lt;/div&gt;&lt;/p&gt; &lt;p&gt;You may see this failure pattern:&lt;/p&gt; &lt;ul&gt; &lt;li&gt;Windows XP (SP3) demands activation&lt;/li&gt; &lt;li&gt;You get the first dialog of the activation wizard&lt;/li&gt; &lt;li&gt;But no matter which option you choose, Next doesn't&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;Specifically; this is the first dialog page of the activation wizard, from which you choose "activate via Internet", "activate via telephone" or "no, I'll do it later".&amp;nbsp; When you press the Next button, the button appears to depress fine, but when you let it go, the dialog stays where it is.&amp;nbsp; &lt;/p&gt; &lt;p&gt;If you were trying to activate by phone, then that means you don't see the list of locations to call, or the key to read to the call center if you do call.&amp;nbsp; So when you call the activation center, the first thing they ask you to do ("please read me your installation ID"), you can't do, and frustration follows.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Context details&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;I've seen this once, in the following context.&amp;nbsp; A PC had suffered hard drive failure, and was also in need of RAM upgrade and software updates.&amp;nbsp; So I first repaired the hardware by imaging to a good hard drive, added more RAM, replaced the duff CD-ROM drive with a working one.&amp;nbsp; &lt;/p&gt; &lt;p&gt;Then I did "the prelim"; MemTest86 to verify RAM, Bart CDR boot to verify HD via HD Tune, file system checks OK, formal malware scans OK.&lt;/p&gt; &lt;p&gt;Next, I boot into Windows, and am not too surprised when it tells me I need to activate, as the hardware has "changed too much".&amp;nbsp; I deferred this, and did what I usually do when updating XP systems this month:&lt;/p&gt; &lt;ul&gt; &lt;li&gt;get off all networks and Internet&lt;/li&gt; &lt;li&gt;uninstall free AVG 7.5&lt;/li&gt; &lt;li&gt;uninstall Internet Explorer 7&lt;/li&gt; &lt;li&gt;move all $.. folders from OS subtree to another HD volume&lt;/li&gt; &lt;li&gt;defrag to consolidate free space&lt;/li&gt; &lt;li&gt;apply XP SP3 from offline installer&lt;/li&gt; &lt;li&gt;verify firewall is on&lt;/li&gt; &lt;li&gt;install free AVG 8&lt;/li&gt; &lt;li&gt;connect to Internet so AVG 8 can update&lt;/li&gt; &lt;li&gt;upgrade other software; Java, Acrobat Reader, Firefox etc.&lt;/li&gt; &lt;li&gt;allow Automatic Update to pick up IE7 and other updates&lt;/li&gt; &lt;li&gt;attempt activation before applying OS and IE7 updates&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;During this process, I restarted Windows several times for various reasons, but the activation dialog would not work.&amp;nbsp; It only worked after I applied the pending Automatic Updates; then after the restart that followed, activation was fine.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Suspected cause&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;I suspect that pending updates cause the activation dialog to "stick".&amp;nbsp; This may apply specifically to XP SP3 or be a general XP issue that I had not encountered until now, as I seldom (if ever) have activation demands and pending updates at the same time.&amp;nbsp; &lt;/p&gt; &lt;p&gt;That situation can arise in the context of installing XP SP3, because:&lt;/p&gt; &lt;ul&gt; &lt;li&gt;you want to uninstall IE7 (or IE8 beta) before applying SP3&lt;/li&gt; &lt;li&gt;Windows Media Player falls back to old version&lt;/li&gt; &lt;li&gt;you can't install Media Player 11 as it won't "validate"&lt;/li&gt; &lt;li&gt;you can't install IE7 from pre-downloaded file&lt;/li&gt; &lt;li&gt;you can't use the Update web site until you activate&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;So you rely on Automatic Update to feed in the patches you want, but may feel the need to defer installation of these until you've activated.&amp;nbsp; This applied in my case, because a lot of the updates were for IE6 which I intended to replace with IE7 anyway - so before applying updates, I wanted to install Media Player 11 and IE7, so that the updates I downloaded and applied would be "after" these.&lt;/p&gt; &lt;p&gt;If my hunch about the cause of this failure pattern is correct, then this combination of circumstances can create a "deadly embrace" of cross-dependencies; can't activate until updates are applied, but user doesn't want to apply updates until the system is activated.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Can't install IE7 on XP SP3?&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;On "you can't install IE7 from pre-downloaded file"; this seems to be a different XP SP3 issue.&amp;nbsp; &lt;/p&gt; &lt;p&gt;Usually, I can at least initiate the IE7 install from a pre-downloaded installation executable, though this needs to be online so it can pull down updates to IE7 as part of the installation process.&amp;nbsp; But this fails after XP SP3 has been applied; instead, one has to induce an IE7 install via Automatic, Windows or Microsoft Update.&amp;nbsp; Sometimes it's offered as a critical update, other times not?&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11573761-5978250752946492668?l=cquirke.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cquirke.blogspot.com/feeds/5978250752946492668/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11573761&amp;postID=5978250752946492668' title='9 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11573761/posts/default/5978250752946492668'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11573761/posts/default/5978250752946492668'/><link rel='alternate' type='text/html' href='http://cquirke.blogspot.com/2008/06/xp-sp3-activation-dialog.html' title='XP SP3 &amp;quot;Stuck&amp;quot; Activation Dialog'/><author><name>Chris Quirke</name><uri>http://www.blogger.com/profile/05538828571660803875</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://cquirke.mvps.org/images/cqhead.jpg'/></author><thr:total>9</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11573761.post-1086117149887899069</id><published>2008-04-15T16:32:00.001-07:00</published><updated>2008-04-15T16:59:53.974-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Meta-bug'/><title type='text'>When Add/Remove Doesn't Remove</title><content type='html'>&lt;p&gt; &lt;div style="padding-right: 0px; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px; display: inline" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:63cd3334-1e32-4df6-a871-4076602d9c30" class="wlWriterSmartContent"&gt;Technorati tags: &lt;a href="http://technorati.com/tags/Uninstaller" rel="tag"&gt;Uninstaller&lt;/a&gt;, &lt;a href="http://technorati.com/tags/XP" rel="tag"&gt;XP&lt;/a&gt;, &lt;a href="http://technorati.com/tags/bug" rel="tag"&gt;bug&lt;/a&gt;&lt;/div&gt;&lt;/p&gt; &lt;p&gt;What do you do when you go to XP's Control Panel, Add/Remove Programs, find the software you want to remove, and the entry has no Remove button on it?&lt;/p&gt; &lt;p&gt;I found an answer in a &lt;a title="Look for jrsollas's post about halfway down the thread" href="http://www.geekstogo.com/forum/Add-Remove-Programs-has-no-remove-button-option-t159847.html&amp;amp;st=15&amp;amp;start=15"&gt;forum thread&lt;/a&gt;, as follows...&lt;/p&gt; &lt;p&gt;HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{Program Name}&lt;br&gt;&lt;br&gt;If NoRemove is set to 1, the Remove button will be unavailable&lt;br&gt;If NoModify is set to 1, the Change button will be unavailable&lt;/p&gt; &lt;p&gt;Note that as the {program name} may be a CLSID, you may need to search for the product name (e.g. "Intel Audio Studio", using what you saw in Add/Remove) to locate the correct entry in which to find the relevant NoRemove setting.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Intel Audio Studio&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;In my case, I'd had to replace a failed Intel 945G chipset motherboard with a new Intel G33 chipset motherboard with attendant processor upgrade.&amp;nbsp; XP died on a BSoD STOP error on all boots, as expected (a self-serving product fragility that helps limit "license creep") so the next step was to "just" do a repair install... but that's another day's blogging.&lt;/p&gt; &lt;p&gt;The other motherboard came with Intel Audio Studio, which installs and uninstalls along with the sound drivers.&amp;nbsp; But when the motherboard changes, the old sound device vanishes from Device Manager, so you no longer have an UI from which the device (and thus drivers, and thus associated bundleware) can be removed.&lt;/p&gt; &lt;p&gt;Hence the problem: Add/Remove Programs has an entry for Intel Audio Studio, but that entry has no Remove button.&amp;nbsp; It "doesn't need it" (so implies the text within the entry) because it is "installed and uninstalled with the drivers".&lt;/p&gt; &lt;p&gt;&lt;strong&gt;The meta-bug behind the bug&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;&lt;a title="Alun Jones' blog" href="http://msmvps.com/blogs/alunj/Default.aspx"&gt;Alun Jones&lt;/a&gt; said "&lt;!--StartFragment --&gt;Don't solve problems, solve classes of problems", and by meta-bugs, I mean the classes of problems behind the bugs you step on one by one.&lt;/p&gt; &lt;p&gt;Have you noticed how few USB-interfaced hardware vendors create driver installations that work with the Windows PnP detection, prompt, and install sequence?&amp;nbsp; Most vendors tell you to avoid that by first auto-running their installation CD or running their Setup.exe, and then plugging in the USB device only after the "drivers" are loaded.&lt;/p&gt; &lt;p&gt;One reason may be because the vendor wants to install a range of software that is broader than that handled by the device driver installation purpose.&amp;nbsp; And this is where the meta-bug comes in, because whereas drivers are suppressed when the device is not found, the rest of the bundled software is not.&amp;nbsp; This is what causes your Display Properties dialogs to crash when you replace your graphics card, if the old graphics card left device-specific code hooked into the Properties page.&lt;/p&gt; &lt;p&gt;In this case, the meta-bug caused an apparent inability to uninstall Intel Audio Studio.&amp;nbsp; With the new motherboard in place, a dialog appears on every boot to the effect that Intel Audio Studio doesn't work with the system's (different) audio, prompting my attempts to uninstall the software via Add/Remove Programs.&lt;/p&gt; &lt;p&gt;What is particularly annoying, is that Intel's web site has nothing I could find on this issue - either via their own site search, or combining &lt;a href="http://www.intel.com"&gt;www.intel.com&lt;/a&gt; with appropriate search terms in a general Internet Google search.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11573761-1086117149887899069?l=cquirke.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cquirke.blogspot.com/feeds/1086117149887899069/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11573761&amp;postID=1086117149887899069' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11573761/posts/default/1086117149887899069'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11573761/posts/default/1086117149887899069'/><link rel='alternate' type='text/html' href='http://cquirke.blogspot.com/2008/04/when-addremove-doesn-remove.html' title='When Add/Remove Doesn&amp;#39;t Remove'/><author><name>Chris Quirke</name><uri>http://www.blogger.com/profile/05538828571660803875</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://cquirke.mvps.org/images/cqhead.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11573761.post-6624423395876624021</id><published>2008-04-11T01:58:00.001-07:00</published><updated>2008-04-11T02:15:19.089-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Bug'/><title type='text'>Web Forum Login Blues</title><content type='html'>&lt;p&gt; &lt;div style="padding-right: 0px; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px; display: inline" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:d908277c-c216-4861-b9f1-dbad8a7660f6" class="wlWriterSmartContent"&gt;Technorati tags: &lt;a href="http://technorati.com/tags/Forums" rel="tag"&gt;Forums&lt;/a&gt;, &lt;a href="http://technorati.com/tags/Web" rel="tag"&gt;Web&lt;/a&gt;&lt;/div&gt;&lt;/p&gt; &lt;p&gt;One of the challenges in web design and web forums in particular, is how to handle the requirement to log in for more functional access.&lt;/p&gt; &lt;p&gt;Whenever a login prompt pops up, folks will often simply leave, rather than log in, even if they are already registered at the site.&amp;nbsp; So immediate login isn't usually what you want to do with web forums; for one thing, you will lose folks who find your forums via search results that jump into forum content.&lt;/p&gt; &lt;p&gt;So web forums generally let you browse around until you want to do something that requires you to login, such as start new threads, reply to posts, etc.&lt;/p&gt; &lt;p&gt;Even at this point, I'm still inclined to give up rather than continue, when I see a login prompt.&amp;nbsp; Why?&amp;nbsp; Because I anticipate a hassle of not only login in, which I can handle, but having to re-navigate my way back to what I was doing - i.e. which forum, which thread, which one of 27 pages of posts (sometimes requiring 22 "next" because there's no "go to end" where the most recent stuff is found) and which post on that page, then the edit box I may have already started.&lt;/p&gt; &lt;p&gt;The &lt;a title="Bart PE forums on The CD Forum" href="http://www.911cd.net/forums//index.php?s=2d8129076720e6e30cc2031100d2b258&amp;amp;showforum=30"&gt;Bart forums&lt;/a&gt; hosted &lt;a title="The forums' parent site" href="http://www.911cd.net/"&gt;here&lt;/a&gt; get it right; you sign in, and you are returned exactly to context you left before you had to log in.&lt;/p&gt; &lt;p&gt;Microsoft's web reader for their newsgroups gets it wrong, at least in the context of linking to their forums via other Microsoft sites.&amp;nbsp; Here's the repro; start here...&lt;/p&gt; &lt;p&gt;&lt;a href="http://www.microsoft.com/windows/ie/ie8/welcome/en/default.html"&gt;http://www.microsoft.com/windows/ie/ie8/welcome/en/default.html&lt;/a&gt;&lt;/p&gt; &lt;p&gt;...and then at the bottom right of the page, right-click, Open In New Tab (the method I used, a straight click will likely do the same) on "Community Forums", taking you here:&lt;/p&gt; &lt;p&gt;&lt;u&gt;&lt;font color="#de7008"&gt;&lt;a href="http://www.microsoft.com/communities/newsgroups/list/en-us/default.aspx?dg=microsoft.public.internetexplorer.beta&amp;amp;cat=en_us_2BAF8EC5-645C-4477-A380-0F1CF6C102F9&amp;amp;lang=en&amp;amp;cr=us"&gt;http://www.microsoft.com/communities/newsgroups/list/en-us/default.aspx?dg=microsoft.public.internetexplorer.beta&amp;amp;cat=en_us_2BAF8EC5-645C-4477-A380-0F1CF6C102F9&amp;amp;lang=en&amp;amp;cr=us&lt;/a&gt;&lt;/font&gt;&lt;/u&gt;&lt;a href="http://www.microsoft.com/windows/ie/ie8/welcome/en/default.html"&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;So far, so good; we're in blah.blah.blah.ie8.blah which is where we want to be, and we start reading, then decide we want to post a new thread.&amp;nbsp; Oops, now we want to login, so we do, and when we get back, we are no longer in the context of the newsgroup we wanted to visit.&amp;nbsp; We didn't note the name of that newsgroup because we thought we'd always be able to link into it directly from the IE8 beta page.&lt;/p&gt; &lt;p&gt;Now I know Microsoft are battling to win over many of us usenet die-hards to embrace the web UI to their newsgroups.&amp;nbsp; This is IMO a serious stumbling block, not only for us, but also for folks discovering newsgroups for the first time, without usenet preconceptions and expectations.&lt;/p&gt; &lt;p&gt;The above is as tested on XP SP2 with IE8 beta 1 installed over IE7, IE8 Standards Mode, set to prompt on active content, all such prompts OK''d.&lt;/p&gt; &lt;p&gt;Workaround 1: Remember what the newsgroup is called, duh!&amp;nbsp; Not so easy in that it's not content that can be cut and pasted, in terms of the UI, and the nature of the data is a pain to remember.&amp;nbsp; Breaks the concept of "let the PC do it", too, plus that only gets you back as far as the start of the newsgroup, before you navigated within it.&lt;/p&gt; &lt;p&gt;Workaround 2: Log in, then go back to the IE8 page and repeat the link to the forums (which Microsoft may also refer to as "communities").&amp;nbsp; This time you will navigate into a logged-in state, and all will be well, though any navigation you did within the forum would have to be re-done.&amp;nbsp; For best practice (i.e. shouldn't be required, but...) remember to log out of both forum tabs when done.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11573761-6624423395876624021?l=cquirke.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cquirke.blogspot.com/feeds/6624423395876624021/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11573761&amp;postID=6624423395876624021' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11573761/posts/default/6624423395876624021'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11573761/posts/default/6624423395876624021'/><link rel='alternate' type='text/html' href='http://cquirke.blogspot.com/2008/04/web-forum-login-blues.html' title='Web Forum Login Blues'/><author><name>Chris Quirke</name><uri>http://www.blogger.com/profile/05538828571660803875</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://cquirke.mvps.org/images/cqhead.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11573761.post-2347244260741655590</id><published>2008-03-30T16:24:00.001-07:00</published><updated>2008-03-30T16:42:44.507-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Data Recovery'/><title type='text'>NTFS vs. FATxx Data Recovery</title><content type='html'>&lt;div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:3e942d7e-7c8e-4f73-8e3e-5107d364b51d" style="padding-right: 0px; display: inline; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;Technorati tags: &lt;a href="http://technorati.com/tags/Data%20recovery" rel="tag"&gt;Data recovery&lt;/a&gt;&lt;/div&gt; &lt;p&gt;By now, I've racked up some mileage with data recovery in &lt;a title="Wikipedia on FATxx" href="http://en.wikipedia.org/wiki/File_Allocation_Table"&gt;FATxx&lt;/a&gt; and &lt;a title="Wikipedia on NTFS" href="http://en.wikipedia.org/wiki/NTFS"&gt;NTFS&lt;/a&gt;, using &lt;a title="R-Studio site" href="http://www.r-studio.com/"&gt;R-Studio&lt;/a&gt; (paid), &lt;a title="Runtime Software site" href="http://www.runtime.org/"&gt;GetDataBack&lt;/a&gt; (demo), &lt;a title="A manual approach to FATxx file system recovery" href="http://cquirke.mvps.org/9x/recovery.htm"&gt;manually&lt;/a&gt; via ye olde Norton DiskEdit (paid), and free &lt;a title="Restoration undeleter and recovery tool" href="http://www.snapfiles.com/get/restoration.html"&gt;Restoration&lt;/a&gt;, &lt;a title="File Recovery at the Convar site" href="http://www.pcinspector.de/Sites/file_recovery/info.htm?language=1"&gt;File Recovery 4&lt;/a&gt; and &lt;a title="Handy Recovery recovers from raw cluster chains" href="http://www.handyrecovery.com/"&gt;Handy Recovery&lt;/a&gt;, and a pattern emerges.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Dispelling some myths&lt;/strong&gt;&amp;nbsp; &lt;/p&gt; &lt;p&gt;NTFS has features that allow transactions to be reversed, and there's much talk of how it "preserves data" in the face of corruption.&amp;nbsp; But all it really preserves is the sanity of the file system and metadata; your actual file contents are not included in these schemes of things.&amp;nbsp; &lt;/p&gt; &lt;p&gt;Further, measures such as the above, plus automated file system repair after bad exits from Windows, are geared to the interruption of sane file system activity.&amp;nbsp; They can do nothing to minimize the impact of insane file system activity, as happens when bad RAM corrupts addresses and contents of sector writes, nor can they ameliorate the impact of bad sectors encountered on reads (when the data is not in memory to write somewhere else, it can only be lost).&lt;/p&gt; &lt;p&gt;From an OS vendors' perspective, there's no reason to consider it a failing to not be able to handle bad RAM and bad sectors; after all, it's not the OS vendor's responsibility to work properly under these conditions.&amp;nbsp; But they occur in the real world, and from a user's perspective, it's best if they are handled as well as possible.&lt;/p&gt; &lt;p&gt;The best defences against this sort of corruption is redundancy of critical information, such as the duplication of FATs, or less obviously, the ability to deduce one set of metadata from another set of cues.&amp;nbsp; Comparison of these redundant metadata allows the integrity of the file system to be checked, and anomalies detected.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Random sector loss&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;Loss of sector contents to corruption or physical disk defects is often not random, but &lt;a title="Why &amp;quot;one bad sector&amp;quot; can kill you" href="http://cquirke.blogspot.com/2008/03/why-bad-sector-often-kills-you.html"&gt;weighted&lt;/a&gt; towards those parts of the disk that are accessed (bad sectors) or written (bad sectors and corruption) the most often.&amp;nbsp; This enlarges the importance of critical parts of the file system that do not change location and that are often accessed.&lt;/p&gt; &lt;p&gt;When this happens, there are generally three levels of recovery.&lt;/p&gt; &lt;p&gt;The &lt;strong&gt;first level&lt;/strong&gt;, and easiest, is to simply copy off the files that are not corrupted.&amp;nbsp; Before doing so, you have to exclude bad hardware that can corrupt the process (e.g. bad RAM), and then you make a beeline for your most important files, copying them off the stricken hard drive - even before you surface scan the drive to see if there are in fact failing sectors on it, or attempt a full partition image copy.&amp;nbsp; This way, you get at least some data off even if the hard drive has less than an hour before dying completely.&lt;/p&gt; &lt;p&gt;You may find some locations can't be copied for various reasons that break down to invalid file system structure, physical bad sectors, overwritten contents, or cleanly missing files that have been erased.&amp;nbsp; If the hard drive is physically bad, you'd then attempt a partition copy to a known-good drive.&amp;nbsp; If you want to recover cleanly erased files, or attempt correction of corrupted file systems, then this partition copy must include everything in that space, rather than just the files as defined by the existing file system.&lt;/p&gt; &lt;p&gt;The &lt;strong&gt;second level&lt;/strong&gt; of recovery is where you regain access to lost files by repairing the file system's logic and structure.&amp;nbsp; This includes finding partitions and rebuilding partition tables, finding lost directory trees and rebuilding missing root directories, repairing mismatched FATs and so on.&amp;nbsp; I generally do this manually for FATxx, whereas tools like R-Studio, GetDataBack etc. attempt to automate the process for both FATxx and NTFS.&amp;nbsp; &lt;/p&gt; &lt;p&gt;In the case of FATxx, the most common requirements are to rebuild a lost root directory by creating scratch entries pointing to all discovered directories that have .. (i.e. root) as their parent, and to build a matched and valid pair of FATs by selectively coping sectors from one FAT to the other.&lt;/p&gt; &lt;p&gt;Recovered data is often in perfect condition, but may be corrupted if file system cues are incomplete, or if material was overwritten.&amp;nbsp; Bad sectors announce their presence, but if bad RAM had corrupted the contents of what was written to disk, then these files will pass file system structural checks, yet contain corrupted data.&lt;/p&gt; &lt;p&gt;The &lt;strong&gt;third level&lt;/strong&gt; of logical data recovery is the most desperate, with the poorest results.&amp;nbsp; This is where you have lost file system structural cues to cluster chaining and/or the directory entries that describe the files.&lt;/p&gt; &lt;p&gt;Where cluster chaining information is lost, one generally assumes sequential order of clusters (i.e. no fragmentation) terminated by the start of other files or directories, as cued by found directories and the start cluster addresses defined by the entries within these.&amp;nbsp; In the case of FATxx, I generally chain the entire volume as one contiguous cross-linked file by pasting "flat FATs" into place.&amp;nbsp; Files can be copied off a la first level recovery once this is done, but no file system writes should be allowed.&lt;/p&gt; &lt;p&gt;If directory entries are lost, then the start of files and directories can be detected by cues within the missing material itself.&amp;nbsp; Subdirectories in FATxx start with . and .. entries defining self and parent, respectively, and these are the cues that "search for directories" generally use in DiskEdit and others.&amp;nbsp; Many file types contain known header bytes and known offsets (e.g. MZ for Windows code files) and this is used to recover "files" from raw disk by Handy Recovery and others - a particularly useful tactic for recovering photos from camera storage, especially if the size is typical and known.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Results&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;I have found that when a FATxx volume suffers bad sectors, it is typical to lose 5M to 50M material from a file set ranging from 20G to 200G in size.&amp;nbsp; The remainder is generally perfectly recovered, and most recovery is level one stuff, complicated only by the need to step over "disk error" messages and retry bog-downs.&lt;/p&gt; &lt;p&gt;When level two recovery is needed, the results are often as good as the above, but the risks of corrupted contents within recovered files are higher.&amp;nbsp; The risk is higher if bad RAM has been a factor, and is particularly high if a "flat FAT" has to be assumed.&lt;/p&gt; &lt;p&gt;In contrast, when I use R-Studio and similar tools to recover files from NTFS volumes with similar damage, I typically get a very small directory tree that contains little that is useful.&amp;nbsp; Invariably I have to use level three methods to find the data I want.&amp;nbsp; Instead of getting 95% of files back in good (if not perfect) condition, I'll typically lose 95%, and the 5% I get is typically not what I am looking for anyway.&lt;/p&gt; &lt;p&gt;Level three recovery is generally a mess.&amp;nbsp; Flat-FAT assumptions ensure multi-cluster files are often corrupted, and loss of meaningful file names, directory paths and actual file lengths often make it hard to interpret and use the recovered files (or "files").&lt;/p&gt; &lt;p&gt;Why does mild corruption of FATxx typically return 90%+ of material in good condition, whereas NTFS typically returns garbage?&amp;nbsp; It appears is if the directory information is particularly easy to lose in NTFS.&amp;nbsp; I don't believe all the tools I've used, are unable to match the manual logic I use when repairing FATxx file systems via DeskEdit.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Survivability strategies&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;Sure, backups are the best way to mitigate future risks of data loss, but realistically, folks ask for data recovery so often that one should look beyond that, and set up file systems and hard drive volumes with an eye to survivability and recovery.&lt;/p&gt; &lt;p&gt;Data corruption occurs during disk writes, and there may be a relationship between access and bad sectors.&amp;nbsp; So the first strategy is to keep your data where there is less disk write activity, and disk access in general.&amp;nbsp; That means separating the OS partition, with its busy temp, swap and web cache writes, from the data you wish to survive.&lt;/p&gt; &lt;p&gt;At this point, you have opposing requirements.&amp;nbsp; For performance, you'd want to locate the data volume close to the system partition, but survivability would be best if it was far way, where the heads seldom go.&amp;nbsp; The solution to this is to locate the data close, and automate a daily unattended backup that zips the data set into archives kept on a volume at the far end of the hard drive, keeping the last few of these on a FIFO basis.&lt;/p&gt; &lt;p&gt;One strategy to simplify data recovery is to use a small volume to contain only your most important files.&amp;nbsp; That means level three recovery has less chaff to wade through (consider picking out your 1 000 photos from 100 000 web cache pictures in the same mass of recovered nnnnn.JPG files), and you can peel off the whole volume as a manageable slab of raw sectors to paste onto a known-good hard drive for recovery while the rest of the system goes back to work in the field.&lt;/p&gt; &lt;p&gt;The loss of cluster chaining information means that any file longer than one cluster may contain garbage.&amp;nbsp; FATxx stores this chaining information within the FATs, which also cue which clusters are unused, which are bad, and which terminate data cluster chains.&amp;nbsp; NTFS stores this information more compactly; cluster runs are stored as start, length value pairs, whereas a single bitmap holds the used/free status of all data clusters, somewhat like a 1-bit FAT.&amp;nbsp; &lt;/p&gt; &lt;p&gt;Either way, this chaining information is frequently written and may not move on the disk, and both of &lt;a title="Factors that increase the risk of a &amp;quot;just one bad sector&amp;quot; bulls-eye" href="http://cquirke.blogspot.com/2008/03/why-bad-sector-often-kills-you.html"&gt;these factors&lt;/a&gt; increase the risk of loss.&amp;nbsp; A strategy to mitigate this common scenario is to deliberately favour large cluster size for small yet crucial files, so that ideally, all data is held in the first and only data cluster.&amp;nbsp; This is why I still often use FAT16, rather than FAT32, for small data volumes holding small files.&lt;/p&gt; &lt;p&gt;Another strategy is to avoid storing material in the root directory itself (for some reason, this is often trashed, especially by some malware payloads on C:) and to also avoid long and deeply-nested paths.&amp;nbsp; Some recovery methods, e.g. using &lt;a title="ReadNTFS, a free stand-alone NTFS browser for DOS and DOS mode" href="http://www.ntfs.com/products.htm"&gt;ReadNTFS&lt;/a&gt; on a stricken NTFS volume, requires you to navigate through each step of a long path, which is tedious due to ReadNTFS's slowness, the need to step over bad sector retries along the way, and the risks of the path being broken by a trashed directory along the way.&lt;/p&gt; &lt;p&gt;Some recovery tools (including anything DOS-based, such as DiskEdit and ReadNTFS)can't be safely used beyond the 137G line, so it is best to keep crucial material within this limit.&amp;nbsp; Because ReadNTFS is one of the only tools that accesses NTFS files independently of the NTFS.sys driver, it may be the only way into to NTFS volumes corrupted in ways that &lt;a title="Single point of failure: When NTFS.SYS crashes on contact" href="http://cquirke.spaces.live.com/blog/cns!C7DAB1E724AB8C23!188.entry"&gt;crash NTFS.sys&lt;/a&gt;!&lt;/p&gt; &lt;p&gt;Given the poor results I see when recovering data from NTFS, I'd have to recommend using FATxx rather than NTFS as a data survivability strategy.&amp;nbsp; If readers can attain better results with other recovery tools for NTFS, then please describe your mileage with these in the comments section!&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11573761-2347244260741655590?l=cquirke.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cquirke.blogspot.com/feeds/2347244260741655590/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11573761&amp;postID=2347244260741655590' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11573761/posts/default/2347244260741655590'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11573761/posts/default/2347244260741655590'/><link rel='alternate' type='text/html' href='http://cquirke.blogspot.com/2008/03/ntfs-vs-fatxx-data-recovery.html' title='NTFS vs. FATxx Data Recovery'/><author><name>Chris Quirke</name><uri>http://www.blogger.com/profile/05538828571660803875</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://cquirke.mvps.org/images/cqhead.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11573761.post-7285254183940527087</id><published>2008-03-27T16:43:00.000-07:00</published><updated>2008-03-30T16:44:57.343-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Data Recovery'/><title type='text'>Why "One Bad Sector" Often Kills You</title><content type='html'>&lt;p&gt;&lt;/p&gt; &lt;div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:255170de-d885-464a-b877-755e97b48826" style="padding-right: 0px; display: inline; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;Technorati tags: &lt;a href="http://technorati.com/tags/Data%20Recovery" rel="tag"&gt;Data Recovery&lt;/a&gt;&lt;/div&gt; &lt;p&gt;&lt;/p&gt; &lt;p&gt;Has it ever seemed to you, that if there's "one bad sector" on a hard drive, it will often be where it can hurt you the most?&lt;/p&gt; &lt;p&gt;Well, there may be reasons for that - and the take-home should affect the way file systems such as NTFS are designed.&lt;/p&gt; &lt;p&gt;As it is, when I see early bad sectors, they are often in frequently-accessed locations.&amp;nbsp; This isn't because I don't look for bad sectors unless the PC fails, as I routinely do surface scans whenever PCs come in for any sort of work.&amp;nbsp; It's good CYA practice to do this, saving you from making excuses when what you were asked to do, causes damage due to unexpected pre-existing hardware damage.&lt;/p&gt; &lt;p&gt;Why might frequently-accessed sectors fail?&lt;/p&gt; &lt;p&gt;You could postulate physical wear of the disk surface, especially if the air space is polluted with particular matter, e.g. from a failed filter or seal, or debris thrown up from a head strike.&amp;nbsp; This might wear the disk surface most, wherever the heads were most often positioned.&lt;/p&gt; &lt;p&gt;You could postulate higher write traffic to increase the risk of a poor or failed write that invalidates the sector.&lt;/p&gt; &lt;p&gt;Or you could note that if a head crash is going to happen, it's most likely to happen where the heads are most often positioned.&lt;/p&gt; &lt;p&gt;All of the above is worse if the frequently-accessed material is never relocated by file updates, or defrag.&amp;nbsp; That may apply to files that are always "in use", as well as structural elements of the file system such as FATs, NTFS MFT, etc.&amp;nbsp; &lt;/p&gt; &lt;p&gt;Core code files may also be candidates if they have to be repeatedly re-read after being paged out of RAM - suggesting a risk mechanism that involves access rather than writes, if so.&lt;/p&gt; &lt;p&gt;As it is, I've often seen "one bad sector" within a crucial registry hive, or one of the core code files back in the Win9x days.&amp;nbsp; Both of these cause particular failure patterns that I've seen often enough to recognize, e.g. the Win9x system that rolls smoothly from boot to desktop and directly to shutdown, with no error messages, that happens when one of the core code files is bent.&lt;/p&gt; &lt;p&gt;I've often seen "one bad sector" within frequently-updated file system elements, such as FATs, NTFS "used sectors" bitmap, root directory, etc. which may explain why data recovery from bad-sector-stricken NTFS is so often unsatisfactory.&amp;nbsp; &lt;/p&gt; &lt;p&gt;But that's &lt;a title="Comparing FATxx and NTFS data recovery results" href="http://cquirke.blogspot.com/2008/03/ntfs-vs-fatxx-data-recovery.html"&gt;another post&lt;/a&gt;...&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11573761-7285254183940527087?l=cquirke.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cquirke.blogspot.com/feeds/7285254183940527087/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11573761&amp;postID=7285254183940527087' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11573761/posts/default/7285254183940527087'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11573761/posts/default/7285254183940527087'/><link rel='alternate' type='text/html' href='http://cquirke.blogspot.com/2008/03/why-bad-sector-often-kills-you.html' title='Why &amp;quot;One Bad Sector&amp;quot; Often Kills You'/><author><name>Chris Quirke</name><uri>http://www.blogger.com/profile/05538828571660803875</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://cquirke.mvps.org/images/cqhead.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11573761.post-2271871346727298037</id><published>2008-03-24T03:46:00.001-07:00</published><updated>2008-03-24T03:46:43.177-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Anti-competitive behavior'/><title type='text'>Google Desktop vs. Vista Search</title><content type='html'>&lt;p&gt; &lt;div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:639b9182-16c8-4a5e-937b-c572447af32b" style="padding-right: 0px; display: inline; padding-left: 0px; float: none; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;Technorati tags: &lt;a href="http://technorati.com/tags/Microsoft" rel="tag"&gt;Microsoft&lt;/a&gt;, &lt;a href="http://technorati.com/tags/Apple" rel="tag"&gt;Apple&lt;/a&gt;, &lt;a href="http://technorati.com/tags/Safari" rel="tag"&gt;Safari&lt;/a&gt;, &lt;a href="http://technorati.com/tags/Google" rel="tag"&gt;Google&lt;/a&gt;, &lt;a href="http://technorati.com/tags/anti-trust" rel="tag"&gt;anti-trust&lt;/a&gt;&lt;/div&gt;&lt;/p&gt; &lt;p&gt;Google accuses Microsoft of anti-competitive behaviour, in that Vista currently leverages its own desktop search over Google Desktop and other alternatives.&amp;nbsp; This &lt;a title="This article notes Apple's Spotlight search is just as integrated, and &amp;quot;closed&amp;quot;" href="http://vista.blorge.com/2007/06/11/google-says-vistas-built-in-search-violates-government-rulings/"&gt;issue&lt;/a&gt; &lt;a title="The article to which this post is a response" href="http://news.softpedia.com/news/Google-Windows-Vista-Kills-Google-Search-56916.shtml"&gt;is&lt;/a&gt; &lt;a title="Another article on this issue" href="http://www.searchenginejournal.com/microsoft-making-vista-search-changes-thanks-to-google/5149/"&gt;well&lt;/a&gt;-&lt;a title="Another article, with some info on changes made for Vista SP1" href="http://blogs.zdnet.com/microsoft/?p=524"&gt;covered&lt;/a&gt; &lt;a title="A particularly interesting perspective on the issue" href="http://www.winsupersite.com/showcase/winvista_google_changes.asp"&gt;elsewhere&lt;/a&gt;, but some thoughts come to mind...&lt;/p&gt; &lt;p&gt;Isn't Google &lt;a title="Here's a fix, but it involves hacking binary code" href="http://www.macosxhints.com/article.php?story=20030514035516436"&gt;hardwired&lt;/a&gt; as the &lt;a title="Google as default, Yahoo as sole alternative, no way to add others" href="http://blogs.zdnet.com/BTL/?p=5356"&gt;search&lt;/a&gt; &lt;a title="Easy, as long as it's Yahoo you wanted instead" href="http://www.tech-recipes.com/rx/2417/safari_windows_change_default_search_engine"&gt;engine&lt;/a&gt; within Apple's Safari?&lt;/p&gt; &lt;p&gt;Isn't Apple &lt;a title="Mozilla's CEO quoted on this issue" href="http://www.macworld.com/article/132646/2008/03/mozilla.html"&gt;pushing Safari&lt;/a&gt; via the "&lt;a title="Another blog's article on this issue" href="http://john.jubjubs.net/2008/03/21/apple-software-update/"&gt;software update&lt;/a&gt;" process as bundled with iTunes and QuickTime, even if the user didn't have Safari installed to begin with?&lt;/p&gt; &lt;p&gt;I'm seeing a lot of black pots and kettles here.&lt;/p&gt; &lt;p&gt;More to the point: If an alternate serach is chosen by the user or system builder, is the built-in Microsoft indexer stripped out?&amp;nbsp; &lt;a title="&amp;quot;Microsoft will inform PC makers, third party developers, and users that Instant Search will run in the background, even when it is not the default search product&amp;quot;" href="http://www.winsupersite.com/showcase/winvista_google_changes.asp"&gt;This article&lt;/a&gt; suggests it won't be. &lt;/p&gt; &lt;p&gt;That's the ball to watch, because so far, Microsoft's approach to enabling competing subsystems has been to redirect UI to point to the 3rd-party replacement, without removing the integrated Microsoft alternative.&amp;nbsp; &lt;/p&gt; &lt;p&gt;That means the code bloat and exploitability risks of the Microsoft stuff remains, and that in turn makes it impossible for competitors to reduce the overall "cost" of that functionality (as using something else still incurs the "cost" of the Microsoft subsystem as well).&lt;/p&gt; &lt;p&gt;This is particularly onerous when the Microsoft subsystem is still running underfoot.&amp;nbsp; &lt;/p&gt; &lt;p&gt;For an example of the sort of problems that can arise; if you have an edition of Vista that does not offer the "Previous Versions" feature, you still have that code running underfoot, maintaining previous versions of your data files.&amp;nbsp; If someone subsequently upgrades Vista to an edition that does include "Previous Versions", then they can recover "previous versions" of your data files, even though those files were altered before Vista was upgraded.&lt;/p&gt; &lt;p&gt;So it's not enough to give Google (and presumably others, this complaint is not just for the benefit of the search king, is it?) equal or pre-eminant UI space.&amp;nbsp; If one has to accept the runtime overhead of some 3rd-party's indexer, then it's imperitive that Microsoft's indexer is not left running as well.&amp;nbsp; &lt;/p&gt; &lt;p&gt;As it is, indexer overhead is a big performance complaint with Vista.&amp;nbsp; If 3rd-party desktop search has to suffer the overhead of two different indexers, the dice are still loaded against the competition, because no matter how much more efficient the 3rd-party indexer may be, the overall result is worse performance.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11573761-2271871346727298037?l=cquirke.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cquirke.blogspot.com/feeds/2271871346727298037/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11573761&amp;postID=2271871346727298037' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11573761/posts/default/2271871346727298037'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11573761/posts/default/2271871346727298037'/><link rel='alternate' type='text/html' href='http://cquirke.blogspot.com/2008/03/google-desktop-vs-vista-search.html' title='Google Desktop vs. Vista Search'/><author><name>Chris Quirke</name><uri>http://www.blogger.com/profile/05538828571660803875</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://cquirke.mvps.org/images/cqhead.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11573761.post-4822764763357509445</id><published>2008-02-21T03:29:00.001-08:00</published><updated>2008-02-21T03:34:58.811-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Malware'/><title type='text'>SysClean on Bart PE</title><content type='html'>&lt;div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:a725a510-d7d2-4506-858e-741ed0a0b024" style="padding-right: 0px; display: inline; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;Technorati tags: &lt;a href="http://technorati.com/tags/Bart" rel="tag"&gt;Bart&lt;/a&gt;, &lt;a href="http://technorati.com/tags/antivirus" rel="tag"&gt;antivirus&lt;/a&gt;, &lt;a href="http://technorati.com/tags/mOS" rel="tag"&gt;mOS&lt;/a&gt;, &lt;a href="http://technorati.com/tags/SysClean" rel="tag"&gt;SysClean&lt;/a&gt;&lt;/div&gt; &lt;p&gt;Trend &lt;a title="Trend SysClean website" href="http://www.trendmicro.com/download/dcs.asp"&gt;SysClean&lt;/a&gt; is a self-contained, stand-alone malware cleaner that can be used from the &lt;a title="Bart PE Builder site" href="http://www.nu2.nu/pebuilder/"&gt;Bart PE&lt;/a&gt; boot CDR environment.&amp;nbsp; Unlike many free cleaners such as McAfee Stinger and Avast Cleaner, it detects most things that a full-range resident av would detect, rather than a small subset of these.&lt;/p&gt; &lt;p&gt;On the face of it, it should be easy to run SysClean from a Bart CDR boot, but there are a few gotchas that can mess you up.&amp;nbsp; If you're one who has sorted those out ages ago, yet recent found SysClean to no longer work in Bart.&amp;nbsp; &lt;/p&gt; &lt;p&gt;Either way, read on...&lt;/p&gt; &lt;p&gt;&lt;strong&gt;How SysClean works&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;SysClean exists as a SysClean.com engine, plus a larger signature data file with names such as LPT%VPN.xxx, where xxx is a 3-digit number that rolls over from .999 to .000 or .001 whenever there have been that many updates.&amp;nbsp; You can wildcard the data file as LPT$*.*, LPT$VPN.*, LPT$*.???, etc.&lt;/p&gt; &lt;p&gt;SysClean does not have to be installed before use, which makes it attractive as an intervention scanner.&amp;nbsp; There is no integrated updater, so you'd manually download the latest signature data before use.&amp;nbsp; As the engine is also subject to change, I'd recommend downloading a fresh &lt;a title="Direct link to engine file; save the target, don't view as &amp;quot;text&amp;quot; (IE7)" href="http://www.trendmicro.com/ftp/products/tsc/sysclean.com"&gt;engine&lt;/a&gt; alone with new &lt;a title="Look for &amp;quot;Virus Pattern File (Official Pattern Release)&amp;quot;" href="http://www.trendmicro.com/download/pattern.asp"&gt;signature data&lt;/a&gt;.&lt;/p&gt; &lt;p&gt;SysClean.com is not a &lt;a title="About the DOS .COM file format" href="http://en.wikipedia.org/wiki/COM_file"&gt;true .com file&lt;/a&gt;, i.e. it is not a DOS-era 16-bit memory image of code that runs with all segment registers set to the same 64k space.&amp;nbsp; Instead, it is a Win32 executable that unpacks itself and then jumps into itself to run.&lt;/p&gt; &lt;p&gt;From all of the above, you can predict pitfalls when using SysClean from Bart CDR.&amp;nbsp; &lt;/p&gt; &lt;p&gt;&lt;strong&gt;General issues&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;The easy way to avoid these pitfalls, is to copy the files to a HD location and run them from there, all done within the same Bart boot session.&lt;/p&gt; &lt;p&gt;If you want to integrate via a &lt;a title="A Bart PE plugin for SysClean" href="http://www.bootcd.us/BartPE_Plugin_Details/375/Trend-Micro-SysClean.html"&gt;SysClean plugin&lt;/a&gt; into Bart, you have to essentially automate this process, as well as avoiding a few other issues.&lt;/p&gt; &lt;p&gt;As SysClean writes to its own location, that location must be writable (i.e. can't run directly off the CDR) and must have enough free space to unpack (which may not be the case if running within a small RAM drive).&lt;/p&gt; &lt;p&gt;As SysClean.com chains into the SysClean.exe that it spawns, you must ensure your automation logic does not prematurely continue, i.e. after SysClean.com terminates but while SysClean.exe is still running.&amp;nbsp; The &lt;a title="Documentation for the Start /W command" href="http://support.microsoft.com/kb/198044"&gt;Start /W&lt;/a&gt; approach is likely to fail in this way.&lt;/p&gt; &lt;p&gt;SysClean launches sub-tasks, and that means it may fail in environments that impose limits on the number of tasks that can run at the same time.&amp;nbsp; &lt;a title="WinPE article mentions 24 hour limit, but not number of tasks limit" href="http://www.msfn.org/board/lofiversion/index.php/t10315.html"&gt;WinPE&lt;/a&gt;, &lt;a title="Bart and &amp;quot;number of processes&amp;quot; limit" href="http://www.nu2.nu/pebuilder/faq/#17"&gt;Bart PE&lt;/a&gt; and Windows XP &lt;a title="Microsoft kb article on the impact of limited number of processes" href="http://support.microsoft.com/kb/945350"&gt;Starter Edition&lt;/a&gt; may fall into this category.&amp;nbsp; If you have one "wizard" batch file that launches another batch file that launches a set of scanners in sequence, then scanners that start additional processes may hit the limit.&lt;/p&gt; &lt;p&gt;Some of the scans are launched as sub-tasks that run in "DOS-style" CLI windows.&amp;nbsp; If you used a tool within your launcher batch file to hide the batch file window, this may hide the CLI subtasks as well - creating the impression these aren't running from Bart.&amp;nbsp; I haven't gone into this, e.g. removed my CLI winder hider etc. and thus am not sure the CLI scans are done in Bart, or really are skipped.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Recent failure pattern&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;If you've beaten all of the above problems years ago, you may have hit the following failure pattern recently...&lt;/p&gt; &lt;p&gt;SysClean extracts itself and runs OK, presenting you with its GUI.&amp;nbsp; You then slick the Scan button and it starts scanning memory, before scanning files.&amp;nbsp; But it never completes this process; even after the CD and hard drive burbling stops, it just sits there "scanning memory..." forever.&lt;/p&gt; &lt;p&gt;The system and app haven't crashed.&amp;nbsp; If you click to stop the scan, nothing happens, but if you click the [x] to close SysClean's window, that works.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Quick fix&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;If you run SysClean again, within the same Bart session, it works perfectly!&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Why does if fail the first time?&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;A few months ago, SysClean changed its behaviour; at the start of the scanning process, between checking memory and scanning files, it now pops up an "OK" status dialog, to the effect that no viruses were found in memory.&lt;/p&gt; &lt;p&gt;When run in Bart, this dialog never appears - so you can't see it and you can't click it away.&amp;nbsp; And thus, SysClean will stall, waiting for an "OK" click that will never come.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Why does it work the second time?&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;When SysClean runs, it spawns a resident process called TSC.BIN that remains running after SysClean is done.&amp;nbsp; This is spawned before the failed "OK" prompt; I suspect it's spawned as early as possible, to run as "air cover" should any active malware code try to interfere with the scanning process.&lt;/p&gt; &lt;p&gt;The problematic prompt is only launched if TSC.BIN is not already running when SysClean starts its scan (perhaps TSC.BIN is itself the origin of the prompt, as part of its initialisation).&amp;nbsp; &lt;/p&gt; &lt;p&gt;So the first scan starts TSC.BIN and suffers the UI stall, whereas all subsequent scans during the same Bart session will already have TSC.BIN running and are OK.&lt;/p&gt; &lt;p&gt;I see &lt;a title="Interesting thread on SysClean plugin for Bart" href="http://www.911cd.net/forums//lofiversion/index.php?t4737.html"&gt;one SysClean plugin approach&lt;/a&gt; may side-step this issue by scooping the extracted files into the plugin, rather than having the plugin run SysClean.com to extract them at runtime.&amp;nbsp; This may avoid the problem if it is the extraction process that triggers the dialog - though that seems unlikely.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11573761-4822764763357509445?l=cquirke.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cquirke.blogspot.com/feeds/4822764763357509445/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11573761&amp;postID=4822764763357509445' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11573761/posts/default/4822764763357509445'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11573761/posts/default/4822764763357509445'/><link rel='alternate' type='text/html' href='http://cquirke.blogspot.com/2008/02/sysclean-on-bart-pe.html' title='SysClean on Bart PE'/><author><name>Chris Quirke</name><uri>http://www.blogger.com/profile/05538828571660803875</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://cquirke.mvps.org/images/cqhead.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11573761.post-2864002603237269084</id><published>2008-01-27T01:53:00.001-08:00</published><updated>2008-01-27T01:53:47.456-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Safety'/><title type='text'>Person Of The Year: The Unknown Assailant</title><content type='html'>&lt;p&gt;Around about now, Time magazine usually has a "person of the year" award.&amp;nbsp; One year they got cute with this, e.g. citing "you" as that person, empowered as you are by your access to online content creation, etc.&lt;/p&gt; &lt;p&gt;But consider the extent to which your range of activities are constrained by the possible actions of anonymous entities.&amp;nbsp; Some of us are well accustomed to that in "real life", and now it is carving deep inroads into the online experience.&amp;nbsp; &lt;/p&gt; &lt;p&gt;Several business practices have had to be abandoned within years of becoming possible, such as vendor-to-consumer email, online greeting cards, etc.&amp;nbsp; For example, savvy users won't click on attachments or links within email "from" vendors, which leaves the dumbo demographic for such practices.&amp;nbsp; That may no longer be where the smart money can be earned, but it remains a good place to snatch dumb money - so these practices become dominated by malicious, value-free "vendors". &lt;/p&gt; &lt;p&gt;And so we see whole chunks of Internet practice and OS "features" being &lt;a href="http://cquirke.blogspot.com/2007/12/malware-lost-territory.html"&gt;abandoned&lt;/a&gt; to my nomination for "person" of the year; the unknown assailant.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11573761-2864002603237269084?l=cquirke.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cquirke.blogspot.com/feeds/2864002603237269084/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11573761&amp;postID=2864002603237269084' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11573761/posts/default/2864002603237269084'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11573761/posts/default/2864002603237269084'/><link rel='alternate' type='text/html' href='http://cquirke.blogspot.com/2008/01/person-of-year-unknown-assailant.html' title='Person Of The Year: The Unknown Assailant'/><author><name>Chris Quirke</name><uri>http://www.blogger.com/profile/05538828571660803875</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://cquirke.mvps.org/images/cqhead.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11573761.post-493286058672549603</id><published>2008-01-03T03:49:00.001-08:00</published><updated>2008-01-03T03:49:24.619-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='The Waking Hour'/><title type='text'>What You Can't See</title><content type='html'>&lt;p&gt;Last weekend I was at the &lt;a href="http://www.tabblo.com/studio/stories/view/182363/"&gt;Festival of Chariots&lt;/a&gt;, and got talking to someone there.&amp;nbsp; After asking what I did, she said "ah, you have a scientific brain; you don't believe in what you can't see".&lt;/p&gt; &lt;p&gt;That's not the case at all; if anything, science reminds us of the limitations of what we can see, and scientific rigor suggests we can't make authoritative claims on what we can't see - including claims as to whether or not such things exist.&lt;/p&gt; &lt;p&gt;In fact, only one of our senses works off-planet, and that is sensitive to a very narrow spectrum of photon energies.&amp;nbsp; Much of what we currently "see", is visualized via artificial methods, i.e. sensory equipment and arbitrary interpretive processing.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11573761-493286058672549603?l=cquirke.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cquirke.blogspot.com/feeds/493286058672549603/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11573761&amp;postID=493286058672549603' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11573761/posts/default/493286058672549603'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11573761/posts/default/493286058672549603'/><link rel='alternate' type='text/html' href='http://cquirke.blogspot.com/2008/01/what-you-can-see.html' title='What You Can&amp;#39;t See'/><author><name>Chris Quirke</name><uri>http://www.blogger.com/profile/05538828571660803875</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://cquirke.mvps.org/images/cqhead.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11573761.post-8755855137414185330</id><published>2008-01-03T01:01:00.001-08:00</published><updated>2008-01-03T01:06:12.704-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Blogging'/><title type='text'>Finding Recent Comments</title><content type='html'>This is one reason I prefer WordPress to Blogger.  Once I've OK'd comments, I have to smell where they are if I want to reply to them with comments on my own - there's no UI to access "recent comments" irrespective of which post they are commenting.&lt;br /&gt;&lt;br /&gt;Post-Google Blogger being what it is, there's also no easy route to submit this feedback to the blogging service (no, I don't want to do the whole "forum" thing, thanks).  Live Spaces is better there; they're always keen for feedback and new ideas.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11573761-8755855137414185330?l=cquirke.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cquirke.blogspot.com/feeds/8755855137414185330/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11573761&amp;postID=8755855137414185330' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11573761/posts/default/8755855137414185330'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11573761/posts/default/8755855137414185330'/><link rel='alternate' type='text/html' href='http://cquirke.blogspot.com/2008/01/finding-recent-comments.html' title='Finding Recent Comments'/><author><name>Chris Quirke</name><uri>http://www.blogger.com/profile/05538828571660803875</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://cquirke.mvps.org/images/cqhead.jpg'/></author><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11573761.post-4774816473476443297</id><published>2007-12-17T05:14:00.001-08:00</published><updated>2007-12-17T05:14:35.548-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Malware'/><title type='text'>Malware "War", Lost Territory</title><content type='html'>&lt;p&gt; &lt;div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:cc2a565d-93c4-4ff4-97a9-cdb691b8f2ca" style="padding-right: 0px; display: inline; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;Technorati tags: &lt;a href="http://technorati.com/tags/Malware" rel="tag"&gt;Malware&lt;/a&gt;, &lt;a href="http://technorati.com/tags/Safety" rel="tag"&gt;Safety&lt;/a&gt;&lt;/div&gt;&lt;/p&gt; &lt;p&gt;I've often seen the malware situation described as a "war", and conventionally, wars are fought over territory.&amp;nbsp; &lt;/p&gt; &lt;p&gt;What territory has been lost to malware?&lt;/p&gt; &lt;p&gt;Consider various integration points that are now routinely defended against usage, on the basis that the only things likely to use these, are malware.&amp;nbsp; These OS "features" are now effectively "owned" by malware, in that legitimate software will trigger defence alerts if they are used.&lt;/p&gt; &lt;p&gt;Consider a number of ill-advised features that are designed to allow arbitrary material to automate the system, e.g. MS Word auto-running macros, auto-running scripts in HTML email "messages", \Autorun.inf processing on USB flash drives, etc.&amp;nbsp; Today, these will typically be disabled, because the most likely use will be by malware.&amp;nbsp; So Malware "own" that, too.&lt;/p&gt; &lt;p&gt;Consider several business models that involve messages, attachments or links sent by the service's site, such as email greeting cards.&amp;nbsp; As malware can arrive via forgeries of such messages, usage is limited to those who are too dumb to know the risk they are expecting the recipient to take, which is a smaller and more limited demographic than when such services were first started.&amp;nbsp; Effectively, these kinds of businesses and practices have been killed by malware.&lt;/p&gt; &lt;p&gt;Should we scorch and abandon some of this territory?&amp;nbsp; For example, remove OS integration points that are hardly ever used by anything other than malware?&lt;/p&gt; &lt;p&gt;Should we assess likely future "ownership" before creating new technologies and features that are likely to be swamped by malware?&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11573761-4774816473476443297?l=cquirke.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cquirke.blogspot.com/feeds/4774816473476443297/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11573761&amp;postID=4774816473476443297' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11573761/posts/default/4774816473476443297'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11573761/posts/default/4774816473476443297'/><link rel='alternate' type='text/html' href='http://cquirke.blogspot.com/2007/12/malware-lost-territory.html' title='Malware &amp;quot;War&amp;quot;, Lost Territory'/><author><name>Chris Quirke</name><uri>http://www.blogger.com/profile/05538828571660803875</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://cquirke.mvps.org/images/cqhead.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11573761.post-3603627861833875342</id><published>2007-11-18T04:15:00.001-08:00</published><updated>2007-11-18T08:26:49.948-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Malware'/><category scheme='http://www.blogger.com/atom/ns#' term='Safety'/><title type='text'>Norton Security Scan - False Positives</title><content type='html'>&lt;p&gt; &lt;div class="wlWriterSmartContent" id="0767317B-992E-4b12-91E0-4F059A8CECA8:83484741-9b38-4d5f-87f8-4b29d000f2fe" contenteditable="false" style="padding-right: 0px; display: inline; padding-left: 0px; float: none; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;Technorati tags: &lt;a href="http://technorati.com/tags/Malware" rel="tag"&gt;Malware&lt;/a&gt;, &lt;a href="http://technorati.com/tags/Risk%20Management" rel="tag"&gt;Risk Management&lt;/a&gt;, &lt;a href="http://technorati.com/tags/Safety" rel="tag"&gt;Safety&lt;/a&gt;, &lt;a href="http://technorati.com/tags/Bug" rel="tag"&gt;Bug&lt;/a&gt;&lt;/div&gt;&lt;/p&gt; &lt;p&gt;The &lt;a title="Norton Security Scan FAQ" href="http://service1.symantec.com/SUPPORT/sharedtech.nsf/docid/2007031405260913"&gt;Norton Security Scan&lt;/a&gt; utility is free, and bundled with the &lt;a title="Google Pack installer site" href="http://pack.google.com/intl/en/pack_installer.html"&gt;Google Pack&lt;/a&gt;.&amp;nbsp; It's an on-demand scanner that looks for malware and risks.&lt;/p&gt; &lt;p&gt;Unfortunately, it detects protective settings applied by Spyware Blaster and similar tools, as being the malware these tools are protecting against. This is a generic type of bug that often arises when tools assume anything other than default is a hostile change, or when overly-loose detection cues are in effect.&lt;/p&gt; &lt;p&gt;Specifically, &lt;a title="Description of cookie-blocking settings" href="http://support.microsoft.com/kb/182569"&gt;settings&lt;/a&gt; within HKCU's P3P\History that block unwanted cookies, are detected as evidence of malware.&amp;nbsp; In the case I'm currently working on, only around 5 of over 100 protective entries were detected in this way.&lt;/p&gt; &lt;p&gt;The tool then claims it is unable to fix these problems, which is just as well, as doing so would actually weaken system safety.&amp;nbsp; The end result is similar to &lt;a title="Symantec's description of Winfixer malware" href="http://www.symantec.com/security_response/writeup.jsp?docid=2005-120121-2151-99"&gt;Winfixer&lt;/a&gt; et al, i.e. false-positive (actually, reverse-positive) detections plus referral to feeware products if these are to be "fixed" - so one hopes Symantec will fix this sooner rather than later.&lt;/p&gt; &lt;p&gt;The case I'm working on is interesting, as it was brought in because it was slowing down, with malware as the suspected cause.&amp;nbsp; Formal scanning finds no active malware, and one wonders if the slowdown was the result of installing Google desktop etc., with the false-positive from Norton Security Scan as the red herring.&lt;/p&gt; &lt;p&gt;I'd like to try Norton Security Scan within mOS contexts such as Bart or WinPE CDR boot, but it appears as if the product is available &lt;em&gt;only&lt;/em&gt; via Google Pack.&amp;nbsp; There are no references to it at Symantec's site, and the FAQ doesn't seem to consider "so where can I download this thing?" to be "frequently asked".&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11573761-3603627861833875342?l=cquirke.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cquirke.blogspot.com/feeds/3603627861833875342/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11573761&amp;postID=3603627861833875342' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11573761/posts/default/3603627861833875342'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11573761/posts/default/3603627861833875342'/><link rel='alternate' type='text/html' href='http://cquirke.blogspot.com/2007/11/norton-security-scan-false-positives.html' title='Norton Security Scan - False Positives'/><author><name>Chris Quirke</name><uri>http://www.blogger.com/profile/05538828571660803875</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://cquirke.mvps.org/images/cqhead.jpg'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11573761.post-6414499784667976869</id><published>2007-11-18T02:52:00.001-08:00</published><updated>2007-11-18T03:35:43.566-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Safety'/><title type='text'>SARS Tax Returns vs. Acrobat Reader</title><content type='html'>&lt;p&gt; &lt;div class="wlWriterSmartContent" id="0767317B-992E-4b12-91E0-4F059A8CECA8:d3017a27-86d0-4d4a-b9fc-a911eca8618e" contenteditable="false" style="padding-right: 0px; display: inline; padding-left: 0px; float: none; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;Technorati tags: &lt;a href="http://technorati.com/tags/South%20Africa" rel="tag"&gt;South Africa&lt;/a&gt;, &lt;a href="http://technorati.com/tags/Risk%20Management" rel="tag"&gt;Risk Management&lt;/a&gt;, &lt;a href="http://technorati.com/tags/Safety" rel="tag"&gt;Safety&lt;/a&gt;&lt;/div&gt;&lt;/p&gt; &lt;p&gt;Those using the South African Revenue Service (&lt;a title="South African Revenue Service" href="http://www.sars.gov.za/"&gt;SARS&lt;/a&gt;) &lt;a title="SARS e-filing home page" href="http://www.sarsefiling.co.za/StaticMain.aspx"&gt;e-filing&lt;/a&gt; facility may find non-default safety settings within Adobe &lt;a title="Adobe (Acrobat) Reader download page" href="http://www.adobe.com/products/acrobat/readstep2.html"&gt;Acrobat Reader&lt;/a&gt; get in the way.&lt;/p&gt; &lt;h4&gt;How to fix&lt;/h4&gt; &lt;p&gt;Most likely you need only enable JavaScript, but when I had to troubleshoot this in the field, I applied all of the following settings...&lt;/p&gt; &lt;blockquote&gt; &lt;p&gt;Run Adobe Acrobat Reader 8.&lt;em&gt;x&lt;/em&gt;&lt;/p&gt; &lt;p&gt;Edit menu, Preferences&lt;/p&gt; &lt;p&gt;JavaScript icon, [x] Enable Acrobat JavaScript&lt;/p&gt; &lt;p&gt;Multimedia Trust icon, Trusted Documents radio button, [x] Allow Multimedia Operations&lt;/p&gt; &lt;p&gt;Multimedia Trust icon,&amp;nbsp;Other Documents radio button, [x] Allow Multimedia Operations&lt;/p&gt; &lt;p&gt;Trust Manager icon, [x] Allow Opening of Non-PDF File Attachments with External Applications&lt;/p&gt;&lt;/blockquote&gt; &lt;p&gt;...and reversed them for safety when done.&lt;/p&gt; &lt;h4&gt;Why use safer settings?&lt;/h4&gt; &lt;p&gt;If these non-default settings stop things like SARS e-filing from working, why apply them?&amp;nbsp; &lt;/p&gt; &lt;p&gt;Because &lt;a title="Wikipedia on Acrobat, including risk assessment" href="http://en.wikipedia.org/wiki/Adobe_Acrobat"&gt;Acrobat&lt;/a&gt; files are already &lt;a title="In-The-Wild attacks via .PDF in October 2007" href="http://www.computerworld.com/action/article.do?command=viewArticleBasic&amp;amp;articleId=9043699"&gt;being&lt;/a&gt; &lt;a title="Spam that leverages .PDF exploitability" href="http://articles.yuikee.com.hk/newsletter/2007/10/i.html"&gt;exploited&lt;/a&gt; by &lt;a title="Spam usage of PDF (and later other Acrobat formats)" href="http://www.heise-security.co.uk/news/91523"&gt;spam&lt;/a&gt;, and a significant safety gap exists between what you think a .PDF is (i.e. a data format that is safe to read) and what it can do (automate your system via JavaScript, launching of other files and code, etc.).&lt;/p&gt; &lt;p&gt;Acrobat Reader is an exploitable surface that has often been patched to "fix" it, and for which &lt;a title="PoC exploit of vulnerability unpatched as at October 2007" href="http://www.computing.co.uk/vnunet/news/2201292/exploit-surfaces-unpatched"&gt;unpatched&lt;/a&gt; &lt;a title="An older vulnerability example from 2004's Acrobat Reader 5.0" href="http://www.xatrix.org/article.php?s=3661"&gt;vulnerabilities&lt;/a&gt; often exist.&amp;nbsp; &lt;a title="ReadNotify.com tracks .PDF usage via &amp;quot;call-home&amp;quot;" href="http://findarticles.com/p/articles/mi_qa4077/is_200501/ai_n15740058"&gt;Commercial&lt;/a&gt; &lt;a title="Remote Approach tracks .PDF usage via &amp;quot;call-home&amp;quot;" href="http://www.free-news-release.com/Adobe-Acrobat--PDF--Tracking-and-Management-Service-Launched-By-Remote-Approach-Detail_681.html"&gt;enterprises&lt;/a&gt; have already exploited the by-design safety gap, e.g. by having .PDF documents "call home" when they are read, so that their usage can be tracked.&amp;nbsp; &lt;/p&gt; &lt;p&gt;So one should keep Acrobat Reader on a very short leash, or use &lt;a title="Wikipedia list of .PDF viewers and editors" href="http://en.wikipedia.org/wiki/List_of_PDF_software"&gt;something&lt;/a&gt; &lt;a title="Foxit .PDF reader" href="http://www.foxitsoftware.com/pdf/rd_intro.php"&gt;else&lt;/a&gt; to "open" .PDF and other Acrobat file types.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11573761-6414499784667976869?l=cquirke.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cquirke.blogspot.com/feeds/6414499784667976869/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11573761&amp;postID=6414499784667976869' title='7 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11573761/posts/default/6414499784667976869'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11573761/posts/default/6414499784667976869'/><link rel='alternate' type='text/html' href='http://cquirke.blogspot.com/2007/11/sars-tax-returns-vs-acrobat-reader.html' title='SARS Tax Returns vs. Acrobat Reader'/><author><name>Chris Quirke</name><uri>http://www.blogger.com/profile/05538828571660803875</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://cquirke.mvps.org/images/cqhead.jpg'/></author><thr:total>7</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11573761.post-8399944726133976270</id><published>2007-10-12T18:07:00.001-07:00</published><updated>2007-10-12T18:07:26.183-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='The Waking Hour'/><title type='text'>Understanding Integers</title><content type='html'>&lt;p&gt; &lt;div class="wlWriterSmartContent" id="0767317B-992E-4b12-91E0-4F059A8CECA8:2b1b4b25-7495-450a-8606-dfcb5736a0a0" contenteditable="false" style="padding-right: 0px; display: inline; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;Technorati tags: &lt;a href="http://technorati.com/tags/Number%20theory" rel="tag"&gt;Number theory&lt;/a&gt;&lt;/div&gt;&lt;/p&gt; &lt;p&gt;Which is the largest of these rational numbers?&lt;/p&gt; &lt;ul&gt; &lt;li&gt;1.5075643002&lt;/li&gt; &lt;li&gt;5.2&lt;/li&gt; &lt;li&gt;5.193&lt;/li&gt; &lt;li&gt;5.213454&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;If you say 5.213454, then you're still thinking in integer terms.&amp;nbsp; If you say 1.5075643002 is the largest within a rational number frame of reference, then you thinking as I am right now.&lt;/p&gt; &lt;p&gt;Is Pi an irrational number, or have we just not effectively defined it yet?&amp;nbsp; With the Halting Problem in mind, can we ever determine whether Pi is rational or irrational?&amp;nbsp; On that basis, is there such a thing as irrational real numbers, or are these just rational numbers beyond the reach of our precision?&amp;nbsp; Unlike most, this last question will be answered within this article.&lt;/p&gt; &lt;h4&gt;Rational numbers&lt;/h4&gt; &lt;p&gt;I&amp;nbsp;was taught that rational numbers were those that can be expressed as one integer divided by another - but I'm reconsidering that as numbers that lie between fixed bounds, or more intuitively, "parts of a whole".&lt;/p&gt; &lt;p&gt;When we deal with rational numbers in everyday life, we're not really dealing with rational numbers as I conceptualize them within this article.&amp;nbsp; We're just dealing with clumps of integers.&amp;nbsp; &lt;/p&gt; &lt;p&gt;To enumerate things, there needs to be a frame of reference.&amp;nbsp; If you say "six" I'll ask 'six what?', and if you say "a quarter", I'll ask 'a quarter of what?'&lt;/p&gt; &lt;p&gt;Usually, the answer is something quite arbitrary, such as "king's toenails".&amp;nbsp; Want less arbitrary?&amp;nbsp; How about "the length of a certain platinum-iridium bar in Paris stored at a particular temperature" - feel better now?&lt;/p&gt; &lt;p&gt;Your cutting machine won't explode in a cloud of quantum dust if you set it to a fraction of a millimeter; within the machine's "integers", are just more smaller "integers".&amp;nbsp; If you think you understand anything about rational numbers from contexts like these, you're kidding yourself, in my humble opinion.&lt;/p&gt; &lt;h4&gt;Integers&lt;/h4&gt; &lt;p&gt;To put teeth into integers, they have to enumerate something fundamental, something atomic.&amp;nbsp; By atomic, we used to say "something that cannot be divided further"; today we might say "something that cannot be divided further without applying a state change, or dropping down into a deeper level of abstraction".&lt;/p&gt; &lt;p&gt;Ah - now we're getting somewhere!&amp;nbsp; Levels of abstraction, total information content, dimensions of an array... think of chemistry as a level of abstraction "above" nuclear physics, or the computer's digital level of abstraction as "above" that of analog volts, nanometers&amp;nbsp;and nanoseconds.&lt;/p&gt; &lt;p&gt;If layers of abstraction are properly nested (are they?), then each may appear to be a closed single atom from "above", rational numbers from "within", and an infinite series of integers from "below".&amp;nbsp; Or not - toss that around your skull for a while, and see what you conclude.&lt;/p&gt; &lt;h4&gt;Closed systems&lt;/h4&gt; &lt;p&gt;Within a closed system, there may be a large but finite number of atomic values (or integers, in the non-ordered sense), being the total information content of that system.&amp;nbsp; If rational numbers are used to describe entities within the system, they are by necessity defined as values between 0 and 1, where 1 = "the system".&amp;nbsp; In this sense, 7.45 is not a rational number, but might be considered as an offset&amp;nbsp;7 from outside the system, and .45 within the system.&lt;/p&gt; &lt;p&gt;You might consider "size" as solidity of existence, i.e. the precision (space) or certainty (time, or probability) at which an entity is defined.&amp;nbsp; If you can define it right down to specifying exactly which "atom" it is, you have reached the maximum information for the closed system.&amp;nbsp; So 0.45765432 is a "larger" number than 0.5, in terms of this closed-system logic.&lt;/p&gt; &lt;p&gt;You can consider integers vs. rational numbers as being defined by whether you are &lt;em&gt;specifying&lt;/em&gt; (or resolving) things in a closed system (rational numbers, as described within this article) or &lt;em&gt;ordering&lt;/em&gt; things in an open system (integers).&amp;nbsp; &lt;/p&gt; &lt;p&gt;What closes an integer system is your confidence in the order of the integers you enumerate.&amp;nbsp; What closes a rational system is whether you can "see" right down to the underlying "atoms".&lt;/p&gt; &lt;h4&gt;Information and energy&lt;/h4&gt; &lt;p&gt;Can one specify an entity within a closed system with a precision so high that it is absolute, within the context of that system?&amp;nbsp; &lt;/p&gt; &lt;p&gt;We may generalize Pauli's exclusion principle to state that no two entities may be identical in all respects (or rather, that if they were, they would define the same entity).&lt;/p&gt; &lt;p&gt;Then there's Heisenberg's uncertainty principle, that predicts an inability to determine all information about an entity, without instantly invalidating that information.&amp;nbsp; Instantly?&amp;nbsp; For a zero value of time to exist, implies an "atom" of time that zero time is devoid of... otherwise that "zero" is just a probability smudge near one end of some unsigned axis (or an arbitrary "mid-"point of a signed axis).&lt;/p&gt; &lt;p&gt;Can you fix (say) an electron so that its state is identical for a certain period of time after it is observed?&amp;nbsp; How much energy is required to do that?&amp;nbsp; Intuitively, I see a relationship between specificity, i.e. the precision or certainty to which an entity is defined, and the energy required to maintain that state.&lt;/p&gt; &lt;h4&gt;Entropy&lt;/h4&gt; &lt;p&gt;If "things fall apart", then why?&amp;nbsp; Where does the automatic blurring of information come from?&amp;nbsp; Why does it take more work to create a piece of metal that is 2.6578135g in mass than one manufactured to 2.65g with a tolerance of 0.005g?&lt;/p&gt; &lt;p&gt;One answer may be; from deeper abstraction layers nested within what the current abstraction layer sees as being integer, or "atomic".&amp;nbsp; The nuclear climate may affect where an electron currently "is" and how likely it is to change energy state; what appears to be a static chemical equilibrium could "spontaneously" change, just as what appears to be reliable digital processing can be corrupted by analog voltage changes that exceed the trigger points that define the digital layer of abstraction.&amp;nbsp; &lt;/p&gt; &lt;p&gt;In this sense, the arrangement of sub-nuclear entities may define whether something is a neutron or a proton with an electron somewhere out there; the difference is profound for the chemical layer of abstraction above.&lt;/p&gt; &lt;p&gt;To freeze a state within a given layer of abstraction, may require mastery over deeper levels of abstraction that may "randomize" it.&lt;/p&gt; &lt;h4&gt;Existence&lt;/h4&gt; &lt;p&gt;What does it mean, to exist?&amp;nbsp; One can sense this as the application of specificity, or a stipulation of&amp;nbsp;information that defines what then exists.&amp;nbsp; Our perspective is that mass really exists, and just happens to be massive in terms of the energy (information?) contained within it.&amp;nbsp; &lt;/p&gt; &lt;p&gt;There's a sense of energy-information conservation in reactions such as matter and antimatter annihilating their mass and producing a large amount of energy.&amp;nbsp; How much energy?&amp;nbsp; Does that imply the magnitude of information that defined the masses, or mass and anti-mass?&amp;nbsp; Do you like your integers signed or unsigned?&amp;nbsp; Is the difference merely a matter of externalizing one piece of information as the "sign bit"?&amp;nbsp; What do things look like if you externalize two bits in that way?&lt;/p&gt; &lt;p&gt;Like most of my head-spin articles, this one leaves you hanging at this point.&amp;nbsp; No tidy summary of what I "told" you, as I have no certainty on any of this; think of this article as a question (or RFC, if you like), not a statement.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11573761-8399944726133976270?l=cquirke.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cquirke.blogspot.com/feeds/8399944726133976270/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11573761&amp;postID=8399944726133976270' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11573761/posts/default/8399944726133976270'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11573761/posts/default/8399944726133976270'/><link rel='alternate' type='text/html' href='http://cquirke.blogspot.com/2007/10/understanding-integers.html' title='Understanding Integers'/><author><name>Chris Quirke</name><uri>http://www.blogger.com/profile/05538828571660803875</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://cquirke.mvps.org/images/cqhead.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11573761.post-1262023206400661002</id><published>2007-10-10T10:15:00.000-07:00</published><updated>2007-10-10T22:24:01.636-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Blogging'/><title type='text'>Navigation via Recent Comments</title><content type='html'>Here's something this blog host needs; an ability to zoom in on the most recent comments, irrespective of where they are, so one can comment on them. If this facility is present, it needs to be more discoverable.&lt;br /&gt;&lt;br /&gt;As it is, one goes in and moderates unmoderated comments, but having done so, they vanish from easy navigation so one can't follow them up to reply.&lt;br /&gt;&lt;br /&gt;Oh... some more general "CQspace" news; I intend to focus more on maintenance OS issues and development (with a small "d", i.e. how to make your own projects by tailoring existing mOSs) and will do that at what is currently called "&lt;a href="http://cquirke.wordpress.com/"&gt;CQuirke's Linux Curve&lt;/a&gt;", as that blog host appears to have the best oomph to carry the blog-to-website transition I am after.  As part of that focus, I'll still be learning Linux and blogging that as I go, but it will be a subset of that site as a whole.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11573761-1262023206400661002?l=cquirke.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cquirke.blogspot.com/feeds/1262023206400661002/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11573761&amp;postID=1262023206400661002' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11573761/posts/default/1262023206400661002'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11573761/posts/default/1262023206400661002'/><link rel='alternate' type='text/html' href='http://cquirke.blogspot.com/2007/10/navigation-via-recent-comments.html' title='Navigation via Recent Comments'/><author><name>Chris Quirke</name><uri>http://www.blogger.com/profile/05538828571660803875</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://cquirke.mvps.org/images/cqhead.jpg'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11573761.post-3065010928190918746</id><published>2007-09-11T16:35:00.001-07:00</published><updated>2007-09-11T17:35:55.698-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Blogging'/><title type='text'>New Blog Elsewhere</title><content type='html'>&lt;p&gt;&lt;/p&gt; &lt;div class="wlWriterSmartContent" id="0767317B-992E-4b12-91E0-4F059A8CECA8:d0f8447b-76c7-4207-adfa-a444aef5f448" contenteditable="false" style="padding-right: 0px; display: inline; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;Technorati tags: &lt;a href="http://technorati.com/tags/Blogging" rel="tag"&gt;Blogging&lt;/a&gt;&lt;/div&gt; &lt;p&gt;&lt;/p&gt; &lt;p&gt;I've started a third blog &lt;a title="New blog at WordPress" href="http://cquirke.wordpress.com/"&gt;here&lt;/a&gt;, mainly because I liked the look of the hosting service:&lt;/p&gt; &lt;ul&gt; &lt;li&gt;No "bad cookie" alerts, unlike here  &lt;li&gt;Richer feature set  &lt;li&gt;Better suited to "normal" &lt;a title="View Blog As Web Page" href="http://cquirke.spaces.live.com/blog/cns!C7DAB1E724AB8C23!346.entry"&gt;web site&lt;/a&gt;&amp;nbsp;structure&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;Normally, each blog has a "theme"; this one is general, the &lt;a title="My &amp;quot;Vista Curve&amp;quot; blog" href="http://cquirke.spaces.live.com"&gt;other blog&lt;/a&gt; is about Vista, and the new one might be about Linux if I get traction with that.&lt;/p&gt; &lt;p&gt;I've checked out Linux from time to time, and this time I'm prompted to do so by what I see as &lt;a title="If Kafka wrote the Vista activation/WGA FAQ..." href="http://cquirke.blogspot.com/2007/09/wga-product-activation-kafka.html"&gt;deteriorating&lt;/a&gt; vendor trustworthiness, coupled with tighter vendor dependence; &lt;a title="How can you tell a false positive if the rules are hidden?" href="http://cquirke.spaces.live.com/blog/cns!C7DAB1E724AB8C23!190.entry"&gt;activation false-positives&lt;/a&gt;, &lt;a title="WGA service fails-deadly (for small values of &amp;quot;deadly&amp;quot;)" href="http://arstechnica.com/news.ars/post/20070829-microsoft-12000-systems-affected-by-wga-outage.html"&gt;WGA service failures&lt;/a&gt; that triggered (in this case, mild) DoS effects, &lt;a title="Look Ma, no disks!" href="http://projectdream.org/wordpress/2007/02/15/office-2007-mlkoem-and-the-missing-media-problem/"&gt;OEM MS Office 2007&lt;/a&gt; sold as "&lt;a title="Surrender your identity, pay shipping, get disks - but do this within 90 days" href="http://www.microsoft.com/office/backup/en-us/default.mspx"&gt;air boxes&lt;/a&gt;" i.e. no installation disks, and poor responsiveness and documentation on these issues.&lt;/p&gt; &lt;p&gt;I'm also checking out Linux as a potential maintenance OS (mOS) for Vista; possibly one that can service all Windows versions plus Linux itself.&amp;nbsp; The newest Ubuntu 7.x claims safe writeable support for NTFS, and until we see &lt;a title="RunScanner plugin for Bart" href="http://www.paraglidernc.com/plugins/runscanner.htm"&gt;RunScanner&lt;/a&gt; functionality for Vista, that evens the playing field compared to &lt;a title="Bart PE Builder for XP/2003" href="http://www.nu2.nu/pebuilder/"&gt;Bart&lt;/a&gt; and &lt;a title="WinPE 2.0 overview" href="http://technet.microsoft.com/en-us/windowsvista/aa905120.aspx"&gt;WinPE&lt;/a&gt; (in other words, none of them can do for Vista what Bart can do for XP).&lt;/p&gt; &lt;p&gt;I expect it will take a year to build satisfactory skills in mOS for Vista, and longer to get a handle on Linux - which means if I want to be positioned to switch to Linux in a few year's time, the time to start studying it is now.&amp;nbsp; &lt;/p&gt; &lt;p&gt;The standards I set for myself as a PC builder require custom-installable disks to ship for all installed software.&amp;nbsp; Failing that, unrestricted and anonymous download is an acceptable alternative only if that is compatible with systems that have either no Internet connectivity, or slow and costly dial-up access.&lt;/p&gt; &lt;p&gt;OEM MS Office 2007 already fails this standard, and I refuse to sell it accordingly.&amp;nbsp; Given the stealth with which Microsoft has manipulated OEM MS Office 2007, I cannot assume similar changes impacting on Vista will occur only when the next version of Windows is released.&amp;nbsp; So starting on a years-long mOS development path may be a waste of time, if such work is applicable to Windows alone.&lt;/p&gt; &lt;p&gt;The first prize would be a Windows that isn't chained to sucky vendor politics, and I will continue to work towards that where possible.&amp;nbsp; If Windows becomes unacceptable, it would be quite a setback in many ways, but that lump may have to be swallowed... let's hope cooler heads kick in an Microsoft, so that we can still stay with the platform we already know and use!&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11573761-3065010928190918746?l=cquirke.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cquirke.blogspot.com/feeds/3065010928190918746/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11573761&amp;postID=3065010928190918746' title='6 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11573761/posts/default/3065010928190918746'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11573761/posts/default/3065010928190918746'/><link rel='alternate' type='text/html' href='http://cquirke.blogspot.com/2007/09/new-blog-elsewhere.html' title='New Blog Elsewhere'/><author><name>Chris Quirke</name><uri>http://www.blogger.com/profile/05538828571660803875</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://cquirke.mvps.org/images/cqhead.jpg'/></author><thr:total>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11573761.post-8389030654285766502</id><published>2007-09-07T01:07:00.001-07:00</published><updated>2007-09-07T01:07:44.352-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='The Waking Hour'/><category scheme='http://www.blogger.com/atom/ns#' term='Safety'/><title type='text'>WGA, Product Activation, Kafka</title><content type='html'>&lt;p&gt; &lt;div class="wlWriterSmartContent" id="0767317B-992E-4b12-91E0-4F059A8CECA8:2e5498a4-6eb9-4af3-a461-db8b8938265e" contenteditable="false" style="padding-right: 0px; display: inline; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;Technorati tags: &lt;a href="http://technorati.com/tags/WGA" rel="tag"&gt;WGA&lt;/a&gt;, &lt;a href="http://technorati.com/tags/Activation" rel="tag"&gt;Activation&lt;/a&gt;, &lt;a href="http://technorati.com/tags/Vandor" rel="tag"&gt;Vandor&lt;/a&gt;, &lt;a href="http://technorati.com/tags/Consumer%20Rights" rel="tag"&gt;Consumer Rights&lt;/a&gt;, &lt;a href="http://technorati.com/tags/Surrealism" rel="tag"&gt;Surrealism&lt;/a&gt;&lt;/div&gt;&lt;/p&gt; &lt;p&gt;If Kafka wrote the Windows activation/WGA FAQ...&lt;/p&gt; &lt;p&gt;A: You have been found guilty and&amp;nbsp;have been sentenced to die in 3 days.&amp;nbsp; Would you like to appeal?&lt;/p&gt; &lt;p&gt;Q: What crime am I being charged with?&lt;/p&gt; &lt;p&gt;A: Our code has found you guilty of being guilty in the&amp;nbsp;opinion of our code.&amp;nbsp; You have already been found guilty and&amp;nbsp;sentenced.&amp;nbsp; Would you like to appeal?&lt;/p&gt; &lt;p&gt;Q: What laws have I broken?&lt;/p&gt; &lt;p&gt;A:&amp;nbsp; The laws you have broken are those we assigned ourselves via the EUL"A" you consented to when you accepted our product.&lt;/p&gt; &lt;p&gt;Q: I don't remember discussions about an End User License Agreement?&lt;/p&gt; &lt;p&gt;A: Well, you wouldn't; we find it more effective to just write that up ourselves.&lt;/p&gt; &lt;p&gt;Q: I need details... what &lt;em&gt;exact &lt;/em&gt;laws have I broken?&lt;/p&gt; &lt;p&gt;A:&amp;nbsp; We find it more effective not to disclose the details on how our code investigates such matters, or what criteria are used to determine the breaking of our laws.&amp;nbsp; All you need to know is that you have been found guilty and sentenced.&amp;nbsp; &lt;/p&gt; &lt;p&gt;Would you like to appeal?&lt;/p&gt; &lt;p&gt;Q:&amp;nbsp;What do you mean "die in 3 days"?&lt;/p&gt; &lt;p&gt;A: In three day's time, your heart will be removed and further processing will not be possible.&amp;nbsp; If you do not have recourse to another heart and/or cardiac troubleshooting skills, you will remain inert.&amp;nbsp; Your body parts will still be available to those with the skills to access them; don't worry, no personal data will be lost, though of course you will need a new heart from us to work with that data again.&lt;/p&gt; &lt;p&gt;Would you like to appeal?&lt;/p&gt; &lt;p&gt;Q:&amp;nbsp; OK, I'd like to appeal.&amp;nbsp; Who do I appeal to?&lt;/p&gt; &lt;p&gt;A: Us, of course.&amp;nbsp; Phone the number, answer a few trick questions like "press 1 if you have&amp;nbsp;two or more, press 2 if you have only one" etc. and then ask to speak to a human.&amp;nbsp; Convince the human you are innocent and your death sentence will be set aside.&amp;nbsp; If you are innocent, you have nothing to fear!&lt;/p&gt; &lt;p&gt;Q:&amp;nbsp; What do you mean "if I'm innocent"?&amp;nbsp; You've just told me you've found me guilty, and refused to tell me exactly of what I'm guilty? &lt;/p&gt; &lt;p&gt;A:&amp;nbsp; This is true, but we are not unfair.&amp;nbsp; You do have the right to appeal, as at September 2007.&lt;/p&gt; &lt;p&gt;Q:&amp;nbsp; So how do I present my case?&lt;/p&gt; &lt;p&gt;A: Leave that to us.&amp;nbsp; We will ask you questions, and based on your answers, we will decide if perhaps we arrested, tried and sentenced you in error, or whether our code works as designed.&lt;/p&gt; &lt;p&gt;Q: Works as designed?&amp;nbsp; What is it designed to do?&lt;/p&gt; &lt;p&gt;A:&amp;nbsp; It's designed to determine whether you are guilty or not.&amp;nbsp; We find it is more effective not to disclose details of how it does this.&lt;/p&gt; &lt;p&gt;Q: Can I review the evidence?&lt;/p&gt; &lt;p&gt;A:&amp;nbsp; We find it is more effective if the guilty party is not permitted to review the evidence, and thus we provide no tools to do so, nor do we provide documentation of what this evidence may be.&amp;nbsp; Any such documentation you may find will have been subject to change.&amp;nbsp; We will not tell you if, when or how&amp;nbsp;it has changed, if indeed it has.&amp;nbsp; We find it is more effective this way.&lt;/p&gt; &lt;p&gt;Q:&amp;nbsp; OK!&amp;nbsp; Hey, everything's fine! I spoke to the human and explained what happened (which was easy in my case; nothing happened or changed, you just charged me out of the blue) and they set aside my sentence!&amp;nbsp; Thanks you running such a wonderful system that allows a lowly wretch like me to live again!!&lt;/p&gt; &lt;p&gt;A:&amp;nbsp; It's a pleasure, glad to help&amp;nbsp;&amp;nbsp; ;-)&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11573761-8389030654285766502?l=cquirke.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cquirke.blogspot.com/feeds/8389030654285766502/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11573761&amp;postID=8389030654285766502' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11573761/posts/default/8389030654285766502'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11573761/posts/default/8389030654285766502'/><link rel='alternate' type='text/html' href='http://cquirke.blogspot.com/2007/09/wga-product-activation-kafka.html' title='WGA, Product Activation, Kafka'/><author><name>Chris Quirke</name><uri>http://www.blogger.com/profile/05538828571660803875</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://cquirke.mvps.org/images/cqhead.jpg'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11573761.post-5952270675490236527</id><published>2007-09-02T01:45:00.001-07:00</published><updated>2007-09-02T04:56:12.731-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='The Waking Hour'/><category scheme='http://www.blogger.com/atom/ns#' term='Meta-bug'/><category scheme='http://www.blogger.com/atom/ns#' term='Safety'/><title type='text'>Three Little Pigs Build Computers</title><content type='html'>&lt;div class="wlWriterSmartContent" id="0767317B-992E-4b12-91E0-4F059A8CECA8:be7ce9bb-26d0-4af1-a065-7389c42bb62c" contenteditable="false" style="padding-right: 0px; display: inline; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;Technorati tags: &lt;a href="http://technorati.com/tags/Safety" rel="tag"&gt;Safety&lt;/a&gt;, &lt;a href="http://technorati.com/tags/Parable" rel="tag"&gt;Parable&lt;/a&gt;&lt;/div&gt; &lt;p&gt;If you don't like long fairy tales, skip ahead to the &lt;a href="http://cquirke.blogspot.com/2007/09/three-little-pigs-build-computers.html#Tips"&gt;conclusions&lt;/a&gt;!&lt;/p&gt; &lt;p&gt;Once upon a time, there were &lt;a title="The original tale of pigs, wolves and building materials" href="http://www.shol.com/agita/pigs.htm"&gt;three&lt;/a&gt; &lt;a title="The Wolf's case rests, your honour..." href="http://www.shol.com/agita/wolfside.htm"&gt;little&lt;/a&gt; &lt;a title="Pig psychology" href="http://www.shol.com/agita/pigpsych.htm"&gt;pigs&lt;/a&gt; who set out to become building contractors.&lt;/p&gt; &lt;p&gt;One insisted everyone build their house on his land using only his materials, and charged too much money.&amp;nbsp; He didn't sell that many houses, and this story is not about that little pig.&lt;/p&gt; &lt;p&gt;One believed that people should build their own houses, and that houses should be built for free.&amp;nbsp; Many people were very interested in this, and often started building such houses, but found it too difficult and gave up, and this story is not about &lt;em&gt;that&lt;/em&gt; little pig either.&lt;/p&gt; &lt;h4&gt;Pig Makes Good: The Early Years&lt;/h4&gt; &lt;p&gt;All of these pigs grew up in houses made of bricks, but this was a new planet where bricks weren't available (I did say "&lt;em&gt;set out&lt;/em&gt;", didn't I?), so they had to make do with other materials instead.&amp;nbsp; At first, they made houses out of these materials the way their brick houses were made back home, but there were so many people wanting houses in the same place that they started joining them together in various ways.&lt;/p&gt; &lt;p&gt;The main pig became very successful, not only making houses for nearly everyone on the planet, but employing lots of builders to do so; soon, there wasn't a single builder who knew everything needed to build a complete house.&lt;/p&gt; &lt;p&gt;As more people came to the new planet, most of the big's&amp;nbsp;earnings came from building hotels and blocks of flats.&amp;nbsp; They still built lots of houses, but stopped thinking about how those would be made because that wasn't where the money was, and besides, those folks will always buy their houses anyway.&lt;/p&gt; &lt;h4&gt;Wolf Atrocities: The Response&lt;/h4&gt; &lt;p&gt;After a while, folks started complaining that homeowners were being eaten by wolves, and the quality of houses came into question.&amp;nbsp; Wolves will be wolves, it was agreed, but surely the idea of a house is to protect one from them?&lt;/p&gt; &lt;p&gt;Some folks suggested building houses out of sticks instead of straw, but the pig said "we have too many pre-built walls that we already made out of straw; it would take far too long to re-do everything in sticks".&lt;/p&gt; &lt;p&gt;Others felt that building out of straw vs. sticks didn't matter too much, as long as you did something about the open windows and weak door hinges.&amp;nbsp; &lt;/p&gt; &lt;p&gt;The pig said "if you want stronger doors, speak to the Door Lock team.&amp;nbsp; What's that about 'hinges'?&amp;nbsp; We don't have a "Hinge Team", so we can't pass those suggestions anywhere.&amp;nbsp; I promise we'll make doors with even stronger locks in future! (the squeaky things at the other end of the door will stay the same, of course)"&lt;/p&gt; &lt;p&gt;The pig also said "we've always built with open windows, and other businesses have come to depend on them.&amp;nbsp; How are folks going to deliver goods and services if they can't climb in through the window?&amp;nbsp; Why not retire to one of the bedrooms, and lock yourself in?&amp;nbsp; If you get eaten, it's your fault, because you will insist in walking around in other rooms that aren't meant for you - you are a resident, not a chef or a barman, so you don't belong in the kitchen or living room."&amp;nbsp; &lt;/p&gt; &lt;p&gt;So the new houses were built with stronger locks and&amp;nbsp;new bedroom doors.&amp;nbsp; And as folks still needed to eat and go to the bathroom, they'd leave the bedroom doors unlocked and get eaten while in the other rooms.&lt;/p&gt;&lt;a name="Tips"&gt; &lt;h4&gt;Conclusions&lt;/h4&gt; &lt;p&gt;&lt;strong&gt;1.&amp;nbsp; The past can tell you only so much about the future.&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;&lt;font color="#000000"&gt;If you focus on large-volume quality data from the real world while designing new products, you will design products that solve yesterday's problems while being wide open to tomorrow's new problems.&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font color="#000000"&gt;To avoid this trap, you need to brainstorm new designs with homeowners from the start, rather than present them with a near-completed beta product where the design is already cast in stone.&amp;nbsp; You also need to listen to theorists who cannot point to detailed real-world data because what they&amp;nbsp;are talking about does not yet exist in the real world, and pay as much attention to these as you do to the detailed real-world feedback you get on things that already exist.&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;strong&gt;2.&amp;nbsp; Straw and sticks will never be bricks.&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;&lt;font color="#000000"&gt;Know that you're forced to build with weak materials (exploitable code) and design your structures accordingly.&amp;nbsp; Any functionality may suddenly become a death trap or fire hazard, no matter what it was designed to be; so make sure such things can be amputated or walled off at a moment's notice.&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;strong&gt;3.&amp;nbsp; Airliners should not attempt aerobatics.&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;&lt;font color="#000000"&gt;Know that you are human, and are building with straw and sticks.&amp;nbsp; Don't build death-defying skyscrapers that pose deliberate and unnecessary risks to homeowners.&amp;nbsp; In particular, don't build in facilities that allow arbitrary passing wolves to overpower residents in their houses, even if that is appropriate design when you are building hotels owned by wolves.&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font color="#000000"&gt;Risky tricks like DRM, product activation, linking real-time WGA to DoS payloads etc. have no business in teetering edifices built from twigs.&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;strong&gt;4.&amp;nbsp; Expose wildcard teams to new ideas.&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;&lt;font color="#000000"&gt;Microsoft gets better at what they do well, while remaining poor at what they do poorly, or on issues to which they remain oblivious.&amp;nbsp; Why is this?&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font color="#000000"&gt;Partly this is from over-reliance on rich but historical data, as per my first conclusion in this list.&amp;nbsp; But it is also because their ability to develop is structured by present resource commitments.&amp;nbsp; For something they already do, there will be a product team; any idea on how to do that stuff better may reach this team, who will understand what it's about and can swiftly incorporate such feedback.&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font color="#000000"&gt;But if they've never seen the need for something, they will have never formed a team to develop it.&amp;nbsp; Any feedback on such matters will fall on dry ground; there is literally non-one there to process such material.&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;strong&gt;5.&amp;nbsp; Handle unstructured feedback.&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;&lt;font color="#000000"&gt;Microsoft regularly solicits feedback via surveys etc. but once again, these measure what is measurable, rather than what's important - so the objective of "getting new ideas" remains un-met.&amp;nbsp;&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font color="#000000"&gt;Yes, it's easier to capture data gathered as responses to radio buttons, checkboxes, ordered pick lists and yes/no questions - but that limits input to what the designers of the survey had thought of already.&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font color="#000000"&gt;At the very least, every survey should end with a generic question such as: "On a scale from X to Y, how well do you think this survey covers what you feel should be surveyed?" followed by a large empty "comments" text box.&amp;nbsp; &lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font color="#000000"&gt;A high dissatisfaction score should warn you that you are digging in the wrong place; the response might be to form a wild-card team and pass the dissatisfied returns to them for assessment of any free-form comments that may give a sense of where you should be digging instead.&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;strong&gt;6.&amp;nbsp; The cheapest lunch is where you haven't looked yet.&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;&lt;font color="#000000"&gt;The saying "whenever I lose something, it's always in the last place I'd think to look for it!" is a truism, because once you find it, you stop looking.&amp;nbsp; In fact, "lost things" are just the least successful tail of your usual access methods.&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font color="#000000"&gt;You stop looking when you find an answer, but that doesn't mean you have the best answer - there may be better ones if you'd look a bit further.&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font color="#000000"&gt;With a mature product that still has problems, the biggest gains are most likely to be found where no-one's started looking yet - rather than improving existing strengths past the point of diminishing returns.&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;strong&gt;7.&amp;nbsp; In the land of the blind, name tags aren't useful.&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;&lt;font color="#000000"&gt;The Internet is an unbounded mesh of strangers, so identity-based solutions don't apply.&amp;nbsp; Once you initiate networking, as opposed to generic Internet access (e.g. after you log into a secure site), such solutions may become useful... but even then, only if the user has a template of expectations to match whatever identity has been proven.&amp;nbsp; Even then, the process is only as robust as the twigs out of which it is built, and the Internet is a &lt;em&gt;very &lt;/em&gt;windy place.&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font color="#000000"&gt;For this reason, I'd rate risk management as more important for malware and safety, both out on the web and within the system.&amp;nbsp; This is the barely-touched area that is most likely to provide your cheapest lunch.&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;strong&gt;8.&amp;nbsp; Who are the wolves?&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;&lt;font color="#000000"&gt;All pigs become wolves in the dark.&amp;nbsp; &lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font color="#000000"&gt;We are the wolves, and so are you.&amp;nbsp; There's no such thing as a special set of saintly piggies (e.g. "media content providers", "software vendors", etc.) who can be trusted with raw pork.&lt;/font&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11573761-5952270675490236527?l=cquirke.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cquirke.blogspot.com/feeds/5952270675490236527/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11573761&amp;postID=5952270675490236527' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11573761/posts/default/5952270675490236527'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11573761/posts/default/5952270675490236527'/><link rel='alternate' type='text/html' href='http://cquirke.blogspot.com/2007/09/three-little-pigs-build-computers.html' title='Three Little Pigs Build Computers'/><author><name>Chris Quirke</name><uri>http://www.blogger.com/profile/05538828571660803875</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://cquirke.mvps.org/images/cqhead.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11573761.post-438736892551928352</id><published>2007-08-28T00:23:00.001-07:00</published><updated>2007-08-28T00:23:56.935-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Safety'/><title type='text'>Design vs. Code Errors</title><content type='html'>&lt;p&gt; &lt;div class="wlWriterSmartContent" id="0767317B-992E-4b12-91E0-4F059A8CECA8:8f8afd63-11e1-41cc-9adb-bc7b01ba94a4" contenteditable="false" style="padding-right: 0px; display: inline; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;Technorati tags: &lt;a href="http://technorati.com/tags/Bug" rel="tag"&gt;Bug&lt;/a&gt;, &lt;a href="http://technorati.com/tags/Safety" rel="tag"&gt;Safety&lt;/a&gt;&lt;/div&gt;&lt;/p&gt; &lt;p&gt;When Microsoft finds a &lt;strong&gt;code error&lt;/strong&gt;, it generally fixes this fairly promptly.&lt;/p&gt; &lt;p&gt;In contrast, &lt;strong&gt;design errors&lt;/strong&gt; generally remain unfixed for several generations of products; sometimes years, sometimes decades.&amp;nbsp; Typically even when addressed, the original design will be defended as "not an error" or "works as designed".&lt;/p&gt; &lt;h4&gt;Old ideas that don't fit&lt;/h4&gt; &lt;p&gt;As an example of bad design that has persisted from the original Windows 95 through to Vista, consider the in appropriateness of Format on the top layer of the Drive context menu.&lt;/p&gt; &lt;p&gt;The logic is old, and still true; hard drives are disks, and formatting is something you do to disks, therefore etc.&amp;nbsp; &lt;/p&gt; &lt;p&gt;But around this unchanged truism, other things have changed.&amp;nbsp; &lt;/p&gt; &lt;p&gt;We now have more things we can do to disks, many of which should be done more often than they are; backup, check for errors, defrag.&amp;nbsp; Because these are "new" (as at Windows 95), they are tucked several clicks deeper in the UI, e.g. Properties, Tools.&lt;/p&gt; &lt;p&gt;Also, the word "Format" has some to mean different things to users.&amp;nbsp; &lt;strong&gt;In 1985&lt;/strong&gt;, users would routinely buy blank diskettes that had to be formatted before use, and so the immediate meaning of the&amp;nbsp;word "format" was "to make a disk empty by destroying all existing contents".&amp;nbsp; &lt;strong&gt;In 2007&lt;/strong&gt;, users store things on USB sticks or optical disks, none of which have to be formatted (unless you use packet writing on RW disks) and the immediate meaning of the word "format" is "to make pretty", as in "auto-format this Word document" and "richly-formatted text".&lt;/p&gt; &lt;p&gt;The goal of software is to abstract the system towards the user's understanding of what they want to do.&amp;nbsp; In keeping with this, "hard drives" have taken on a different conceptual meaning, away from the system reality of disks, towards an abstracted notion of "where things go".&amp;nbsp; In particular, modern Windows tends to gloss over paths, directories etc. with conceptual locations such as "the desktop", "documents" etc. and the use of Search to find things vs. formal file system navigation across disks and directories.&lt;/p&gt; &lt;h4&gt;New things that break old truths&lt;/h4&gt; &lt;p&gt;When a risk doesn't arise due to &lt;a title="Hard scopes as natural cover" href="http://cquirke.blogspot.com/[27/8/2007%2022:48:00]%20Simon%20Sephton%20says:%20hey,%20Chris"&gt;hard scopes&lt;/a&gt;, one doesn't have to consider it.&amp;nbsp; For example, if you build a house with a mountain as your back wall, you don't have to think about burglar-proofing the back wall.&amp;nbsp; For example, if your LAN is cable-only in a physically-secured building, you have less worries about intrusion than if you'd added WiFi to the mix.&lt;/p&gt; &lt;p&gt;When a risk doesn't arise because a previous team anticipated and definitively fixed it, future teams may be oblivious to it as a risk.&amp;nbsp; As Windows is decades old, and few programmers stay at the rock face for decades without being promoted to management or leaving, there's a real risk that today's teams will act as "new brooms", sweeping the platform into old risks.&lt;/p&gt; &lt;p&gt;In many of these cases, the risks were immediately obvious to me:&lt;/p&gt; &lt;ul&gt; &lt;li&gt;\Autorun.inf processing of hard drive volumes&lt;/li&gt; &lt;li&gt;Auto-running macros in "documents"&lt;/li&gt; &lt;li&gt;Active content in web pages&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;In some cases, I missed the risk until the first exploit:&lt;/p&gt; &lt;ul&gt; &lt;li&gt;Unfamiliar .ext and scripting languages&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;But it generally takes none to one exploit example for me to get the message, and take steps to wall out that risk.&amp;nbsp; Alas, Microsoft keeps digging for generations:&lt;/p&gt; &lt;ul&gt; &lt;li&gt;MS Office 95, 97, 2000 after &lt;a title="Proof-of-Concept &amp;quot;prank macro&amp;quot; &amp;quot;non&amp;quot;-virus" href="http://www.f-secure.com/v-descs/concept.shtml"&gt;Concept&lt;/a&gt;, &lt;a title="Very common &amp;quot;In The Wild&amp;quot; Word macro virus" href="http://www.f-secure.com/v-descs/cap.shtml"&gt;CAP&lt;/a&gt;, &lt;a title="Word macro virus with destructive payload" href="http://www.f-secure.com/v-descs/thus.shtml"&gt;Thus&lt;/a&gt; etc.&lt;/li&gt; &lt;li&gt;OE in Internet Zone in WinME after &lt;a title="Proof-of-Concept HTML-email exploiter" href="http://www.f-secure.com/v-descs/bubb-boy.shtml"&gt;BubbleBoy&lt;/a&gt;, &lt;a title="Very common &amp;quot;In The Wild&amp;quot; malware HTML-mail exploiter" href="http://www.f-secure.com/v-descs/kak.shtml"&gt;Kak&lt;/a&gt;, &lt;a title="HTML-email exploiter with destructive payload" href="http://www.f-secure.com/v-descs/valenti.shtml"&gt;Valentine&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;Auto-binding File and Print Sharing to DUN in Win9x, the way WiFi has been rolled out, dropping "network client" NT into consumerland as XP, hidden admin shares, exposing LSASS and RPC without firewall protection, encouraging path-agnostic file selection via Search... all of these are examples of changes that increase exposure to old risks, and/or new brooms that undermine definitive solutions as delivered by previous teams.&amp;nbsp; &lt;/p&gt; &lt;p&gt;For example, the folks who designed DOS were careful to ensure that the type of file would always be immediately visible via the file name extension, limiting code types to .COM, .EXE and .BAT, and they were careful to ensure every file had a unique filespec, so that you'd not "open" the wrong one.&lt;/p&gt; &lt;p&gt;These measures basically solved most malware file-spoofing problems, but subsequent teams hide file name extensions, apply poor file type discipline, dumb "run" vs. "view"/"edit" down to the meaningless "open", act on hidden file type info without checking this matches what the user saw, and encourage searching for files that may pull up the wrong filespec.&lt;/p&gt; &lt;h4&gt;Avoiding bad design&lt;/h4&gt; &lt;p&gt;How would I prevent bad designs reaching the market, and thus creating an installed vendor/user base that create problems when the design is changed?&lt;/p&gt; &lt;ul&gt; &lt;li&gt;Keep core safety axioms in mind&lt;/li&gt; &lt;li&gt;Maintain old/new team continuity&lt;/li&gt; &lt;li&gt;Reassess logic of existing practices&lt;/li&gt; &lt;li&gt;Don't force pro-IT mindset on consumers&lt;/li&gt; &lt;li&gt;Assume bad intent for any external material&lt;/li&gt; &lt;li&gt;Make no assumptions of vendor trustworthiness&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;The classic &lt;a title="Safe Hex in the year 2000" href="http://cquirke.mvps.org/9x/safe2000.htm"&gt;safe hex&lt;/a&gt; rules... &lt;/p&gt; &lt;ul&gt; &lt;li&gt;&lt;font face="Arial,Helvetica"&gt;Nothing runs on this system unless I choose to run it&lt;/font&gt;&lt;/li&gt; &lt;li&gt;&lt;font face="Arial,Helvetica"&gt;I will assess and decide on all content before running it&lt;/font&gt;&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;...seem old and restrictive, but breaking these underlies most malware exploits.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11573761-438736892551928352?l=cquirke.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cquirke.blogspot.com/feeds/438736892551928352/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11573761&amp;postID=438736892551928352' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11573761/posts/default/438736892551928352'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11573761/posts/default/438736892551928352'/><link rel='alternate' type='text/html' href='http://cquirke.blogspot.com/2007/08/design-vs-code-errors.html' title='Design vs. Code Errors'/><author><name>Chris Quirke</name><uri>http://www.blogger.com/profile/05538828571660803875</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://cquirke.mvps.org/images/cqhead.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11573761.post-4990789081837059004</id><published>2007-08-27T21:49:00.001-07:00</published><updated>2007-08-27T21:49:50.331-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='The Waking Hour'/><title type='text'>The Word Is Not The World</title><content type='html'>&lt;p&gt;We can't use language to describe "the all".&lt;/p&gt; &lt;p&gt;Stated as baldly, this looks rather Zen, doesn't it?&lt;/p&gt; &lt;p&gt;The point being that language goes about defining particulars, i.e. "is this, is not that", and thus chips its way away from "the all".&lt;/p&gt; &lt;p&gt;In number theory terms, it's the difference between infinity and very large; of a limit, and test values that tend towards that limit.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;&lt;a title="Musings from first hour awake, when my mind is most manic" href="http://cquirke.blogspot.com/search/label/The%20Waking%20Hour"&gt;The Waking Hour&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11573761-4990789081837059004?l=cquirke.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cquirke.blogspot.com/feeds/4990789081837059004/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11573761&amp;postID=4990789081837059004' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11573761/posts/default/4990789081837059004'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11573761/posts/default/4990789081837059004'/><link rel='alternate' type='text/html' href='http://cquirke.blogspot.com/2007/08/word-is-not-world.html' title='The Word Is Not The World'/><author><name>Chris Quirke</name><uri>http://www.blogger.com/profile/05538828571660803875</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://cquirke.mvps.org/images/cqhead.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11573761.post-5653585442510427741</id><published>2007-08-17T02:26:00.001-07:00</published><updated>2007-08-17T02:26:49.167-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Malware'/><title type='text'>Norton Life Sentence</title><content type='html'>&lt;p&gt; &lt;div class="wlWriterSmartContent" id="0767317B-992E-4b12-91E0-4F059A8CECA8:477c018f-2a26-48b0-9d2a-56d1a724190e" contenteditable="false" style="padding-right: 0px; display: inline; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;Technorati tags: &lt;a href="http://technorati.com/tags/Antivirus" rel="tag"&gt;Antivirus&lt;/a&gt;, &lt;a href="http://technorati.com/tags/Safety" rel="tag"&gt;Safety&lt;/a&gt;&lt;/div&gt;&lt;/p&gt; &lt;p&gt;This post is about Packard Bell, Norton Antivirus, Norton Internet Security and OEM bundling.&amp;nbsp; For many readers, those four are all "yuk" items already...&lt;/p&gt; &lt;h4&gt;Formal maintenance&lt;/h4&gt; &lt;p&gt;Every "WTF" (i.e. ill-defined complaints, or just in an unknown state) PC that comes in, gets the formal treatment; 24 hours of MemTest86 with substituted boot CDR to detect spontaneous reboots, Bart boot HD Tune, and Bart booted formal malware scans.&lt;/p&gt; &lt;p&gt;This laptop cannot perform the RAM test because it keeps switching itself off, presumably because it is "idle" (no keyboard, HD, CD, LAN, mouse etc. interrupts).&amp;nbsp; CMOS Setup shows no facility to manage such behavior, which is disabled in Windows already.&amp;nbsp; Strike 1, Packard Bell.&lt;/p&gt; &lt;p&gt;The hard drive and&amp;nbsp;file system are fine, and absolutely no malware at all were found on multiple formal av and anti-"spyware" scans, nor in four anti-"spyware" scans done in Safe Cmd.&amp;nbsp; Spybot did note that the three Windows Security Center alerts were overridden, and this was later confirmed to be a Norton effect.&lt;/p&gt; &lt;h4&gt;Specs and software&lt;/h4&gt; &lt;p&gt;This is a fairly high-spec laptop; Mobile Celeron at 1.5GHz, 1G RAM (!), XP Pro SP2, but puny 45G hard drive with 4G stolen for the OEM's "special backup" material.&amp;nbsp; The date stamp on the Windows base directory is 17 March 2006, which matches that of the SVI and "Program Files" directories too.&lt;/p&gt; &lt;p&gt;It has Norton Internet Security 7.0.6.17 OEM(90) and Norton Antivirus 2004 10.0.1.13 OEM(90).&amp;nbsp; That's from the Help in these products; the same Help describes using Add/Remove to uninstall them.&amp;nbsp; &lt;/p&gt; &lt;h4&gt;Attempted uninstall&lt;/h4&gt; &lt;p&gt;Both programs are definitely present and running; in fact, one gets nags every few minutes about antivirus being out of date, and firewall being disabled.&amp;nbsp; A check confirms both to be true; neither Norton nor XP firewall is enabled, and Norton's subscription has expired.&lt;/p&gt; &lt;p&gt;However, Add/Remove shows no Norton entries other than Live Update.&amp;nbsp; In fact, the expected slew of OEM bundleware are not there.&amp;nbsp; A lethally-ancient Sun Java JRE 1.4.xx was found and uninstalled.&lt;/p&gt; &lt;p&gt;Start Menu shows an "Internet and security" flyout with icons for Norton Antivirus and Internet Security.&amp;nbsp; No icons to uninstall these products from there.&lt;/p&gt; &lt;p&gt;What I did find in a "Packard Bell Support" Start Menu flyout, was a Smart Restore center, from which bundleware could be highlighted and installed or uninstalled.&amp;nbsp; There was an alert to disable Norton's protection before doing this (more on that later), but either way, clicking Uninstall did nothing (no visible UI effect) and clicking OK after that, appeared to install Norton 2004 again.&lt;/p&gt; &lt;p&gt;To be continued...&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11573761-5653585442510427741?l=cquirke.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cquirke.blogspot.com/feeds/5653585442510427741/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11573761&amp;postID=5653585442510427741' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11573761/posts/default/5653585442510427741'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11573761/posts/default/5653585442510427741'/><link rel='alternate' type='text/html' href='http://cquirke.blogspot.com/2007/08/norton-life-sentence.html' title='Norton Life Sentence'/><author><name>Chris Quirke</name><uri>http://www.blogger.com/profile/05538828571660803875</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://cquirke.mvps.org/images/cqhead.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11573761.post-6564167136145598065</id><published>2007-08-15T01:19:00.001-07:00</published><updated>2007-08-15T01:19:20.006-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Public Conversations'/><title type='text'>Duplicate User Accounts</title><content type='html'>&lt;div class="wlWriterSmartContent" id="0767317B-992E-4b12-91E0-4F059A8CECA8:76b49656-c6ae-4512-9e65-85b5b6413792" contenteditable="false" style="padding-right: 0px; display: inline; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;Technorati tags: &lt;a href="http://technorati.com/tags/User%20Account" rel="tag"&gt;User Account&lt;/a&gt;&lt;/div&gt; &lt;p&gt;On Sat, 11 Aug 2007 20:58:01 -0700, SteveS &lt;/p&gt; &lt;p&gt;&amp;gt;My laptop is from Fujitsu and it came with OmniPass software (the &lt;br&gt;&amp;gt;fingerprint scanner software to log in).&amp;nbsp; I saw other postings elsewhere &lt;br&gt;&amp;gt;about it duplicating users on the login screen.&amp;nbsp; I uninstalled the software, &lt;br&gt;&amp;gt;rebooted - problem fixed (no more duplicate users).&amp;nbsp; I reinstalled the &lt;br&gt;&amp;gt;software, rebooted, the duplicate users did not show up.&amp;nbsp; I think it stems &lt;br&gt;&amp;gt;from the upgrade I did from Home Premium to Ultimate and had that software &lt;br&gt;&amp;gt;installed.&amp;nbsp; &lt;/p&gt; &lt;p&gt;Yes; any "repair install" of XP will prompt you to create new user accounts even though you already have user accounts, and registry settings that clearly indicate these accounts are in use.&lt;/p&gt; &lt;p&gt;If you then enter the same name(s) as existing accounts, then new accounts are created with the same name.&lt;/p&gt; &lt;p&gt;Vista may avoid this conundrum, but fall into others.&lt;/p&gt; &lt;p&gt;&lt;br&gt;Behind the scenes, the real names are not the same, because the real names are something quite different to what Windows shows you.&amp;nbsp; Messy, but key to the ability of preserving continuity while allowing you to change the account name after it's created.&lt;/p&gt; &lt;p&gt;Specifically, you encounter not one, nor two, but three name sets:&lt;br&gt;&amp;nbsp; - the "real" unique identifier, of the form S-n-n-nn-nnn...&lt;br&gt;&amp;nbsp; - the name of the account base folder in Users or D&amp;amp;S&lt;br&gt;&amp;nbsp; - the name as seen at logon on when managing users&lt;/p&gt; &lt;p&gt;In the case of account duplication in XP, you will have:&lt;br&gt;&amp;nbsp; - unique and unrelated S-n-n-nn-nnnn... identifiers&lt;br&gt;&amp;nbsp; - old Name and new Name.PCName account folders&lt;br&gt;&amp;nbsp; - the same name at logon and account management&lt;/p&gt; &lt;p&gt;The risks of deleting the wrong material should be obvious.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;&lt;a title="List all Public Conversations (by label)" href="http://cquirke.blogspot.com/search/label/Public%20Conversations"&gt;Public Conversations&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11573761-6564167136145598065?l=cquirke.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cquirke.blogspot.com/feeds/6564167136145598065/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11573761&amp;postID=6564167136145598065' title='23 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11573761/posts/default/6564167136145598065'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11573761/posts/default/6564167136145598065'/><link rel='alternate' type='text/html' href='http://cquirke.blogspot.com/2007/08/duplicate-user-accounts.html' title='Duplicate User Accounts'/><author><name>Chris Quirke</name><uri>http://www.blogger.com/profile/05538828571660803875</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://cquirke.mvps.org/images/cqhead.jpg'/></author><thr:total>23</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11573761.post-8596776947826245665</id><published>2007-08-15T01:03:00.001-07:00</published><updated>2007-08-15T01:03:43.596-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Public Conversations'/><title type='text'>Malware: Avoid, Clean, or Rebuild?</title><content type='html'>&lt;div class="wlWriterSmartContent" id="0767317B-992E-4b12-91E0-4F059A8CECA8:d74d12c5-58b6-4d4b-9202-c4375a3ff50f" contenteditable="false" style="padding-right: 0px; display: inline; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;Technorati tags: &lt;a href="http://technorati.com/tags/Malware" rel="tag"&gt;Malware&lt;/a&gt;&lt;/div&gt; &lt;p&gt;On Sun, 12 Aug 2007 09:58:03 -0700, MrSlartybartfast &lt;/p&gt; &lt;p&gt;&amp;gt;Yes, creating an image of a hard drive which has malware would include the &lt;br&gt;&amp;gt;malware in the image.&amp;nbsp; When copying this image back to the hard drive, the &lt;br&gt;&amp;gt;malware would also be copied back resulting in net gain of zero.&lt;/p&gt; &lt;p&gt;This is why "just backup!" (as glibly stated) is as useless as "just don't get viruses!" or "if you get infected, clean the virus!" etc.&lt;/p&gt; &lt;p&gt;All of these approaches work, but have complexity within them that make for YMMV results.&amp;nbsp; The complexity is similar across all three contexts; how one scopes out the bad guys.&amp;nbsp; The mechanics of meeting that inescapable challenge vary between the three "solutions".&lt;/p&gt; &lt;p&gt;&amp;gt;When I reinstall Windows, I reinstall off the original DVD which has &lt;br&gt;&amp;gt;no malware, unless you call Windows itself malware :)&lt;/p&gt; &lt;p&gt;This is using time as the great X-axis, i.e. the OS code base is as old as possible, therefore excludes the malware.&amp;nbsp; And so, the PC is known to be clean.&lt;/p&gt; &lt;p&gt;But it also lacks every code patch needed to keep it that way, in the face of direct exploits a la Lovesan or Sasser etc. and to patch those, you'd have to expose this unpatched PC to the Internet. &lt;/p&gt; &lt;p&gt;It's also bereft of any applications and data.&amp;nbsp; Presumably once can do the same with applications and drivers as with the OS; install known-good baseline code from CDs and then patch these online, or re-download apps and drivers from the 'net.&lt;/p&gt; &lt;p&gt;There's also no data, and another cruch comes here, because you probably don't want a data set that's certain to be too old to be infected; you want your most recent backup, which is the one most likely to be malware-tainted.&amp;nbsp; How to scope data from malware?&lt;/p&gt; &lt;p&gt;Even though MS pushes "just" wipe and rebuild as the malware panacea, they undermine these poiunts of failure:&lt;br&gt;&amp;nbsp; - they generally don't ship replacement code on CDs or DVDs&lt;br&gt;&amp;nbsp; - they don't attempt to separate data, code and incoming material&lt;/p&gt; &lt;p&gt;The first has improved, what with XP SP2 being released as a CD, and with XP SP2 defaulting to firewall on.&amp;nbsp;&amp;nbsp;&lt;/p&gt; &lt;p&gt;There's little or no progess on the second, though; still no clearly visible distinction between data and code, still no type discipline so malware can sprawl across file types and spoof the user and OS into trusting these, incoming material is still hidden in mail stores and mixed with "documents" etc.&amp;nbsp; &lt;/p&gt; &lt;p&gt;In Vista, just what is backed up and what is not is even more opaque, as there's little or no scoping by location at all.&lt;/p&gt; &lt;p&gt;&amp;gt;If the malware is on drive D:\ then it possibly could be reactivated on to &lt;br&gt;&amp;gt;drive C:\.&amp;nbsp; You normally need to access the files on D:\ to reactivate the &lt;br&gt;&amp;gt;malware.&lt;/p&gt; &lt;p&gt;For values of "you" that includes the OS as a player.&amp;nbsp; Even with a wipe-and-rebuild that ensures no registry pointers to code on D:, there can still be code autorun from D: via Desktop.ini, \Autorun.inf, or the exploitation of any internal surfaces.&lt;/p&gt; &lt;p&gt;Such surfaces may present themselves to the material:&lt;br&gt;&amp;nbsp; - when you do nothing at all, e.g. indexers, thumbnailers etc.&lt;br&gt;&amp;nbsp; - when you "list" files in "folders"&lt;br&gt;&amp;nbsp; - when a file name is displayed&lt;/p&gt; &lt;p&gt;&amp;gt;No antivirus is perfect either, antivirus programs can often miss finding &lt;br&gt;&amp;gt;some malware.&amp;nbsp; I tend to find antivirus programs clunky and annoying and &lt;br&gt;&amp;gt;prefer not to use them.&lt;/p&gt; &lt;p&gt;I use them, as I think most users do.&amp;nbsp; If you "don't need" an av, then clearly you have solved the "don't get viruses" problem, and the contexts of "clean the virus" and "rebuild and restore data" don't arise.&amp;nbsp; If they do arise, you were wong in thinking "don't get viruses" was solved, and maybe you should rethink "I don't need an av" (while I do agree that av will miss things).&lt;/p&gt; &lt;p&gt;Your nice freshly-built PC has no av, or an av installed from CD that has an update status far worse than whatever was in effect when you were infected.&amp;nbsp; To update the av, you have to take this clean, unpatched, un-protected-by-av system online...&lt;/p&gt; &lt;p&gt;&amp;gt;On my D:\ I compress my files individually which makes it hard for malware &lt;br&gt;&amp;gt;to emerge.&amp;nbsp; &lt;/p&gt; &lt;p&gt;That helps.&amp;nbsp; It also helps in av can traverse this compression for the on-demand scans you'd want to do between rebuilding C: and installing and updating av, and doing anythiing on D: or restoring "data".&lt;/p&gt; &lt;p&gt;&amp;gt;It is a painful process and takes a few hours so I do not do this very often.&lt;/p&gt; &lt;p&gt;I should hope not; it's "last resort".&amp;nbsp; If you have no confidence in the ability to detect or avoid malware, do you do this just when convenient, or whenever you "think you might be infected", or do you do it every X days so attackers have "only" X days in which they can harvest whatever they can grab off your PC?&lt;/p&gt; &lt;p&gt;&amp;gt;I&amp;nbsp; do find this much easier than trying to live with an antivirus &lt;br&gt;&amp;gt;program installed.&amp;nbsp; My choice is not for everyone&lt;/p&gt; &lt;p&gt;It might have been a best-fit in the DOS era, when "don't get viruses" was as easy as "boot C: before A: and don't run .EXE, .COM and .BAT files".&amp;nbsp; By now, a single resident av poses little or no system impact, whereas the wipe-and-rebuild process is a PITA.&lt;/p&gt; &lt;p&gt;Frankly, doing a wipe-and-rebuild every now and then on a PC that's probably clean anyway, will increase the risks of infection.&lt;/p&gt; &lt;p&gt;Do the maths; you either get infected so often that the risks of falling back to unpatched code hardly makes things worse, in which case whatever you (blindly) do is equally useless, or your approach works so well that falling back to unpatched code is your single biggest risk of infection, and to improve things, you should stop doing that.&amp;nbsp; If you have no ability to tell whether you are or have ever been infected, you can't distingusish between these states.&lt;/p&gt; &lt;p&gt;&amp;gt;as I said before I have no valuable information stored on &lt;br&gt;&amp;gt;my PC, I do not own a credit card and do not use internet &lt;br&gt;&amp;gt;banking.&amp;nbsp; If I have malware then I can live with it.&lt;/p&gt; &lt;p&gt;Most of us want better results than that, and generally attain them.&lt;/p&gt; &lt;p&gt;Why are we reading this advice again?&lt;/p&gt; &lt;p&gt;&amp;gt;The AUMHA forum you linked to as a recommendation for Nanoscan and Totalscan &lt;br&gt;&amp;gt;does nothing for me, it is hardly a review.&amp;nbsp; Panda Software is well known, so &lt;br&gt;&amp;gt;this is not one of the fake virus scans which is on the web.&amp;nbsp; Out of &lt;br&gt;&amp;gt;curiosity I started to run it anyway, I did not continue since I do not yet &lt;br&gt;&amp;gt;fully understand the software and am not prepared to install the files on my &lt;br&gt;&amp;gt;PC.&amp;nbsp; You may use this if you wish but it is not for me.&lt;/p&gt; &lt;p&gt;I agree with you there, especially if you suspect the PC is infected.&amp;nbsp; How do you know the site you reached, is not a malware look-alike that resident malware has spoofed you to?&amp;nbsp; Is it really a good idea to...&lt;br&gt;&amp;nbsp; - disable resident av&lt;br&gt;&amp;nbsp; - run Internet Explorer in admin mode so as to drop protection&lt;br&gt;&amp;nbsp; - say "yes" to all ActiveX etc. prompts&lt;br&gt;&amp;nbsp; - allow the site to drop and run code&lt;br&gt;&amp;nbsp; - stay online while this code "scans" all your files&lt;br&gt;...as the advice at such sites generally suggests?&lt;/p&gt; &lt;p&gt;&amp;gt;The bots which harvest email addresses off the internet are just that, bots. &lt;br&gt;&amp;gt; They scour the entire internet, not just microsoft newsgroups.&amp;nbsp; To be safe, &lt;br&gt;&amp;gt;never use your real name, never give your address, phone number or contact &lt;br&gt;&amp;gt;details, create temporary email accounts to use to sign up to forums and &lt;br&gt;&amp;gt;newsgroups, &lt;/p&gt; &lt;p&gt;Bots are unbounded, because:&lt;br&gt;&amp;nbsp; - they can update themselves&lt;br&gt;&amp;nbsp; - they facilitate unbounded interaction from external entities&lt;/p&gt; &lt;p&gt;Those external entities may be other bots or humans.&amp;nbsp; In essence, an active bot dissolves confidence in the distinction between "this system" and "the Internet" (or more more accurately, "the infosphere", as local attacks via WiFi may also be facilitated).&lt;/p&gt; &lt;p&gt;&lt;strong&gt;&lt;a title="List all Public Conversations (by label)" href="http://cquirke.blogspot.com/search/label/Public%20Conversations"&gt;Public Conversations&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11573761-8596776947826245665?l=cquirke.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cquirke.blogspot.com/feeds/8596776947826245665/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11573761&amp;postID=8596776947826245665' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11573761/posts/default/8596776947826245665'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11573761/posts/default/8596776947826245665'/><link rel='alternate' type='text/html' href='http://cquirke.blogspot.com/2007/08/malware-avoid-clean-or-rebuild.html' title='Malware: Avoid, Clean, or Rebuild?'/><author><name>Chris Quirke</name><uri>http://www.blogger.com/profile/05538828571660803875</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://cquirke.mvps.org/images/cqhead.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11573761.post-27107389608681893</id><published>2007-08-14T02:17:00.001-07:00</published><updated>2007-08-14T02:17:56.924-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Public Conversations'/><title type='text'>New User Account Duhfaults</title><content type='html'>&lt;div class="wlWriterSmartContent" id="0767317B-992E-4b12-91E0-4F059A8CECA8:a55c8f52-32dc-4bce-a997-2f04fb76d60c" contenteditable="false" style="padding-right: 0px; display: inline; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;Technorati tags: &lt;a href="http://technorati.com/tags/User%20Account" rel="tag"&gt;User Account&lt;/a&gt;, &lt;a href="http://technorati.com/tags/XP" rel="tag"&gt;XP&lt;/a&gt;, &lt;a href="http://technorati.com/tags/Safety" rel="tag"&gt;Safety&lt;/a&gt;, &lt;a href="http://technorati.com/tags/Risk%20Management" rel="tag"&gt;Risk Management&lt;/a&gt;&lt;/div&gt; &lt;p&gt;From...&lt;/p&gt; &lt;p&gt;&lt;a href="http://www.spywarepoint.com/forums/t26963-p7-microsoft-zero-day-security-holes-being-exploited.html"&gt;http://www.spywarepoint.com/forums/t26963-p7-microsoft-zero-day-security-holes-being-exploited.html&lt;/a&gt;&lt;/p&gt; &lt;p&gt;On Thu, 28 Sep 2006 21:24:32 -0600, Dan&amp;nbsp;wrote:&lt;font color="blue"&gt;&lt;br&gt;&amp;gt;cquirke (MVP Windows shell/user) wrote:&lt;/font&gt;&lt;br&gt;&lt;font color="blue"&gt;&lt;font color="green"&gt;&lt;br&gt;&amp;gt;&amp;gt; Defense in depth means planning for how you get your system back; you&lt;br&gt;&amp;gt;&amp;gt; don't just faint in shock and horror that you're owned, and destroy&lt;br&gt;&amp;gt;&amp;gt; the whole system as the only way to kill the invader.&lt;/font&gt;&lt;/font&gt;&lt;br&gt;&lt;font color="blue"&gt;&lt;font color="green"&gt;&lt;br&gt;&amp;gt;&amp;gt; It's absolutely pathetic to have to tell posters "well, maybe you have&lt;br&gt;&amp;gt;&amp;gt; 'difficult' (i.e., compitently-written) malware; there's nothing you&lt;br&gt;&amp;gt;&amp;gt; can do, 'just' wipe and re-install" because our toolkit is bare.&lt;/font&gt;&lt;/font&gt;&lt;br&gt;&lt;font color="blue"&gt;&lt;br&gt;&amp;gt;The school computers (XP Pro. ones -- the school also has 98SE&lt;br&gt;&amp;gt;computers) where I work were all configured by someone who did&lt;br&gt;&amp;gt;not know what they were doing. They are have the remote assistance&lt;br&gt;&amp;gt;boxes checked and that is like saying to everyone "come on in to this&lt;br&gt;&amp;gt;machine and welcome to the party" This setting is just asking for&lt;br&gt;&amp;gt;trouble and yet the person or people who originally set up these&lt;br&gt;&amp;gt;machines configured them in this manner.&lt;/font&gt;&lt;br&gt;&lt;br&gt;All your setup dudes did wrong was to install the OS while leaving MS duhfaults in place. By duhfault, XP will:&lt;br&gt;- full-share everything on all HDs to networks (Pro, non-null pwds)&lt;br&gt;- perform no "strength tests" on account passwords (see above)&lt;br&gt;- disallow Recovery Console from accessing HDs other than C:&lt;br&gt;- disallow Recovery Console from copying files off C:&lt;br&gt;- wave numerous services e.g. RPC, LSASS at the Internet&lt;br&gt;- do so with no firewall protection (fixed in SP2)&lt;br&gt;- allow software to disable firewall&lt;br&gt;- automatically restart on all system errors, even during boot&lt;br&gt;- automatically restart on RPC service failures&lt;br&gt;- hide files, file name extensions and full directory paths&lt;br&gt;- always apply the above lethal defaults in Safe Mode&lt;br&gt;- facilitate multiple integration points into Safe Mode&lt;br&gt;- allow dangerous file types (.EXE, etc.) to set their own icons&lt;br&gt;- allow hidden content to override visible file type cues&lt;br&gt;- dump incoming messenger attachments in your data set&lt;br&gt;- dump IE downloads in your data set&lt;br&gt;- autorun code on CDs, DVDs, USB storage and HD volumes&lt;br&gt;- allow Remote Desktop and Remote Assistance through firewall&lt;br&gt;- allow unsecured WiFi&lt;br&gt;- automatically join previously-accepted WiFi networks&lt;br&gt;- waste huge space on per-user basis for IE cache&lt;br&gt;- duplicate most of the above on a per-account basis&lt;br&gt;- provide no way to override defaults in new account prototype&lt;br&gt;&lt;br&gt;Every time one "just" reinstalls Windows (especially, but not always only, if one formats and starts over), many or all of the above settings will fall back to default again. Couple that with a loss of patches, and you can see why folks who "just" format and re-install, end up repeating this process on a regular basis.&lt;br&gt;&lt;br&gt;Also, every time a new user account is created, all per-account settings start off with MS defaults and you have to re-apply your settings all over again. If you limit the account rights, as we are urged to do, then often these settings lip back to MS defaults and remain there - so I avoid multiple and limited user accounts altogether, and prefer to impose my own safety settings.&lt;br&gt;&lt;font color="blue"&gt;&lt;br&gt;&amp;gt;-- Risk Management is the clue that asks:&lt;/font&gt;&lt;br&gt;"Why do I keep open buckets of petrol next to all the&lt;br&gt;ashtrays in the lounge, when I don't even have a car?"&lt;font color="blue"&gt;&lt;br&gt;&amp;gt;----------------------- ------ ---- --- -- - - - -&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;strong&gt;&lt;a title="List all Public Conversations (by label)" href="http://cquirke.blogspot.com/search/label/Public%20Conversations"&gt;Public Conversations&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11573761-27107389608681893?l=cquirke.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cquirke.blogspot.com/feeds/27107389608681893/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11573761&amp;postID=27107389608681893' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11573761/posts/default/27107389608681893'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11573761/posts/default/27107389608681893'/><link rel='alternate' type='text/html' href='http://cquirke.blogspot.com/2007/08/new-user-account-duhfaults.html' title='New User Account Duhfaults'/><author><name>Chris Quirke</name><uri>http://www.blogger.com/profile/05538828571660803875</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://cquirke.mvps.org/images/cqhead.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11573761.post-1845755872397203023</id><published>2007-08-14T02:10:00.001-07:00</published><updated>2007-08-14T02:14:28.657-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Public Conversations'/><title type='text'>Free Users Need Control!</title><content type='html'>&lt;div class="wlWriterSmartContent" id="0767317B-992E-4b12-91E0-4F059A8CECA8:65077fe3-5f31-46f6-8276-94700d4e817c" contenteditable="false" style="padding-right: 0px; display: inline; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;Technorati tags: &lt;a href="http://technorati.com/tags/XP" rel="tag"&gt;XP&lt;/a&gt;, &lt;a href="http://technorati.com/tags/malware" rel="tag"&gt;malware&lt;/a&gt;, &lt;a href="http://technorati.com/tags/safety" rel="tag"&gt;safety&lt;/a&gt;, &lt;a href="http://technorati.com/tags/maintenance%20OS" rel="tag"&gt;maintenance OS&lt;/a&gt;&lt;/div&gt; &lt;p&gt;From...&lt;/p&gt; &lt;p&gt;&lt;a href="http://www.spywarepoint.com/forums/t26963-p7-microsoft-zero-day-security-holes-being-exploited.html"&gt;http://www.spywarepoint.com/forums/t26963-p7-microsoft-zero-day-security-holes-being-exploited.html&lt;/a&gt;&lt;/p&gt; &lt;p&gt;On Tue, 26 Sep 2006 07:46:22 -0400, "karl levinson, mvp"&lt;br&gt;&lt;font color="blue"&gt;&lt;br&gt;&amp;gt;All operating systems do that. They are designed to launch code at boot&lt;br&gt;&amp;gt;time by reading registry values, text files, etc. Because those registry&lt;br&gt;&amp;gt;values are protected from unauthorized access by permissions, someone would&lt;br&gt;&amp;gt;have to already own your system to modify those values, wouldn't they?&lt;/font&gt;&lt;br&gt;&lt;br&gt;Sure, but the wrong entities come to own systems all the time. Defense in depth means planning for how you get your system back; you don't just faint in shock and horror that you're owned, and destroy the whole system as the only way to kill the invader.&lt;br&gt;&lt;br&gt;It's tougher for pro-IT, because they've long been tempted into breaking the rule about never letting anything trump the user at the keyboard. By now, they need remote access and admin, as well as automation that can be slid past the user who is not supposed to have the power to block it, in terms of the business structure.&lt;br&gt;&lt;br&gt;But the rest of us don't have to be crippled by pro-IT's addiction to central and remote administration, any more than a peacetime urban motorist needs an 88mm cannon in a roof-top turret. We need to be empowered to physically get into our systems, and identify and rip out every automated or remotely-intruded PoS that's got into the system.&lt;br&gt;&lt;br&gt;It's absolutely pathetic to have to tell posters "well, maybe you have 'difficult' (i.e., compitently-written) malware; there's nothing you can do, 'just' wipe and re-install" because our toolkit is bare.&lt;br&gt;&lt;br&gt;&lt;strong&gt;&lt;a title="List all Public Conversations (by label)" href="http://cquirke.blogspot.com/search/label/Public%20Conversations"&gt;Public Conversations&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11573761-1845755872397203023?l=cquirke.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cquirke.blogspot.com/feeds/1845755872397203023/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11573761&amp;postID=1845755872397203023' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11573761/posts/default/1845755872397203023'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11573761/posts/default/1845755872397203023'/><link rel='alternate' type='text/html' href='http://cquirke.blogspot.com/2007/08/free-users-need-control.html' title='Free Users Need Control!'/><author><name>Chris Quirke</name><uri>http://www.blogger.com/profile/05538828571660803875</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://cquirke.mvps.org/images/cqhead.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11573761.post-6528043334313372638</id><published>2007-08-14T02:03:00.001-07:00</published><updated>2007-08-14T02:26:45.439-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Public Conversations'/><title type='text'>On User Rights, Safe Mode etc.</title><content type='html'>&lt;div class="wlWriterSmartContent" id="0767317B-992E-4b12-91E0-4F059A8CECA8:7ca09bfd-9882-4c7d-922a-0b94d1641f60" contenteditable="false" style="padding-right: 0px; display: inline; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;Technorati tags: &lt;a href="http://technorati.com/tags/Safety" rel="tag"&gt;Safety&lt;/a&gt;, &lt;a href="http://technorati.com/tags/Safe%20Mode" rel="tag"&gt;Safe Mode&lt;/a&gt;, &lt;a href="http://technorati.com/tags/XP" rel="tag"&gt;XP&lt;/a&gt;, &lt;a href="http://technorati.com/tags/malware" rel="tag"&gt;malware&lt;/a&gt;, &lt;a href="http://technorati.com/tags/maintenance%20OS" rel="tag"&gt;maintenance OS&lt;/a&gt;&lt;/div&gt; &lt;p&gt;Edited for spelling; from...&lt;/p&gt; &lt;p&gt;&lt;a href="http://www.spywarepoint.com/forums/t26963-p8-microsoft-zero-day-security-holes-being-exploited.html"&gt;http://www.spywarepoint.com/forums/t26963-p8-microsoft-zero-day-security-holes-being-exploited.html&lt;/a&gt;&lt;/p&gt; &lt;p&gt;On Fri, 29 Sep 2006 23:17:02 -0400, "Karl Levinson, mvp"&lt;font color="blue"&gt;&lt;br&gt;&amp;gt;"cquirke (MVP Windows shell/user)" wrote in&lt;/font&gt;&lt;br&gt;&lt;font color="blue"&gt;&lt;font color="green"&gt;&lt;font color="darkred"&gt;&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;All operating systems do that. They are designed to launch code at boot&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;time by reading registry values, text files, etc. Because those registry&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;values are protected from unauthorized access by permissions, someone&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;would have to already own your system to modify those values, wouldn't they?&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;br&gt;&lt;br&gt;The weakness here is that anything that runs during the user's session is deemed to have been run with the user's intent, and gets the same rights as the user. This is an inappropriate assumption when there are so many by-design opportunities for code to run automatically, whether the user intended to do so or not.&lt;br&gt;&lt;font color="blue"&gt;&lt;font color="green"&gt;&lt;br&gt;&amp;gt;&amp;gt; Sure, but the wrong entities come to own systems all the time.&lt;/font&gt;&lt;/font&gt;&lt;br&gt;&lt;font color="blue"&gt;&lt;br&gt;&amp;gt;My point is that this one example here doesn't seem to be a vulnerability if&lt;br&gt;&amp;gt;it requires another vulnerability in order to use it.&lt;/font&gt;&lt;br&gt;&lt;br&gt;Many vulnerabilities fall into that category, often because the extra requirement was originally seen as sufficient mitigation.&amp;nbsp; Vulnerabilities don't have to facilitate primary entry to be significant; they may escalate access after entry, or allow the active malware state to persist across Windows sessions, etc.&lt;br&gt;&lt;font color="blue"&gt;&lt;br&gt;&amp;gt;This isn't a case of combining two vulnerabilities to compromise a&lt;br&gt;&amp;gt;system; it's a case of one unnamed vulnerability being used to&lt;br&gt;&amp;gt;compromise a system, and then the attacker performs some other&lt;br&gt;&amp;gt;action, specifically changing registry values.&lt;/font&gt;&lt;br&gt;&lt;font color="blue"&gt;&lt;br&gt;&amp;gt;If this is a vulnerability, then the ability of Administrators to create new&lt;br&gt;&amp;gt;user accounts, change passwords etc. would also be a vulnerability.&lt;/font&gt;&lt;br&gt;&lt;br&gt;OK, now I'm with you, and I agree with you up to a point. I dunno where the earlier poster got the notion that Winlogin was there to act as his "ace in the hole" for controlling malware, as was implied.&lt;br&gt;&lt;font color="blue"&gt;&lt;font color="green"&gt;&lt;br&gt;&amp;gt;&amp;gt; Defense in depth means planning for how you get your system back; you&lt;br&gt;&amp;gt;&amp;gt; don't just faint in shock and horror that you're owned, and destroy&lt;br&gt;&amp;gt;&amp;gt; the whole system as the only way to kill the invader.&lt;/font&gt;&lt;/font&gt;&lt;br&gt;&lt;font color="blue"&gt;&lt;br&gt;&amp;gt;That's a different issue than the one we were discussing. The statement&lt;br&gt;&amp;gt;was, winlogon using registry values to execute code at boot time is a&lt;br&gt;&amp;gt;vulnerability. I'm arguing that it is not.&lt;/font&gt;&lt;br&gt;&lt;br&gt;I agree with you that it is not - the problem is the difficulty that the user faces when trying to regain control over malware that is using Winlogin and similar integration points.&lt;br&gt;&lt;br&gt;The safety defect is that:&lt;br&gt;- these integration points are also effective in Safe Mode&lt;br&gt;- there is no maintenance OS from which they can be managed&lt;br&gt;&lt;br&gt;We're told we don't need a HD-independent mOS because we have Safe Mode, ignoring the possibility that Safe Mode's core code may itself be infected. Playing along with that assertion, we'd expect Safe Mode to disable any 3rd-party integration, and would provide a UI through which these integration points can be managed.&lt;br&gt;&lt;br&gt;But this is not the case - the safety defect is that once software is permitted to run on the system, the user lacks the tools to regain control from that software. Couple that with the Windows propensity to auto-run material either be design or via defects, and you have what is one of the most common PC management crises around.&lt;br&gt;&lt;font color="blue"&gt;&lt;br&gt;&amp;gt;Besides, it's a relatively accepted truism that once an attacker has root,&lt;br&gt;&amp;gt;system or administrator privileges on any OS, it is fairly futile to try to&lt;br&gt;&amp;gt;restrict what actions s/he can perform. Anything a good administrator can&lt;br&gt;&amp;gt;do, a bad administrator can undo.&lt;/font&gt;&lt;br&gt;&lt;br&gt;That's a safety flaw right there.&lt;br&gt;&lt;br&gt;You're prolly thinking from the pro-IT perspective, where users are literally wage-slaves - the PC is owned by someone else, the time the user spends on the PC is owned by someone else, and that someone else expects to override user control over the system.&lt;br&gt;&lt;br&gt;So we have the notion of "administrators" vs. "users". Then you'd need a single administrator to be able to manage multiple PCs without having to actually waddle over to all those keyboards - so you design in backdoors to facilitate administration via the network.&lt;br&gt;&lt;br&gt;Which is fine - in the un-free world of mass business computing.&lt;br&gt;&lt;br&gt;But the home user owns their PCs, and there is no-one else who should have the right to usurp that control. (Even) creditors and police do not have the right to break in, search, or seize within the user's home.&lt;br&gt;&lt;br&gt;So what happens when an OS designed for wage-slavery is dropped into free homes as-is? Who is the notional "administrator"? Why is the Internet treated as if it were a closed and professionally-secured network? There's no "good administrators" and "bad administrators" here; just the person at the keyboard who should have full control over the system, and other nebulous entities on the Internet who should have zero control over the system.&lt;br&gt;&lt;br&gt;Whatever some automated process or network visitation has done to a system, the home user at the keyboard should be able to undo.&lt;br&gt;&lt;br&gt;Windows XP Home is simply not designed for free users to assert their rights of ownership, and that's a problem deeper than bits and bytes.&lt;br&gt;&lt;br&gt;&lt;strong&gt;&lt;a title="List all Public Conversations (by label)" href="http://cquirke.blogspot.com/search/label/Public%20Conversations"&gt;Public Conversations&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11573761-6528043334313372638?l=cquirke.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cquirke.blogspot.com/feeds/6528043334313372638/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11573761&amp;postID=6528043334313372638' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11573761/posts/default/6528043334313372638'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11573761/posts/default/6528043334313372638'/><link rel='alternate' type='text/html' href='http://cquirke.blogspot.com/2007/08/on-user-rights-safe-mode-etc.html' title='On User Rights, Safe Mode etc.'/><author><name>Chris Quirke</name><uri>http://www.blogger.com/profile/05538828571660803875</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://cquirke.mvps.org/images/cqhead.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11573761.post-4718428715754996227</id><published>2007-08-14T01:55:00.001-07:00</published><updated>2007-08-14T01:55:12.133-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Public Conversations'/><title type='text'>On Win9x, SR, mOS II, etc.</title><content type='html'>&lt;div class="wlWriterSmartContent" id="0767317B-992E-4b12-91E0-4F059A8CECA8:43cf4717-2149-49f8-a0ad-67b253a93da2" contenteditable="false" style="padding-right: 0px; display: inline; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;Technorati tags: &lt;a href="http://technorati.com/tags/Safety" rel="tag"&gt;Safety&lt;/a&gt;, &lt;a href="http://technorati.com/tags/malware" rel="tag"&gt;malware&lt;/a&gt;, &lt;a href="http://technorati.com/tags/maintenance%20OS" rel="tag"&gt;maintenance OS&lt;/a&gt;, &lt;a href="http://technorati.com/tags/Bart" rel="tag"&gt;Bart&lt;/a&gt;&lt;/div&gt; &lt;p&gt;Lifted from ...&lt;/p&gt; &lt;p&gt;&lt;a href="http://www.spywarepoint.com/forums/t26963-p9-microsoft-zero-day-security-holes-being-exploited.html"&gt;http://www.spywarepoint.com/forums/t26963-p9-microsoft-zero-day-security-holes-being-exploited.html&lt;/a&gt;&lt;/p&gt; &lt;p&gt;On Sun, 01 Oct 2006 20:45:23 -0600, "Dan W." &amp;lt;spamyou@user.nec&amp;gt; wrote:&lt;font color="blue"&gt;&lt;br&gt;&amp;gt;karl levinson, mvp wrote:&lt;font color="green"&gt;&lt;br&gt;&amp;gt;&amp;gt; "Dan W." &amp;lt;spamyou@user.nec&amp;gt; wrote in message&lt;/font&gt;&lt;/font&gt;&lt;br&gt;&lt;font color="blue"&gt;&lt;font color="green"&gt;&lt;br&gt;&amp;gt;&amp;gt; Fewer vulnerabilities are being reported for Windows 98 because Windows 98&lt;br&gt;&amp;gt;&amp;gt; is old and less commonly used, and vulns found for it get you less fame&lt;/font&gt;&lt;/font&gt;&lt;br&gt;&lt;br&gt;More to the point is that vulnerable surfaces are less-often exposed to clickless attack - that's really what makes Win9x safer.&lt;br&gt;&lt;br&gt;You can use an email app that displays only message text, without any inline content such as graphics etc. so that JPG and WMF exploit surfaces are less exposed. Couple that with an OS that doesn't wave RPC, LSASS etc. at the 'net and doesn't grope material underfoot (indexing) or when folders are viewed ("View As Web Page" and other metadata handlers) and you're getting somewhere.&lt;br&gt;&lt;br&gt;For those who cannot subscribe to the "keep getting those patches, folks!" model, the above makes a lot of sense.&lt;br&gt;&lt;font color="blue"&gt;&lt;font color="green"&gt;&lt;br&gt;&amp;gt;&amp;gt; Didn't XP expand on and improve the system restore feature to a level not&lt;br&gt;&amp;gt;&amp;gt; currently in 98 or ME?&lt;/font&gt;&lt;/font&gt;&lt;br&gt;&lt;br&gt;There's no SR in Win98, tho that was prolly when the first 3rd-party SR-like utilities started to appear. I remember two of these that seemed to inform WinME-era SR design.&lt;br&gt;&lt;br&gt;No-one seemed that interested in adding these utilities, yet when the same functionality was built into WinME, it was touted as reason to switch to 'ME, and when this functionality fell over, users were often advised to "just" re-install to regain it. I doubt if we'd have advised users to "just" re-install the OS so that some 3rd-party add-on could work again.&lt;br&gt;&lt;br&gt;XP's SR certainly is massively improved over WinME - and there's so little in common between them that it's rare one can offer SR management or tshooting advice that applies to both OSs equally. &lt;/p&gt; &lt;div&gt;&lt;br&gt;I use SR in XP, and kill it at birth in WinME - that's the size of the difference, though a one-lunger (one big doomed C: installation may find the downsides of WinME's SR to less of an issue.&lt;br&gt;&lt;font color="blue"&gt;&lt;font color="green"&gt;&lt;font color="darkred"&gt;&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; about Microsoft and its early days to present time. The early Microsoft&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; software engineers nicknamed it the Not There code since it did not have&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; the type of maintenance operating system that Chris Quirke, MVP fondly&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; talks about in regards to 98 Second Edition.&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;br&gt;&lt;font color="blue"&gt;&lt;font color="green"&gt;&lt;br&gt;&amp;gt;&amp;gt; If the MOS being discussed for Win 98 is the system boot disk floppy, that&lt;br&gt;&amp;gt;&amp;gt; was a very basic MOS and it still works on Windows XP just as well as it&lt;br&gt;&amp;gt;&amp;gt; ever did on Windows 98. [Sure, you either have to format your disk as FAT,&lt;br&gt;&amp;gt;&amp;gt; or use a third party DOS NTFS driver.]&lt;/font&gt;&lt;/font&gt;&lt;br&gt;&lt;br&gt;That was true, until we crossed the 137G limit (where DOS mode is no longer safe). It's a major reason why I still avoid NTFS... Bart works so well as a mOS for malware management that I seldom use DOS mode for that in XP systems, but data recovery and manual file system maintenance remain seriously limited for NTFS.&lt;br&gt;&lt;font color="blue"&gt;&lt;font color="green"&gt;&lt;br&gt;&amp;gt;&amp;gt; I think Chris really wants not that kind of MOS but a much bigger and&lt;br&gt;&amp;gt;&amp;gt; better one that has never existed.&lt;/font&gt;&lt;/font&gt;&lt;br&gt;&lt;br&gt;Well, ever onward and all that ;-)&lt;br&gt;&lt;br&gt;Bart is a bigger and better mOS, though it depends on how you build it (and yes, the effort of building it is larger than for DOS mode solutions). You can build a mOS from Bart that breaks various mOS safety rules (e.g. falls through to boot HD on unattended reset, automatically writes to HD, uses Explorer as shell and thus opens the risk of malware exploiting its surfaces, etc.).&lt;br&gt;&lt;br&gt;I'm hoping MS WinPE 2.0, or the subset of this that is built into the&amp;nbsp;Vista installation DVD, will match what Bart offers. Initial testing suggests it has the potential, though some mOS safety rules have been broken (e.g. fall-through to HD boot, requires visible Vista installation to work, etc.).&lt;br&gt;&lt;br&gt;The RAM testing component is nice but breaks so many mOS safety rules so badly that I consider it unfit for use:&lt;br&gt;- spontaneous reset will reboot the HD&lt;br&gt;- HD is examined for Vista installation before you reach the test&lt;br&gt;- a large amount of UI code required to reach the test&lt;br&gt;- test drops the RAM tester on HD for next boot (!!)&lt;br&gt;- test logs results to the HD (!!)&lt;br&gt;- you have to boot full Vista off HD to see the results (!!!)&lt;br&gt;&lt;br&gt;What this screams to me, is that MS still doesn't "get" what a mOS is, or how it should be designed. I can understand this, as MS WinPE was originally intended purely for setting up brand-new, presumed-good hardware with a fresh (destructive) OS installation.&lt;br&gt;&lt;br&gt;By default, the RAM test does only one or a few passes; it takes under an hour or so - and thus is only going to detect pretty grossly-bad RAM. Grossly bad RAM is unlikely to run an entire GUI reliably, and can bit-lip any address to the wrong one, or any "read HD" call to a "write HD" call. The more code you run, the higher the risk of data corruption, and NO writes to HD should ever be done while the RAM is suspected to be bad (which is after all why we are testing it.&lt;br&gt;&lt;br&gt;A mOS boot should never automatically chain to HD boot after a time out, because the reason you'd be using a mOS in the first place is because you daren't boot the HD. So when the mOS disk boots, the only safe thing to do is quickly reach a menu via a minimum of code, and stop there, with no-time-out fall-through.&lt;br&gt;&lt;br&gt;It's tempting to fall-through to the RAM test as the only safe option, but that can undermine unattended RAM testing - if the system spontaneously resets during such testing, you need to know that, and it's not obvious if the reboot restarts the RAM test again. &lt;/div&gt; &lt;div&gt;&lt;br&gt;Until RAM, physical HD and logical file system are known to be safe, and it's known that deleted material is not needed to be recovered, it is not safe to write to any HD. That means no page file, no swap, and no "drop and reboot" methods of restarting particular tests.&lt;/div&gt; &lt;div&gt;&lt;br&gt;Until the HD's contents are known to be malware-free, it is unsafe to run any code off the HD. This goes beyond not booting the HD, or looking for drivers on the HD; it also means not automatically groping material there (e.g. when listing files in a folder) as doing so opens up internal surfaces of the mOS to exploitation risks.&lt;br&gt;&lt;br&gt;&lt;br&gt;Karl's right, tho... I'm already thinking beyond regaining what we lost when hardware (&amp;gt; 137G, USB, etc.) and NTFS broke the ability to use DOS mode as a mOS, to what a purpose-built mOS could offer.&lt;br&gt;&lt;br&gt;For example, it could contain a generic file and redirected-registry scanning engine into which av vendor's scanning modules could be plugged. It could offer a single UI to manage these (i.e. "scan all files", "don't automatically clean" etc.) and could collate the results into a single log. It could improve efficiency by applying each engine in turn to material that is read once, rather than the norm of having each av scanner pull up the material to scan.&lt;br&gt;&lt;br&gt;MS could be accused of foreclosing opportunities to av vendors (blocking kernel access, competing One Care and Defender products), but this sort of mOS design could open up new opportunities.&lt;br&gt;&lt;br&gt;Normally, the av market is "dead man's shoes"; a system can have only one resident scanner, so the race is on to be that scanner (e.g. OEM bundling deals that reduce per-license revenue). Once users have an av, it becomes very difficult to get them to switch - they can't try out an alternate av without uninstalling what they have, and no-one wants to do that. It's only when feeware av "dies" at the end of a subscription period, that the user will consider a switch.&lt;br&gt;&lt;br&gt;But a multi-av mOS allows av vendors to have their engines compared, at a fairly low development cost. They don't have to create any UI at all, because the mOS does that; all they have to do is provide a pure detection and cleaning engine, which is their core compitency anyway.&lt;br&gt;&lt;br&gt;Chances are, some av vendors would prefer to avoid that challenge :-)&lt;br&gt;&lt;font color="blue"&gt;&lt;font color="green"&gt;&lt;br&gt;&amp;gt;&amp;gt; XP also comes with a number of restore features such as Recovery&lt;br&gt;&amp;gt;&amp;gt; Console and the Install CD Repair features.&lt;/font&gt;&lt;/font&gt;&lt;br&gt;&lt;br&gt;They are good few-trick ponies, but they do not constitute a mOS. They can't run arbitrary apps, so they aren't an OS, and if they aren't an OS, then by definition that aren't a mOS either.&lt;br&gt;&lt;br&gt;As it is, RC is crippled as a "recovery" environment, because it can't access anything other than C: and can't write to anywhere else. Even before you realise you'd have to copy files off one at a time (no wildcards, no subtree copy), this kills any data recovery prospects.&lt;br&gt;&lt;br&gt;At best, RC and OS installation options can be considered "vendor support obligation" tools, i.e. they assist MS in getting MS's products working again. Your data is completely irrelevant.&lt;br&gt;&lt;br&gt;It gets worse; MS accepts crippled OEM OS licensing as being "Genuine" (i.e. MS got paid) even if they provide NONE of that functionality.&lt;br&gt;&lt;br&gt;The driver's not even in the car, let alone asleep at the wheel :-(&lt;br&gt;&lt;font color="blue"&gt;&lt;font color="green"&gt;&lt;br&gt;&amp;gt;&amp;gt; I never use those or find them very useful for security, but they're&lt;br&gt;&amp;gt;&amp;gt; way more functional and closer to an MOS than the Win98 recovery&lt;br&gt;&amp;gt;&amp;gt; floppy or anything Win98 ever had. 98 never had a registry&lt;br&gt;&amp;gt;&amp;gt; editor or a way to modify services like the XP Recovery Console.&lt;/font&gt;&lt;/font&gt;&lt;br&gt;&lt;br&gt;They do different things.&lt;br&gt;&lt;br&gt;RC and installation options can regain bootability and OS functionality, and if you have enabled Set commands before the crisis you are trying to manage, you can copy off files one at a time. They are limited to that, as no additional programs can be run.&lt;br&gt;&lt;br&gt;In contrast, a Win98EBD is an OS, and can run other programs from diskette, RAM disk or CDR. Such programs include Regedit (non-interactive, i.e. import/export .REG only), Scandisk (interactive file system repair, which NTFS still lacks), Odi's LFN tools (copy off files in bulk, preserving LFNs), Disk Edit (manually repair or re-create file system structure) and run a number of av.&lt;br&gt;&lt;br&gt;So while XP's tools are bound to getting XP running again, Win98EBD functionality encompasses data recovery, malware cleanup, and hardware diagnostics. It's a no-brainer as to which I'd want (both!)&lt;br&gt;&lt;font color="blue"&gt;&lt;font color="green"&gt;&lt;font color="darkred"&gt;&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; that at the bare bones level the source code of 9x is more secure&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;br&gt;&lt;font color="blue"&gt;&lt;font color="green"&gt;&lt;br&gt;&amp;gt;&amp;gt; It depends on what you consider security.&lt;/font&gt;&lt;/font&gt;&lt;br&gt;&lt;br&gt;That's the point I keep trying to make - what Dan refers to is what I'd call "safety", whereas what Karl's referring to is what I'd call "security". Security rests on safety, because the benefit of restricting access to the right users is undermined if what happens is not limited to what these users intended to happen.&lt;br&gt;&lt;font color="blue"&gt;&lt;font color="green"&gt;&lt;br&gt;&amp;gt;&amp;gt; Win98 was always crashing and unstable,&lt;/font&gt;&lt;/font&gt;&lt;br&gt;&lt;br&gt;Er... no, not really. That hasn't been my mileage with any Win9x, compared to Win3.yuk - and as usual, YMMV based on what your hardware standards are, and how you set up the system. I do find XP more stable, as I'd expect, given NT's greater protection for hardware.&lt;br&gt;&lt;font color="blue"&gt;&lt;font color="green"&gt;&lt;br&gt;&amp;gt;&amp;gt; because there was no protection of memory space from bad apps or&lt;br&gt;&amp;gt;&amp;gt; bad attackers.&lt;/font&gt;&lt;/font&gt;&lt;br&gt;&lt;br&gt;Mmmh... AFAIK, that sort of protection has been there since Win3.1 at least (specifically, the "386 Enhanced" mode of Win3.x). Even DOS used different memory segments for code and data, though it didn't use 386 design to police this separation.&lt;br&gt;&lt;br&gt;IOW, the promise that "an app can crash, and all that happens is that app is terminated, the rest of the OS keeps running!" has been made for every version of Windows since Win3.x - it's just that the reality always falls short of the promise. It still does, though it gets a little closer every time.&lt;br&gt;&lt;br&gt;If anything, there seems to be a back-track on the concept of data vs. code separation, and this may be a consequence of the Object-Orientated model. Before, you'd load some monolithic program into its code segment, which would then load data into a separate data segment. Now you have multiple objects, each of which can contain thier own variables (properties) and code (methods).&lt;br&gt;&lt;br&gt;We're running after the horse by band-aiding CPU-based No-Execute trapping, so that when (not if) our current software design allows "data" to spew over into code space, we can catch it.&lt;br&gt;&lt;font color="blue"&gt;&lt;font color="green"&gt;&lt;br&gt;&amp;gt;&amp;gt; Microsoft's security problems have largely been because of backwards&lt;br&gt;&amp;gt;&amp;gt; compatibility with Windows 9x, DOS and Windows NT 4.0. They feel, and I&lt;br&gt;&amp;gt;&amp;gt; agree, that Microsoft security would be a lot better if they could abandon&lt;br&gt;&amp;gt;&amp;gt; that backwards compatibility with very old niche software, as they have been&lt;br&gt;&amp;gt;&amp;gt; doing gradually.&lt;/font&gt;&lt;/font&gt;&lt;br&gt;&lt;br&gt;The real millstone was Win3.yuk (think heaps, co-operative multitasking). Ironically, DOS apps multitask better than Win16 ones, as each DOS app lives in its own VM and is pre-emptively multi-tasked.&lt;br&gt;&lt;br&gt;64-bit is the opportunity to make new rules, as Vista is doing (e.g. no intrusions into kernel allowed). I'm hoping that this will be as beneficial as hardware virtualization was for NT.&lt;br&gt;&lt;br&gt;Win9x apps don't cast as much of a shadow, as after all, Win9x's native application code was to be the same as NT's. What is a challenge is getting vendors to conform to reduced user rights, as up until XP, they could simply ignore this.&lt;br&gt;&lt;br&gt;There's also the burden of legacy integration points, from Autoexec.bat through Win.ini through the various fads and fashions of Win9x and NT and beyond. There's something seriously wrong if MS is unable to enumerate every single integration point, and provide a super-MSConfig to manage them all from a single UI.&lt;br&gt;&lt;font color="blue"&gt;&lt;br&gt;&amp;gt;Classic Edition could be completely compatible with the older software&lt;br&gt;&amp;gt;such as Windows 3.1 programs and DOS programs. Heck, Microsoft&lt;br&gt;&amp;gt;could do this in a heartbeat without too much trouble.&lt;/font&gt;&lt;br&gt;&lt;br&gt;Think about that. Who sits in exactly the same job for 12 years?&lt;br&gt;&lt;br&gt;All the coders who actually made Win95, aren't front-line coders at MS anymore. They've either left, or they've climbed the ladder into other types of job, such as division managers, software architects etc. To the folks who are currently front-line coders, making Vista etc., Win9x is as alien as (say) Linux or OS/2.&lt;br&gt;&lt;br&gt;To build a new Win9x, MS would have to re-train a number of new coders, which would take ages, and then they'd have to keep this skills pool alive as long as the new Win9x were in use. I don't see them wanting to do that, especially as they had such a battle to sunset Win9x and move everyone over to NT (XP) in the first place.&lt;br&gt;&lt;br&gt;Also, think about what you want from Win9x - you may find that what you really want is a set of attributes that are not inherently unique to Win9x at all, and which may be present in (say) embedded XP. &lt;/div&gt; &lt;div&gt;&lt;br&gt;&lt;br&gt;If you really do need the ability to run DOS and Win3.yuk apps, then you'd be better served by an emulator for these OSs. &lt;/div&gt; &lt;div&gt;&lt;br&gt;This not only protects the rest of the system to the oddball activities of these platforms, but can also virtualize incompatible hardware and mimic the expected slower clock speeds more smoothly than direct execution could offer. This is important, as unexpected speed and disparity between instruction times is as much a reason for old software to fail on new systems as changes within Windows itself.&lt;br&gt;&lt;font color="blue"&gt;&lt;br&gt;&amp;gt;I will do what it takes to see this come to reality.&lt;/font&gt;&lt;br&gt;&lt;br&gt;Stick around on this, even if there's no further Win9x as such. As we can see from MS's first mOS since Win98 and WinME EBDs, there's more to doing this than the ability to write working code - there has to be an understanding of what the code should do in the "real world".&lt;/div&gt; &lt;div&gt;&amp;nbsp;&lt;/div&gt; &lt;div&gt;&lt;strong&gt;&lt;a title="List all Public Conversations (by label)" href="http://cquirke.blogspot.com/search/label/Public%20Conversations"&gt;Public Conversations&lt;/a&gt;&lt;/strong&gt;&lt;br&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11573761-4718428715754996227?l=cquirke.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cquirke.blogspot.com/feeds/4718428715754996227/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11573761&amp;postID=4718428715754996227' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11573761/posts/default/4718428715754996227'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11573761/posts/default/4718428715754996227'/><link rel='alternate' type='text/html' href='http://cquirke.blogspot.com/2007/08/on-win9x-sr-mos-ii-etc.html' title='On Win9x, SR, mOS II, etc.'/><author><name>Chris Quirke</name><uri>http://www.blogger.com/profile/05538828571660803875</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://cquirke.mvps.org/images/cqhead.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11573761.post-9213794076361650002</id><published>2007-08-13T12:18:00.001-07:00</published><updated>2007-08-13T12:20:30.397-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Basics'/><title type='text'>CDRW/DVDRW Primer</title><content type='html'>&lt;p&gt;It can be a bit confusing figuring out R vs. RW and formal authoring vs. packet writing, but I'll try.&amp;nbsp; This skips a lot of detail, and attempts to zoom on what you'd need to know if starting on writing CDs or DVDs in 2007...&lt;/p&gt; &lt;p&gt;Here's the executive summary:&lt;/p&gt; &lt;table cellspacing="0" cellpadding="2" width="396" border="0" unselectable="on"&gt; &lt;tbody&gt; &lt;tr&gt; &lt;td valign="top" width="131"&gt;&amp;nbsp;&lt;/td&gt; &lt;td valign="top" width="77"&gt;R&lt;/td&gt; &lt;td valign="top" width="186"&gt;RW&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td valign="top" width="131"&gt;&amp;nbsp;&lt;/td&gt; &lt;td valign="top" width="79"&gt;&amp;nbsp;&lt;/td&gt; &lt;td valign="top" width="185"&gt;&amp;nbsp;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td valign="top" width="130"&gt;Authored&lt;/td&gt; &lt;td valign="top" width="80"&gt;Fine&lt;/td&gt; &lt;td valign="top" width="185"&gt;Fine&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td valign="top" width="130"&gt;Packet-written&lt;/td&gt; &lt;td valign="top" width="81"&gt;Can't&lt;/td&gt; &lt;td valign="top" width="184"&gt;Sucks&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt; &lt;h4&gt;R vs. RW disks&lt;/h4&gt; &lt;p&gt;R(ecordable) disks are like writing in ink - once you've written, you cannot erase, edit or overwrite.&lt;/p&gt; &lt;p&gt;R(e)W(ritable) disks are like writing in pencil - you can rub out what you want to change, but what you write in there, has to fit between whatever else you have not rubbed out.&lt;/p&gt; &lt;h4&gt;Authoring vs. packet writing&lt;/h4&gt; &lt;p&gt;The "authoring" process is like setting up a printing press; you first lay out the CD or DVD exactly as you want it, then you splat that onto the disk.&amp;nbsp; You can fill the whole disk at once, like printing a book (single session), or you can fill the first part and leave the rest blank to add more stuff later, like a printed book that has blank pages where new stuff can be added (start a multisession).&lt;/p&gt; &lt;p&gt;The "packet writing" process is what lets you pretend an RW disk is like a "big diskette".&amp;nbsp; Material is written to disk in packets, and individual packets can be rubbed out and replaced with new packets, which pretty much mirrors the way magnetic disks are used.&amp;nbsp; This method is obviously not applicable to R disks.&lt;/p&gt; &lt;p&gt;RW disks can also be authored, but the rules stay the same; you either add extra sessions to a multi-session disk, or you erase the whole disk and author it all over again.&lt;/p&gt; &lt;h4&gt;Overwriting&lt;/h4&gt; &lt;p&gt;When you overwrite a file in a packet-writing system, you do so by freeing up the packets containing the old file and write the new file into the same and/or other packets.&amp;nbsp; The free space left over is increased by the size of the old file and reduced by the size of the new, rounded up to a whole number of packets.&lt;/p&gt; &lt;p&gt;When you "overwrite" a file in a multisession (authored) disk, it is like crossing out the old material and writing new material underneath, as one is obliged to do when writing in ink.&amp;nbsp; The free space drops faster, because the space of the old file cannot be reclaimed and re-used, and because each session has some file system overhead, no matter how small the content.&lt;/p&gt; &lt;h4&gt;Standards and tools&lt;/h4&gt; &lt;p&gt;There are a number of different standard disk formats, all of which must be formally authored; audio CDs, movie DVDs, CD-ROMs and DVD-ROMs of various flavors.&amp;nbsp; In contrast, packet-written disk formats may be proprietary, and supported only by the software that created them.&lt;/p&gt; &lt;p&gt;Nero and Easy CD Creator are examples of formal authoring tools, and several media players can also author various media and data formats.&lt;/p&gt; &lt;p&gt;InCD and DirectCD are examples of packet-writing tools, which generally maintain a low profile in the SysTray, popping up only to format newly-discovered blank RW disks.&amp;nbsp; The rest of the time, they work thier magic behind the scenes, so that Windows Explorer can appear to be able to use RW disks as "big diskettes".&lt;/p&gt; &lt;p&gt;Windows has built-in writer support, but the way it works can embody the worst of both authoring and packet-writing models.&amp;nbsp; I generally disable this support and use Nero instead.&lt;/p&gt; &lt;h4&gt;Flakiness&lt;/h4&gt; &lt;p&gt;RW disks and flash drives share a bad characteristic; limited write life.&amp;nbsp; In order to reduce write traffic to RW disks, packet writing software will hold back and accumulate writes, so these can be written back in one go just before the disk is ejected.&lt;/p&gt; &lt;p&gt;What this means is that packet written disks often get barfed by bad exits, lockups, crashes, and forced disk ejects.&amp;nbsp; Typically the disk will have no files on it, and no free space.&amp;nbsp; When this happens, you can either erase the disk and author it, or format the disk for another go at packet writing.&amp;nbsp; Erasing is faster, while formatting applies only to packet writing (it defines the packets).&lt;/p&gt; &lt;p&gt;I have found that packet writing software has been a common cause of system instability (that often ironically corrupts packet-written disks).&amp;nbsp; The unreliability, slow formatting, and poor portability across arbitrary systems have all led me to abandon packet writing in favor of formally authoring RW disks.&amp;nbsp; &lt;/p&gt; &lt;p&gt;&lt;strong&gt;&lt;a title="Basic &amp;quot;Getting Started&amp;quot; topics" href="http://cquirke.blogspot.com/search/label/Basics"&gt;Back to Basics&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11573761-9213794076361650002?l=cquirke.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cquirke.blogspot.com/feeds/9213794076361650002/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11573761&amp;postID=9213794076361650002' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11573761/posts/default/9213794076361650002'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11573761/posts/default/9213794076361650002'/><link rel='alternate' type='text/html' href='http://cquirke.blogspot.com/2007/08/cdrwdvdrw-primer.html' title='CDRW/DVDRW Primer'/><author><name>Chris Quirke</name><uri>http://www.blogger.com/profile/05538828571660803875</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://cquirke.mvps.org/images/cqhead.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11573761.post-4105507151683578719</id><published>2007-08-09T01:23:00.001-07:00</published><updated>2007-08-10T01:19:34.899-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='The Waking Hour'/><title type='text'>Evolution vs. Intelligent Design</title><content type='html'>&lt;div class="wlWriterSmartContent" id="0767317B-992E-4b12-91E0-4F059A8CECA8:776a11d9-74e4-4310-a844-417a3c7e19e4" contenteditable="false" style="padding-right: 0px; display: inline; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;Technorati tags: &lt;a href="http://technorati.com/tags/Information%20theory" rel="tag"&gt;Information theory&lt;/a&gt;, &lt;a href="http://technorati.com/tags/memetics" rel="tag"&gt;memetics&lt;/a&gt;, &lt;a href="http://technorati.com/tags/evolution" rel="tag"&gt;evolution&lt;/a&gt;&lt;/div&gt; &lt;p&gt;Evolution vs. Intelligent Design = non-issue.&lt;/p&gt; &lt;p&gt;Evolution does not define why things happen.&amp;nbsp; &lt;/p&gt; &lt;p&gt;It is a mechanism whereby some things that happen, may come to persist (and others, not).&amp;nbsp; &lt;/p&gt; &lt;h4&gt;Graded belief&lt;/h4&gt; &lt;p&gt;Human thinking appears to have at least two weaknesses; an automatic assumption of dualities (e.g. "Microsoft and Google are both large; Microsoft is bad, therefore Google must be good"), and an unwillingness to accept unknowns.&amp;nbsp; &lt;/p&gt; &lt;p&gt;You can re-state the second as a tighter version of the first, i.e.&amp;nbsp;the singleton assumption, rather than&amp;nbsp;duality.&lt;/p&gt; &lt;p&gt;We don't even have words (in English, at least) to differentiate between degrees of belief, i.e. weak ("all things equal, I think it is more likely that A of A, B, C is the truth") and strong ("iron is a metal") belief.&amp;nbsp; &lt;/p&gt; &lt;p&gt;And I fairly strongly believe we strongly believe too often, when a weaker degree of certainty would be not only more appropriate, but is a&amp;nbsp;needed component in our quest for Word Peace TM.&lt;/p&gt; &lt;p&gt;For example, religious folks have a fairly high certainty of what will happen after they die - but can we all accept that as they have not yet died, that something slightly less than "you're wrong, so I'll kill you" certainty should apply?&lt;/p&gt; &lt;h4&gt;What is evolution?&lt;/h4&gt; &lt;p&gt;My understanding of evolution, or Darwinian systems, revolves around the following components:&lt;/p&gt; &lt;ul&gt; &lt;li&gt;limited life span  &lt;li&gt;selection pressure  &lt;li&gt;imperfect reproduction&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;That's what I consider to be a classic evolutionary environment, but you may get variations; e.g. if entities change during the course of their lifetime, do not reproduce, but can die, then you could consider this as a Darwinian system that is ultimately set to run down like a wind-up clock as the number of survivors declines towards zero.&lt;/p&gt; &lt;p&gt;In fact, implicit in that classic model is the notion of reproduction based on a self-definition that does not change during the course of an entity's lifetime (in fact, it defines that entity) but can change when spawning next generation entities.&lt;/p&gt; &lt;h4&gt;Evolution is blind&lt;/h4&gt; &lt;p&gt;Evolution per se, is devoid of intent.&amp;nbsp; I don't know whether Darwin stressed this in his original writings, but I weakly believe that he did; yet I often see descriptions of creatures "evolving to survive".&amp;nbsp; &lt;/p&gt; &lt;p&gt;As I understand it, game theory is a reformulation of evolution that centers on the notion of survival intent.&lt;/p&gt; &lt;p&gt;Evolution is something that happens to things, and doesn't "care" whether those things survive or not.&amp;nbsp; The "selfish gene" concept is an attempt to frame this inevitable sense of "intent" within Darwinian mechanics; there is no more need to ascribe a survival intent to genes, as there is to the phenotypes they define.&lt;/p&gt; &lt;p&gt;However, evolution doesn't have to be the only player on the stage, and this is what I meant about "evolution vs. intelligent design is a non-issue".&lt;/p&gt; &lt;p&gt;I don't think there's much uncertainty that evolution is at work in the world.&amp;nbsp; That doesn't weigh for or against other (intelligent design) players in the world, and that's why I consider the question a non-issue.&lt;/p&gt; &lt;p&gt;Intelligent players can apply intent from&amp;nbsp;outside the system (e.g. where an external entity defines entities within a Darwinian environment, or the environment itself, or its selection pressures) or from within the system (e.g. where entities apply intent to designing their own progeny).&lt;/p&gt; &lt;h4&gt;Example systems&lt;/h4&gt; &lt;p&gt;I consider the following to be Darwinian systems:&lt;/p&gt; &lt;ul&gt; &lt;li&gt;the biosphere  &lt;li&gt;the infosphere  &lt;li&gt;human culture, i.e. memetics&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;One could theorize that evolution is an inevitable consequence of complexity, when subjected to entropy.&amp;nbsp; Just as a moving car is not fast enough to exhibit significant relativistic effects (so that Newton's laws appear to explain everything), so trivial systems may be insufficiently complex to demonstrate Darwinian behavior.&lt;/p&gt; &lt;p&gt;This is why I'm interested in computers and the infosphere; because they are becoming complex enough to defy determinism.&amp;nbsp; &lt;/p&gt; &lt;p&gt;Normally, we seek to understand the "real world" by peering down from the top, with insufficient clarity to see the bottom.&amp;nbsp; &lt;/p&gt; &lt;p&gt;With the infosphere, we have an environment that we understand (and created) from the bottom up; what we cannot "see" is the top level that will arise as complexity evolves.&lt;/p&gt; &lt;p&gt;This creates an opportunity to model the one system within the other.&amp;nbsp; What was an inscrutable "mind / brain" question, becomes "the mind is the software, the brain is the hardware", perhaps over-extended to "the&amp;nbsp;self is the runtime, the mind is the software, the brain is the firmware, the body is the hardware".&amp;nbsp; &lt;/p&gt; &lt;p&gt;We can also look at computer viruses as a model for biosphere viruses.&amp;nbsp;&amp;nbsp;A major "aha!" moment for me was when I searched the Internet for information on the CAP virus, and found a lot of articles that almost made sense, but not quite - until I realized these described biological viruses, and were found because of the common bio-virus term "CAPsule".&lt;/p&gt; &lt;h4&gt;Code&lt;/h4&gt; &lt;p&gt;Common to my understanding of what constitutes a classic Darwinian system, is the notion of information that defines the entity.&amp;nbsp; &lt;/p&gt; &lt;p&gt;In the biosphere, this is usually DNA or RNA, a language of 4 unique items grouped into threes to map to the active proteins&amp;nbsp;they define.&lt;/p&gt; &lt;p&gt;In the infosphere, this is binary code of various languages, based on bits that are typically grouped into eights as bytes.&lt;/p&gt; &lt;p&gt;In the meme space, languages are carried via symbol sets that are in turn split into unique characters, which are then clumped into words or sentences.&amp;nbsp; Some languages contain less information within the character set (e.g. Western alphabets), others more (e.g. the Chinese alphabet, ancient Egyptian hieroglyphics, modern icons and branding marks).&lt;/p&gt; &lt;p&gt;When we create computer code, we are laboriously translating the memetic language of ideas into code that will spawn infosphere entities.&amp;nbsp; This is not unlike the way a set of chromosomes becomes&amp;nbsp;a chicken, other than that we view the infosphere and meme space as separate Darwinian systems.&lt;/p&gt; &lt;p&gt;The alluring challenge is to translate infosphere code into biosphere code, i.e. to "print DNA", as it were.&amp;nbsp; One hopes the quality of intent will be sound, by the time this milestone is reached, as in effect, we would be positioned to become our own intelligent creators.&lt;/p&gt; &lt;h4&gt;Intelligent design&lt;/h4&gt; &lt;p&gt;We know that entities in the infosphere are created by intent from outside the system; as at 2007, we do not believe that new entities arise spontaneously within the system.&lt;/p&gt; &lt;p&gt;We don't know (but may have beliefs about) whether there is intent applied to the biosphere, or whether the biosphere was originally created or shaped by acts of intent.&lt;/p&gt; &lt;p&gt;Conspiracy theorists may point to hidden uber-intenders within the meme space, the creation of which is inherently guided by self-intent.&lt;/p&gt; &lt;h4&gt;That which was&lt;/h4&gt; &lt;p&gt;Just as folks mistakenly ascribe intent to the mechanics of evolution, so there is a fallacy that all that exists, is all that existed.&lt;/p&gt; &lt;p&gt;But evolution can tell you nothing about what entities one existed, as spawned by mutation or entropic shaping of code.&lt;/p&gt; &lt;p&gt;There is a &lt;em&gt;&lt;strong&gt;very dangerous assumption&lt;/strong&gt;&lt;/em&gt; that because you cannot see a surviving entity in the current set, that such entities cannot arise.&amp;nbsp; &lt;/p&gt; &lt;p&gt;Think of a bio-virus with a fast-death payload a la rabies, plus rapid spread a la the common cold.&amp;nbsp; The assumption of survival intent leads folks to say stupid things like "but that would kill the host, so the virus wouldn't want that".&amp;nbsp; Sure, there'd be no survivors in today's entity set, but on the other hand, we know we have some historical bulk extinctions to explain.&lt;/p&gt; &lt;p&gt;We're beginning to see the same complacency on the risks of nuclear war.&amp;nbsp; We think of humanity as a single chain of upwards development, and therefore are optimistic that "common sense will prevail".&amp;nbsp; Even nay-sayers that point to our unprecedented ability to destroy ourselves, miss the point in that word "unprecedented".&amp;nbsp; As &lt;a title="Wikipedia on Graham Hancock" href="http://en.wikipedia.org/wiki/Graham_Hancock"&gt;Graham Hancock&lt;/a&gt;&amp;nbsp;postulated in his &lt;a title="Wikipedia synopsis of Fingerprints of the Gods" href="http://en.wikipedia.org/wiki/Fingerprints_of_the_Gods"&gt;Fingerprints of the Gods&lt;/a&gt;, we may have been this way before.&lt;/p&gt; &lt;p&gt;This blindness applies to malware within the infosphere as well, and the saying "there's none so blind as those who&amp;nbsp;can see" applies.&amp;nbsp; If we want authoritative voices on malware, we generally turn to professionals who have been staring at all malware for years, such as the antivirus industry.&amp;nbsp; These folks may be blinded by what they've seen of all that has been,&amp;nbsp;that they&amp;nbsp;fail to consider all that could be.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;&lt;a title="Musings from first hour awake, when my mind is most manic" href="http://cquirke.blogspot.com/search/label/The%20Waking%20Hour"&gt;The Waking Hour&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11573761-4105507151683578719?l=cquirke.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cquirke.blogspot.com/feeds/4105507151683578719/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11573761&amp;postID=4105507151683578719' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11573761/posts/default/4105507151683578719'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11573761/posts/default/4105507151683578719'/><link rel='alternate' type='text/html' href='http://cquirke.blogspot.com/2007/08/evolution-vs-intelligent-design.html' title='Evolution vs. Intelligent Design'/><author><name>Chris Quirke</name><uri>http://www.blogger.com/profile/05538828571660803875</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://cquirke.mvps.org/images/cqhead.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11573761.post-1397956949578026010</id><published>2007-08-07T05:31:00.001-07:00</published><updated>2007-08-07T05:32:36.571-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Bug'/><title type='text'>Low Heap Space in XP and Vista</title><content type='html'>&lt;p&gt; &lt;div class="wlWriterSmartContent" id="0767317B-992E-4b12-91E0-4F059A8CECA8:c88e0fcb-d653-428f-9778-58e2db007c42" contenteditable="false" style="padding-right: 0px; display: inline; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;Technorati tags: &lt;a href="http://technorati.com/tags/Bug" rel="tag"&gt;Bug&lt;/a&gt;, &lt;a href="http://technorati.com/tags/XP" rel="tag"&gt;XP&lt;/a&gt;, &lt;a href="http://technorati.com/tags/Vista" rel="tag"&gt;Vista&lt;/a&gt;&lt;/div&gt;&lt;/p&gt; &lt;p&gt;Have you ever been motoring along in XP or Vista, opening up new tabs in IE7, running apps in the background, etc. and noticed new tabs don't show the pages, or that when you right-click a link, you don't get a context menu?&amp;nbsp; Or have you ever opened a couple of dozen photos in Irfan View and found the last few come up with no menu, and don't respond to hotkeys?&lt;/p&gt; &lt;p&gt;Did this bring back memories of "low resource heaps" in Win9x, or the need to restart DOS/Win3.yuk PCs several times a day to keep MS Office apps running properly?&lt;/p&gt; &lt;p&gt;You aren't going crazy, and yes, it's the same problem.&amp;nbsp; It's like deja vu all over again.&lt;/p&gt; &lt;h4&gt;Background&lt;/h4&gt; &lt;p&gt;Windows 3.x used two or three "heaps", i.e. areas of RAM set aside for certain items that are spawned by running programs.&amp;nbsp; There was a GDI heap for graphic elements, a user heap for UI and other elements, and a "system" heap that may have been a logical view of the first two (it's been a while, and I hoped I never have to remember the details again).&lt;/p&gt; &lt;p&gt;When folks started multitasking in earnest, these heaps would fill up and cause crashes, half-drawn UI elements, or spurious "out of memory" errors.&amp;nbsp; Adding RAM was as useful as adding a trailer to a removal van with a loading crew so dumb they insist on putting all metal objects in the glove compartment and then tell you "we're full" after moving your hi-fi.&lt;/p&gt; &lt;p&gt;Windows 95 design intended to move these heaps to 32-bit replacements, but it was found that doing so would break several applications (including, it was rumored, Excel 4.0) which wrote directly to heap objects in memory rather than using the proper API calls.&lt;/p&gt; &lt;p&gt;So Windows 95 went into a long public beta where these things were thrashed out.&amp;nbsp; Win9x left some items in "legacy" 16-bit heaps, and proactively cleared heap allocations when closing down VMs.&amp;nbsp; 32-bit and DOS programs were run in their own VM, so this curbed "heap leakage" for these, but as 16-bit Windows all ran in a single shared VM, any resident 16-bit Windows program (e.g. Bitware 3.x) could hold this VM open forever.&lt;/p&gt; &lt;p&gt;Pundits would smugly point out that NT was a "true" 32-bit OS which did not make such compromises.&amp;nbsp; The "huge" 32-bit address range should mean 32-bit heaps would never run out again.&lt;/p&gt; &lt;h4&gt;The broken rule is...&lt;/h4&gt; &lt;blockquote&gt; &lt;p&gt;"&lt;strong&gt;Do not use finite global storage for the per-instance data of an unbounded number of instances&lt;/strong&gt;".&amp;nbsp; &lt;/p&gt;&lt;/blockquote&gt; &lt;p&gt;There are several instances of this rule being broken, such as the way Windows Explorer "remembers" settings for different folders.&amp;nbsp; &lt;/p&gt; &lt;p&gt;The converse rule...&lt;/p&gt; &lt;blockquote&gt; &lt;p&gt;"&lt;strong&gt;Do not scale a per-instance resource based on evolving global store capacity&lt;/strong&gt;"&lt;/p&gt;&lt;/blockquote&gt; &lt;p&gt;...is broken by IE''s grabbing of X% of total HD volume space for its web cache, as well as System Restore capacity allocation.&amp;nbsp; The first example was only fixed in IE7; the second, continues.&lt;/p&gt; &lt;p&gt;NT broke the first of these two scalability rules.&amp;nbsp;&amp;nbsp;The NT developers did not fix the heap problem via dynamically-sized heaps that could expand up to the limits of 32-bit addressability.&amp;nbsp; Instead, they set various arbitrary limits at various times, in fact &lt;a title="Knowledge base article 126962 on &amp;quot;out of memory&amp;quot; heap issues" href="http://support.microsoft.com/default.aspx?scid=kb;EN-US;126962"&gt;reducing&lt;/a&gt; these between versions 3.1 and 3.5 of the original NT.&amp;nbsp; &lt;/p&gt; &lt;h4&gt;The fix&lt;/h4&gt; &lt;p&gt;Apparently this has been a &lt;a title="Knowledge base article 142676 on heap issues in NT4" href="http://support.microsoft.com/default.aspx?scid=kb;EN-US;142676"&gt;known issue&lt;/a&gt; at Microsoft, though most of us (myself included) didn't see the old "resource heap blues" for the first few years on XP.&amp;nbsp; I found some good &lt;a title="Desktop Heap Overview, part 1 of 2" href="http://blogs.msdn.com/ntdebugging/archive/2007/01/04/desktop-heap-overview.aspx"&gt;background&lt;/a&gt; &lt;a title="Desktop Heap Pverview, part 2 of 2" href="http://blogs.msdn.com/ntdebugging/archive/2007/07/05/desktop-heap-part-2.aspx"&gt;coverage&lt;/a&gt; in blogs and elsewhere, but the fix (adjusting certain registry settings) comes with some &lt;a title="Article on Sessions, Desktops and Windows Stations" href="http://blogs.technet.com/askperf/archive/2007/07/24/sessions-desktops-and-windows-stations.aspx"&gt;caveats&lt;/a&gt;:&lt;/p&gt; &lt;blockquote&gt; &lt;p&gt;&lt;font color="#ff0000"&gt;Please do not modify these values on a whim. Changing the second or third value too high can put you in a no-boot situation due to the kernel not being able to allocate memory properly to even get Session 0 set up&lt;/font&gt;.&amp;nbsp; &lt;/p&gt;&lt;/blockquote&gt; &lt;p&gt;I haven't applied the fix yet, but probably will, on my XP SP2 system with IE7 etc.&amp;nbsp; If it holds up here, and I have complaints from Vista users, then I may apply the fix to my new Vista PC builds as well.&lt;/p&gt; &lt;h4&gt;Coverage&lt;/h4&gt; &lt;p&gt;As you can guess, &lt;a title="Ed Bott on the problem with details of the fix" href="http://blogs.zdnet.com/Bott/?p=269&amp;amp;tag=nl.e539"&gt;some&lt;/a&gt;&amp;nbsp;&lt;a title="Desktop Heap Size and why I care" href="http://henbo.spaces.live.com/blog/cns!2E073207A544E12!162.entry"&gt;blogs&lt;/a&gt; have been quite &lt;a title="Lockergnome on Vista vs. resource heaps" href="http://www.lockergnome.com/nexus/theoracle/2007/07/27/vista-showing-how-microsoft-hasnt-learned-anything/#comment-805"&gt;hostile&lt;/a&gt; to Microsoft, and this one is no exception (to me, it seems as if these folks missed the "Scalability 101" lecture).&lt;/p&gt; &lt;p&gt;However, I can see some reasons why they may have chosen not to create a dynamically-resizing heap system.&amp;nbsp; &lt;/p&gt; &lt;p&gt;One reason is to prevent DoS memory usage through deliberate leaks; another might be concern over exploitable race conditions that might arise if one process is creating heap objects while another deliberately releases heap space to provoke a downwards resize.&amp;nbsp; &lt;/p&gt; &lt;p&gt;There may be unacceptable overhead in managing more scalable data structures, such as linked lists, if heap objects are accessed as often as I suspect they might be.&lt;/p&gt; &lt;p&gt;Whatever such reasons might be, I'd suggest Microsoft get their story up really soon, before the trickle turns to a flood and users twig onto why they can't do "too many things at the same time" on their PCs - especially given the usual Vista mantra of "it's slow and needs more resources, but that's so it can scale up to future needs" that &lt;em&gt;I've&lt;/em&gt; been known to wave around&amp;nbsp; :-)&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11573761-1397956949578026010?l=cquirke.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cquirke.blogspot.com/feeds/1397956949578026010/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11573761&amp;postID=1397956949578026010' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11573761/posts/default/1397956949578026010'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11573761/posts/default/1397956949578026010'/><link rel='alternate' type='text/html' href='http://cquirke.blogspot.com/2007/08/low-heap-space-in-xp-and-vista.html' title='Low Heap Space in XP and Vista'/><author><name>Chris Quirke</name><uri>http://www.blogger.com/profile/05538828571660803875</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://cquirke.mvps.org/images/cqhead.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11573761.post-3323608029438586471</id><published>2007-08-02T04:15:00.001-07:00</published><updated>2007-08-02T04:16:13.762-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Public Conversations'/><title type='text'>Seek, And Ye Shall Find... What?</title><content type='html'>&lt;div class="wlWriterSmartContent" id="0767317B-992E-4b12-91E0-4F059A8CECA8:b7d85414-ff0d-4ee3-924e-570d725e3428" contenteditable="false" style="padding-right: 0px; display: inline; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;Technorati tags: &lt;a href="http://technorati.com/tags/safety" rel="tag"&gt;safety&lt;/a&gt;&lt;/div&gt; &lt;p&gt;Re: Can a saved search be indistinguishable from real folders?&lt;/p&gt; &lt;p&gt;On Sat, 28 Jul 2007 05:34:00 -0700, Baffin &lt;/p&gt; &lt;p&gt;&amp;gt;To my mind, it would be elegant and correct for the operating system to &lt;br&gt;&amp;gt;present a 'saved search' folder to all appolications exactly as a real folder &lt;br&gt;&amp;gt;is presented.&amp;nbsp; Thus no changes should be required to any applications -- they &lt;br&gt;&amp;gt;should all just work as usual -- instant access to saved-search collections &lt;br&gt;&amp;gt;-- great!&lt;/p&gt; &lt;p&gt;Think through the safety and security implications of that.&lt;/p&gt; &lt;p&gt;&amp;gt;But as mentioned originally, I'm having problems getting many applications &lt;br&gt;&amp;gt;to work with saved-search folders -- am I doing something wrong?&amp;nbsp; Or, could &lt;br&gt;&amp;gt;Microsoft have implemented 'virtual folders' (saved searches) &lt;br&gt;&amp;gt;non-transparently?&amp;nbsp; If so, why?&amp;nbsp; What's the advantage worth all the &lt;br&gt;&amp;gt;disruption that would cause to applications?&lt;/p&gt; &lt;p&gt;I think there was a change in design intention on this.&amp;nbsp; &lt;/p&gt; &lt;p&gt;Originally, when Vista was to embed SQL within the WinFS file system, these "virtual folders" were to function more transparently as folders, as you expect.&lt;/p&gt; &lt;p&gt;When WinFS was dropped, functionalities of "virtual folders" were scaled&amp;nbsp; back - I'd thought they had been dropped alltogether.&lt;/p&gt; &lt;p&gt;Just as web mania drove MS to embed IE4 in Win98, with "View As Web Page" on your local file system, so search mania has driven MS to embed search into Vista.&amp;nbsp; &lt;/p&gt; &lt;p&gt;Just as there were safety downsides to blurring the edge between Internet and local PC (as well as HTML-everywhere also dropping scriptability everywhere), so may there be safety downsides to searching for rather than specifying the files etc. you "open".&lt;/p&gt; &lt;p&gt;&amp;gt;Why can't it be 'invisible' to all existing applications whether or not a &lt;br&gt;&amp;gt;folder is real or 'virtual' (ie., a saved search)?&lt;/p&gt; &lt;p&gt;The original intention of file names was to ensure that every file was uniquely named.&amp;nbsp; When this hit scalability issues, the concept of directories and paths was added.&lt;/p&gt; &lt;p&gt;The need to uniquely identify files is as strong as ever, in an age of pervasive malware, phishing, etc. but is also necessary to avoid "version soup" problems, reversion to pre-patch code, and confusion between old and new versions of data files that may be scattered across "live", backup, and off-PC storage locations.&lt;/p&gt; &lt;p&gt;When you throw away that specificity and just "search" for things, you need to be very sure about what you are looking at.&amp;nbsp; Not easy, through a shell that hides file name extensions, allows dangerous file types to define their own icons, etc.&lt;/p&gt; &lt;p&gt;So yes; I *definately* want it to be very obvious as to whether I am looking at a directory, or some virtual collection of found items.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;&lt;a title="List all Public Conversations (by label)" href="http://cquirke.blogspot.com/search/label/Public%20Conversations"&gt;Public Conversations&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11573761-3323608029438586471?l=cquirke.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cquirke.blogspot.com/feeds/3323608029438586471/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11573761&amp;postID=3323608029438586471' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11573761/posts/default/3323608029438586471'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11573761/posts/default/3323608029438586471'/><link rel='alternate' type='text/html' href='http://cquirke.blogspot.com/2007/08/seek-and-ye-shall-find-what.html' title='Seek, And Ye Shall Find... What?'/><author><name>Chris Quirke</name><uri>http://www.blogger.com/profile/05538828571660803875</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://cquirke.mvps.org/images/cqhead.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11573761.post-273670134973149226</id><published>2007-08-02T04:00:00.001-07:00</published><updated>2007-08-02T04:00:15.679-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Public Conversations'/><title type='text'>When ChkDsk Doesn't</title><content type='html'>&lt;div class="wlWriterSmartContent" id="0767317B-992E-4b12-91E0-4F059A8CECA8:d439ef4f-9a19-4120-93a9-5f3cc422be80" contenteditable="false" style="padding-right: 0px; display: inline; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;Technorati tags: &lt;a href="http://technorati.com/tags/ChdDsk" rel="tag"&gt;ChdDsk&lt;/a&gt;, &lt;a href="http://technorati.com/tags/file%20system" rel="tag"&gt;file system&lt;/a&gt;, &lt;a href="http://technorati.com/tags/data%20recovery" rel="tag"&gt;data recovery&lt;/a&gt;&lt;/div&gt; &lt;p&gt;Subject: Re: Unable to run CHKDSK with "Fix" option&lt;/p&gt; &lt;p&gt;On Wed, 25 Jul 2007 17:46:03 -0700, Paulie &lt;/p&gt; &lt;p&gt;I think it is beyond time that we had a proper interactive file system maintenance tool for NTFS.&amp;nbsp; ChkDsk is a relic from the MS-DOS 5 days; I wish NT would at least catch up to, say, MS-DOS 6 Scandisk.&lt;/p&gt; &lt;p&gt;Now folks will flame me for saying that.&amp;nbsp; "File systems are too complex for users to understand, just trust us to fix everything for you".&amp;nbsp; Fine; let's read on and see how well that works...&lt;/p&gt; &lt;p&gt;&amp;gt;My new Notebook is unable to run a CHKDSK with the Fix option selected.&lt;br&gt;&amp;gt;I can run a normal CHKDSK within VISTA and it works without a problem.&lt;br&gt;&amp;gt;If I choose the Fix option it schedules a scan on the next boot. Upon &lt;br&gt;&amp;gt;rebooting,&lt;br&gt;&amp;gt;CHKDSK will begin but it will freeze after 8% of the scan. The&lt;br&gt;&amp;gt;Notebook does not respond and I have to power it down and restart. &lt;/p&gt; &lt;p&gt;Great, so now we combine a possibly corrupted file system in need of repair, with recurrent bad exits.&amp;nbsp; What's wrong with this picture?&lt;/p&gt; &lt;p&gt;&amp;gt;Any idea what this may be? &lt;/p&gt; &lt;p&gt;Given that ChkDsk and AutoChk are closed boxes with little or no documentation of what they are doing (and little or no feedback to you while they are doing it), one can only guess.&lt;/p&gt; &lt;p&gt;My guesses would be one of:&lt;/p&gt; &lt;p&gt;1)&amp;nbsp; Physically failing HD&lt;/p&gt; &lt;p&gt;When a sector can't be read, the HD will retry the operation a number of times before giving up.&amp;nbsp; Whatever driver code that calls the operation will probably also retry a few times, before giving up, and so may the higher-level code that called that, etc.&amp;nbsp; &lt;/p&gt; &lt;p&gt;The result can be an apparent "hang" lasting seconds to minutes while the system beats the dying disk to death.&lt;/p&gt; &lt;p&gt;That's before you factor in futile attepts to paper over the problem and pretend it isn't there, both by the HD itself, and by the NTFS code.&amp;nbsp; Each will attempt to read the sick allocation unit's data and write it to a "good" replacement, then switch usage so that the dead sector is avoided in future.&amp;nbsp; And so on, for next dead sector, etc.&lt;/p&gt; &lt;p&gt;2)&amp;nbsp; Lengthy repair process&lt;/p&gt; &lt;p&gt;Scandisk and ChkDsk have no "big picture" awareness.&amp;nbsp; If they were you, walking from A to B, they would take a step, calculate if they were at B, then take another, and repeat.&amp;nbsp; If they were walking in the wrong direction, away from B, they'd just keep on walking forever.&lt;/p&gt; &lt;p&gt;So when something happens that invalidates huge chunks of the file system, these tools don't see the "big picture" and STOP and say "hey, something is invalidating the way this file system is viewed".&amp;nbsp; No; they look at one atom of the file system, change it to fit the current view, and repeat for the next.&amp;nbsp; If that means changing evey atom in the file system, that is what they will do.&amp;nbsp; Result; garbage.&lt;/p&gt; &lt;p&gt;3)&amp;nbsp; Bugginess&lt;/p&gt; &lt;p&gt;Whereas (2) is a bad design working as designed, sometimes the code doesn't work as designed and falls off the edge.&lt;/p&gt; &lt;p&gt;Needless to say, AutoChk and ChkDsk don't maintain any undoability. They also "know better than you", so they don't stop and ask you before "fixing" things, they just wade in and start slashing away.&lt;/p&gt; &lt;p&gt;&amp;gt;I have run full virus scans and updates on the drive and &lt;br&gt;&amp;gt;there are no issues. Other than this the Notebook runs fine. Its just a &lt;br&gt;&amp;gt;strange issue that i am unable to fix at this stage.&lt;/p&gt; &lt;p&gt;I would at least exclude (1) by checking the HD's surface using the appropriate tests in HD Tune (&lt;a href="http://www.hdtune.com"&gt;www.hdtune.com&lt;/a&gt;), after backing up my data.&amp;nbsp; You should be able to get a "second opinion" on the file system, but you can't; ChkDsk and AutoChk are all you have.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;&lt;a title="List all Public Conversations (by label)" href="http://cquirke.blogspot.com/search/label/Public%20Conversations"&gt;Public Conversations&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11573761-273670134973149226?l=cquirke.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cquirke.blogspot.com/feeds/273670134973149226/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11573761&amp;postID=273670134973149226' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11573761/posts/default/273670134973149226'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11573761/posts/default/273670134973149226'/><link rel='alternate' type='text/html' href='http://cquirke.blogspot.com/2007/08/when-chkdsk-doesn.html' title='When ChkDsk Doesn&amp;#39;t'/><author><name>Chris Quirke</name><uri>http://www.blogger.com/profile/05538828571660803875</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://cquirke.mvps.org/images/cqhead.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11573761.post-6261552327595736977</id><published>2007-08-02T02:00:00.001-07:00</published><updated>2007-08-02T02:00:18.208-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Polls and Results'/><title type='text'>Malware Poll Results</title><content type='html'>&lt;p&gt; &lt;div class="wlWriterSmartContent" id="0767317B-992E-4b12-91E0-4F059A8CECA8:e844921e-ebb7-4c8b-a554-fe8d77e39531" contenteditable="false" style="padding-right: 0px; display: inline; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;Technorati tags: &lt;a href="http://technorati.com/tags/Poll%20results" rel="tag"&gt;Poll results&lt;/a&gt;&lt;/div&gt;&lt;/p&gt; &lt;p&gt;I played with Blogger's "poll" feature, asking whether malware was or was not reader's biggest PC headache.&amp;nbsp; The results:&lt;/p&gt; &lt;ul&gt; &lt;li&gt;16% - Malware is my biggest PC headache&lt;/li&gt; &lt;li&gt;66% - Malware is not my biggest PC headache&lt;/li&gt; &lt;li&gt;0% - I'm OK, I use Linux / BSD / other&lt;/li&gt; &lt;li&gt;16% - I'm OK, I use a Mac&lt;/li&gt; &lt;li&gt;0% - I'm not on Windows, but malware is still a worry&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;That's on a tiny sample size of 12 respondents&amp;nbsp; :-)&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11573761-6261552327595736977?l=cquirke.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cquirke.blogspot.com/feeds/6261552327595736977/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11573761&amp;postID=6261552327595736977' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11573761/posts/default/6261552327595736977'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11573761/posts/default/6261552327595736977'/><link rel='alternate' type='text/html' href='http://cquirke.blogspot.com/2007/08/malware-poll-results.html' title='Malware Poll Results'/><author><name>Chris Quirke</name><uri>http://www.blogger.com/profile/05538828571660803875</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://cquirke.mvps.org/images/cqhead.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11573761.post-3776551043539874775</id><published>2007-08-02T01:54:00.001-07:00</published><updated>2007-08-02T01:54:24.083-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Blogging'/><title type='text'>Public Conversations</title><content type='html'>&lt;p&gt; &lt;div class="wlWriterSmartContent" id="0767317B-992E-4b12-91E0-4F059A8CECA8:673ddfe3-9412-49e9-bf5c-6d90fc973da2" contenteditable="false" style="padding-right: 0px; display: inline; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;Technorati tags: &lt;a href="http://technorati.com/tags/Blogging" rel="tag"&gt;Blogging&lt;/a&gt;&lt;/div&gt;&lt;/p&gt; &lt;p&gt;A lot of what I write is posts in transient newsgroups and forums, and although I resolved to write things "properly" in &lt;a title="My first web site, on Win9x" href="http://cquirke.mvps.org/9x"&gt;web&lt;/a&gt; &lt;a title="My second web site, in the XP era" href="http://cquirke.mvps.org"&gt;pages&lt;/a&gt; and then &lt;a title="My other &amp;quot;Vista Curve&amp;quot; blog" href="http://cquirke.spaces.live.com"&gt;blogs&lt;/a&gt;, I tend not to do this.&amp;nbsp; I find it far easier to respond to another entity than write "cold" for a generalized audience.&lt;/p&gt; &lt;p&gt;As mentioned, I'm &lt;a title="View Blog As Web Page" href="http://cquirke.spaces.live.com/blog/cns!C7DAB1E724AB8C23!346.entry"&gt;blending&lt;/a&gt; blogging with formal web site navigation using whatever tools come to hand.&amp;nbsp; I'll use Blogger's labels as&amp;nbsp;category selectors so that this blog can function as a set of unrelated blogs.&amp;nbsp; These "virtual" blogs may include:&lt;/p&gt; &lt;ul&gt; &lt;li&gt;Public Conversations&lt;/li&gt; &lt;li&gt;The Waking Hour&lt;/li&gt; &lt;li&gt;Maintenance OS&lt;/li&gt; &lt;li&gt;Safety and Security&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;The first of these is &lt;a title="This blog, selected as Public Conversations" href="http://cquirke.blogspot.com/search/label/Public%20Conversations"&gt;Public Conversations&lt;/a&gt;, where I will simply paste what I see as interesting posts that are already public, edited only to allow natural line lengths and to break visible email addresses.&lt;/p&gt; &lt;p&gt;Over at my &lt;a title="My Vista Curve blog" href="http://cquirke.spaces.live.com/default.aspx"&gt;other blog&lt;/a&gt;, I've added a few new &lt;a title="Vista Curve blog photo galleries" href="http://cquirke.spaces.live.com/photos/"&gt;photo galleries&lt;/a&gt;, using "comments" to use these as pictorial articles rather than just a&amp;nbsp; bunch of loose photos.&amp;nbsp; So far, these include:&lt;/p&gt; &lt;ul&gt; &lt;li&gt;&lt;a title="A 2005 walk-through of a typical &amp;quot;sick PC&amp;quot; maintenance session" href="http://cquirke.spaces.live.com/photos/cns!C7DAB1E724AB8C23!197/"&gt;Using Bart as a mOS&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a title="A collection of photos of biosphere critters" href="http://cquirke.spaces.live.com/photos/cns!C7DAB1E724AB8C23!368/"&gt;Bugs (biological)&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a title="Hardware mishaps" href="http://cquirke.spaces.live.com/photos/cns!C7DAB1E724AB8C23!137/"&gt;Bugs (hardware)&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a title="A gallery of software oddness and bugs" href="http://cquirke.spaces.live.com/photos/cns!C7DAB1E724AB8C23!526/"&gt;Bugs (software)&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a title="UI bad practice abounds; here are a few mugshots" href="http://cquirke.spaces.live.com/photos/cns!C7DAB1E724AB8C23!526/"&gt;Hall of Shame&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a title="Bad capacitors are a common source of component failure" href="http://cquirke.spaces.live.com/photos/cns!C7DAB1E724AB8C23!176/"&gt;Bad Capacitors&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;Both Blogger and Live Spaces have their strengths and weaknesses, so I'll probably continue adding new content to both.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11573761-3776551043539874775?l=cquirke.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cquirke.blogspot.com/feeds/3776551043539874775/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11573761&amp;postID=3776551043539874775' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11573761/posts/default/3776551043539874775'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11573761/posts/default/3776551043539874775'/><link rel='alternate' type='text/html' href='http://cquirke.blogspot.com/2007/08/public-conversations.html' title='Public Conversations'/><author><name>Chris Quirke</name><uri>http://www.blogger.com/profile/05538828571660803875</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://cquirke.mvps.org/images/cqhead.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11573761.post-3557011287627993253</id><published>2007-08-02T00:43:00.001-07:00</published><updated>2007-08-02T00:59:27.635-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Public Conversations'/><title type='text'>Ship Now, Patch Later</title><content type='html'>&lt;div class="wlWriterSmartContent" id="0767317B-992E-4b12-91E0-4F059A8CECA8:b7717097-6378-4d3c-b977-f3b9fde8f675" contenteditable="false" style="padding-right: 0px; display: inline; padding-left: 0px; float: none; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;Technorati tags: &lt;a href="http://technorati.com/tags/Safety" rel="tag"&gt;Safety&lt;/a&gt;, &lt;a href="http://technorati.com/tags/security" rel="tag"&gt;security&lt;/a&gt;&lt;/div&gt; &lt;p&gt;Subject: Re: It would be nice if MS could settingle on a single subnet for updates&lt;/p&gt; &lt;p&gt;On Fri, 27 Jul 2007 15:13:52 +0100, "Mike Brannigan" &lt;br&gt;&amp;gt;"Leythos" &amp;lt;&lt;a href="mailto:void@nowhere.lan"&gt;void@nowhere.lan&lt;/a&gt;&amp;gt; wrote in message &lt;br&gt;&amp;gt;&amp;gt; &lt;a href="mailto:Mike.Brannigan@localhost"&gt;Mike.Brannigan@localhost&lt;/a&gt; says...&lt;/p&gt; &lt;p&gt;This thread is about the collision between...&lt;/p&gt; &lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; No automatic code base changes allowed&lt;/p&gt; &lt;p&gt;...and...&lt;/p&gt; &lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Vendors need to push "code of the day"&lt;/p&gt; &lt;p&gt;Given the only reason we allow vendors to push "code of the day" is because their existing code fails too often for us to manage manually, one wonders if our trust in these vendors is well-placed.&lt;/p&gt; &lt;p&gt;A big part of this is knowing that only the vendor is pushing the code, and that's hard to be sure of.&amp;nbsp; If malware were to hijack a vendor's update pipe, it could blow black code into the core of systems, right pas all those system's defenses.&lt;/p&gt; &lt;p&gt;With that in mind, I've switched from wishing MS would use open standards for patch transmission to being grateful for whatever they can do to harden the process.&amp;nbsp; I'd still rather not have to leave myself open to injections of "code of the day", though.&lt;/p&gt; &lt;p&gt;&amp;gt;NO never ever ever in a production corporate environment do you allow ANY of &lt;br&gt;&amp;gt;your workstations and servers to directly access anyone for patches &lt;br&gt;&amp;gt;I have never allowed this or even seen it in real large or enterprise &lt;br&gt;&amp;gt;customers. (the only place it may crop up is in mom and pop&amp;nbsp; &lt;br&gt;&amp;gt;10 PCs and a Server shops).&lt;/p&gt; &lt;p&gt;And there's the problem.&amp;nbsp; MS concentrates on scaling up to enterprise needs, where the enterprise should consolodate patches in one location and then drive these into systems under their own in-house control. &lt;/p&gt; &lt;p&gt;So scaling up is well catered for.&lt;/p&gt; &lt;p&gt;But what about scaling down?&amp;nbsp; &lt;/p&gt; &lt;p&gt;Do "mom and pop" folks not deserve safety?&amp;nbsp; How about single-PC users which have everything they own tied up in that one vulnerable box?&amp;nbsp; What's best-practice for them - "trust me, I'm a software vendor"?&lt;/p&gt; &lt;p&gt;How about scaling outwards?&amp;nbsp; &lt;/p&gt; &lt;p&gt;When every single vendor wants to be able to push "updates" into your PC, even for things as trivial as prinyers and mouse drivers, how do you manage these?&amp;nbsp; How do you manage 50 different ad-hoc update delivery systems, some from vendors who are not much beyond "Mom and Pop" status themselves?&amp;nbsp; Do we let Zango etc. "update" themselves?&lt;/p&gt; &lt;p&gt;The bottom line: "Ship now, patch later" is an unworkable model.&lt;/p&gt; &lt;p&gt;&amp;gt;As you said your only problem is with Microsoft then the solution I have &lt;br&gt;&amp;gt;outlined above is the fix - only one server needs access through your &lt;br&gt;&amp;gt;draconian firewall policies.&amp;nbsp; And you get a real secure enterprise patch &lt;br&gt;&amp;gt;management solution that significantly lowers the risk to your environment. &lt;/p&gt; &lt;p&gt;That's prolly the best solution, for those with the resources to manage it.&amp;nbsp; It does create a lock-in advantage for MS, but at least it is one that is value-based (i.e. the positive value of a well-developed enterprise-ready management system).&lt;/p&gt; &lt;p&gt;However, I have to wonder how effective in-house patch evaluation really is, especially if it is to keep up with tight time-to-exploit cycles.&amp;nbsp; It may be the closed-source equivalent of the open source boast that "our code is validated by a thousand reviewers"; looks good on paper, but is it really effective in practice?&lt;/p&gt; &lt;p&gt;&lt;strong&gt;&lt;a title="List all Public Conversations (by label)" href="http://cquirke.blogspot.com/search/label/Public%20Conversations"&gt;Public Conversations&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11573761-3557011287627993253?l=cquirke.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cquirke.blogspot.com/feeds/3557011287627993253/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11573761&amp;postID=3557011287627993253' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11573761/posts/default/3557011287627993253'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11573761/posts/default/3557011287627993253'/><link rel='alternate' type='text/html' href='http://cquirke.blogspot.com/2007/08/ship-now-patch-later.html' title='Ship Now, Patch Later'/><author><name>Chris Quirke</name><uri>http://www.blogger.com/profile/05538828571660803875</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://cquirke.mvps.org/images/cqhead.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11573761.post-5350097215823601259</id><published>2007-07-31T04:41:00.001-07:00</published><updated>2007-07-31T04:41:41.406-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Malware'/><category scheme='http://www.blogger.com/atom/ns#' term='Blogging'/><category scheme='http://www.blogger.com/atom/ns#' term='Safety'/><title type='text'>Good Things Here...</title><content type='html'>&lt;div class="wlWriterSmartContent" id="0767317B-992E-4b12-91E0-4F059A8CECA8:f96a72dc-d289-4b19-87c6-ee5a22fbea7c" contenteditable="false" style="padding-right: 0px; display: inline; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;Technorati tags: &lt;a href="http://technorati.com/tags/Malware" rel="tag"&gt;Malware&lt;/a&gt;, &lt;a href="http://technorati.com/tags/maintenance%20OS" rel="tag"&gt;maintenance OS&lt;/a&gt;&lt;/div&gt; &lt;p&gt;Some folks get it...&lt;/p&gt; &lt;p&gt;&lt;a href="http://blogs.technet.com/secguide/archive/2007/07/12/malware-removal-starter-kit.aspx"&gt;http://blogs.technet.com/secguide/archive/2007/07/12/malware-removal-starter-kit.aspx&lt;/a&gt;&lt;/p&gt; &lt;blockquote&gt; &lt;p&gt;Using the Windows Preinstallation Environment (Windows PE) in combination with free anti-malware programs, the kit provides you with a low-cost, effective strategy and tool recommendations that you can use to vanquish malware attacks&lt;/p&gt;&lt;/blockquote&gt; &lt;p&gt;...while some folks don't:&lt;/p&gt; &lt;p&gt;&lt;a href="http://blogs.msdn.com/rflaming/archive/2006/09/20/763960.aspx"&gt;http://blogs.msdn.com/rflaming/archive/2006/09/20/763960.aspx&lt;/a&gt;&lt;/p&gt; &lt;blockquote&gt; &lt;p&gt;From a security perspective, when you get owned running under a Machine-wide account, game is over and you have to flatten the machine to get back to a secure state.&amp;nbsp;&lt;/p&gt;&lt;/blockquote&gt; &lt;p&gt;By "it", I mean the defense-in-depth concept that the battle doesn't end when malware gets into your PC.&amp;nbsp; Machines get "owned" all the time; the majority of spam is carried by botnets running on such systems, and surveys have indicated a high percentage of PCs are running malware.&amp;nbsp; &lt;/p&gt; &lt;p&gt;If the only option for such systems is to "just" flatten and rebuild, many consumers will simply shrug and prefer to stay infected.&amp;nbsp; After all, they tolerate rootkits dropped from audio CDs, DoS (activation) payloads built into their OS, adverts from all over the place, etc. so why should they mind if a smidgen of bandwidth is used to DDoS unpopular entities such as the RIAA, or send out the same spam they get every day, either way?&lt;/p&gt; &lt;p&gt;The problem with "just wipe and rebuild" is not&amp;nbsp;the pessimism that a cleaned PC will really be clean, but the optimism that a rebuilt PC will stay clean.&amp;nbsp; In reality, both approaches are complex battles that may be lost.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Security Guides Blog&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;The &lt;strong&gt;first link&lt;/strong&gt; is from &lt;a title="Solution Accelerators - Security &amp;amp; Compliance" href="http://blogs.technet.com/secguide/"&gt;SecGuide&lt;/a&gt;, who may be the first Microsoft team to offer end users the tools they need to formally manage malware on infected PCs.&amp;nbsp; They may not be as far down that road as some &lt;a title="Bart PE Builder site" href="http://cquirke.spaces.live.com/photos/cns!C7DAB1E724AB8C23!197/"&gt;Bart&lt;/a&gt;-based solutions, of which an example is shown in &lt;a title="Using Bart CDR to maintain a &amp;quot;sick PC&amp;quot;" href="http://cquirke.spaces.live.com/photos/cns!C7DAB1E724AB8C23!197/"&gt;this slide show&lt;/a&gt;, but in-house Bart projects are usually too complex to be offered as an off-the-peg solution for end users to download and use.&lt;/p&gt; &lt;p&gt;The SecGuide approach is based on &lt;a title="WinPE 2.0 Overview" href="http://technet.microsoft.com/en-us/windowsvista/aa905120.aspx"&gt;WinPE 2.0&lt;/a&gt;, which is now available for end users via the &lt;a title="Windows Automated Installation Kit download site" href="http://www.microsoft.com/downloads/details.aspx?familyid=C7D4BC6D-15F3-4284-9123-679830D629F2&amp;amp;displaylang=en"&gt;WAIK&lt;/a&gt;.&amp;nbsp; The process of integrating tools into WinPE, and building a WinPE boot disk, is pretty daunting, so I was wondering if combining David Lipman's Multi-AV tool with Bart PE would be easier?&lt;/p&gt; &lt;p&gt;In the big picture, we need to market the clean state against the accepted state of living with resident malware.&amp;nbsp; A non-destructive cleaning approach is a key element, and it's good to see parts of Microsoft getting this.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Windows Installer&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;The &lt;strong&gt;second link&lt;/strong&gt; is from &lt;a title="Setup Sense and Sensibility; insights on Vista's Windows Installer" href="http://blogs.msdn.com/rflaming/archive/tags/UAC+in+MSI/default.aspx"&gt;Setup Sense and Sensibility&lt;/a&gt;, which is a fascinating insight into the Windows Installer and how this has developed in Vista in particular.&amp;nbsp; The perspective appears to be 100% rooted in the concerns of corporate networking, and centered on per-user permissions and control.&lt;/p&gt; &lt;p&gt;The trouble is, this approach just doesn't fit the outside world of free users and the one or few PCs they use.&amp;nbsp; There's no "admin" to "do things for" the user; no tight white-list of permitted applications, and the user should have full and unfettered control over the PC.&amp;nbsp; A single PC may represent the user's entire infrastructure, so there's no "easy way out" of wiping and rebuilding desktop systems while data is safe on the server.&amp;nbsp; &lt;/p&gt; &lt;p&gt;Moreover, the same user will do multiple different things in the same logon session that should have differentiated rights.&amp;nbsp; Simply giving all processes the same rights just because they occur in the same logon session is next to useless, as even the most limited user account rights will allow the user's data to be edited, overwritten or trashed.&lt;/p&gt; &lt;p&gt;I've covered aspects of this issue many times, such as the adverse effect of &lt;a title="Use Hard Scopes as Natural Cover" href="http://cquirke.blogspot.com/2005/04/use-hard-scopes-as-natural-cover.html"&gt;flattening natural obstacles&lt;/a&gt; and the &lt;a title="LUA and the One-Hand Rule" href="http://cquirke.blogspot.com/2005/04/use-hard-scopes-as-natural-cover.html"&gt;janitor account&lt;/a&gt; concept.&amp;nbsp; UAC is a step in the right direction, as for the first time it leverages the user's control over automated processes - the reason it is so "ugly" is because it is so at odds with the assumptions underlying NT's development, i.e. that automation would always be done by "proper" entities and that the user should be swept aside to facilitate such automation.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11573761-5350097215823601259?l=cquirke.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cquirke.blogspot.com/feeds/5350097215823601259/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11573761&amp;postID=5350097215823601259' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11573761/posts/default/5350097215823601259'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11573761/posts/default/5350097215823601259'/><link rel='alternate' type='text/html' href='http://cquirke.blogspot.com/2007/07/good-things-here.html' title='Good Things Here...'/><author><name>Chris Quirke</name><uri>http://www.blogger.com/profile/05538828571660803875</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://cquirke.mvps.org/images/cqhead.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11573761.post-7175497308603514230</id><published>2007-07-31T03:31:00.001-07:00</published><updated>2007-07-31T03:31:21.594-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Blogging'/><title type='text'>Timeless Blogging</title><content type='html'>&lt;p&gt; &lt;div class="wlWriterSmartContent" id="0767317B-992E-4b12-91E0-4F059A8CECA8:1788e314-e541-4a5a-a9f1-58485b87a443" contenteditable="false" style="padding-right: 0px; display: inline; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;Technorati tags: &lt;a href="http://technorati.com/tags/Blogging" rel="tag"&gt;Blogging&lt;/a&gt;&lt;/div&gt;&lt;/p&gt; &lt;p&gt;Can you have your blog and web it too?&amp;nbsp; I'd say so, and am doing that - blogging so that content is navigable in ways more like a web site, as described &lt;a title="View Blog As Web Page" href="http://cquirke.spaces.live.com/blog/cns!C7DAB1E724AB8C23!346.entry"&gt;here&lt;/a&gt;.&amp;nbsp; My tactics are:&lt;/p&gt; &lt;ul&gt; &lt;li&gt;Lists as the "top level"&lt;/li&gt; &lt;li&gt;Permalinks, labels and tags&lt;/li&gt; &lt;li&gt;Hover-tips to explain link destinations&lt;/li&gt; &lt;li&gt;Closure via post-terminating "home" links&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;Blogging is still dominated by the timeline concept, and this is particularly ironic when a post solicits feedback, only to tell you that "new comments are disabled", as in &lt;a title="We Wanted Your Feedback, But You're Too Late Now" href="http://blogs.technet.com/secguide/archive/2007/04/03/we-d-like-your-feedback.aspx#comments"&gt;this&lt;/a&gt; case.&amp;nbsp; Bah!&amp;nbsp; So I'll feedback here...&lt;/p&gt; &lt;p&gt;Yes, I'd love to see the &lt;a title="Solution Accelerators - Security &amp;amp; Compliance" href="http://blogs.technet.com/secguide/"&gt;SecGuide&lt;/a&gt; blog post discussion topics for feedback, as well as their usual announcement posts.&amp;nbsp; They can use tags to separate such traffic for those who only want to read announcements, vs. those who want to contribute to discussions, and still have a mix of both for the rest of us interested in both types of posts.&lt;/p&gt; &lt;p&gt;I plan to do something similar on my &lt;a title="My other &amp;quot;Vista Curve&amp;quot; blog" href="http://cquirke.spaces.live.com/"&gt;blog&lt;/a&gt;s, so that in effect each blog can function as multiple sites.&amp;nbsp; Blog-based discussions may be more survivable and discoverable than web or news forums, as the blog (or web site) provides a &lt;a title="See &amp;quot;Killer App Opportunity&amp;quot; in this post" href="http://cquirke.spaces.live.com/blog/cns!C7DAB1E724AB8C23!156.entry"&gt;persistent navigation tree&lt;/a&gt; to reach this material.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11573761-7175497308603514230?l=cquirke.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cquirke.blogspot.com/feeds/7175497308603514230/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11573761&amp;postID=7175497308603514230' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11573761/posts/default/7175497308603514230'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11573761/posts/default/7175497308603514230'/><link rel='alternate' type='text/html' href='http://cquirke.blogspot.com/2007/07/timeless-blogging.html' title='Timeless Blogging'/><author><name>Chris Quirke</name><uri>http://www.blogger.com/profile/05538828571660803875</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://cquirke.mvps.org/images/cqhead.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11573761.post-6155000325343423362</id><published>2007-07-19T05:54:00.001-07:00</published><updated>2007-07-19T05:54:14.906-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Meta-bug'/><category scheme='http://www.blogger.com/atom/ns#' term='Bug'/><title type='text'>Meta-Bug: UI Refresh That Doesn't</title><content type='html'>&lt;p&gt; &lt;div class="wlWriterSmartContent" id="0767317B-992E-4b12-91E0-4F059A8CECA8:ee42c6b7-c95b-4ac3-a498-21fa84a2b528" contenteditable="false" style="padding-right: 0px; display: inline; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;Technorati tags: &lt;a href="http://technorati.com/tags/Bug" rel="tag"&gt;Bug&lt;/a&gt;, &lt;a href="http://technorati.com/tags/Meta-bug" rel="tag"&gt;Meta-bug&lt;/a&gt;&lt;/div&gt;&lt;/p&gt; &lt;p&gt;If you can read this post, you're lucky, because I think I've just edited this blog's framework into the ground!&lt;/p&gt; &lt;p&gt;The case was a meta-bug (i.e. a conceptual bug that underlies other bugs).&amp;nbsp; I was trying to add a poll to the blog, which was rejected due to some date format thing.&amp;nbsp; So; is "07/07/19" yy/mm/dd or mm/yy/dd?&amp;nbsp; Do my preferences for dd/mm/yy(yy) have any bearing on what the error report shows?&amp;nbsp; None of that is the bug, by the way; just bad error message design -&amp;nbsp;in fact, it may be that the new Poll thing is just plain broken.&lt;/p&gt; &lt;p&gt;Here's the bug: If I try a different date that is also "wrong", will I be able to visually tell the difference between nothing happening when I click Save, and getting the exact same error message invisibly "refreshed" over the old one?&amp;nbsp; What happens if I ASSume that "nothing happened" and I machine-gun the dumb-ass Save button 100 times out of frustration?&lt;/p&gt; &lt;p&gt;Er... I wish the last question was rhetorical, heh.&amp;nbsp; I've just closed the browser window that has been "Saving..." my blog for the last unfeasibly large number of minutes.&lt;/p&gt; &lt;p&gt;So if you're looking at a blog layout that is currently less than fully-assed, with a dead poll that was "fished" before it was born, then you know why.&lt;/p&gt; &lt;p&gt;Bah!&amp;nbsp; User failure strikes again...&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11573761-6155000325343423362?l=cquirke.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cquirke.blogspot.com/feeds/6155000325343423362/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11573761&amp;postID=6155000325343423362' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11573761/posts/default/6155000325343423362'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11573761/posts/default/6155000325343423362'/><link rel='alternate' type='text/html' href='http://cquirke.blogspot.com/2007/07/meta-bug-ui-refresh-that-doesn.html' title='Meta-Bug: UI Refresh That Doesn&amp;#39;t'/><author><name>Chris Quirke</name><uri>http://www.blogger.com/profile/05538828571660803875</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://cquirke.mvps.org/images/cqhead.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11573761.post-7585312060953476093</id><published>2007-07-19T02:09:00.001-07:00</published><updated>2007-07-19T02:09:45.997-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Malware'/><category scheme='http://www.blogger.com/atom/ns#' term='Safety'/><title type='text'>Malware - Is That All You Ever Think About?</title><content type='html'>&lt;p&gt; &lt;div class="wlWriterSmartContent" id="0767317B-992E-4b12-91E0-4F059A8CECA8:754bf595-2aca-4425-8a51-b52bd178675d" contenteditable="false" style="padding-right: 0px; display: inline; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;Technorati tags: &lt;a href="http://technorati.com/tags/Malware" rel="tag"&gt;Malware&lt;/a&gt;&lt;/div&gt;&lt;/p&gt; &lt;p&gt;Folks could be forgiven for asking:&lt;/p&gt; &lt;blockquote&gt; &lt;p&gt;Why do you care&lt;br&gt;About malware?&lt;/p&gt;&lt;/blockquote&gt; &lt;p&gt;Malware is the bulk of a larger problem which is vendor-pushed code.&amp;nbsp; Nothing can overwhelm support resources as widespread automatic insertion of bad code can do.&lt;/p&gt; &lt;p&gt;For in-house system administrators, it's a major headache, but for a tech servicing multiple single-PC sites, it can be a disaster.&amp;nbsp; If you offer an SLA (Service Level Agreement) that is insufficiently escaped by weasel-wording and disclaimers, then one big outbreak can put you out of business... how do you "resolve within 48 hours" when you have 100 sites per tech needing urgent attention within the same hour?&lt;/p&gt; &lt;p&gt;So yes; just as someone interested in completing university studies may switch to soldiery as&amp;nbsp;driven by self-preservation&amp;nbsp;demands, so I have an interest in malware.&amp;nbsp; And just as a soldier has an interested in keeping his weapons in working order, I have an interest in maintenance OSs such as &lt;a title="Bart PE Builder site" href="http://www.nu2.nu/pebuilder/"&gt;Bart&lt;/a&gt; and &lt;a title="Windows PE 2.0 overview" href="http://technet.microsoft.com/en-us/windowsvista/aa905120.aspx"&gt;WinPE 2.0&lt;/a&gt;, as well as the &lt;a title="Item #1 in this list..." href="http://cquirke.spaces.live.com/blog/cns!C7DAB1E724AB8C23!187.entry?_c=BlogPart"&gt;politics&lt;/a&gt; that keep these tools out of the hands of those who need them most.&lt;/p&gt; &lt;p&gt;Sharp readers will have noticed my definition of the "larger problem" encompasses automatic OS and antivirus updates, various ad-hoc "update" facilities built into arbitrary programs, Google's "update everything" tool, and codecs "needed" to play arbitrary content.&amp;nbsp; &lt;/p&gt; &lt;p&gt;All of these break best-practice rules on code changes:&lt;/p&gt; &lt;ul&gt; &lt;li&gt;Do not allow others to change your code&lt;/li&gt; &lt;li&gt;Log all code changes&lt;/li&gt; &lt;li&gt;Ensure all changes are reversible&lt;/li&gt; &lt;li&gt;Ensure changes do not "kick away the ladder"&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;In essence, the logic behind "code of the day" is broken:&lt;/p&gt; &lt;ul&gt; &lt;li&gt;When our code breaks, it can't be trusted&lt;/li&gt; &lt;li&gt;This happens too often to manage manually&lt;/li&gt; &lt;li&gt;So trust us to push more code whenever we see fit&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;Does not compute.&amp;nbsp; Yes, I see the need to patch OS and exposed surfaces as soon as possible, but I also see the need to reduce exposed surfaces made of code that is not trivial enough to be relied on as defect-free.&lt;/p&gt; &lt;p&gt;And no, I don't recommend Google's "update everything" tool.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11573761-7585312060953476093?l=cquirke.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cquirke.blogspot.com/feeds/7585312060953476093/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11573761&amp;postID=7585312060953476093' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11573761/posts/default/7585312060953476093'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11573761/posts/default/7585312060953476093'/><link rel='alternate' type='text/html' href='http://cquirke.blogspot.com/2007/07/malware-is-that-all-you-ever-think.html' title='Malware - Is That All You Ever Think About?'/><author><name>Chris Quirke</name><uri>http://www.blogger.com/profile/05538828571660803875</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://cquirke.mvps.org/images/cqhead.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11573761.post-7830903589541067231</id><published>2007-07-16T09:33:00.001-07:00</published><updated>2007-07-16T09:33:45.072-07:00</updated><title type='text'>New Content From Here</title><content type='html'>&lt;p&gt;I've just completed a &lt;a title="Vista Wish List, at my other blog" href="http://cquirke.spaces.live.com/blog/cns!C7DAB1E724AB8C23!336.entry"&gt;wish list&lt;/a&gt; of around 30 or so I'd like to see fixed, changed or created in Vista (and in some cases, retro-fitted to XP).&lt;/p&gt; &lt;p&gt;I also did a commented &lt;a title="Bart CDR-booted session, using an old 2005 CDR" href="http://cquirke.spaces.live.com/PersonalSpace.aspx?_c11_PhotoAlbum_spaHandler=TWljcm9zb2Z0LlNwYWNlcy5XZWIuUGFydHMuUGhvdG9BbGJ1bS5GdWxsTW9kZUNvbnRyb2xsZXI$&amp;amp;_c11_PhotoAlbum_spaFolderID=cns!C7DAB1E724AB8C23!197&amp;amp;_c=PhotoAlbum"&gt;picture show&lt;/a&gt; of a typical &lt;a title="Bart PE builder site" href="http://www.nu2.nu/pebuilder/" target="_blank"&gt;Bart&lt;/a&gt; &lt;a title="maintenance OS, Wikipedia definition" href="http://en.wikipedia.org/wiki/Maintenance_OS" target="_blank"&gt;mOS&lt;/a&gt; session, stepping though verifying each safety level before reaching for the next, as outlined in this &lt;a title="PC Crisis Management" href="http://cquirke.mvps.org/pccrisis.htm"&gt;PC Crisis&lt;/a&gt; article.&lt;/p&gt; &lt;p&gt;I've always wanted to re-use blog posts as structured web pages, so as to combine the simple creation and consistent style of a blog site with the ongoing re-usability of a formal web site.&amp;nbsp; I find I can do that on the other blog by combining the "list" feature with jump-pad blog posts full of links.&amp;nbsp; I'm used to this structure from a closed mOS wiki I did a while back.&lt;/p&gt; &lt;p&gt;What this may mean, is less (or perhaps, different) content here, with links from here to there.&amp;nbsp; I like the lack of adverts on this site, but I can't see as easy a way to get it to do what I'd like done.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11573761-7830903589541067231?l=cquirke.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cquirke.blogspot.com/feeds/7830903589541067231/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11573761&amp;postID=7830903589541067231' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11573761/posts/default/7830903589541067231'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11573761/posts/default/7830903589541067231'/><link rel='alternate' type='text/html' href='http://cquirke.blogspot.com/2007/07/new-content-from-here.html' title='New Content From Here'/><author><name>Chris Quirke</name><uri>http://www.blogger.com/profile/05538828571660803875</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://cquirke.mvps.org/images/cqhead.jpg'/></author><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11573761.post-4414460764915001324</id><published>2007-07-13T05:55:00.001-07:00</published><updated>2007-07-13T06:02:46.568-07:00</updated><title type='text'>Forthcoming Attractions</title><content type='html'>In the next week, I'll be low-profile in newsgroups (again) and doing Vista feedback and &lt;a href="http://en.wikipedia.org/wiki/Maintenance_OS"&gt;mOS&lt;/a&gt; issues that I will echo in my blogs. The mOS stuff will be here, while the Vista stuff I'll do over in the &lt;a href="http://cquirke.spaces.live.com/"&gt;Vista Curve&lt;/a&gt; blog.&lt;br /&gt;&lt;br /&gt;I expect there will be a lot of traffic, so suggest you peruse subject lines in the sidebar rather than desperately hitting the PageDown key :-)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11573761-4414460764915001324?l=cquirke.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cquirke.blogspot.com/feeds/4414460764915001324/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11573761&amp;postID=4414460764915001324' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11573761/posts/default/4414460764915001324'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11573761/posts/default/4414460764915001324'/><link rel='alternate' type='text/html' href='http://cquirke.blogspot.com/2007/07/forthcoming-attractions.html' title='Forthcoming Attractions'/><author><name>Chris Quirke</name><uri>http://www.blogger.com/profile/05538828571660803875</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://cquirke.mvps.org/images/cqhead.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11573761.post-4128525695761130992</id><published>2007-02-11T00:36:00.000-08:00</published><updated>2007-02-11T00:36:03.402-08:00</updated><title type='text'>mOS for Vista: WinPE, WinRE and Bart</title><content type='html'>With Vista, one loses some friends and gains others, with Vista-64 being particularly challenging.  You can use &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_0" onclick="BLOG_clickHandler(this)"&gt;XP&lt;/span&gt;-based &lt;a href="http://www.nu2.nu/pebuilder/"&gt;Bart&lt;/a&gt; to do many things in Vista (especially hardware diagnostics) but nothing has the ability to redirect registry access on the fly as &lt;a href="http://www.paraglidernc.com/RunScanner.html"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_1" onclick="BLOG_clickHandler(this)"&gt;RunScanner&lt;/span&gt;&lt;/a&gt; does for &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_2" onclick="BLOG_clickHandler(this)"&gt;XP&lt;/span&gt; on Bart, which is a significant limitation for Vista maintenance. &lt;br /&gt;&lt;br /&gt;The players are: &lt;br /&gt;&lt;ul&gt;&lt;li&gt;MS &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_3" onclick="BLOG_clickHandler(this)"&gt;WinPE&lt;/span&gt; 2.0 for &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_4" onclick="BLOG_clickHandler(this)"&gt;XP&lt;/span&gt;, 2003 and Vista &lt;/li&gt;&lt;li&gt;MS &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_5" onclick="BLOG_clickHandler(this)"&gt;WinRE&lt;/span&gt; for &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_6" onclick="BLOG_clickHandler(this)"&gt;XP&lt;/span&gt;, 2003 and Vista  &lt;/li&gt;&lt;li&gt;Bart PE, current &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_7" onclick="BLOG_clickHandler(this)"&gt;XP&lt;/span&gt;/2003 version  &lt;/li&gt;&lt;li&gt;Bart 4 for Vista, &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_8" onclick="BLOG_clickHandler(this)"&gt;XP&lt;/span&gt;, 2003 etc.?&lt;/li&gt;&lt;/ul&gt;Bart 4 is but a rumor at this time, and may stay that way awhile.  As MS &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_9" onclick="BLOG_clickHandler(this)"&gt;WinPE&lt;/span&gt; 2.0 is now &lt;a href="http://cquirke.spaces.live.com/blog/cns!C7DAB1E724AB8C23!169.trak"&gt;available&lt;/a&gt; to general users, and as Bart has experience with earlier MS &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_10" onclick="BLOG_clickHandler(this)"&gt;WinPE&lt;/span&gt;, he may develop a GUI front-end for that instead (I'm just guessing here, but that's what I'd do).&lt;br /&gt;&lt;br /&gt;My &lt;a href="http://cquirke.spaces.live.com/"&gt;Vista Curve&lt;/a&gt; blog will cover &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_11" onclick="BLOG_clickHandler(this)"&gt;WAIK&lt;/span&gt;, &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_12" onclick="BLOG_clickHandler(this)"&gt;WinPE&lt;/span&gt; 2.0 etc. as I grow my Vista maintenance skills.  There are also &lt;a href="http://technet2.microsoft.com/WindowsVista/en/library/1804dbae-9c34-4790-b2b0-4aca2e7bda791033.mspx?mfr=true"&gt;walk-&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_13" onclick="BLOG_clickHandler(this)"&gt;thoughs&lt;/span&gt;&lt;/a&gt; for building MS &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_14" onclick="BLOG_clickHandler(this)"&gt;WinPE&lt;/span&gt; 2.0 solutions, and blogs from the Microsoft &lt;a href="http://blogs.msdn.com/winre/default.aspx"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_15" onclick="BLOG_clickHandler(this)"&gt;WinRE&lt;/span&gt;&lt;/a&gt; and &lt;a href="http://blogs.msdn.com/winpe/"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_16" onclick="BLOG_clickHandler(this)"&gt;WinPE&lt;/span&gt;&lt;/a&gt; teams.&lt;br /&gt;&lt;br /&gt;I was going to develop MS &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_17" onclick="BLOG_clickHandler(this)"&gt;WinPE&lt;/span&gt; 2.0 as a separate &lt;a href="http://en.wikipedia.org/wiki/Maintenance_OS"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_18" onclick="BLOG_clickHandler(this)"&gt;mOS&lt;/span&gt;&lt;/a&gt; project, but a better way might be to cross-develop Bart PE to be used as an extension of the MS &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_19" onclick="BLOG_clickHandler(this)"&gt;WinPE&lt;/span&gt; environment.  This is suitable for techs with an \i386 file set, but is tricky otherwise.  On the other hand one could easily build a gutted Bart with no &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_20" onclick="BLOG_clickHandler(this)"&gt;bootability&lt;/span&gt;, no OS, and just the &lt;a href="http://www.nu2.nu/nu2menu/"&gt;nu2menu&lt;/a&gt; interface to collected tools.&lt;br /&gt;&lt;br /&gt;MS &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_21" onclick="BLOG_clickHandler(this)"&gt;WinPE&lt;/span&gt; 2.0 seems harder to build and use than Bart PE.  The Bart equivalent of those 4-page &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_22" onclick="BLOG_clickHandler(this)"&gt;walk-throughs&lt;/span&gt; is "install Bart PE builder, run it, and follow the &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_23" onclick="BLOG_clickHandler(this)"&gt;UI&lt;/span&gt; that pops up".  Once you have the skills, similar things should be possible in MS &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_24" onclick="BLOG_clickHandler(this)"&gt;WinPE&lt;/span&gt; 2.0, but those who find the Bart skills investment too high will bounce off &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_25" onclick="BLOG_clickHandler(this)"&gt;WinPE&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;MS &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_26" onclick="BLOG_clickHandler(this)"&gt;WinPE&lt;/span&gt; runs in RAM, allows the boot &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_27" onclick="BLOG_clickHandler(this)"&gt;CDR&lt;/span&gt; to be removed, and allows arbitrary &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_28" onclick="BLOG_clickHandler(this)"&gt;CDs&lt;/span&gt; and &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_29" onclick="BLOG_clickHandler(this)"&gt;USB&lt;/span&gt; sticks to be hot-swapped - so the potential is there to launch your Bart &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_30" onclick="BLOG_clickHandler(this)"&gt;CDR&lt;/span&gt; from a MS &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_31" onclick="BLOG_clickHandler(this)"&gt;WinPE&lt;/span&gt; boot via an accessible "pull tab".  On the Bart side, you'd either have a Vista-specific nu2menu, or logic within the menu and/or &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_32" onclick="BLOG_clickHandler(this)"&gt;&lt;a href="http://www.nu2.nu/pebuilder/plugins/"&gt;plugins&lt;/a&gt;&lt;/span&gt; that filters and modifies things to work (or not be offered) in Vista.&lt;br /&gt;&lt;br /&gt;My Bart project is already down this road, built for compatibility with...&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Running from output &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_33" onclick="BLOG_clickHandler(this)"&gt;subtree&lt;/span&gt; on the build PC  &lt;/li&gt;&lt;li&gt;As accessed from DOS diskette boot  &lt;/li&gt;&lt;li&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_34" onclick="BLOG_clickHandler(this)"&gt;Autorun&lt;/span&gt; from Windows 2000, &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_35" onclick="BLOG_clickHandler(this)"&gt;XP&lt;/span&gt;  &lt;/li&gt;&lt;li&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_36" onclick="BLOG_clickHandler(this)"&gt;Autorun&lt;/span&gt; from Windows 9x  &lt;/li&gt;&lt;li&gt;Booted into Bart &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_37" onclick="BLOG_clickHandler(this)"&gt;mOS&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;...so adding "run from MS &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_38" onclick="BLOG_clickHandler(this)"&gt;WinPE&lt;/span&gt; boot" is just an extra step.&lt;br /&gt;&lt;br /&gt;You can already manually run a Bart PE &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_39" onclick="BLOG_clickHandler(this)"&gt;CDR's&lt;/span&gt; menu from an MS &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_40" onclick="BLOG_clickHandler(this)"&gt;WinPE&lt;/span&gt; boot session.  Some tools don't work as needed code files or registry settings aren't present in the &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_41" onclick="BLOG_clickHandler(this)"&gt;WinPE&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_42" onclick="BLOG_clickHandler(this)"&gt;runtime&lt;/span&gt;, and that may be a ball-breaker to fix.  Some tools don't run due to permissions issues, and may run if it were possible to do the equivalent of right-click, Run as Administrator within the &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_43" onclick="BLOG_clickHandler(this)"&gt;WinPE&lt;/span&gt; environment.  Others work just fine.&lt;br /&gt;&lt;br /&gt;The &lt;a href="http://www.nu2.nu/nu2menu/"&gt;nu2menu&lt;/a&gt; system has some breakage when run from an MS &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_44" onclick="BLOG_clickHandler(this)"&gt;WinPE&lt;/span&gt; 2.0 boot.  So far, one issue I've picked up is that the very useful GUI &lt;a href="http://www.nu2.nu/nu2menu/funchlp.php#getfldrdlg"&gt;file/folder selector&lt;/a&gt; feature fails to populate the &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_45" onclick="BLOG_clickHandler(this)"&gt;namespace&lt;/span&gt; tree, so you can't use that to set Temp etc.&lt;br /&gt;&lt;br /&gt;As an MS &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_46" onclick="BLOG_clickHandler(this)"&gt;WinPE&lt;/span&gt; builder, you'd likely have or will soon build skills in &lt;a href="http://www.w3.org/XML/"&gt;XML&lt;/a&gt;.  The nu2menu system is XML-based, and could be used in two ways (as I do in Bart): &lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_47" onclick="BLOG_clickHandler(this)"&gt;UI&lt;/span&gt; front-end for the build process  &lt;/li&gt;&lt;li&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_48" onclick="BLOG_clickHandler(this)"&gt;UI&lt;/span&gt; front-end or shell for the &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_49" onclick="BLOG_clickHandler(this)"&gt;mOS&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_50" onclick="BLOG_clickHandler(this)"&gt;runtime&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;The MS &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_51" onclick="BLOG_clickHandler(this)"&gt;WinPE&lt;/span&gt; build process would benefit greatly from some sort of GUI front end, and nu2menu would be useful for that.  It runs as an unobtrusive button in one corner of the screen, and from there it fans out like the traditional Win9&lt;em&gt;x&lt;/em&gt; Start menu, but with a &lt;em&gt;lot&lt;/em&gt; more power and logic.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11573761-4128525695761130992?l=cquirke.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cquirke.blogspot.com/feeds/4128525695761130992/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11573761&amp;postID=4128525695761130992' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11573761/posts/default/4128525695761130992'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11573761/posts/default/4128525695761130992'/><link rel='alternate' type='text/html' href='http://cquirke.blogspot.com/2007/02/mos-for-vista-winpe-winre-and-bart.html' title='mOS for Vista: WinPE, WinRE and Bart'/><author><name>Chris Quirke</name><uri>http://www.blogger.com/profile/05538828571660803875</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://cquirke.mvps.org/images/cqhead.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11573761.post-5529872759980173691</id><published>2007-02-05T11:45:00.000-08:00</published><updated>2007-02-07T07:42:53.481-08:00</updated><title type='text'>HD Replacement and Bad Cluster Markers</title><content type='html'>This is a common scenario...&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Hard drive develops bad sectors&lt;/li&gt;&lt;li&gt;File systems have some clusters marked as Bad&lt;/li&gt;&lt;li&gt;You image partition(s) from old hard drive to new replacement&lt;/li&gt;&lt;li&gt;New hard inherits bad cluster markers that are now inappropriate &lt;/li&gt;&lt;/ul&gt;...that can present in interesting ways, if file system is NTFS:&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.bootitng.com"&gt;BING&lt;/a&gt; images the sick hard drive OK&lt;/li&gt;&lt;li&gt;BING images the contents to new hard drive OK&lt;/li&gt;&lt;li&gt;You use BING to shrink the partition&lt;/li&gt;&lt;li&gt;BING checks the file system OK&lt;/li&gt;&lt;li&gt;BING shrinks the file system OK&lt;/li&gt;&lt;li&gt;BING re-checks the file system, and fails!&lt;/li&gt;&lt;/ul&gt;The FAT&lt;em&gt;xx&lt;/em&gt; equivalent is more like this:&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;BING images the sick hard drive OK&lt;/li&gt;&lt;li&gt;BING images the contents to new hard drive OK&lt;/li&gt;&lt;li&gt;You use BING to shrink the partition&lt;/li&gt;&lt;li&gt;BING checks the file system, fails!&lt;/li&gt;&lt;li&gt;You manually clear bad cluster markers&lt;/li&gt;&lt;li&gt;You use BING to shrink the partition&lt;/li&gt;&lt;li&gt;BING checks the file system OK&lt;/li&gt;&lt;li&gt;BING shrinks the file system OK&lt;/li&gt;&lt;li&gt;BING re-checks the file system OK&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;What is going on here? Well, it depends on the file system. &lt;/p&gt;&lt;p&gt;With FAT&lt;em&gt;xx&lt;/em&gt;, BING sees the bad cluster markers when it checks the file system before it attempts the resize, "sees" the bad cluster markers inherited when the file system was imaged off the old hard drive, and backs out of the resize. Only when you clear these bad cluster markers (as you should) will BING attempt the resize, and will then generally succeed.&lt;/p&gt;&lt;p&gt;With NTFS, BING fails to see the bad cluster markers and is happy to resize the volume, which is dangerously inappropriate if the volume is still on the sick hard drive. NTFS points to bad clusters by cluster address; if these point beyond the end of the file system after the partition is shrunk, they are seen as invalid by BING's post-resize file system check.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;&lt;span style="color:#ff6600;"&gt;&lt;span style="font-size:130%;"&gt;Clearing Bad Cluster markers in FAT&lt;em&gt;xx&lt;/em&gt;&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;If there's a better way, I haven't found it! What I do is edit the file system on the new hard drive using ye olde Norton Disk Edit, selecting the two FATs in different panes, searching these for the raw byte sequence that marks a bad cluster, and editing these to 0 (free cluster available for use). When done, a file system check can be expected to detect FAT32's boot record free space value to be incorrect, and I allow that to be fixed.&lt;/p&gt;&lt;p&gt;Obviously this is serious caveat territory, and I look up &lt;a href="http://en.wikipedia.org/wiki/File_Allocation_Table"&gt;FAT details&lt;/a&gt; to see what the Bad Cluster value is, and then run into byte-order toe-stubbers while searching for these. Norton Disk Edit runs from DOS or a Win9&lt;em&gt;x&lt;/em&gt; DOS mode, and DOS can't safely "see" beyond 137G, so more caveats there.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;&lt;span style="font-size:130%;color:#ff6600;"&gt;Clearing Bad Cluster markers in NTFS&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;I haven't found an easy way to do this, but the process is documented at &lt;a href="http://www.djkaty.com/drupal/ntfsbadsectors"&gt;Katy's Homepage&lt;/a&gt; - so if you know of any free tools that can automate this, please comment with details!&lt;/p&gt;&lt;p&gt;If the Bad Cluster pointer is invalidated by shrinking the NTFS volume or partition, as described above, then the invalidated pointer will be "fixed" (cleared?) by ChkDsk /F&lt;/p&gt;&lt;p&gt;The problem is those Bad Cluster records that remain valid, and thus are not cleaned up by ChkDsk /F, or (if marked clusters are not re-tested) by ChkDsk /R.&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11573761-5529872759980173691?l=cquirke.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cquirke.blogspot.com/feeds/5529872759980173691/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11573761&amp;postID=5529872759980173691' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11573761/posts/default/5529872759980173691'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11573761/posts/default/5529872759980173691'/><link rel='alternate' type='text/html' href='http://cquirke.blogspot.com/2007/02/hd-replacement-and-bad-cluster-markers.html' title='HD Replacement and Bad Cluster Markers'/><author><name>Chris Quirke</name><uri>http://www.blogger.com/profile/05538828571660803875</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://cquirke.mvps.org/images/cqhead.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11573761.post-117000675580425671</id><published>2007-01-28T09:43:00.000-08:00</published><updated>2007-01-28T09:52:35.806-08:00</updated><title type='text'>Blogger!  Can't Update Site Links!</title><content type='html'>When I first set up this blog, I entered links to my &lt;a href="http://cquirke.mvps.org/"&gt;main web site&lt;/a&gt; and older &lt;a href="http://cquirke.mvps.org/9x/"&gt;Win9x web site&lt;/a&gt;, while leaving in the &lt;a href="http://news.google.com/"&gt;Google News&lt;/a&gt; link that was there.&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#990000;"&gt;Hmm... according to Google News, "&lt;/span&gt;&lt;a href="http://www.allheadlinenews.com/articles/7006282312"&gt;&lt;span style="color:#990000;"&gt;Palestinian Leaders Plead for Clam&lt;/span&gt;&lt;/a&gt;&lt;span style="color:#990000;"&gt;"... not clear if they're asking for clam to be served them as food, or perhaps clamency for an aquatic comrade in arms?&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Anyway, what I wanted to do was add &lt;a href="http://cquirke.spaces.live.com"&gt;my new Vista blog&lt;/a&gt;, but I can't see anywhere to edit that list of links - and I did look everywhere.  Strange!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11573761-117000675580425671?l=cquirke.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cquirke.blogspot.com/feeds/117000675580425671/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11573761&amp;postID=117000675580425671' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11573761/posts/default/117000675580425671'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11573761/posts/default/117000675580425671'/><link rel='alternate' type='text/html' href='http://cquirke.blogspot.com/2007/01/blogger-cant-update-site-links.html' title='Blogger!  Can&apos;t Update Site Links!'/><author><name>Chris Quirke</name><uri>http://www.blogger.com/profile/05538828571660803875</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://cquirke.mvps.org/images/cqhead.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11573761.post-117000544467381268</id><published>2007-01-28T09:14:00.000-08:00</published><updated>2007-01-28T09:30:44.693-08:00</updated><title type='text'>Internet Explorer 7 Exits When Started?</title><content type='html'>I see Microsoft has an &lt;a href="http://support.microsoft.com/kb/928427"&gt;article&lt;/a&gt; describing this behavior, though in my experience the problem may be more general than the article suggests, though the mechanism may be the same.&lt;br /&gt;&lt;br /&gt;What happens is that whenever you run Internet Explorer 7 (IE 7), or things that invoke it such as Windows or Microsoft Update, it vanishes off the screen as soon as it appears, with no error messages as to why it has done so.&lt;br /&gt;&lt;br /&gt;I've seen this in previously-working IE 7 installations, but more commonly after something has interrupted an IE7 installation.  What would do that?  Automatic Update, that's what... as seen in the "Windows Bugs" &lt;a href="http://cquirke.spaces.live.com/photos"&gt;photo set&lt;/a&gt; at my &lt;a href="http://cquirke.spaces.live.com/"&gt;other blog&lt;/a&gt;. &lt;br /&gt;&lt;br /&gt;I've seen this regularly, as others have not, so I wondered why this might be.  Perhaps it's because the PCs in question have a lot of old patches to catch up on, so Automatic Update gets active as soon as they reach the Internet, plus I often install IE 7 from a saved copy off CDR at around the same time. &lt;br /&gt;&lt;br /&gt;What is supposed to happen is that the Internet Explorer 7 install does its thing, then prompts you to restart Windows within its own series of successive blue dialog boxes.  Instead, these dialogs are still indicating files being installed etc. while Automatic Updates pops up its usual grey dialog telling you to restart Windows, and if you cancel that, it will pop up again and again.&lt;br /&gt;&lt;br /&gt;I've always wondered whether Automatic Update co-ordinates itself with what Windows or Microsoft Update are doing, or whether the same material gets downloaded by each at the same time, doubling the bandwidth consumed.  This case suggests problems of that nature; the IE 7 installer should trap and disallow (or gracefully clean up) software-initiated shutdown requests, and/or prevent other items installing themselves while the IE 7 install is in progress.  Similarly, Automatic Updates should detect Microsoft's own installation activity, be this locally or as managed from update web sites.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11573761-117000544467381268?l=cquirke.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cquirke.blogspot.com/feeds/117000544467381268/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11573761&amp;postID=117000544467381268' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11573761/posts/default/117000544467381268'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11573761/posts/default/117000544467381268'/><link rel='alternate' type='text/html' href='http://cquirke.blogspot.com/2007/01/internet-explorer-7-exits-when-started.html' title='Internet Explorer 7 Exits When Started?'/><author><name>Chris Quirke</name><uri>http://www.blogger.com/profile/05538828571660803875</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://cquirke.mvps.org/images/cqhead.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11573761.post-117000439910278680</id><published>2007-01-28T08:55:00.000-08:00</published><updated>2007-01-28T09:13:19.113-08:00</updated><title type='text'>Sun Java JRE Bloat</title><content type='html'>Well, it took Microsoft long enough to finally scale down Internet Explorer's ridiculously bloated cache allocation; Internet Explorer 7 follows other browsers in sizing this to 50M, irrespective of hard drive volume size, and it may complain that the present cache size is too large (e.g. if it was set so via user).&lt;br /&gt;&lt;br /&gt;However, what Microsoft has finally learned, Sun is still getting wrong.  After installing the new Sun Java JRE 1.6, I saw a Java SysTray icon, and poked around; there's a slider for temporary file cache to be allocated to Java (separate from browser caches) and the duhfault is 1G!  Needless to say, that got scaled back to 20M pretty quickly.&lt;br /&gt;&lt;br /&gt;So, there's a new bloat factor to remember when folks run out of space on C:, over and above the bloat of multiple Sun Java JREs, as discussed &lt;a href="http://cquirke.blogspot.com/2006/09/banking-on-java.html"&gt;earlier&lt;/a&gt; in this blog.  At least new JREs no longer pass control to older (exploitable) ones when requested to do so by Java malware (sorry, "valued Java applets"); still, at 100M+ a pop, old JREs aren't too cheap.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11573761-117000439910278680?l=cquirke.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cquirke.blogspot.com/feeds/117000439910278680/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11573761&amp;postID=117000439910278680' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11573761/posts/default/117000439910278680'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11573761/posts/default/117000439910278680'/><link rel='alternate' type='text/html' href='http://cquirke.blogspot.com/2007/01/sun-java-jre-bloat.html' title='Sun Java JRE Bloat'/><author><name>Chris Quirke</name><uri>http://www.blogger.com/profile/05538828571660803875</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://cquirke.mvps.org/images/cqhead.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11573761.post-116873215509930367</id><published>2007-01-13T15:43:00.000-08:00</published><updated>2007-01-22T12:30:15.136-08:00</updated><title type='text'>Bad RAM, Bad RAM Tester Design</title><content type='html'>This long post covers Vista's mOS, MemTest86 and Microsoft's stand-alone RAM testing utility.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:130%;color:#ff6600;"&gt;&lt;strong&gt;How bad RAM presents&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;If RAM was originally OK, then goes bad, you'd start to see random errors, crashes, lockups, reports of corrupted registry or other files and operations, and perhaps some spontaneous resets. This random pattern may develop some reproducible errors, where the contents of the hard drive have been corrupted, either from bad RAM &lt;em&gt;per se&lt;/em&gt; or from recurrent bad exits.&lt;br /&gt;&lt;br /&gt;RAM crashes at full speed, so you won't notice any slowdown of the system. This contrasts with bad sectors on the hard drive, which slows the system due to attempts to retry the operation, and/or copy contents of failing sectors to spare sectors. On most consumer PCs, there's no attempt to detect RAM errors after the BIOS boot phase; where such detection is present, the system will usually halt as soon as a RAM error is detected.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="font-size:130%;color:#ff6600;"&gt;Why bad RAM matters&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;RAM errors can not only corrupt what is written to disk, but also where it is written to disk, at a level beneath that of the file system. A sector intended to be written to the contents of a file may instead be written over some core file system structure, e.g. if a hi-order bit in the raw sector address is flipped from 1 to 0.&lt;br /&gt;&lt;br /&gt;RAM errors can corrupt code, causing crashes, but a greater risk may arise where the code does not crash. Many &lt;a href="http://en.wikipedia.org/wiki/BIOS_call"&gt;disk operation calls&lt;/a&gt; may use a status byte in a register to differentiate between read and write operations, so a bit-flip there could cause a write instead of a read. This is why &lt;em&gt;no&lt;/em&gt; disk access can be considered safe; any disk access starts with reading crucial areas of the file system, and if those reads become writes, the disk contents could be trashed.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="font-size:130%;color:#ff6600;"&gt;Why bad RAM may be tough to exclude&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;When I started out with PCs in the era of DOS 3.3, 286 processors etc. I wondered why there were so many RAM testing utilities around. Surely you would just copy data to a spare register, write it into RAM, read it back from RAM, and compare with the spare register?&lt;br /&gt;&lt;br /&gt;I had found that in practice, several testers would pass RAM as "OK" even though swap testing would clearly demonstrate that problems would clear up on the suspect PC with good RAM and appear on a known-good PC with the suspect RAM added.&lt;br /&gt;&lt;br /&gt;So I though a bit more about how RAM can fail; not just by returning different data compared what was written to it, but altering data in other addresses when certain addresses are accessed, or behaving differently according to whether the RAM is read for instructions vs. data, or whether it is being accessed by the processor, AGP, or some other device via DMA.&lt;br /&gt;&lt;br /&gt;Also, some failures can crash, lock up or reset the system, instead of being presented as a nice list of bad addresses. If the RAM testing boot disk is left in the system during the test, a spontaneous reset may be missed, unless you happen to notice the test has been running for fewer hours than have elapsed since you started the test.&lt;br /&gt;&lt;br /&gt;For a long time, I gave up on RAM testing utilities, and just did swap testing as above. My faith in RAM testers started to return with &lt;a href="http://www.simmtester.com/"&gt;SIMM Tester&lt;/a&gt;, and grew stronger with &lt;a href="http://www.memtest86.com/"&gt;MemTest86&lt;/a&gt; and &lt;a href="http://www.memtest.org/"&gt;MemTest86+&lt;/a&gt;. But I find that even with these tools, either one of the two MemTest86 projects may detect errors where SIMM Tester does not, and 8 hours of MemTest86 may pass, only to throw errors somewhere in the next 12 hours of testing. &lt;br /&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="font-size:130%;color:#ff6600;"&gt;How to design a RAM testing utility&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;This isn't about test sequence and data intended to provoke errors due to local power starvation or whatever. Instead, it's about how this core of test routines should be wrapped into a safe and usable utility - as illuminated by issues raised earlier in this post.&lt;br /&gt;&lt;br /&gt;Microsoft have a free &lt;a href="http://oca.microsoft.com/en/windiag.asp"&gt;stand-alone RAM tester&lt;/a&gt; that is called the "Windows Memory Diagnostic". But why is "Windows" in the tool's name, given this is a tool that should run at the system level, before any OS has booted up or is left running in the background?&lt;br /&gt;&lt;br /&gt;I used this stand-alone form of the tool, and noticed &lt;strong&gt;&lt;em&gt;something rather nasty&lt;/em&gt;&lt;/strong&gt; about it - when set to repeat the test sequence, it clears the results of all previous test passes! It also does not indicate elapsed clock time, so if the tester disk is left in the boot drive, the test will restart and look exactly the same as if it had been running without any interruptions.&lt;br /&gt;&lt;br /&gt;Any RAM failure is significant, even if it shows up only once in 24 hours of testing. If you use MemTest86 and one such error occurs, you will see it listed when you return after an overnight unattended test - whereas even if Microsoft's tester flagged it at the time, you will only see the "OK" result of the last test pass when you return in the morning.&lt;br /&gt;&lt;br /&gt;There's no point in doing 24 hours of testing, if only the last pass (possibly the last 20 minutes of testing) is reported!  Who is going to sit and watch an "unattended" RAM test loop for 24 hours, just in case one pass fleetingly shows an error on screen?&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:130%;color:#ff6600;"&gt;&lt;strong&gt;How to integrate RAM testing with a mOS&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;I'd love to include RAM testing within my &lt;a href="http://en.wikipedia.org/wiki/Maintenance_OS"&gt;maintenance OS&lt;/a&gt;, but I can't see a way to fully automate this. The mOS boot disk should not boot past the RAM testing component into loading the full mOS, because that involves a lot of disk operations that may be unsafe when RAM is bad. There's no safe and standard way that the RAM tester can set a flag that it is in session, that will persist after a spontaneous reset. The best I can think of would be to boot the mOS to a menu that defaults to testing RAM, but that does not timeout but will wait forever for a keypress.&lt;br /&gt;&lt;br /&gt;So I can't see a safe way to incorporate RAM testing into a wizard-driven mOS intended for unskilled use. It would be lovely to have a boot disk that would do x hours of RAM testing, then test the hard drive for physical errors, then test and possibly fix file system logical errors, before commencing with formal scanning for malware. But without a safe way for the mOS boot to detect whether RAM had been recently (define "recently") tested without errors, the best I could design would be a mOS that booted to a 3-item menu (test RAM, continue with the wizard, or display help) and stayed there until a selection was made.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="font-size:130%;color:#ff6600;"&gt;How to get all this sooo wrong&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;The good news is that the Vista DVD has RAM testing incorporated into the mOS. The bad news is that Microsoft made just about every mOS design mistake possible:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;mOS boot will fall through to hard drive boot unless key is pressed&lt;/li&gt;&lt;li&gt;mOS runs a &lt;em&gt;lot&lt;/em&gt; of code before the UI from which RAM can be tested&lt;/li&gt;&lt;li&gt;mOS looks for a Vista installation on hard drive before anything else&lt;/li&gt;&lt;li&gt;mOS drops RAM tester on hard drive, then reboots to run it&lt;/li&gt;&lt;li&gt;RAM tester does one pass only, unless this is overridden by user&lt;/li&gt;&lt;li&gt;RAM tester displays no results on screen&lt;/li&gt;&lt;li&gt;RAM tester writes results to Vista installation's logs on hard drive&lt;/li&gt;&lt;/ol&gt;OK, let's walk through what happens when you test a system that may have bad RAM. Microsoft seems to expect this RAM to be so bad that a test single pass will catch it, even though we know from experience that you may only see one error in 24 hours of testing (mistake 5).&lt;br /&gt;&lt;br /&gt;If RAM is so bad that one test pass will always catch it, then it is surely too dangerous to run large complex GUI code (mistake 2), or to read into the logic of a Vista installation on the hard drive (mistake 3). If BIOS standard practice is to halt a system whenever bad RAM is detected, irrespective of what the OS was doing at the time, then surely it is foolhardy to boot up a complex OS from the hard drive (mistake 1), write material to hard drive (mistake 4), especially if the RAM has been proven to be bad (mistake 7)?&lt;br /&gt;&lt;br /&gt;What happens if the nature of the defective hardware causes the system to reset, rather than lock up or carry on running so the tester can flag the error? Well, the Vista DVD will chain into the Vista installation on the hard drive and boot that (mistake 1), which is about the worst possible thing one can do - and this will happen even if you had explicitly excluded the hard drive from BIOS bootability, because the DVD boot chains directly into it irrespective of any BIOS-level settings you may have applied.&lt;br /&gt;&lt;br /&gt;If the RAM did test bad, how would you know? It seems as if the only way would be by booting Vista from the hard drive and scratching around in Event Viewer. If the process of writing those results into Vista's logs didn't corrupt the contents of the hard drive, then booting Vista (with all the attendant paging, temp files and registry updates this may imply) to reach Event Viewer may well do so.&lt;br /&gt;&lt;br /&gt;This is a bit like being a driving license tester faced with a pupil who immediately tries to mash down pedestrians &lt;em&gt;a la&lt;/em&gt; Carmageddon at the start of the test. It's nice to see Microsoft (at last!) taking an interest in maintaining sick systems, but the lack of insight displayed is &lt;em&gt;scary&lt;/em&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11573761-116873215509930367?l=cquirke.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cquirke.blogspot.com/feeds/116873215509930367/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11573761&amp;postID=116873215509930367' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11573761/posts/default/116873215509930367'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11573761/posts/default/116873215509930367'/><link rel='alternate' type='text/html' href='http://cquirke.blogspot.com/2007/01/bad-ram-bad-ram-tester-design.html' title='Bad RAM, Bad RAM Tester Design'/><author><name>Chris Quirke</name><uri>http://www.blogger.com/profile/05538828571660803875</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://cquirke.mvps.org/images/cqhead.jpg'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11573761.post-116873125515532138</id><published>2007-01-13T15:26:00.000-08:00</published><updated>2007-01-13T15:34:15.276-08:00</updated><title type='text'>Learning Vista</title><content type='html'>See &lt;a href="http://cquirke.spaces.live.com"&gt;http://cquirke.spaces.live.com&lt;/a&gt;, which is where I'll blog my initial bewilderment and hopefully progress as I actually work with (as opposed to, look at) Vista.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11573761-116873125515532138?l=cquirke.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cquirke.blogspot.com/feeds/116873125515532138/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11573761&amp;postID=116873125515532138' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11573761/posts/default/116873125515532138'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11573761/posts/default/116873125515532138'/><link rel='alternate' type='text/html' href='http://cquirke.blogspot.com/2007/01/learning-vista.html' title='Learning Vista'/><author><name>Chris Quirke</name><uri>http://www.blogger.com/profile/05538828571660803875</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://cquirke.mvps.org/images/cqhead.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11573761.post-116757426068868118</id><published>2006-12-31T05:47:00.000-08:00</published><updated>2006-12-31T06:26:29.893-08:00</updated><title type='text'>Fair-Weather Scanners</title><content type='html'>I've used a few on-demand antivirus scanners and scanners for commercial malware (usually known as "anti-spyware") and generally they're just not designed for troubleshooting environments such as Safe Mode and &lt;a href="http://www.nu2.nu/pebuilder/"&gt;Bart CDR boot&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 102, 0);font-size:130%;" &gt;&lt;span style="font-weight: bold;"&gt;Fancy display mode required&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Common advice is to use these scanners from Safe Mode, where screen resolution is usually low (say, 640 x 480) and color depth is low, too (typically 16 colors).&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.emsisoft.com/en/software/free/"&gt;A Squared&lt;/a&gt; is almost unusable in low res, because the dialog boxes ASSume you have at least 800 x 600 to play with - often the UI controls are below the edge of the display when in Safe Mode, so you have to guess the number of times to press Tab in order to keyboard the "go" button.  The need for this high resolution has nothing to do with the amount of content that needs to be displayed on the screen, and everything to do with wasteful eye-candy UI design.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.lavasoftusa.com/"&gt;AdAware&lt;/a&gt; delights in using subtle colors that turn to stippled mud in Safe Mode's low color depth, and some needed UI cues (e.g. which UI control is selected) vanish completely.&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 102, 0); font-weight: bold;font-size:130%;" &gt;Mouse required&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Both AdAware and &lt;a href="http://www.safer-networking.org/"&gt;Spybot&lt;/a&gt; border on the unusable when a mouse is not present, as may be the case in troubleshooting conditions.  Freshly-installed Spybot starts with a set of "wizard" dialogs that defy attempts to switch focus from the keyboard, and AdAware's keyboard navigation is highly ambiguous at best.&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 102, 0);font-size:130%;" &gt;&lt;span style="font-weight: bold;"&gt;Installation required&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The free &lt;a href="http://latin.bitdefender.com/PRODUCT-14-latin--BitDefender-8-Free-Edition.html"&gt;BitDefender 8&lt;/a&gt; on-demand scanner and MS Antispyware (now &lt;a href="http://www.microsoft.com/athome/security/spyware/software/default.mspx"&gt;Windows Defender&lt;/a&gt;) both require Windows Installer to install, and that service is not present in Safe Mode.  In order to use these tools, you first have to run normal Windows - so that the malware you are after is almost certain to be active and well-positioned to interfere with the installation and use of the scanners.&lt;br /&gt;&lt;br /&gt;I haven't yet got the above tools, or &lt;a href="http://free.grisoft.com/doc/20/lng/us/tpl/v5"&gt;AVG Antispyware&lt;/a&gt; (ex-Ewido), to run from a Bart CDR boot.&lt;a href="http://www.trendmicro.com/download/dcs.asp"&gt;  Trend SysClean&lt;/a&gt;, A Squared, AdAware and Spybot are better there, with Spybot claiming the ability to scan relative to the inactive hard drive registry hives without needing &lt;a href="http://www.paraglidernc.com/RunScanner.html"&gt;RunScanner&lt;/a&gt; redirection.  In practice, I find Spybot detects less when run from a Bart CDR boot than when it is run from Safe Mode.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11573761-116757426068868118?l=cquirke.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cquirke.blogspot.com/feeds/116757426068868118/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11573761&amp;postID=116757426068868118' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11573761/posts/default/116757426068868118'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11573761/posts/default/116757426068868118'/><link rel='alternate' type='text/html' href='http://cquirke.blogspot.com/2006/12/fair-weather-scanners.html' title='Fair-Weather Scanners'/><author><name>Chris Quirke</name><uri>http://www.blogger.com/profile/05538828571660803875</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://cquirke.mvps.org/images/cqhead.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11573761.post-116669673160154287</id><published>2006-12-21T00:56:00.000-08:00</published><updated>2006-12-21T02:29:45.790-08:00</updated><title type='text'>Vista vs. email</title><content type='html'>This blog post was interesting:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://windowsvistablog.com/blogs/windowsvista/archive/2006/12/19/windows-vista-and-protection-from-malware.aspx#comments"&gt;http://windowsvistablog.com/blogs/windowsvista/archive/2006/12/19/windows-vista-and-protection-from-malware.aspx#comments&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;It's an interesting expectation, that Vista would magically be immune to malware attacks - but that expectation is taken seriously in this post, which views the problem through the eyes of the totally inexperienced user. By blocking access to all incoming attachments, Vista's native Windows Mail is able to foil 8 of the 10 common attacks tested - the ones that got through, did so by using file types that some email applications don't block.&lt;br /&gt;&lt;br /&gt;My expectations are far more modest:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;System should be immune from clickless attack&lt;/li&gt;&lt;li&gt;User should receive accurate risk information&lt;/li&gt;&lt;li&gt;System should act within the bounds of that risk information&lt;/li&gt;&lt;li&gt;Should malware go active, user should be able to clean it&lt;/li&gt;&lt;/ul&gt;Jim's assessment treats the user as a passive component that has to be protected by the system acting on the user's behalf. I see that as unrealistic, and not only because it's a "mission impossible" task, but also because most users will disable total attachment blocking and then lose that degree of "protection". So what works for great disclaimable advertising copy - "used as directed, Windows Vista is immune to 8 out of 10 common email attacks" - works less well when users actually &lt;em&gt;use&lt;/em&gt; the system to do real-world things.&lt;br /&gt;&lt;br /&gt;For many (most?) users, blocking all attachments is too broad a sword to live with. What these users expect, is to look at an email message and attachment link, and assess whether the attachment is safe to "open". That in turn requires information about the attachment file type that is easy to understand (as a large number of raw .ext is not) and can be relied upon (in contrast to Vista's default "open based on hidden info rather than visible .ext" behavior).&lt;br /&gt;&lt;br /&gt;Windows has been designed with many things in mind, but type discipline is not one of them. There's been great stress on per-user rights in NT, in keeping with the needs of corporate IT, but this maps poorly to consumer needs. The code/data distinction has been undermined, and the unrealistic objective of "you can do everything without having to know anything" assumes that consumers won't have the skills to assess and act upon file type risk information.&lt;br /&gt;&lt;br /&gt;The last point, "should malware go active, user should be able to clean it", is a topic in itself, which goes about safety awarenss that stretches from maintenance OS through "Safe Mode" and into safe handling for suspect locations, such as newly-discovered drives or subtrees that are designated as holding risky material, much as "My Documents" is designated as holding "user data".&lt;br /&gt;&lt;br /&gt;Here are a couple of unrelated quick things...&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:130%;color:#ff6600;"&gt;&lt;strong&gt;Screening spam&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Another thing I'd like to see in an email application is better filtering, based on criteria other than various text matches. Specifically, I'd like to filter out "messages" that have under 100 characters of visible message text plus embedded (or remote) images. This is emerging as a common form of spam, with two effects; firstly, there's no text to filter/match, and secondly, the entire "message text" can be one huge clickable surface.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:130%;color:#ff6600;"&gt;&lt;strong&gt;Firefox's killer feature&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Spell checking within text edit fields - a must-have, in an age of online text composition e.g. blogging, forum posts, comments and web mail!&lt;br /&gt;&lt;br /&gt;Up until now, Microsoft has positioned spell checking as part of MS Office, with the unique vendor advantage of integrating this application component into the OS (e.g. Outlook Express).&lt;br /&gt;&lt;br /&gt;These happy days should be over, thanks to Firefox 2, just as free Google email killed the acceptability of the 1-2M email storage norm for paid-for ISP email "services".&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11573761-116669673160154287?l=cquirke.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cquirke.blogspot.com/feeds/116669673160154287/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11573761&amp;postID=116669673160154287' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11573761/posts/default/116669673160154287'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11573761/posts/default/116669673160154287'/><link rel='alternate' type='text/html' href='http://cquirke.blogspot.com/2006/12/vista-vs-email.html' title='Vista vs. email'/><author><name>Chris Quirke</name><uri>http://www.blogger.com/profile/05538828571660803875</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://cquirke.mvps.org/images/cqhead.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11573761.post-116104848164877960</id><published>2006-10-16T17:53:00.000-07:00</published><updated>2006-10-16T18:28:01.966-07:00</updated><title type='text'>Bart vs. BAD_POOL_CALLER</title><content type='html'>&lt;a href="http://www.google.co.uk/search?q=BAD_POOL_CALLER+%22microsoft.com%22+STOP&amp;start=0&amp;amp;ie=utf-8&amp;oe=utf-8"&gt;BAD_POOL_CALLER&lt;/a&gt; is one of those scary STOP errors that one may see in XP (that is, once you kill the duhfault "restart on system errors" setting) .  This particular case was an XP SP2 system that was said to crash straight into this on startup.&lt;br /&gt;&lt;br /&gt;Uneventful 12 hours in &lt;a href="http://www.memtest.org/"&gt;MemTest86&lt;/a&gt; with no sponaneous lockups or booting of the Bart CDR I left in place during the test, motherboard caps OK.  &lt;a href="http://www.nu2.nu/pebuilder/"&gt;Bart CDR&lt;/a&gt; boot, &lt;a href="www.hdtune.com"&gt;HD Tune&lt;/a&gt; passes SMART, temperature and surface on both hard drives, file systems OK on ChkDsk all volumes.&lt;br /&gt;&lt;br /&gt;Formal malware scans fine, until the first test that requires &lt;a href="http://www.paraglidernc.com/RunScanner.html"&gt;RunScanner&lt;/a&gt; to access the registry hives on the hard drive.  As soon as I click RunScanner's dialog OK, the system STOPs.&lt;br /&gt;&lt;br /&gt;Riiiight... next, I harvest spare registry hives from SR Restore Points in the C:\&lt;a href="http://support.microsoft.com/kb/307545"&gt;SVI&lt;/a&gt; subtree.  Then I pick a trivial scanner that I've set to run via RunScanner; in this case, &lt;a href="http://vil.nai.com/vil/stinger/"&gt;Stinger&lt;/a&gt;.  It doesn't matter what it is; all I want to test-to-fix is whether I can initiate registry access to the hard drive hives.  If that no longer dies, I may have fixed the problem.&lt;br /&gt;&lt;br /&gt;I run Stinger in this way, each time choosing a different user account and not checking the "use all hives" checkbox in the RunScanner dialog box.  Ever user account is fine except the one they actually use, which dies the blue death.&lt;br /&gt;&lt;br /&gt;Now that I've narrowed it down to a single file, I rename away that user account's NTUSER.DAT (which is the per-user registry hive), copy in the most recent spare from the most recent Restore Point, rename that into action as NTUSER.DAT, and re-test; this time it works as well as the other accounts did.&lt;br /&gt;&lt;br /&gt;I'm interested in a single hive causing this common head-scratching problem, so I keep the "bad" and "fixed" copies of the hive, which appear to be the same length.  I'll FC them to see if there's some specific difference (either structural, or a recent install... tho I'd expect the latter to change the file length) that causes the problem, and update this article if that looks interesting.&lt;br /&gt;&lt;br /&gt;Meantime, Bart has saved the day yet again; what could so easily been "just" wipe and &lt;a href="http://cquirke.mvps.org/reinst.htm"&gt;re-install&lt;/a&gt;, turned out to be a few unattended hours on "&lt;a href="http://www.google.co.uk/search?q=cquirke+%22the+prelim%22&amp;start=0&amp;amp;ie=utf-8&amp;oe=utf-8"&gt;the prelim&lt;/a&gt;" plus around one hour of interactive work in Bart.  Did I mention I liked Bart?&lt;br /&gt;&lt;br /&gt;That drill-down method again...&lt;br /&gt;&lt;ul&gt;&lt;li&gt;check RAM and hardware first&lt;/li&gt;&lt;li&gt;Boot into Bart CDR&lt;/li&gt;&lt;li&gt;use a tool via RunScanner&lt;/li&gt;&lt;li&gt;choose one user account at a time&lt;/li&gt;&lt;li&gt;if all break, suspect a system hive (common to all accounts)&lt;/li&gt;&lt;li&gt;if only one account breaks, it's that account's hive&lt;/li&gt;&lt;li&gt;preserve damaged hive by renaming away, not delete&lt;/li&gt;&lt;li&gt;harvest replacement hives from recent Restore Points&lt;/li&gt;&lt;li&gt;try with newset, then second-newest etc.&lt;/li&gt;&lt;li&gt;do not try any of the above in hard-drive-booted Windows&lt;br /&gt;&lt;/li&gt;&lt;li&gt;compare bad and good copies of the hive for differences&lt;/li&gt;&lt;/ul&gt; There are probably scores of reasons to STOP on BAD_POOL_CALLER, and many of these may have no pattern if the underlying hardware level of abstraction is bad (as is often the case with registry damage).  Even so, if you have a consistent STOP on every boot, at the same point in the boot, then this approach may find the solution if your case is like this one.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11573761-116104848164877960?l=cquirke.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cquirke.blogspot.com/feeds/116104848164877960/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11573761&amp;postID=116104848164877960' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11573761/posts/default/116104848164877960'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11573761/posts/default/116104848164877960'/><link rel='alternate' type='text/html' href='http://cquirke.blogspot.com/2006/10/bart-vs-badpoolcaller.html' title='Bart vs. BAD_POOL_CALLER'/><author><name>Chris Quirke</name><uri>http://www.blogger.com/profile/05538828571660803875</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://cquirke.mvps.org/images/cqhead.jpg'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11573761.post-116090123646550433</id><published>2006-10-15T01:07:00.000-07:00</published><updated>2006-10-15T01:39:44.916-07:00</updated><title type='text'>Open Source Eudora</title><content type='html'>Most of the time you'd be reading rants about awful and shifty vendors are - perhaps every industry is as bad, but I'm "further away" from most? - so it's a pleasure to celebrate software vendors who do the right thing...&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.eudora.com/faq/"&gt;http://www.eudora.com/faq/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Now here's a vendor with a popular product, but one that isn't their central interest.  They could have just killed it, and told those who complain that it is their right to do so; after all, we see that all the time with music corporations, who delete titles they are "too old and unpopular to make money" while still forbidding even the original artist to distribute them for free.&lt;br /&gt;&lt;br /&gt;But instead, they are shifting the product into Open Source, while committing to honor their obligations to those who have purchased the Paid version.  Those who use Sponsored mode (myself included) can now stay in this mode with full functionality forever, even when the ads stop.  Unless there's some sting in the tail so hidden I can't see it, it looks like an excellent result!&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(255, 102, 0);font-size:130%;" &gt;Previous "Do The Right Thing" award&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;I've been as impressed a few times before, and the last time was when Computer Associates ceased the popular free &lt;a href="http://home2.ca.com/servlet/ControllerServlet?Action=DisplayPage&amp;Locale=en_US&amp;amp;id=ProductDetailsPage&amp;SiteID=caconsum&amp;amp;productID=50698000&amp;Env=BASE"&gt;InoculateIT&lt;/a&gt; antivirus suite.  Again, they announced the move and then supported the free version with updates for a longer period than commercial vendors' one-year subscription, and they offered a low conversion price to the feeware eTrust that replaced it.&lt;br /&gt;&lt;br /&gt;The InoculateIT story was particularly impressive, as the initial announcement that stated "free updates until we have to change the scanning engine code" was made within a few months of the release of a new version of Windows.  It would have been so easy to claim the need to create a new engine to overcome compatibility issues with the new Windows version, but they didn't do so; InoculateIT remained free for many months thereafter.&lt;br /&gt;&lt;br /&gt;When InoculateIT ceased to be free, it also ceased to be the de facto free/non-warez antivirus product.  &lt;a href="http://free.grisoft.com/doc/1"&gt;AVG&lt;/a&gt; stepped into those shoes; it was always around, along with &lt;a href="http://www.avast.com/"&gt;Avast&lt;/a&gt;, later &lt;a href="http://www.free-av.com/"&gt;AntiVir&lt;/a&gt;, and some others, but  there was greater confidence in InoculateIT at that time.  AVG  have also done the right thing when they dropped the free AVG 6 product to consolidate on AVG 7 as the sole code  base; they offered a free version of AVG 7, pushing alerts to AVG 6 installations about the cut-off date for some months before updates ceased for the old version.&lt;br /&gt;&lt;br /&gt;When you have such good "no strings attached" free antivirus products, why would anyone want to put up with Symantec's embedded commercial malware in Norton AV?  If you do a Google( "Why I don't use Norton" ), you will see I'm not the only one who &lt;a href="http://cquirke.blogspot.com/2006/08/why-i-avoid-norton-av.html"&gt;avoids&lt;/a&gt; it.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11573761-116090123646550433?l=cquirke.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cquirke.blogspot.com/feeds/116090123646550433/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11573761&amp;postID=116090123646550433' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11573761/posts/default/116090123646550433'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11573761/posts/default/116090123646550433'/><link rel='alternate' type='text/html' href='http://cquirke.blogspot.com/2006/10/open-source-eudora.html' title='Open Source Eudora'/><author><name>Chris Quirke</name><uri>http://www.blogger.com/profile/05538828571660803875</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://cquirke.mvps.org/images/cqhead.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11573761.post-116086987516631973</id><published>2006-10-14T16:16:00.000-07:00</published><updated>2006-10-14T17:40:28.333-07:00</updated><title type='text'>Rungbu.A Exploits Bad Design</title><content type='html'>This case study illustrates several issues I've raised before, as well as a few lessons, such as "there's no 'one problem per case' rule", "best practice isn't bullet-proof" and "one antivirus scanner isn't enough".&lt;br /&gt;&lt;br /&gt;I was on site doing something else, when I was called to check out a problem with opening Word documents, which the user attributed to an encounter with a dubious diskette.&lt;br /&gt;&lt;br /&gt;The first thing I noticed was that her PC wasn't showing file name extensions, contrary to the way I generally set up PCs...&lt;br /&gt;&lt;br /&gt;"Hey, you can't see the file name extensions!  Without that, you don't know what type of file you're about to open!  That's dangerous!"&lt;br /&gt;&lt;br /&gt;'No, that's OK; I can see the Word icon, so I know the files are Word documents'&lt;br /&gt;&lt;br /&gt;This was followed by an explanation of why this can't be trusted, while she insisted it was OK, and 'was always like that'.  I pointed to two files as an example; a pale (normally hidden) one called "Some file name" and a bold one also called "Some file name".  I right-clicked on each, and sure enough, the hidden one was the .DOC while the visible one was an .SCR - so I wasn't too surprised when the setting to &lt;span style="font-style: italic;"&gt;not&lt;/span&gt; hide file name extensions would not "stick".&lt;br /&gt;&lt;br /&gt;"You're malwared", I said, and after shutting down and setting CMOS to boot CD, I booted up the Bart CDRW I tend to have on me at all times.  Bart would boot on this crusty old Win98SE system (333MHz, 64M RAM)... if only the 32-speed CD-ROM would read CDRW disks... so it's heigh-ho, back to base we go.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;&lt;span style="font-weight: bold; color: rgb(255, 102, 0);"&gt;Who's stupid?&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;As a geek, my first reaction was to consider the user foolish for trusting icons as an indication of file type.  Then I thought; why should a user know that the most dangerous file types can set whatever icon they like, and that .scr files are raw code, and thus dangerous?  Why doesn't the user interface clearly flag which files are code and which are data, as well as the type, and disallow any content to misrepresent itself?  Why are file name extensions hidden by duhfault, anyway, and why are things still as brain-dead in Vista?&lt;br /&gt;&lt;br /&gt;That's the problem with bad design - it never gets patched, because it "works as designed".  We had years of MS Office macro and VB malware before that was fixed, years of Outlook and Outlook Express auto-running scripts in HTML "message text", and we still have Format in the middle of hard drive context menus while Backup, Check for errors etc. are buried under Properties, Tools.  Stupidity is found not only in end users.&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 102, 0);font-size:130%;" &gt;&lt;span style="font-weight: bold;"&gt;Best Practice can still fail&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;As usual, I started work on the system with several hours in &lt;a href="http://www.memtest86.com/"&gt;MemTest86&lt;/a&gt;, to make sure the system was safe to run at all.  Then I booted my Bart CDR, eyeballed SMART details in &lt;a href="http://www.hdtune.com"&gt;HD Tune&lt;/a&gt;, did a surface scan of the 4G hard drive, and checked SMART details again; no change in SMART, no surface errors, OK.  A ChkDsk confirmed the four file systems were OK, so I created a session base directory on one volume, and set that as Bart's Temp location.  I could then shrink the Bart RAM disk as it's no longer needed for Temp, and create a pagefile on hard drive to relieve constraints imposed by 64M of RAM.&lt;br /&gt;&lt;br /&gt;Then I started my antivirus scanning wizard and went about my other work.  A while later, I see the second av scan is still stuck on the same file, so I run HD Tune again; it shows blank SMART details, and a surface scan picks up "one bad sector".&lt;br /&gt;&lt;br /&gt;I immediately pull the mains, pull the hard drive into another PC, copy off everything from DOS mode using the LCopy from &lt;a href="http://www.odi.ch/prog/lfn/index.php"&gt;Odi's LFN Tools&lt;/a&gt;, starting with the data set and carrying on until most stuff is backed up.  I had hard failures on C:\Windows (bad disk) and the session subtree to which the Bart av wizard would have been logging the scans (file system corruption).&lt;br /&gt;&lt;br /&gt;Next, I went in with DiskEdit, confirming bad clusters throughout the entire C:\Windows directory chain.  Noting the cluster address of the Windows directory, I searched for subdirectories on C: (fortunately it's a small C:, not the whole hard drive) and ballpointed the . cluster addresses for all that had .. pointing back to the lost Windows directory.  Then I created scratch directory entries in C:\ to point to these, and copied them off. &lt;br /&gt;&lt;br /&gt;I then did a raw image copy of the fortunately-small C: volume in case I needed to recover more stuff later, and finally back in DiskEdit, I "erase-marked" the Windows directory so that scanners traversing the file system wouldn't fall into a pit of bad sectors.&lt;br /&gt;&lt;br /&gt;Having got what I could off the stricken hard drive, I put it back in the PC it came from and got back to my Bart antivirus scanners etc.&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 102, 0);font-size:130%;" &gt;&lt;span style="font-weight: bold;"&gt;Rungbu.A&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Four out of five of the initial "detect only" scans detected the same files as infected, but each called the virus something different.  One called it a generic trojan, another called it SillyWorm, each with a high variant suffix.  Only Sophos gave it the unique name of Rungbu.A, though their site only had a descriptive page for the &lt;a href="http://www.sophos.com/security/analyses/w32rungbub.html"&gt;Rungbu.B&lt;/a&gt; variant.  The sixth scanner was set to kill, and did; thereafter there was nothing for the remaining scanners to detect.&lt;br /&gt;&lt;br /&gt;Reading the decription's Advanced page revealed this malware to be anything but "generic".  It left the system tattoo'd so that I had to Regedit before I could stop Windows from hiding file name extensions.&lt;br /&gt;&lt;br /&gt;We get annoyed when vendors don't patch known exploitable surfaces, and highly irate when there are ITW (in the wild) malware already exploiting those surfaces.  Yet we've seen so many malware with double file name extensions such as README.TXT.pif, and these raw code file types can and do set their icons to match the faked file type. &lt;br /&gt;&lt;br /&gt;But  hey, not a problem; it "works as designed".&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 102, 0); font-weight: bold;font-size:130%;" &gt;Re-entry&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Finding the plethora of vintage application disks for this PC would not be fun, so I decided to preserve the old installation instead.  I called the site and asked them to find the disks if they could, in case I'd have to rebuild, then set out to fix the installation.&lt;br /&gt;&lt;br /&gt;First, I partitioned a replacement hard drive (a used 40G, jumpered to act as a 32G in deference to the old PC's BIOS limitations) and copied everything to one of the logical volumes.  Then I fresh-installed Windows 98, and copied that subtree to the logical volume as well.  Next, I copied everything except the old Windows child subtrees into place, then finally identified and copied the recovered child subtrees over what was installed with Windows. &lt;br /&gt;&lt;br /&gt;All of this was done from DOS mode, but I couldn't extract recovered registries etc. from the latest RB*.CAB from there, so I had to go back into Windows at this point.  That crashed Explorer, so I set shell=Winfile.exe in System.ini, and from there I could Extract the registry files.  Back to DOS mode to drop in these registry files, as well as older backed-up Vmm32.vxd and "Exit to DOS.pif", and now everything looks OK - though I'll try everything out in case there are needed files that are missing from the Windows base directory.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;&lt;span style="color: rgb(255, 102, 0); font-weight: bold;"&gt;Duhfaults are forever&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;It's a good thing the variant of Rungbu that infected this PC didn't also put "hide hidden and system files" into effect, and that we don't use Microsoft's duhfault settings.  If we did, there would be no visible indication the system was malware'd; we'd see only one "Some Name" file, which would appear to "open" just fine (the malware code runs invisibly and then spawns and opens the original Word document).  Unless someone tried to change the Explorer settings, and became puzzled when the changes didn't "stick", there's be no indication that anything was wrong.&lt;br /&gt;&lt;br /&gt;And that means the companion malware files would have found their way into every data backup, too.&lt;br /&gt;&lt;br /&gt;It's all very well saying "it's only the default setting; you can change it", but defaults are forever.  These unsasfe defaults are all you get in "Safe Mode", will recur after "just" formatting and re-installing Windows, will be the baseline for every newly-created user account, may be re-asserted by domain servers or when account rights are limited, and will be what users see whenever they use arbitrary PCs elsewhere.  Defaults should always be truly safe!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11573761-116086987516631973?l=cquirke.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cquirke.blogspot.com/feeds/116086987516631973/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11573761&amp;postID=116086987516631973' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11573761/posts/default/116086987516631973'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11573761/posts/default/116086987516631973'/><link rel='alternate' type='text/html' href='http://cquirke.blogspot.com/2006/10/rungbua-exploits-bad-design.html' title='Rungbu.A Exploits Bad Design'/><author><name>Chris Quirke</name><uri>http://www.blogger.com/profile/05538828571660803875</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://cquirke.mvps.org/images/cqhead.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11573761.post-115981842734402199</id><published>2006-10-02T11:59:00.000-07:00</published><updated>2006-10-02T13:06:47.083-07:00</updated><title type='text'>Vitsa's Maintenance OS</title><content type='html'>This is one of the best bits of news I had from the Vista Labs a few months back!  We were told to spread the word about what wasn't NDA, but this item was NDA at the time, so I had to sit on it.  But today' Google( Vista boot DVD WinPE ) shows it's public knowledge now   :-)&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.apcstart.com/site/jbannan/2006/08/1082/windows-pe-20-a-tiny-version-of-windows-for-system-maintenance"&gt;http://www.apcstart.com/site/jbannan/2006/08/1082/windows-pe-20-a-tiny-version-of-windows-for-system-maintenance&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;This turns what would have been a crisis (would Bart CDR boot be compatible with Vista's NTFS, registry, etc.?) into what may be a reason for cautious consumers to favor Vista over XP.&lt;br /&gt;&lt;br /&gt;I tested Vista beta 2 a while ago in a bit more depth than recent time permits with the newer Customer Preview build I have now, and it's certainly come a long way since that earlier build.  I specifically wanted to test the &lt;a href="http://en.wikipedia.org/wiki/Maintenance_OS"&gt;mOS&lt;/a&gt;, and that turned out to be very interesting indeed...&lt;br /&gt;&lt;br /&gt;Those familiar with &lt;a href="http://www.windowsitpro.com/WindowsSecurity/Article/ArticleID/93304/WindowsSecurity_93304.html"&gt;Bart PE&lt;/a&gt; would guess what I'd be looking for first - can it boot off a USB stick?  Can you hot-swap USB flash drives?  Can you use the optical drive or will the system crash if you eject the Vista boot DVD?  Is there a GUI?&lt;br /&gt;&lt;br /&gt;No, there's no GUI - it's more like Safe Mode Cmd Only, which is a good thing in many ways.  I'd have been worried in Explorer was there as the shell, in case Vista's richer shell offered exploit surfaces to malware on the maintained system.&lt;br /&gt;&lt;br /&gt;Yes, you can eject the boot DVD!  In this recent build I tested, the Vista installation DVD is the mOS boot disk, and just as you'd UI your way to Recovery Console after booting an XP CD, so it is that you GUI your way to "command prompt", which is likely to be WinPE 2.0 itself.&lt;br /&gt;&lt;br /&gt;After booting, the DVD gets a different drive letter, compared to the booted OS files.  The free space and a few other cursory tests indicated these were different volumes, and neither is an alias of hard drive space.  You can eject the Vista DVD, insert other CDRs or DVDRs, and use them directly.  I suspect the mOS runs from a RAM drive - and it worked quite happily in 512M RAM.  What I didn't check was whether it uses a page file on the HD.&lt;br /&gt;&lt;br /&gt;Vista development takes off from the most recent Server 2003 SP1 code base - and this is a good code base for a mOS, because it no longer resets the USB during the boot process, as XP SP2 does.  So the odds are favorable for booting Vista mOS off USB flash drives, etc.&lt;br /&gt;&lt;br /&gt;Unlike a Bart boot, Vista mOS will "see" USB flash drives inserted and changed on the fly - they don't have to be present at boot time, as they do with Bart, and swapping them is OK too.  (Tip for Bart users; a memory card reader present at boot will generally allow hot-swapping of cards  after boot - so I share SD cards between Bart sessions and my camera, instead of using slower and more write-limited flash drives).&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;&lt;span style="color: rgb(255, 102, 0); font-weight: bold;"&gt;Running tools from Bart CDR&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Just for laffs, I ejected the Vista DVD and popped in my Bart CDR.  The &lt;a href="http://www.nu2.nu/nu2menu/"&gt;nu2menu&lt;/a&gt; (the standard "Start buttom" menu shell for Bart) worked fine, and many of the tools worked too.  Because the Bart drive letter is not the same as the boot drive letter, my own "Is this booted or Autorun?" batch file logic, e.g....&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;Set Prog=Ad-Aware.exe&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;Set Launch=%~dp0..\RunScanner\RunScanner.exe&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;Set Opt=/m /t 0&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;...&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;If "%SystemDrive%"=="%~d0" (&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;  Start %Launch% %Opt% %~dp0%Prog%&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;) Else (&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;  Start %~dp0%Prog%&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;...concludes Bart is being run from the "native" system OS, and not as the booted OS.&lt;br /&gt;&lt;br /&gt;That means my tools weren't running through &lt;a href="http://www.paraglidernc.com/RunScanner.html"&gt;RunScanner&lt;/a&gt;, which is probably prudent at this stage.  Yes, that means registry-orientated tools such as AdAware or HiJackThis will not "see" the HD installation's registry, but until we know RunScanner and legacy registry access methods are compatible with Vista's registry, it's safer this way.&lt;br /&gt;&lt;br /&gt;Many tools didn't work, because they relied on files and settings within the running OS.  The Bart &lt;a href="http://www.nu2.nu/pebuilder/help/english/pluginformat.htm"&gt;plugins&lt;/a&gt; for these tools would have included these in the Bart mOS, but that's not the OS that's in effect here - so if these resources aren't in the standard Vista code set, then the tools won't work.  That's to be expected; after all, if I'd just scraped them onto Bart without using the plugin system, they wouldn't have worked there either.&lt;br /&gt;&lt;br /&gt;All this testing was with the original Vista DVD - I haven't gone as far as building a new Vista mOS boot disk, nor have I explored "plugging in" tools as one does for Bart.  I'm not sure if either of these things would be possible, or whether the answers would change between the build I tested and the final release.&lt;br /&gt;&lt;br /&gt;Ah, for the time to &lt;span style="font-style: italic;"&gt;really &lt;/span&gt;explore this stuff!&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 102, 0);font-size:130%;" &gt;&lt;span style="font-weight: bold;"&gt;Conclusions&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;It's really good news to see a mOS for Vista, even if it's still not really orientated to mOS work.  For example, it won't operate unless there's a visible Vista installation on the hard drive, and the RAM testing component writes to and then boots from the hard drive installation - both of which are bad practices when dealing with systems that are &lt;span style="font-style: italic;"&gt;really&lt;/span&gt; ill.&lt;br /&gt;&lt;br /&gt;I think this is because the mOS is still rooted in its origins as a "(p)re-install environment", originally intended for use on perfect fresh hardware.  It was somewhat in response to this, as well as seeing some Bart off-shoots that also break some mOS best-practices, that prompted an earlier "&lt;a href="http://cquirke.blogspot.com/2006/09/how-to-design-mos.html"&gt;How to design a maintenance OS&lt;/a&gt;" post in this blog.&lt;br /&gt;&lt;br /&gt;The important things is that it's there, on the installation DVD (a break-through, if you'd ever peered longingly at MS WinPE though the previous licensing sphincter) and that the architecture seems fundamentally sound.  It needs to be tested more rigorously to see how well it stays within the rules of mOS best practice, but it's already more than I'd dared hope for!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11573761-115981842734402199?l=cquirke.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cquirke.blogspot.com/feeds/115981842734402199/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11573761&amp;postID=115981842734402199' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11573761/posts/default/115981842734402199'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11573761/posts/default/115981842734402199'/><link rel='alternate' type='text/html' href='http://cquirke.blogspot.com/2006/10/vitsas-maintenance-os.html' title='Vitsa&apos;s Maintenance OS'/><author><name>Chris Quirke</name><uri>http://www.blogger.com/profile/05538828571660803875</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://cquirke.mvps.org/images/cqhead.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11573761.post-115922065363287810</id><published>2006-09-25T13:32:00.000-07:00</published><updated>2006-09-25T14:54:27.833-07:00</updated><title type='text'>Banking on Java</title><content type='html'>Way back in 2003, South African bank ABSA were in the news after customers had lost money through hacking.  Here's a report from &lt;a href="http://www.iol.co.za/?click_id=594&amp;art_id=vn20030721021446941C869087&amp;amp;set_id=1"&gt;21 July 2003&lt;/a&gt; and another one with more &lt;a href="http://www.spywareinfo.com/articles/spyware/spotlight.php"&gt;detail&lt;/a&gt;.  The story was that some uber-hackers robbed ABSA, were caught, and now Internet banking is safe again.&lt;br /&gt;&lt;br /&gt;However, check out the detail on &lt;a href="http://www.f-secure.com/v-descs/bugbear_b.shtml"&gt;Bugbear B&lt;/a&gt; from June 2003; an in-the-wild malware that was noted to steal information from a number of banking domains in several different countries, including South Africa.  Was there one uber-hacker attacking ABSA, or multiple tiny hacks by folks who figured out how to make use of Bugbear B?&lt;br /&gt;&lt;br /&gt;The South African banking industry responded to the ABSA debacle by boasting new improvements in security, implying that what happened to ABSA would never happen at their bank.  These improvements included on-screen mouse-driven number pad to avoid keylogging, and free (but UI-less and thus uncontrollable) MyCIO antivirus and firewall from McAfee.&lt;br /&gt;&lt;br /&gt;At this point, the article you are reading is going to jump around seemingly-unrelated topics.  Have faith; it will all come together at the end...&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;&lt;span style="font-weight: bold; color: rgb(255, 102, 0);"&gt;Microsoft Java&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Sun sued Microsoft over the MS Java VM that was included in Windows and Internet Explorer, as Microsoft's Windows-specific extensions broke the "write once, run anywhere" goal of cross-platform usability.  Sun contended that developers attracted to MS Java would be locked into Windows by these extensions.&lt;br /&gt;&lt;br /&gt;Recently, I cleaned up an XP SP2 system that included Java malware, and which was running the old MS Java VM.  I found instructions on &lt;a href="http://www.java.com/en/download/help/uninstall_msvm.xml"&gt;removing MS Java&lt;/a&gt;, and the steps looked like those that should be done automatically by an uninstaller - if Microsoft had followed their own advice to developers and provided one for MS Java.&lt;br /&gt;&lt;br /&gt;Not only did Microsoft provide no Add/Remove entry for the MS Java VM, but running one of the manual steps to remove it popped up a dialog box with the odd warning that "Internet Explorer will no longer be able to download from the World Wide Web".  Now I can understand Java applets not working or pages being unable to display as the site intended, but not being able to do standard downloads?  Smells like a smoking gun to me...&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;&lt;span style="font-weight: bold; color: rgb(255, 102, 0);"&gt;Sun Java&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;By now, most users of Java will be using Sun's Java Runtime Engine (JRE) instead of Microsoft's Java Virtual Machine (VM).  We've also become accustomed to the need to fix code defects by updating subsystems such as Java, applying code patches, and so on.&lt;br /&gt;&lt;br /&gt;A long-standing bone of contention with Sun has been that when you install a new JRE, the old one remains in place - and we suspected this old and vulnerable code could be used and thus exploited by java malware.  We bitched about this all the way from 1.4.&lt;span style="font-style: italic;"&gt;xx&lt;/span&gt; through 1.5.&lt;span style="font-style: italic;"&gt;xx&lt;/span&gt;, and yet Sun just carried on installing new JREs while leaving old ones (at 100-150M apiece) in place.&lt;br /&gt;&lt;br /&gt;It seemed that unlike Microsoft, Sun just didn't "get" what patching was all about.  They seemed to think we downloaded and installed new JREs because we wanted kewl new features, and kept the old ones around for backward compatibility - whereas what we really want to do is &lt;span style="font-style: italic;"&gt;smash&lt;/span&gt; this "backward compatibility" so that malware could not exploit flaws in the old versions.&lt;br /&gt;&lt;br /&gt;Finally, Sun came clean and &lt;a href="http://sunsolve.sun.com/search/document.do?assetkey=1-26-102557-1&amp;searchclause=%22category:security%22%2420%22availability,%2420security%22%2420category:security"&gt;admitted&lt;/a&gt; what we'd always suspected; that a Java applet could specify which version of JRE it would like to be interpreted by, and the current version would obligingly hand off to the applet's JRE of choice.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;&lt;span style="font-weight: bold; color: rgb(255, 102, 0);"&gt;Java malware&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The first known Java virus was &lt;a href="http://www.javaworld.com/javaworld/jw-09-1998/jw-09-iw-virus.html"&gt;written&lt;/a&gt; in 1998, and &lt;a href="http://www.cnn.com/TECH/computing/9808/19/javavirus.idg/index.html"&gt;detected&lt;/a&gt; as &lt;a href="http://www.f-secure.com/v-descs/sbrew.shtml"&gt;StrangeBrew&lt;/a&gt;.  Since then, Java has been attacked and exploited in various ways, and both &lt;a href="http://www.java.com/en/download/help/cache_virus.xml"&gt;Microsoft&lt;/a&gt; and old &lt;a href="http://www.internetnews.com/security/article.php/3439391"&gt;Sun&lt;/a&gt; Java JREs are considered to be hi-risk exploitable surfaces.  By now, &lt;a href="http://www.trendmicro.com/vinfo/virusencyclo/alphalisting.asp?NAV=12&amp;ltr=J"&gt;Java malware abounds&lt;/a&gt;, and indeed there was such malware on the system I recently cleaned up.  The beat goes &lt;a href="http://www.iol.co.za/index.php?set_id=1&amp;click_id=13&amp;amp;art_id=qw115209522073B265"&gt;on&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Note the dates involved in some of the above links, e.g. Sun JRE 1.4.2.&lt;span style="font-style: italic;"&gt;xx&lt;/span&gt; was found to be exploitable way back in 2004 (the "Sun" link above) - as well as the versions that are vulnerable, such as 1.4.2_04.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;&lt;span style="font-weight: bold; color: rgb(255, 102, 0);"&gt;Internet Banking in 2006&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;After cleaning up the system, I uninstalled MS Java VM, checked that no old Sun JREs were present, and installed Sun JRE 1.5.008 as the only Java engine on the system.  After a while I had a call to say that Internet Banking wasn't working anymore.&lt;br /&gt;&lt;br /&gt;Indeed, it wasn't working, so I called the bank's tech support, explained the system's history and why the MS Java VM had been removed, and they gave me a link to download a fix.  The fix turned out to install the MS Java VM again, which I disallowed.&lt;br /&gt;&lt;br /&gt;I called back to ask about an update that would work with current Sun Java, and they said yes, the newest version of the software no longer needs MS Java.  I was a bit puzzled to hear it took them this long to switch, given that MS Java was pulled from XP in the days of SP1a, and SP1 is now so old that it's about to lose all further testing and patching, with SP2 as the new baseline.&lt;br /&gt;&lt;br /&gt;So we rushed off to the city to collect an installation CD for their newest software, as it is not available as a download.  This also did not work, and after another tech call, it turns out that this newest software does not support any Sun Java JRE beyond 1.5.005, so I was advised to fall back to that from the 1.5.008 that I was using.&lt;br /&gt;&lt;br /&gt;I noticed that the new banking software installed Sun JRE 1.4.2_03, which is ancient and has been vulnerable to attack since 2004 at least.  I uninstalled that old JRE when the banking software had finished installing, and after shutting down and restarting Windows, I tried the new banking software, which again failed to work.&lt;br /&gt;&lt;br /&gt;After a bit of technical discussion, it turns out that the new banking software's real JRE threshold is in fact 1.4.2_03, and the only reason it "works" up to 1.5.005 is because it relies on these newer JREs to pass control back to 1.4.2_03.&lt;br /&gt;&lt;br /&gt;This is really quite nasty, because users will think they are protected against Java exploits because they installed the latest JRE, while in fact the banking software is undermining this safety by slipstreaming in an old exploitable JRE.  It makes a mockery of banking's usual assertion that they do their best to maintain security, but are let down by users who fail to keep their PCs safe and clean.  There's something odd in being forced to accept an exploitability risk in order to use security-orientated software.&lt;br /&gt;&lt;br /&gt;I haven't named the bank in question (it's not ABSA this time), because they are the only bank I've had reason to check out.  For all I know, most or all of our local banks may be just as negligent, so it would be unfair to single out this one just because I found out about them first!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11573761-115922065363287810?l=cquirke.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cquirke.blogspot.com/feeds/115922065363287810/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11573761&amp;postID=115922065363287810' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11573761/posts/default/115922065363287810'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11573761/posts/default/115922065363287810'/><link rel='alternate' type='text/html' href='http://cquirke.blogspot.com/2006/09/banking-on-java.html' title='Banking on Java'/><author><name>Chris Quirke</name><uri>http:/
