About me

About a year ago, I saw an interesting sign at the neighborhood coffee shop.  It said “Toastmasters meets here”.  That was all of the information I had to go off of.  Toastmasters sounds cool.  Add the word masters to anything and it sounds cool.  So after arriving home, I checked it out.

The timing of this event was perfect.  I am quite goal-driven and was looking for another goal to pursue.  The goals that were for running were all accomplished.  It is time to take on a task that allows me to grow professionally.  After having checked out what Toastmasters is about, there was no doubt in my mind that it fit exactly into what I had envisioned my next set of goals being.  The Toastmasters mission statement says it best: “The mission of a Toastmasters club is to provide a mutually supportive and positive learning environment in which every individual member has the opportunity to develop oral communication and leadership skills, which in turn foster self-confidence and personal growth.

It is difficult to find people who really want to stand up in front of peers and give a speech. It is even harder to find people who are willing to admit that it is a hard thing to do and they need to work on that skill.  The people at my local club are what makes the experience worth while.  The type of people who are drawn to want to work on the difficult and powerful skills of communication and leadership are my kind of people.  They are seldom found outside of the enclosed work environment.  When I attended the Toastmasters meeting for the first time, I found that everyone who was there was exceptional and wanted to make the most of the experience.  This was the greatest part of the whole experience.  Being around great people makes me want to be more than I am.  They inspire me.

The goal that has come of this is to complete the ten speeches found in the Competent Communicator book.  The process is described in detail here (there are also links to other people’s speeches).  To this date, I am three speeches down and seven to go.  In ten day’s time, I will have given my fourth speech.

Why?  Writing and giving speeches is hard to do when it is voluntary.  Pushing myself to work on these skill when I have no idea if they will pay off is madness.  But, honestly, I can already tell a difference in the way I communicate in just a few short months.  In meetings, I am more aware of what I am saying and if people understand or care.  I am careful to open and close thoughts and structure them in a way people will understand.  I look people in the eyes and don’t lose my train of thought when they look back (that is still tough).

If you are searching for a challenge, looking for good people to hang around with, and want to work on the very important skills of communication and leadership, then you should look to see if you have a local Toastmasters club!

Tags: ,

The Sub-20 Minute 5K

A year and a half of running. Wow! I honestly didn’t think that I would stick with it that long.

The lead up to this was a lengthy one. It took a year of tough running to take a minute and a half off of my 5k time. The actual race was on October 29, 2011. I was running a distance run on the weekends and doing track work once a week. Most weeks, I ran for 5 out of the 7 days.

The track workouts were varied and always challenging. Most of them were just checking if I was ready to meet this goal. There were a few runs of three sets of one mile in an interval. When those finally got to around 19:15, I knew the goal was in reach.

The last set of track work I did was the Wednesday before the race. One mile as fast as possible. That mile took me 5:42.

There are always faster people than me. In this race, I finished 17th. That’s really good. There were 826 finishers in the race.

The biggest con that comes up is that you can’t do it forever. Runners get injured fairly frequently. To avoid this, I’m taking a break from running. 🙂 All goals were met this year. Running is a great activity to clear out your mind and get in shape, but everything has its time.

Tags: ,

This goal has been on my mind for two years now. The first time I head through the Sierra and Bates SCJP book (ISBN: 978-0-07-159106-5) was about a year and a half ago. For those unfamiliar, it is the most acclaimed study guide in existence, for this exam, and is 800 pages long.

Last February, was the first time when I had a testing center picked out and a date in my mind.   However, that was also the time when I found out that it was time to move back to Michigan.  The exam would have to wait while the house shopping, cleaning, selling/renting of our old place, and other mayhem took place.

The last year, I have felt a fire coming back.  Coding is fun again.  It is amazing how much better it feels to be in a job situation where my work is defined by my skills and creativity.

Here’s a tale of two Roles:

  • Role Type A: The role is always inside to your skill set, the building blocks for the jobs you perform are pre-determined, and there is only one way to complete the job correctly.
  • Role Type B:  The role expands your skill set.  The building blocks for the jobs push you to go beyond your current level of knowledge and become more skilled in your craft.  The correct answer is determined collaboratively with input from many sources.

Another way that I think of this is that a Type A role is like eating the same food day in and day out.  Some people need type this stability.  Uncertainty is a scary thing.

The reason the exam became so important lately is that I am in a Type B Role.  There are opportunities to make decisions based on new knowledge I learn.   This is also why architecture seems to be the perfect fit for my persona.


