October 18, 2007: I Got Linked by the WSJ

I was extremely excited today when I discovered that people were being referred to SGL from the Wall Street Journal. I followed back to the referring page and discovered that we are the top listing for “Blog Posts About This Topic” on the article Transparency in Management. The list to SGL was to my article, posted yesterday, about The Fallacy of Bonuses.

I started off the day by walking down to the Robert Treat Hotel in downtown Newark on Military Park and meeting John Nicklin. We walked across the park to Central Avenue where we got breakfast at the Central Ave. Diner. It was nice to actually get a chance to sit and talk. It was about six forty-five when we got to the diner.

I am working in Warren today which means that I have to travel into Manhattan via the PATH and then catch the subway up to Tribeca where I can get on the shuttle that takes me out to Warren.  It is a two hour process minimum to get out there if not a lot more.  Depending on when the shuttles run and when the trains get me there in can get close to three hours which is crazy.  But if you just miss the shuttle you have to wait an hour and it can take an hour for the shuttle to make the trip so that is up to two hours just for the last leg of the journey.

Work was okay but busy since I was spending so much of the day traveling – but it is important to get facetime at the office and on Wall Street no one ever sees me.   It makes for a day full of variety though since I do so many trips that I don’t usually make.  Today ended up being a particularly good day to go out to Warren because I ended up riding the shuttle with some people that I really needed to see and would not have seen for months otherwise.

I had to skip lunch today because I was so busy and I barely got a chance to see anyone at the office.  I had to leave the office at five thirty and run to the shuttle before it abandoned me at Warren for the night.  I had a ton of work dropped on me right as I needed to leave and it was all that I could do to get out of the door.  I made the shuttle just as they were closing the doors.  I can’t believe that they last shuttle of the night is five thirty when so many people normally work until after six.  They used to have a seven o’clock shuttle that made a lot more sense but they stopped running it without telling anyone so the five thirty is my last chance to get home from Warren.

The trip home ended up taking absolutely forever.  It took until after six thirty to arrive in Tribeca which was expected.  Dominica called me on the shuttle to let me know that she was home and starting dinner.  So instead of my normal walk down to the WTC (World Trade Center for those outside of the New York Metro) I ran over to the Canal Street Subway stop and hopped on a train bound for, I thought, the WTC.  Nope.  I grabbed the wrong one and ended up in Brooklyn.  No big deal.  No big deal until, of course, no train came to take me back to Manhattan for almost an hour!  What a disaster.  I was stuck in the tiny and very warm Brooklyn Bridge – High Street Station in Brooklyn for an hour with no cell service or working Blackberry service.  Ugh.  I was not happy.  Boy was I ever glad that I had my book with me.  At least I managed to get some good reading in while I was there.

I finally got back to Fulton Street and decided to just walk to the WTC from there.  It ended up taking me just short of three hours to get home.  🙁  I walked in the door and hopped right back on to help at the office because other people had been covering for me since I had had to get on the shuttle several hours before.  It was a long evening.

Dominica cooked dinner at home for the first time in a long time and had dinner waiting for me when I got home.  She made bbq tofu and pan friend polenta which was amazing.  It might be the best dinner that she has ever cooked and she says that it was pretty easy too.  We will definitely be having that again.  Soon, I hope.

I worked for a while and then did a little bit of homework to prepare for Saturday.

October 17, 2007: Hanging with Nicklin

First thing this morning I finished reading Peopleware. What an excellent book. I am very happy that I read it and it was quite short too even with the extended second edition portions added in at the end.

Last night before going to bed I was able to bid on and win an old 1983 Tandy Radio Shack TRS-80 Model 100 laptop. I have been wanting one of these for a long time. My plan is to mount it into a shadowbox and put it up on the apartment wall as “technology art.”

I got into the office nice and early this morning. I had hoped to have been able to have gone to Borders on my way in this morning but I discovered that when I get to work early they are closed. So I hope to hit them over lunch instead. They are very close.

I did bring some magazines with me today and I managed to read them on the train. When I have disposal magazines, like eWeek, that works out well because I carry them in just one direction unlike a book that I take back and forth.

Work was busy this morning. I came into the office to discover that my office was all set to be moved. Today is my last day in my new office that I love so much 🙁 I am currently on the tenth floor with a window in a nice, quiet environment where I can easily work and think. DeMarco and Lister would be proud. Tomorrow I work from Warren. On Friday my office is being relocated down to the noisy and warm eighth floor where no one gets a window. So I will have to work from home on Friday so that I am able to get anything done. I can’t go into Warren because of the late night work and the early shuttle runs.

At lunch today I decided to walk up to Borders to pick up a book for the commute home. It is probably just under a mile round trip from here to Borders which means that I will walk about three miles today. I picked up Kent Beck’s Test Driven Development By Example.

