Monthly Archives: July 2013

Mac Pro: Another Video Card Craps Out

I fired up my 2008 8-core Mac Pro this morning, only to find out that it has eaten another ATI video card.  That would be the second video card that has stopped working in the Mac Pro.

The ATI 2600XT was the entry level video card at the time I purchased the Mac Pro, and early adopters quickly reported issues with the cards as well as failure to wake up from sleep.  I had that exact problem and lugged the Mac Pro to the Apple store where I purchased it, twice, in hopes of a resolution.

After winding my way through unsupervised children, and zombified adults, I would heave the heavy Mac Pro onto the table to await judgement.  The Apple “geniuses” couldn’t find anything wrong with the hardware, and just shrugged.  On “genius” postulated it must be a power issue and I would need to get a UPS.

Needless to say, I wasn’t impressed with Apple or the hardware.

Once the original video card finally blew out, and I replaced the video card most of the problems went away.

So now I’m presented with a conundrum.

On one hand, I really don’t want to spend any more money on fixing the aging Mac Pro when the new Mac Pros are just around the corner.  But who knows when they will finally be released for sale.

Conversely, my original plan was to turn the Mac Pro into a virtualization server and run multiple operating systems for software development and testing.  In this case, I will need more memory and a cheap video card.

Besides, after two video cards, it seems like throwing good money after bad.

In the mean time, I’ve moved over to my Mac Book Air full time, so no more Windows or Linux under VMWare until I resolve the issues.

How to uninstall code collaborator

Smart Bear’s code collaborator is an awesome product.  I’ve used it in the past and when I was asked to bring some best practices into my client’s workflow I immediately suggested code collaborator.
Unfortunately, my fond recollection of code collaborator was from years gone by.  The newest version’s user interface is festooned with JSF-like widgets making it repulsive.  Gone was the clean web interface. 
I installed it on a Linux PC for evaluation.  The installation was flawless.  Unfortunately, I didn’t like the new interface.  So I started looking at other tools.  Then came a daily email from SmartBear.
That is when the e-mails newsletters started.  I tried to unsubscribe.  Then the next day, I got another one.  And another one.
The smart bear sales guy asked if there was anything he could do to help.  I said sure, it sure would be helpful if he could send me the ipchains.  Nope.   Couldn’t help.   Huh?  Ok.
Then more emails.  I finally asked how to uninstall.  “just uninstall.”
Here is how to uninstall Code Collaborator
First, you have to find the code collaborator:
cd /
find . | grep tomcat | more
cd ./opt/ccollab_server/
sudo ./uninstall
Next, try to uninstall:
$ sudo ./uninstall
X11 connection rejected because of wrong authentication.
Could not display the GUI. This application needs access to an X Server.
You can also run this application in console mode without
access to an X server by passing the argument -c
Next, try to uninstall again:
$ sudo ./uninstall -c
Are you sure you want to completely remove Collaborator Server and all of its components?
Yes [y, Enter], No [n]
Uninstalling Collaborator Server 8.0.8001…
The following files and directories could not be deleted:
Next, delete the directories:
$ sudo rm –rf ccollab_server

Building a Cisco CCNA Lab, the Hard Way, Part I

Ever since I could remember, I always did things the hard way.  I was determined to chart my own path.  I would foolishly disregard common sense and soldier on until life drummed common sense into my thick skull.

Sometimes, it would lead to some revelations or epiphanies that would reshape the way I thought.

Several months ago, I decided to look into what it would take to earn the Cisco CCNA certification.  A long, long time ago, I wanted to earn the certification, but never had the time or money to spare.

Since I have 20 years of professional software development under my belt and have written SNMP agents, VOIP/SIP code, and even worked on bringing an embedded Linux-based cable set-top box to life, I’m fairly sure that I would be able to quickly get up to speed and knock out the certification.

Moreover, since I’m actively upgrading my home office networking hardware anyway, I thought I would just purchase some new Cisco gear, play with it, and end up with a certification or two.  Or so I thought.

I quickly entered the smarmy world of Cisco resellers, grey market importers and E-Bay dumpster divers.

E-bay.  I looked on E-Bay, only to find 10 year old equipment that was obviously dug out of a dumpster by hucksters.  I saw several auctions listing obviously used equipment as “new.”  The description of the (seven year old) equipment was an “open box” demo, that conveniently doesn’t have a box.  The price was well over $300.

I soldiered onward looking for that elusive bargain while looking up test objectives, comparing older models with current models.  It turned into an obsessive activity.  I never found a bargain.  The few that I thought were bargains, I was quickly outbid at the last minute, probably by another reseller. 

The more time I spent, the more disgusted I became.