There are many stories of people who study for the exam for 2-3 hours a night for 2-3 months and do just fine on the exam.  This was more than just an exam to me.  This was an exercise to become great at using a tool that I use every day.   A final score of 95% reflects that goal.

After reading through the Sierra and Bates book again this year, I discovered they had also made a book of practice exams (ISBN: 978-0-07-226088-5).  That book is what put my score over the top.  The practice exams in it are nothing short of brutal.  The average score from taking the practice exams was around 70%.  I never finished a practice exam in the alloted time of 3 hours (the real exam is 2 1/2 hours now).

The practice exams felt like work.  By the end of my studies, I had finished 7 practice exams that totaled 420 questions in about 24 hours.  After review time and time spent on other exam sites , I estimate the number of questions in my study to well over 1,000.

There are roughly 100 classes sitting around in my Eclipse project that I started while studying for the exam.  All of them touch on concepts in Java, and many of them are in the “gotcha” category.   Q: What primitive types are the same size in bytes, but cannot be assigned implicitly to any other primitive type????? A: short and char .

The real exam was much easier than the practice exams.  I actually finished with enough time to review the test for errors.


The word I appears way too much in this post.  That usually means that it isn’t much help for people who are just passing by this post on the Internet.  If you would like to ask me a specific question about the exam, please leave a comment and I will answer it in a day or so.  Of course, there are some other great places to do that as well.

Tags: ,

It has been a while since running became a hobby. About a year now. Along the way, I’ve been setting up goals for myself to meet or exceed. This particular one was the most ambitious this far. On May 14, 2011, I accomplished this goal.

The decision to go for this goal was due to a compromise. A 5k was seeming too short and a marathon too long. A 25k seemed like a good compromise for a newbie runner like myself. I work with who have run the race before and gave me positive reviews. I would like to echo them and say that if you’re considering the race, it is quite a rewarding experience.

The under two hours part of the goal was more of a personal decision. If I’m doing this, I’m doing it good. There is also special recognition for those who are able to beat the 2 hour mark. If I run next year, I get a bib that acknowledges the achievement. I also knew what shape I was in. A goal of 2 hours would mean that a lot of work would be required; it was going to be tough.

Like most things, the preparation was 90% of the race. On the Riverbank Run’s website there is a training schedule that I tried to follow. Because of my lofty goals, I decided to follow the expert running schedule. At the peak of training, I was running for 45-50 miles a week.

The time commitment was larger than expected. Most of my Saturday was spent recovering from a 12-15 mile run. This gets especially rough when your wife decided to throw a surprise birthday party involving 70 people and indoor rock climbing. 🙂 The time it takes doesn’t just count time spent on the road. There is time to stretch, time to dress, time to clean, and time to recover. Looking back at it, I’m glad that I opted for a distance shorter than a marathon.

On raceday, I was buzzing. The weather was perfect for a long run. Out of the gate, the wind was at my back. The first 8 miles were fast. Probably a little too fast. Around mile 11, we had turned back, the wind was against us, my times began to slow down. Along the side of the road, there were people, lots of them towards the last two miles. There were people from the community, cheerleader squads, and military service members. I, of course, didn’t take water from the service members, but gave them some applause as I ran by. They had already given enough.

It was due to the people who were cheering and the volunteers that I kept pushing. There was some slack in my goal time, but why not do better? I finished strong, going uphill, with people cheering all over.

Mile: Pace in Minutes per Mile
1: 7.11 — Watch lost my position during this time. This distance isn’t totally accurate
2: 7:20
3: 7:21
4: 7:26
5: 7:15 — Passed the 7:30 pace guy here
6: 7:21
7: 7:17
8: 7:21
9: 7:36 — Switched back and lost the wind. Also a bit more hilly
10: 7:41
11: 7:35
12: 7:46
13: 7:35
14: 7:37
15: 7:42
15.57 7:30

Being healthy helps me to enjoy my life. I would recommend that everyone who has the ability, set up some goals and get out on the road. Life is too short to sit! There are lots of running clubs out there. The ones that I ran with were awesome and encouraging. Find one in your area and get to it.


Six months since the last post to this blog.  What a half-year it has been.   After getting a few emails from friends about how life is going, I thought it best to summaries the top   Here’s the top 5 things I’ve been up to that have nothing to do with technology.


My best 5k time this year was in the low 21 minute range.  My first 5k time was in the upper 24 minute range.

Running has been a great way to provide relaxation and competition at the same time.  Everyone is in the same boat when you are running.   The road provides the opposition and everyone has to overcome it.

