Tuesday, December 22, 2009

Isn't This Great

One of my favorite movie lines is from Captain Ron where Martin Short looks at his family while visiting a Caribbean island and says, "Isn't this great?" The line came to me this morning as I was busy getting things done with the help of the Internet.

I spent yesterday on the side of a freezing mountain acting as a finish referee for one of my kids' races. That sort of put me behind for the week and so I tried to make up for it by getting to work early this morning. I was up at 5:30 am to help get my kids and wife ready for a final day of racing. Then it was off to work where I could get caught up.

First on my list of things to do was reregistration for my wife's car. Thanks to our state's online program, it was just a matter of logging in and giving them a credit card number. The site then produced a PDF file to keep in the car until the license-plate sticker arrives. If it doesn't arrive before the end of the month, I just tape the lower portion of the printed page to the back window and my wife can continue driving without fear of getting a ticket.

Next on my list was paying bills. I have written before about how I do this online and so I won't go into any more details other than to say that my bank has recently improved this service. When I pay a specific bill, it now tells me the day that the payee will be paid. Sometimes it is one or two days while other times it is up to five. This is incredibly helpful when a local bill is due tomorrow but will take five days to pay online. Regular mail sometimes works better than online payments and I don't mind the price of a stamp to make sure all payments are made on-time.

Last week I mentioned that I had found the perfect gift for my oldest son. Unfortunately the place I planned to get his gift didn't have what I needed. Christmas is quickly approaching and so I needed to get it taken care of today. I fired off a quick e-mail to a local supplier and he is picking me up the gift this afternoon from the warehouse. Then he will call me as he heads down the freeway back to his home. We will meet up at a local gas station and exchange money for the gift. Furthermore, he can get it for me for about half of what it would cost in the store. And in case you are wondering, nope, it didn't fall off the back of a truck nor is it illegal.

With my personal tasks taken care of, it was time to do some real work. A quick e-mail message to a company I did some work for last week ensured my check is on its way. Another e-mail got the ball rolling on another project and it seems as if all of those things that kept me awake last night are now moving forward in the right direction.

It was a good morning and I felt I could run my college-age daughter to the library to pick up two books. She is home from school because of Christmas break and wanted to get some reading material during her relaxing vacation. She was enjoying the use of the Internet as well. She verified that the local library had the books and just needed a ride to pick them up. We got in the car and drove the short distance to the library. Unfortunately it was closed. We were too early and will have to go back later today. I laughed as we drove home because with all of the Internet usage, you would think that one of us would have checked the website to see what time the library opened.

Friday, December 18, 2009

Last Minute Gifts

Christmas is quickly approaching and I still have one gift yet to get. Then I will be done shopping and ready for the fun associated with this wintry holiday. The gift is for my oldest son who will be heading off to college next year. I have finally decided what to get my son but, it was a difficult task.

When my kids were all young, my wife and I used to go for quantity when it came to Christmas gifts. It didn't matter that most of the gifts were quickly broken and discarded. When kids are young, they just want to open gifts and lots of them. Then there came a point when we decided to shift from quantity to quality. We had one requirement: the gift needed to last for at least a year. It was tough shopping for gifts that were meaningful, useful, and long lasting. However each of my kids still have those gifts from that monumental Christmas.

Since then we have tried to get things that will mean something but also be used. My youngest daughter has gotten me some nice sweaters that I constantly wear during cold weather (I even have one on today). Sometimes we have gotten the kids ski equipment, which gets used a lot. This year, that is what my two youngest kids have gotten. They already know about them because tomorrow is the first ski race of the season and they need the new skis and boots. It will make for a somewhat anti-climactic Christmas morning, but they are fine with that.

This brings me back to my oldest son. What do I get him? He is no longer racing and so he doesn't really need anything relating to skiing. He is going off to college shortly and so anything he gets will need to be small or it might get left home.

To help pick out his gift, I leveraged the Internet. I did a search for "college packing list" and got one or two ideas. But I doubt he really wants bed sheets for Christmas. I looked into a new computer but have already decided he is getting my current laptop when I replace it sometime in June (it is a sweet MacBook that I am very reluctant to part with). In the end, I decided on something that is perfect. Unfortunately, he reads this BLOG and so I can't go into too many details. However, he will be very happy on Christmas morning.

Wednesday, December 16, 2009

Printing Oops

