Rental Car Surprise

As you may remember, a few weeks ago Avis gave me a FORD LAND TANK. I didn't enjoy driving it, so when I returned it, I told them that while I'm open to the idea of them upgrading my mid-size rental, I'd prefer something other than a gigantic truck.

Cut to Sunday night as I wandered over to the parking spot that contained my car for this week. Behold, it contained... another F150. sigh. I trudged back over to the rental counter and explained to the nice chap explained the whole thing again. I just didn't want something that would be featured in a Cialis ad.

The Avis employee was effusively gracious, apologized to me, and looked through his computer for an adequate substitute. I was expecting to be banished back to the realm of Hyundai econoboxes, when he said, "Let me see if I can get you into one of our Infinitis."

Cool.

I stared at him for a couple of moments and eventually managed, "Yes. That would be nice." 

So that's how I got to spend the next couple of days driving around in a nice little G37 sedan. It's um, a little faster than what I've been used to from my rental cars.

Commentary on the New iPhone Terms

Giles Bowkett:

[The App Store is] not your platform and it never was.

Geeks control the Internet because geeks built the Internet. We earned the freedom we have here. We earned it by creating something incredibly valuable and sharing it with millions and millions of people. What did we earn with the App Store? Did we build the App Store? Did we write iPhone OS? Did we design the groundbreaking hardware? Or are we just customers?

From http://gilesbowkett.blogspot.com/2010/04/its-his-platform-not-yours.html

Really insightful stuff. I wonder if that's part of the reason why I've been more drawn to web development than other platforms. The rules are less rigid there.

Apologies to Tom Petty

Or, the waiting is the hardest part...

Flying anywhere requires quite a bit of sitting around and waiting. This is why I am not the most pleasant person on travel days. Here's how I get to Dallas:
  • Leave the house at about 4pm to get to the airport early enough.
  • Park in the garage, walk to bus stop.
  • Wait for the shuttle to the terminal.
  • Get on bus, ride to terminal.
  • Wait in line at security.
  • Talk to the nice TSA screener. Show ID and boarding pass. Go to the metal detectors.
  • Wait for the person in front of me who has obviously never been on a plane before. Yes, she did just send their water bottle and laptop through the scanner still in her bag. I wonder if she's still wearing her shoes too? Bingo.
  • Go through security, find terminal, sit and wait for boarding.
  • Boarding zone is called, walk towards plane.
  • Wait to get in seat because some knucklehead is taking 5 minutes to stuff his oversized carry-on in the bin, then takes off his jacket and tries to stuff it up there too.
  • Get in seat. Wait for rest of plane to board. Knucklehead's family is apparently flying with him too and holds up the line even more.
  • Plane boarded, and doors close, wait for plane to pull away from terminal and go to runway.
  • Finally up in the air. Watch movies on iPod. This is sort of like waiting, but in an uncomfortable seat with little to no legroom. So it's totally different!
  • Land in Dallas. Wait for plane to taxi to terminal, which is apparently a mile away.
  • Seriously, are we circling the airport on the ground? I can walk faster than this.
  • Reach gate. Doors open. Wait for people to get their stuff down from the bins. Again, this seems to be a very involved process for some. I tend to be the kind of person who reaches up to the handle, pulls it down and walks out. But that's just me.
  • Walk to rental car shuttle pickup. Wait for shuttle. I've exhausted my twitter and facebook info on my phone by now and am getting antsy.
  • Get on shuttle, drive to rental car center.
  • Get rental car, drive to hotel.
  • Wait for night management to open the front door since they lock it at 11pm. 
  • It is now about midnight and I'm finally in my room.
That's a lot of waiting. After about the 7th or 8th "wait" up there I'm about ready to snap and start choking people. The most annoying issue I have with this is that there just isn't that much I can do to make things run any smoother. I could get to the airport a little later, but then I run the risk of missing my flight altogether if something goes wrong, or the TSA line is abnormally long.

I've since started traveling 100% carry-on bags, since waiting to check luggage, and then waiting for it to be regurgitated by the airline, is just more time to be frustrated. Fortunately, my company has switched to using Avis for rental cars, so I can just walk by their desk, see my name and car on a big board, and head straight to it with the keys waiting for me.

I will be glad when this stint ends in a few weeks, if only because my brain will appreciate not having to actively fight a complete shutdown due to all the waiting.

Rental Car of the Week

The Ford Land Tank! Driving it makes me feel like it should be eating smaller Korean cars for fuel. Or perhaps Priuses.

Getting Used to Auto

Something that I've noticed in certain photographic forums is a bit of a snobbery when it comes to the preferred mode a person's camera is in. There seems to be a prevailing notion that Manual is the One True Mode for a camera, and everything else is for "noobs".