Thanks to the amount of running I’ve been doing, I’m as healthy as ever.  Running has been good to me,  I’m optimistic that this will be something that will stay part of my life for a while.


The amount of fun in moving is inversely proportional to the amount of things you have.   Thankfully, we run things lean and try to keep as few non-essentials around as possible.

The new house is twice as big as any place any other place I’ve owned or rented.   The neighbors are further than a wall away, and it’s great to see families working around on the sidewalk.  We estimated 250 trick-or-treaters this year.

Mowing My Lawn

Home ownership and buying comes with some additional cost.  This is especially true when the rooms in the house comes in shades of pink and red and have words written in the paint.  We are two recarpeted rooms away from getting rid of some unpleasant odor.

Of course, Cat 6 cable has been run throughout the house, and we are still working on some various odds and ends to make this place the way we like it.


It runs in the genes.  Riding in the country is great.  Getting lost and attempting to avoid gravel roads is great weekend fun.   This was the first time I got to ride with my Dad and Brother.  This leads me to…

Spending Time With Family

Lots of time to make up in this regard.  It’s going to take a while to catch up.   🙂

This blog has moved.  The URL is the same, but its location in the world has changed.  It’s now hosted at a 3rd party site instead of being at my residence.   Here’s why.

I am not a business:

Carries argue that you are a business if you require a static IP address.   In fact, static IP addresses are not available in most carriers’ standard plans.  They assume that people who subscribe to their service are content consumers and not content containers.  Businesses, on the other hand, are assumed to be content containers and are permitted to have a static IP address.

This wouldn’t be an issue if there wasn’t such a dramatic price differential.   Plans that contain static IP addresses are two times as much as their counterparts.  Why?  In my case, this makes no sense.  There is no profit motive behind what I would do with the IP.  Why am I considered a business?

A good solution, from a consumer standpoint, would be to separate users into different classes.  There are plenty of customers who do need the firewalling and don’t mind the dynamic IP that basic plans provide.  However, these features are just a nuisance to advanced users.  I would gladly pay $10 a month for a static IP.  Make it an option to add to the  plan.

Internet companies are potentially loosing money because they are not providing the services people want.  A $40 basic plan vs a $80 business plan is a no-brainier, but if there was a $60 option in there…..

I am not a hosting company:

There are things that I can do better than the hosting company and things that I do poorly.  Daily SQL backups, running in a dedicated Xen VM, chrooting the Apache server, as much processor as I can use, and the availability of any piece of _free_ software I want to install, are all benefits of having a server at home.  The technical word for it is a playground.  I can do anything I want or am able to do (which is ~anything).

The hosted world provides better uptime, better speed, and manages the system and network administration.  The best part about hosting is the cost.  It’s $7 a month for me to host this and as many other sites that I’d like to build.

I am not average:

Giving up the network administration and the system administration was a tough decision for me.  It has been fun.  Everyone running DD-WRT using VLANS, custom firewall rules, and OpenVPN understands.  Likewise, everyone running XEN on a VLANed host, with more customer firewall rules, and mod_security understands.

But why:

It was fun to host, but did it amount to anything?  The skills I picked up aren’t ones that I use on a daily basis anymore.  I haven’t risen to celebrity status, or really had that many visits (this is more of a content issue).  It was a good amount of fun while it lasted, now I’ve been there, done that, and I could do it again.  But why?

Tags: ,

I am finally a cell phone owner.  It took about 9 months before something that could justify the exceptional expense that cell phones cost.

The experience of buying and owning a cell phone involves several parties.  The parties involved are the reseller, the service provider, and the phone itself.  I’m going to break these 3 part out for this review.

The provider:

This was the easiest decision for me.  Sprint has the cheapest plans right now.  Plus, I get a 15% discount through an employer perk.   The coverage isn’t that great, but it is good enough.  My overall rating of Sprint is a 6/10.

The reseller:

Best Buy was first on my list of places to buy the phone because they handle the rebates for you, instantly.  No waiting 6-8 weeks, no mailing out 17 pieces of information, they just handle it.  Plus, I will never go to a Sprint store again due to the awful customer service I’ve had with them.

I would have no problem buying a cell phone from Best Buy again.  They seem to care more than the Sprint store does about customer satisfaction.   There were two problems I had with the phone that they helped to clear up with me.  I think that these stories sum up my experience well.