This morning I made a printing mistake. I have a 100-page document that I am in the middle of editing. In the document are 10 chapters. I like to edit a chapter at a time. When I am done with the chapter, I like to print it out as sort of a backup. That way, If my computer dies, I will at least be able to retype or scan in the hard copy. This morning I went to print a single chapter but started printing the entire document.

The moment I clicked the "print" button, I knew I had made a mistake. Unfortunately I couldn't click the "cancel" button quick enough. My mind raced as to the quickest action I could take to keep from wasting paper. I already have enough scratch paper in my office from my wife and kids.

Ideally I should have gone into the print manager on the computer and stopped the print job. It would have printed out a couple of sheets, but that is not nearly as bad as having 100 wasted pages. However panic had already set in and I wasn't thinking too clearly. Instead I jumped up, ran to the printer, and turned it off. Luckily no paper had started to feed into the printer. Otherwise I would have had a nice paper jam to fix when I turned the printer back on.

With the printer off, I could think more clearly and was able to successfully cancel the print job from the computer. I then went back and turned on the printer. The printer's self-test verified it was ready to print and I was able to get my chapter printed.

It would not have been tragic if I had printed the entire document and so I was amazed at high intensity of the panic feeling I had. It was like my brain froze and I couldn't think clearly. I wonder if novice computer users feel that way all the time?

Tuesday, December 15, 2009

Time to Replace a Computer

It seems like things have been breaking down a lot around my house. This morning I was putting away some of my skiing turtlenecks and noticed they are looking like they should be replaced. We also have been fighting with one of our cars that really wants to die. Most importantly there is my wife's laptop that can only run for fifteen minutes on the battery before it dies.

That got me thinking about how to know when it is time to replace your computer. I could always just buy a new battery for my wife's computer and it would continue to work for another six years. However it is SIX years old and really needs to be replaced.

I've written in the past that I try to replace one of my computers each year. This past year was my desktop and next year will be my laptop. That is probably overkill for most home computer users. My computers need to be replaced so often because I am constantly working with bleeding edge projects and sometimes those older computers don't have enough horsepower to run some of the newer software required. Besides, I put my old desktops into service as database or web servers and pass my laptops onto another member of the family.

The answer of when it is time to replace your computer really depends on how old it is and what class of machine it was when you purchased it. For instance, if you bought a $300 notebook computer, it might be time to replace it after one year. If it was a $3000 notebook, you might be able to use it for six (like my wife). It all boils down to what will run on the machine. Right now my wife's computer is so old, she can no longer update any software on it. Unfortunately that means that some of the websites she visits won't work because they require updated versions of Adobe Flash or newer versions of Microsoft Office.

Yesterday my oldest son came home from school and mentioned that a friend had recently purchased a computer from eBay for $100. His friend was excited to be getting a new machine and was showing it off to all his friends. After all it came with 128 megabytes of RAM and a 2 gigabyte hard drive. My son sort of burst his bubble when he pointed out that the friends iPhone came with more memory than the new computer at which point the friend realized he had just purchased a worthless computer. Yep, it's time to replace that one before it even arrives.

Friday, December 11, 2009

Hobbies

Last night my youngest son needed to do some Christmas shopping and wanted to go to Cabela's. It isn't too far from our house and so I agreed to take him. If you have never shopped at Cabela's it is like Disneyland for those outdoor-type people. They have all sorts of stuffed animals on display. Not the stuffed animals that you sleep with, but the kind you mount on your walls or proudly display in your den after shooting them.

I also brought my youngest daughter who had never been to Cabela's before. She was amazed at the size of the store. She also enjoyed just looking at the animals, especially the aquarium.

My first stop was in the gun section. I am not a gun fanatic and don't even own one. However I do get the chance to shoot them every time I go to Scout camp. My youngest son is actually a pretty good shot and I have been thinking about getting him a .22 rifle. It probably won't happen this year but maybe sometime in the future.

I was amazed at what I saw. They had all sorts of different types of guns. Some were new but a lot more were being sold on consignment. They even had a Winchester rifle from the 1800's. Talk about an heirloom. At about $10,000 I don't think I will be buying one anytime soon.

The Winchester rifle was not the most expensive gun at Cabela's. The most expensive one I saw was a scale replica of a Civil War-era Gatling gun. It came in at about $20,000. That is way too expensive for someone who only has a passing interest in guns. Though I wonder if they would rent it to me when my youngest daughter starts dating. I think that would be more intimidating than cleaning a shotgun when the young man comes to pick her up.

