Hey Microsoft, I Heard You Need a New CEO

Dear Microsoft,

It’s been all over the news this week that Steve Ballmer has decided to step down as CEO. At first this seemed like a decision he had come to by himself, perhaps having felt as if his work here was done. Some started speculating that he was forced out by the board. Whatever the case, it has become clear that you will be seeking out a new CEO over the coming 12 months.

You need to choose me, and here is why:

1. I will work for half the money. It was reported that Ballmer made $1.3 million in 2012. I will step into his job for half the money.

2. I know what is wrong with your products, and I know how to fix them. I am someone who is intimately familiar with your apps and operating systems, and I am even more intimately familiar with fixing them. From disinfecting them, hardening them, cleaning them up, making them usable, and working around their aggravating inconsistencies, I know what is wrong with your shit. And I know how to fix it.

3. I know your competition. I got so fed up with you around the time Windows ME came out, I wrote you off completely, wiped all my machines, and became a Linux die-hard. I only used you when I had to. Eventually I ended up becoming a Mac user as I matured into adulthood and could actually (almost) afford the damn things. I know what it’s like to hate on Microsoft, I know why people do it, and I know what you can do to turn that around. I know what makes a Mac so much more appealing in the eyes of those customers you are so quickly losing.

My experience is based in reality. The reality of day-to-day usage and frustration with your products. When is the last time Ballmer sat down and tried to wipe a hard drive and reinstall Windows XP for someone? When is the last time anyone on your board, for that matter, had to disinfect a Windows 7 box riddled with malware and explain to their mother-in-law how her computer completely stopped functioning and why she now needs to change her online banking passwords?

Sure, there are thousands of consumers such as myself who are equally as familiar with your problems, and each have their own opinions on what you need to fix about yourself, but I bring to the table the experience of seeing you fail in many environments: colleges, non-profits, corporations, and federal government. I have worked across all of these sectors over the years, and I have witnessed each one seek out alternative solutions to the problems you consistently present.

Microsoft, you are out of touch, and that is why you are quickly becoming irrelevant. As you seek a new CEO, I hope that you strongly consider someone who is in touch, and I hope you even more strongly consider that person to be me.

How To Hire a Web Designer

So you have decided you need a web site. You are presented with two possible paths:

1. Build it yourself
2. Hire someone to build it for you

Both paths can present challenges, but unless you are technically inclined, have a lot of time and determination, desire to learn some coding, and are pretty handy with graphics, you are likely to be doing yourself (and your business) a disservice by trying to do it accomplish this on your own.  There are many places online and application syou can buy which promise the allure of “building your own web site”, but in this business, you tend to get what you pay for. Continue reading

Recent Stuff

First, I’d like to point out the new Photo Gallery I put up here. I decided to start fresh, but look for more pictures (and video…yay!) soon.

September has been a more relaxed month in that I am no longer under the big deadline I was stressing out about in August. The web server nightmare and subsequent move to a new server has smoothed out rather well. I’ve had visits from family the last two weekends. And I’ve been playing some music here and there, which is always good. Most importantly, I’ve been doing fun things with the boys and Alicia since I haven’t had so much extra work to do.

I have a bunch of cool links to post soon, so check back.

Oh, in case you were wondering, we don’t need no stinking badges.

Server Update – Part II

The problem turned out to be something other than a hardware failure. The good news is I have set up a completely new dedicated server with a completely new company (who will be managing updates and security for me). The bad news is, I lost ALL the data that was on the original server.

I do have local backups of web sites I did, but I lost databases, and people using webmail lost saved email. Clients who were doing their own web sites may have lost their data if they werent backing it up locally.

Brief recap of events:
1. Server was hacked at the end of July. I hired SeeksAdmin.com to go in and clean up the mess, patch everything, and lock it all down. Everything was great until the server somehow got rebooted (I had nothing to do with it), and it didn’t come back up. According to 1and1, my server provider, the machine was stuck booting up because it couldn’t load the kernel. They couldn’t select the previous kernel because SeeksAdmin had locked down lilo, the bootloader. I know SeeksAdmin had mentioned they had problems with the new kernel working, but they claimed they rebooted the machine multiple times and rolled it back to the older version. I can’t prove or disprove that, but the circumstances are a bit concerning.
2. I was 99% sure that my backups were being performed by 1and1, and that all was OK when it came down to re-imaging the hard drive. Unfortunately, 1and1 locks out the backup FTP server from being accessed except from your dedicated server. So, I had no way of verifying that the backups were OK since the server wouldn’t boot and I couldn’t log in to look at the backups.
3. SeeksAdmin re-imaged the server for me, and after getting it back up, I logged in and FTP’d to the backup server to check things out. Nothing was there. I was stunned, and I was very angry.