John Nicklin got dropped off at Newark Penn Station just a minute before my train pulled in there.  So we met out front and we walked over to the Robert Treat Hotel on Military Park where he is staying tonight.  We got him checked in and then we walked back to Eleven80.

Minutes after we arrived some friends who were stopping by for the evening came bearing dinner from Food for Life.  They were over to use our computer and Internet access to do some online homework or something university related.  Dominica and Oreo got home just minutes later and we had dinner on the early side.

We hung out for a while.  I got stuck working quite a bit this evening, though, which was horrible timing.  We ran out to the Key Club to hang out for a while.  I got paged and had to run back to the apartment for a while and do some work.  Then I returned to the Key Club for a little while before we headed for home to turn in for the night.  I had to stay up and do a little last minute work before the night was over.

John is heading back home tomorrow afternoon on the train.  We are planning on getting breakfast before I go into the office.

Automounting the “NET” Directory on OpenSuse 10

In the Linux world, using the AutoMounter (autofs) to automatically mount remote NFS filesystems is relatively uncommon. However, in the Solaris universe this is the status quo. One of the most common uses of the automounter is what is known as the /net filesystem.

Many Linux users who have not spent time in the UNIX world may never have come across this and are often unaware that it even exists. It is, however, extremely important for even home users who have multiple UNIX (or Windows with NFS) fileservers and who want to make accessing those resources as easy as possible. For small businesses it goes far beyond simple convenience.

If you are used to Solaris than you probably know that /net functionality is enabled by default. In Linux the functionality is usually present and provided by the vendor (Novell and RedHat both build this in) but it is generally disabled by default. So all we have to do is enable it to turn it on and this is very simple.

Note to Novell and RedHat: Linux users would love /net mounting to be enabled by default. I suggest enabling this and putting a note in /etc/auto.master explaining how to disable. Or, better yet, make it configurable and obvious through Yast or Sysconfig.

Automounting behaviour is controlled by the configuration file /etc/auto.master. Within this file are pointers to other files that control groups of automount points. By default in OpenSuse 10.x there are several configuration file pointers that are commented out but ready for you to use. They look like this:

#/misc /etc/auto.misc --timeout=60
#/smb /etc/auto.smb
#/misc /etc/auto.misc
#/net /etc/auto.net

It is the final line that we are interested in. The file /etc/auto.net (which is wildly different than its Solaris counterpart) contains a BASH script that hands the automounting in the /net directory. You do not need to make any modifications to /etc/auto.net. Be sure not to make it non-executable as you will need it to “run” in order to complete your mounting tasks.

So, simply delete the # from in front of the #/net /etc/auto.net line in our /etc/auto.master file and restart the automount daemon and we should be good to go.

/etc/init.d/autofs restart

Now you can easily mount NFS shares on your other hosts. It is as easy as moving into the /net directory. Here is an example:

cd /net/hostname/exportedspace/home/myhome/stuff

Solaris 10 Install on SunFire V100

Installing Solaris 10 on the SunFire V100 UltraSPARC server is very easy and straightforward. However, if you install the “Core” version of the distribution there are some surprises out there. So I decided to document my own installation procedure as well as subsequent “setup” steps that I use to get the server into a reasonable working state.

Installation:

For my purposes I find that the CD-ROM based installation process is quite adequate.  Solaris 10 is available as a free download from Sun.  Only the first CD needs to be downloaded and burned to complete a “Core” install.  Be sure to choose the Sparc option for the V100.

I suggest using the “Core” installation option for machine destined to be used as servers as it is extremely minimal and takes the approach of forcing you to individually install packages that you will use instead of expecting you to remove or disable packages that you are not going to use.

Post Installation Steps:

Once we have the system installed and restarted we can log in and begin adding in the necessary packages to make the system truly useful. Since we are installing from CDROM the easiest thing to do is to continue working from the CDROM. If you have first installation CD out of the drive replace it now and let’s set up our system to always have our CDROM available to us.

On the SunFire V100 the CDROM is attached as the slave on the secondary IDE controller. Therefore we know that it will be located at /dev/dsk/c0t3d0s0 which makes our lives much easier. First we must make an appropriate mount point and then we can mount the CDROM device there. We will do this with a simple, temporary mount command and then we will show how to add this to the /etc/vfstab in order to make the mount permanently available which will save time and effort in the future.

# mkdir /mnt/cdrom
# mount -F hsfs /dev/dsk/c0t3d0s0 /mnt/cdrom

This creates the mountpoint at /mnt/cdrom which is a very convenient place for it and then mounts the cdrom device to that location. The “-F hsfs” option tells your system that the mount will use the High Sierra File System which is the CDROM filesystem. To make a permanent mount we would add the following line to the /etc/vfstab configuration file:

/dev/dsk/c0t3d0s0 - /mnt/cdrom hsfs - no -