Until recently I have always thought that I have some expensive hobbies (computers being one of them). Then I started expanding my horizons and realized that it doesn't matter what you choose for your hobby. It can be as cheap or expensive as you want it to be. There is one big difference with computers though: the older your equipment is, the less it is worth. Contrast that to the Winchester rifle from the 1800's which probably appreciated quite nicely over the past century. Somehow I don't see my computer being worth more 100 years from now.

Thursday, December 10, 2009

Computers and the Cold

Last night I was watching the news and they mentioned that it is so cold that people are starting to have water pipes freeze in their homes. There's nothing like a news story about water damage to make you get up at 10pm to run around and check all your pipes.

I know it has been cold because my office is in my basement and it doesn't really have insulated walls. Instead I have covered the concrete with posters, flags, and other coverings to give it a warmer feel. I have a heating vent in my office but have decided it doesn't really do much. Normally my office is about 65 degrees. Lately it has been down at 61 and so I know it has been cold. This morning I came in and it was 59.

My office is great in the summer. As I mentioned before, the temperature is normally about 65 degrees and that includes during the summer. When it gets really hot outside, my office might get up to 70 degrees, but usually not much warmer. This morning it was just too cold and so I turned on an electric space heater I keep in my office for such occasions.

Those that have been to older computer installations know that they generally keep computer rooms at about 65 degrees. This is because those old computers really put out the heat and it is necessary to keep the ambient temperature relatively lower than usual or the computers would overheat.

This got me thinking about my days back in college when I was studying electrical engineering. One of the first things we learned was that electrons travel faster at colder temperatures. Following that logic, you would want to keep your computer as cold as possible so it can run faster. Unfortunately that is not the reason to keep those old computers cold. Transistors switch slower at colder temperatures. Seeing as your computer is just a bunch of electrical switches (billions of them, actually), you don't want to make your computer too cold or it starts to slow down.

Nope the real reason to keep those old computers cold is that transistors start to do funny things when they get to hot. Since computers think in terms of binary numbers or ones and zeros, zeros can become ones or visa versa if the computer gets too hot. The same thing happens when the computer gets too cold. That is why all computers come with a temperature operating range.

Realistically the chances of you using your computer outside the suggested temperature range is pretty minimal. For an Apple Mac, this is between 50 and 95 degrees Fahrenheit. Unfortunately the same thing cannot be said about the operator. I seem to think a lot better at 70 degrees than I do at 60. Perhaps my operating temperature range is a bit more narrow than my computers'.

Wednesday, December 9, 2009

Digital Breadcrumbs

This morning's paper had an interesting article about how text messages have become today's equivalent of the "lipstick on the collar" as a sign of a cheating spouse. My first thought was how glad I was that I don't have to worry about that. My second thought was about how the general public is less anonymous than they realize.

Something that most people don't realize what information is tracked on the Internet. This BLOG site that I use is owned by Google and requires me to log in before I make a post. I generally don't bother to log out. That means whenever I do an Internet search on Google, they keep track of what I am looking for. I don't have anything to hide and so that doesn't bother me. Whenever I do a search for "Ham," Google could use previous search criteria to know that I am looking for information about "ham radio" and not "ham lunchmeat."

Another thing that most people don't realize is that websites have a fairly good idea of where you are physically located. I use a cable modem to log onto the Internet from home. My service provider assigns my cable modem a unique Internet protocol (IP) address. I don't pay to have a static address which means my IP address can change at any time. However it is rare to have that happen. Even then, the addresses assigned are specific to a local area. That means that websites can determine your location down to a several block area.

Again, I am not worried about a website knowing my IP address or approximately where I live. Once again, Google and other Internet search sites keep track of this information. Suppose I do a search for a seemingly innocent topic but decide to visit a questionable website. Now suppose one of my children does a similar search using a different computer in the house. My cable modem presents only a single IP address to Google. Based on my previous poor choice, there could be more questionable sites presented to my children.

If you take the time to sit down and run through a few other scenarios, it doesn't take much to figure out that it is not hard for law enforcement officials to determine who is downloading illegal copies of music or movies. Your Internet service provider also knows what content you are viewing from the false privacy of your own home. If you are like me and don't have any skeletons in your closet, then this shouldn't concern you. However if you are in the closet about how you like to look at pictures of skeletons in compromising postions, you might want to pick a new hobby. Especially if you are famous or plan on running for public office.