When all was said and done, I was left wondering what had happened. There is really no one person/company to blame, rather, a bunch of bad things conspired from different places to screw me over and cause a large nightmare for all the clients I had hosted on that server. Had 1and1 been doing the backups, which they were supposed to be doing, all would have been OK. But then, it seems the system had become unstable since SeeksAdmin had gone in to do their work, so I wouldn’t have run into the problem if I hadn’t hired them. But then, if I never was hacked in the first place, none of this would have happened in the first place.

The silver lining to all of this is that I had been itching to leave 1and1 for quite some time, as they are the Wal-mart of web hosting. I was stuck with them because the task of moving all my clients was just too time consuming to think about. The new company I settled with is all about service, and being supportive of their clients. They are smaller, personal, and responsive. I also got away from having to use Plesk, and am now happily setting up all the sites in WHM and CPanel.

Kurt Vonnegut, Dead at 84

Ah well…Tingaling!

Sorry, I haven’t had time to make any Song Of The Week postings. Been running around like a headless chicken, juggling jobs, kids, and flaming kittens. On Tuesday I gave notice that I’m leaving my job with P3I, where I am working for the Air Force, and will soon be starting to do full-time contract work for a marketing company based in Raleigh. Luckily, this does not mean I will be moving!

I’ll post more info when I know more about it all, but in the mean time, make sure you check out the Top Ten ’80s Robots (We Expected to Exist By Now). It’s funny ha-ha.

Part II: Setting up Apache, Tomcat, and mod_jk on RHEL4

After managing to get Tomcat5.5 working with Apache2 using mod_jk, my next venture was to enable SSL using a self-signed certificate in Tomcat. This proved to be quite a task.

The system I’m setting up is running RedHat Enterprise Linux 4.4. I installed all the official RedHat RPM’s to get Tomcat and Apache talking together with mod_jk (see Part I of this tutorial).

After 4 days of banging my head on my keyboard, I noticed that when I would run:

#java -version

It spit out this:

Java(TM) 2 Runtime Environment, Standard Edition (build pxi32dev-20061002a (SR3) )
IBM J9 VM (build 2.3, J2RE 1.5.0 IBM J9 2.3 Linux x86-32 j9vmxi3223-20061001 (JIT enabled)
J9VM - 20060915_08260_lHdSMR
JIT  - 20060908_1811_r8
GC   - 20060906_AA)
JCL  - 20061002

This let me know that I am supposed to be using IBM’s version of java, which apparently is the default on my RedHat system, not Sun’s version. I think somewhere along the way I downloaded Sun’s jvm, and I assumed that I was supposed to be using it’s keytool to generate an SLL certificate for Tomcat, but such is not the case. This caused me much confusion, but here’s how I ended up fixing it:

1. Generate Keystore file
(NOTE: all of this assumes you already have Apache configured with SSL. I used OpenSSL, which I don’t go into here, but there are loads of resources online for you, and it’s relatively easy to do).

Assuming you have the default RedHat java rpm already installed, run this:

#  /usr/lib/jvm/java-1.5.0-ibm- -genkey -alias tomcat -keyalg RSA

NOTE: I used Tomcat’s default password of ‘changeit’ when prompted.

The keystore file gets dropped in the home directory of whatever user you are logged in as. I was root, so I then moved the keystore file to the tomcat home directory:

# mv /root/.keystore /etc/tomcat5/
# chown tomcat.tomcat /etc/tomcat5/.keystore

2. Next you have to edit Tomcat’s server.xml file

# nano /etc/tomcat5/server.xml

Uncomment the SSL connector and set it up like so:

<!-- Define a SSL HTTP/1.1 Connector on port 8443 -->
    <connector port="8443" maxHttpHeaderSize="8192"
               maxThreads="150" minSpareThreads="25" maxSpareThreads="75"  
               enableLookups="false" disableUploadTimeout="true"
               acceptCount="100" scheme="https" secure="true"
               clientAuth="false" algorithm="IbmX509" sslProtocol="SSL"  
keystorePass="changeit" />

Note that I added algorithm=”IbmX509″ and I changed sslProtocol=”TLS” to sslProtocol=”SSL”. This is necessary to get things working with IBM’s jvm.

3. Restart everything

# service tomcat5 stop
# service tomcat5 start
# apachectl restart

If you were following along from my last article, then browse to:


If all went well, you should see the hello.jsp page showing you the system time!