The first issue I had was the phone went on sale three weeks after I bought it.  I was still looking in the fliers after purchase to see if the phone would go on sale.  It did.  The phone went from $179.99 to $99.99.   I was still in the first month of my plan, so I could cancel the phone and buy a new one for the reduced price.  This option would’ve involved quite a bit of hassle, so I was relieved when Best Buy credited my credit card with the difference without issue.  After the horrible experience I had at the Sprint store with the Palm Pre, this was _really_ a nice change.

The second issue I had was a phone issue.  The battery life on the phone wasn’t up to my standards.  I took it to Best Buy and they replaced the battery for me.  No prying questions, no acting like I was the problem; they just took a battery from another phone and gave it to me.

The phone:

I’m going to cover Android here to.  The phone and the software that run it are, warranty wise, inseparable.

The draw to the phone was two-fold.  I wanted a Android phone.  I wanted a keyboard.  The Samsung Moment was the only phone that meets these requirements that Sprint carries.

Android has been good but not great.  The Moment runs version 1.5 of Android.  I’ve found it buggy at times.  The default setup is odd.  For some reason, the GPS is on by default.  This will cause poor battery life out of the box.

Android has a great app store.  The app store is the main reason that the phone and platform are a buy.  I can download a million or so ringtones and wallpapers for free.  There are fun games to play as well to burn all of that spare time we have.  There are apps for Facebook, sports scores, alcoholic beverage creation, and for reading the US Constitution.  The amount of apps is staggering.  The quality of the apps is always iffy.  I’m only installing the top rated and downloaded apps.  Don’t be surprised if your phone crashes when using an unpopular or unsanctioned app.

The phone comes with demo applications that cannot be uninstalled.   Google makes money off of your personal information.  This comes through in their phones as well.  There is no option to not sync contacts.  If you don’t want Google to know about your friends, don’t buy one of their phones.  One of the best examples of Google trickery is the GPS setting.  There are two ways to do GPS, wireless networks, and GPS satellites.  The description under wireless networks reads: “See location in application (such as Maps) using wireless networks”.  The description under the GPS satellites reads: “Locate to street-level (requires more battery plus view of sky)”.  The descriptions are true, but biased.  Clicking on the Use wireless networks setting reveals why.  A consent form appears stating: ” Allow Google’s location service to collect anonymous and aggregate location data.  Collection will occur regardless of whether any applications are active.”  This means if this setting is on, you become a data provider for Google.  No, they don’t pay you for the information you provide.

The phone is mechanically great.  The non-slide backing feels really good in my hands.  The overall build quality is quite good.  I would rather have tactile buttons rather than the touch sensitive buttons at the bottom of the screen.  The screen is nice and bright.  It looks like a bigger screen would’ve fit in the same form factor.   I would’ve preferred the screen to fill out all the space instead of having a border.  The keyboard is good and has nice raised keys, keys for numbers, and a directional pad.  I’ve read some criticisms about the touchpad button.  I actually like it as a concept, but the implementation is poor.  The OS is slow to recognize movement on the touchpad, which makes it difficult to use.

Now for the Achilles’s heel, battery life.  The battery life of this phone is just aweful.  This phone should be thought of as more of a laptop in terms of battery life.  It is that bad.  I’ve followed all of the tips in the forums and still only get about 13 hours of standby time.  It’s bad enough where you have to plan a day around it.  If you stay at work late, or have a long drive home, the phone might die before you get there.  Connecting a personal phone to a charger at work is an annoyance and not the message I want to give to my employer.  Even using the GPS in the car makes me worry about when the next charge will have to come.  Its bad enough where it puts a shroud over all of the good features the phone actually has.  This phone has roughly half of what I would consider decent batter life.

Like I mentioned before, I’m keeping the phone.  It does what I want it to do, and I can cost-justify it.  However; i am, getting three phone chargers for Christmas and await a higher capacity battery with great anticipation.

Tags: , , , ,

Take 4

I post way too infrequently.   It seems like every 4th post is about how I had some sort of elaborate hardware failure.  So let me tell you about my most recent one.

Roughly a month ago, my NFS requests started failing.  This was odd.  The server was still happily running along, but, after further investigation, totally unresponsive.   I’m thinking this is bad, but I didn’t know exactly how bad.

After resetting the system, nothing happened.  Now I’m a lot worried.  Several resets later, I sat back and pondered the results.  About half the time, the system would get half way through posting.  Once, the system nearly booted, but have a disk error and locked.  Sporatic results like these point to a motherboard, CPU, or, most likely, a power supply.

