Wednesday, September 30, 2009

Geometry Homework

Last night my youngest son came and asked me to help him with his geometry homework. As part of the coursework required for my degree in electrical engineering I managed to pick up a minor in mathematics. I also have a minor in physics but that really wasn't important for last night's assignment.

Geometry is one of those topics that you really only experience at one time during your path to greater mathematical understanding. While you may continue to use one or two geometric formulas, the bulk of geometry is so different from all other topics that I was concerned I wouldn't be able to help my son.

He brought down his homework and we looked at it together. There were three proofs. His whole assignment was three problems that took up a single piece of paper. The first two problems had the hard part done. It was left to my son to label each of the steps required to go from "given" to "proof." He had done a fairly good job at guessing the labels. However the third and final problem required him to develop the steps on his own and that really had him confused.

I pulled out a scratch piece of paper and started working out the proof myself. Half a sheet of paper later, I had gone in a circle and was no closer to a solution than a monkey with a dart. So I put down my pencil and thought about the problem. Geometry proofs are like driving a car. You have a starting point and know your ending point. It is then up to you to use a series of theorems and postulates like roads to reach your destination. While it is possible to get in your car and drive around until you find your destination, a lot of gas can be wasted. It is much more efficient to map out a direct path.

I picked up my pencil and noted a couple of things that would take me from the start to the end as quickly as possible. The whole problem took about three steps and I was done. Then I could explain the problem to my son and help him get the answer on his own.

Even though it has been almost 30 years since I had geometry, I was still able to help my son with his homework. It isn't because I have a great memory and can still remember back that far. It is because geometric proofs teach you how to use simple steps to solve larger problems. That is all computer programming is. Since I have been programming for over 20 years, the skills I learned back in high-school have constantly been used and I was able to help my son. I guess I'd better apologize to my old math teacher from when I said, "I'll never use this."

Tuesday, September 29, 2009

High-tech Software Demos

This morning I participated in a demo of some software I have written over the last year. The demo was to a very large company based on the East coast. The meeting went extremely well and I was glad the software worked as designed. There are one or two flaws that I recognized but I doubt anyone else would see them.

The demo was really kind of amazing. Nobody had to get on a plane to fly to the demo location. Furthermore nobody had to even get in a car to be a part of the demo. Instead we used a product called "GoToMeeting" which is very similar to WebEx. Both products allow you to share the information on your computer screen with those whom you invite to your meeting. Your invitees can then log onto the party from their computers in their offices or homes.

This morning one of my partners on the project brought his Mac computer to my house. We plugged it into the wall, turned it on, and connected it to my wireless network. A couple minutes later we started the meeting and waited for the participants to join. There was no need to use a phone to dial into a conference call because we could use the computer's built-in microphone and speakers. If your computer didn't have a microphone and speakers, you could revert to using your phone. I had a phone ready just-in-case but was glad I didn't need it.

There were a total of six participants in the meeting. A third partner made the drive to my house while another decided to join from the comfort of his home office. Then there were two participants joining us from the East coast in two different locations. If necessary, we could have added many more participants.

The meeting lasted a total of 90 minutes and was a huge success. If we had tried to do the demo in person, it would have required two days of travel, an overnight hotel stay, a rental car, several expensive meals, and a huge amount of worrying. Things went well enough that we will be having another meeting in a couple of weeks. However that one will have to be in person. It's a good thing I have a lot of frequent flyer miles I can use.

Monday, September 28, 2009

What is Cloud Computing?

Friday I got an e-mail from the Oracle Alumni list of which I am a subscriber. The message had a link to a YouTube video where Larry Ellison and Ed Zander talk about cloud computing as well as a few other topics. The video was interesting to me because I know both gentlemen who are big names in the computer industry. However I think it would be boring for most everyone else and so I won't bother to provide the link.

For those that don't know, Larry Ellison is the CEO of Oracle Corporation. When I first started at Oracle back in January of 1986, it was not uncommon to see Larry walking down the hall dribbling a basketball just after a quick game across the street. He is now one of the richest men in the world and understandable a lot less approachable.

Ed Zander and my Dad used to work together back at Data General in the 80's. I remember going to company softball games and meeting Ed. Every couple of years or so, he goes skiing with my Dad at Deer Valley and I manage to invite myself along for the trip. Ed left Data General and evenutally found himself as President of Sun Microsystems (just purchased by Oracle). Most recently he was CEO of Motorola.

The video was fun to watch as Larry got very animated when the topic of cloud computing was mentioned. Larry pointed out that cloud computing is really the computer industry going in circles. He is right. Twenty or thirty years ago we just called it timesharing, which is different than buying a piece of a condo or luxury apartment.

Five or six years ago there was a big emphasis on how McDonalds was not in the business of selling fast food. Instead they were in the business of real estate. Companies like Google, Salesforce.com, and Amazon have taken a page from the McDonalds playbook and realize that one of their core competencies is in creating bullet-proof data centers. They then provide access to these data centers through the Internet. This is cloud computing. You tell the provider what type of environment you want (i.e., RAM, Operating System, Services like e-mail, database, or web server, etc.) and they set it up for you.

Cloud computing makes it much easier to do things like set up websites. It is also a great way to borrow a computer for testing without having to buy one. So cloud computing makes it easier to create your own BLOG (this one is hosted by Google) but it probably won't directly effect your own home computing environment.

Now if all the cloud computing companies can figure out that McDonalds started loosing marketshare when they forgot they were in the food business, we won't have to watch the decline of our favorite online bookstore.

Friday, September 25, 2009

Air Hockey Again


