Welcome

You have reached the blog of Keith Elder. Thank you for visiting! Feel free to click the twitter icon to the right and follow me on twitter.

BlackJack II Windows Mobile 6.1 Review

Posted by Keith Elder | Posted in Mobile Devices, Windows | Posted on 04-09-2008

4

I was in Redmond back in April and had the opportunity to load my Blackjack II with a pre-release of Windows Mobile 6.1.  I was traveling and didn’t want to wipe my device and start from scratch.  Plus I was informed there were a few bugs, some of which I couldn’t live with.  So I waited for the official release.  A few days ago Windows Mobile 6.1 was released from Samsung and I’ve really enjoyed this update.  If you just want to jump in and get started with the update to 6.1 here are the links to get started.

Windows Vista Samsung Blackjack II 6.1 Update

Windows XP Samsung Blackjack II 6.1 Update

Be sure you use the correct one depending on which operating system you are using. 

Blackjack II 6.1 Upgrade – Scary But Worth It

If you click on the links above you’ll notice a very long web page, lots of screen shots and a bunch of steps.  The update definitely looks scary.  Even I was intimidated to start it.  But honestly once I got going it didn’t take that long.  The longest part of the whole thing is writing the new ROM to the phone.  I started and then went and did something else.  I doubt most non-tech users will go through with this update, but honestly they should.  It is worth the trouble even though it is lengthy.  This is something that I’d like to see simplified on the Windows Mobile platform.  I don’t have the answer but there has got to be an easier way to do these updates.

Blackjack II 6.1 Screen Shot Heaven

For those that have a Blackjack II and are wondering what the update has in store here is a pretty comprehensive list.  The main thing to note is the new home screen, voice command, and better scroll support.  The base operating system has a lot of new features but Samsung also did a nice job of bundling in a nice software package. 

Default home screen.  6.1 changes the home screen quiet a bit to make typical things one accesses easier instead of having them buried down in the menus.  Notice the icons right below the time. This provides an easier way to view activity. There are five items that bubble up under the home screen.  Missed calls.
sshot035 sshot036
Voicemail Text messages
sshot037 sshot038
Direct push email Another email inbox
sshot039 sshot040
Under messages is calendar.  The settings section has five different items.
sshot041 sshot010
Wireless manager (easy access to turn bluetooth on or off, also the keys fn-b by default will toggle as well) I’m not into ring tones so this doesn’t excite me that it is under settings.
sshot011 sshot012
Change background image.  Again, not that exciting for me but I did set the background to a different one as you can tell in these screen shots. Task Manager.  Which can also be accessed by holding down the home key.
sshot013 sshot014
Pressing the start button goes to recent programs.  This is new and I haven’t decided if I like it or not.  I was used to the old way.  Maybe I’ll come around. Pressing “All Programs” on previous screen goes into the menu.  As you can tell I use the list menu since it can hit hot keys for items. This can be changed in Settings->Display.
sshot015 sshot017
Second screen of pre-installed applications.  The BJII has a built-in GPS chip and comes with a bundled GPS program which cost $10 / month to enable.  Personally I use it all the time when I travel. Notice this screen includes Internet Sharing right out of the box.  A huge time saver.  Previous this had to be added via a hack.  The RSA SecurID is a program I added, as well as Screen Capture.
sshot018 sshot019
Voice Command is a nice feature that comes with the Blackjack II 6.1 upgrade.  This allows your phone to speak when certain things happen (new email, new text msgs, calendar popups, etc).  Skyfire and Tiny Twitter I added. This shows the Office Mobile applications included.
sshot020 sshot021
These are the items pre-installed in the Applications menu. Probably the coolest app in this menu is Mobile Banking.  Currently about 7 banks are supported, Wachovia being one that I have one of my accounts at.  There are several steps to get things setup and you have to be at a computer to set accounts up.  Once complete, you can check balances and other options by simply entering a six digit pin number.  If only E*Trade would get on board.  Why an online bank would not be in the bank list is beyond me.     MobiTV is another application that is included.  This is an extremely cool application that allows the phone to stream live TV directly to the phone.  Yes, live TV!  It cost $9.99 to purchase.
sshot022 sshot042
MobiTV provides 40 channels of live TV and an easy to use guide. This is MobiTV loading the Replican Convention from MSNBC.
sshot043 sshot044
Within seconds you can be watching TV from anywhere.  If you are stuck in the airport or wherever you can stay connected and not miss a show.  Be sure you have the unlimited data plan though. Another view.
sshot045 sshot046
This is MobiTV running in full screen.  Note the connection I had while viewing this was Edge not 3G and I have to say that it is very impressive. Of these apps there are a few duds.  Mainly the Movies Powered by IMDdb.  I’m sorry but I’m not paying for an application for information I can get in the browser for free.

