Tuesday, April 10, 2012

Do Not Call

Lately I have been getting a call on my mobile phone from a number I don't recognize. It happens that I always seem to be in a meeting or tied up during the call and so I have yet to answer. Caller ID is nice as I can see the number. Normally I wouldn't bother calling a strange number back, but it happens to be from a location where I have extended family. Yesterday I decided to try and call the number back just in case it was a long-lost relative telling me I had inherited a bunch of money. Actually I knew it wasn't about any inheritance as I have so many extended family members that any wealth would be spread so thin, my share would only amount to a few pennies, but curiosity got the better of me and so I called.

That was a huge mistake. A recorded message answered the phone at the other end and said something along the lines of, "Thank you for calling this marketing company back." I immediately hung up realizing I made a huge mistake. Now they know my phone actually has a person on the other end. This morning I got another call from the same number. Once I got in front of a computer, I immediately went to the "Do Not Call" registry and made sure to enter my mobile number on the list. Anyone that wants to avoid pesky telemarketers should do the same.

The process if fairly simple. Just enter up to 3 numbers and your e-mail address. They will send you an e-mail with a link to click and complete the process. A second after entering my mobile number I had an e-mail in my inbox asking to confirm my phone number. I clicked the link and was told my number is now on the list. I have to suffer through any telemarketers for the next 31 day, however after that I can file a complaint should I receive a call. Yes, complaints can be filed at the same website. I only wish the list was good for charities, political organizations, and telephone surveyors. They still get to call. Bummer!

Wednesday, March 28, 2012

Handwriting Recognition

One of the largest uses of the world-wide web is doing genealogy. There are a number of records that exist and are already on the Internet. More information about people is being added every day. Last night I spent some time contributing to that effort.

The LDS Church sponsors a lot of the genealogy and run a site called www.familysearch.org. If you are interested in finding out about your ancestors, please give it a visit and see what information they have. That information does not appear magically. There are many thousands of volunteers that collect handwritten and paper records, scan them into a computer, and provide an index to the scans. The index is used when you do a search for a name and can locate the scan of the image. That way, when you type in the name "John Allen", the computer can look up all records for associated with that name. In case you are wondering, there are a lot of them and so a birth or death date will also be helpful for locating the correct person.

I had a coworker once ask why they just don't use handwriting recognition to index all of the scanned images. If you spend some time looking at old records, you quickly realize that no software in the world will recognize even a small percentage of that writing. Nope, it requires using one of the most powerful computers in the world: a human mind. Remember that the next time you are stuck on a math problem or are feeling less than intelligent. While you may not be able to read your doctor's prescription, at least you can read a note from your mother or child.

Wednesday, March 7, 2012

Context Switching

Computers seem to able to do many things at the same time. Before the days of multi-core central processing units (CPUs), this was accomplished with a bit of magic. The computer could never perform simultaneous actions and had to rely on tricks to make it seem like that was happening. Assuming the CPU was trying to work on 3 different tasks at the same time, it would do the following:
  • Work on task 1 for a bit and then make a note of what was done.
  • Work on task 2 for a bit and then make a note of what was done.
  • Work on task 3 for a bit and then make a note of what was done.
  • Repeat until all 3 tasks are completed.

The process of "making a note of what was done" is known in computer science as a "context switch." There is a lot that takes place on the computer, but it runs so fast that the user thinks 3 things are going on at the same time.

People are not much different than computers. We also have to perform a "context switch" when we are trying to do multiple things at the same time. During the course of writing this blog entry, I was also on the phone working on solving a computer hardware problem. As long as I didn't have to participate in the conversation, I could add to the post. The moment someone needed my help, I had to stop typing and pay attention to the conversation. There was no need to "make a note of what was done" because it remained on my computer screen. Therefore context switches were fairly painless. There was a little time lost when I was no longer needed on the phone as I had to regain my train of thought, but it wasn't too painful.

Things that make context switching hard for people are the number of simultaneous tasks and the duration allowed to work on those tasks. Typing and talking on the phone worked because I was only trying to do two things. It also worked because I was needed on the phone only for a minute out of every quarter hour (it was a long phone call). Now if I had been on the phone, driving in traffic, and trying to eat a burger, things would not be so simple. While I might get away with it once or twice, eventually I wouldn't be able to context switch fast enough and might cause an accident. That is why I never eat and drive at the same time . . . while also trying to talk on the phone.

Wednesday, February 29, 2012

Leap Day

Leap Day is one of those events that happens once every 4 years and just happens to be today. It is necessary to keep the calendar from getting out of sync. Of course it would be convenient if every year had the same number of days, but that's not how the universe works.

