Monday, December 20, 2010

The Importance of Training

It is amazing at how many people think they are an expert in something only to find out that they are really more of a novice. This weekend I got to participate as an official in a ski race. Normally I get assigned as the start referee, which is a lot of work. Saturday I was a simple gate judge with a twist. The twist was that I was on a headset with the start and finish. I have done that before, but only once. It was my job to communicate any crashes on the middle of the hill outside the view of the start or finish officials. Sounds like a piece of cake, right? Wrong.

The first race of the season generally has a lot of racers and so it was an all-day affair. I would watch skiers come down the mountain and as they passed, I was to give the racer's number and that they "cleared" the drift road, which was where I was standing. A typical conversation would sound like this:

Starter: Racer 1 on course, 2 holding in the gate.
Me,once racer 1 got to my spot on the hill: 1 clear of drift.
Next checkpoint, once racer 1 got to his spot on the hill: 1 clear of slalom start.
Finish, when the racer passed through the finish line: 1 through the finish.

Again, this sounds rather simple. However we could have up to 4 racers on a hill at the same time, staggered at 30-second intervals. That meant that racer 50 was crossing the finish line at the same time 51 was going past the slalom start, 52 was going past me, and racer 53 was leaving the start gate. Therefore it was important to use as few words as possible so you weren't talking over someone else. Furthermore it was important to use the right vocabulary.

During the course of the day, a skier missed a gate and started hiking so he wouldn't be disqualified. The racer behind him quickly approached and passed him. That means that racer 52 was in front of 51 and I used the word "passed" to indicate what had happened. Timing was able to make the necessary change in the computer so that racer 52 was given the correct time as was 51. Without this communication, both racers would have the wrong time. After the passing, I used the word "passed" with the next racer instead of "cleared." After all, the racer did pass my spot and I had the word "pass" on my mind. This confused timing because they thought two more racers had passed each other, which wasn't the case. Using the wrong vocabulary created confusion and I had to correct the error.

In my defense, it was the only mistake of the day but highlighted the importance of proper training. How many of us are eager to tackle a new project or try something innovative on our computer. Sometimes we have the proper knowledge or training and can do okay. Other times we know just enough to be dangerous and really screw things up. I hate it when I do that.

Friday, December 17, 2010

Don't Shoot the Messenger

When I first started flying between Utah and California earlier this year, Southwest had a flight that left Oakland at 6pm and got into Salt Lake at 9pm. It required me to leave my office at 4 and I sort of had an evening at home. Then Southwest moved the flight to 7pm, which put me in at 10pm. I got to stay at the office until 5pm but sort of ruined my Friday nights. Now Southwest has pushed the flight back to 8:15, which puts me in after 11pm. That totally ruins my Friday evening.

Today is the first time that the flight goes home at 8:15 and I wasn't too happy about it when I made the reservation. I thought about going on the Delta flight, which leaves at 6:15, but wanted to remain loyal to Southwest.

I just logged onto Southwest's website to see if my flight is going to be on time this evening. Right now it is 2 hours late. I won't be home until well after midnight. I checked the FAA's website to see what airports are experiencing weather delays and San Fransisco (SFO) is the only one. That means that Southwest is having problems or at one time during the day, this plane made a stop at SFO and it screwed up the rest of the day's schedule. The net effect is I am not a happy. Sometimes the Internet brings bad news and it is important to remember not to shoot the messenger.

Thursday, December 16, 2010

Benchmarks

Today is the first ski race of the season for my youngest son. I wish I could be there at Park City watching. Instead I am stuck here in California working. The most important goal in this first race is to finish. Doing so helps with races later in the season.

My job today is running benchmarks. We will be rolling out a new product in the next couple of months and I need to make sure our infrastructure will support it. I am starting the day running speed tests. Later I will work on some reliability tests to make sure we can weather hardware and software failures. These benchmarks are sort of like the ski race my kids are participating in at Park City. The race doesn't really count for much other than to make sure they are in racing form and ready for more important races later in the season.

My daughter was also supposed to be at the race but got in trouble. She hit her brother after being warned repeatedly that it would keep her from this first race. She got home from school a few minutes ago and asked if she could go skiing at the resort near our house. My wife informed her that she was being punished and should work on homework. She knew she wasn't going to be allowed to race, but not being allowed to even ski today is really too much. If she had known that, she would have hit her brother harder. When I heard that, I just had to laugh.

Wednesday, December 15, 2010

Late Night YouTube

Last night I got interested in watching some YouTube videos and wound up staying up past midnight. Normally I am not a fan of YouTube, but found some rather interesting submissions and couldn't help but watch. My search started with "Emergency Communications Trailers." After following several links I found a 35-minute video that I just had to watch (divided into two parts).

The video wasn't really a video. It was just audio of radio communication between air traffic control and an airplane. The pilot had passed away, leaving the sole passenger to fly the plane. This is a scenario you see in a lot of movies about commercial flying. The YouTube video is nothing like the movies, which isn't really that surprising.

The first thing I noticed was how calm the passenger was. You don't really notice he has a dead guy sitting next to him until he makes a comment about it right before landing. That would probably freak out a lot of people.

The other thing I noticed was how much radio traffic was taking place. Air traffic control would talk with the passenger and then have to redirect 4 or 5 other pilots to another channel. Then he would talk to the passenger again. That is something that never happens in the movies.

Eventually the plane gets directed to an airport with a really long runway and the passenger is able to safely land. However you can hear his voice climb in pitch the closer he gets to the ground. This is one situation where everything works out well considering the circumstances and it was riveting. Considering how much garbage is on YouTube, it was nice to find something so worthwhile.

Tuesday, December 14, 2010

Teamwork

This morning I began documenting a project I just started. I am using a new product called Eucalyptus and want to write down the steps I went through to get everything running. Then if I have to go through the same steps in the future, I won't have to figure it out again.

As I was adding comments to my notebook, I turned past a number of entries for new products I have learned this year. While there are the usual notes about PostgreSQL, MySQL, and other databases, there are also notes for MongoDB, BIRT, Fabric, and other software. I wish I could say that I discovered all these products myself, but that would be a lie. The reason I am using them is because of various people I work with and their recommendation to help make my job easier.

I used to do consulting and had my own bag of tools. While I would work with others, rarely would they make recommendations of other products that might help me out. Now that I am in more of a team environment, there is an open atmosphere of sharing. I find this to be a refreshing change and am enjoying the chance to add to my toolbox. So if you find yourself struggling with a particularly nasty problem, seek out a trusted resource and see if there isn't another tool out there to make the problem go away.

Monday, December 13, 2010

Global Warming

Those who believe in global warming will point to the weather here in the western half of the country as proof. Those who don't will point to the weather in the East. Since I am in the West, all I can say is that it isn't fun to watch all this early snow melt. It is tough to ski when there isn't any snow.

Saturday I had a great day of skiing at Snowbird. My wife and I were first into a large bowl and had a nice run of untouched powder. By the time we hit the bottom, there were others following our tracks and so it was impossible to circle around and have the same experience. That didn't keep us from finding little stashes of powder throughout the rest of the mountain. Yes, it was a great day and I hope to have more like it throughout the year. Snowbird is fortunate in that they have elevation to help combat the warm temperatures. While they had fresh snow, places like Park City had to deal with rain.

I got back to the office today and asked if anyone else had gone up skiing. A coworker had thought about it, but Tahoe was just too warm. A look at the Squaw Valley website which showed that it was in the 40's and snow was melting fast. In fact, Squaw only has an 18-inch base. In Utah, that would mean a lot of exposed rocks. It has been so long since I have skied any of the Lake Tahoe resorts that I am not sure how bare it is, but I don't plan to go there any time soon. That is too bad because Squaw Valley is one of my favorite places to ski.

Ski resorts used to have a phone number that you could call to get weather conditions and I'm sure they still do. However now it is so much easier to go to the resort's website and get the same information. Often times there is even a live picture or two so you can see for yourself if the report measures up to your expectations. Unfortunately 18-inches of snow just makes me depressed. Hopefully the weather predictions for a cool down are true and we will have snow later this week. Otherwise there are several websites I won't be visiting only because it is too sad.

Friday, December 10, 2010

Time to Clean my Desk

You can tell when I have been incredibly busy as my desk doesn't get cleaned. I was looking at my desk in the office this morning and thinking that I really need to clean it up. I have mentioned before how a good work environment is critical to helping focus on a project. This morning I have some extra time and so I will clean up my desk.

I am trying to figure out why my desk gets so messy. Part of the problem is that I think I am afraid to throw anything away. The moment my trash has been emptied is exactly when I realize that I shouldn't have thrown something away. The sad thing is that what I really need is a note scribbled in the margin of an unimportant and unrelated paper.

Another reason my desk gets so messy is that I take a lot of notes. Generally I try to use an engineering notebook for all of the important stuff. If I know I won't need the information in the future, I will write on a yellow tablet and then throw it away when I am done. Unfortunately I will write one of those super-important and unrelated notes in the margin and end up keeping the paper and cluttering my desk.