The weather app is really cool but I’m not going to pay for it either.  If it were free, sure I’d use it.  Smart search maybe smart but it should be called “Slow Search”.  People is just a demo and for me provides zero value.  The RSS Reader is ok if you only want to read a few things.  I recommend Newsgator Mobile which is free and syncs with the web, a client version and the mobile.

sshot047 sshot023
Finishing off the applications we have task manager and Office mobile. First settings screen.
sshot024 sshot025
Second settings screen.  Of interest is the Key Settings. A new feature is the ability to change the wheel speed.  Alleluia!
sshot026 sshot027
The default is low.  I’ve changed mine to high and it is a considerable improvement. A little known feature is the FN key settings.  From the home screen you can press combinations of “fn-{key}” and launch a program directly.  After an install I setup several to hot launch including RSA, Twittery, Internet Explorer and Skyfire.
sshot028 sshot030
In the bottom right press add. Choose a keypad assignment and an application.  Note you can type the first letter of the application in the value box to just to that app.  Once set, when on the home screen type fn-{key} and that app will launch.
sshot032 sshot033
As I said earlier, Internet Sharing is built into the ROM this time.  If you want to get your computer online if you don’t have free WIFI available, launch this app with the USB cable plugged into your computer and press connect.  Within a few seconds you’ll be on the Internet.  If you are on a 3G network, you won’t notice any difference. Bundled AT&T / Telenav GPS program.  This is a great program that provides spoken directions and turn by turn guidance.  It even supports a pedestrian mode.  Again, it cost an additional $10 / month to use.
sshot016 sshot034
   

This is a welcomed update due to the fact it bundles Internet Connection sharing as well as fixes the sluggishness with the job wheel I mentioned in a previous review.  The GPS now seems to lock on faster as well.  This is something that has caused me trouble when traveling taking up to five minutes to lock on.  Lock on times seems to be about a minute. 

If you can get over the scary upgrade process I think you’ll like the update.  Give it go.

Windows Server 2008 and WIFI

Posted by Keith Elder | Posted in Windows | Posted on 21-08-2008

27

After installing Windows Server 2008 on my notebook I thought I had everything working and figured out.  I arrived at my friends house the other day with notebook in hand and wanted to check email.  I opened my notebook and his WIFI network wasn’t showing up on my machine.  I downloaded 4 different drivers and spent several hours trying to figure out why wireless wasn’t working.  I was literally about to give up on getting WIFI working on server 2008.  And then it hit me, did I enable the wireless LAN in features?  Turns out, it wasn’t on.  So if you have a problem with a wireless card not working if you are running Server 2008 be sure you enable this feature.  Here is how to turn this on. 

Open Server Manager and then click on Add Features.

image

Enable the Wireless LAN Service at the bottom.

image

After the service is installed you should be able to get wireless (assuming you have the correct drivers).

image

Installing Silverlight 2 on Windows Server 2008

Posted by Keith Elder | Posted in Windows | Posted on 08-08-2008

1