Several years ago I purchased a regulation-size air hockey table for my birthday. The thing is as large as a pool table and is really a lot of fun. I got the table after spending a week at a friend's vacation home in Florida. In addition to a large pool, hot tub, elevator, gourmet kitchen, movie theater, and ten guest bedrooms, the house came with a massive arcade. Of course the arcade had a full-sized air hockey table. My boys spent so much time playing air hockey that I figured if I got one, it would get used a lot.

I was right. Well at least for the first couple of months. Now it seems that the only time the air hockey table is used is when we have guests. That is OK, it still gets played quite a bit.

A couple of months ago, I was walking by the air hockey table and tripped on the power cord. While I didn't do any damage to myself, the table ceased to work. Since then the table has served as a drying rack for sleeping bags after camping trips.

This weekend is homecoming for my kids' high school. My oldest son has a group of friends coming over to make pizza before the dance. They need an activity or two while they wait for the pizza to cook, so I decided to finally fix the air-hockey table.

Yesterday I crawled under the table with my trusty Phillips-head screwdriver. As soon as I was on the ground, the dog rushed over and started licking my face like it was time to play. Once the first layer of skin was completely gone, she decided to circle a few times and lie down with her butt right next to my head. I was free to continue my task.

I located where the power cord enters the table and took off the small plastic cover. This involved removing four small screws. Once the cover was gone, I could see the problem. A single connector had come unplugged and fixing the table was simply a matter of reconnecting it. It took less than a second to fix and I plugged in the table to make sure everything worked. It did and so I unplugged the power while I reattached the plastic cover.

It is amazing at how easy those screws came out. Putting them back in was a bit more difficult. You would think that once I had two screws holding the cover in place, the other two screws would automatically line up. They didn't and so I had to go get a flashlight to see what the problem might be. Then I couldn't get the screws to stay on the end of the screwdriver so I could put them back in the hole. Needless to say, this simple job was getting way too complicated way too quickly.

I have a little computer repair kit that I use around the house with all of my electronics. The screwdriver is not magnetic because magnets have a tendency to wreak havoc on hard drives and other parts of a computer. Had it been magnetic, the screw would have attached itself to the screwdriver and it would have been much simpler to put everything back together. So how do you accomplish the same thing without a magnet? The answer was "gum." I was chewing a piece at the time and so I pulled off an extremely small piece and placed it in the head of the screw. I then mashed the screwdriver into the head and watched the neon green gum ooze out. I gave the solution a quick jiggle and the screwdriver held the screw quite nicely. Ten seconds later, my air hockey table was all back together and working perfectly.

I was amazed at something as simple as a small piece of gum being so incredibly useful for fixing my air hockey table. That definitely is one trick to keep in mind the next time I have a pesky little screw that is seemingly impossible to grasp. Now I just need to use the table to help me fix a leaky air mattress before I turn it over to my son and his friends.

Thursday, September 24, 2009

Linux Fixes Another Computer

One of my friends has been having computer problems and was about to go out and buy another computer. Rather than spending a lot of money, I had him bring the computer over so I could see if I couldn't fix the problem. Yesterday he dropped it off on the way to baseball practice when he briefly explained the issues he was having.

Windows XP wasn't recognizing the network card that was built into the computer. He went down to Best Buy where he talked with one of their "Geeks." He didn't have the computer with him and so the Geek asked several diagnostic questions. The conclusion was that the computer needed a new network card and so the Geek quickly found one for a really great price.

My friend brought the card home and installed it. He turned on the machine and installed the drivers for the new card. The new network card didn't work either. This means that the computer could not be used to browse the Internet which rendered it slightly more useful than a boat anchor (as a sailor, computers make really lousy boat anchors). So now it was my turn.

The first thing I did was go back to square one. I removed the new card the Geek had sold my friend and confirmed that Windows XP could not see the built-in network hardware. Then I put in the new card and went into the computer's BIOS to turn off the built-in network card. On his computer, it was as simple as hitting the "F1" key during the boot sequence and going to the "Advanced" menu option. Having two network cards in a computer is possible but sometimes they like to step on eachother's toes. It is advisable to have only one network card active when you are trying to debug problems like this.

Once again the network card was not recognized by Windows XP. This was a huge red flag. How do you know if the machine is bad when the the measuring device isn't working properly. In this case, the measuring device was the Windows XP operating system. I tried a simple experiment. I booted Linux from a CD. When you boot from a CD, it doesn't install anything on the hard drive and so you can test your machine's hardware without overwriting anything.

The CD takes a little bit longer than a hard drive to boot and so I went and got myself a sandwich while the computer thought about starting. Once it was up, I opened a browser window and could get to any number of websites just fine. This confirmed that it was Windows XP that needed help and not the hardware.

I told my friend that he had two options: He could reload Windows XP, which would probably fix everything, or he could install Linux. He picked up the machine this morning and will be installing Linux. I think that is a good decision.

Wednesday, September 23, 2009

Mobile Phones

I don't know how we survived in the days before mobile phones. I was thinking back to an experience I had when I was a teenager and didn't have the luxury of being able to get a hold of one of my parents. My kids have no problem getting a hold of me at any time and that is very convenient.

I got my first cell or mobile phone when I was in College. I was doing consulting for a glove manufacturing company in the Seattle area and attending school in Utah. If there was a database problem, I wanted my client to be able to reach me at any time. On more than one occasion the phone would ring while I was in class. I would silence the phone, excuse myself from the classroom, and take the call. It was a great system that got me through school without any student loans.

I was glad to see phones get smaller as my first phone was one of the original Motorola "bricks." It weighed about a pound and was too large to fit in a pocket. I was glad when the next generations of flip-phones appeared. They were much smaller and could be carried discretely.

Eventually my wife joined us mobile phone users when I needed a Christmas gift and didn't know what to get her. I was doing a lot of travelling and it was nice to be able to give her a call when my plane landed. It made it easier to pick me up at the airport. Shortly after that it seemed like the mobile phone craze really exploded.