Finally I like to create piles. If I don't know what to do with something, I will put it in a pile of other stuff I don't know what to do with. It is a practice that drives my wife crazy. She will walk around the house questioning me about piles of junk in various corners. Eventually the piles get moved to my office which is where they needed to go anyways. I guess that means I am good at getting my wife to clean up after me. Now I just wish she would come hang out in my office at work.

Thursday, December 9, 2010

Company Benefits

Today was a good day to be at the office. The company I work for was giving away all sorts of free swag. OK, technically it wasn't free. I had to make a $5 donation to a charity and then they gave me a grab bag full of cool stuff. I got some sweet T-shirts as well as a bunch of video games. If I had bought the games in a store, I would have spent around $250. Of course I didn't get to pick the games and neither did any of the other employees around me. That led to a lot of trades taking place as we all got different titles.

This is one of the benefits that is often overlooked when deciding where you want to work. Back at Oracle, we might have gotten T-shirts, but nobody really had a consumer use for their product. It would be like bringing home a drive-shaft to a 1987 Ford F-150. While someone definitely has a use for such a gift, it isn't going to get the kiddies excited to see under the tree on Christmas morning. Yep, I definitely work for a company with lots of cool products.

This got me thinking about other cool companies. I wonder if Apple has such a practice and they give out iPads to all of their employees for a nominal donation to a local charity. Ok, maybe not an iPad, but how about an iPod? REI would be another great place to work if they gave out free stuff. With all the camping I do, I would definitely be happy with most anything they carry.

You don't suppose GM gives away cars at Christmas do you? They did have to get bailed out by the government recently. . .

Wednesday, December 8, 2010

World Clocks


Several people from my office have been traveling all over the place because of conferences. It is always difficult to remember what time it is in the various timezones throughout the world. My watch can tell me the time for all timezones, which is helpful when I am doing a lot of traveling. However it is a little cumbersome because it uses 3-letter airport codes to indicate the timezone. For instance, LAX represents the pacific time zone. Most Americans know that SFO (San Francisco International Airport) and LAX (Los Angeles International Airport) are in the same timezone. But what about ANC (Anchorage International Airport) and HNL (Honolulu International Airport)? And what about daylight savings time?

In reality, it doesn't matter what the exact time is when you are trying to call one of your coworkers in Japan. What really matters is if the sun is up or if it is the middle of the night. The best tool for that is a world clock which shows a map of the world with night areas colored darker than day areas (as shown in the image above).

There are a number of free world clocks that work on Windows, but I wanted one on Linux because that is my primary system at work. Doing a quick search on one of the Ham radio sites (because Ham radio guys use world clocks to determine the best frequencies to use) led me to Sunclock. It is a free program that can be found at ftp://ftp.ac-grenoble.fr/ge/geosciences/sunclock.

The program comes as source code and so you have to compile it. There are some simple instructions that come with the download and most Linux users should be able to get it working with a minimum fuss. If you run Linux and do business all over the world, this application is indispensable.

Tuesday, December 7, 2010

2010 Christmas List

I love this time of the year. The news always talks about how some adults get depressed at Christmas time and I can see how that can happen. However I love exchanging gifts. I also use this time of year as an excuse to get new toys for myself by justifying that it is for the family. In thinking about what I would like this year, I decided to make my list public in case there are others that can benefit from my Christmas list.

Less than $20
My kids often ask me what I want for Christmas and I know they don't have much money to spend. In reality I would rather have them save for college than buy me expensive toys. So this is probably the most important price range on my Christmas list. Some ideas are:
  1. Memory cards, you can never have too many of these
  2. USB thumb drives, great for backing up important pictures and documents
  3. 12 Volt car adapter to USB charger, great for keeping your iPhone fully charged
  4. Noise canceling headphones, what a steal at $19.99
  5. Mouse pad with a really cool graphic, mine are always getting worn out
  6. LED Flashlight, great for looking behind the computer
  7. A 50-pack of blank DVD's, make sure to get the kind that match the DVD writer (+ or -)
Less than $100
This price range opens up a few more gifts but starts getting out of the range most kids can afford. Perhaps two kids can go together to get Dad a gift.
  1. Good computer toolkit, I am always looking for a screwdriver
  2. Spare charger for my laptop, so one can stay at home and the other at the office
  3. DVD or Blu-Ray movie, fun for the whole family
  4. A 1 TB hard drive, to add to any computer system
  5. External hard drive, great for making backups
  6. Battery backup system or UPS, for when the power flickers
More than $100
This opens up a lot of possibilities. However it is Christmas and not "Winner of the Lottery Day," so you shouldn't really spend more than $1000. Furthermore these gifts should really be for the whole family and not just one individual.
  1. 3D Television, you can get some bundles for less than $1000
  2. Playstation 3, it is also a Blu-Ray player
  3. Color Laser printer, great quality and the toner doesn't dry up like with ink-jet printers
  4. Gas-powered generator, for when the power is out for a long time
  5. 1080p Video projector, when a 50-inch screen isn't large enough
There are some great buys on all of these ideas and so don't be afraid to scour the Internet for the best prices. And remember, don't spend too much. It isn't much of a Christmas if you are still paying for it in July.

Friday, December 3, 2010

The Fear of Impending Doom

I would have to say that I am generally a very optimistic person. I am always hoping that the best will happen and try to shrug off all of those preaching impending doom. When all of the talk of global warming became popular, I read Michael Crichton's State of Fear and appreciated his scientific approach to analyzing what is really going on in the world around us. Let's be honest, the scientific community is often wrong, but never in doubt.

Last night I had the chance to attend a Roundtable for Boy Scout leaders. The topic of conversation was winter camping. It was refreshing to listen to the wisdom of others and not be the one teaching the class. Of course I did put in my two cents about the importance of eating a Snicker's bar before going to bed (your body needs fuel to keep warm while you sleep). The primary message in last night's meeting was the Scout motto: Be Prepared.

It is essential to be prepared for realistic disasters. I do a lot of reading on Ham radio forums and there are some preparing for the end of the world while others are worried about a simple 3-day power outage. While I applaud those preparing for the apocalypse, I think it is much more realistic to prepare for the power outage. So what does that mean for the regular computer user? Take a look at some realistic scenarios and plan accordingly.

If you keep important records on your computer that might be useful in the event of an emergency (i.e. medical information, phone contacts, etc.), make sure that you have a way to power your computer in case of an outage. Laptops have the advantage of having a battery without requiring an uninterruptible power supply (UPS). Being able to keep this information on your iPhone (or similar device) is even better.

Lightning strikes have a tendency to destroy computer equipment and so it is a good idea to turn off and unplug your computer during an electrical storm. Unfortunately those inexpensive surge protectors will do little regardless of what their warranty says.

Most importantly you should back up the data on your computer. Katrina-type storms happen once every hundred years. You are much more likely to suffer a hard-disk crash or a dropped computer. If you have your data backed up, then you are that much quicker to being productive in the event your computer breaks. This means doing regular backups as data has a tendency to change. I am missing three years of photos because of a crashed hard drive. I hope that doesn't happen to you.

Wednesday, December 1, 2010

A New Home for Old Gadgets

If you are like me, you probably have a bunch of old cell phones and used computer equipment lying around the house. I was one of the first people to start carrying a cell phone and when it came time to upgrade, I got a credit for returning my old one. For some reason, the carriers stopped their upgrade programs and so I have a box with all of my old phones. Every once and a while, a Scout troop or school fundraising group will drop by asking for old phones to recycle. While I don't mind helping them out, it would be nice to get some real cash for my old gadgets.

Last night I was getting ready to head off to bed when the news mentioned a story about a company paying for old computers, monitors, cell phones, and other electronic gadgets. I decided it was worth staying up a bit to see if it was something I could use. It was and now I can pass that information on to you.

If you go to www.gazelle.com, you can find out how much your old junk is worth. My son's phone died and is using an old Treo 650 that we had lying around. I did a query to find the value of the phone and discovered it is worthless. I thought back to my last phone that I was using before I got my iPhone 3G and that was a Motorola Razor. I did a search to discover that it is also worthless. Each time I searched for a worthless item, Gazelle offered to recycle the device responsibly. That is nice, but I want cash.

I looked at my iPhone 3G and wondered how much it is worth. I am interested in upgrading to the iPhone 4 and want to know how much I can get for my current phone. I plugged in the numbers and discovered it is worth $104. Now we're talking. At that price, it could be worth it to get rid of my old phone and pick up a new one. This gives me an idea for Christmas . . .

Monday, November 29, 2010

A Case For Twitter

I have never been a fan of Twitter until now. I have always thought it stupid that the public would waste time following celebrities 140 characters at a time. I still feel the same way, however, recently I have seen some legitimate uses for the service.

At the end of September, there was a fire in Herriman, Utah. It became known as the Machine Gun Fire because it was started by practice rounds at a National Guard firing range. The dry grass and high winds caused the fire to spread rapidly and endanger many homes. Naturally the cell phone service in the area quickly became overwhelmed as people tried to check on loved ones and news media tried to inform the public. It was interesting to watch the news and see the news try to explain what was happening while anyone in the Salt Lake area could see the massive fires burning on the hillside.

