Thursday May 01, 2008

Blog moved to



    This blog is being continued at

Thursday Feb 28, 2008

Visually Impared ... and Driving?

A few weeks ago while stopping by the drive up ATM my daughter noticed something that I never saw or really thought about.

ATM Machine ATM Machine

The decal affixed to the machine says it all.

My daughter then went on to ask, what if the "visually impaired" person can't see the sign. I went to say, that's why it also includes the braille.

I know, maybe not a politically correct blog, but makes you wonder.

Friday Jan 04, 2008

A Mac alternative to the Microsoft Office 2008 upgrade...NeoOffice

As Steven J. Vaughan-Nichols point out in his eWeek article yesterday, you do have an alternative to shelling out some bucks for the new Microsoft Office 2008 upgrade, due out the next couple of weeks.

If you get a chance, try out NeoOffice, now version 2.2.2. This is a Mac OS X version, of the popular suite. It uses the Mac OS X Aqua interface as opposed to the X11 requirements of OpenOffice.

Although I have Microsoft Office 2004 on my Macs and agree that it's one of the better running apps on my Mac, I honestly haven't used it since I've installed NeoOffice over 2 years ago. Yes, NeoOffice is a bit slower, yes, it is a bit buggy, but I can edit any Microsoft Office document, presentation or spreadsheet all for the price of $0.

So, before you shell out $150-$300 for Microsoft Office 2008, just give NeoOffice 2.2.2 a test drive. It might surprise you.

Technorati Tags: ,

Tuesday Nov 06, 2007

13949712720901ForOSX - We need Java6 in Leopard!

C'mon Apple! Get with it. We need Java6 support in Leopard.

Monday Aug 06, 2007

Welcome Ollie!

Meet Ollie!  He's a new addition to our family, mostly black lab with something else mixed in.


We adopted Ollie from the SPCA Animal Shelter of McKinney, TX last week and he's been great.  Depending on who you talk to he's anywhere from 8 moths to 2 years.  During the weekend, we took him to the dog part in Plano, TX and he had a blast playing and running with the other dogs. 



It is our first dog, so we've got a lot to learn from Ollie.

Sunday Mar 04, 2007

Solaris 10 Non-Root User...Port 80

Tonight, I found out an easy way to allow a non-root user to bind to a privileged port (<1024) on Solaris 10.  I've done this before with RBAC (i.e. exec_attr, prof_attr), but knew there was an easy one line command to provide this privilege to a non-root user.

Here's the simple command.  You must run it as root. 

  # usermod -K defaultpriv=basic,net_privaddr tomcat

Now the user tomcat can run applications that need to bind to privileged ports (i.e. port 80).  For those taking notes, this addes a line into the /etc/user_attr file:


Hope this might help another basic Solaris user out there like me.  If an expert Solaris user has a different opinion, please comment.

Friday Mar 02, 2007

When was the last time...

When was the last time someone sent your newspaper clipping in the postal mail?  I had this happen to me last week.  While reading a New York Times article about SSN's and peoples identities, a Sun colleague (past manager) took the time to cut out an article, fold it up, stick it on an envelope, address the envelope, put a stamp on it and send it to me over the Postal Mail.  First of all, it's nice to see that there are others out there that still read traditional print media.

But more importantly, when I received this, it had a much higher level of importance.  It wasn't just another forward of a URL that I filed away in some mail folder.  This person had made an effort to send me some info and that effort increased the level of importance on that information.

For those interested in the article, here's the URL.  ;-)

    Think Your Social Security Number Is Secure?  Think Again

Sunday Feb 18, 2007

SunFire X2100 - RAID, ZFS and Grub failover

This blog entry discusses the steps that I went through to get a combination of RAID and ZFS to run on a SunFire X2100.  My goal is to have a simple web/mail server with 2 mirrored disks.  This way, the unit is self contained with a complete mirror of everything.  This way if a disk goes bad, it's a simple trip to Fry's and $150 later, the machine is running fine, with no lost data.  At least that's my theory.  This blog admits that I'm not taking a larger disaster recovery into account.  That's performed with other data backups to an offsite location.

I would love to have used only ZFS to perform this task, however the current version of Solaris (update 3) won't allow for the root filesystem to be part of a ZFS pool.  When this does occur, ZFS will be responsible for all the RAID and metadbs, etc...  So, I'm using a combination of Solaris RAID and ZFS.