We waited until my oldest daughter was 15 before we got her a phone. We figured she was learning to drive and would need a phone in case of emergencies. Oh how she loved her phone. For me, the mobile phone had always been just a communications tool. For my daughter, it was an extension of her personality. She would change the wallpaper to match her mood of the day. When there were too many other phones like hers being carried by friends at school, she spent her money to replace the phone's plastic casing. Instead of a plain black cover, her phone sported a pink one with flowers.

As for me, I didn't see the point in wasting money on something I kept hidden in my pocket. In fact I continued to use the simplest model phone even when they started getting all sorts of new features. After all, who needs a phone that is also a camera?

Last year I finally made the switch to an iPhone. I was hired by a company that would require me to have constant e-mail access and I figured I would give the iPhone a try. I thought about the Blackberry and the Blackjack but heard so many good things about the iPhone and decided on it. I would have to say that I haven't been disappointed.

My mobile phone is primarily a mobile phone. I also need it to work where I am. That includes at my house as well as at Snowbird Ski Resort where I spend most of my free time. The iPhone does that quite well. It also has a great e-mail program that is easy to use and has been crucial for work. I have been able to respond to important e-mails while riding the chairlift and that was the main reason from switching from a simple phone to a smart one.

I never thought I would use the iPhone's camera. However it comes in handy to help document a Scout campout or take pictures of a tire for an online classified ad. I also use the map application when I find myself looking for the closest Home Depot on the opposite end of town. Furthermore the map shows traffic conditions so that if there is an accident, I can avoid it. Finally, there are all those other applications that you can get from the app store. I have a couple of games like Risk and Air Hockey that keep me occupied when I find myself waiting somewhere.

I still don't consider my mobile phone to be an extension of my personality. However it is nice to carry one device can do more than just be a phone.

Tuesday, September 22, 2009

One Man's Junk is Another Man's Treasure

Yesterday I decided to clean out my food storage area in my basement. As a scoutmaster I live by the Boy Scout motto of "Be Prepared." This means I have a store room of about two to three months worth of food. The idea is that if there is a major snowstorm or a swine flu outbreak that causes me to be quarantined, I won't run out of food.

I started organizing things and realized that I was running low on a few items. My only problem was that spending a bunch of money to augment my food storage is not in the budget this month. So I decided to try an experiment. I set the goal to raise $50 from some other means than my usual computer consulting. At the end of the day I wanted to be able to add $50 of canned goods to my existing supply.

I knew I had a set of old studded snow tires in my garage taking up space. The car they were used with was sold a while ago and so I decided to list them on an online site. I first thought about eBay but didn't want to pay their fees nor did I want to have to worry about shipping them to some far-flug location. I thought about craigslist because it is free and has the ability to define items by location as well as category. In the end I decided on KSL which is a local news company that has TV, radio, and web outlets. They allow you to post classified ads for free. More importantly they are generally only used by people in my geographical area.

I logged onto their website and saw that they currently have close to 3,000 wheels and tires listed. My heart sank. Who was going to look through that many listings for a pair of old snow tires. I decided to give it a try anyways.