I used to feel this way, but in my own recent work, I have started to use Aperture priority and even Auto-ISO more and more, and have been incredibly happy with the results. In fact, when I'm not shooting with flash, or in dim lighting, In fact, you could state that I'm getting close to using the easy settings all of the time.

I will make this claim though: if you are a beginner- if you just dropped $799 on a new DSLR and don't know what you are doing, you would benefit much more by sticking with Manual mode. Manual forces you to learn the relationship between ISO and Aperture and Shutter. It really makes you really think before pressing the button. I've said before, if you don't want to know this stuff, then all you have is an expensive point and shoot camera with removable lenses.

Further, most entry level cameras will lack sophisticated technology that makes the other modes more attractive. My first camera, the Nikon D50, only had five auto-focus points, and a sort of bad matrix metering system. I kept it set on Manual most of the time and spot metered my exposure manually too.

These days, I'm not a rank beginner anymore1. Now, I shoot with a Nikon D300. The auto-focus and metering system on that thing are awesome (and they should be considering the price). The camera is incredibly adept at figuring out a good exposure when kept on matrix metering. And in the 1% of the time it cannot, I have a custom function button that puts it into spot metering when it is held down.

Using Aperture priority mode does not mean I have no control over anything else either. By default any non-manual setting will aim at an even, middle of the road exposure. But, with the twist of a dial I can tell it to go brighter or darker. I typically range it from +.3 to +1.0 to expose to the right.

Most recently, I've been using Auto-ISO as well. This was pretty limited on my D50, and I imagine this is still the case on newer amateur oriented cameras as well. But, on the D300, this works swimmingly because it can be configured in detail. I can set the minimum shutter speed I want to use, and tell it to not go higher than ISO 1600. Thus when it is detecting that I'm not getting the shutter speed I need, it bumps the ISO up just a little bit. It's not uncommon to see an ISO of something like 250 or 900 in this range. 

With these settings I can pull the camera up to my eye and start shooting immediately in most situations. And yes, if I need to really fine tune an image, I can still quickly jump to M mode and tweak away.

Photography is about capturing moments, and if I'm fiddling with dials I might miss that moment.

1. Nor am I a pro, but I do know a few things.

The Long Path to a New Phone

I tried not to jump up and down like Navin Johnson when the day arrived, but it was time to get a new phonebook! I love my technological toys, and I love getting new ones even more. The role of the phone itself has evolved into something much more important in my life. It is probably the second most used piece of electronics I own, just behind my computer, so it needs to be a good one.

Read the rest of this post »

Minty Fresh

Since I have been working in Dallas for the last few months, I have been eating at quite a few restaurants. Thus, I have become very familiar with the after-meal mint. Not all mints are created equal; there are some that are simply better than others. As a service to you, I have ranked them in ascending order:

  • First, there are the hard-peppermint-candy-cane mints. These are the most common, and while they are a little better than having your breath smell like chimichangas, they aren't memorable. Some places have the ones that are green and brown, which provide a slightly better experience, but still aren't worth writing home about.
  • Slightly better than those guys are the fruity cylindrical mints (for lack of a better name). I will usually grab a couple of these and mix flavors. My favorites are blue and red, though I usually tire of sucking on them after a little while.
  • Next, are what I believe are called "pillow" mints, because they look like pillows. In my experience, I have found these most often at Chick-fil-a's. They are tasty, and remind me a little like chewable Tylenols from when I was kid1. The only downside is that after eating them, they turn into a sticky paste that binds to my teeth for the next ten minutes.
  • Finally, we come to the king. Andes mints. If a server brings a few of these guys to the table along with the check, he automatically qualifies for a nice tip. "I'm sorry that the waiter spilled the clam chowder all over your dress, honey, but he brought Andes mints; that's gotta be at least 15%." One time I was leaving a place and passed the server station. There was an open and unguarded box of Andes mints sitting right there. Let's just say I had to spend a little extra time in the gym the following day and leave it at that.
These are the things that I feel I should share about my travels.
1. I may or may not have faked headaches when I was a kid to eat more chewable Tylenols. I liked the flavor. I have no regrets.

Snoooow

         
Click here to download:
snoooow-CEirAIIfjJyoktIBvdFm.zip (1718 KB)

This was waiting for me this morning. Fortunately, the office is just across the street.

How to Be a Helpful Tester

Disclaimer: I have not worked as a full time software tester, so this point of view is from a developer who would love to see the following qualities in QA personnel that I work with.

