Monday, December 23, 2013

Why I gave up on Android

Many years ago Google came out with the Nexus One which was an absolutely amazing device. I was a first adopter and bought the Nexus one through their web store and dealt with the slight hassle of activating it with my carrier. I kept the phone for many years and eventually moved onto a few other Android phones but returned to the Nexus One because of the more pure experience. I bought every single accessory for the Nexus One and still have all the boxes. I still love the phone!

The other day I did something rather astonishing that I myself never would have seen coming. I went out and bought a brand new iPhone 5s. For many years I had been very much against the iPhone as a platform.  It lacked a lot of the features that Android introduced with the Nexus One. With ios 7 a lot of that has changed and as well the Android platform has changed as well and not in a good way. I gave up on Android because Google unfortunately sold out to the carriers and the handset vendors. Android is no longer the platform it was many years ago. From the bundling of crapware into the rom to the horrible hacks that the carriers have installed on phones to the really awful UI's that the handset vendors wedge under stock Android.  The fun does not stop there either. Androids brain dead way of allowing apps to spawn CONSTANTLY in the background and suck up CPU and memory as well as access the network despite the users desires otherwise absolutely murders the battery life on a device. Google lost track of the user as being their customer and instead made their customer the carriers, handset vendors and app writers.  

There were a few things that triggered my defection. One of those things was a friend who was looking for a new phone.  I suggested they buy the Nexus 4 which never really worked at all from day one. I think they have it in a drawer somewhere now. It overheated constantly and had huge issues with network connectivity. They replaced it with an iPhone and never looked back. The biggest thing though was the removal of privacy features in Android 4.3.  That really said something to me. Why on earth would you want to remove the ability for users to be able to control their own devices? That was the biggest objection I had with the iphone and the app store's walled garden. Google is doing this likely due to pressure from their partners with the ultimate motivation being money.  

Say what you want about Apple and the app store's walled garden and the lockdown on the devices. I don't like it either.  BUT. If you have to be in a digital jail cell why not the one with the more comfortable accomodations. Apple's main motivation with the whole ios platform seems to be the user experience being the most important. Carriers want the iphone and don't have the leverage to "wheel and deal" to errode the user experience like they do on Android. Carriers can get whatever they want on Android by leveraging Google and by leveraging the handset vendors if Samsung won't play ball perhaps HTC will and so on. Carriers only have one place to negotiate and try to wreck the experience on ios.  That's Apple.  And that costs them big time since it's one of the most desired handsets out there.  If Apple says no they have the last word.  

I'm rather impressed with the 5s so far. The fingerprint recognition works flawlessly and allows multiple fingers to be registered. The navigation is not quite as bad as many of the Android "fanboi" videos seem to show with the head to head videos on Youtube (I can't tell you the number of times Android navigation has crashed and burned on me while in the middle of driving someplace without decent network connectivity to start over). There was zero third party bundled crapware on my handset when I bought it. All of my data transferred seamlessly onto the new handset within an amazingly short amount of time. And the battery life is absolutely mind blowing. The hardware quality is also a huge step above the Android devices I am used to.  For many years I put up with a brown phone with a trackball on it with "Amazon Mp3" spawning itself constantly in the background. Now I don't have to anymore.  

Tuesday, February 26, 2013

Fun with IPMI

IPMI also known as Intelligent Platform Management Interface can be a hugely useful tool for systems administrators for keeping tabs on what's going on with our hardware.  It's a pretty useful and serious tool but that does not stop us from having a bit of fun with it.

To turn our server into a christmas tree like in the video there's a couple of things that we need to do.  First we need to install and configure IPMI support on our server.  The example below will work with RHEL, CentOS and Oracle Linux.

yum install OpenIPMI-tools.x86_64
chkconfig ipmi on
service ipmi start

Now that we have IPMI working we need to determine what LED's we have on our system.  Here's an example on the Sunfire X4100 in the video.  Your server is likely to be different.

[root@test1 ~]# ipmitool sdr list generic
sys.psfail.led   | Generic @20:18.3  | ok
sys.tempfail.led | Generic @20:18.4  | ok
sys.fanfail.led  | Generic @20:18.5  | ok
sys.power.led    | Generic @20:00.0  | ok
sys.locate.led   | Generic @20:00.0  | ok
sys.alert.led    | Generic @20:00.0  | ok
bp.power.led     | Generic @20:2D.0  | ok
bp.locate.led    | Generic @20:2D.1  | ok
bp.alert.led     | Generic @20:2D.2  | ok
fp.power.led     | Generic @20:18.0  | ok
fp.locate.led    | Generic @20:18.1  | ok
fp.alert.led     | Generic @20:18.2  | ok
io.hdd0.led      | Generic @20:1A.0  | ok
io.hdd1.led      | Generic @20:1A.1  | ok
io.hdd2.led      | Generic @20:1A.2  | ok
io.hdd3.led      | Generic @20:1A.3  | ok
p0.led           | Generic @20:2D.6  | ok
p0.d0.led        | Generic @20:1C.0  | ok
p0.d1.led        | Generic @20:1C.1  | ok
p0.d2.led        | Generic @20:1C.2  | ok
p0.d3.led        | Generic @20:1C.3  | ok
p1.led           | Generic @20:2D.7  | ok
p1.d0.led        | Generic @20:1C.4  | ok
p1.d1.led        | Generic @20:1C.5  | ok
p1.d2.led        | Generic @20:1C.6  | ok
p1.d3.led        | Generic @20:1C.7  | ok
ft0.fm0.led      | Generic @20:18.7  | ok
ft0.fm1.led      | Generic @20:19.1  | ok
ft0.fm2.led      | Generic @20:19.2  | ok
ft1.fm0.led      | Generic @20:19.3  | ok
ft1.fm1.led      | Generic @20:19.4  | ok
ft1.fm2.led      | Generic @20:19.5  | ok

Now that we know our LED's we can build a simple shell script to activate the LED's.  Here's the 2 second lazy shell script that I used to activate all the lights on my server.  We could even get fancy and pull the LED values out of ipmitool sdr list generic and write a better script but we are having fun here rather than doing anything serious.  It's important to note that if your using another type of server other than a Sun like I am you will be using the oem commands supported by your server vendor.  

