Tuesday, March 23, 2010


Dolla bills fo da WMDs.


Monday, March 8, 2010

Faith is Flawed

H. L. Mencken wrote, "It is not materialism that is the chief curse of the world, as pastors teach, but idealism. Men get into trouble by taking their visions and hallucinations too seriously."

When 11-year-old Madeline Neumann began suffering acutely from runaway ketoacidosis as a result of untreated diabetes, her parents, devout followers of the Bible, did what they thought was right. They prayed. Ultimately, Madeline died a painful, miserable death. This poor child suffered for over thirty days with extreme thirst, nausea, and weakness, all caused by an easily treatable condition.

David Koresh, the late leader of the Branch Davidians, claimed he not only possessed the gift of prophecy, but also claimed to have a vision that he was Cyrus, a reincarnation of the first Zoroastrian Persian emperor and founder of the Persian Empire. Ultimately Koresh and many of his followers perished in flame following the tragic Waco siege, paying the ultimate price for their deep commitment to their beliefs.

These people all share a common thread, they believed in what they were doing. The Neumann parents, fervent believers in the Scripture, convinced themselves that prayer would bring their daughter free and clear of suffering, and indeed following Madeline's death they dejectedly claimed that it was their own lack of faith which failed to bring their daughter back from the brink. Koresh, a fanatical believer in prophecy and his place as a new messiah appointed by God, led himself and dozens of devoted followers willingly into the sights of brutally effective government firepower.

William James, the pioneering psychologist and philosopher, defined true beliefs as those that prove useful to the believer. Certainly, believing that prayer will heal and that prophecy is truth served the people described above who embraced these beliefs. It gave them a sense of power, a sense of purpose, reassurance that they could apply the force of faith to their respective situations and prevail against evil.

The problem, however, is that beliefs do not counteract brutal reality. I don't claim knowledge of a "soul" or any intangible, nebulous definition of human existence that persists beyond the physical realm, but at the same time I do not discount this possibility.

I simply refuse to define and decide, within the confines of my merely human mind, that spectacularly serendipitous events like an ailing child healing or a band of followers providing the boon of their fealty to me are realistic expectations of fervent belief in a thing which, for all intents and purposes, is a product of my own imagination.

God exists in countless forms to countless people. Mencken, in his Treatise on the Gods, suggested that mysticism is the purest form of religion because it demands no tithe, no steeple, no trappings of religious doctrine, but merely an intimate, personal relationship of devotion and contemplation. This seems to me a more sensible system of belief than almost any form of organized religion in existence today, since God is not presented like some new car, a flagship ride to salvation, by bands of Its followers. Rather, God makes Itself known to the believer in a manner It deems fit, without outside influence and without mindlessly embracing scriptural doctrine maintained by human beings.

The aforementioned danger, of course, exists in the faith of mystic as well as maniac believer in religion, that they will be compelled to transform visions and compulsions into reality, in their mind purely for their God, but in essence either good or evil depending upon the impact to themselves or others.

Perhaps, in the end, it is safer and wiser to simply adhere to the New Commandment of Jesus Christ, "A new commandment I give unto you, that you love one another." Love is simple and true and in its purest forms leads to happiness for all involved. Better yet, love among creatures with intelligence, like dogs, is reciprocated in ways that are clear and meaningful, though they, like faith, are ultimately intangible.


Constructive commentary is always welcome!

Thursday, February 11, 2010

Automatic Updates Strikes Again!

Visual Studio 2008, greeted me with this message:

Cannot find one or more components. Please reinstall application.

I awoke this morning to discover that Automatic Updates had happily updated and rebooted my laptop. Fine, whatever. I'd saved my important stuff before turning in last night, so no big deal, just annoying... except for the part where it seemingly destroyed my completely legal and presumably up-to-date install of VS 2008.

Fortunately after some digging I found a solution here, which basically involves recovering at least one DLL (in my case, ATL90.DLL) and copying it to a folder with a name similar to "C:\WINDOWS\WinSXS\x86_Microsoft.VC90.ATL_1......"

