Thursday, December 21, 2006

Microsoft MVLS and OEM

Before I start, I warn you I'm cranky!

Okay, our company has a small host of IBM workstations which come with Microsoft OEM software. Some of the products installed are based on our corporate Volume Licensing (MVLS) purchases.

Lets look at the two in general, high level terms (as I understand them as a end-user with purchasing power):

  • OEM - comes bundled with your new hardware. Licensed only for that specific hardware. It is not tracked at Microsoft. Generally cheaper than MVLS.
  • MVLS - purchased in bulk. Can be moved to other hardware if removed from another (can be transported). Tracked at Microsoft eOpen website (the site fucking sucks btw). Generally more expensive than OEM.

With our mixed licensed software environment - it is hell to track the stuff. Is the license transportable? Do I need more licenses or simply how many licenses do we have? (I know there are 3rd party tools out there to help - but strangely, nothing from Microsoft... I asked)

Talking to my vendor of choice, I was looking to change to a MVLS-only solution. No more OEM.

Great idea right? A little more expensive, but all my software is tracked at eOpen. If I have 100 licenses, I don't have to track those against specific hardware, just make sure you don't go over 100. Costs are a little higher but acceptable. I think this is the way to go.

Except, try and buy a desktop or workstation without some OEM software bundled! Microsoft lost the 2002 Anti-Trust case brought to them by the US DOJ didn't they? Who do I bitch at - the hardware vendors or Microsoft?

I spoke with a friend who works for a shop with the responsibility of over a thousand machines. How do they do it? Well, it seems they buy bulk hardware, be it HP or IBM, then purchase a MVLS package (meaning a bundle of VL software). Get this, they still pay for the OEM licenses for the machines! With the bulk pricing of the hardware, they guess they are still saving some money overall.

Where I work, we are either too small (or too smart!) to double up on our licenses.

Why can't I buy, and willingly spend more for the software mind you, on none OEM hardware? Hello, IBM... HP... anyone listening? I know Microsoft isn't.

I'm just bitter.

Saturday, December 16, 2006

Review: Nokia 770 Internet Tablet

About a month ago I received my Nokia 770 Internet Tablet. For those not in the know, it is a portable device allowing easy web surfing, email, multimedia and even phone access. What drew me to this device was not this list of items, but that it ran Linux under the hood - specifically the Debian distribution.



Before I get into it, here are the highlights.


  • Weight: 8.1 Ounces

  • Size: 5.5 x 3.1 x 0.7 inches

  • Display: 800x480 touch screen with 65,536 colours

  • Memory: 128 MB Flash (holds a RS-MMC expansion card)

  • Networking: 802.11 b/g WLAN, Bluetooth, USB 2.0



To start, the tablet feels well made, heavy for its size and not delicate in the least. It has a hard shell that slides off exposing the screen and the buttons on the left. The stylus is hidden in behind and is easily retrieved (if you are right handed). The screen has good resolution and you can control the brightness setting (which will help with battery life). It is a little big for your back pocket, but it will easily fit into your shirt sleeve or backpack side pocket. I hated the 128 MB memory limitation and purchased a 2 GB RS-MMC card which gives me more virtual memory and a location for new applications and documents - now I have space to put that movie that I may want to watch. Battery life is outstanding - the Nokia site gives 3 hours of browsing as the average, I've pushed this to 5. Maybe I've just gotten lucky, but I doubt it as I've never had good luck with batteries. When I put the device on standby, it comes right up with plenty of juice to spare.

The connectivity is very good. WLAN supports WPA2 and you can surf at any public wireless location. Getting connected is easy - with a small icon on the top right telling you if you are connected or not - and if not, simply click on it to search for all the exposed wireless locations near you. And if at home, you can save your favourite connections and they will start whenever you open an application that needs network access. I installed Aircrack-ng just to see what type of things I could do - this device is fully functional I assure you.

Using the applications that came with the device - surfing, email, instant messaging, RSS reader and a couple multimedia applications - I found all were more than acceptable, but not outstanding. I suspect this has more to do with the low memory footprint than the choices Nokia had installed. No worries, it has a friendly means to add more software. But the good thing is, since the device is Open Source it is possible to get a large number of applications for the device, or if you have some time, compile them yourself. For example, I installed osso-xterm so I could drop to shell and see what the device had on it - this is just your basic Linux distribution under the slick outer shell people.

The responsiveness of the tablet is poor - it can barely do more than two user applications at a time and if you use more, the responsiveness is somewhere between frustrating to infuriating. Using a single application is fine - even when that application is large like FreeCiv, which has a port for the Nokia 770 available.

After a month of playing with this device, I am unsure how to best utilize it. I mean I have a Linux laptop that goes everywhere I do - do I really need another device. And if I did, it better have something my laptop lacks - which the Nokia 770 doesn't. I read the reviews before purchasing and will have to agree to the medium grade that was given. There is no doubting the coolness factor in the tablet but I just don't see myself pulling it out enough to warrant the price.