ipmitool sunoem sbled set sys.psfail.led fast
ipmitool sunoem sbled set sys.tempfail.led fast
ipmitool sunoem sbled set sys.fanfail.led fast
ipmitool sunoem sbled set sys.power.led fast
ipmitool sunoem sbled set sys.locate.led fast
ipmitool sunoem sbled set sys.alert.led fast
ipmitool sunoem sbled set bp.power.led fast
ipmitool sunoem sbled set bp.locate.led fast
ipmitool sunoem sbled set bp.alert.led fast
ipmitool sunoem sbled set fp.power.led fast
ipmitool sunoem sbled set fp.locate.led fast
ipmitool sunoem sbled set fp.alert.led fast
ipmitool sunoem sbled set io.hdd0.led fast
ipmitool sunoem sbled set io.hdd1.led fast
ipmitool sunoem sbled set io.hdd2.led fast
ipmitool sunoem sbled set io.hdd3.led fast
ipmitool sunoem sbled set p0.led fast
ipmitool sunoem sbled set p0.d0.led fast
ipmitool sunoem sbled set p0.d1.led fast
ipmitool sunoem sbled set p0.d2.led fast
ipmitool sunoem sbled set p0.d3.led fast
ipmitool sunoem sbled set p1.led fast
ipmitool sunoem sbled set p1.d0.led fast
ipmitool sunoem sbled set p1.d1.led fast
ipmitool sunoem sbled set p1.d2.led fast
ipmitool sunoem sbled set p1.d3.led fast
ipmitool sunoem sbled set ft0.fm0.led fast
ipmitool sunoem sbled set ft0.fm1.led fast
ipmitool sunoem sbled set ft0.fm2.led fast
ipmitool sunoem sbled set ft1.fm0.led fast
ipmitool sunoem sbled set ft1.fm1.led fast
ipmitool sunoem sbled set ft1.fm2.led fast

To turn the lights off you can create a second script with "fast" set to "off" or to any state that you want.  One could even write one shell script that does both modes and polls sdr list generic for the available lights.  

There are some serious things we can even do with ipmitool.  Here we can do a general health check on our server.  Note the second power supply that's unplugged on my server in the Main Power Fault section.

[root@test1 ~]# ipmitool chassis status
System Power         : on
Power Overload       : false
Power Interlock      : inactive
Main Power Fault     : true
Power Control Fault  : false
Power Restore Policy : always-on
Last Power Event     : 
Chassis Intrusion    : inactive
Front-Panel Lockout  : inactive
Drive Fault          : false
Cooling/Fan Fault    : false

We can even check fan speeds, temperatures and voltages on our hardware with ipmitool.  Here's an example.  Note: I have removed some of the lesser useful values in the interest of not taking up too much space.  

[root@test1 ~]# ipmitool sdr
mb.t_amb         | 31 degrees C      | ok
mb.v_bat         | 2.80 Volts        | ok
mb.v_+3v3stby    | 3.24 Volts        | ok
mb.v_+3v3        | 3.30 Volts        | ok
mb.v_+5v         | 4.99 Volts        | ok
mb.v_+12v        | 12.29 Volts       | ok
mb.v_-12v        | -12.20 Volts      | ok
mb.v_+2v5core    | 2.56 Volts        | ok
mb.v_+1v8core    | 1.82 Volts        | ok
mb.v_+1v2core    | 1.22 Volts        | ok
fp.t_amb         | 24 degrees C      | ok
pdb.t_amb        | 23 degrees C      | ok
io.t_amb         | 22 degrees C      | ok
p0.t_core        | 33 degrees C      | ok
p0.v_vdd         | 1.14 Volts        | ok
p0.v_vddio       | 2.63 Volts        | ok
p0.v_vtt         | 1.31 Volts        | ok
p1.t_core        | 33 degrees C      | ok
p1.v_vdd         | 1.13 Volts        | ok
p1.v_vddio       | 2.66 Volts        | ok
p1.v_vtt         | 1.32 Volts        | ok
ft0.fm0.f0.speed | 6700 RPM          | ok
ft0.fm2.f0.speed | 6800 RPM          | ok
ft0.fm1.f0.speed | 7600 RPM          | ok
ft1.fm0.f0.speed | 8800 RPM          | ok
ft1.fm1.f0.speed | 8800 RPM          | ok
ft1.fm2.f0.speed | 8100 RPM          | ok
ft0.fm0.f1.speed | 6500 RPM          | ok
ft0.fm1.f1.speed | 7600 RPM          | ok
ft0.fm2.f1.speed | 7100 RPM          | ok
ft1.fm0.f1.speed | 8600 RPM          | ok
ft1.fm1.f1.speed | 8800 RPM          | ok
ft1.fm2.f1.speed | 8200 RPM          | ok

There are tons of other useful commands within ipmitool.  The command is somewhat interactive and will respond with a listing of available options if you just run it with no arguments.  Have fun and dig around for some useful things that will help you in your day to day tasks.  

Friday, April 29, 2011

Cloud Cherynobyl

Amazon recently released a summary of their EC2 outage.  Their summary reveals that the human element was the underlying cause of this outage.

"The traffic shift was executed incorrectly and rather than routing the traffic to the other router on the primary network, the traffic was routed onto the lower capacity redundant EBS network."

Regardless of the level of automation and intelligence that we design into systems human beings interact with these systems at some level.  When systems are automated to a huge degree small human mistakes can have catastrophic consequences.  In this case thousands of customer sites were knocked offline for a period of 3 days while Amazon tried to regain control of its systems and the underlying automation.  Many customers suffered data loss due to the outage. 

Amazon's outage reminds me about about the Chernobyl disaster in 1986.  A disaster caused by the human element of control during some reactor tests. A series of simple mistakes during routine interaction caused them to loose control of the reactor.

Ironically both systems the Cherynobyl reactor and Amazon's EC2 systems were designed to be highly redundant and available.  It just goes to show that no matter how well you design you can't think of every possible scenario.

Thursday, February 3, 2011

