VirtualBox – Communicating to the Host OS via Networking

This evening I installed my old copy of XP (I’m now running Vista) into VirtualBox. The install was pretty easy and straight forward, so much so that it’s not even worth doing step by step instructions. A simple wizard setup my base machine, and XP installed just like it would as a “real” machine.

Using the default of NAT for networking (Networking Address Translation) seemed OK for getting to the internet, but I spent most of my evening trying to make the guest OS, in this case XP, talk to the hard disks of my host OS, Vista.

To save you a lot of grief and manual digging, here’s what I finally had to do. First, I setup a single folder on my host OS, right clicked on it to bring up properties. I then picked the Sharing tab and told the OS to share it with others on the network. (Yes, I’m firewalled, both hardware at the router and within the OS as well. I haven’t been listening to all those security now episodes for nothing! )

The folder I created was named “Z”, for no better reason than it’d be easy to find. I also named the share Z, for consistency. Once I had it shared, I went back into the guest OS of XP, which was running inside VirtualBox. I opened an explorer (aka My Computer) window, and picked Tools, Map Network Drive. OK, here comes the tricky part:

After picking the drive letter, for the Folder I had to use the IP address of the guest OS, followed by the name of the share, as in \\\Z . I could not browse my local network, I couldn’t enter the machine name, only using the combo of IP address followed by share name would work.

Digging in the documentation it said that running VirtualBox’s network emulation in NAT mode caused the issue, and gave the solution, but I wish they had mentioned it a bit more prominently in the software, since using a lot of common techniques was not working.

A few notes, yes I could have chosen to share my entire drive. However, being security conscious I prefer to setup a single folder and share it. That allows me a comfortable level of isolation, and allows my to quickly and easily scan the contents with antivirus / spyware applications before using the files. And, if anyone should “break in” my exposure via shared networking will be limited to that single folder, which will be empty 99.9% of the time.

To find your machine’s IP, in the host box (outside VirtualBox) open a command window and type in IPCONFIG and hit enter. In the list of wireless adapters should be your hard wired network card, just grab it’s IP address.

Also, the share name of “Z” was because I was testing, for longer term I’ll probably setup something more meaningful like “VirtualBox Shared Folder”.

Be aware that the moment you share a folder between your VirtualBox (or any Virutal Machine) and the host OS, you have a security vulnerability. That may be fine, and will be one of the better solutions for transferring data and application installs between the host and guest OS.

Many people though use virtual machines to test new software (especially “free”applications) for viruses / spyware / malware. If that’s your goal, make sure to disconnect your mapped network drive before testing these potentially harmful applications.

Hopefully I’ve saved you a bit of effort in establishing a connection between your guest and host OS’s hard disks when running VirtualBox.

Virtual Box

I’ve started playing with a new virtualization alternative, Virtual Box ( ). It’s an open source alternative to other virtual machine programs like VMWare or Microsoft’s Virtual PC. It runs on both Windows and several flavors of Linux, and has guest additions for Windows and Linux. It also has USB support, a feature lacking in Microsoft’s product.

I found the user interface very intuitive. Simply clicking New brings up a wizard and walks you through the steps to setup a new machine.

You can choose to use a physical CD/DVD or mount one off of an ISO file, access hard disk info, audio, etc all by clicking on the blue links you see above.

As an initial test I downloaded Damn Small Linux ( ) as a ISO file, and ran it in “Live” version as a mounted image. I only gave it a quick run, but so far it seems to work OK. I plan further testing with XP as a test image, but would be interested in seeing comments with your experiences.

Arcane Reasons for Data Warehousing

I may have mentioned that of recent I have been doing a lot of work in the Data Warehousing arena. Today I met with some IT folks from another branch of the company who are considering a reporting strategy for their area. One of the people I was meeting with asked me “With so much data available, how do you decide what data to put in the warehouse first, versus what data do you leave in the application, either permanently or until a later point?

Great question, and I thought that you too might be interested in the answer.