Friday, December 4, 2009

Time for Open Source to Grow Up

Yesterday I had a phone conversation with one of my good friends who is an avid supporter of Open Source software. He is currently working for an Open Source company but is not very happy. He is making less money than he used to and his company made him purchase his own laptop instead of buying one for him.

Today I had a phone call with another friend who I met while working for an open source company. He now works for a large organization whose software division alone could qualify as one of the top five largest software companies (they also make hardware). He just got back from a trip around the world and sounded incredibly happy.

All three of us used to work for the same software company a few years ago and it was interesting to compare the two very different conversations. My Open Source friend wants to leave his current company and start his own Open Source company. My commercial software friend is happy where he is and just closed a couple of multi-million dollar software deals (with the correspondingly fat commission checks).

I thought about my own project that I am working on. Normally I use Open Source development tools but this one is using a commercial software package. I don't have to hunt around in obscure configuration files. Instead there is a pretty user interface for everything. I admit that it sometimes gets in the way of my productivity, but it is nice to not have to know about some special trick to get things to work right.

While I usually think that Open Source software is great, today I am beginning to rethink my views. I suppose that my Open Source software friends will think I am converting to the dark side. That's not really true. There are some clear winners in Open Source software. Why pay for an office suite when Open Office.org is free and feature rich. Why pay more than the cost of a new car for Oracle or SQL Server when MySQL or PostgreSQL will work just fine for your database.

Instead I would like to see open source developers take a little more pride in their work. It isn't that difficult to add a nice graphical wizard for configuration files. While the software interface may make sense to the person writing the code, he or she should ask a few friends to see if it makes sense to them also. If not, fix it. It is time for open source to grow up. Until then, my commercial software friend is going to keep getting fat checks while my open source friend wonders where his next meal will come from.

Wednesday, December 2, 2009

Flow Proofs and SSIS

Yesterday I was finishing up a SQL Server Integration Studio (SSIS) project and my youngest son came into my office. He is taking Geometry and mentioned that my computer program looked like a "flow proof." I thought his comment was interesting because computer programming reminds me a lot of proofs from back when I took geometry.

In computer programming, you have a starting point and a final ending. The idea is to get from the start to the end using a limited number of simple steps. That sounds a lot like geometry proofs to me. Unfortunately nobody ever has any fond memories of geometry class. So when I explain the similarities between coding and proofs, it turns people off from wanting to be a computer programmer.

Last night when I told my son that my project was a lot like flow proofs, he laughed at me, called me a nerd, and headed up to dinner. I followed him and thought about what makes coding more rewarding than math homework. While it is nice to get paid for work, there is more to it than just money. I think there is a sense of satisfaction when you build something and computer programming gives you that chance.

I also thought about how much computer programming and math are alike. Before colleges and universities had dedicated computer programming majors, it was the electrical engineers that built the computers but the math majors that would often end up programming them. Even now, most comptuer programming majors are an extension of the math department. My own Dad was a math major and his first job out of college was as a computer programmer.

This afternoon I thought about the relationship between math and software and came to the conclusion that the guys that designed the SSIS really had fun in geometry class. However I'm not sure it is a good method to try and get the computer to do what I want.

Tuesday, December 1, 2009

Bad Typing

I have always considered myself a fast typist. I also think I am fairly accurate. This morning I learned that I am delusional. While I may be fast, I am not accurate at all.

One of my latest software projects is to convert a bunch of Unix cron jobs to Microsoft's SQL Server Integration Studio (SSIS). These are basically reports that query a MySQL database every day at the same time and spit the output into spreadsheets. It sounds easy enough but the queries are about half a page each and there six of them.

When I started creating the project, there was no easy way to copy and paste the database queries. Instead I had to retype them. I felt like I was accurate as I was typing but then came the true test where I ran them against the database. All six of them contained various errors. Some were as simple as using one double quote instead of two single quotes. Others were a bit more severe such as three missing lines.

I was less than pleased with my typing skills and gained a whole new appreciation for "cut and paste." When I couldn't find one particularly tricky problem, I figured out a way to make cut and paste work. Now I just wish I had gone through the effort much sooner. It would have saved me a lot of typing and debugging.