This vfstab entry will not cause the CDROM device to be continually mounted but it will allow you to mount the CDROM in the future by simply using the following easy to remember command:

# mount /mnt/cdrom

Now that we have mounted our CDROM device we should have access to our installation CD which was, in my case, Solaris 10 8/7 CD #1. If this is still in the drive then we should be able to install some much needed software – the SSH server – with the following command:

# pkgadd -d /mnt/cdrom/Solaris_10/Product/ *ssh*

This provides our SSH server software which will, once we get it configured, allow us to access the server remotely without the use of the LOM. We will also want to install SSH client software so that we are able to establish SSH, SCP and SFTP sessions out or away from our Solaris server. This software is located on the Solaris 10 8/7 CD #2. Also on the second CD is the SUNWbash package which provides the BASH shell. You will definitely appreciate having BASH installed once you have worked with it for any length of time.

# pkgadd -d /mnt/cdrom/Solaris_10/Product/ *ssh* SUNWbash

Once you have SSH available as both a server and as a client the machine will be ready for use as a blank slate where networking services can be added as you need them.

The Fallacy of Bonuses

In business, people love to talk about bonuses.  “Bonuses are an incentive for employees to work harder.” you hear people say.  But are they?  Let’s take a critical look at this “motivational” practice.

Thinking that bonuses are a path to employee efficiency shows a great lack of corporate empathy by management for the workers.  It represents a disconnect between those who organize the work and those who actually perform it.

Management often thinks that since bonuses are “bonus” money – above and beyond salary – that employees must be delighted to receive them.  But what they forget is that the non-management employees spend a lot of time thinking about their monetary compensation and they are more than aware that that bonus is simply salary that was withheld until the end of the year.  It isn’t “extra” money but salary paid in an irregular fashion – it is an integral part of their total compensation package.

What employees all know, and management seems to not understand, is that employees are never empowered enough to make decisions or to work hard enough to significantly impact a company’s bottom line in such a way as to noticeably change their own bonus.  This seems so obvious that one has to wonder how any management student could ever get away without knowing this instinctively.

Employees seldom get to work in any environment that they deem to be that in the best interest of their own efficiency.  How many more employees would choose to work from home or from the corner office?  Employees don’t determine which projects they work on or who their team members will be.  The management decides the “big scope” items.  Employees are tasked with more specific jobs.  A factory line worker at Ford isn’t allowed to exclaim that “Automotive profit margins are down so I am going to work on making video games instead of assembling fuel injectors.”  Those decisions are left to others.  Non-management employees are not in a position to make decisions of a scale that can affect their bonuses in any meaningful way.

Even in companies that make concerted and sincere efforts to give their employees real decision making power the employees are still shackled by the scale of the company.  Even a small corporation of one thousand employees shows that the actions of any one employee can only have a minimal personal impact.

The reason that people choose to work for large companies is because of the mediating factor that size allows for.  A large company can make large profits or lose large sums of money from year to year but still will have the resources to pay its employees the same from year to year.  Employees are largely protected from market variations and upheavals.  They take little risk and they get compensated very conservatively.   This is the value that large corporations bring to the table when shopping for employees.  Bonuses, when used by large companies, show that companies have forgotten this value and think that their employees will be happier taking risks.

Many people are happy to take risks.  These people are generally entrepreneurs.  Small companies and start-ups have very small staffs where individuals are able to impact the profitability of the company and the individuals can know each other and decide together to succeed or fail.  They are a single team that makes choices together.  They take huge risks but because they do they can also reap great rewards.  This is a calculated risk that makes sense.

When a company pays a good bonus the employees will generally be happy.  Some will think about the fact that this is salary that they earned throughout the year and was withheld so that the company could use it to make more money during the year but many will not.  But when a company does not pay a good bonus – then employees immediately think about how they were not in a position to impact the company’s profits and they blame management for having failed to do its job and then taking the losses out of the powerless employees’ wages.  And this is exactly what has happened.

Bonuses are a means by which managers and companies hedge against losses.  Instead of paying employees what they are worth, they tie the employee’s wages to the company’s performance so that on good years employees get paid market value (one hopes) and on bad years the employees suffer so that the company doesn’t have to spend as much on the labor that it has already consumed.

Any employee who has ever been paid a small bonus is acutely aware of this situation.  I have personally never worked for a company that has paid bonuses and yet just hearing about a company which works in this way makes me shudder and think of middle managers trying to lessen the damage caused by their own incompetence.

Bonuses have no real upside to employees and very little to businesses themselves.  The initial benefit to a company is obvious – reduced operational expenses during times when the company performs poorly.  But in the long term this causes the company to compensate poorly and lose staff capable of moving around easily in the marketplace.  Those who stay are disgruntled and, most likely, under-qualified.

Never tie one person’s motivation to another person’s performance.