A few years ago, I had a co-worker propose that we were off on the number of days during the year. He had noticed that the seasons seemed to be starting later and later. I had had a similar thought before and ran through the mental exercise. I realized that while seasons were directly effected by the rotation of the earth around the sun, we really use the length of day to calculate how long this voyage takes. I pointed that out to my co-worker and he agreed with my logic.

Computers are kind of like the earth. It would be nice if they all used uniform time units to represent a day. Unfortunately that is impossible, simply because of tiny differences in how computer clocks are made. So that means that every once an a while you might want to resync your computer's clock with a trusted time reference. What better day than Leap Day to make that adjustment? After all, sometimes it is very important that your computer has the right time.

Tuesday, February 28, 2012

Proper Software Development

I am working on several software development projects. Some for work and others for my own personal edification. One of my projects has recently come under some deadlines and so I have been forced to take one or two short cuts. This generally means that proper software development methods get thrown out the window in favor of getting something done quickly. You might be able to get away with it for a day or two, but eventually it will come back to bite you.

Having been in the software business for the past 26 years, I have learned when it is best to avoid certain short-cuts. This saved me today. Even though I was told to move a piece of code into production, I did so long enough to run a single test. Then I backed out the new code and put the old working code in place until the results of my test could be properly verified.

The new piece of code seems to be working correctly. To me, it works exactly the way I wrote it and the way the user asked for it. However, sometimes those looking at the results don't like what they asked for and request more changes. If I had left the new code in place, it would have meant a lot more work should any changes be requested. Guess what? There are always more changes and I saved myself quite a few hours of work.

Thursday, February 23, 2012

Pandora

I flew back to Utah on Friday night with a plane full of skiers. Seated several rows behind me were two buddies headed to Park City for 3 days of fun in the snow. One of them mentioned that he worked for Pandora. The whole plane seemed to explode with the question, "You work for Pandora?" It was as if he was a rock star. Children asked for autographs, women swooned, and men passed out business cards.

The plane was alive with chatter the whole 90-minute flight and I got to hear every word. Everyone wanted to know what the Pandora employee did. He confessed that he wasn't technical but sold advertising. He then proceeded to explain how much information they keep about their listeners. This allows them to target advertising with a laser-like focus. It was a great story for someone interested in promoting products. It was a bit concerning for someone interested in privacy.

So what information does Pandora really keep? First, they know your music interests. While that doesn't give them your exact age, it can give them a pretty good idea. For instance, I don't know a single adult that enjoys Selena Gomez. If that is on your playlist, then they can be sure you are a teenage or tween girl that has been force-fed Disney since birth.

Pandora also keeps track of your IP address, which is geographically specific. That means I must confuse them. Sometimes I am in Utah and other times, I am in California. However, it allows them to target ads for my general listening area. As I am in Utah today, I see ads for older single sites specific to the Salt Lake area. I wonder what that says about my playlist?

The information that Pandora tracks that should really bother you is their ability to go through your browser cookies and see the websites you like to visit. I frequently remove all my cookies for this very reason. While I don't visit questionable websites, I also don't feel comfortable sharing my personal interests with the world. I have a hard enough time not buying skis on a daily basis. Imagine if I was constantly bombarded with advertising about great deals. I don't think my credit cards could survive.

Sunday, February 19, 2012

A Keyboard for my Tablet

Lately I have noticed that I have not been using either of my tablet computers for anything more than playing casual games or listening to Pandora. Yesterday I decided to go get a case for my Samsung tablet to see if that would spur me to use it more. So when I finished skiing, I got in the car and headed down to the local Best Buy store.

I wasn't sure if I should bring the tablet computer or just leave it home. Since I wanted to make sure everything fit nicely, I brought the tablet. It turns out, that wasn't really necessary. The Samsung GalaxyTab 10.1 is so popular, there were tons of accessories specifically made for it. That is important if you plan to use things like the built-in camera and so I looked at cases specially made for my tablet computer.

I looked at 3 different cases and finally decided on the most expensive one. All 3 cases were very similar in style and appearance. The only real difference was that one contained a Bluetooth keyboard. I played around a bit with the keyboard and was convinced I could touch-type on it without much difficulty. Given that it only increased the price by $10, I was sold.

I have had the keyboard for less than 24 hours and I have to say that it actually makes the tablet a much more usable tool. I wouldn't say that my tablet can now replace my laptop, but it does come close. Now we will see if I use my tablet for more than just entertainment.