In the end, the residents were evacuated with the help of reverse 911 (where the local government sends a message to every home in the area). A second tool that was incredibly helpful for sending information was Twitter. The news outlest and residents could get up-to-date information simply by logging onto Twitter.

Fast forward to this Thanksgiving weekend and Utah was supposed to have a major blizzard blanket the area on Tuesday. The massive storm turned out to be a dud. Then it started snowing Sunday morning at 3am. I got up and shovelled the walks. It continued snowing all day, through the night, and didn't let up until today. When I left for the airport this morning to catch my flight back to California, there was two feet of snow in my front yard. I had to shovel the walks again. Naturally there was the question of if the kids had school.

We turned on the TV, but there wasn't any news about school closures. We turned on the radio, but all they wanted to do was play songs. We even turned on a computer and checked if there was any news. The first place my wife visited was the superintendant's Twitter feed and it said something along the lines of "Thanks to our diligent staff, parking lots are cleared and school will be held."

While most kids would be disappointed to discover that school was still being held, mine breathed a sigh of relief. They know that a day off today just means a day taken away from their Spring break. It is amazing how such a small message was the information needed to continue the day's activities.

Wednesday, November 24, 2010

That Was It?

Yesterday I wrote about how a big snow storm was supposed to hit Utah. I stayed up watching the traffic cameras and checking in on the family. My wife and kids were safe watching a movie and didn't give the storm a second thought. I got a call right before everyone headed off to bed saying that there was only 4 inches of snow on the driveway.

I woke up this morning and checked in with the family before they headed up to Snowbird for some skiing. My wife said that there wasn't much more snow this morning than when they went to bed. That's it? Only 4 inches of snow? My wife did mention that it was incredibly cold and so the salt on the roads wasn't melting the ice. That can make for tricky driving but I don't think it justifies all of the lead-up to this storm. The weather service kept saying it was going to be a 4-foot storm. The mountains only got 9 inches. That barely justifies bringing out the new skis.

It will be difficult to trust the weather service the next time I hear that a huge snowstorm is rolling in. I'm sure others feel the same way. Unfortunately that means that when the big storm really does clobber the area, we will be unprepared. Awe who am I kidding. The next time I hear about a big storm coming, I will get excited and hope for tons of snow. That's what skiers do.

Tuesday, November 23, 2010

Waiting for the Storm

I am in California today but my family is back in Utah. There is supposed to be a huge storm rolling in this evening. The National Weather Service has been predicting this storm since Sunday and been using terms like "a significant storm like we haven't seen for several years." I'm not sure if that means it is a once-in-a-decade storm or once-in-a-century storm. Or if it just means "a really big storm."

The storm has been getting so much attention that my son was told not to come to one of his University classes today, to give him extra time to get home before the storm hits. It is only a 30 to 40 minute drive for him, but several of his classmates will be driving many hours to get home for the Thanksgiving break.

I have a keen interest in this storm because I will be flying home tomorrow and don't want to be stranded here in the San Francisco area. The Internet has been very helpful in keeping me abreast of the weather situation. While you may be tempted to look at www.weather.com, the best weather site is really www.weather.gov. It gives you all sorts of weather and travel advisories that are very useful.

While it is nice to get weather forecasts, there is a lot to be said for simply looking out a window. Unfortunately I am over 500 miles away and looking out a window isn't an option. If only there was a camera in the Salt Lake area that is connected to the Internet. More importantly I need one looking outside. Traffic cameras are a pretty good resource and you can get to a huge list of them for the Salt Lake area by going to www.utahcommuterlink.com. The site has a map showing all of the traffic cameras in the area and it is really easy to click around Salt Lake and see where it is snowing and where it is dry.

Finally, I want check and see how air traffic is backing up. Sometimes I fly Delta and sometimes I fly Southwest. Both carriers have websites where I can go to see if specific flights are delayed. Southwest's is a little easier to use because it will allow me to select flights between two cities without having to know the flight number. Delta requires knowing the flight number, which isn't too difficult to get. A more general place to go for getting an idea about delays across the country is the FAA's site. It shows a map of the United States with the major airports represented by a colored dot. Green dots show that most flights are on-time, orange dots may have weather or other delays greater than 15 minutes, and red dots indicate delays of an hour or more. Moving your mouse over the cities brings up a balloon with information as to why the airport may be experiencing delays.

I talked to my wife earlier and she said that the news is telling people to avoid travel if they can. It will be interesting to see if the storm really hits with the fury that has been predicted. When it does, I should be able to see it from the comfort of Sunny California.

Monday, November 22, 2010

Bad TV Reception

It is tough watching TV this evening. On the sailboat I don't have cable or satellite and have to pull my television signals from the airwaves.

When I set up my HD television, I was surprised at how many stations I could get. On a good day, I can receive about 75 channels. Tonight I am getting 4. There are a number of factors that contribute to good television reception. I would expect to have great reception this evening and then I remembered I walked down a steep ramp to get to the boat. That means it is low tide and I am sitting about 8 feet lower than usual. Antenna height is probably the biggest factor for good television reception.

When I look at today's tide tables, I can see that low tide was at 5:48 pm (or 17:45 as it is listed on the table) and that it was 0.9 feet below the average low tide. No wonder the ramp down to the boat seemed so steep. Now I just need to figure out a way to get my antenna higher in the air. If only I had a large pole connected to the boat with a rope on top that I could use to raise and lower my antenna . . .

Thursday, November 18, 2010

Random Numbers

Today is one of those days where I am putting together a bunch of sample reports. The reports contain fictitious data and serve as a starting point for management when they are trying to figure out what they want in a report. I may start with a bar chart in the sample report and then management will decide they want a line graph instead. Figuring out what management wants before I spend a lot of time fine tuning the report saves a lot of headache in the end.

My reports are all database driven and so it is important to populate the database with realistic-looking numbers. One of the tools I use is an existing report that I have printed and hanging on the wall of my office. When that doesn't work, I resort to random numbers. I just hate trying to make up numbers on my own.

Creating a random number with a computer is seemingly not a trivial task. My son discovered this with one of his programming assignments recently. They are using an algorithm provided by the professor, but it has one major drawback: the numbers aren't so random. If you call the function once, you will get a specific number. Then close the program, rerun it, and you will get the same number. In order to get a truly random number, you need to "seed" the algorithm with a true random number.

It may not seem like a serious problem until you truly need a random value. This is what was happening with my younger son in his ski races last year. He seemed to get stuck with the same bib number when start order for his group was supposed to be random. The software used to determine random start order was putting the same kids at the front of the group and the same kids at the back of the pack. For the kids lucky enough to be at the front of the pack, they had better snow conditions. My son, on the other hand, got relegated to the back of the pack and had to deal with ruts up to his armpits.

As with most seemingly complex problems, there is an elegant solution to having a computer generate random numbers: read the milliseconds from the computer's clock. When I explained that to my son working on the programming assignment, he couldn't believe there was such an easy solution. Now I just need to pass the information on to that bonehead who wrote the ski racing software.

Wednesday, November 17, 2010

Don't Believe Everything you Read

Every morning I get an e-mail from Steap and Cheap, a website that sells outdoor equipment at ridiculously inexpensive prices. Included in the e-mail is a paragraph or two that is generally funny and always entertaining. Today was about the giant island of plastic that has accumulated in the middle of the Pacific Ocean between Hawaii and the mainland US. This is one of those stories where I will just have to disagree with what we are being told.

If you do a little searching on the web, you will find all sorts of stories about plastic accumulating into an island out in the middle of the ocean. Some say the island is about as large as the state of Texas while others claim it is twice the size of the United States. One thing they all agree on is that it is about 1000 miles West of California and 1000 miles North of Hawaii. I don't think it is a coincidence that relatively few people have the means to visit such a location. Unfortunately for the environmentalists, I have been there and can report first-hand as to the reality of the situation.

First, yes there is a lot of garbage in the middle of the ocean. When I sailed from Hawaii to Los Angeles, I saw a lot of man-made stuff in the water. However, there never was an island of it. We would sail past a single grocery bag and then see something else 30 minutes later. Considering we were only going about 7 miles per hour, that equates to a lot of junk in the ocean. We really should be doing a better job of disposing our garbage.

Second, yes all that plastic can be harmful to marine life. I understand that sea turtles like to eat those plastic shopping bags because the bags look like jelly-fish. However there are all sorts of marine life that depend on that garbage. It was not uncommon to see various fish seeking refuge from the birds underneath some of that rubbish. Once we came across a fishing float that we wanted to keep as a souvenir of our trip. We plucked it out of the ocean only to find it was covered with crabs, algae, and other marine life. It was like an entire miniature eco system thriving in the middle of nowhere.

Should we be doing something to keep our garbage out of the ocean? Of course we should. Should we be alarmed about the garbage collecting into a huge island? Nope, there is no island. If you don't believe me, look out the window the next time you fly to Hawaii. I would be amazed if you see anything other than lots of water.

Tuesday, November 16, 2010

Finding Bugs

Recently I purchased a new Ham radio. It isn't anything special, just an inexpensive hand-held unit used to help with local events or emergencies. This new radio has the ability to program 128 memory channels using a personal computer. The application runs on Windows and presents you with a spreadsheet-style interface. You fill out specific parameters for each of the memory locations and then upload the information to the radio through a USB cable. This is much simpler than entering all of the information by hand using the radio's cumbersome menu system.