The Olympics are upon us!  I called myself preparing for the Olympics last night by installing Silverlight so I could watch the Oylympics via http://nbcolympics.com.  I’m running Server 2008 and I quickly ran into a problem.  The work around turned out to not be that difficult at all so here is a walk through.

Step 1

Save the Silverlight.exe to your hard drive. Although you can run it directly it doesn’t work because of the default policy set on Server 2008.

Step 2

Right click the Siliverlight.exe and click “Run as administrator”.

image

Step 3

Click Run.

image

Step 4

Press Install.

image

Step 5

Close the installation dialog.

image

Step 6

The first time you visit a Silverlight site you’ll be given a security prompt.  I suggest checking the box in the dialog so you don’t get this again.

image

Windows Server 2008 as a Workstation and UPnP Network Discovery

Posted by Keith Elder | Posted in Windows | Posted on 03-08-2008

5

I’ve been running Server 2008 as my main workstation for a few weeks now and so far so good.  The only thing I haven’t found a solution for yet running the x64 version of Server 2008 is Windows Live Photo Gallery.  I have Live Writer and Messenger working, but cannot find a version of Windows Live Photo Gallery.  Live photo gallery has a really nice import feature that allows the timeframe to be adjusted when importing pictures as well as integration with Flickr.  Two very important features that make it a really nice app.  Beyond that I find the occasional thing I have to work around.  Tonight it was UPnP that wasn’t working. 

I was setting up Windows Home Server this evening and noticed two different views when viewing the network.  From my wife’s computer running Vista Ultimate it looked like this:

image

As you can see from above the devices that support UPnP show up nicely.  Specifically the home server for windows media and the router.

In Server 2008 it looked like this:

image

Yuck!  Definitely not as nice and it doesn’t help managing UPnP devices either.  I started digging around and knew there was a service was that wasn’t running but which one?  It turns out the one that needed to be enabled was the SSDP Discovery service.  To start this service press the windows key and type “services.msc”.  Right click and run as administrator and start the service.  After the service is started refresh the network and the UPnP devices will show up.

I have an article that outlines how to setup Server 2008 for VMWare and basically I apply the same setup to configure 2008 as a workstation.  This is just another tip if you are going down this route.

Setting Up Windows Server 2008 VMWare Virtual Machines For .Net Development

Posted by Keith Elder | Posted in .Net, PC Software, Visual Studio, Windows | Posted on 30-06-2008

45

The Freedom of Virtualization

For awhile now I have been enjoying the freedom of developing with virtual machines.  The biggest advantage it has given me lately is the freedom to do whatever I want to the laptop I use as a workstation.  What I mean by that is I don’t even blink twice if I want to try a new operating system anymore.  Maybe I want to run a version of Debian Linux or Ubuntu to keep my Unix skills polished up.   Or maybe I want to try running a 64bit version of Windows Server as my main operating system to see if all of my hardware works.  To consider doing this previously without virtualization would be almost unthinkable because of the amount of time it would take to get everything back up and running. 

All of this freedom of choice is made possible through virtualization, specifically with VMWare Workstation.  VMware runs on a variety of operating systems including Windows, Linux and Mac.  Once my operating system is installed along with the needed vitalization tools I can literally go back to work by just starting up a virtual machine where all of my tools are stored.  Compared to setting up a full blown development machine this is huge.  Not only that but virtualization allows developers like myself to try out alphas, CTPs, betas and more without harming the main development operating system.  This ability to test software is made possible through cloning and what is called snapshots within VMWare. 

I’m writing this article about virtualization for two reasons.  One because I’ve spent a lot of time tweaking my setup and I wanted to document it.  And two, I know there are others that can benefit from this information as well.  In this article I’m going to cover setting up a VM (virtual machine) from scratch.  Then how to configure the operating system specifically for development in VMWare.  The purpose of this setup is to configure Windows Server 2008 as a development platform using VMWare.  Let’s get going!

Creating Your Base Virtual Machine