Interapplication Reports. Historically trying to combine data from multiple applications has been painful, to put it nicely. Clearly than this turns out to be one of the most compelling reasons for data warehousing, to house data from multiple applications and allow users to easily combine that data into singular reports.

Phasing Out Historical or Ad-Hoc Systems. Accounting systems seem to have an existence all their own. For various reasons they live well beyond their normal lifespan. We have a system at work, written in an old DOS based reporting tool that dates back to the late 1980’s. Over the years it’s been used to do reporting from other systems. As it turns out it has some issues with Vista, and will need replacing. Rather than getting yet another system, we plan to replace its reports with ones from our data warehouse.

Friendlier Reporting. Often when I see databases, the field names are quite cryptic. Names like fklnam (foreign name last name) and accsbcd (account sub code) litter databases. It’s difficult enough for IT Professionals to decipher the field name mayhem, but asking users to do so just to create a few ad-hoc reports can be asking far too much. Not to mention the sometimes bizarre seeming relationships between tables.

Moving to a data warehouse allows you to give much saner, user friendly names to your data. In addition you can flatten out some of the tables, simplifying the relationship structures significantly.

Production Server Load Reduction. Production systems are usually optimized for dealing with single records at a time. As a result, searching through and retrieving data for large quantities of data can be resource intensive on the production system. Shifting reporting to a warehouse means a reduced load for the production system. In addition you elimante the chance that malformed SQL from some ad-hoc query can cripple your production system.

Ease of Offline Maintenance for Production Systems. Finally, having a warehouse makes it easier to take production systems offline for maintenance. If users know they can still get to their data via the warehouse, they will be less concerned about their production system going offline for work, which in turn makes it easier to schedule such work. If you have a system that requires frequent maintenance, your users will be less likely to give you grief if their data is available elsewhere.

Those are my primary ways in which we decide which data is targeted for inclusion into the warehouse. If you need to combine data from multiple applications, have older systems that need replacement, have cryptic field names or complex table relationships, need to reduce the load on your production server, or have systems that need frequent maintenance then consider those systems first for inclusion into a data warehouse.

I’d be curious to hear your comments on your strategies for determining inclusion into your own data warehouse.

Arcane Fun Fridays: Run As Radio

“Hi, my name is Arcane, and I’m a podcast addict. “ I tell the small room full of people.

“Hi.” A crowd of voices echoes back.

“Welcome to Podcast Addicts.” says the group leader. “Tell us about yourself.”

“It’s these podcasts. I just can’t seem to get enough of them. At first it was just listening on the way home from work. Then I started on the way to the office as well. Before long I was listening all the time, grocery shopping, cutting the grass, I’ve even quit watching TV, preferring to improve myself listening to these podcasts instead of frying my brain with yet another mindless sitcom.”

“So, what’s brought you here tonight?” the group leader prompts me.

“Well, it’s those jerks over at Pwop Productions ( ). You know, the same guys who do Dot Net Rocks ( ) and Haselminutes ( ) just to name a few?”

The group leader nods, glancing between me and the crowd, and looking just a bit worried. But since he says nothing, I continue. “Well, they’ve gone and done it again. As if all those great shows weren’t enough, they’ve gone off and created yet another one, Run As Radio ( ).

“Each week Richard Campbell and Greg Hughes talk about things for system admins, hardware geeks, or savvy developers. It’s gotten to where I’ve got podcasts going all the time. My wife says I don’t listen to her anymore, or I think that’s what she’s saying, it’s sort of hard to hear her over the podcasts. She may be saying something about the space aliens trying to eat my meatloaf, but…”

I pause, realizing the crowd is no longer listening to me. In a flurry of headphones and USB connectors they are attacking the computers on the far side of the room, the Run As Radio site flickering as they download past and current episodes to their various media devices. Even the group leader is there, frantically trying to get his Zune to connect to someone.

I smile, and slip quietly out the back door. My work is done.


Arcane Tools: Cropper

Well, the uber cool Scott Hanselman has done it again, found another gem. OK, he’s been using it for a while, but in watching his GrokTalk ( see my post on Tuesday ) I learned about Cropper.