I don't think the software to program my radio was ever fully tested. It took me a good hour to figure out how to use it. Now that I have figured it out, it is really simple to use. The problem was that you have to do things in a certain order. If you don't then the software freezes or refuses to communicate to the radio. It was frustrating while I was figuring it out and I almost sent back the radio.

Testing is very important and something that I have to do on a software project I am working on in my spare time. Since I spend most of my evenings away from home, I have three or four hours a night to work on the software and it is coming a long nicely. When I was home in Utah this weekend, I took the opportunity to show it to my wife. I noticed several problems during the course of my demo and was able to get them fixed immediately.

Most commercial software companies have formalized methods they use to ensure their products live up to expected levels of quality. One method is using someone who didn't write the software to test it. For smaller organizations, such as a guy working on software in his basement, garage, or boat, the demo to spouse or kids can serve a similar purpose. If only the company that wrote the software for my new Ham radio had been so careful. Then I wouldn't have blown a Friday evening trying to figure out how to get their software to work.

Monday, November 15, 2010

MySQL vs. PostgreSQL

The PostgreSQL community recently had PgWest, which is a conference where users and developers gathered together to learn from each other. It was held in San Francisco, near where I work and so I submitted a paper to present. The paper was accepted and I spent a day at the conference. I would have liked to stay for all three days but had a project back at the office that required my full attention.

One of the sessions that I missed was on the differences between MySQL and PostgreSQL. Both are database management systems and are freely available. MySQL was controlled by a single company and then was purchased by Sun, which was then purchased by Oracle. PostgreSQL is a community project with developers all over the world. I would have liked to attend the presentation as I use both MySQL and PostgreSQL for my job.

Looking at all of the online traffic generated by the presentation, I really wish I had been there. I get the feeling that it was a bit like watching a cat thrown into a room full of hungry dogs (MySQL being the cat and all of the PostgreSQL fans being the hungry dogs). I have to sit back and laugh at all of the contention the one presentation has caused. It reminds me of the movie, "Monty Python's Life of Brian." The movie takes place in Jerusalem during the time of Christ. There are several Jewish groups opposing the Roman occupation. One is the "People's Front of Judea" and the other is the "Judean People's Front." Instead of working together to rid themselves of the Romans, they fight against each other.

PostgreSQL and MySQL are both open source databases and can be used without any licensing costs. They may have different architectures and methods of development, but they allow users to run complex database management systems without the burden of heavy fees required to run Oracle, Microsoft SQL Server, or IBM DB2. Maybe someday the two camps will stop arguing long enough to figure out they are on the same side and stop trying to steal each other's users.

Then again MySQL is now owned by Oracle . . . who charges large sums of money to use their "other" database product . . .

Thursday, October 28, 2010

The High Cost of Windows

Now that my son has a much larger hard disk on his MacBook, he can put more stuff on his computer. One of his classes at school requires a program that only runs on Windows. I suggested he pick up a copy of Parallels which will allow him to run Windows at the same time as MacOS X. The only problem is that he would also have to purchase a copy of Microsoft Windows.

In full disclosure, I gave up on Windows many years ago. When I buy a new computer that isn't a Mac, the first thing I do is repartition the disk so that a small portion is devoted to Windows and then install Linux on the rest of it. I find Windows to be slow, boated, buggy, and susceptible to malware. On my latest computer, I haven't even tried to boot into Windows and I have had the computer for over a year. When my son informed me that he needed a Windows program, I wanted to help him find the best way to get it running without screwing up the rest of his computer and that is why Parallels makes sense.

In the process of upgrading his hard disk, my son decided to buy a new copy of Mac OS X. It cost him $30 and was well worth the price. The latest version doesn't take up as much space as the previous version and also seems to run faster. As a full-time student, my son can get a copy of Parallels for $30, which isn't too expensive. Then came the shocker: the high price of Windows 7. Since my son doesn't have an existing license for a copy of Windows, it will cost him $199. If he wants to upgrade a copy from one of my machines where I don't use Windows, it will still cost him $119. I guess Microsoft has to pay a lot of money to all those people who think Windows 7 was their idea.

My son is a pretty smart kid and decided that $119 is just too much money and will opt to use the computer lab at school. Sure it isn't as convenient as working on his homework in his apartment, but $119 buys a lot of pizzas.

Wednesday, October 27, 2010

Doing Things in Parallel

Yesterday I had a busy day at the office. I had to migrate data from one computer to another. It was a lot of data and I knew it was going to take all day. Unfortunately it couldn't all be done at once and had to be done in chunks. As I wanted to be as efficient as possible, I looked at how I could do things in parallel.

The first process was to export a subset of data out the database on the first machine. That took about 5 minutes. Next was to compress the exported data and that took a minute. The middle step was to transfer the compressed data to the new machine and that took the bulk of the time at 20 minutes. Once on the new machine, the data was uncompressed (another minute) and imported into the new database (another 5 minutes). If you add up the time for the entire process, it amounts to thirty-two minutes. Unfortunately there were about 20 data segments to move. Doing it 1 segment at a time meant I would be at it for over 10 hours.

Having done this once or twice before, I knew that I could start the process on future data segments before the earlier ones completed. Doing so would reduce the time to complete the job from over 10 hours to less than 7. Of course that meant I would be busy the entire time. However it was worth it to get the task done more quickly.

Now the question is: What does the process look like? Easy, the first segment requires that I export the data and compress it. That took 6 minutes. Then I needed to transfer it to the new machine. During that transfer, I could start the next segment and eliminate 6 minutes for each of the remaining segments. I could also start the data import of the first segment while the following segment was transferred. That eliminated another 6 minutes per segment for 19 of them. If you do the math, there are 6 minutes at the beginning and 6 minutes at the end. Then there are 20 segments at 20 minutes each to transfer. That amounts to 6 + 6 + (20 x 20) or 412 minutes, which amounts to 6 hours and 52 minutes.

That is a nice reduction but you can see that it is not 50% of the original 10 hours and 40 minutes. That is important to remember the next time that someone tells you a computer with two processors can do twice as much. While it is a good goal, it isn't always practical.

Thursday, October 21, 2010

Learning MySQL

I originally started today's entry with the title "I Hate MySQL." However I realize that I don't like it mostly because I don't know it very well. In an effort to be more fair to MySQL, I toned down the title a bit and publicly acknowledge that I have some learning to do.

For those that don't know, I prefer PostgreSQL to MySQL. I use PostgreSQL daily and it is my database of choice on any new project. I also know the Oracle database well and have used it in various production systems. Unfortunately it is rather expensive and PostgreSQL will do 95% of the things Oracle can for a lot less money.

Today I have to administer a MySQL database because of performance issues. I have about 8,000 rows that I need to move from one table to another. This involves inserting them into the new table and then deleting them from the old. You would think that given the rantings of many MySQL followers that such a task would be simple and quick. Unfortunately the application that I am using references two other very large tables which complicates things a lot. I started this move yesterday at 10am and it still hasn't completed. There are tools that allow me to see what is happening in the database and the delete seems to be running longer than one would guess. Unfortunately there doesn't seem to be anything I can do to speed things up.

During my frustrating morning, a friend sent me a link to a very funny video where two stuffed bears are discussing MySQL vs. PostgreSQL. The language is very crude and so I won't post the link here. However it did put a smile on my face.

Wednesday, October 20, 2010

Combination Locks and Passwords

Yesterday I got to do a bit of shopping and picked up a lock for my bicycle. Now I can use my bike to go shopping and not worry about leaving my bike in the front of the store. While I was making the decision, I had a choice between a combination lock or a key lock. I decided on a combination lock so I don't have to worry about always having the key with me.

When I was about 8 years old, I discovered that padlocks came in two basic versions: keyed or combination. I told my dad that I didn't ever want a combination lock because I might forget the sequence of numbers. He informed me that it was much more likely that I would lose the key. When I finally got to Junior High, I was issued my first combination lock and quickly overcame my fear of using random numbers to open doors. I still have a padlock that I got during that era of my life and have not forgotten the combination even though it can be years between uses.

Several months ago, I was headed to the airport in Salt Lake when I realized that I left the keys for my California car at home. I had to rush home, get the keys, and return to the airport. I made my flight with only minutes to spare. Had I forgotten my keys, it would have been impossible to get my car out of long-term parking. I would have had to get my wife FedEx them to my office and paid for an extra day of parking. I would have also had to find an alternative way to get from the Oakland airport to my office in Foster City. I now have a spare car key that I keep on the boat in case something similar happens again.

Thinking about my new bike lock and why I chose the one I did, reminded me that we use combination locks all the time. Every time I use an automatic teller machine to withdraw money from the bank, I use a 4-digit combination or password. Every time I log into one of my many computers, I am forced to use a password which is a type of combination lock. That gives me an idea for a new password: thirty-0-twenty4, my old combination lock from Junior High.

Tuesday, October 19, 2010

Back From the Dead