When starting from scratch I always create what I call a base virtual machine (VM).  This VM serves as my base image for all of my needs and will be re-used for various setups.  There are few things you need to keep in mind when you create a base image.  I’ll mark these as we go along in the screen shots below.  For posterity sakes, note that I’m using VMWare Workstation 6. 

Once VMWare Workstation is installed click File->New Virtual Machine.

image

image

image

Although VMWare supports Server 2008 as “experimental” I’ve found that choosing Windows Vista works just as well.  Once 2008 support is fully supported in a future release of Workstation this will not be hard to change.

image

You’ll notice below that I’m storing this VM on the F:\ drive not the C:\ drive.  To really get performance out of your virtual machines you need to separate them onto a different spindle or disk.  I use an external Western Digital 500GB MyBook which has a 7200RPM hard drive.  When I travel I sync my virtual machines with my portable 250GB passport drive.  This allows me to use a faster disk when I’m in the office which provides more speed and also provides a backup of the virtual machines. 

image

image

I have 4GBs of memory in my laptop of which 3.3GB is really accessible.  While I could give the VM 2GB of memory, I find that sticking between 1-1.5GB of memory seems to be the sweet spot.  If you use too much it slows the host machine down.

image

For networking I use bridge networking for some VMs and NAT for others.  As you’ll see later on I will create two different setups from this base image.  One will be for work, the other for presentations and speaking.  For work I use a bridge network since this allows me to separate the VPN connection from my host machine completely.  While I’m at home this allows me to access my local area network from my host machine (printers, home server, file storage, backups, etc).  For the other VM I use NAT.

image

Doing some reading and research the LSI Logic I/O adapter is supposedly the faster choice for SCSI adapters.

image

image

image

Disk capacity is something you really need to think about before setting this option.  I made the mistake of setting up a complete VM environment only to realize I needed more space.  While virtual machines can be resized using the disk manager utility, they cannot be resized if there are clones or snapshots tied to the VM.  For me this meant I had to blow away a lot of my work and go back to my base images (which is another reason why I do full cloning to start with as you’ll see later on). 

You’ll notice I didn’t choose “Allocate all disk space now”.  Essentially what this does is it reserves all of your hard drive space for your VM.  Think of it like formatting your VM image files.  As noted there is a performance gain.  However, this also means you are going to take up as much disk space as you enter in the field below.  In my case if this was checked, I’d eat up 50GB of disk space on the drive.  Not fun, especially when cloning full images (50GB + 50GB + 50GB).  Thus I do not check this option. I do however split the files into 2GB files.  The main reason is for defragmentation.  If you have one large image file you need twice the amount of space to defrag it.  With 2GB files you’ll only need an additional 2GB of space.

image

image

That’s my notes or tips for setting up a base virtual machine.  After the virtual machine is setup be sure to check your settings and configure your monitors and other peripherals.

Setting Up Windows Server 2008 for VMWare Workstation

Once you get your settings tweaked launch the VM and get the Windows startup started.  I like using server as my development operating system (OS) because it is tuned for speed unlike Vista.  There is a big difference in developing on Vista and Server 2008.  Even comparing XP and Server 2003 there was a huge speed difference.  A lot of things are turned off in server that are enabled in Vista and this is what contributes to its speed.  This setup will walk through how to configure Server as a workstation along with some specific VMWare things you need to do as well. 

image

Once the operating system is installed, follow these simple steps to prepare the image.

Step 1 – Tools

The very first thing you need to do after the OS boots up is install VMWare Tools.  This will provide drivers for the OS to run smoother and help you keep your sanity.  Things like the mouse jumping around randomly for no apparent reason will be fixed once this is installed.  After installed, reboot.

Step 2 – Updates

Check for updates.  This is pretty much something you need to do on any operating system you install.   Install the updates and reboot. Note: at the time of this article there are 9 updates for Server 2008.

image

Step 3 – Time Zone

 

Using the “Initial Configuration Tasks” screen which should be on the screen after the reboot there are a few things you need to do.  For starters check your time zone.  Review the other options while you are in there and make sure your computer name is setup the way you want and other things.

