HOWTO: Convert a VirtualBox image to a VMware Disk Image

VirtualBox Oracle logoWhile playing with the recent FreeDOS 1.1 release (only 17 years in the making), I found a need to convert a VirtualBox appliance image to a VMware disk image, but the steps weren’t clear or straightforward.

Here’s what I did, in a nutshell:

  1. First, install VirtualBox. You can grab the install from the main VirtualBox downloads page. I run Linux, so I grabbed those. If you run Windows or Mac, you’ll want to pick one of those installers specific to your platform
  2. Once installed, you’ll find that VirtualBox comes with a tool called “vboxmanage”. We’re going to use this to convert the image from a VirtualBox .vdi image to a “raw” image file.
    $ vboxmanage internalcommands converttoraw FreeDOS-1.1+networking.vdi FreeDOS-1.1+networking.raw
  3. Next, we want to take that image and convert it to a proper VMware disk image. To do that, we need to install QEMU and use one of the tools provided with that package to do the conversion for us. Since I run Debian, this was as simple as an apt-get to fetch what I needed.
    $ sudo apt-get install qemu-kvm
    Unpacking replacement qemu-kvm ...
    Processing triggers for man-db ...
    Processing triggers for ureadahead ...
    ureadahead will be reprofiled on next reboot
    Setting up qemu-kvm (0.12.3+noroms) ...
    start: Job is already running: qemu-kvm
  4. Then we want to convert the “raw” image we created with vboxmanage to an image that VMware knows how to use:
    $ qemu-img convert -O vmdk FreeDOS-1.1+networking.raw FreeDOS-1.1+networking.vmdk

That’s basically it. Once that was converted, I created a basic VMware virtual machine (.vmx file) to refer to that .vmdk file, and then did my post-conversion tweaks and hacks to minimize the size of the VM, disable some unnecessary BIOS options inside the VM, and archived it away.

Update: If you want to do this all in one step, here’s a quicker way:

$ vboxmanage clonehd FreeDOS-1.1+networking.vdi FreeDOS-1.1+networking.vmdk –format VMDK \
–variant standard –type normal –remember

Simple, right?

At 1:38pm today, I lost my best friend, my buddy, Dart…

Cute face of Dart
He’s not really lost, he’s still alive and well, preserved in my memories, thousands of photos and the remaining energy he left around my home. He’ll live on immortal as long as I don’t let those memories fade.

Dart lived a happy, bountiful life with his bigger brother “Monk” taking care of him every day. While they were only a year or so apart, they both grew up so fast, with Dart taking the dominant lead at the food bowls and watering cooler and Monk passively waiting his turn. He never wanted for anything, and had anything he could need. Not even the Type 1 Diabetes diagnosis he carried for the last year of his life could slow him down.

Dart, I won’t forget the way you’d chatter your jaws at the birds outside the window, or frantically chase the laser pointer across the floor with your oversized paws. The speed you’d get that yellow ball going around the track playing “tunnel-ball”. The way you’d play fetch up and down the stairs with whatever I could get you to grip in your teeth. You’re the only cat I’ve ever had that I taught to play fetch, and maybe you’ll continue to hold that title forever.

I will miss all of our good times together, curled up with movies, spinning you in circles on the floor, sharing fresh canteloupe slices together, watching the way you’d devour whole green olives with the pimento included, or chasing bugs around the lights. You were such an original, weird cat. The silence in my home will no longer be broken with your loud meows from afar or your fast running from room to room.

Monk already knows you’ve gone. He spends the days and nights going from room to room, searching all of your hiding spots, meowing “Marco” in the hopes that you’ll return with a familiar “Polo” so he can find you in the dark somewhere. But nothing other than silence accompanies his calls. I think he’s going to miss you most of all. His little buddy is gone now, and he’s all alone.

I didn’t want to let you go… but you and I both held on until the very last minute. Your organs just started failing you, for reasons that no medicine or medical procedure we tried, could find. I did everything I could to ease your pain and suffering, and I was left with only one choice.

The worst of all choices.

Read the rest of this entry »

HOWTO: Successfully Manage Your Email Like a Jedi

email inbox spam trashI receive a lot of email. A LOT, across at least five (5) personal email accounts and one (1) internal work email account. I see something along the lines of 300-500 emails every single day, of which about 80% require my personal attention or response.