Cropper is a screen capture tool. As you can see below, it puts an translucent window on your screen. You can move and resize this window with the mouse, or the keyboard.

[Pic of Cropper in action]

The arrow keys will move the cropper window in 1 pixel increments for fine tuning, or for quick moves combine the arrows with the CTRL key to make 10 pixel jumps. You can also resize, use ALT plus the arrows for 1 pixel resizes, or CTRL+ALT+arrow for 10 pixel resizing jumps.

You have the option to save in a variety of formats, including BMP, PNG, and JPG, and can even select a level of JPG compression. You can also save to the clipboard if you so desire.

To capture an image, simply double click on the translucent cropper window, or press ENTER. When you do, a file is written to your Documents folder in a subfolder called Cropper Captures (although this is user configurable). I like this, as it lets me quickly grab one screen shot after another without having to put a lot of thought into it.

The coolest thing about Cropper though, is it’s entirely written in C#, and open source so you can see all the code. It comes courtesy of Brian Scott, you can see his blog and download Cropper for yourself at .

The only negative I’ve found is the name. Apparently cropping is also a popular term in the scrapbooking world, so when I started talking about cropper my wife ( ) got all excited and tought I was getting into scrapbooking! I hated to disappoint her, but on the bright side the sofa really wasn’t all that uncomfortable.

Mr. Wizard

TV’s Mr. Wizard, a.k.a. Don Herbert passed away June 12th, 2007 at the tender young age of 89. For decades Mr. Wizard made science interesting and fun. I got into Mr. Wizard in the 80’s when he was on Nickelodeon. And yes even though the show was aimed at kids, I was already in my 20’s. That shows you how good he was, he made a show for kids interesting to young adult geeks.

One of his big themes was making science accessible to everyone, showing how anyone could do science at home. I guess in some way he was a real for runner of the Web 2.0 movement, showing how anyone can do fun science with what they have on hand and not having to rely on some big company. Naturally Mr. Wizard’s on the web, you can view his official site and read more at

My condolences to the Herbert family, the science world is a little dimmer now without Mr. Wizard.

Arcane Surfaces

By now most folks have heard of the new Microsoft Surface ( ). In case you’ve been busy organizing your Star Wars figures, Microsoft Surface is a technology that lets you interact with the top of a coffee table sized device, as if it were a touch screen. You can draw on it, write, move the windows around and resize them.

It also has the ability to interact with wireless devices. In one demo, a camera is placed on the Surface and the pictures appear to spill out onto the top of the table. Multiple people can “grab” these, spin them resize them, move them around to the delight.

What’s interesting though is the level at which people seem to want to take this. I’ve seen numerous blogs and websites exclaiming how they can finally have their “Tron Desk”.

[The Tron Desk]

In case you don’t recall, Tron ( ) was a 1982 movie in which Jeff Bridges gets sucked into a computer and has to play games to escape, and TRON is the program that can stop the bad guy. In the “real world” the bad guy (Ed Dillinger, played by David Warner (above)) has a really cool desk.

The monitor is built in, as is the keyboard. Dillinger types on the flat surface of his desk as lighted keys appear under his fingers. Of course in 1982 it was a mock up, but today we do have the technology to do that kind of thing, I recall some early personal computers of that era having flat keyboards, each key was just the slightest bump. Today, my PDA has a touch screen, I can use my finger to key in the password and manipulate the start menu.

So if this is so cool, and do-able, why isn’t everyone using flat desks like the Tron one today? Well for the same reason that I think the Surface is going to see limited use: Tactile Feedback.

Humans, at least for the time being, still like multisensory input. We like the feeling of the keys bouncing against our fingers, or the satisfying click of the mouse as we press it. It’s these tiny subtilities that we don’t think about that make the device usable, and largely unchanged since the inception.

Sure, Surface will have it’s place. I can see it as a big conference room table, or on a conference room wall. Maybe in resturaunts, to place orders or ask for drink refills.

But using the Surface as my desk? No thanks. Not unless it has a USB port for my keyboard!