Google Cr-48 Mario Netbook

Many months ago a good friend of mine told me about the Cr-48 pilot program.  I signed up mostly out of curiosity and because the simplicity and understated elegance of Google chosen hardware.  My Nexus One for example has been the greatest phone I have ever owned.  Yesterday on my doorstep was an unmarked brown box.  I opened it and to my surprise inside was a Cr-48.

So first impressions on the device.  Chrome OS is really interesting.  The minimalism of only a browser is a bit difficult to get used to but once you do its kind of strange to go back to a full featured machine especially another netbook.  I have an Ubuntu 10.04 netbook that I really love and recently when I grabbed it to look up something having to actually launch a browser and deal with the OS seemed weird to me launching a browser and dealing with the OS before I could get the information I wanted.

Google got the size of this device right though.  Anything smaller screen wise theres a bit more "effort" involved in being really useful.  I have my Ubuntu netbook configured to use the smallest amount of screen real estate with auto hide gnome menus and I use my browsers full screen and use virtual displays to get from one screen to another.  Even with my UI tinkering the screen is just ever so slightly too small and that hampers the experience slightly. The full size keyboard on the Cr-48 is great for typing.  Getting the device into developer mode and loading development stream of the OS was very easy.  Battery life is nothing short of amazing.  The device shows 8 hours on the timer and thats a real time.  Wake up and boot times are also quite amazing.  The other thing that's amazing is how nice the device looks.  Its simple and very elegant without all sorts of loud logos on it.  For those of you that miss logos Google did put an assortment of stickers in the box to affix to the Cr-48.  Under the hood is a dual core Atom N455 running at 1.7ghz with 2gb ram.  A the time of this posting my device is running a 2.6.32 kernel.

A few suggestions to the team at Google.  The app marketplace that I have seen so far is nice but there's a lot of missing territory that needs to be covered.  Many of the people who this would attract are developers and system's people so there is a need for RDP, VNC and other remote access apps.  Im using the terminal on the device now and its great using virtual displays but the ability to organize the virtual displays would be nice.  The flexibility of being able to pop from display to display with terminals, RDP sessions and other workflows would be great for dev's and systems guys alike.

It's refreshing for a change to work with an OS that has noticeable bugs in it.  Linux and OS X have become refined to a point where bugs are mostly edge cases.  So far I have broken the sound on my Cr-48 and my 3g wireless has broken in activation and use as well.  The track pad also has some really oddball weirdness to it that needs to be sorted.  This is a work in progress however and I am very happy Google is being transparent and open and putting the hardware into real use in the wild to help refine their products. The only real way to refine a product like this is to put it into the hands of users and get feedback.

Monday, December 20, 2010

Ten Great Free Android Apps

With Android 2.3 Gingerbread on its way any minute now I thought it would be a great time to review some of my favorite Android apps on my Nexus One.

Already I have noticed the app store and Youtube changing on my Nexus One seemingly in preparation for the 2.3 OTA launch.  It will be interesting to see when Gingerbread finally rolls out.

Wifi Analyzer - Makes your Android phone into a great wifi diagnostic device.

VR Tunnel Lite Live Wallpaper - Great wire frame 3d live wallpaper with motion sensing.

Google Shopper - Coupled with bar code Scanner allows for instant lookup of product information while shopping.

Barcode Scanner - Free bar code and QR code reader.

Advance Task Killer - Kills off apps that run in the background and saves CPU and battery.

Retro Clock Widget - Great looking clock widget that goes well with the built in Weather Widget.

Light Grid Live Wallpaper - Live wallpaper with multi colored blocks that have a sharp look.

Scanner Radio - Listen to live streaming police and fire radio on your device.

Connect Bot -  SSH client for Android.  Connect remotely and even to the local phone's OS.

CIDR Calculator - Calculate CIDR and net masks for your IP ranges.

Tuesday, November 23, 2010

OpenVZ CLI Commands

For my home testing enviroments I use a lot of openVZ containers on older 32 bit hardware with Proxmox VE.  Here are some useful commands for interacting directly with the openVZ subsystem on the hypervisor console.

vzlist - provides a listing of openVZ containers 
vztop - similar to esxtop for openvz
vzctl enter VM#- drops to the console of the container
vzctl start VM# - starts container
vzctl stop VM# - stops container
vzcalc - resource calc for container
vzdump - backup utility for continers
vzrestore - restoration of containers

Friday, October 29, 2010

Linux Terminal Server with Xrdp

Xrdp is a lightweight RDP server that can install into many different Linux platforms to provide remote desktop capabilities to X11.  You can use the standard windows RDP client or RDP client on any OS to connect to an X11 session on the Linux machine.  Uses of Xrdp are limitless such as remotely accessing systems without having to deal with xdmcp or X forwarding  or VDI applications providing a graphical Linux desktop for developers to work within.  

Tuesday, October 5, 2010

Proxmox VE Hypervisor / Workstation

One of the drawbacks of  bare metal hypervisors is their general lack of a usable console.  In a data center a console is unnecessary overhead but then again not all bare metal hypervisors have to live in a data center. Take for example a large cube farm filled with powerful developer workstations with plenty of idle CPU and free RAM.

While one could manually install and configure KVM or XEN manually on a Linux system most of these packages don't "just work" out of the box and require a bit of setup and tinkering to get working well.  But there is an alternative to rolling your own hypervisor. The Proxmox VE bare metal hypervisor uses Debian Linux as its base OS and can be modified to add X11 and other packages to give a very usable workstation and bare metal hypervisor combination.  With more than one workstation configured and shared storage for the VM disk images a "workstation cloud" is possible for developers to harness the unused CPU cycles of their systems as shared sandboxes controlled by one central web interface.  This article from the Proxmox wiki covers the steps needed to add X11 to the Proxmox VE bare metal hypervisor making it a developer workstation.

Update:  This works incredibly well.  Im running a dual headed workstation on top of Proxmox VE and it makes a great linux workstation.  If you install gnome be sure to apt-get remove network-manager and resolvconf so they don't interfere with the bridging and web configuration interface within Proxmox.

Friday, September 24, 2010