The actual destination folder appears to include a build number, so maybe whoever at Microsoft released this latest update to the masses simply forgot to include this essential little file in the update?

I found some of the other missing DLL names amusing. IESHIMS.DLL, for example, includes the word "shim", which in engineering parlance is "...a thin and often tapered or wedged piece of material, used to fill small gaps or spaces between objects," but in computing is "...a small library that transparently intercepts an API, changing the parameters passed, handling the operation itself, or redirecting the operation elsewhere." WER.DLL contains wer, which is in German a pronoun for "who".

Speculation abounds. Who will we pick from our resource pool to fix this, someone who knows their shit, or a convenient intern instead? I wonder if our team lead would like a shim shoved where the sun don't shine to facilitate following some semblance of best practices?

This cries out as a leftover hunk of code that maybe someone at Microsoft slapped together years ago and put it on their little Post-It™ of a todo list to tidy up, which happened to be close to the shredder, which also happened to be in an office with a ceiling fan set on ludicrous speed or a cat with an affinity for ink and paper.

Or, maybe the original developer given the task to do this was killed in a fatal car crash, never to replace the shim with something more... elegant.

Now I'm asking Microsoft the question, who shimmed on my work, and how may I smite them?

3/8/2010 - UPDATE

A user in the forum thread I mention above was able to reinstall the following Microsoft security update and successfully dig themselves out of the pit of despair this error caused:

Microsoft Visual C++ 2008 Service Pack 1 Redistributable Package ATL Security Update


Friday, December 4, 2009

IE8 Blank Page, Can't Browse

After some recent Windows updates, I noticed that Internet Explorer 8 didn't seem to want to browse the web.

I'd open the browser, and it wouldn't even open my home page, it would just sit at a blank screen. I could tell it was doing something; if I clicked Help, the dropdown menu showed Customer Feedback Options as the only available item (ironically enough), everything else was grayed out.

Further, if I opened a new tab and chose Reopen Last Browsing Session, it would at least load my previous session just fine, but any attempts to browse beyond this failed, as if IE8 were just spinning its wheels.