RAID will mirror the root, swap and a couple of metadb partitions.  The larger data partition will be mirrored using ZFS.  Below are the high level steps that used.  They aren't intended to be 100% complete, but should offer a brief set of steps for others to use.

  1. Setting up partition scheme to use (Performed during my Solaris installation)

    I used a Seagate 500GB SATA drive.  The partition table looks like:

     Partition TagSize
    root  20 GB
    / partition. Solaris 10 install
     1 swap 4 GB
    Normal swap
     2 backup 465 GB
    Entire Drive Not Used
     3 unassigned 40 MB
     4 unassigned 422 GB
    Data Partition (used by ZFS later)
     5 unassigned 20 GB
    / partition. Used for future live update
     6 unassigned 40 MB

    A few comments about this scheme.  It's been recommended from a few resources to seperate the two meta-db's from each other in case of bad drive blocks forming.  We don't want to have both corrupted in the case that the machine needs to reboot to the other drive.

  2. Format the 2nd drive with the same partition layout as the first

        $ prtvtoc /dev/rdsk/c1d0s2 | fmthard -s - /dev/rdsk/c2d0s2

    If you are runnig this on an x86 machine, first ensure that the fdisk partitions on the second disk match the first.  You can get the fdisk info with the command:

        $ fdisk /dev/rdsk/c1d0p0    # first disk

        $ fdisk /dev/rdsk/c2d0p0    # second disk

  3. Setup the metadb's on the disks

        $ metadb -af -c 2 c1d0s3 c1d0s6
        $ metadb -af -c 2 c2d0s3 c2d0s6

  4. Initialize the metadb's on the disks

    Next step is to initialize the metadb's created from the previous step.  This setups the mirror from the root partition over to each metadb.  For the purposes, the RAID 1 mirrored volumes in this example will be setup as:

     RAID Volume
     d0  / mirror
     d10 c1d0s0 /
     d20 c2d0s0 /
     d1  swap mirror
     d11 d1d0s1 swap
     d21 c2d0s1 swap

        $ metainit -f d10 1 1 c1d0s0
        $ metainit -f d20 1 1 c2d0s0
        $ metainit d0 -m d10

        $ metainit -f d11 1 1 c1d0s1
        $ metainit -f d21 1 1 c2d0s1
        $ metainit d1 -m d11

  5. Setup /etc/vfstab with new mirror mount point

    Use a helpful Solaris script to setup your root filesystem in vfstab.

        $ metaroot d0

    Then, edit your /etc/vfstab and make similar changes to your swap partition.

  6. Reboot your system to use new vfstab definition

        $ reboot

  7. Attach the 2nd drive RAID to the first

        $ metattach d0 d20
        $ metattach d1 d21

    You can view the status of the syncing of d10 to d20 and d11 to d21

        $ metastat -c

  8. Install grub on 2nd drive

    Install grub on the second drive in case the first one fails.  This will allow the system to boot up.  It's important to note that it will boot up in single user mode.  You must use metadb to fix the meta database for the lost disk.  See notes down below.

    $ installgrub /boot/grub/stage1 /boot/grub/stage2 /dev/rdsk/c2d0s0

  9. Create the ZFS Pool

    Now, we want to create a zfs pool with mirroring on the two partitions designated for zfs.

    $ zpool create pool mirror /dev/dsk/c1d0s4 /dev/dsk/c2d0s4

  10. Create the ZFS Mount Point

    Create whatever mountpoints and customize zfs to your hearts content.  An example of creating a mountpoint for /foo might look like:

    $ zfs create pool/foo
    $ zfs set mountpoint=/foo pool/foo

  11. Done!

A couple of other notes:

  1. During some testing, I pulled out drive 2 while the server was up and running.  I believe the SunFire X2100 doesn't support hot swapping, as the OS started to send errors to console.  I ended up rebooting the box just to see what would happen.  Upon reboot, the metastat -c command told me that d20 was in maint mode, meaning there was a problem.  I ran the command to rebuild that mirror:
    $ metareplace -e d0 c2d0s0
  2. If a drive fails, upon reboot the system should boot up into single user mode.  It's up to the system administrator to delete any meta mirrors off of the bad drive from the metadb.  This is done with a combination of metadb -d commands.  See the Sun doc notes at:

       Recovering from failed disk

Monday Feb 05, 2007

4,281 years...Sun Contributions to OpenSource Software