Without the ability to aggressively manage the volume of incoming email, I’d be drowning in a very full email Inboxes across all of my accounts in a few days.

I’m going to attempt how to describe how I’ve been managing my email for a long as I’ve been writing it using a keyboard instead of an inked nib pen (~20 years now). This may be redundant for some, but extremely useful for many. I’ve been asked to write this blog post from people who wonder how I am able to stay so responsive to emails and day-to-day changes that happen without getting overwhelmed.

Some of these concepts are very basic, general concepts.. which you’ll see rehashed in many other productivity and management systems. I’m a proponent of the GTD System by David Allen, so some of these have been modified over the years to help me utilize that system.

There are 5 paths where email should go, always. No more, no less. They are:

  1. Do
  2. Delegate
  3. Defer
  4. Delete
  5. Archive

The most-important thing is that a single email should never be read more than once, unless it is archived away for research purposes. Read it once, process it, and never worry about it again.

Let’s go through the steps in detail, one by one.
Read the rest of this entry »

AT&T officially loses over 10 years of my business

Tags: , , , , , ,

I’ve been an AT&T customer for a very long time; over a decade of mobile phone use with their services, from my age’ing Nokia to my various Treo devices to several RIM BlackBerry phones.

I’m currently on the biggest, baddest Enterprise “Unlimited” data, “Unlimited” texting plan they offer, including International Roaming and texting as well, for when I travel overseas. I also have a second line for data only, which I use in my Novatel MiFi device, a SIM card previously plugged directly into my laptop so I could get online while on the train traveling to/from the office.

I recently picked up a BlackBerry PlayBook to use for work, and have been hacking on it a little bit. One thing that was lacking, was “always-on” Internet service. You have to use WiFi or tethering to get the tablet onto the Internet. In fact, you can’t even use the tablet at all unless it’s connected to a wireless network of some kind.

I just called AT&T to see what the additional cost would be to add “Tethering” to my existing phone features. The cordial operator told me that my current “Unlimited” plan is costing me $30.00/month, and to add the “Unlimited + Tethering” package, it would be $80.00/month (a $50.00/month increase).

I’m floored that I’d have to pay an additional $50/month for something that is no different than using my existing phone to browse the web. In other words, there’s no difference at all in the bits-and-bytes coming across the 3G connection if I browse the web via my phone’s browser, or browse the web via the PlayBook (or my laptop), through my phone’s 3G connection over bluetooth, via tethering.

The operator spoke to her supervisor and came back and told me that if I added tethering to my current “Unlimited” plan, I’d lose the unlimited capability, it would drop to 2GB/month, max, and I could never go back to an unlimited plan ever again, if I changed it now.
Read the rest of this entry »

My first two hours with the BlackBerry Playbook

Tags: , , , ,

BlackBerry PlaybookI picked up a BlackBerry Playbook today to test, review and attempt to integrate it into my business workflow. After all the hype, pre-release videos and hundreds of reviews I’ve read prior to its launch this week, I knew this was going to be the right tablet device for me.

Boy was I wrong.

Here’s a list of the issues I’ve seen/found with it so far:

  1. When you first connect the device to power and power it on, you’re prompted with a few questions on the initial screens. You can’t get past Step 1 unless you have an active wireless connection, full-stop. There’s no cancel button, skip, bypass or abort that screen. No wireless, no tablet. Period. You basically have an expensive piece of plastic and glass, but not much more.
  2. Once you do pair it to wireless, it immediately fetches the latest version of the Tablet OS, as expected, installs and reboots it, no issues. It then asks if you own a BlackBerry device, and prompts you to download and install the “BlackBerry Bridge” software onto your phone. It offers the on-screen QCR barcode you can scan and download BlackBerry Bridge to pair it with your Playbook… except… if you’re an AT&T customer.

    FAIL!

    Read the rest of this entry »

SOLVED: General Failure in sending the command to the application

Tags: , ,

outlook 2010 logoThis problem results from clicking on a URL, mailto or web link embedded inside an email in Outlook when you have Mozilla Firefox set as your default browser:

Outlook general failure dialog box