I changed course and started looking at Cisco’s current networking gear and chatted with a friendly customer service rep who kept asking me if my purchase would be “funded.”  I thought it was odd, but I figured it must be a quark of Indian society.  He recommended a Catalyst 2960 switch and Cisco 888 router and told me that a reseller would contact me in a few days.

Three weeks later, a local reseller finally contacted me.  I replied asking about getting a SmartNet account to update my ASA 5505, and a quote for purchasing a 2960C switch and an 800 series router.  He never responded after that.  I guess I should have told him it was “funded.”

So I purchased an HP Procurve 1810v2 gigabit smart switch and bolted it into my rack.  The Insecure ZyXel ASDL modem was tossed into the trash and replaced with something that actually worked.  I also upgraded some PowerLine Ethernet bridges.  The only thing left was a router and a switch.

At the one month mark, still no contact or response.

I activated the chat widget at, and basically told the CSR that I’ve had it, and that I was deeply disappointed that I couldn’t find any resellers willing to take my money or even respond to me. 

To Cisco’s credit, the  escalated the issue immediately and a very helpful Cisco sales person immediately called me and gave me part numbers to order and recommended that I order from CDW or Tiger Direct if I couldn’t get the resellers to respond.

I was finally able to purchase a brand new Cisco 2960C compact switch (fanless) from LanStreet for about $280, as well as a 50 user license for the ASA 5505.  

And so the adventure continues…

Con Artist Consultants

Over the course of my career as a technical mercenary, I’ve seen a lot of deceit, mostly by recruiters who will lie unrepentantly.  However, in the last several years, I’ve noticed a new phenomenon – the emergence of the “Con Artist Consultant.”

At one company, they fired a consultant who was actively outsourcing his job to China.  He was originally from China and was caught packing up the source code and emailing the source code to his employees in China, through the corporate email system. 

At one multinational company, they got scammed not once, but three times while I was there. 

The first developer left on bad terms and left with thousands of dollars of equipment after failing to produce a single line of code.  I had to laugh when I was told the company’s lawyers made the recruiting company cut them a check for the missing equipment.  Needless to say, the recruiting agency was not happy to have to cut a $25k check.

The next developer apparently did so well in the interview that the Vice President of Engineering came down and spent time telling him how great it was to have him on board.  He spent the next six months giving regular status updates, but never produced anything of value until he was ultimately canned.  

But the third developer was the most interesting.  I’m pretty sure he was trying to implement Timothy Ferris’s 4-Hour Work Week. 

If you’ve never read Timothy Ferris’s book, The 4-Hour Work Week, let me summarize it for you:  1) calculate how much money you need to live comfortably in a third world country, 2) convince your manager to let you work remotely, 3) hire someone in a third world country to do your work for you, and 4) gradually remove yourself from the process until you are making enough money live a luxurious life without working.  It is a twist on the age-old riches without effort scheme.

The third developer was a consultant who was hired to work on a Linux USB driver — or more correctly, to back port an existing driver into an earlier kernel version.

It was obvious to me that the person was struggling, and for some strange reason, they moved him into my cubicle.  When he left his desk, he would pull up the schematics to the embedded device and walk away.  I thought that was weird, considering the schematics don’t have anything to do with what he was working on. 

One day, while working late we started talking.  He leaned back and smiled and said, “wouldn’t it be great if we could make big bucks here and outsource our jobs to India?”

I knew exactly what he was getting at.  I laughed and told him that the labor market in India was tight for good people, and that anyone good enough to deeply understand the Linux kernel was probably making good money already.  I said that there are a lot of people who will claim to be able to write a Linux device driver, but you would most likely get scammed.

He stopped smiling and his expression soured.   After several months, they fired him.

So now I’m consulting at another multi-national company.  In addition to kernel development and getting hardware up and running, I was tasked with setting up a build server and introducing some best practices to the group. 

The only other consultant on the project was going through some life changes or challenges and the project manager allowed him to work odd hours and remotely from home.  I never asked about his personal situation, but it was severe enough to solicit empathy from the project manager. 

And he definitely took advantage of the special dispensation.  He would work remotely for a few days and come dragging in around 3 p.m., once or twice a week.  

During the process of setting up the build server, I discovered that the other developer’s last source check in was six months ago.  He had gone for nearly half a year without checking any code in, and what he had checked in would not build. 

The project manager was absolutely shocked.  The developer had been telling her he had been checking in his code regularly.  I started looking through his directories and found dozens of copies of the source code.  The latest file modification was more than a month ago.

At that point, I had a private conversation with the project manager. I told her, I don’t know what the situation is, and I’m not going to accuse the other developer of outright cheating you, but there are tools and metrics to unobtrusively monitor developers to make sure they are working.  

That was several weeks ago; and he still hasn’t checked in his code…