image

Step 4 – Shutdown Tracker

If you are familiar with Server you know it annoyingly asks you why it was restarted after it reboots.  While this might be handy for *real* servers for a workstation used for development it is just annoying.  To disable this open Start->Run->gpedit.msc.  Find the “Display Shutdown Event Tracker” as shown below, right click properties and disable it. 
image

Step 5 – IE Security

In order to use Server 2008 as a workstation within your VM you will need to remove the baked in security settings for IE.  From within Server Manager as show here select “Configure IE ESC”.

image

Set both settings to OFF.

image

Reboot.

Step 6 – Features

Within Server Manager you will also need to enable all the features you want. 

image

Here are the options I enable since I know this image is going to be primarily used for .Net development.

  • .NET Framework 3.0
  • Desktop Experience – This includes eye candy features from Vista as well as allows you to support the Vista Themes (we’ll enable this later on).
  • Remote Assistance
  • Powershell
  • Windows Process Activation Service

In the next screen you’ll be asked to configure IIS.  I always select a  minimal setup but feel free to select what you know you will need.

image

Restart to complete installation.

Step 7 – Roles

In order to get fast file searching and other features you’ll need to turn on the role for File Services as shown here.

image

image

Since this is running in a VM depending on your usage you *could* leave this off.  I am basically going to be working day in and day out from this image so having the ability to search and find emails and files quickly is important.

Step 7 – Registry Settings (optional)

Open the registry editor by doing Start->Run->regedit

Add the following keys:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management\PrefetchParameters

Add a new DWORD by the name of EnablePrefetcher and assign is the value of 3
Add a new DWORD by the name of EnableSuperfetch and assign is the value of 3

image

What does this do?  It enables Windows to learn which programs you use so it can pre-load those applications before you run then.  It is a feature that was added in Vista.  You can also skip this step if you feel there is no value in this feature but it is *suppose* to speed things up down the road.

Step 8 – Services

There are several services we need to enable to get Server 2008 to behave more like a workstation.  These are disabled by default.

Within Server Manager select Configuration->Services.  Or you can do Start->Run-Services.msc. 

Enable the following services:

  1. Themes
  2. SuperFetch (only if you enabled the registry setting above)
  3. Windows Audio
  4. Windows Audio Endpoint Builder

Step 9 (optional) – Make it pretty

Totally optional and something you may or may not want to enable since this is running in a VM.  I’ve found that things are still pretty snappy but you may want to see how your mileage varies.  Right click on the desktop and select Theme.  Choose the Vista Theme in the drop down to get a Vista look and feel for your virtual machine.

Before:

image

After:

image

Step 10 – Setup Sound

When you install Server 2008 you’ll notice that sound doesn’t work.  Vista does the same thing so this will work in either case.  In order to get sound to work you have to install the Creative Labs PCI sound driver.  It is a pita to find so I am attaching it to this article so I can easily find it down the road as well as to ease your setup pains.

Download Sound Driver: Create Labs Driver

Step 11 – Activate Windows

We are going to be in the control panel tweaking some things next.  While we are here, go ahead and activate Windows.  Nothing is worse than forgetting to do this, then having to do it on every clone or snapshot down the line as you build up your VMs.

image

Note:  If you are using a MSDN License, you will get a DNS error code while trying to activate after installing Windows.  This is because you need to change the product key and enter your *real* product key.

Step 12 – Performance Settings

Adjust the processor scheduling which is in Control Panel->System->Advanced Settings->Advanced.

image

In the next tab, turn on DEP.

image

Step 13 – Defragment

In order to make this the fastest VM we can, we need to defrag the drive.  Defragmenting the VM is the key to keeping things fast. 

 image

After I install a big product like Office, or Visual Studio I defrag the drive.  Also remember to defrag the drive the virtual machine is running from!  The more you defrag, the more performance you’ll get out of your VMs.

