Latest Google Chrome kills “Most Recent Tabs” feature

September 27, 2013 12:59 by docbliny 

UPDATE 2/22/2014: Google kills the workaround without fixing the original issue. Total cluster-fail. #chromefail

Well, not completely (unless you’re an unlucky sod like me), but makes it unusable. You now have to reopen each previously closed tab one-by-one. No more clicking on “21 closed tabs” to open up what you were working on previously. Unfortunately, the new menu item is greyed out completely for me and doesn’t show _any_ recently closed tabs.

Luckily, there’s a way to disable this new feature (along with the new big search box and not seeing Chrome Apps in the start window):

  1. Open a new tab, and enter chrome://flags .
  2. Search for Enable Instant Extended API for Mac, Windows, Chrome OS.
  3. Select Disabled from the dropdown.
  4. Restart Chrome.

Wave licensing center suddenly think you’re on a different machine?

September 15, 2013 16:02 by docbliny 

I started up Cubase for the first time in a few weeks, and I immediately got an error from my Waves plug-ins stating that its licenses couldn’t be found. This obviously freaked me out; I started the Wave License Center, and noticed that it couldn’t identify my machine anymore, and all my old licenses were listed under View All Licenses under the real name of the computer.

Long story short, I’d installed Visual Studio 2013 Pro Preview and along with that the Windows Phone dev kit (Don’t get me started how bad an idea it is to have everything on one machine…). Anyway, Waves didn’t recognize the machine because the network traffic was going through the Hyper-V vEthernet (External Switch) adapter with a different MAC address.

The fix:

  1. Start Hyper-V Manager.
  2. Click Virtual Switch Manager under the Actions pane.
  3. Select External Switch under the Virtual Switches pane/group.
  4. Select Internal Network, and then click OK.
  5. Close the Hyper-V Manager control panel.
  6. Open up your Network Connections control panel, and then disable vEthernet (External Switch) and vEthernet (Internal … Windows Phone Emulator…).
  7. Reboot (to be safe).

After a restart (and writing this post), I was good to go (but where’d my musical inspiration run off to in the meantime?)

Surface Pro and Screen Rotation Issue

February 17, 2013 10:10 by docbliny 

I was having the rather irritating issue with my Surface Pro where I’d hop on the train for my morning or afternoon commute, and the screen wouldn’t rotate (change the orientation) when I was trying to read with my Kindle app. What made it frustrating was that it’d start working again when I arrived. I read the troubleshooting document and then contacted Microsoft support and they weren’t able to reproduce the issue. This morning, I finally figured out what was going on.


Remoat Home Automation Software

June 30, 2012 17:31 by docbliny 

