“History Spam” driving me nuts

Lately I’ve noticed that the back button on my browser seems to not work. I hit back, and nothing happens. So I check the history, and see something like this:


A whole bunch of instances of http://view.atdmt.com/ URLs. I’m not sure what advertising company this it, but it is strange that it got me while using YouTube.

I did a quick search, and I’m not the only one bothered by this: http://boards.straightdope.com/sdmb/showthread.php?t=655982

It seriously needs to stop. Advertisers don’t want people blocking ads, but then they do crap like this. I for one have no problem with non-intrusive, relevant ads. I will never click on a popup, or pop-under ad (and I would suggest you do the same)

Microsoft .NET Framework 4.5 final is available; avoid the RC

For some reason searching for .Net 4.5 on  Google brings up the link to the .NET 4.5 Release Candidate download, when the final is available.

You can grab it here: http://www.microsoft.com/en-us/download/details.aspx?id=30653

(I seem to recall this happening back when .NET 4 was released – you would think MS would put a big note that the Final is out, but instead I found it in the “What other’s are downloading” below.

While you’re at it, check out the new features: http://msdn.microsoft.com/en-us/library/ms171868.aspx

Probably my favorite new functionality is the async / await pattern for asynchronous coding. It is so ridiculously much better than the delegate / callback pattern you have NO idea. Seriously, we’re talking an order of magnitude reduction in code complexity.

Locking down a Virtual Machine with BitLocker

BitLocker is Microsoft’s volume encryption solution built into several versions of Windows since Windows Vista. (There is an excellent Open Source alternative in TrueCrypt, but it just has that 3rd party feel to it. That and this particular task is easier with TrueCrypt so you wouldn’t need my help)

Normally, BitLocker use the TPM (i.e. Trusted Platform Module – see Wikipedia) to use your physical hardware as a factor in the encryption key, and leverages the key-toting abilities of the TPM at boot time. So long as your hard drive remains inside your machine it can boot. Take it out, and it’s just a mess of encrypted junk (Although your backup key can still unlock it).

I’m guessing that if you landed here, you are keenly aware of Bitlocker and it’s uses. You may have already tried to use BitLocker on a Virtual Machine and failed. This article is for you. – read on!

Continue reading

Fixing the gigantic header on Twenty Eleven WordPress theme

Out of the box, the 2011 WordPress default theme is very visual… but it also requires a heavy bit of scrolling to reach the content.

Have a look at a sample:


That banner image is 1000 x 288 pixels.

The first step I took toward reigning in this space consumption was to use a shorter banner image – mine is 1000 x 170:

(It is a macro photo of the inside of an old 2gb SCSI hard drive)

This helps, but now the banner is about the same height as the white space above.

The first step toward fixing this comes from a blog post here: http://www.throwingabrick.com/wordpress/customizing-twenty-eleven-theme-banner.html

Essentially, you customize the css for the site (which can be done without creating a fullblown child template by clicking the “Edit CSS” link from the Manage Themes page. You then paste this in:

#site-title {
position: absolute;
left: 7.2%;
top: 0.125em;
#site-description {
position: absolute;
left: 7.6%;
top: 6.625em;
#branding #searchform {

Note: I modified Roy’s code a little to force the search box to have a white background, and the description text to be white.

You can change the Title text from the Themes Page –> Header.


With the applied changes, my header now looks like so:


Much shorter.

WinRT – A gift from the past…

Just came across this enlightening blog post while asking Google if Microsoft was going to abandon .NET : http://www.guardian.co.uk/technology/blog/2012/feb/17/winrt-windows-8-microsoft-programming

EDIT I found another developer blog with similar concerns: http://realworldsa.blogspot.com/2011/09/today-microsoft-killed-net-good-bye-wcf.html

I realize I’ve been complaining off and on – sometimes rather dramatically – that Microsoft is making some really terrible decisions of late. The aforementioned article helps at least give an explanation to one of those decisions:

WinRT was developed by the people who write drivers and kernels. Those people are undoubtedly C++ developers who do not consider the .NET dialects “real languages.” Which is really unfortunate, because C++ is about the worst language (short of assembly) for writing maintainable, reliable, testable, or portable code. The only upside is that if you are good at it and spend orders of magnitude more time coding, your code will be more efficient.

Windows 8 Metro apps are meant to work on both desktop and tablet PCs (even though they must be compiled separately for each platform…) Tablet PC will have seriously limited horsepower, and clock cycles equate directly to battery life. So… we go back to using C++, and impose limitations worse than PocketPC to all hardware platforms. (Bad news – C++ is only more efficient if you are good at it) (Also, HTML5/JavaScript is a really bad place to invest significant development effort when literally every new release of web browsers has resulted in breaking changes)

What should have happened is optimization of .NET for efficiency. Not pushing business application developers to become experts in memory management, pointers, references and clock cycles.


WinRT seems to be what the developers of Win32 wish they had done back in 1998, rather than a proper evolution of development technologies.


(By the way, I’ve said it before but I feel the need to mention again – Metro (aka “Windows Store” aka “Windows-8-UI”) apps can not and will never replace desktop apps. And desktop apps are not and will never be “legacy” despite some people throwing around the term. Certain parties at Microsoft would love to get a 30% cut of all developer profits, so phasing out desktop apps is certainly a bullet point in their PowerPoint, but reality will hopefully keep this at bay)

The stats now: Microsoft is alienating it’s largest user base by forcing a tablet interface onto a PC. They are alienating manufacturers by developing their own hardware and licensing portions of the OS to “chosen” companies. They are alienating mobile users and developers by essentially abandoning Windows Phone 7 and providing no upgrade path. And finally they are alienating the vast majority of developers with massive restrictions and profit cuts.

No Google AdSense for me (UPDATED: and it was my fault)

UPDATE 9/3/2012

After looking things over I found out why I got rejected, and why it happened so quickly: My About and Privacy policy were the default “This is a WordPress page, you can customize etc…” AdSense uses bots to perform an initial analysis of your site looking for “low hanging fruit”. Things like non-updated about pages are a big red flag. I updated my About page, as well as throwing in a standard privacy policy, and viola! I passed the automatic scan within minutes!

Moral of the story: Make sure you have fully configured your blog before applying to AdSense.


As an amateur tech blogger (with ADD), I believe my content should be as information-dense as possible. My posts are largely examples, code snippets, links and the occasional rant. If it takes paragraphs to explain, I’m doing it wrong.
Likewise, if I am posting about something that can be easily be found on Google already, I’m not going to waste the time. More on this in a minute…

Like most people with bills to pay (even more so people with spouses), it is always nice to be reimbursed for the things I spend time on. So I decided what the heck – I’ll throw some unobtrusive targeted ads on my page and see if I can’t get a couple bucks a year for my efforts.

I submit my application to Google AdSense, and come morning I have the following in my inbox:


Thank you for your interest in Google AdSense. Unfortunately, after
reviewing your application, we’re unable to accept you into AdSense at
this time.

We did not approve your application for the reasons listed below.


Insufficient content


Further detail:

Insufficient content: To be considered for AdSense, your site must contain
enough text content for our specialists to review and for our crawlers to
identify relevant ads to show on your pages. We recommend including more
complete sentences and paragraphs on your site. We require websites to be
fully launched and functioning, allowing users to navigate throughout your
site with a menu, sitemap, or appropriate links. Once the majority of your
site is complete and functional, we’ll be happy to reconsider your


Insufficient content. While I’m not the most prolific blogger on the internet, I try to make sure my posts are original, and provide some nugget of information that was otherwise difficult to find. Said nuggets often (if not usually) do not require paragraphs of disposition. In some cases, complete sentences might not be required.

The purpose of this blog is to make the internet less fail. I will of course continue to do so without Google’s support, but it is a bit disappointing to be told my years of effort isn’t relevant.