Sometime early in my career as a software developer, I learned that my code was not perfect and needed testing before being released1. Since then I have worked with a couple of good testers, and unfortunately, some truly terrible ones as well. I would very much prefer to work with the good ones, so I thought I would list some characteristics that could help a would-be tester become a great one. 

This is the biggest: Your goal is not a checklist. This one is partially attributable to poor management. Testers who are graded on the number of bugs they find tend to try to file as many as they can. Your goal is actually not to find a ton of bugs; your goal is to release the highest quality software possible. I can forgive many testing sins if just this one maxim is embraced.

Understand the application. I am always shocked to read a bug report that is completely at odds with what is written in the application's requirements. "The app is supposed to work that way," is far too often the answer. One way to mitigate this is to include testers in the design of the product they will be testing. This includes knowing which developer/department to assign the bugs. In most cases the poor UI guys have 95% of the bugs assigned to them and end up serving as triage for the rest of the group. A good tester knows that even though an error dialog is popping up in the UI, it may very well be because of a problem with the database.

Know your tools. If you are testing a web app, you had better have tons of extensions for debugging, header analysis, and browser tweaking installed. You need to know how to take a good screenshot and highlight the problematic area. This goes hand in hand with "Record important information" in a few paragraphs. Good tools make it easier to specify what the problem is. Taking a screenshot of your entire desktop and pasting it into Word is always a bad idea.2 Knowing the bug tracker inside and out is mandatory.

Leave your ego at the door. This goes for both testers and developers. There is naturally an adversarial relationship between both tribes; one group exists to find problems with the others' work, but it doesn't have to be ugly. I once worked with a guy who hated every single QA person he met because his ego would not let him accept that his code had bugs. Conversely, you are not King of the World for finding an obvious defect that the programmer should have caught.

Record important information. Taking a screenshot of an exception screen is a little better than writing "it dun broke" in the description field, but not by much. Does this exception happen every time? With different information? In different browsers? Are there any unique or special rules applied to this specific instance? 

I once worked on a product that needed different rules applied to different customers' accounts. These rules caused a bunch of validation issues and various one-off bugs that couldn't be reproduced in the development environment (since the rules were different for development and production). It was beyond frustrating to get bug reports that lacked any bit of helpful information to track these nasty issues down, and resulted in many cannot-reproduce/close/re-open wars.

Be specific too! I recently received a bug report that said that the UI I created was different from the wireframe provided by the designer. It included a screenshot of my UI and one of the wireframe. I would have had to play the spot-how-many-differences game. Instead, a good bug would have been to list what was wrong.

You don't need to know how to program. Though a little bit of knowledge helps. Knowing what an Exception is and how one shows up would be beyond helpful. Knowing how they are thrown in the app you are testing would be even better.

Just the other day, I ran into an issue where an Exception was being thrown, but was actually masking the real problem. The Exception stated that there was a problem with the AuthenticationService I was using. I spent a few minutes trying to figure out what happened since nobody had recently worked on that particular service. We soon realized that the service itself was fine; the problem was actually in the config file shared by all services. The AuthenticationService was just the first one called, so it bombed first. Having a solid knowledge of how an Exception works and why the application is throwing them would avoid red herring problems like this.

This list is by no means exhaustive, but I do feel that if more developers were working with more testers that had those qualities, software in general would be much better.

1. That would have been somewhere between 10 minutes and an hour of writing my first bit of code.

2. Why is this so awful? First, any decent bug tracker will automatically make images easy to browse through and view; hiding it in a Word doc prevents that. Second pasting a screen capture will automatically save it as an uncompressed bitmap and result in a large file size. Even over a corporate intranet, it would still take far too long to download and extract. Seriously, friends don't let friends use a take poor screenshots.

Video Chat On a Mobile Device

Alright, I'm going to try to avoid slipping into Rant Mode here.

Apple just announced their newest super gizmo, the iPad. Like the iPhone, iPod, and pretty much every other mobile device, it does not have a front facing video camera to allow video chat. Of course, a certain subset of people really wish it did, and continually whine about said lack. But do you know why it doesn't have video chat?

Because video chat on a mobile device just doesn't work.

Here's how I know: Take your phone. Now, hold it out in front of you in a position that you think would be fitting for a video chat. Keep holding it there, and be steady; no shaking. Keep holding. Try it for just 30 seconds. Is your arm tired yet?

There simply is no way to comfortably hold something like a phone out in front of you without support. You could hold it lower and try to support your arm with your body at the elbow (like a normal phone), but then your chat buddy will get a good look at what is currently up your nose.

The iPad could work with a stand/dock, but in that situation, it's not really mobile is it?

About

These are my mostly unfiltered thoughts.