This weekend my son and I worked on getting his computer back from the dead. He has a MacBook and so the first thing I did was try to boot the machine. That didn't work, which was expected and so I booted from a CD. On a Mac, that is done by inserting the disk that comes with the computer and holding down the "C" key while turning off and on the computer. The computer came up and looked like it wanted to install the operating system. Fortunately you don't have to proceed any further. There is a menu across the top of the screen and you can just go into Utilities and select Disk Utilities. That brings up a program that can be used to fix certain problems.

At first, the only drive that registered was the CD/DVD drive. Then I needed to move the computer for some reason and that act caused the hard drive to show up in the menu. Unfortunately, I couldn't do anything with it. My hope was that the "Repair" button would activate, but that didn't happen no matter what I clicked on or selected. My suspicions were confirmed and the drive was toast.

It was now up to my son to make a decision. He could buy a new hard drive, rent a new computer, or buy a new computer. When he calculated how much money it would cost to rent a computer, he decided that the better option was to buy one. I disagreed with his logic because a $300 laptop is not the same quality of machine that he would have been renting, but didn't say anything. I had to go down to Best Buy to replace a hub I use for the network at the house and so he came along with me to see how much a new hard drive would cost. It was only $50 to get a 250 GB drive and so he picked one up.

My son brought home a friend from school who claimed to take apart Mac computers all the time and so I let the two of them figure out how to open the machine. They removed every visible screw on the outside but still couldn't pull off the cover and asked me for some help. There were three screw inside the battery compartment that I was able to remove. Once I did that, a bar came out, revealing a pull tab for the hard disk. I simply pulled the tab and the disk drive slid out. There was no need to remove all those other screws and so I had the boys put them all back. Meanwhile I pulled the old disk off the mounting tray and put the new one on it. We slid the new drive back in place, replaced the aluminum bar, and screwed in the three screws.

Now it was time to see if our hard work had paid off. We turned on the computer, inserted the Mac OS installation CD and waited for the installation program to start. When it did, we just followed the instructions to format the hard drive and install the operating system. That took about an hour and then it was time for my son to head back to school. I sent him with the installation CD's for a number of other programs that were previously on the computer (like Microsoft Office). My son then spent the rest of the weekend finishing the task of getting his computer back in working order.

Yesterday I got a call from my son. He has his computer back but isn't happy with the version of the operating system. I installed the version that came with the original computer and it is a bit out of date. He wanted to install the version that I have on my Mac, but that would be a violation of the software license agreement. It is only $30 to get the latest version of the Mac OS and so he decided to spend the money. It is amazing how much more thought goes into spending money when it is my son's own cash instead of Dad's.

Thursday, October 14, 2010

To Bike or Not to Bike

Last weekend I drove my car back to Salt Lake from San Francisco. I only got pulled over once, when I stopped in a small Nevada town to get gas. The officer was nice enough when he realized I was just trying to get gas and use the restroom. He let me off with a warning. Otherwise the drive was mostly uneventful.

I drove my car back because it is time for the annual smog and emissions check. I could license the car in California, but I don't have a mailing address there nor do I want to pay the massively larger licensing fee. My plan was to drive the car back to California this weekend once the licensing is taken care of.

Now the question is if I want to bring the car back at all. I ride my bike to and from work so I really only need the car for two reasons: trips to the airport and trips to Scout meetings on Mondays. The airport problem can be solved with public transportation. It really cuts into my days, but it works. The only remaining issue is getting to Scouts.

In an effort to promote a "greener way of thinking", Google maps now has the additional options of getting directions using public transportation, walking, or riding your bike. I did a quick search to see how difficult it is to get from my office to the Elks Lodge in Redwood City, where we have our Scout meetings and it is only 10 miles. Amazingly, taking public transportation takes the same amount of time as riding my bike. I might as well ride my bike.

Several years ago I used to ride my bike 18 miles each way to work. That amounted to 36 miles of cycling every day. I loved it because I could eat as much food as I wanted. I never had to worry about being on a diet because I was constantly burning more calories than I could take in. The only problem was when we moved offices, I continued to eat as much as I wanted. In an effort to drop a few pounds, I'm thinking it is time to leave the car in Salt Lake and use the bike as my sole means of transportation in California. Maybe it is my starving stomach talking, but I think I could get used to eating more than I am right now.

Wednesday, October 13, 2010

Another One Bites the Dust

This morning I got a call from my son in college. I could tell by the stress in his voice that something bad had happened and I waited for him to let me know what it was. He was working on his laptop computer when it froze. This was very unusual as he uses a Mac. When he rebooted, he got the icon of a disk with a question mark on the screen and immediately knew that he had lost his hard drive. Then he called me.

My first question was what assignments he had due that were lost on the computer. Luckily there was only one and it isn't due until tomorrow. I informed him that he would probably have to redo it and he wasn't keen on the idea of taking another four hours to complete an assignment he had done before. He was also halfway done with a computer programming project that would need to be started again.

I was glad this was my son who likes to get things done early and not my daughter who waits until the last minute. Furthermore, he had gotten ten hours of sleep last night and is rested enough to pull an all-nighter this evening if it becomes necessary.

The next task was to assess the best way to get a temporary computer until we could get together on the weekend and see about fixing his current one. The university where he is attending school rents laptops for $35/month. The government just awarded my son an extra $2,000/semester scholarship because of grades and his math/science major. So $35 is not going to put too much of a strain on his finances.

Our final step was to figure out the timing of everything. While a new computer is nice to pick up, you can spend countless hours configuring it which can distract even the most disciplined student from getting more important things done. My son had an hour before his next class and so he was going to assemble his notes for the paper that disappeared. He would then go to class before heading to a computer lab where he could work on getting his assignment in. Finally, he would pick up a rental computer.

I then had my son call my wife to see if she could help out with anything. She decided to give up her computer for the rest of the week as she can use the family computer until my son can come home and we can work on fixing his. She then drove the hour down to my son's university to deliver the computer. She also took my son out to dinner. What a nice Mom.

Last weekend I got to relax and go sailing. It looks like this weekend I get to fix my son's computer. That's OK, I get plenty of time to relax during the week when I am out in California.

Monday, October 11, 2010

Help or Hurdle

Last week I attended a district roundtable in the Pacific Skyline Council for the Boy Scouts of America. Roundtables are monthly meetings were adult leaders are given instruction and help on how to run the various scouting activities. It was my second Roundtable in this council and was very different from the ones I am used to attending in the Great Salt Lake Council. Thursday night I came away feeling like the adult leaders here in California create hurdles for the boys while in Utah they try to help them.

Baden Powell, the founder of the worldwide scouting organization believed that the Scouts should be run by the boys and not the adults. Thursday's meeting underscored why: because adults will only screw it up.

The topic of this month's roundtable meeting was on the Eagle Scout project. Eagle is the most difficult rank advancement in the Boy Scouts of America and is made so by a leadership service project where the scout is required to propose, plan, and carryout a significant project to benefit the community. The reason behind the project is for the scout to demonstrate leadership. It is a big deal and should not be taken lightly.

There were two people at the meeting that are responsible for approving projects and helping the boys attain the rank of Eagle. One of them posed the question about where to go for project ideas. A few ideas got tossed out with some being shot down for various reasons. I suggested they take a page from the Great Salt Lake Council's playbook and set up a website where scouts could go for ideas. My idea was shot down because it made selection of a project too easy for the scout. I bit my tongue as the discussion continued. It was only my second meeting and I didn't want to be known as the troublemaker. In the end, they decided that it would be a good idea to have a list of previous Eagle Scout Projects.

I suppose I should be glad that the group saw some merit in my idea, however I think they missed the point. The adults in the Boy Scouts of America should be constantly asking themselves how they can help the boys succeed as well as the scouting program. While the proposed solution does make one step in that direction it misses on one very important aspect: attracting new members. The beauty of my proposed solution is that it provides an outlet for schools, cities, and other community organizations to list projects where they could use the help of a service oriented group. Imagine the difference it would make if everyone saw the Boy Scouts of America as an organization that made a difference in the local community as well as created leadership and strong ethical values in today's youth.

Tuesday, October 5, 2010

Using The Tools You Have

Last week I started a new diet. Recently I stood on the scale and it gave me a really big number. I had slowly been watching the number rise and knew my current diet and exercise plan wasn't working. It was time to do something else. About a year ago, I wrote about an application for my iPhone called Lose It. I still think it is a great tool, I just happened to get lazy and stop using it. Unfortunately, it shows.

I would not recommend my diet for anyone. It is awful and I hate it. Fortunately it is working or I would stop it right now. The diet is one of those cleansing diets where you drink two shakes a day and then enjoy a sensible 400 to 600 calorie meal. Then one day a week, I go without food and drink this nasty concoction that tastes like a cross between apple cider and the dead skin between your toes (or at least how I imagine that would taste). Yesterday was my first cleansing day and my only salvation was that raspberries went on sale at the supermarket next to my office. I know I cheated on the diet, but I figure if you are going to eat something, raspberries aren't going to hurt. It is the only thing that got me through the day.

So far I am down 5 pounds after the first week and I should be able to continue that rate. The only reason I can continue with the diet is because I know there is an end in sight. Three weeks from today I will be done and can go back to eating real food.