Proxmox 32bit Hypervisor

One of the problems one runs into when playing with many hypervisor platforms is the CPU requirements.  Often a 64bit CPU with VT flags is needed which eliminates a lot of older cheaper machines from being good test lab machines.

I often install VMware ESXi 3.5 to get around this but just discovered one of my favorite hypervisors has a 32bit workaround as well.  I found this article in the Proxmox wiki that gives instructions on how to install the product on 32bit hardware.  While the KVM portion of the hypervisor does not function the really lightweight openVZ part does function quite well.  If your not familiar with OpenVZ it provides a container like environment for an operating system instance to run. Check out this article for more information about Proxmox VE and openVZ.  Now to put some of my ancient 32bit IBM x345's to use.

Update:  Installation is really super easy.  The following will get this installed on a base Debian 5.0 install. This repo is not signed so ignore the error messages. Reboot for the new Kernel and you will have a working 32bit Proxmox VE install.

echo "deb ./" >> /etc/apt/sources.list
apt-get update
apt-get install proxmox-ve pve-manager qemu-server libpve-storage-perl

Friday, September 10, 2010

Vmware Boot to CD after VM has been installed

Once a VM is installed in VMware ESXi, ESX or vSphere it no longer will boot from the CD image that you select in the edit settings menu.  When you need to boot a VM to alternate media to crack a password or to do other functions outside of the VM's operating system the following steps will allow you to accomplish this.

Select Edit Settings and then click on the options tab.  Select Boot options and then check the force bios setup checkbox.  Reboot your VM and then go to the boot menu within the bios of the VM.  Just like a standard bios move CD up to the top of the boot priority.  Reboot your VM and you will be booting on CD again.  Be sure to uncheck connect at power on in the CD menu of the edit settings menu once you are done to get back to booting to your VDMK file.

Wednesday, September 1, 2010


Now that the Indian government has worked out an arrangement with Research in Motion for Blackberry servers they are setting their sights a bit higher and are demanding access to all telecommunications within the country.  One of the big problems will be access to corporate VPN's that run through the country to support call centers and other outsourcing services.  American companies that rely heavily on outsourcing will then have no secrets with the Indian government for any data that travels into the country. 

This also raises huge privacy issues for American consumers that are often forced to deal with overseas calls centers and provide personal and financial information.  The questions of how this access is managed and what abuse of private information would be possible still do not have answers.  With the negative public perception of outsourcing, privacy issues and now security issues is outsourcing really still a cost savings to the enterprise?

Sunday, August 29, 2010

A Time for Change

It's been a long time since I have posted anything to my blog. Work recently had some massive and disruptive changes which I won't go into. At the end of the day the last place I wanted to be was in front of a computer and because of this my blog and other personal projects suffered some neglect.

I embraced the changes and decided to move on with my career. I am very excited about the new opportunities and look forward to the new challenges that await me.

In the Computing Industry durations of time move in dog years because of the rapid changes.  The past 21 dog years have been a blast and I look forward to more challenges to come. 

Saturday, April 17, 2010

Proxmox VE Bare Metal KVM based Hypervisor

Proxmox VE is a bare metal hypervisor product that uses KVM and OpenVZ virtualization technologies. It uses Debian Linux as its base operating system and unlike a lot of other similar projects out there actually works well with no major gotchas. It's actually so well executed that I consider it a viable alternative to VMware ESXi.

Proxmox VE requires a machine with a 64 bit CPU and VT flags in the bios in order to do full KVM based VM's. If you lack the VT flag you can use the openVZ based technology that is very similar to BSD Jails or Solaris Zones. There are some limitations with the openVZ VM's but the upside is you can run them on a cheaper older hardware that lacks VT flags such as a Dell Poweredge 1850. Proxmox VE includes a number of operating system templates that allow you to provide most popular distributions of linux quickly and easily by downloading additional template files. If you want to take advantage of some of the Live Migration (aka vmotion) technologies shared storage is helpful but not required. Some of the OpenVZ vm's are able to move from host to host easily because they are not based on large disk images. Even if you don't utilize the live migration features VM's can be moved back and fort between systems through the web interface and without resorting to painfully slow SCP.

VM provisioning is handled through a rather well done web interface. OpenVZ vm's can be booted and installed in under 10 seconds with all configuration such as IP assignment and root passwords handled from the web interface. KVM VM's do require OS installation and manual configuration due to the style of virtualization but work very well. The Console is handled over VNC and works well even over slow network connections.

One of the big selling points of VMware ESXi to many people is the CPU and memory overcommit capabilities. With a simple Kernel upgrade Proxmox VE offers a similar feature set and impressively runs Windows 2008 R2 better than VMware ESXi 4.0.

Saturday, April 10, 2010

Google Nexus One Car Dock

Normally cellphone accessories are utilitarian boring things that we use to keep our devices charged or protected. They are not really something to get excited about. Except for this accessory for the Nexus one.

The Nexus One car dock does a number of things. It holds the phone for use with the GPS. It charges the phone while it is docked and it acts as a speaker system for the phone. All of these things by themselves are not exciting but the way that the Nexus one takes these elements in and blends them seamlessly is what is exciting.

For example. The speaker system. It's a small speaker but its quite loud and even is "ok" for listening to music and audio books. The Navigation system operates through it and so does the phone acting like a great noise canceling speakerphone. The noise canceling is simply amazing. I mounted it in my rather noisy Porsche and the callers heard me clearly but did not hear my shifting and revving in the background at all. Transfer between phone, Nav and audio sources are seamless and intelligent. The phone also know's when its in a car dock vs a home dock and brings up the car home which provides large buttons with Navigation, Voice search and Contacts. Voice commands like "navigate to the mall" and "call company name" are quickly and clearly translated into actions on the phone with google's powerful cloud based search technology so the driver does minimal "fiddling" with the device.

Google designed this as a thoughtful quick accessory but I think they have hit on something much greater. A 12V accessory cable and a wired audio out would take this from being a nice accessory into being a full on car kit. The Navigation, speakerphone and audio integration on the Nexus one with a more developed car kit like this would easily rival in car entertainment systems like Ford Sync, and Mercedes Command.

