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.

Thursday, November 30, 2006

Implement: Installing Rails on Edgy

Just got my new System76 laptop (I will do a review once I play with it for a while) and one of the first things I did was get my Ruby on Rails environment up and running. It came pre-installed with Ubuntu 6.10 Edgy Eft.

Since Gems do not adhere to the upgrade path of Debian or Ubuntu, we will get around the package manager for this one component.

Ensure restricted and universe repositories are enabled.

I prefer a terminal:

sudo apt-get update
sudo apt-get install ruby rake ri rdoc irb
wget http://rubyforge.org/frs/download.php/11289/rubygems-0.9.0.tgz
tar xvzf rubygems-0.9.0.tgz
cd rubygems-0.9.0
sudo ruby setup.rb
sudo gem install rails --include-dependencies


Ruby on Rails is setup!

You will need a database, PostgreSQL or MySQL are both excellent. Lets setup the latter:

sudo apt-get install mysql-client mysql-server libmysql-ruby


Don't forget to configure your database - particularily setting the root MySQL password.

If you want to edit with Emacs, then continue:

sudo apt-get install emacs ruby-elisp


That is really it. You should be ready to create your first RoR project simply by entering:

rails myproject

Monday, November 27, 2006

Code: Ruby - Fun With ActiveSupport

If you have discovered the joy of coding in Ruby you will understand my enthusiasm! Not for years have I stayed up all night to learn a new programming language - excited at each new aspect, anxious to try what I have learned in a project. Ruby is simply a joy to use!

I am a newbie to Ruby but perhaps you will find something useful from my chaotic thoughts here.

One of these things is ActiveSupport - which many of you may know is a dependency within Rails. Yet you don't need to code a Rails project to enjoy this great library. For those of you not in the know, ActiveSupport is a collection of utility classes and standard library extensions.

Lets take a look at some of what you can do with ActiveSupport.

Inflections
>> "job".pluralize              #=> "jobs"
>> "job".singular #=> "job"
>> 23.ordinalize #=> "23rd"
>> 10.ordinalize #=> "10th"
>> "readers_best_work".humanize #=> "Readers best work"


Numeric
>> 10.bytes             #=> 10
>> 10.megabytes #=> 10485760
>> 10.terabytes #=> 10995116277760
>> 20.seconds #=> 20
>> 20.hours #=> 72000
>> 20.fortnights #=> 24192000
>> 20.months #=> 51840000
>> 20.minutes.ago #=> Mon Nov 27 11:53:23 Pacific Standard Time 2006
>> 20.minutes.from_now #=> Mon Nov 27 12:37:39 Pacific Standard Time 2006


Time
>> now = Time.now       #=> Mon Nov 27 12:19:21 Pacific Standard Time 2006
>> now.at_midnight #=> Mon Nov 27 00:00:00 Pacific Standard Time 2006
>> now.next_week #=> Mon Dec 04 00:00:00 Pacific Standard Time 2006
>> now.seconds_since_midnight #=> 44361.859
>> now.to_s #=> "Mon Nov 27 12:19:21 Pacific Standard Time 2006"
>> now.to_s(:short) #=> "27 Nov 12:19"
>> now.to_s(:rfc822) #=> "Mon, 27 Nov 2006 12:19:21 Pacific Standard Time"

Friday, November 17, 2006

My Linux Journey

My Linux journey started at the tail end of 1995 when I wanted to try something besides MS Windows and IBM OS/2. A few of us were talking and one suggested Linux - which was still pretty low on the radar. I sat in the basement of a friends house and watched him use X Window and CSH scripts and my life hasn't been the same since!

I can't remember where I got my first CD - or maybe it was a bundle of floppies - but I remember that it was the Slackware distribution. How many times had I installed this new OS onto my system - how many hours had I lost trying to learn what all these esoteric names meant and how or why I should install them? I was in geek-heaven! Getting X Window XFree86 up and running was a multi-day affair and when I finally got it to work, I was nearly in tears I was so happy. I purchased Motif and moved between that and FVWM. But the GUI was just the workspace to hold, literally, dozens of xterm or rvxt terminals. I discovered the command line through sh and then bash, and was delighted that I could do more in a single line than any MS Windows user could do with expensive applications.

I was addicted and delighted.

My journey would take me to most of the large-name distributions - but I became a long term Debian user. I just loved dpkg and then apt-get. Sure I tried rpm but back then it was the same old frustrating operating system upgrade circle that I hated from MS Windows and IBM OS/2.

Being a database geek in a corporate world I soon found that I had to live within MS Windows for a desktop, options were very limited. There was no Postgresql or Mysql, at least not at a comfortable enterprise level to use for small projects. Oracle RDBMS was my database of choice but that would not run on Linux for some years, but my servers ran a wide rang e of un*x environments. The client side tools were native MS Windows code - no Java yet.

This just allowed me to use Linux in various server-specific installations but rarely on the desktop. A file server here a firewall there - Linux excelled.

Jump ahead to present and you can see a different world. Linux is not only accepted but posted as the poster child of many companies - enterprise products either work on Linux or don't have a place. What IT shop doesn't have a single Linux server (or dozens)? My addiction is catching on it seems.