The reason I gained weight is because of my ugly travel schedule. I spend 5 days a week in San Francisco and then 2 back home in Salt Lake. I am good about watching my weight in San Francisco but then binge eat when I am home. Being on this diet showed me where I have eating problems and now I know how to fix them. In 3 weeks, I will start using "Lose It" again, which will help with my portion control and regular exercise. Until then I am counting down the days.

Thursday, September 30, 2010

Scavenger Hunt

Yesterday I got to spend my day with other members of my department at work in downtown San Francisco participating in a scavenger hunt. They let us know about the event a month ago and when I told my kids, they decided I work for the coolest company ever. I have to admit it was a lot of fun and the organizers should be commended for creating a fun activity that helped to foster teamwork.

We all arrived at the office before 10am and then boarded buses to head to downtown San Francisco. Some of my coworkers were less enthusiastic about the event and planned on finding a bar where they could wait out the activity in relative comfort. However once we arrived at the starting point, everyone seemed to get into the event. We were given a list of about 50 clues and set loose on San Francisco. There was no way that we would be able to get everything in the 90 minutes and so some organization was required. To further complicate things, not all clues had equivalent point values.

My group ran to a hotel and got a map where we could locate where we believed all the clues to be. Those of us with smart phones used them to look up clues we weren't too sure about and put everything on the map. Then we started running around the city in a somewhat optimized manner taking pictures of the clues and e-mailing them into the referees for the event.

At first we stayed together because certain members of the group had to be in specific pictures. With only a half hour to go, we broke up into two groups and went after the high-point clues. Then we all congregated back at a restaurant for lunch. It was a lot of fun and I think I got my workout for the day.

This morning the referees are still tabulating the results. I think my team did pretty good but in the end it doesn't really matter. I got to spend a day running around San Francisco like a tourist. Furthermore I was paid to do it. I guess my kids are correct, I do work for a pretty cool company.

Tuesday, September 14, 2010

The High Price of College Text Books

My oldest son just left for college and it has been interesting to hear about his adventures. While he is only eighteen, he finished his Associates degree this summer and entered college as a Junior. That means he has completed all of his general requirements and can focus on the fun classes. He is in the Computer Engineering program and has a few programming classes that he really enjoys.

One of his classes is an introductory programming class where he is learning Java. For the record, I think Java is a horrible language, but that is a topic for another day. However I am interested in what my son thinks of Java and so I was asking him about it. He was able to complete his first programming assignment even though his text book had not arrived. I was surprised that he didn't have his text book until he told me how much it cost: $110.

My first question was, "How could a book to teach someone Java cost $110?" There are hundreds of books on the market and most of the good ones are less than $50. Furthermore, the best references for Java are online and only a troglodyte would require a textbook. I mentioned the cost of the Java textbook at lunch last week with some of my work associates and they all agreed with my assessment. To say we were outraged would be an understatement. Considering we all work with computers on a daily basis and most of the group were programmers, it should say something about the disconnect between our University system and real-world programming.

My son had purchased his textbook from Amazon.com in the hopes of saving some money. Instead of $110, it was only $50. The only problem was that it took 10 days for him to get the book (the book arrived yesterday). Having written and published a computer-related book in the past, I started doing a little research to discover why it cost so much. It turns out that the book uses 4-color printing on every page. At 500 pages, that makes it an expensive book. While color is nice, if you need pretty pictures to understand a concept, you are an idiot. If you are an author and can't convey your message without 4-color pictures, you are a super-idiot. Finally, if you are computer science professor at a major university and require your students to purchase a $110 text book that uses 4-color printing, then it is obvious that you are too stupid to make it in the real world and had to resort to being a professor. I guess there is a lot of truth to the old cliche that, "Those that can't do, teach."

Tuesday, August 24, 2010

It's About Time

Last night I was watching the news and saw a story about how Google is making it possible to retract e-mails sent erroneously. I was amazed that such a feature was worthy of a prime-time television news coverage. I know a lot of people use Google for e-mail but the ability to retract sent messages has been available in other mail systems for over a decade. All I could think of was how it was about time that Google finally stepped up and added a feature that other programs thought was important enough to add a long time ago.

The story highlighted the infatuation the media has with certain companies. In the 80's, it was Microsoft. Then it was Netscape followed closely by all of the Dot-Coms. There are other companies out there that are truly innovating but can't get the media's attention. That is too bad because it allows companies like Google to get free publicity for substandard products while really cool stuff has to fight for the slightest hint of recognition.

Don't get me wrong. I think Google has done some great things and there is a reason that their search engine is used as much as it is. However now is the time to expect more. Otherwise it won't be long before Google gives us another fiasco like Windows Vista.

Monday, August 16, 2010

The Sprinkler Paradox

This morning before I got on the plane, I noticed that my sprinklers were not working. I quickly discovered the cause and started them on a cycle to help ensure my lawn stays somewhat green. This got me thinking about "The Sprinkler Paradox."

When I was studying Electrical Engineering in college, I had to take a microprocessor design class. One of the major areas of study was on performance. We looked at how long it took to execute all of the basic steps in any computer or microprocessor. Then we would look at how to speed them up. The first step was to identify the single process that took the longest and optimize it. While it may be obvious how to take a few milliseconds off execution time in a short section, if there are significantly slower ones, it won't make much of a difference. I had a hard time grasping that concept because I thought any speed-up was good. Then I did the math for the performance equations and realized how futile it was to concentrate on short execution steps and how important it was to concentrate on the longer ones.

This brings me to the Sprinkler Paradox. It seems that everyone is concerned about water conservation and so it is common practice of not letting the water run while brushing teeth. Instead you should only turn on the water to rinse your toothbrush or mouth. However, the water used while brushing your teeth pales in comparison to the amount of water used to water your lawn. Thus if you really want to make an environmental impact, you should be less concerned with the water you use brushing your teeth, rip out your lawn, and put cacti in your front yard. Oh and while you are at it, don't let the water run when you brush your teeth. That is the "Sprinkler Paradox."

Another example of the Sprinkler Paradox has to do with cell phone chargers. Recently energy companies have asked everyone to unplug their cell phone chargers when not in use. The idea is that there will be huge energy savings throughout the country. Never mind that some electrical meters spin faster than a buzz saw when an air conditioner is running and more energy can be saved simply by turning up the thermostat a degree or two.

While we all have good intentions to be green and conserve water or energy, let's do all we can and not just make token efforts. Not letting the water run while you brush your teeth is a good start, but it doesn't mean a thing if you're over watering your lawn.

Thursday, July 15, 2010

Where are all the Hobbyists?

There is not much to do in the evenings on a sailboat once the sun goes down. I really only have 3 choices: go out, watch TV, or read. Lately I have been studying electrical engineering. While I was in school getting my degree, I took a lot of different courses and was presented with a lot of information without any context. I remember having one class on feedback systems and kept trying to get the instructor to explain a real-world application for this information. It is only since I have gotten my amateur radio (ham) license that I have seen useful applications for all the stuff I learned in school. Why couldn't one of my professors just drawn a block diagram of a radio receiver and showed us a practical application for what we were learning? My gut tells me that they didn't have a clue either.

While I was going to school, I had a good friend that had gotten his ham radio license while in the Boy Scouts. He seemed to understand all of the principles being taught every day and had the best grades in all of his classes. Now it makes sense, he had a practical application for everything he was learning. While the rest of us were just trying to get the math right, he knew where the circuit would be useful and why we were designing it that way. Getting my ham radio license when I was in the Boy Scouts really would have helped my college career.

All of this studying combined with Lance Armstrong's bad luck in the Tour de France this year has gotten me thinking about the old Radio Shack store. If you don't know, Lance rides for team Radio Shack, which is trying to shake off 20 years of declining popularity. When I was a boy, I used to go to Radio Shack and look at all of their neat electronics kits. You could buy things like resistors, diodes, and capacitors. Even though I had no clue what they did, I wanted some. I had visions of creating wonderful electronic devices in my garage, as did many other visitors to the store at that time.

Now when you walk into a Radio Shack, it is like a ghost town. I don't know how they stay in business because nobody is ever there. Sure they sell things like mobile phones, but so does every other store. I'm just waiting for Starbucks to add them to their list of goods. If you go to the back of your nearest Radio Shack, they still have individual electronic components but I never see anyone back there.

This has me asking the question: Where are all of the hobbyists? Have they disappeared or are they still out there?

Tuesday, July 13, 2010

Low Tide

This morning I was riding my bike to work on the path shown in the picture above and it was very low tide (unlike in the picture). Along the bike path are several piers that go out into the water. They are not much more than a couple of planks of wood and are used mainly by kids doing a bit of fishing. I have often thought about stopping on the way home and taking a walk out on one of the piers. After my ride today, I don't think that is a good idea.

At low tide, it is about a quarter of a mile walk from the bike path to the water. This leaves the piers totally exposed and you can see their supports. Salt water is a very corrosive environment and some of the supports have been eaten away to the point that they are little more than toothpicks. One or two are completely gone. At high-tide it is impossible to see the decay that has taken place and it is easy to assume the pier is safe.