Since I missed the May Home Automation Month, I really need to make up for it somehow. So here’s a quick video of Remoat (, a little utility I’ve been putting together in my spare time. It’s not really production-ready, but I’ll make the source available for the hackers out there.

Currently it needs/supports the following:

  • Windows Media Player: Plays music from your library.
  • MiCasaVerde Vera: Allows you to turn on binary devices, such as lights that you’ve got configured.
  • mControl 2.X: There’s some old code in the package from when I was running mControl on my WHS box (which had sequential disk failures and in the end killed my RAID –> switched to a QNAP NAS). Unsupported.
  • Windows Vista/7 speech recognition: This is required (part of the operating system anyway).
  • Windows text-to-speech: You can specify which audio device is used for speech output. This lets you hook up a pair of speakers that are always on and have the PC hooked up to you’re a/V system for better quality playback. Part of the operating system.

Is your Ajax application really slow on IE7? Here’s a tip

July 11, 2011 11:56 by docbliny 

Is your Ajax application running really slowly for users on IE7 (poor folks)? Have you narrowed down the cause to updating the history with location.hash? Is dynaTrace showing you that it’s actually the native DOM call hanging for more than 5 seconds?

If so, disable the Internet Explorer 7 Developer Toolbar and associated Browser Helper Object (BHO).

System.Speech.SpeechRecognizer works, SpeechRecognitionEngine doesn’t

April 24, 2011 08:53 by docbliny 

I believe I've found an issue with the managed speech recognition libraries. The short problem description is that I am unable to use SRGS/.grxml files that contain "ruleref" elements pointing to other files with System.Speech.Recognition.SpeechRecognitionEngine (InProc). They load fine when using SpeechRecognizer.

After debugging (and finally making a custom build of System.Speech.dll), I've narrowed down on the issue. When you use an InProc recognizer, RecognizerBase.cs sets a custom grammar loader (ISpGrammarResourceLoader). Unfortunately, the RecognizerBase.LoadResource method that is used will receive a null value for the last argument ("pbstrRedirectUrl"), and cause a null exception when it tries to do a split on the null string. This also explains why SpeechRecognizer does not have any issues with the same files.

The same issue happens with both 3.5 and 4.0 versions of the Framework.


I can’t get a speech recognition project I started in 2008 to correctly load the grammar definition files (.grxml / SRGS) in my current environment (Windows 7 64-bit) with SpeechRecognitionEngine.


Well, turns out that the shared SpeechRecognizer will correctly load the exact same GRXML files with external ruleref definitions. After hunting through the .NET source code, the culprit might be in the RecognizerBase.cs method named LoadSapiGrammarFromCfg(). It sets a custom grammar loader for SAPI only when using an InProc recognizer (which SpeechRecognitionEngine is). The comments even state “The rulerefs will be resolved locally.”

So, I have the following options:

  • Continue debugging .NET to see if the behavior has changed, and I’m simply missing some element in the XML file. This doesn’t seem likely, as ProcMonitor clearly states that only the first file even gets a open/read attempt. I’ve tried setting the base URI, used absolute paths, did a quick attempt at loading from a URL. The problem is made worse by the fact that I can’t step through the .NET code in either Visual Studio 2008 or 2010. Fixing that will take its own time… I could try using the .NET Framework code (fingers crossed all the required files are available) directly.
  • Switch to using SpeechRecognizer. I don’t want this, because I’d end up with a broader dictionary which will reduce accuracy.
  • Merge my GRXML files. Yuck. There’s a reason for ruleref support in the files. In addition, the app is meant to be extensible, and having to merge files just makes things harder for the developer and end users.
  • Go down the path of using SpeechLib/SAPI, but looking at the amount of code in the Framework, this seems totally redundant.

Error Info

  • SapiErrorInvalidImport A rule reference to an imported grammar cannot be resolved.
  • 0x80045024
  • -2147200988

Why does System.Speech.Internal.SrgsCompiler.CompileStream() default to “es-us” CultureInfo?

April 23, 2011 09:16 by docbliny 

UPDATE: Nevermind, this is a patch for the "es-us" culture which has the ID 0x540A.

I been trying to track down why I can’t get GRXML files that have ruleref elements pointing to external files working with Windows 7 (64-bit), and ran into the following line of code:

culture = (backend.LangId == 0x540a) ? new CultureInfo("es-us") : new CultureInfo(backend.LangId);

Note the "es-us" locale. Weird. Now back to banging my head against the original problem.

Setting up GWT Development - Quick Start

March 23, 2011 20:21 by docbliny 

The following assumes you’re starting from scratch and need to install the basic software to get going.

  1. Install Eclipse.
    1. Download the appropriate version from . I usually get the Java EE version.
    2. Unzipping this will take a moment. I highly recommend using 7-Zip and making sure you don’t unzip over/on a network drive.
    3. Copy the extracted files to an appropriate place. I drop mine in the Program Files folder.
    4. Create a desktop icon / shortcut for eclipse.exe.
  2. Download and install Java Development Kit JDK.
    1. Download the appropriate version from
    2. This takes even longer.
  3. Start Eclipse and set up the Google Eclipse plug-in. The first time you start Eclipse, it’ll prompt you for a location for the workspace.
    1. Click the Help-menu, and then click Install New Software….
    2. Enter the appropriate plug-in installation path from, and then click Add….
    3. Enter Google Plug-in or similar into the Name field, and then click OK.
    4. Check Plugin and SDKs.
    5. Follow the instructions to finish the wizard.
    6. Restart Eclipse when prompted.

(Tripplite) Keyspan Front Row Remote Control

May 22, 2009 16:06 by docbliny 

The Keyspan ER-RF1 USB remote is designed to work with Macs, but I just plugged it into my Vista machine and it showed up as a standard HID compliant device just fine. The keys, as far as I’ve had time to figure them out, are:


+ Up Arrow
- Down Arrow
<< Left Arrow
>> Right Arrow
Play/Pause Space
Menu Command-Esc (Mac)
Mute Mute
Eject Eject (Mac)
Sleep Command-Option-Eject (Mac)


Now all I have to do is get some steering wheel bezels and suitable buttons to hook that up to the CarPC.

Windows 7 (RC1) wallpapers posted on flickr

April 24, 2009 17:13 by docbliny 

Some mighty trippy default images seem to be in store for Windows 7.

RC1 wallpaper

See them all here.