If you’ve suffered from this problem using Outlook and Firefox on Windows, I have a fix!

  1. Launch regedit.exe (if you’re on Windows 7, right-click and “Run as Administrator”).
  2. Go down to HKEY_CLASSES_ROOT\FirefoxURL\shell\open\ddeexec..

    HKCR Firefox URL
    FirefoxURL shell open ddeexec

    On the right, you’ll see the following values:

    FirefoxURL ddeexec commas junk

  3. Double-click the “Default” key, the one with all the commas and numbers, and delete (i.e. remove) the value, leaving it empty.

Now if you go back and click a URL inside Outlook, it will cleanly load Firefox without any errors. Why this key gets corrupted, I don’t know… but this fix cleans it up.

Problem solved!

HOWTO: Configure Tor + SASL + irc to connect to Freenode

Tags: , , , , , , , , ,

I fought this problem on the train into the city today, because my MiFi‘s hostname was not correctly reversing to it’s given IP (verified by dig) and Freenode was denying the connection; it looked like this:

Mar 22 06:51:41 *       Looking up irc.freenode.net
Mar 22 06:51:41 *       Connecting to chat.freenode.net (86.65.39.15) port 6667...
Mar 22 06:51:42 *       Connected. Now logging in...
Mar 22 06:51:42 *       *** Looking up your hostname...
Mar 22 06:51:42 *       *** Checking Ident
Mar 22 06:51:42 *       *** Your forward and reverse DNS do not match, ignoring hostname
Mar 22 06:51:55 *       *** No Ident response
Mar 22 06:51:55 *       *** Notice -- You need to identify via SASL to use this server
Mar 22 06:51:55 *       Closing Link: 166.199.4.113 (SASL access only)
Mar 22 06:51:55 *       Disconnected (Remote host closed socket).
Mar 22 06:52:05 Cycling to next server in Freenode...
Mar 22 06:52:05 *       Disconnected ().

I wanted to connect, to talk to the folks in #linux, and ask them about another question I had (see newer blog post about fullscreen VMware session for that). This was yet another example of the kind of Yak Shaving I deal with on a daily basis.

At first, I tried installing a few identd daemons, then some of the spoofing identd daemons, then purged them all and decided to try identifying using SASL like it suggested.

I did a few seconds of Google’ing and found a helpful website with a SASL plugin in C. I compiled that, installed it into /usr/lib/xchat/plugins, restarted XChat, and attempted to authenticate and identify using this plugin and the instructions.

If the site goes down, I have local copies of the files you need, just email me.

You’ll need to create a file called cap_sasl.conf and put it in ~/.xchat2/, which includes the following syntax:

/sasl [nickname] [password] FreeNode

So if your nickname (username on Freenode) was ‘foobar‘ and your password was “MyS3cretPas5word“, you’d put the following in that file:

/sasl foobar MyS3cretPas5word FreeNode

If you compiled this correctly and put it in the right place, you can also just issue a simple /help sasl command to get the syntax:

Usage: SASL <login> <password> <network>, enable SASL authentication for given network

When you load up XChat, you should see something like this in the main window (if the plugin works):

 Python interface loaded
 Display amarok loaded, type "/disrok help" for a command list
 Perl interface loaded
 Tcl plugin for XChat - Version 1.63 
 Copyright 2002-2005 Daniel P. Stasinski
 http://www.scriptkitties.com/tclplugin/
 Tcl interface loaded
 Loading cap_sasl.conf
 Enabled SASL authentication for FreeNode
 cap_sasl plugin 0.0.4 loaded

The last two lines are what you’re looking for. Now typing “/sasl” will show you the following:

 foobar:MyS3cretPas5word at FreeNode

This too, failed to authenticate me and validate my (incorrect) reverse DNS problem. What I saw was this:

Mar 22 20:24:02 *       Looking up irc.freenode.net
Mar 22 20:24:05 *       Connecting to chat.freenode.net (140.211.167.98) port 6667...
Mar 22 20:24:05 *       Connected. Now logging in...
Mar 22 20:24:05 *       *** Looking up your hostname...
Mar 22 20:24:05 *       *** Checking Ident
Mar 22 20:24:06 *       *** Couldn't look up your hostname
Mar 22 20:24:19 *       *** No Ident response
Mar 22 20:24:52 *       Closing Link: 32.138.186.102 (Connection timed out)
Mar 22 20:24:52 *       Disconnected (Remote host closed socket).
Mar 22 20:25:02 Cycling to next server in Freenode...