I went to the garage and pulled out one of the tires. I made sure to hose it off so it looked clean. I let it sit in the sun while I ate lunch and then took a picture of it with my iPhone. I made sure to get in close so you could see the condition of the tread as well as the gnarly metal studs that really grip the ice. I pulled the picture off my iPhone and shrunk it down to 640x480 pixels using Gimp (KSL's requirement for picture sizes). Then I attached the photo to my ad where I talked about how those tires could climb a greased telephone pole. I then went back to work with crossed fingers.

At 7pm last night I got a call from a guy looking for tires for his daughter's car. I explained that these tires had been used for my daughter's Buick and that they were very safe when driving in the snow. With all the skiing we do, we never got stuck with those tires. An hour later he came by the house, looked at the tires, and paid me with cash.

As soon as his car was down the street, I jumped into mine and headed to the local supermarket where they were just finishing up their case-lot sale. I managed to pick up the items I needed to round out my food storage. Now it is time to go through my house looking for other junk to unload. Maybe I can get myself a new TV.

Monday, September 21, 2009

Writing Skills in Decline

Yesterday my wife and I visited with a friend who is a school teacher. During the course of the conversation the teacher mentioned that cursive or handwriting is in decline because kids are using keyboards on computers instead of handwriting for school reports. My wife then volunteered that spelling is also going downhill because of all the texting short-cuts being used. That got me thinking as to how technology is changing the way we communicate and trying to decide if it is good or bad.

I can't say that I am sad to see cursive being de-emphasized. I prefer printing to handwriting and was glad to finally get to a level in school that allowed me to start typing papers. I have had access to a computer with word processing software since before high school. So I took a typing class as soon as one was offered in middle school. It didn't take long before I could type faster than I could write. Most of my high school homework was typed. The only problem with handwriting being a dying skill is that it is tough to take notes. Whether you are in a school class or participating in a meeting at work, note taking is an important skill and cursive is much quicker than printing.

Texting is a different story. Personally I can't wait for the texting fad to die. I can agree that it does have a use as a communications tool but should be used in moderation. Unfortunately it is replacing supperior methods of communcation and that is bad for society.

I am so against texting that I have had it removed from all our cell phones except mine where I have 200 free text messages per month. If I could split those 200 messages with my wife and kids' phones I would. However I get them because of the type of phone I have and so I don't have that option. I just checked my bill and I have a total of 3 incoming and outgoing messages last month. That is all anybody should have for a given month.

My oldest daughter, who is in college, was glad to get off the family plan so she could start sending and receiving text messages. The catch is that she has to pay for her own phone. She had over 1000 text messages her first month. I asked her why she had so many. She said that it was all related to coordinating time with friends. In other words she spent 1000 text messages trying to get a groups of people together. I suggested that she might want to use the "phone" part of her cell phone and just give people a call. That would cut down on the number of text messages by a factor of 10. Furthermore she could use the conference call feature to get everyone on the line at the same time. That would make the coordination of different schedules infinitely easier.

I'm not sure my daughter is completely on-board with my idea that texting has gotten out of hand. However she did mention a conversation she had with several friends at school that echoed my pick-up-the-phone-and-call sentiments. I'm hoping they are not idle words meant to please Dad.

People talk about how great texting is because it allows them to do multiple things at the same time. Unfortunately this is a hollow excuse that is not really accurate. Trying to use that little phone keyboard to crank out a short message requires all of the person's attention. If he or she is in a meeting where important information is being given, that information needs to be repeated, wasting everyone else's time. If the person is driving a car, anyone withing a quarter mile is in danger of being in a serious accident. I once had to fire a high-priced consultant because he spent 50 minutes of our hour together reading or sending text messages. If my company is paying somone for an hour's worth of work, there better be an hour's work completed.

So when is a text message a valid form of communication? When all other forms are ineffective. I once had a close friend congratulate me via text message after my college football team handily beat his. He was at the game and the stadium was so noisy he wouldn't have been able to hear me if we were talking on the phone. Sure he could have waited until he got home to give me a call but if technology can help us communicate that much quicker, shouldn't we use it? Let's just not overuse it.

Friday, September 18, 2009

Sailing This Weekend

I finally have a weekend where I don't have any other commitments. I don't have to go camping. I don't have to do any projects around the house other than mow the lawn. That means I get to do what I want and that means I am going sailing.

Sailing at the end of summer is always the best. The weather has cooled a bit yet is still warm enough for shorts and t-shirts. The wind is generally pretty good. Most importantly, the hectic summer schedule draws to a close and ski season hasn't started yet.

About five years ago this month, I was sailing a 37-foot race boat from Hawaii to Los Angeles. It was a 21-day trip. Cell phones stopped working about 5 miles from shore and so communication required different technologies. Even though I was out in the middle of the Pacific Ocean, it was still important to stay in contact with family and friends.

Sailboats doing trans-oceanic voyages are generally equipped with single-side-band radios (SSB). They are very similar to HAM radios and bounce the radio signal off the ionosphere to communicate with people half way around the world. The only problem with SSB is that very few people have them. Not to fear, there is SailMail which allows you to connect your laptop computer to a special MODEM that works with SSB. That allowed me to send and receive daily e-mails to and from the family. My wife would then update everyone with my position and how things were going on the boat.

It was great to have e-mail for the trip. However it is also nice to be able to talk to someone directly. For that you need a satellite phone. There are three companies that you can use: Inmarsat, Iridium, and Globalstar. Globalstar generally only works 200-miles offshore and so that was not an option. We opted to rent an Iridium phone which worked flawlessly all the way from Hawaii to Los Angeles. The only problem was that talk time is about a dollar a minute. You really want to keep calls to a minimum at those rates. However it was good to talk to the family on Sundays and Thursdays.

Communication is very important and it is nice to know that with today's technology it is possible to stay in contact even when crossing an ocean. Luckily for me, my cell phone will work just fine when I am out sailing this weekend.Link

Thursday, September 17, 2009

Keep It Simple

This past Tuesday I received a call from my father-in-law, Ed. He is in the middle of an engineering project and needed some help with some electrical engineering. He is a mechanical engineer and often comes to me because of my electrical engineering degree. He described his problem and I took notes. I then informed him that I was tied up for the next couple of days with a project of my own but that I would do some thinking and see if I couldn't help out later in the week.

Yesterday my software project finished up before noon and so I had time to think about Ed's problem. However I was reluctant to start on the project because it has been over fifteen years since I have done any real electrical engineering. Sure I mess around with computers and build fun little projects every couple years or so, but this was real engineering work. I was going to need to create a digital state machine complete with reduction tables and a bunch of stuff I would need to relearn. So I put off starting the project until after dinner.

In addition to being a Scoutmaster, I also sit on the Snowbird Ski Team's board of directors. The official organization name is the Snowbird Sports Education Foundation but everyone knows us at the Snowbird Ski Team. Our monthly board meeting was last night and so I continued procrastinating Ed's project. I didn't get home until after 9pm and thought I could start in the morning.

Everyone went off to bed but I found myself with a slight case of insomnia and so I figured I should do a bit of reading. If there is a cure for insomnia it is reading old college books and so I pulled out one of my electrical engineering texts that I was planning on using as a reference to help with Ed's project. I skimmed the first five chapters and I started to remember the class. Then I started to remember some of the basic elements used to create digital state machines.

Thirty minutes after I picked up my text book I had reduced Ed's complex engineering work to two simple elements. I pulled out a piece of paper and drew up a quick schematic diagram. I have the parts in an old lab kit from back when I was in school and so I think I can build a prototype today and makes sure it works.

Sometimes we have a tendency to look at technical or computer problems and think they are too complicated. We then procrastinate getting started. When we finally develop the courage to attack the problem it turns out to be a lot simpler than we thought.

Wednesday, September 16, 2009

Internet Explorer vs. Firefox

This morning I was awoken by a phone call before 7am. Some software I wrote during this past year is being shown to a large company and it was not working correctly. I thought that was strange because it was working just fine before I went to sleep last night. So I got to spend my morning debugging software and figuring out why it worked last night and not this morning.

The software I have been working on is a web-based application and meant to run in a browser like Internet Explorer or Firefox. The first thing I did was go down to my office and retest the software on my computer. It worked last night and it worked again this morning. So I called the person reporting the error to try and find out what the problem was.

The page causing the error has an animation that counts down for 6 seconds and then jumps to another page. At the end of 6 seconds, the other computer was giving a cryptic error message and stalling. So I pulled out the delay and had the page go immediately to the next one. It worked for my computer but not for the other. Trying to figure out the problem over the phone was extremely difficult because I couldn't see what was going on. Furthermore I couldn't see those really obvious problems like the user trying to use a word processor instead of a browser. It was incredibly frustrating.

After about fifteen minutes of asking questions it became clear that the other person was using Internet Explorer and not Firefox. Having managed a software development team for one of the first browsers (Netscape), I know that there are differences between browsers and what works in one will not work in another. My software was developed to only run in Firefox and not Internet Explorer. This eliminated the need to test the software in multiple environments. Since all the computers running the software were supposed to be configured with Firefox, this shouldn't have been a problem.

Unfortunately my software was about to be shown to the big company using a browser I hadn't anticipated. Furthermore it wasn't working and I had less than ten minutes to fix it. It took me five minutes to track down the single line of code causing the problem and remove it from three different places. We did a quick run-through on Internet Explorer and the software ran flawlessly but without my countdown delay. The delay was there only for cosmetic purposes and so it wasn't really necessary but kind of looked nice.

So what was the problem? Stylesheets. What are stylesheets? They are what control how the page looks. Should I, as a regular computer user, care about stylesheets? Nope, but as a software developer I do. So if you ever stumble across a web page that doesn't look quite right, it is probably a stylesheet issue.

Tuesday, September 15, 2009

Happy Birthday

Today is my 41st Birthday (I like Mounds candy bars for anyone thinking about getting me a gift). When you are a kid, the whole world can stop while you take time to celebrate. As an adult it generally means that you are just one year older and nobody but your immediate family really cares. That being said, I have already received several congratulatory e-mails and phone calls from friends. Now if we could only figure out a way to send someone Mounds bars through the phone or e-mail, my morning would be complete.

Every year I see my birthday approaching and wonder how I am going to spend it. My Dad thinks I go a bit overboard and says I am building unrealistic expectations in my children as to how birthdays should be spent. I just want one day a year to stand above the rest as truly "special" (besides Christmas).

One year for my birthday I rented a little 4-seater plane and flew down to Moab, Utah for a day of mountain biking. Since I don't have a pilot's license, it was quite the adventure. One of the guys I invited to ride was a pilot but he still let me fly most of the way. I took us off but was more than happy to let him land. The only unfortunate part of the trip was that one of the guys with us fell off his bike and broke his collar bone. It makes a great story though.

When my wife turned 30, she cashed in all my frequent flyer miles and took the family to Hawaii. That was a fun trip as we got to do the tourist thing all over Oahu. On the actual birthday, we had a fabulous Luau and ate like Samoans (they don't eat until they are full, they eat until they fall down).

Yesterday I logged onto my frequent flyer mileage account and looked into getting a ticket to Hawaii. With the downturn in the economy I actually could have taken a non-stop from Salt Lake to Honolulu in the morning, spent the day in Hawaii, and then flown back during the night. The only catch was that I needed to pay a rapid redemption fee of $150. When I was a Platinum frequent flyer member the airlines would waive the fee. I could think of better ways to spend frequent flyer miles and $150 and so I decided against it.

Tomorrow a big company is looking at some software I wrote over the past year. There could be a paycheck in it for me and so I want the demo to go flawlessly. So instead of doing anything exotic on my birthday today, I am going to spend the next several hours in front of the computer sprucing things up a bit. I guess I have to be a grown-up every once and awhile.

Monday, September 14, 2009

Internet Safety

It is hard to imagine life before the Internet. While a lot of technology seems to have taken years to evolve, the Internet sort of just showed up one day. On Tuesday, only a select few used e-mail and exchanged information electronically. Then we all woke up on Wednesday and every ad in the paper or on TV had a web address that you could visit to get more information.

The Internet is a great tool for sharing ideas and knowledge. Can't get that crossword puzzle completed? Do a search in Google or Bing for "Met Melody" and the answer "aria" appears. Can't find directions to that new restaurant you heard about from a friend in an e-mail? Do a search in Google Maps or MapQuest and you can get turn-by-turn directions.

Yes the Internet is a wonderful tool. Unfortunately it has its darker neighborhoods as well. You can get addicted to pornography, learn how to become a domestic terrorist, or develop into a sexual online predator. Please forgive me if I don't provide links to where you can find this stuff.

While I am not immune from wasting my time in the more seedy parts of the Internet, I do a pretty good job of using it for the good stuff and avoiding the rest. I am more concerned about my children. Just as you cannot restrict your children to staying inside your own house forever, you can't erect foolproof walls of protection around their computer usage. Instead you need to work with your children and help educate them about Internet dangers and how to avoid them. Here are some tips that I have found to be effective:
  1. Place the computer in a public room. We keep ours in the family room where everyone can see how computer is being used.
  2. Talk with your kids about the dangers of the Internet and what to do if they accidently visit a site they are not supposed to see.
  3. Set reasonable limits on computer time and strictly enforce them.
  4. Monitor the sites your kids are visiting. My router that connects all of our home computers to the internet creates a report showing which computers have visited which sites. Use this report and show your kids that you are monitoring it.
  5. Use programs like CYBERsitter and Net Nanny to reduce the number of accidental site visits.
Will these steps ensure your childrens' complete safety? No but they are a good start. Any smart kid will know how to get through any fences you build around the Internet. So talk with your children and help them understand why certain places are dangerous. In the end it is best to have your children helping you and not working against you.

Friday, September 11, 2009

Camping Again

I am about to head out the door to go camping with my Scouts. One thing I like to do before each camping trip is print up a brochure for the boys and their parents. It has all the important information like dates, times, packing list, menu, and a permission slip for the parents to sign. It saves me from having to answer a bunch of last-minute questions.

Normally I pass out the brochure at the Scout meeting before the camping trip. However this week we did a bike ride and I knew the paper would get lost if I gave it to the boys. So last night I leashed the dog and set out on foot. The idea was to visit every boy and make sure they were all personally invited on the camp out.

The weather was perfect as I walked around the neighborhood. The dog was well behaved. I was able to chat with those neighbors out working in their yards as I made my rounds. It was amazing to me how many people I know that live near me. Furthermore some boys that were thinking about skipping the weekend outing felt like they would miss out on something special and decided to make arrangements to go.

This got me thinking about how technology is changing our personal interactions. My walk ended up being about two miles and my body needed the exercise (as did the dog). I didn't use a car. I didn't use a phone. I didn't use e-mail. I didn't use a text message. I suppose I could have sat on my indoor bike and sent a text message to each of the boys with the same results. However it was very rewarding to pay a personal visit to each of my Scouts.

Remember that technology is meant to make our lives easier. If you have to send more than one text message to communicate with someone, don't you think you would be better served by giving them a call? If you need to ask your neighbor a question and you can see them in the front yard, isn't it easiest to just open your front door and talk to them? Just a little food for thought as I spend yet another night without the luxury of technology.

Thursday, September 10, 2009

GIMP: A Free Photoshop Clone

Recently I was asked to provide an up-to-date family picture. Those that know me know that I hate taking family portraits. I prefer to get the family together on vacation or while we are skiing and have someone take a quick snapshot. Well it has been a while since we have all been together and I don't really have a recent picture of us. I am reminded of the scene in "Cheaper by the Dozen" where the father, played by Steve Martin, tells everyone that he will just Photoshop the absent oldest child into the family portrait they are about to take. The most recent portrait we have is missing our oldest daughter who is away at school and so I was hoping I could just Photoshop her into the picture.

The only problem is that Photoshop is a $700 piece of software. Luckily there is a free alternative called GIMP. It is available for Windows, Mac, and Linux. That covers about all home computing environments.

GIMP is an acronym that stands for GNU Image Manipulation Program. Seeing as "gimp" is a word that is generally a friendly yet derogatory term we use with one of our friends who has recently injured an arm or let, I would probably have used a different acronym. However that is is the name the program was given and it is anything but a handicapped tool.

One of the first uses you may have for GIMP is to remove that annoying "red eye" effect you get when taking a picture of someone using a flash. Simply go into the "filter" menu and under "enhance" is an option for red eye removal. Doing a quick scan of the other filters reveals a number of really cool effects that you can add to your photographs. Just be sure to always work on a copy instead of the original. We have one screwed-up family picture where we tried to remove our dog's "green eye" effect (people have red eyes but dogs have green eyes when their pictures are taken with a flash) and didn't save a copy of the original.

There are a lot of classes, books, and Internet tutorials devoted to Photoshop. A lot of this teaching material translates to GIMP because the two programs are so similar. However there are some differences and so you will want to see if there is a tutorial specifically built around GIMP first. One of my favorite GIMP-specific tutorials shows how to make really spectacular buttons to use on a website (one is shown below).



My oldest college-aged daughter was doing some work for me this summer and I taught her some basic GIMP tricks. At the end of her day, she would hang around on the computer after work to do some image editing for herself. She built complex animated graphics of ballerinas dancing around the screen as well as collages of all her friends. When I asked her what she thought of GIMP she told me that she had been searching for an image editing program and was glad I had showed it to her.

While it is fairly easy to steal yourself a copy of Photoshop and avoid paying that $700 price, it is still stealing. Since a free version of a comparable product exists there is no need to become a software pirate.

Wednesday, September 9, 2009

Two Heads are Better Than One

If you have seen the movie "Bill and Ted's Excellent Adventure" then you may recall one of the songs by Power Tool that declares "Two Heads are Better Than One." In computer lingo "Two Heads" refers to having two monitors on the same computer. Anyone who has plugged a projector or second monitor into a laptop knows that you have option of having the same (mirror) or different (dual heads) information on each screen. When running with dual heads it is nice to have that extra screen real estate.

When I got my first laptop, the display was only 640x480 pixels. The screen was usable while on an airplane but I was always eager to get to the office or back home where I had a larger monitor waiting. I never really used the dual head option because the laptop screen was just too small. It was like those worthless forarms on a T-rex.

Now technology has evolved to the point where laptop monitors can have resolutions greater than 1280x1024 pixels. My MacBook that I use for my laptop has a screen resolution of 1280x800 pixels. That is about the same as my previous desktop. There is no need to plug in a separate monitor to make the laptop usable. However a second monitor is nice to have when one is available.

When it came time to replace my desktop computer a few months ago, I decided that I wanted one that would support dual monitors. My personal brand recommendation for desktop PCs is Dell. They seem to be of sufficient quality and are reasonably priced. I went on their website and saw that some of their computers come with two monitor ports. That means you don't have to add a second video card (more money and complexity) to support dual heads. I priced out a machine with all of the options I wanted and wrote the information down. Then I went to the local Best Buy to see if they had one in-stock so I could look at it.

There is something to be said for retail locations where you can physically handle the merchandise before buying it. Unfortunately they didn't have the computer I had built on the Internet. They actually had a better model at a lower price. One problem with building your own machine is your knowledge is outdated. I know a lot about computers but I wasn't keeping up with the latest processors and options. Intel had come out with a new Processor that was faster and was in the latest Dell computer at Best Buy. It was on sale too. Since I was at Best Buy, I wasn't stuck with buying Dell Monitors which saved me even more money. In the end I saved myself about $400 between the computer and two monitors. The store also made sure I had all the cables I needed to connect everything (the extra monitor cables ended up being free).

Dell would have taken several weeks to build the computer and ship it to me. With Best Buy I had the computer immediately and was able to bring it home.

The first order of business was cleaning off my desk. It was set up for one 17-inch LCD display. My new computer has two 23-inch displays and I needed to make room for them. It also took some work positioning them so I could use the computer but still be able to have room for my laptop and be able to watch TV at the same time. It took some rearranging but I was able to make it work.

Once the hardware was set up, it was time to get the software working. I booted the machine into Windows and got Vista going without any trouble. I shut down the machine, rebooted with a disk partitioning CD, and moved things around on the hard drive so I could make room for Linux. Then I loaded up Linux and configured it to recognize the second monitor as a separate display. By default Linux thinks the second monitor is a mirror of the first. It is an easy configuration change.

Now I have two monitors on my primary desktop computer and it is a huge improvement over my old system. I can keep my e-mail open on one monitor and then do all my work in the other. When a new e-mail arrives, I simply drag my mouse and the cursor jumps from the right edge of one monitor to the left edge of the other. Now I just need to stop trying to use my desktop mouse on my laptop screen because that doesn't work.

Tuesday, September 8, 2009

What is Linux?

I was at a friend's house last week who was giving me a bunch of photo's and movies from one of my many summer activities. He had some questions about Windows XP that I couldn't answer without a bit of research because I don't really use Windows on a day-to-day basis. Naturally he asked what I did use. While I have both Windows and Mac computers in my office, my primary computer runs Linux.

So what is Linux and why would anyone remove Windows from a new computer and install Linux instead? Actually I don't completely remove Windows from the computer when I install Linux. I set it up so that when I turn on the computer, it asks if I want to run Linux or Windows. This gives me a bit of flexibility with each of the machines in my office.

So back to the first question: What is Linux? Linux was created by Linus Torvalds in 1991 who wanted to create an operating system or computer user environment similar to Unix. Unix is an operating system created by Ken Thompson at Bell Laboratories in 1969. Linus was able to leverage other work done by Richard Stallman who created the GNU project in 1983 to create another Unix-like operating system. So what is Linux? Simply an open source or free version of Unix.

OK, so what is Unix and what makes it better than Windows or Macs for day-to-day use? Better is a relative term and so it is with extreme caution that I continue. When I worked at Oracle Corporation for the summer after my freshman year of college, they put me in the Unix technical support group and had me learn Unix. This was back before graphical user interfaces (GUIs) that most people are familiar with. Instead of being able to use a mouse to navigate thru directories and file folders, one had to know commands like "cd" and "ls". If you knew the name of file but didn't know where it was located, you could use the "find" command. Unix also has a bunch of tools and utilities that I learned such as the text editor called "vi" (pronounced like the letter V and the letter I). You could say that I got really used to using these two, three, and four-letter commands to help navigate the computer. Since my hands never have to leave the keyboard to touch the mouse, I feel I can do things faster and so I have continued to use Linux. Does that make Linux better than Windows? Probably not for most users, but it does for me and so I continue to use it.

Interestingly enough the operating system used by Macs is also Unix. Apple just did a spectacular job of hiding all those cryptic commands so that even the most novice user can enjoy the Mac experience. However if you know how to open a terminal window, you can revert back to those short-but-confusing Unix commands.

One of the benefits of Unix is how it protects itself from rogue programs like viruses and malware. When the PC first came out, it cam with the Microsoft DOS operating system and could only run one program at a time. Unix on the other hand was created to run multiple programs for different users at the same time. The creators of Unix knew that Jimmy might be running a program that could crash the computer and cause harm to Susan's program. Therefore they built in protection so that Jimmy's program cannot harm Susan's nor can it harm Unix itself. Therefore it is much more difficult to write a virus for Unix than it is for DOS which has now evolved into Windows.

This brings us back to my friend asking about Linux. It seems that my friend's son had contracted a nasty virus on his computer. In an attempt to cover his tracks, the son had reformatted the hard drive. He figured he could just reinstall Windows and nobody would know there had been a virus. Unfortunately the son didn't have a license key for Windows and couldn't reinstall it. Eventually the son had to confess about the virus. While my friend could easily get a license key from Microsoft to reinstall Windows, he has opted to put Linux on his son's computer. Maybe now his son won't get a computer virus.

Thursday, September 3, 2009

It's Not the Computer's Fault This Time

This September has started out a little bit warmer than usual for this part of the country. On Saturday my air conditioning went out. I didn't think it would be much of a problem because it is almost time to turn off the costly device. Saturday was pretty warm and I was glad to open the windows at night. Sunday was not much better and so I called the repairman on Monday morning.

My heating and air conditioning unit is 15-years old and so it is not surprising it is starting to show its age. In the past several years, I have had to replace the furnace controller twice. The controller is a very simple computer that controls everything about the heating and cooling of my home. Since it had gone out twice already in about the same number of years, I figured it needed replacing again. I looked on the Internet and a new one was going to cost me $200. You can get one of those new NetBooks for $200 and so I was hoping the repair would fall under the warranty.

The repairman came out and I recognized him from when he was out less than a year ago. I told him that if I leave the AC off but try to run just the circulating fan, it runs for a little over two minutes and then shuts off. The same thing happens with the AC on. That eliminates the problem with the air conditioning unit (good thing because those are really expensive). He agreed with me and so he started his diagnosis at the fan unit.

When I am working I hate it when someone is standing over my shoulder watching and so I headed into my study to get some of my own work done. My study is in the basement right next to the heating and air conditioning unit and so I could still hear the repairman working. I was surprised when he turned on the heat. Its a million degrees outside and this crazy guy turns on my heat. My hope was that he could get the AC fixed shortly or I wasn't going to need to turn on the stove to cook food in my kitchen.

The heat ran for about 5 minutes when the repairman turned it off. So that leads one to the question as to why the fan can only run for two minutes alone or with the AC but can run longer with the heat. To me it sounds like a stupid computer problem and I would have replaced the controller and gone on to my next appointment. However that didn't fit with the repairman's experience and he continued looking for other sources of the problem. In the end it turned out to be a faulty switch.

On the outside of the fan unit is a switch that is the same type used to turn on and off lights throughout my house. The electrician that wired up the furnace never had a clean contact for one of the wires attached to the switch and it was wiggling around loose. The vibrations from the fan would wiggle it loose causing the fan to shut off. Running the heat caused the connections to expand and increased the contact area so the switch would work perfectly. Furthermore it was probably the faulty wiring in the switch that caused the computer to fail the past two times.

In the end it turned out to be a $2 switch and not the over-priced-heating-and-air-conditioning computer. Those of us that work around computers know that they can be the cause of a lot of problems. That wasn't the case this time and now I know I need to be a bit more thorough the next time I blindly assume it is the computer's fault.

Wednesday, September 2, 2009

Getting a New Computer

It is always fun to get a new computer. However it can also be a daunting task. What is the best way to move information from one to the other? How can you be sure you got all the information you are going to need? Is there an automated process that makes this easier? Why do we drive on parkways and park in driveways? OK, you can disregard that last question but let's discuss the others.

I generally get a new computer once a year. I have two computers that I use on a frequent basis: my desktop and my laptop. There are several more computers in my home office but they are generally database servers that I use for work and so let's not worry about them.

My laptop is an inexpensive MacBook and my desktop is a PC that dual boots to either Windows Vista or Linux. Last summer I got my MacBook and this summer I got my desktop. I will then hand my laptop to my son next summer as he goes off to college and get a new one. So you can see that I have to go through the computer upgrade process once a year.

When moving from one computer to another, it is important to make sure you get all the right data. It also serves as a good time to throw away all the stuff you will never use again. Perhaps you downloaded a PDF of the instruction manual for that old vacuum cleaner that you sold at the last garage sale. No need to keep that around. I use the following process when upgrading to a new computer:
  1. Clean up the old computer
  2. Export my e-mail and address book
  3. Back up all my files
  4. Move all important files to the new computer
  5. Install application software like Microsoft Office
  6. Import my e-mail and address book to the new computer
  7. Keep the old computer running for a week or two
If you use a server-hosted email service such as gmail or some Outlook installations, then you can forget steps 2 and 6. I don't and so they are very important steps for me. Most e-mail programs have an export function that takes all of your e-mail folders and spits them out into a file. Then all you need to do is move that file to the new machine and import it back into your e-mail program.

Step 3 is important if you don't have the option of step 7. The previous time I updated my desktop computer was because my old computer died. I elected to get a new one instead of spending money to fix the old one. Luckily I had done a recent backup and was able to restore all my files. I backup my computer files to DVDs and keep the DVDs in a safe place. You could also use a flash drive but be sure to mark it as your backup so it doesn't get used for something else.

There is probably a software program out there that will help upgrade your computer. Especially if you are going from Windows to Windows or Mac to Mac. However I have three different computing environments and so I end up having to do my upgrades manually.

A new computer can be like having a fun new toy. The only problem is that you can plan on spending a day pulling stuff off your old one and moving it to the new one.

Tuesday, September 1, 2009

Free Software for Everyone

Herman Melville is most remembered as the author of "Moby Dick." When it was first published, the general public thought of it the same way as most high-school students do today: what a bore. What most people don't realize is that it is based on a true story. Only in the true story Captain Ahab doesn't die. The ship does get smashed by an angry whale and the crew is left to survive an incredible ordeal in their life boats.

While I have read "Moby Dick," I actually prefer one of Melville's earlier books entitled "Typee." As with his more famous work, Typee is based on a true story. Melville was good at writing what he knew about. Early in Melville's life, he signed on as crew on a whaling ship. About the time he got to the South Pacific, he realized what a horrible decision he had made and decided to abandon ship in the Marquesas. Typee is a fictional story based on this experience. After the story was published it was discovered that there was more truth to the story than fiction.

Melville describes life in a near perfect world on Marquesas. Food is abundant. If you get hungry, simply pick tropical fruit off the closest tree. If you are looking for a ham sandwich, pigs roamed the area in plentiful quantities and so there was never any concern for food. As for shelter, the entire village pitched in and built you a hut as soon as you were ready to move out of Mom and Dad's. As the weather is relatively perfect, clothing need not be elaborate. So what did everyone do with their time? They lived in what we call a "gift economy." If you liked carving Tiki idols, you would make them and then give them away.

That same "gift economy" exists in the software world. Software that is given away and can be freely used is called "Open Source Software." If you don't want to pay the $125 to Microsoft for a Student/Teacher version of Office, there is OpenOffice.org that reads and writes Office files. Don't want to pay the $699 for Adobe Photoshop, there is GIMP. Doing work with databases and don't want to fork over your first born for Oracle, there is PostgreSQL.

These are not crippled versions of software that you can try for 90 days and then are asked to pay money. These are full working versions of software that mimic the functionality of their more expensive cousins. Should you be interested in making any modifications to the programs, you can also get the source for free. Of course, if you are good enough at software development to make any changes, the open source community hopes that you will make those changes available to everyone.

Open source software is freely available software that you can use without any licensing costs. It is created by people that have a little extra time on their hands and don't mind sharing with you. The next time you think you need to spend money on a new piece of software, do an Internet search and see if there isn't something already out there for free. There generally is.Link