MichaelRunyon.com – All Things Geek

random musings, movie reviews, all things geek

Archive for December, 2008

Dec 15, 2008

Never Underestimate Stupidity

Now, I hate to go off in a uncontrolled rant about certain aspects of my job without first prefacing my comments with a bit of clarity. I love my job, and especially love my ability to sometimes take a step back and look at the big future. Our clients don’t comprise a massive data set, but we are constantly exposed to new and different circumstances, and though they can sometimes present themselves in an annoying or inconsistent manner, problem solving has always been a great joy of mine, and therefore I do find pleasure in this avenue. Now, on to my subject….

Anyone who has much background in coding user interfaces (this includes web programming, ESPECIALLY web programming) has come to the complete and total understanding that a great deal of their job in creating user interfaces in maintaining the inability of the user to make choices or perform actions that we don’t wish for them to do (or don’t want them to do at that time). In making an interface and it’s controlling component, I spent nearly 80% of my time in restricting and validating user input to ensure that only valid data makes it to the control mechanism, and onward in the guts of the program. Whether it’s ensuring that a user has put in an email address that exists in a valid domain or making certain that a credit card number follows a skeleton guideline of the major credit cards, there are many, many gaps to be plugged to ensure that the user has a smooth and error-free experience. 

Sometimes, however, a smaller project might need to get completed quickly, and cost might prohibit us from completely fleshing out the validation that is typically performed on a certain control. This is not abnormal and certainly not the end of the world. Special circumstances can be accepted for certain circumstances, especially if there is little chance that your good name as the developer can’t be tarnished from the performance of the control, or that very few people will be visiting the application in question. This, however, is a completely stupid assumption, in both cases. Whatever application you end up programming in a half-complete way will eventually find itself in high usage or high visibility, and without proper preparation, you face the end result of both of your assumptions. 

A simple app that was created a few years back for a local company selling gift cards is my case in point. A relatively simple form controls the app. You put in your billing address, the shipping address that the card will be sent to, the name on the card, and a customized message. After these details are complete, you put in your credit card information and then submit it to the server. In the interest of being agile at the outset (a decision that was I not around to make at the time) this form was unprotected in the sense of user validation. There was no client or server side validation to ensure that certain values were present (like a name/address on the card, a credit card number, an expiration year, etc). At first, with relatively little user input, this was not really a problem. If the user encountered a problem, they would see a nasty ColdFusion error and would retreat to the page previous to check their input. Great, in a very savage and basic sense. Teach the user to teach themselves and correct their mistake. 

We, however, live in an age of greater expecatations these days. So after sitting in this unprotected state for a long time and being un-examined by the application, it was time to give this little app some love. When the form was setup, I was designated as a “watcher”, meaning that I got a copy of every single output of the form. Every time someone submitted the form without an error, I got a copy. What became amazing to me over time was how many times someone could screw up the form before they got it right and got their confirmation message. A user would fill out the form with just their name and the name of the person they wanted to send a gift card to and then hit submit. And the system would let them. And then, in a minute, when a message confirming their input did not come through, they would go back and do the same over and over again. Eventually they would put in an address. A few more submits and then a credit card number. And then a gift card amount. Sometimes, I would get 13 submits from the same person before acceptable input was gathered. Often times, the sales reps at the company would just call the person or try to email them, to avoid further input on their part. 

The worst examples of this, however, were the weekly or monthly persons that would click the empty form 20 times in a short time. They would follow the website link that said “Send a Gift Card” and then just click “Send Card” at the bottom of the form over and over again, completely ignoring the 20 or so user fields to put information in. When validation was eventually put into the form, a control mechanism that prevented this was set to log this behavior just out of curiosity and it in no way stopped. Let me be clear about this….hundreds of people were going to a website that presented them with a form to put in some basic information about how to send a gift card, and then just clicked away, willing the computer to try and understand that they wished a gift card to be sent to their aunt/uncle/father/son/daughter, address, name, amount and wishes unknown. 

I break down when trying to resolve these circumstances. It’s like playing whack-a-mole on a global scale. I finally get the form so that users MUST provide input for essential fields and think that will be the end of it. But then someone puts in “Visa” where it says “Credit Card Number”. Then, you have to go back and limit the input to numbers only. Then you have to go back and limit the input to known credit card formats. Then you have to autofill the city and state from the zipcode, since users will so often put the wrong city and state on their form. And on, and on, and on. 

So, to wrap this up shortly….when you browse the Internet and fill out forms to send money to someone, or order something from a website, or to see certain data from a source….remember that many hours were put into that application to ensure that you and all of the other stupid people out there can’t blindly click around in hopes of their thoughts being transmitted to the server. And hopefully you will appreciate the effort the next time. 

There. Take the soapbox away. 

Dec 11, 2008

Family Roots

The Internet is really changing everything. People are coming together and information is spreading so rapidly, sometimes it is truly unbelievable. Runyons from all over facebook are contacting me and inviting to join groups of them. 