Monday, March 22, 2010

Create Root SSH Trust VMware ESXi

VMware ESXi is UNIX like but at the end of the day is an appliance with many limitations. Since its based on Linux we still have a number of tricks up our sleeve.

SSH by default is disabled on VMware ESXi. Turning it on is just as easy as un commenting the ssh line in /etc/inetd.conf and restarting /sbin/ VMware uses the dropbear ssh client and there is no configuration file on the system.

To create an ssh trust on ESXi do the following. Create a .ssh directory off of the root directory for the root user. Create an authorized_keys file in this directory. Copy your public key to this file on the system and you have your root trust. The next time you log in you won't be prompted for a password and you can run remote commands on your ESXi system.

Thursday, February 25, 2010

Google Nexus One Desktop Dock

I have always been a big fan of desktop charging docks for mobile phones. I have purchased them for most of my recent phones and they are quite handy for being able to quickly charge a phone without hassling with cords.

I bought the dock for the Nexus one and have been using it for a few weeks not and just recently connected the audio out jack to my Bang & Olufsen stereo in the bedroom. The dock itself was nice without the audio but the addition of the audio brings this dock and the phone to a new level of usefulness.

When the phone is placed in the dock it automatically opens the clock application making it a very useful bedside alarm clock. From the clock application there is a direct button to the mp3 player. When the phone is in the dock it automatically pairs with the dock via bluetooth and provides a high quality audio signal to the bedroom stereo. Since the connection is bluetooth wireless the phone can be removed from the dock and disconnect from the audio system with no popping or other noises that one might get with a physical connector.

With the thought and attention to detail of the dock design and clock application one has to wonder what the Nexus one Car dock is going to be like. I have already seen the "car home" application on the phone but one has to wonder what kind of integration the dock might have with the car's audio system.

Tuesday, February 16, 2010

Create Windows install bootable USB key

I recently had to install a 64 bit version of Windows 2008 on a Dell Poweredge 1850 that did not have a DVD drive and used these steps to create a bootable USB key. You can also create a Windows 7 bootable USB key using the same method for use with a Netbook without a DVD or CD drive.

Open a command prompt and type


list disk

select disk #


create partition primary

select partition 1


format fs=ntfs quick



Now we need to make the drive bootable

d: (drive letter to windows media)
cd boot
bootsect /nt60 h: (the drive letter to usb key)

Once this is complete use Windows explorer to copy the contents of the media to the USB drive. On the machine you want to install on go into bios and verify that it is configured to boot from USB.

Wednesday, January 27, 2010

Google Nexus One Superphone

So I took the plunge. I have been a loyal Blackberry user for a few years and just recently upgraded to a Bold 9700. When the new Google phone came out it was just too difficult to resist.

From the speedy 1ghz processor and OLED display to really high quality web browser and 5 mega pixel camera the new Nexus one truly earns the title of "superphone".

And the really amazing part. Its a great phone as well. The noise canceling is amazing as well as the ease of dialing and call quality.

And of course Linus Torvalds has one as well and claims its the first mobile phone he does not hate.

Tuesday, December 8, 2009

OpenDNS hijacking

I recently changed from OpenDNS to the new Google DNS servers. I noticed an article regarding a DNS benchmarking app from Google code and wanted to see how fast my internal nameserver was in comparison to some of the others available. Then I noticed something interesting. The app indicated that openDNS was hijacking So then I ran an nslookup and found the following.

> server
Default server:

Non-authoritative answer: canonical name =

Ok. That's really uncool. Not sure what their motivations are but if I wanted to go to I would have typed it into my browser. Its one thing to redirect NXDOMAIN's but a regular URL? That's pretty sleazy. One has to wonder the motivation and privacy implications for doing this.

Friday, December 4, 2009

Google Public DNS

Possibly the coolest news in quite some time. Google is providing RFC compliant DNS for free to the public. More information on public dns here. One of the really great things about this is the DNS servers are very easy to remember.


I switched my internal DNS from OpenDNS (I never really cared for their default filtering and sketchy settings based on your IP) to Google's DNS servers and noticed quite an improvement in resolution that my internal servers had not already cached. While Google does strict RFC compliance for domain.tld if you try to resolve a non domain.tld the results come back as a search query or a site. For example if you type cnn into your browser without the .com you will be directed to If you type in blah blah into your browser a search on Google for blah blah will appear. Personally I think this is much more useful behavior than being redirected to a spammy page full of ads by using an ISP's DNS server.

Thursday, December 3, 2009

Video Console on ESXi VM without using Infrastructure Client