Computers can sometimes be like those piers at high tide: it is tough to see what is going on underneath. Most of the time, that is fine because computers are fairly reliable. However sometimes things go wrong. Computers can easily pick up a virus and so a scan should be done on a regular basis. Hardware can also fail and so it is important to pay attention to errors you get. Hard disks are the most common component to fail and should be replaced at the slightest hint of a problem. Cooling fans and power supplies are also components that can fail. While it is rare to have memory go bad, it can happen.

Unless some maintenance is done, someday soon, one of the piers I ride by on my way to and from work is going to fail. If someone is on it when it does, then he or she is going to get wet and/or muddy. Don't neglect your computer and let the same thing happen to you. While you may not get wet, you may lose some cherished pictures from your digital camera or important documents. If your computer is getting old, be sure to make a backup of your irreplaceable files. Most importantly, pay attention to any error messages you get. It could save you some grief in the future.

Thursday, July 8, 2010

Patience

Every morning I ride my bike into the office. When I get there, I am a little hungry as I wait to have breakfast until after my ride. The office has an instant-hot-water tap from the coffee machine and so I use it on a couple packages of instant oatmeal. That makes for a great way to start my day.

When I first started eating oatmeal in the office, I would mix the water with the oatmeal and then immediately start eating. After all, I was hungry and didn't want to wait any longer than reasonable. Then I discovered a trick: wait a minute or two. I was amazed at how much better my breakfast tastes after letting the oatmeal absorb some of the water. I don't get that gritty texture as everything is soft like oatmeal is supposed to be. My breakfast experience has risen above sustenance and is now tasty as well.

The Internet is similar to my breakfast in that sometimes you have to be a bit patient. It is not uncommon for my kids to complain about how something on the computer isn't working. The problem is simply a matter of patience. Rather clicking around and hoping something will happen, the offending child just needs to wait a moment or two for the website to catch up. There are a number of areas where a slowdown can occur (i.e. automatic system updates on the local computer, lots of internet traffic, lots of people accessing the website, etc.) and so while it may have been fast yesterday, today it is slow.

If waiting a couple of seconds doesn't resolve your Internet problems, then you might want to go get a drink of water or make a sandwich. If you come back and the computer still seems stuck, then there really might be a problem. Until then, just give it some time.

Monday, June 21, 2010

Lines at the Airport

Every Monday I get the joy of standing in the same security line at the airport. If you didn't catch it, the word "joy" was soaked in sarcasm. I hate that line. The funny thing is, if I just wait 20 minutes to get to the airport, there is no line. I can sail through security with nobody in front of me. Instead, I try to give myself plenty of time in case there is a flat tire or some other emergency.

The airport has two lines: one for vacationers and the other for seasoned travelers. One would think that the expert line would move faster because everyone knows the fastest way to get through the x-ray machines and metal detectors. Unfortunately that is not the case because of one moronic TSA employee. There are 4 agents checking tickets and identification. Rather than split the agents between the two lines, he allocates three agents for the vacation line and one agent for the experts. Naturally the line with more agents goes much quicker. Since I travel every Monday, I know this and generally get in the faster line. It is interesting to watch the reaction of the business travelers once they realize their mistake. Unfortunately they are powerless to voice their dissatisfaction. The moment you mention the unfair policy to Mr. Moron, you get volunteered for that all-encompassing-body-cavity search.

Computers have lines or queues for dealing with tasks. That is what allows them to multi-task. Sometimes they use LIFO's (last in, first out) and sometimes they use FIFO's (first in, first out). There are all sorts of algorithms to ensure that important processes are dealt with first and less important ones wait patiently. I only wish the airport operated with such consistency.

Today a couple came through the airport and they were late for their flight. At the time they were sitting in the security line, their flight was boarding. I told them they should go through the empty handicap line and the TSA agents would help them quickly get through security. The couple took my advice and were immediately met by my least favorite TSA agent. He informed them they would have to go to the end of the line and wait like everyone else. Afraid of making a scene, the couple came back to their previous place in line. All of us in line were in a collective charitable mood and allowed them immediate access to the front of the line. The couple was able to make their flight, as I didn't see them hanging around as I passed the gate their gate on the way to mine.

This whole experience left me wondering about the security system at our airports. How do they pick TSA agents? Is it the best and the brightest, or individuals willing to work with grumpy travelers for $13/hour? Don't you think they could find people that at least know how FIFO's (first in, first out) work, so it isn't a guessing game as to when you will get through security.

Naturally I didn't say a word while I was at the airport this morning. My silence enabled me to pass through security without being flagged as a "random" traveler required to go through extra screening. Now that I have safely arrived at my destination, I can post my displeasure of the less-than-intelligent TSA officer. While it is probably safe to assume the guy can't read or even work a computer, it is probably the relative limited readership of this posting that will allow me to pass through the airport unscathed next week.

Friday, June 18, 2010

Bad Spelling

Mark Twain once said, "I don't give a damn for a man that can only spell a word one way." Those of us that wouldn't make the final round of a third-grade spelling bee have to agree with the famed author. Luckily computers help make spelling mistakes a thing of the past. As I write these words on the computer, it automatically highlights any misspelled word with a red-squiggly underline. I then have the option of fixing it. Most of the time I can figure it out and get the word right. If I try a couple of times and still can't figure out the spelling, I have two courses of action: use a different word, or open a word processor and look at its helpful suggestions.

Recently a coworker asked how to spell ambivalent. Actually he first threw out a phrase that he wanted condensed into a single word and ambivalent is the word he decided to use. His next question was how to spell it. I opened my word processor and gave it my best shot. In my opinion, I wasn't even close. However I was close enough for the program to figure out what I was trying to write and it gave me the correct spelling.

I gave the spelling to my coworker, who crafted it into an elegantly worded sentence for an e-mail that even Mark Twain would be proud to claim. This reminds me of a cartoon I once saw with the punch-line, "On the Internet, nobody knows your a dog." I'd like to add a phrase to the end that says, "or spell like one."

Thursday, June 17, 2010

Obscure Configuration Files

A coworker and I have spent the last three days trying to get some open source software to work. We had it working enough so that it was usable for most situations. Yesterday we found the magic key that suddenly fixed everything. I have to say that I am glad to have figured out the problem, but somewhat frustrated it took so long. In the end, it turned out to be a problem with a configuration file buried deep in the software. This leads me to the question: why wasn't the configuration file located in the configuration directory with all of the others?

The product we are using is open source, which means there is no cost to use the software unless you count our time trying to configure it. It also means that the software was put together by any number of people working in their spare time. The product is rather large and complex, requiring a bigger development team. Unfortunately the guy responsible for the part we needed, never got full credit on any of his homework assignments in college.

The solution to our problem was found through a number of Internet searches. Another group was having a similar problem and was kind enough to post their solution on a software-help forum. Unfortunately they had an error in their solution, but we were able to figure it out without too much difficulty. Knowing which file to edit was the difficult task in our exercise.

Once everything was working correctly, I pulled out my engineering notebook and recorded what we did to fix the problem. Should a similar problem happen in the future, I have the solution written down.

Wednesday, June 16, 2010

Three Browsers

Yesterday I was trying to hunt down a very annoying problem with database reporting. In the course of troubleshooting I ended up installing yet another browser on my Windows laptop at work. So now I have Internet Explorer, Chrome, and Firefox all on the same machine. They all have their strengths and weaknesses.

My preference is Firefox. It runs on Windows, Mac, and Linux machines. Internet Explorer only runs on Windows. Chrome is something new and so I have tried to avoid it until recently. The one advantage Chrome has over the other two browsers is security. If you need to visit a website where there is a chance it will try to install a virus or malware on your PC, Chrome is the browser to use as it does the best job of keeping that from happening.

The only problem with Chrome is its user interface. Google (the developer of Chrome) does a great job of adhering to the KISS principle. KISS is an acronym that stands for Keep It Simple Stupid. While that generally works to its advantage for its search engine website, it becomes a negative for its browser.

The sad thing is that I use all three browsers. If I am reading some of my old e-mail that uses Microsoft Exchange Server, I use Internet Explorer because the interface is so much better. If I am using my work computer back on the boat and surfing the net, I use Chrome just in case I unintentionally visit a site that may try to zap my computer. Then I use Firefox for everything else. Wouldn't life be simpler if the best features of all three products could be found in one?

Tuesday, June 15, 2010

A Good Desk

I have been fighting a cold since last Thursday and so when I went home over the weekend, I didn't do much but rest. Snowbird was still open and so I could have gone skiing, but didn't. I had some friends that wanted to go sailing, but I didn't. About the only useful thing I did do was clean off my desk in my office.

Yesterday I flew back out to the Bay Area feeling slightly better but still under the weather. When I got back to my boat last night, I made dinner and then sat down on the couch in front of the TV. I thought about doing some work on a project my son and I are collaborating on, but decided against it. My boat normally has a great desk to work at. When my family came out to visit San Francisco a couple of weeks ago, we turned the desk into a bed. This involved partially dismantling the boat. Normally the desk should turn into a bed with a minimal amount of work. However, due to a busted screw, the process turned into an hour long process. I have yet to repeat the equally lengthy reverse process. First I would like to fix the broken screw.