I took the power supply out of my main desktop box and plugged it in.  The system would boot to a certain point every time, but still throw disk errors and refuse to fully boot.  This was a huge advancement.  Any issue that is reproduceable is explainable and solvable.

It was time to buy a new power supply.  It seems as though every time a component fails, I am able to buy something better and more advanced.  There is nothing that spawns learning quite like failure.  The power supply that I purchased was a Enermax Revolution 85+ ( Eight hundred and fifty watts!!!!!! ).  Enermax is my favorite power supply maker at this point.   This power supply had a few bonuses too.  It is exceptionally efficient, it is fully modular, it can power two dozen or so hard disks, and it had a $70 rebate.  I am totally pleased with the purchase.

The next step was to figure out the disk issue.  With hard disk issues, ears are an efficient trouble shooting tool.  Really?  Really.   If you hear a hard disk making sounds it doesn’t normally make, back up your data instantly.  This tip would’ve saved my bacon on many occasions.  I noticed the server making odd noises days before the failure and should have acted then.  After the new power supply was installed, it was totally apparent.  I had two failed disks.  The easiest way to see that a drive is failed is that it doesn’t show up when a system is booting.  During the power cycle, a system will check the disks that it has attached to it and, most of the time, display the specifications of the disk.   I could see that two disks that were properly plugged in and they were not detected; therefore, they were bad.  That, and I could hear that they weren’t spinning up properly.

Disk failure shouldn’t be an issue in servers.  I had RAID implemented on the disks.  RAID typically allows for a disk failure, that is, unless you use a type of RAID that doesn’t.  Because of space concerns I had when building out the box, I decided to use RAID level 0 on the disks.  RAID 0 will allow many disks to appear as one disk while combining the storage capacity of all of the disks.  Unfortunately, when one disk fails, all data is lost.  Only data that is ok to be lost should be put on an array where the disks are configured in this manner.

All data was not lost, however.  I did follow my own rule and only put data that could be lost on disk arrays that could not withstand failure.  The problem was that I considered my main OS to be something that was expendable.  The virtual machines, like the one that runs this site, were protected and recovered.  The problem with this setup is obvious.  When the main OS is down, the virtual machines will no longer be able to run because of their dependency on the main OS.  This was a classic mistake on my part, I should’ve put the OS in a safer place.  That won’t happen again.

The disks that I purchased to comprise the new storage core of the server are from the Western Digital Black family.  I really like these drive because they are built for performance and because they are cheap.  I purchased 3 of the 750GB model for $60 a piece.  I don’t know how reliable they will be until one of them fails.  The drives get good reviews so I’m not too worried about it.

Two disks and a power supply at the same time?  How on earth could that happen?  My current theory is that the power supply didn’t fail.  It degraded to the point where it couldn’t muster the power to get the entire system running from a cold start.  The system had to cold start when I received a disk failure on my main system array.  The second disk was part of my backup array that could survive a disk failure.  It is possible that the disk had been in a failed state for some time.

I have to give props to Zalman and Seagate.  Both companies stood by their product’s warranty and replaced the faulty products.  There was only 3 months left in a 3 year warranty on the Zalman power supply that failed.  The disk was an enterprise quality disk (but it failed so….), it had roughly 2 years left on the warranty.

Props also go to volume management and filesystem resizing utilities.  I used the CentOS 5.4 live CD as a recovery disk to transfer data from the disks after the operating system had failed.

Another year, another hardware failure.  This is why only professionals (like me) should host their own equipment.  Typically, people are better off letting a hosting company handle problems like this for them.

Tags: ,

For friends and family, our vacation photos have been posted.  Check them out here.


Weekend Hacking

This weekend was a busy one.

* Created a gentoo chroot on my server that shares compiling duties with my desktop using distcc.
* Recovered /etc on my server after antecedently deleting it.  This involved recovering the iptables, nfs exports, and fstab after loading an old backup.
* Fixed a nasty cups-pdf issue on my desktop where the /var/tmp directory had the wrong permissions and the logs were of no help.
* Rebuilt the arcade using Debian Lenny and SDLMAME 128u3.
* Cleared up a bunch of spam comments on this blog and implemented re-captcha.
* Switched the web xen instance to using the pygrub bootloader instead of specifying a kernel and initrd on the host OS .
* Finally beat Civ 4 on the Noble difficulty level.

I really need to elaborate on these things as there is quite a bit of knowledge associated with these tasks that is scattered throughout the Internet.  Of course, that’s was wikux was for….

Tags: ,

« Older entries § Newer entries »