I was amazed to see a report today on FLOSS (Free/Libre/Open Source Software) and the impact it is having on businesses in Europe.  The report also discusses case studies around the use of FLOSS and cost savings.

Check out page 51 of the report where it estimates the FLOSS code contributed by firms.  Out of 986 firms and 31.2 million lines of code the estimated effort is 16,444 person years or a cost of 1.2 billion Euro.

I was especially pleased to see that Sun Microsystems, Inc. topped the list of contributing firms at:

    51,372 person months or 4,281 person years

And this more tripled the contributions of the 2nd place firm.

Wednesday Jan 31, 2007

Those who Geocache...beware...

The devices that promoted the Boston bomb scares yesterday reminded me of a story that happened just about month ago in Murphy, TX.  A colleague of mine blogged about a similiar incident a month ago when a Geocache article was termed as a "Suspecious Device".

As I listen to all the flap about this latest incident, it's hard to determine where the line is in all of this. One one hand I'm hearing numbers like, 1/2 million was spent on this latest scare and the person planting the devices is responsible.  Are they going overboard on this?  Some would say, no way, especially in light of 9/11.  Others would argue that we are going a bit overboad.


Back to Geocaching.  The premise of geocaching is to hide some items, record the location with GPS coordinates, post that information at and allow weekend warriors to find the items.  It's a healthy fun activity for families to do on a weekend day.  Our family will take a picnic and make a great day out of it.  The kids get exercise and lean some new things.  A lot of times, these items are hidden in ammo containers (to keep out the elements), often with cammo aound it to help hide it.  To the unsuspecting individual, it may appear threatning.  That's why it's important to always follow the rules if you ever decide to hide or re-hide a geocache.

 With more of these incidents happening, I'm getting concerned about something like a fun harmless Geocache object implying the wrong thing and landing someone in jail or with a hefty fine.  Hopefully Geocachine doesn't become a thing of the past.


Monday Jan 08, 2007

SunFire X2100 and IPMITool Commands

After writing my previous blog, I've found there are a few IPMITool commands that I run often. Here is a list of those commands. IPMItool allows for many options, most of which I haven't used. But here are a few that I've used quite a bit. In my case, I've simply put these aliases in my /etc/profile, but you can put them anywhere. I'm also performing all the remote access from a Solaris box.

If anyone has recommendations of other IPMI tools for Mac, I'd be interested, as most of my work is done on a iMac.

The options/assumptions that I'm sending the ipmitool in these alias shortcuts are:

ipmitool parameter Description and Example
-A password Forces authtype to be password
-H Hostname of the SMDC card
-U Admin Use the Admin account on the SMDC card
-I lan Use the LAN interface to access the SMDC card
Generic ipmitool command
Represents the common parameters used by all ipmitool commads.
	alias ipmi=”/opt/ipmitool/bin/ipmitool \\
				-A password \\
				-H \\
				-U Admin \\
				-I lan”
Powering ON/OFF X2100
ipmitool allows for the powering on, off and cycling the server.
	alias impi-power=”ipmi power”

Console in the X2100

	alias impi-console=”ipmi tsol”

Status of the X2100

	alias impi-status=”ipmi chassis status”

Wednesday Jan 03, 2007

SunFire X2100 and SMDC card install/config

This blog entry provides the basic steps I had to complete to get the sever setup to use the SMDC card. This will enable the server to be managed remotely for such items as: Powering OFF/ON and access via the console. There are many other features, however I won't discuss them at this time. These steps also assume that you are working with a system installing Solaris 10 update 3 from scratch. Also, these are the steps that worked for me. I'm sure that I missed a few minor things, as I've documented this after I've completed the entire process. If you see any issues, please provide me feedback and I'll try to make corrections to this entry.

Step 1 – Installing the SMDC Card

Upon receiving the SMDC (also known as the IPMI 1.5 Service Processor), I followed the installation instructions in the SunFire X2100 Server User Guide, section 4.5.2.

Step 2 – Updating the System BIOS

After installing, I upgraded the system BIOS using the latest SunFire X2100 Supplemental 1.5 CD. Just follow the instructions to update the BIOS to version 1.5.

Step 3 – Updating the SMDC Firmware and Setting up SMDC

Using the same supplimental CD, update the SMDC Firmware using the supplied instruction release notes. In addition, you will need to setup the network and user/password information on the SMDC card to access it from IPMItool later on.

Step 4 – Redirecting the console to the SMDC card