I decided to investigate a different solution: Tor!

Read the rest of this entry »

SOLVED: How to use Ctrl-Alt-F1 in VMware with Linux guests

Tags:

VMware logoIf you’re like me, you probably use VMware Workstation (or VMware Player or VMware Fusion) quite a bit to test different aspects of other operating systems without having to break your host machine.

I do development and testing on Linux, and need to ensure that the latest Linux distributions don’t break my code, or that a kernel module doesn’t provide a broken interface to the subsystems my code relies upon.

I also use VMware Workstation for testing out various Windows and Linux distributions either to run live CDs such as KNOPPIX or install a full operating system without having to have a dedicated computer just for that one set of tests directly.

Before Linux had a stable GUI environment, we all had to juggle across multiple consoles with L-ALT-Right/Left cursor key to jump between virtual console 1-7 and back.

Once Linux had adopted a stable GUI (XFree86, xorg) we had a way to run shells, via xterm/Terminal sessions in X, but we also wanted a way to get back to the console environment if we needed to, without dropping out of X. The way to do this is by hitting Ctrl-Alt-Fx (where ‘x’ is the console number you want to jump to).

Unless you change your /etc/inittab, consoles F1-F6 are dedicated to text-based console sessions, while F7 and up are dedicated to X itself. In other words, if you haven’t changed your configuration, the first X session that runs on your machine will be available via Alt+F7. If you add an additional X session, it would be available on Ctrl-Alt-F8, and so on.

Herein lies the problem, if you are on a Linux host, running VMware Workstation with Linux guests running within it. If you initiate a Ctrl-Alt-F1 from within a VMware guest session running Linux, the host will grab the keyboard input and send you to the host’s F1 console session, not the one inside the guest, which is probably where you intended it to go.

Part of this is due to the fact that the key command “Ctrl+Alt” has a very specific meaning in VMWare Workstation. it is used as the trigger to VMware to release the keyboard and mouse control from the guest and return it back to the host.

You can reset this combo, but it’s best not to.

If you want to send a Ctrl-Alt-Fx command to the guest, you need to use a slightly different combination: Ctrl+Alt+Space

Let’s go through this, step by step:

  1. You load up your Linux guest in VMware Workstation, and it loads up a graphical environment inside the guest.
  2. After X loads in the guest, you want to drop to the console in the guest to perform some action
  3. With the guest having the keyboard/mouse focus, you press Ctrl-Alt-Space, release Space, then hit the F1 key, to drop you to the F1 console of that guest’s session.
  4. To return to the X session, you can simply hit Alt-F7 (while the guest has the keyboard and mouse focus), or you can hold left-Alt, and use the right cursor arrow key on your keyboard to cycle through all of the console sessions until X re-appears.

Voila!

SOLVED: How to put your NeatWorks data into Dropbox

Tags: , , , ,

In love with DropboxAs I use Dropbox more and more, I’m beginning to see that it really has a lot of value, and not just of the normal “file backup” variety. (see some of my other blog posts on Dropbox for some of my other ideas).

I’ve been using NeatWorks NeatDesk for awhile, and began relying on it from Day 1. I scan everything that I don’t need a paper copy of. For those things that I just need to refer to, I scan, digitize, securely shred the original and store it in the NeatDesk database and export it to a digital copy (PDF, text, images, etc.)

The main problem with NeatWorks NeatDesk design, is that it does not offer the ability to put that main .nwdb (Neat Works Database) anywhere else other than where it specifies.

You can’t move it, you can’t relocate it, you can’t tell NeatDesk to put it anywhere else… until now!

Read the rest of this entry »

SOLVED: Moving your Outlook Address Book to another location

Tags: , , , ,

Office 2010 logoI’m definitely not a Windows user, nor a fan of Microsoft products, but I do have to use them for work and my personal calendaring with Cozi and my BlackBerry device, so I’m learning how to tweak and modify the core components to suit how I use them.

In this case, I have a direct need to get my Outlook data, offline PST files, archive files and other material into Dropbox, so I can back it up and access it from multiple places.

One of the biggest flaws in Microsoft Outlook is the inability to move the data files to another location, including the Outlook address book.

A simple registry poke, and you too can move your OAB to any location you want.

Read the rest of this entry »

Bad Behavior has blocked 983 access attempts in the last 7 days.