At my present work environment we made a choice early on - no exposed MS product outside the firewall. This means only hardened Linux boxes or appliances. It was an easy and comfortable choice. We are porting our database to Oracle RDBMS on a Linux operating system - my decision, one that I have a proven track record for success as well as financial incentives. There is even an initiative to move the whole office to Linux - now shit like that excites me!

My laptop is now running Ubuntu Linux - and I'm still using apt-get and xterms but on top of GNOME.

This addiction of mine has not slowed down and I don't expect it too.

Saturday, November 11, 2006

Review: Edge-Core Skype Phone


I wanted something separate from one of my machines while still giving me access to my Skype calls. Doing some searching online I found a handful - but reading the statistics, I settled on the Edge-Core Skype Phone.

Wherever there is an available wireless connection, including WPA/WPA2 encryption, this wireless device gives me access to all things that I need with Skype. This includes the following services:
With a wide screen, easy to access buttons (perfect for my large fingers), light in weight and small in size - this device is perfect for throwing in my bag to go where I want to go. I can manage my account, my contacts and even do my frequent conference calls.

At home I leave this phone on, using my personal wireless network, so that I can phone out or access calls. As a road warrior, sitting at a tea shop, I just search for a strong open network to attach too and then I am available for calls again. All this without turning on one of my machines.

If there are any negatives with this product is that the receiver is poor and it can be hard to hear in a loud environment. When this is a problem I just plug in a headset and I'm good to go.

This is the only Skype phone I've tried but I think I picked a winner my first time out!

Wednesday, November 01, 2006

Linux Podcasts Worth Listening To

Three days a week I commute to the office, a 45 minute trip each way. During this time I normally listen to a handful of regular Linux podcasts. My choices range from the informational to the fun – most often involving both. Give any or all of these a try if interested!

JaK Attack

Join Jon and Kelly as they give us a mixture of Linux, music and fun. Normally a 45 minute show posted weekly. This show has few guests and rarely a single agenda - but seems to follow the personal lives of the two hosts as they use (and attempt to use) Linux. This can be a fun show but it can also be more than a little irritating. More than once I have stopped listening to a show less than half-ways through - something I rarely do with others on this list. Yet I keep coming back.

Linux Action Show

Chris and Bryan, ex-Mac geeks, that bring us a high mixture of technical news along with informative opinions. This is approximately a 45 minute show per week. I listen to this show for the news highlights and their informative opinions and am never disappointed. They do specific reviews of tools and hardware that I find very useful. I purchased my System76 laptop as well as Real Basic because of these guys. Great quality podcast and I await each show anxiously.

Linux Link Tech Show

One of the longest running Linux show - Pat, Linc, Allan and Dan bring us a wild mixture of technical talk, opinions, humor and some great guests. The podcast is taped from the weekly live show and runs about 2 hours each week. This is one of my favorites. I find the quality of the taping very poor and the discussions can have long periods of (near) dead air that can take away from the fantastic show. Yet I have been in danger of getting into a car accident more than once as I laugh uncontrollably while listening to these guys.

Linux Reality

A very informative show for newbies and geeks alike. Chess brings a very informational show one-man show, with a half hour podcast with a specific topic each week. I don't listen to each of his shows - but choose a topic (last weeks was on SSH) and listen. I can usually catch something new from a tool or service that I have been using for over a decade. Every person just new to Linux should listen.

LUG Radio


Another long running show, already in their 4th season - Jono, Ade, Stuart and Matthew bring us an on-topic mixture of information, fun, opinions and great guests. This podcast is taped every two weeks and is about 90 minutes long. Easily my favorite. These guys create an agenda for discussion, mix in some great interviews (last week had
Eric Raymond), some crazy Brit humor, with a high mix of knowledgeable presenters and you have this show. This is an online Linux User Group at its best!

Saturday, October 28, 2006

Blogging for Bloggings Sake

To blog or not to blog! Right? Only time will tell.

I have found myself reading blogs more frequently over the last year – often finding a wealth of information that I can devour and regurgitate at my pleasure.

But why am I here – writing for this blog when I have so little spare time in my life?

I think it is therapeutic for one. I purchase a product and am frustrated at how crappy it is or I want to vent my disgust at how some corporations seems to excel when other, and sometimes better companies, seem to be overshadowed. Where can I vent my passion? The guys at work, my wife, they have all heard it before.

So what is my plan you ask? Gotta have, at least, a high level project definition and perhaps schedule in mind right? I sat down and put together about a dozen topics I can write about off the top of my head – easy stuff – good shit. Therefore I shall attempt two blog entries a month. So this project can easily run a few months without any glimmer of a new idea from me.

What the hell can I possibly talk about that someone else may be interested in?

Shit – that’s what. Really – don’t read this, I don’t care. But I shall write product reviews for some toys that I get handed – some cool code snippets from languages that I am enjoying – some hate-filled rebuke about company’s moronic practices – whatever the hell I want really.

That’s right – it’s all about me!