Origin
After reading Joseph Cooney’s post on “Works on My Machine” I was inspired to integrate this prestigious certification program into my company’s typical workflow.
Introduction
The program applies only to developers and QA specialists who use virtual environments (VMWare, VPC, VirtualBox, etc.) for primary development and/or quality assurance. If the application meets the strict requirements stipulated below it may be branded with the “It Works on My Virtual Machine” logo.
Compatibility with other Certification Programs
This certification is compatible with “It Works on My Machine”. It will not qualify and application under “It Works on My Machine” automatically, nor will “It Works on My Machine” automatically qualify an application under “It Works on My Virtual Machine”. Each certification program needs to be met independently.
Technical Certification Requirements
- Compile your latest application code with the relevant compiler. This should include changes from other developers.
- Launch the application/site that has just been compiled.
- Set a breakpoint in the code and reach it. Use any means possible to ensure the path to the breakpoint executes, this may include (but is not limited to):
- Changing CPU registers (typically the instruction pointer) by manipulating the virtual machine host.
- Using the snapshot feature of the virtual machine host to return to a previous snapshot where the code path executed successfully. Depending on your virtual machine software you may have to take a snapshot before navigating to alternates.
- Manipulating the operating system and supplementary services (e.g. SQL) to ensure the path executes correctly.
- Check the code changes into your version control system.
- If the snapshot feature was used, ensure you return to the original state before checking the code in.
Notification Requirements
Customer and partners need not be informed of the branding; however, it is a preferable to place this logo in a clear location to indicate the quality of the software. Typical examples include:
- Splash screen on rich clients.
- Click-through interstitial landing page on websites.
- Ascii art in terminals.
- Using it to xor-encrypt sensitive data:
- The character string “It Works On My Virtual Machine” (without quotes) repeated for the duration of the plaintext.
- The byte stream of the logo image repeated for the duration of the plaintext.

One Trackback
[...] http://jonathan.dickinsons.co.za/blog/2009/07/it-works-on-my-virtual-machine/ [...]