I found a fix here which worked for me. The original forum post includes a modified version of the IEREREG batch file by Kai Schaetzl that works with 64-bit Windows, but the one I'm quoting below works specifically with 32-bit Windows. It has comments describing various symptoms each step intends to address, it's almost like electroshock therapy for Internet Explorer, it re-registers many of the system components it needs in place to function normally.
@echo off
echo IEREREG Version 1.07 for IE8 27.03.2009
echo by Kai Schaetzl http://iefaq.info
echo installs and registers (if suitable) all DLLs known to be used by IE8.
echo should only take a few seconds, but please be patient
REM ******************************
echo registering IE files
REM IE files (= part of setup)
regsvr32 /s /i browseui.dll
REM regsvr32 /s /i browseui.dll,NI (unnecessary)
regsvr32 /s corpol.dll
regsvr32 /s dxtmsft.dll
regsvr32 /s dxtrans.dll
REM simple HTML Mail API
regsvr32 /s "%ProgramFiles%\internet explorer\hmmapi.dll"
REM group policy snap-in
regsvr32 /s ieaksie.dll
REM smart screen
regsvr32 /s ieapfltr.dll
REM ieak branding
regsvr32 /s iedkcs32.dll
REM dev tools
regsvr32 /s "%ProgramFiles%\internet explorer\iedvtool.dll"
regsvr32 /s iepeers.dll
REM Symptom: IE8 closes immediately on launch, missing from IE7
regsvr32 /s "%ProgramFiles%\internet explorer\ieproxy.dll"
REM no install point anymore
REM regsvr32 /s /i iesetup.dll
REM no reg point anymore
REM regsvr32 /s imgutil.dll
regsvr32 /s /i /n inetcpl.cpl
REM no install point anymore
REM regsvr32 /s /i inseng.dll
regsvr32 /s jscript.dll
REM license manager
regsvr32 /s licmgr10.dll
REM regsvr32 /s msapsspc.dll
REM regsvr32 /s mshta.exe
REM VS debugger
regsvr32 /s msdbg2.dll
REM no install point anymore
REM regsvr32 /s /i mshtml.dll
regsvr32 /s mshtmled.dll
regsvr32 /s msident.dll
REM no reg point anymore
REM regsvr32 /s msrating.dll
REM multimedia timer
regsvr32 /s mstime.dll
REM no install point anymore
REM regsvr32 /s /i occache.dll
REM process debug manager
regsvr32 /s "%ProgramFiles%\internet explorer\pdm.dll"
REM no reg point anymore
REM regsvr32 /s pngfilt.dll
REM regsvr32 /s /i setupwbv.dll (not there anymore!)
regsvr32 /s tdc.ocx
regsvr32 /s /i urlmon.dll
REM regsvr32 /s /i urlmon.dll,NI,HKLM
regsvr32 /s vbscript.dll
REM VML renderer
regsvr32 /s "%CommonProgramFiles%\microsoft shared\vgx\vgx.dll"
REM no install point anymore
REM regsvr32 /s /i webcheck.dll
regsvr32 /s /i /n wininet.dll
REM ******************************
echo registering system files
REM additional system dlls known to be used by IE
REM added 11.05.2006 Symptom: Add-Ons-Manager menu entry is present but nothing happens
regsvr32 /s extmgr.dll
REM added 12.05.2006 Symptom: Javascript links don't work (Robin Walker) .NET hub file
regsvr32 /s mscoree.dll
REM added 23.03.2009 Symptom: Find on this page is blank
regsvr32 /s oleacc.dll
REM added 24.03.2009 Symptom: Printing problems, open in new window
regsvr32 /s ole32.dll
REM mscorier.dll
REM mscories.dll
REM Symptom: open in new tab/window not working
regsvr32 /s actxprxy.dll
regsvr32 /s asctrls.ocx
regsvr32 /s cdfview.dll
regsvr32 /s comcat.dll
regsvr32 /s /i /n comctl32.dll
regsvr32 /s cryptdlg.dll
regsvr32 /s /i /n digest.dll
regsvr32 /s dispex.dll
regsvr32 /s hlink.dll
regsvr32 /s mlang.dll
regsvr32 /s mobsync.dll
regsvr32 /s /i msieftp.dll
REM regsvr32 /s msnsspc.dll #no entry point
regsvr32 /s msr2c.dll
regsvr32 /s msxml.dll
regsvr32 /s oleaut32.dll
REM regsvr32 /s plugin.ocx #no entry point
regsvr32 /s proctexe.ocx
REM plus DllRegisterServerEx ExA ExW ... ?
regsvr32 /s /i scrobj.dll
REM shdocvw.dll hasn't been updated for IE7 and IE8, it still registers itself for the Windows Internet Controls
regsvr32 /s /i shdocvw.dll
regsvr32 /s sendmail.dll
REM ******************************
REM PKI/crypto functionality
REM initpki can take very long to run and is rarely a problem
REM if there are problems with crypto, SSL, certificates
REM remove the three following REMs from the lines
REM echo We are almost done except one crypto file
REM echo but this will take very long, be patient!
REM regsvr32 /s /i:A initpki.dll
REM ******************************
REM tabbed browser, do at the end, why originally with /n ?
regsvr32 /s /i ieframe.dll
REM ******************************
echo correcting bugs in the registry
REM do some corrective work
REM Symptom: new tabs page cannot display content because it cannot access the controls (added 27. 3.2009)
REM This is a result of a bug in shdocvw.dll (see above), probably only on Windows XP
reg add "HKCR\TypeLib\{EAB22AC0-30C1-11CF-A7EB-0000C05BAE0B}\1.1\0\win32" /ve /t REG_SZ /d %systemroot%\system32\ieframe.dll /f
REM ******************************
echo all tasks have been finished

Once I created and ran the batch file I created above, IE8 can now happily continue to force web developers to make absurd accomodations for its nonconformist self. BING!