A lot of people (especially those who don't run Windows) don't like to log into the VMware Infrastructure client in order to get a console on a VM. ESXi has the ability to run a video console over VNC by adding the following to the VMX file.

remotedisplay.vnc.password = “pwd”

The port number corresponds to the display number +5900. For example display 0 would be port 5900 and display 33 would be 5933. Keep in mind the password is stored in plain text in the vmx file.

This console is great for providing console access to developers or other support staff without giving them full access to the other VM's within the Infrastructure client.

Friday, November 6, 2009

Free Virtual San Appliance on ESXi

I recently had the need to use some NFS storage within my ESXi hosts. I had plenty of data store left on the physical disks and wanted to create a VM with a large amount of storage. Then I ran into the size limitation of VMDK files which derailed my idea for a while.

Then I did some thinking about how to get around this issue and was able to create my own virtual san within a VM. Here is a rough guide of how you can create your own Virtual SAN within VMware ESXi. This guide assumes some Linux knowledge and will create a 1.17 terabyte NFS VM.

First create a VM with a single drive large enough for your distro of choice and with enough ram. I used CentOS and gave the VM a 4gb disk and 512mb ram. I did the minimal install of CentOS for my appliance and this included NFS in the default group of packages. You will also need packages for Linux LVM in your distro.

After Linux is installed edit the VM settings and add 6 200gb disks to the VM and reboot the VM. Once your back up and running You can list them out with fdisk -l. The first thing we need to do is partition each one of our disks. You can do this with fdisk /dev/sdX with X corresponding to the device indicated in the fdisk -l output. You have to do this for each of the 6 disks. Here is the "template" that I used for my disk partitioning.

fdisk /dev/sdX
n - new
1 - partition number
default - start of disk
default - end of disk
t - type
8e - hex for linux LVM
w - write

Now that the drives are partitioned we have to create physical volumes, volume groups and do a number of other steps to get LVM going. Here is part of my template for doing this.

pvcreate /dev/sdb1 /dev/sdc1 /dev/sdd1 /dev/sde1 /dev/sdf1 /dev/sdg1
vgcreate vol1 /dev/sdb1 /dev/sdc1 /dev/sdd1 /dev/sde1 /dev/sdf1 /dev/sdg1
lvcreate --name shared --size 1.17T vol1
mkfs.ext3 /dev/vol1/shared
mount /dev/vol1/shared /export/shared

Now that LVM is going we need to mount it to the filesystem. Create the directory /export/shared and mount the filesystem using mount /dev/vol1/shared /export/shared You should be able to see the filesystem mounted in the output of df -h at this point.

Now that we have the filesystem mounted we need to have it mount on boot and export it via NFS to make it useful to us. Here are the steps to do this. In this example vi /filename is followed by the changes needed to the file. You will need to modify the changes to the specific configuration of your network.

vi /etc/fstab
/dev/vol1/shared /export/shared ext3 rw,noatime 0 0

edit /etc/exports

Permissions to /export/shared should be changed to fit the needs of your environment. Adjust the permissions on /export/shared to fit the needs of your environment. If this is a well protected test box you can chmod 777 /export/shared for full access. You will also want to make sure NFS is up and running in the VM at this point and that you can mount the filesystems under NFS.

Now you can go in and mount this storage within ESXi. Click on Configuration>Storage>Add Storage and Select Network File System. Put the hostname or IP address of your NFS VM in the Server field and the mount point of /export/shared in the folder field. The Datastore Name field is a label which will be the name that ESXi refers to this NFS storage. This can be set to anything descriptive. I used the hypervisor_hostname-nfs as my name to show which system this NFS storage really lives on. Once you hit next your new data store will come up.

For my needs NFS works fine however one could configure the VM as an iscsi target as well and have an even more usable storage VM.

Wednesday, October 21, 2009

Vmware Console Repeating Chararacters

Ever notice when your typing on a VMware console that you get repeat characters in the console for no reason? This was a slight annoyance for me for a while that I was able to put up with until I attempted to install the Vsphere Management Assistant. Because VMware let the password nazi's loose on this product I had to select a password within their complexity standards and do this through the console which is known to repeat keys. I tried in vain to do short passwords but the script kept throwing me in loops. My long password was simply impossible to enter because of the repeat bug in the console. Bringing the VM into single user mode and setting a password was not possible either because the VM would launch it's annoying configuration script again demanding I assign a long password.

With a little research I found the Console issue is due to network latency. When you type the latency causes the console to think your holding the key and the repeat function comes into play causing the all to familiar and annoying repeat issue.

To fix this you can enter a single line into your .vmx file that fixes this. VMware if your out there and listening perhaps you could make this standard in the Vsphere Management Assistant Appliance especially if you insist on enforcing your ridiculous password scheme in the setup utility. This fix would have been impossible on an ESXi host unless ssh was enabled or the user knew about the "unsupported" console.

keyboard.typematicMinDelay = "2000000"

The Caveat of course is your keyboard repeat is gone so it makes working within text editors and other applications that require repeat characters difficult to work with. You of course can still hit the key multiple times. For my purposes being able to authenticate is much more important than a few more keystrokes to move around in vi.

Tuesday, October 13, 2009

VMware ESXi Infrastructure Client Issues revisited

In a previous blog entry I posted about how to restart the VMware management agents in the event that you could not connect via the Infrastructure Client. I have found however this does not always work and sometimes one has to get a bit more involved to regain control of a non responsive host.

After restarting the management agents within dcui from the ssh prompts sometimes you will find that the host is still unresponsive. You may also observe the following.

Before our restart in DCUI

~ # ps aux | grep hostd
62991508 22972707 hostd hostd
30481665 22972707 hostd hostd
22972707 22972707 hostd hostd
42826021 22972707 hostd hostd
42826022 22972707 hostd hostd
42826023 22972707 hostd hostd
62069036 22972707 hostd hostd
62069039 22972707 hostd hostd
45624624 22972707 hostd hostd
58286499 22972707 hostd hostd
63749610 22972707 hostd hostd

After the restart in DCUI

~ # ps aux | grep hostd
62991508 22972707 hostd hostd
30481665 22972707 hostd hostd
22972707 22972707 hostd hostd
42826021 22972707 hostd hostd
42826022 22972707 hostd hostd
42826023 22972707 hostd hostd
62069036 22972707 hostd hostd
62069039 22972707 hostd hostd
45624624 22972707 hostd hostd
58286499 22972707 hostd hostd
63749610 22972707 hostd hostd

Notice none of the PID's changed?

In order to get the host responding again to our Infrastructure client we have to kill off these processes with and restart the hostd process. After killing the processes and restarting hostd you should be able to connect again with the infrastructure client. If you don't have ssh enabled on your host you can also do this from the host console.

kill -9 PID#
/etc/init.d/hostd start

Wednesday, August 12, 2009

Virtualizing Routers with Dynamips and GNS3

One of the challenges that I run into trying to Virtualize environments is the dependence on physical routers to route traffic. In some cases where there is heavy traffic being utilized and a good network design these routers are needed. In most cases they are not and can easily be virtualized to save power, rack space and make an easier to manage environment.

VMware ESX has a great networking stack and allows for virtual switching and a lot of IP operations can be done in software rather than on physical networking hardware. One thing that VMware ESX is missing is the ability to route traffic. There are a number of different ways around this and any Unix based VM can be used to route traffic around the virtual networks. But sometimes you really need a Cisco only feature such as Netflow or the Cisco SNMP functions.

Dynamips is a software package that sits on top of a Unix system and acts as a hypervisor for Cisco IOS images. You can bring up multiple virtualized routers and access their configuration and actually route traffic with them. They use an actual IOS image and are essentially software based Cisco routers. Dynagen is a front end for Dynamips and GNS3 is a GUI that allows for easier configuration of routers and their setup and connectivity.

One of the big advantages of using Dynamips to do routing is the configuration from the physical Cisco router being Virtualized can be taken directly with some minor modifications and be used directly. Dynamips is also quite handy for people used to doing their router configuration in the popular IOS format and as well for people who want access to the IOS command line without a huge investment in routing gear.

Friday, July 24, 2009

Dev Channel Chromium for OS X

I have been trying out Google's new Chromium browser for OS X and it is quite impressive. Chromium is rather nimble and the rendering engine is rather bug free. I have run actually released web browsers that have mangled web pages beyond recognition and this one I have yet to run into issues. While there are a lot of features that are not working such as flash support and some of the configuration options are missing its is still quite a usable browser. I have found it is even more robust than Safari and Firefox on my mac for crashes.

I really can't wait to see what the finished product is like as right now the browser is quite usable and stable already. Do keep in mind however that if you decide to try Chromium its not "quite" finished yet and you won't be able to use it as a primary browser. See this entry in the Chromium blog for more information. Developer Documentation can be found here. And if you want to put Chromium through its paces check out the Chrome experiments site out.

One of the things that makes Chromium interesting is its multi threaded. Each browser tab is a separate process on your system. If you look at the output of ps or top you will see these processes running. Killing one of these processes will kill the tab and give you a cute sad mac icon in your browser. What is also quite interesting, the process is created only when the new tab starts to load content not during the creation of the tab itself.

Thursday, July 23, 2009

Fun With Analog Machines

Today I realized that I had a month long gap of posts on my blog and suddenly realized my distraction. Rather than a machine that fits in a 19 inch rack I have been having fun with a machine that fits into a standard parking space.

I bought my beautiful classic 1989 Porsche 944 2.7L on a whim at a local used car dealer and got a terrific deal on one owner car with full books and records. I have been using it as a daily driver while trying to get most of the bugs out of it and have been having a great time in the process.

While it looks like an impractical sports car its quite the opposite. In addition to getting great gas mileage its quite roomy and comfortable on the inside and is a blast to drive. This car was rated the "best handling car in the world" when it was new and even with the cars age the handling is absolutely amazing. It has a perfect 50/50 weight balance with its rear mounted transmission. There's even cargo space! A friend of mine gave me some servers and the rear hatch gobbled up two full 4u servers and a 1u server with room to spare. Even Jeremy Clarkson from Top Gear loves the 944 and he is known to hate Porsche's. You tube video here.

Speaking of those servers they are still sitting in my basement without an OS on them. Perhaps its time I get back to the word of digital machines.

Tuesday, July 21, 2009

Veeam Monitor 4.0

One of the more painful aspects of working with ESXi hosts is as you have more and more hypervisors you have it become more difficult to manage them with the VMware Infrastructure client. I posted a previous blog entry about VMware ESXi management with Veeam monitor and conserver. The engineers at Veeam have been busy indeed and have released version 4.0 and have drastically improved what was a great product to begin with.

With Version 4.0 of Veeam monitor the Infrastructure client for each host can be opened from within Veeam monitor. This eliminates the need to log into these hosts seperately when you need to do a configuration change that is only possible through the Infrastructure client or through the CLI. I will still be utilizing the CLI for a lot of my tasks but having this integration within Veeam Monitor is quite impressive. Especially considering the price that they are offering it for. Free of charge.

If you manage a lot of ESXi hosts and you don't already have a copy of Veeam Monitor 4.0 you really should check it out. You can download a copy here.

Tuesday, May 19, 2009

Sun responds to IBM's incentive program

I wrote a blog article previously about IBM being upset about the Sun Oracle deal and throwing a bit of a tantrum. Sun apparently has some not so nice things to say about the innovation at IBM. From the article on Sun's website. "Industry experts frequently talk about the "Brick Wall" of Computing Performance. Well, everyone except IBM. Cranking the clock frequency to scale performance is an evolutionary dead-end; while Sun and the industry as a whole move forward with multi-core, multi-thread processors. IBM is the last holdout and is exhausting the old technique with higher power consumption and higher heat generation."

The article makes quite a few valid points and hits IBM where it really hurts. If you look at the slanted design of the racks for the IBM Blue Gene Supercomputer this was done to house additional air ducts for cooling. IBM is pushing for water cooled designs to further cool these really hot processors which is directly opposite of the industry's air cooled movement. Even Cray moved away from liquid Fluorinert cooling in their later designs.

Unlike IBM with their incentive paid in professional services "blue dollars" Sun is offering a 40% discount on hardware replacing IBM systems.

Tuesday, May 12, 2009

Rackable Rebranding as SGI

In an unexpected and strange move Rackable announced that they will be re branding their company as SGI. From their press release “The Rackable name will become the brand for the SGI x86 cluster compute products. Rackable will join our other industry-recognized brands – such as ICE Cube, Altix, InfiniteStorage, CloudRack, MicroSlice, Origin, and VUE – to comprise the new SGI.”

While this may be ancient history to most SGI had a line of x86 products that failed miserably. Systems like the SGI 320 workstation that used UMA technology and their full line of rack mounted servers that never sold well like the SGI 1200. SGI's original x86 servers had real engineering inside them and were not just re branded commodity systems and still did not sell. With cost a major factor in most data center build outs its really questionable if "brand name" really matters anymore. What most companies look for when selecting server hardware is price, performance and service rather than a pretty logo in their racks.

It will be interesting to see how this unfolds in the future. A brand represents much more than what can be purchased in a contract. It's a history of engineering and support. Customers can see through an SGI logo attached to an inferior product. Rackable has bought some really big shoes to fill. Hopefully their commitment is more than wanting pretty logo's for their products. That logo alone did not sell SGI's x86 systems. Hopefully Rackable is committed to the same levels of performance, innovation and engineering as SGI was.

Monday, May 4, 2009

IBM = Sore Loser?

IBM loses out on the Sun Microsystems deal and then gets angry because Sun went with a better offer from Oracle. But in typical red faced angry toddler fashion if they can't have their way they are going to take their ball and go home and not be Sun's friend anymore.

This article describes how IBM has doubled the incentive for customers to dump Sun hardware in favor of their hardware. "IBM will offer customers $8,000 worth of software or services for every Sun Sparc processor ditched in favor of IBM Power servers. IBM previously offered $4,000 per processor for customers that made the switch. " This sounds like a great deal but its limited to their already overinflated software and professional services. How about hardware for hardware? Oh thats right. Hardware costs money. I wonder how much of those professional services will be serviced out of Banglore India?

Just Last week IBM announced plans to parner with Brocade because they are angry about Cisco selling their Unified Computing System. Article here in case you missed out. Seems like a pattern is emerging here.

If Dr Watson was alive today I wonder what he would say? I have a feeling that he would not approve of this behavior.

Wednesday, April 22, 2009

VMware Introduces vSphere 4

VMware released their new product vSphere 4. From their press release they state the following "VMware, Inc. (NYSE: VMW), the global leader in virtualization solutions from the desktop to the datacenter, today announced VMware vSphere™ 4, the industry’s first operating system for building the internal cloud, enabling the delivery of efficient, flexible and reliable IT as a service."

Of all my favorite overused buzzwords "cloud computing" is my favorite because of the wide variety of different computing models it describes. Many people use the term having no real idea what it means just because its the popular buzzword and have no concept that even though your running "on the cloud" your connected to a physical server somewhere with the same physical resources as a standard server. A lot of people fail to do the math of the real costs and think they are saving a bundle of money when in reality their costs have increased using an external provider.

While VMware is guilty of abusing the "cloud" buzzword their new product vSphere is actually rather innovative. From their press release again. "Up to 20 percent additional power and cooling savings with VMware Distributed Power Management which uses VMware VMotion to automatically place all virtual machines on as few physical servers as possible without compromising service levels, and power down physical servers that are not needed. The power savings with VMware Distributed Power Management across all VMware vSphere 4 customers over one year could power a country the size of Denmark for 10 days"

Essentially one could have a cluster of hardware ready to go powered off and have vSphere actively powering on and off servers as needed and using vmotion to move VM's around the cluster. Not only are you not getting wear and tear on your hardware from being powered 24/7 there is an energy and cooling savings as well. Not to mention saving a lot of time with provisioning and capacity calculation. Resources as they are needed power up and down by themselves. Because there is less stress on the hardware it could also last longer as well providing more reliable service over more time. A whole cluster could be installed with more capacity than needed and then left unattended for many years. When the hardware fails its just taken out of the pools of machines. As the compute resources increase more machines in the cluster power on to be utilized providing an almost hands off administration experience for the entire lifespan of the installation.

Now if it were only priced reasonably. The Full featured top of the line version of vSphere costs $3,495 per processor. Their stripped out bottom of the line version is $795 per processor. Depending on your hardware the OS could easily excede the costs of your hardware investment. At these prices power and administrative staff seem really cheap.

Tuesday, April 21, 2009

ESXtop on ESXi

If you have ssh enabled on ESXi one of the more useful commands for determining system utilization is esxtop. When you run esxtop you get a display of all the processes on the system which is not exactly the most useful information. The program is capable of displaying other information as well. The most useful is the capital V option which shows per VM usage. You can also display disk usage memory usage and network usage as well with esxtop.

Here is a snippet of the help page for esxtop.

Esxtop version 3.1.0
Secure mode Off
Esxtop: top for ESX

These single-character commands are available:

^L - redraw screen
space - update display
h or ? - help; show this text
q - quit

Interactive commands are:

fF Add or remove fields
oO Change the order of displayed fields
s Set the delay in seconds between updates
# Set the number of instances to display
W Write configuration file ~/.esxtop3rc
e Expand/Rollup Cpu Statistics
V View only VM instances

Monday, April 20, 2009

Oracle to buy Sun for $9.50 a Share

Oracle is now going to buy Sun at $9.50 a share in cash. From the article on Sun's front page "Sun and Oracle today announced a definitive agreement for Oracle to acquire Sun for $9.50 per share in cash. The Sun Board of Directors has unanimously approved the transaction. It is anticipated to close this summer."

I think that the Oracle purchase is a more natural transition for Sun. Oracle has a large amount of cash which Sun needs for research and growth. Oracle also seems to be rather hands off with their purchases. This will also be beneficial to Oracle as well having slightly more say as to some of the internals of Solaris so that perhaps there may be more integration into the way the database works with the OS.

The IBM deal would have been troublesome for both Sun and IBM. IBM's own UNIX variant AIX would have come into question in addition to lots of blockers being thrown in Sun's path budget wise for by IBM for innovation and R&D.

I hope IBM has learned their lesson as well from this. When you have the deal of century on your desk it does not pay to be cheap and play hardball in negotiations. Someone like Oracle might be around the corner willing to pay more than the asking price and snatch the deal right out of your hands. I suppose the bean counters and negotiatiors at IBM are kicking themselves right about now.

Monday, April 6, 2009

IBM Withdraws $9M Offer to Buy Sun

This weekend IBM withdrew its $9M offer for Sun after the Sun board balked at their lower offer. From the NY Times article.

"After the legal review, I.B.M. shaved its offer Saturday from $9.55 a share, the proposal on the table late last week, to $9.40 a share, said one person familiar with the talks. The offer was presented to Sun’s board on Saturday, and the board balked. The Sun board did not reject the offer outright, but wanted certain guarantees that the I.B.M. side considered “onerous,” according to that person. Sun then said it would no longer abide by its exclusive negotiating agreement with I.B.M., a second person familiar with the discussions said. On Sunday, I.B.M.’s board decided to withdraw the offer."

Sun is now on their own to make their business model work which I think is a good thing. This gives more choice in the Unix market. Doing business with IBM would have ultimately failed anyway due to their drastically different way of doing business. Its good to see Sun able to walk away from the deal mostly unscathed. Now its time for the board and the executives to sit down and do their jobs to make Sun more profitable rather than looking for a quick payout.