Thinking back to my clean desk at home versus the non-desk on the boat, it made me realize how important a good work environment is. If you don't have a clean desk or a proper area to work, it may be hurting your performance. So if you find yourself putting off working on the computer, take a look at your work environment. Perhaps you might want to clean up the area and then it will be easier to do your work.

There is a Home Depot near my office and so I stopped in on the way to to work. Now I have the tools to fix the desk on my boat. Afterwards maybe I can work on my son's project. All that is on TV are reruns anyways.

Friday, June 11, 2010

The Bookstore

Last night I spent some time at the local bookstore. There is something nice about being able to leaf through a number of books trying to decide what you are interested in reading. It would be a shame if electronic books completely displaced all bookstores. Don't get me wrong though, I am a huge fan of electronic books.

When I was in college, I used to carry around an overloaded backpack filled with my engineering textbooks. We had the technology back then to reduce all of those books to their electronic equivalent and I would have paid extra money to do so. Electronic books should cost a fraction of their printed equivalents. There is no need to cut down a tree for the paper. There is no need to do elaborate four-color printings. There is no need to ship the heavy product to warehouses and then onto stores.

Lately I have found myself doing a lot more electronic reading and less magazine and book reading. I'm not sure what is causing the shift in my reading habits. However last night it was comforting to go back to the bookstore and read the old fashion way.

Thursday, June 10, 2010

Wife Reading E-mail

Today I caught my wife reading my e-mail. This is not a bad thing as I don't have any secrets that would get me in trouble with her. I believe that every spouse has a right to know what the other is receiving as electronic correspondence. It has a tendency to cut down on secret liaisons and infidelity. Furthermore my wife had a legitimate reason to check my e-mail this morning. My youngest son is leaving on a summer trip and I had some information that my wife needed to get with regards to paying for the trip.

The only problem with my wife reading my e-mail is due to the convoluted way I have my e-mail configured. When I am on the road, I use a webmail client. I can delete unwanted messages directly on the server and read the important stuff. When I get home, I download all the e-mail from the web and store it locally on my desktop machine. This keeps my e-mail server from having to store more than a couple dozen messages.

I arrived at the office this morning and had the usual nightly messages. Then I noticed that my messages suddenly disappeared. For a moment I thought my server had a bug. Then I realized that my wife must be going through my e-mail and so I gave her a call. My suspicions were confirmed and we had a good laugh. She didn't understand the whole delete-from-server process and felt bad when I explained it to her. Luckily I had finished reading all my new e-mail and so there was no harm done. I was just glad there weren't any messages from BIG-WANDA@your-love-connection.com.

Wednesday, June 9, 2010

Computer Monitoring

I was at a family party this weekend and was talking with my brother-in-law. He was asking about one of my job functions which amounts to watching a number of computer servers to make sure they are running smoothly. This is one of those paradoxes that can be found throughout the working world. If I am doing my job correctly, I should be sitting around with nothing to do. If I do it wrong, then I am always busy and look productive.

To help illustrate the point, I used a boat analogy. Something going wrong is like getting a hole in the boat. If I do a good job with the repair, then I shouldn't have to constantly check for leaks. If I do a poor job, then I have to spend my time watching the patch and pumping out water.

This makes it very difficult for management to reward good behavior. Management doesn't like to pay for an employee to sit around all day playing video games. However it is much worse for that employee to constantly be working on trouble issues that never really get resolved. Good management understands that stable computer systems are the desired goal and rewards this behavior accordingly. That must explain why the number of things on my plate continues to grow. Now how am I ever going to finish my video game?

Tuesday, June 8, 2010

5-0 Radio for the iPhone

This past weekend I got the chance to help my nephew with his Eagle Scout service project. He is part of an Explorer Post that specializes in HAM radio. So for his project, he helped out with radio support for the Squaw Peak 50 Mile Trail Run. People actually start running at 5:00 am and run all day long until about 11:30 at night. There are 10 aid stations along the way. My job was to help staff one of the stations and record when the runners came in and when they left. I would then relay this information back to the start/finish so they could post the times online.

It was a lot of fun and I was glad to be able to use a skill for something other than just playing around. When the last racer left my station, I jumped in a 4x4 and headed back to the start/finish. I was having so much fun, I decided to help there and stuck around for another couple of hours.

On Sunday evening I was able to participate in a HAM radio emergency practice drill that takes place every week. It only took 10 minutes of my time and was something I could do while packing to leave town.

Yesterday I must have been going through HAM withdrawals because I did an Internet search for the Amateur Radio Disaster Services (ARES) group that is responsible for the area where I keep my boat. I discovered that they do their weekly drill on Monday evenings. Unfortunately I don't have my HAM radio with me and so I couldn't participate. Then I remembered that I have an application on my iPhone called "5-0 Radio." It allows me to listen in on a large number of HAM radio conversations. I did a quick lookup and the Monday evening drill was available to listen to. So I sat down on the couch in my boat, put my earphones on, and listened to the drill. I couldn't talk as the application only allows users to listen. However, I probably wouldn't have talked anyways. I just wanted to get a feel for how the drill was conducted and to make sure my own radio etiquette is as it should be.

When you see the Apple iPhone commercial and listen to them list a bunch of different applications, they aren't lying. If you have a need for any type of information, there probably is an app for that. Now if I can just get my iPhone to do my laundry . . .

Monday, June 7, 2010

Be Careful What You Write

A few weeks ago, I attended a presentation on Internet Security. The purpose of the talk was to expose the dangers of putting too much personal information on the Internet. With the advent of Twitter, MySpace, and Facebook, there are a lot of ways to keep all of your friends up-to-date with your latest activities. However this can be a bad thing. Perhaps you mention that you have just acquired that rare item on e-bay that represents the bulk of your net worth. Then a few weeks later, you mention that you are on vacation. Any thief with Internet access and a willingness to do a bit of research can figure out how to unburden you from your prized possession.

For some in the audience, it was difficult to see how one could make the jump from reading a blog (like this one) to knowing the exact location of a person. The speaker then gave an illustration of how a teenager was befriended by an online predator. The teenager was smart enough to know better than to give out personal information but that didn't stop the predator. He was able to discover her e-mail and did an Internet search. He was able to find a post on a collectibles website where she gave her mother's phone number. The predator was able to do a reverse telephone lookup and get her address. It was only a matter of luck that the authorities were able to apprehend the predator before any damage was done. When they caught him, he had a map with driving instructions to the teenager's house.

At the end of the presentation it became very apparent that the speaker was against any type of online presence. While that may be a bit drastic, he did have some good points. First, make sure you have a valid reason for posting information. Second, be careful what you post as it may become a lure for tragedy. Finally, be aware of what your children are posting. While I may be upset if someone were to steal my favorite pair of skis, I wouldn't cry too long. If someone were to harm one of my children, it would be a much different story.

Friday, May 28, 2010

Multitasking

Lately I have taken a look at how I try to do too much at the same time and how that can get me into trouble. The reason I started looking at this is because of a boat casualty this week. When I get done with my morning shower, I like to hang my towel out in the cockpit of the boat so it will dry. Before I head into the office, I bring the towel inside. This is because San Francisco has gotten a lot of rain lately and I don't want to come back to the boat and have a completely soaked towel. This can happen even though the day may start out sunny. Lately I have felt that I live in Seattle and not San Francisco.

Friday I must have had too much on my mind because I left the towel outside and forgot about it. I then headed to the airport after work and didn't get back to the boat until Monday evening. Naturally my towel was nowhere to be found. I assume that the wind blew it away. I did a look around the marina, but never found it.

How many other times have I left the lights on or forgotten something important because I was distracted? This week, I decided that it all boils down to multitasking. I start working on something, get interrupted and have to do something else. If I am lucky, I might actually get back to my original task, but more often than not, I am drawn to other tasks. Pretty soon, I am working on three or four tasks at the same time.

When computers multitask, they are about as inefficient as us humans. They work on a problem for a bit, save off all the information to someplace safe, then work on the next problem. When it comes time to work on the original problem, they copy all the saved information back to the working area and continue. The only advantage that computers have is that they are really good about remember what they are working on. In the case of the forgotten towel, I was packing up my dirty clothes, cleaning the boat, and brushing my teeth. When it came time to lock up the boat, I completely forgot about the towel.

In thinking about how I lost my towel, I have tried to come up with a way to keep that from happening again. One option is to just hang the towel inside the boat and forget about letting it dry outside. Unfortunately there is not enough air circulation in a boat and so nothing ever really dries. Mildew is a huge problem on boats. Borrowing a trick from my computer, I think I have devised a solution. My boat has a stainless-steel cable that runs around the outside called a lifeline. It is meant to keep all sailors in the boat when out on the water. It also works great as a drying line. Rather than hang my towel someplace out of the way on the lifeline, I now hang it right in my way so that I trip over it when I try to leave the boat. That way, I will never forget it again. In a way, that is what computers do. When they finish one task, they know what to work on next because it is right in front of them. So if you ever come to my house or boat and see things scattered on the ground, it is just my way of keeping track of what I am doing.