Tuesday, December 05, 2006

Implement: Starting a Rails Project

So you got Ruby on Rails (RoR) installed on your computer - now you want to start using it. There are a couple things I do when starting a project that may come in helpful for you. They may not be for everyone - so give them a read before you implement.

# lets start our project named 'myproject'
rails --database=mysql myproject
cd myproject

# I use Subversion, so lets import into a new svn project
svn import http://server/svn/myproject/trunk/ -m "adding rails structure"

# confirm all is good
cd ..
svn checkout http://server/svn/myproject/trunk mp

# tag your starting spot
svn copy http://server/svn/myproject/trunk http://server/svn/myproject/tags/initial-release -m "initial rails structure"
cd mp

# I don't want to keep my log and temporary files in svn
svn remove log/*
svn commit -m "removing log files from vc"
svn propset svn:ignore "*.log" log/
svn update log/
svn commit -m "setting a property to ignore *.log files"
svn propset svn:ignore "*" tmp/sessions tmp/cache tmp/sockets tmp/pids
svn update tmp/
svn commit -m "ignoring temporary files"

# now we move the default database.yml and ignore it
# for installations
svn move config/database.yml config/database.yml.example
svn commit -m "moving database file to example file"
svn propset svn:ignore "database.yml" config/
svn config/
svn commit -m "always ignore the installed database file"


One very kewl thing a RoR project can do is something called edge rails. There are various ways to make use of this idea and I like one solution that I will reveal here. Essentially edge rails embeds your rails module into the vendor/ folder of your project - you can take that a step further, using Subversion, and make the rails update separate from your project.

# Lets create an svn property to link to an external repository
rm -rf vendor/rails
svn propset svn:externals "rails http://dev.rubyonrails.org/svn/rails/trunk vendor/rails" vendor
svn update


And though the name may be called 'edge', it does not always need to be bleeding edge, if stability is more important than features. You can checkout a specific version of rails.

# instead of the last propset, use this for v1.1.6
svn propset svn:externals "rails http://dev.rubyonrails.org/svn/rails/tags/rel_1-1-6/ vendor/rails" vendor


Thats about it really. Oh, you can do a lot of other small tweaks as well. In fact there are some great ruby tools to automate this (as well as other migration or implementation) actions.

Don't forget to commit your final changes and then do another copy to tag this level of your source.

In an earlier posting, I had shown how to install Rails to Edgy. In this article I installed RubyGems manually, circumnavigating the DEB package. Using Edge Rails you could install the rails DEB with:

sudo apt-get install rails


At that point, create your project as normal, follow these instructions to configure your installation while also using Edge Rails with subversion. This means you can use the stable version of rails as that comes with Ubuntu but then use Edge rails within your project for a newer version. If you do this, be sure to run:

ruby vendor/rails/railties/bin/rails .


We do this so that your new project is upgraded to the latest rails version. This is not safe to do if you have already started to add content to this project.

Friday, December 01, 2006

Review: Palm Treo 650 Smart Phone

I've put off on reviewing this for a while as this device left a bad taste in my mouth - but I thought I better write something before they are discontinued!



The Palm Treo 650 Smart Phone (mine is GSM) has some of the following specifications:

  • Palm OS v5.4

  • Intel™ PXA270 312 MHz processor

  • 22 MB user-available memory

  • 11.3 x 5.9 x 2.3 cm in size

  • 178 grams in weight

  • 320 x 320 resolution with 16 bit colour

  • Colour TFT touch-screen

  • Supports SD, SDIO and MultiMediaCards

  • 0.3 megapixel digital camera at 640x480 and 2x zoom

  • bluetooth

  • other odds and ends



This is the first smart phone that I've used, coming from my much beloved Motorola Razr V3. I found, caring around my Razr as well as my Palm Tungsten T5 was cumbersome, at least with regards to the numbers of devices I carried (consider that I always have a laptop and numerous peripherals as well).

As a phone, the Treo 650 is adequate. Using a bluetooth headset eased the pain of using the device directly. The call logs were limiting. The dialer was good. The contacts were too difficult to navigate (I must have over a 1000, organized by category of course). Using it to send a text message was the only positive thing about this phone.

As a PDA this device was below average. The memory is wholly inadequate (I purchased a 2 GB SD card). The screen size too small for reading eBooks. Some of the frequently used functionality from my Tungsten T5 was missing. With the keyboard on the device, it was missing the virtual keyboard and handwriting (which I prefer to use).

Overall I dislike the Treo 650 and will be tossing it to one of my Network Administrators as soon as I can. In fact, with Palm moving to Windows Mobile I shall not be using another Palm in the foreseeable future. It is cumbersome in size and weight and thus have been forced to realize that a good PDA and separate phone is not such a bad thing.