This summer, I was unable to go with my dad’s side of the family to a reunion in West Virginia. The reunion primarily focused on the Lester side of the family (my paternal grandmothers family). My paternal grandfather had passed away the summer previous and the trip was especially meaningful to those who were able to attend, as much of the elder family members are starting to thin out as time goes on. 

Then, randomly, I remembered at one time someone saying that my paternal great-grandmother was a McCoy (from the infamous Hatfield-McCoy feuds of the late 1800s). I decided to try and find out if this was true, and if so, how I was related to the events that happened. The McDowell Co Historical Preservation Society’s website was instrumental in finding the familial relationships of the Lesters and McCoys, along with a couple of other websites related to WV history.

My great-grandmother Rose Nell McCoy was born on Sep 9, 1907 to Wayne McCoy. Wayne McCoy was the 13th child of Selkirk McCoy. Selkirk McCoy was the firstborn of Asa McCoy, son of Samuel McCoy. Asa was the cousin of Randolph and Asa Harmon McCoy, the two brothers that started the feud with the Hatfield family. According to Wikipedia, the feud officially started when a band of ex-Confederate soldiers killed Asa Harmon McCoy, a Union soldier returning home. 

According to Wikipedia (http://en.wikipedia.org/wiki/Hatfields_and_McCoys ); 

“The uncle of Devil Anse, Jim Vance, and his “Wildcats” despised Hans Hall McCoy because he had joined the Union army during the American Civil War. Harman had been discharged from the army early because of a broken leg; several nights after he returned home, he was murdered in a nearby cave.”

So, therein we come to the very start of the feud, and also a famous event in history (well, semi-famous) that we/I can trace our family tree to. My great great great great great grandfather, Asa McCoy, was the cousin of Hans Hall McCoy, who was murdered to start the feud. So, Hans Hall McCoy, the origin of the feud, would be my 1st cousin, 6 times removed (Many thanks to a relationship calculator provided by Stephen Morse).

I won’t pretend that this association makes me in any way special. I am 6 generations away from the events that happened; those involved in the circumstances probably spawned thousands of descents in the years since. My great great grandfather, the last male McCoy in my family tree, was the 13th child in his family. Randolph, who was eventually killed in the feud, married my great great great great great great aunt Sarah, and had 16 children over a span of 23 years. Amazing! Our times have changed so much since then. 16 kids in a family today would literally be national news. Following our train, even if all of the other McCoys were much less fertile, and each successive generation spawned only half as many kids, that would still be 6,000 descendants with the same relationship to Asa McCoy (and Randolph McCoy) that I share.

Again, I cannot express how impossible this would’ve been without the Internet. It would’ve taken many phone calls and probably a physical trip or two to some archive to find out how we were all related.  And yet, it took me inside of an hour to make this connection. What a wonderful tool…no matter who you are, how savvy you are, how old/young you are, the communications ability of this technology (which is only just beginning) is just staggering. Our ability to bring together and communicate today is so much greater than anything we could’ve imagined even just a few years ago.

Maybe there’s someone famous in your family’s past. With the power of the Internet, and a little determination, there is almost no limit to what can be known.�

Dec 5, 2008

Movie Review – Nick and Norah’s Infinite Playlist

Last night, Leah and I went to the dollar theater to see Nick and Norah’s Infinite Playlist. Given the highly comedic nature of the other works that I have seen the headlining actors in previous to this, I was somewhat excited about yet another great movie full of snarky dialogue and faux angst (a la Apatow). However, I found the movie to move very slowly. It’s dialogue was too weak to carry my attention through the long lapses in the story’s motion, and the gags that made you smile or laugh were squeezed so absolutely hard that by the end you were yearning for some kind of comic relief. 

The movie is a classic example of trying to ride the success of the actors, rather than the picture. The actors are well known for acting in certain kinds of movies, and producing a certain kind of product, via their delivery and genre looks. But this picture squanders all of that, trying to promote some ethereal air of romance between two characters that have never met except through music mixes. The over the top ex-girlfriend seems somewhat forced, and the prolonged longing of the male protagonist is not well displayed nor well understood by the audience. The chemistry between the two lead characters is not cute enough to evoke feelings of sympathy and not strong enough to carry a real bond. 

The scene stealers (the gay friends/band-mates and the drunk friend) do their parts, but in the end, we don’t see/know enough about them to really get a laugh, and their motives in the movie are plain, unexciting and clearly stated. We are never suspended and waiting for what is to happen next. We are only waiting for the the director and the scene to get on with it so that we can get out of our seats with somewhat a good feeling about both the actions of the characters onscreen and the actions of ourselves, for coming to the movie. But I found myself ultimately dissapointed in both regards. I found myself more bored during this film, even though I only paid $1.50 for it, then I have been at the movies in a long time. 

Overall Rating: 4.3/10

Synopsis: Though you may be intrigued by the past appearance of the characters in this movie, they are not well supported by a threadbare and poorly written script, and a meandering plot stuffed so full of stereotypes that there is little left to laugh about.

Switch to OCEAN Switch to EARTH