Vibratium 1.0.2 Update

Vibratium Version 1.0.2 is now available. I fixed a few bugs and added a new Diff combine option.

SSELibrary Available

For any of you coders out there interested in high throughput code in .Net I’ve made available (most of) the library I wrote to wrap the SSE and AVX functions.

More here –

Introducing Vibratium


Download Vibratium 1.0.1
Download Vibratium 1.3
(More info here

Vibratium allows you to generate unique animations that would be impossible to do manually.  This is done by combining the output of “render points,” which are wave-based animations, each centered at a single point.

Click the images above to view the 800×800 versions in new tabs.  I especially like the red one as I somehow generated a triangle fractal pattern. (Note that it links to the bmp version which is ~2.4MB.)


Videos here – YouTube Vibratium Playlist
Here’s the project file for the first video –

Continue reading

WinForm Label Not Getting Focus

I have a user control that contains a few other controls, including Labels.  When any of the controls gets focus I want the parent to get notified.  I added an Enter event handler to the parent.  (Note: with Forms the equivalent to Enter/Leave is Activate/Deactivate.)  This almost works – any time I click on anything *except* the Labels the parent control gets focus.  After a bit of research I realized my error – Labels cannot receive focus, therefore the Enter event never fires despite it being there due to deriving from the Control class. (Enter and Leave events travel up the tree so all parents controls get notified.)

Stepping back, what I really want is that when I click anywhere on the control an Enter event is fired.

Continue reading

App-V: Can I use the B drive?

In large and diversified organizations it is often difficult to find one available drive letter to standardize on due to legacy applications, network share mappings, etc.  So the question sometimes comes up – can we use the B drive? Continue reading

App-V: Hiding the Q: Drive

In some business environments the end users are particularly touchy about anything on the desktop changing, and when something does it results in helpdesk calls.  One of the changes that users often notice when you install the App-V client is the appearance of the Q: drive.  This is a virtual drive that is used to mount application packages.  They can see the drive but get an access denied when they try to browse to it.  So I sometimes get the question – can we hide it?

Continue reading

Prompting for Elevation on the Secure Desktop

One of the most annoying aspects of UAC is the screen dimming when you get prompted for elevation. The elevation prompt is being displayed on the special “Secure Desktop” where only trusted System-level processes are allowed to run.  This is done so malware can’t spoof the prompt. Continue reading

Thumbnails on Windows Server

I use Windows Server 2008 R2 as my primary workstation, mostly so I can run Hyper-V.  (At least until I get the time to upgrade to Windows 8.)  One issue in particular that’s been irritating me is the lack of thumbnail previews on my pictures.  It just works on my laptop.  I finally decided to fix it and it turns out the solution is very simple.  Continue reading

The Regedit You Never Knew

You’ve used regedit thousands of times and you know it inside and out, right?  Wanna bet?  I’ve got ten advanced tips that you probably didn’t know.  And if you’re like most of the engineers I’ve taught your reaction to the first one will be audible.

Continue reading

Hyper-V General Access Denied

I recently made a change to a VM that I wanted to roll back but I didn’t have a snapshot.  So I turned the VM off, renamed the old vhd, and copied a recent backup from another machine.  When I went to start the VM I was greeted with an access denied and the following event in the Hyper-V event log:

‘Win7Seqx86’: IDE/ATAPI Account does not have sufficient privilege to open attachment ‘H:\VM\Win7Seqx86\Win7Seqx86.vhd’. Error: ‘General access denied error’ (0x80070005). (Virtual machine ID ECA0BD63-76CE-4C5E-96AB-44F0D635CBB3)

Continue reading