Step 14 – VM Optimizations

I’m not a VMWare expert but there are a few things I have found out that work well.  For one since I/O is important because the VMs will be run from an external drive, I disable page sharing.  Add this line to your .VMX configuration file.

sched.mem.pshare.enable = “FALSE”

Another option is memory trimming which doesn’t eat up host memory and then give it back when it needs it.

MemTrimRate = 0

Step 15 – Setup Your User Account

We’ve been logged into the VM as Administrator up until this point.  We need to create an account that we will use to login with and do work.  We want to create this account now because we want to set our desktop settings once and then each VM we clone from this base image we’ll already have everything setup.  Create your account in the control panel, I suggest setting the account as an administrator.  Once the account is created, log out of the administrator account and then setup that account.

Step 16 – Shrink Disk

Before moving forward we need to shrink our VM disk.  This reclaims unused space on the drive.  Note, we cannot shrink a disk if it has been cloned or has a snapshot.  We also can’t shrink a disk that has been pre-allocated.  If you followed the steps up to this point, none of this should be a concern.  There are several steps.  The first is VMWare tools prepares the image and then the second is where Workstation performs the actual shrinking.  Remember to defrag everything first!

To shrink the disk go into Control Panel->VMWare Tools.  Select the shrink tab and press the “Prepare to shrink” button.  Then wait.

image

Once this process finishes you will be prompted with this dialog.  Click yes to begin the process.

image

image

At this point we have a clean VM image to build other virtual machines from.  It has all the updates applied to it, is configured for workstation use, is defragged and has been shrunk.  The only thing in this virtual machine is the operating system.  This is what I call the base image.  Note:  My base image is 6.1GB after it has been shrunk.

Step 17 – Create Full Clone

Now that you have this image setup.  Create a full clone of it.  Using the clone, add your development tools like Visual Studio, SQL Server, etc.

UPnP Tip

If you are running Server 2008 on a private network and want to connect to UPnP devices and see them via network discovery then see this post which enables that.

 

Strategy For Cloning Virtual Machines

Once I get through the process above I split this base image off into two full clones.  It takes a long time to get this base image setup thus it isn’t something one wants to repeat often.  By using  a feature of VMWare Workstation called cloning we can create an exact clone of this base image to build other images. 

What I do is create two full clones of this base image.  I use one for work since it has to be bound to the domain.  The other I use for installing various pieces of software for personal use and for speaking engagements. 

For the VM at work I create one called work base.  This image will serve as my base image that I will install VPN software, Office 2007 and a few other utilities needed for work.  Once I get this image setup I create another clone of it that is a linked clone.  In this clone I install all of my development tools.  This gives me a hard restore / starting point where I can install or test software without development tools.  The reason I do all of this is it allows me to go back to points in time and try something different out without having to build everything from scratch.  For example let’s say a new version of Visual Studio comes out I need to test or something like that.  To play with that type of software it is important to start from a fairly clean machine.  Here is a chart I put together to show how I layout my virtual machines.

image

You’ll notice there are no snapshots listed above (another feature VMWare supports).  Snapshots are really meant for temporary use, not to run for long periods of time.  This setup gives me really good flexibility.  At least to the point to where I haven’t needed to alter it much at all.  That’s pretty much it.  Once this setup is done I don’t touch the “Server Base” image except to start it up occasionally to apply updates.  The only thing I use it for moving forward is for cloning so I have an optimized image to start with no matter the scenario.

I hope this helps someone out.  I know I wish I’d had something like this to refer to when I started out playing with virtualization images for development.  As I find new tricks or things I’m sure I’ll update this over time thus I consider this article a moving target.  One thing that is for sure is the way you do things today will not be the way you do things tomorrow.  If you haven’t explored virtualizing your development give it a try.  Here are some Words of Wisdom ‘ll leave you with:

“When you virtualize your development or main body of work, it doesn’t matter which operating system you run to host it.” – The Elder