This is done via the BIOS screens:

Advanced BIOS Features --> Console Redirection --> Enabled over SMDC

Step 5 – Download the IPMItool

In order to access the SMDC interface, an IPMI application must be used (I don't know enough about IPMI to go into detail). Following the release notes, you can get a recent version at

This tool will be used to power on/off the server as well as get console access. For my purposes, I installed this tool onto another Solaris box that I had. I believe you can also get this tool for Linux.

Step 6 – Use IPMItool to verify SMDC console access

Verify that you can access the SMDC by using sample commands like:

$ ipmitool {ipmi options} chassis status

Note: You will need to provide the proper IPMItool options like IP address of the SMDC network interface and User/Password.

Step 7 – Startup and IPMI console session

Run a command similar to:

$ ipmitool {ipmi options} tsol

This will connect you to the ttya port of the server (i.e. console)

Step 8 – Begin Solaris Install

Place the Solaris 10 update 3 DVD into the DVD drive and reboot the server. Be sure to choose the install options over ttya and an Interactive Text (console session) for the Solaris 10 install. Proceed with a typical Solaris 10 install.

Step 9 – Reboot Solaris and verify SMDC access

After the install, you can either use ipmitool to reboot the server with a command like:

$ ipmitool {ipmi options} power cycle

As the release notes indicate, console into the server and run the command “eeprom console=ttya” to verify that the console is set to ttya. After that, you should be complete. There are more steps in the release notes, however I didn't need to complete them as Solaris 10 update 3 seemed to function just fine.

What I did on my winter break...SunFire X2100, Solaris, RAID and ZFS

Trials and tribulations of using RAID and ZFS on a SunFire X2100 with Solaris 10 update 3.

First a bit of history. Last April, 2006, I purchased a SunFire X2100 box, barebones (no CD-ROM or drives). At the time I got by ok, as I purchased a nice little Seagate 500GB SATA drive from Fry's. Popped that in there and installed Solaris 10 update 1 from a USB CD-ROM drive. Have been running just fine with Solaris 10 zones/containers.

Recently, I purchased the internal DVD-ROM drive and SMDC Service Processor to be installed over the holidays. At the same time, I've purchased an identical Seagate 500GB SATA drive to allow me to mirror my drives and also use ZFS to mirror my data partitions.

Next, I've been using Solaris/SunOS/Unix for over 15 years, however I haven't done much with metadb's, Sun Volume Manager, ZFS, etc... I did receive a lot of help from the web in setting this up. Instead of creating one large blog with all the details, I'll document my steps as I go over the next few days. The references to the sites that helped me through this process are:


Matt Ingenthron's Blog – X2100 SMDC best practices...

Solaris Software RAID

Daniel Markle's Blog – Solaris 10 Partitioning, RAID, and ZFS

Friday Dec 15, 2006

No Starbucks card for you...

This morning (8am), my daughter and I went to a local (Allen, TX) Starbucks Coffee to get a couple of gift cards for teachers. Got to the counter to find out that their gift card system (or sub-system) was down. What? For how long we asked? They are saying until 11am or 3 hours. I asked, they? She explained that the system was down for all Starbucks, and it wouldn't help to go to another Starbucks until after 11am.

Wow! I couldn't believe this was the case. Imagine how much lost business that would be. The worker didn't seem to understand the ramification of a system wide outage of their gift card system.

So, we proceeded to another Starbucks located in the local Kroger store. I knew they used a different gift card system, since it was a little more manual there, or not a part of Starbucks retail system. They were up and running with no issues. They had no idea the other Starbucks was having problems.

So I did a quick Google this morning to see if there was news about this, but saw nothing. Maybe it was just an isolated incident at the local Starbucks.

Wednesday Oct 25, 2006

StarOffice Weblog Publisher Test

Recently, one of the first plug-ins, Sun Weblog Publisher was released for StarOffice. I'm writing my first blog from StarOffice on a SunRay and about to publish it to my account.

All I had to do is:

  1. Purchase at , Sun Weblog Publisher

  2. Download the .pkg

  3. Add the package using the Tools->Package Manager dialog.

  4. Enter my blog settings via the new Weblog menu

  5. Create a new blog entry (what I'm doing now)

  6. And publish the new blog entry (about to do in a second).

Let's try some interesting tasks...

Place an image onto the page:

Here's some italics, bold and stikeouts.

Pretty Cool!




« July 2016