But why?

About three years ago, the six elevators in the office building where I work were upgraded to be accessible for the visually-impaired. As part of the upgrade, the elevators now verbally announce the floor that they’re stopping on. Except… Some of them announce “Floor ten” and others “Tenth floor.” All six elevators are in one cluster and, in fact, they have common software as they have a system where you select your destination floor and are directed to a specific one of the six. So, why in the heck does the verbal announcement differ? Inquiring minds want to know. Drives me crazy.

Travel Time to…

travel_timeI had to take a different route to work this morning, down I-35 from Round Rock to downtown Austin. Every few miles along I-35 there are light-up signs that are sometimes used for Amber alerts and senior alerts. Most of the time, however, they report “Travel Time to” the next major crossroad. As I pass these signs, the QA engineer in me tries to answer the following questions:

  • What is the purpose of these signs?
  • What am I, a passing driver, supposed to do with this information?
  • How well do the signs serve their presumed purpose?

I assume that the purpose of these signs is to give drivers an idea of how congested the roadway is at the present time. As for what I can do with this information? The sign doesn’t give any recommendations, but I assume that if the travel time is short, I could choose to stay on the road, and if it’s longer, I could choose an alternate route or just say f**k it, I’m heading back home.

The most interesting question to me, though, is how well the signs serve their purpose. In order to make a driving decision based on the information on the sign, I would have to have some idea of the following:

  • Which crossroad does the sign refer to (I’ll come back to this one)?
  • What does the current number of minutes shown say about the expected traffic volume? Making this judgment means I would need to know some of the following:
    • How far is it to the crossroad?
    • What would be a ‘normal’ travel time?
    • By ‘normal,’ am I thinking of traveling the speed limit without congestion slowing me down, or what I might consider ‘normal’ for this day and time, morning rush hour in my case this morning?
    • How does the current estimated travel time compare to ‘normal’?

The first sign that I saw this morning, and the one that inspired me to write this blog post is installed around Pflugerville, just south of the Louis Henna/SH-45 intersection with I-35, I think. This morning, it read:

FM 734
7-9 MINS

I would argue that this particular sign fails its intended purpose by the simple fact that it refers to a road number that nobody in the Austin area uses. If you asked me which roadway in the Austin area is FM 734, I probably wouldn’t be able to tell you, but from the location of the sign and from having lived in north Austin for 20 years, I deduce/remember that FM 734 is the numerical designation for the roadway that EVERYONE in the Austin area knows as Parmer Ln.

But this brings up another question: who is the intended audience for these signs? I-35 is both a major local expressway and an important interstate highway. Since I am a local resident, my initial assumption is that the information is for me, and therefore, since I believe most Austin-area residents would not know that FM 734 is Parmer Ln, my conclusion is that the information is not very useful. If the sign is intended for someone just passing through Austin, then referring to the cross road as FM 734 is probably acceptable.

But assuming that I, the passing traveler, know the crossroad, then we come to the point where all of these signs fail their assumed purpose: in order to make use of the information provided, I have to have some way to gauge the estimated travel time against some known quantity. If you asked me, for instance, how far I thought Parmer Ln is from the sign mentioned above, I’d estimate ‘a few miles’ or how long to travel there at the speed limit, I’d estimate ‘a few minutes.’ Assuming my ability to estimate distances or travel times are average, then the estimated travel time is pretty useless.

Let’s assume that my estimate of ‘a few miles’ is somewhere between 3 and 7 miles. If it’s 3 miles, then traffic must be traveling at about 30 mph, but if the distance is actually toward the longer end of my estimate, then traffic must be traveling close to the speed limit. Considering that traffic was probably traveling at 40-50 mph–right in the middle of 30-60 mph–at the time I saw the sign, then my only conclusion is that traffic must be about the same or average for that time during morning rush hour.


Giving the estimated drive time to a point that is a few miles away seems to be of very limited usefulness and requires the person reading the sign to have fairly accurate information about distances or usual drive times in order to make use of the information. I guess if I drove this stretch of I-35 every day and noticed the signs regularly, then I could make comparative use of the data provided. But if I were unfamiliar with Austin, then without consulting a map, this information would be completely useless. If the estimated drive time this morning had been, say 15-17 minutes, I probably would have concluded that traffic was very heavy this morning, but considering the relatively short distance from my current location to FM 734, if congestion were that heavy, then I would probably already be traveling slowly, in which case, I don’t need a sign to tell me that traffic is slow today.


Since these signs apparently use some sort of real-time detection of traffic density or speed, it seems to me that a more useful to give an average traffic speed, such as:

40 MPH

Honestly, I would enjoy nothing more than having someone tell me that some of my assumptions above are wrong or to explain the process behind the decision to show average travel time.

Words have meanings!

I recently received the following message via LinkedIn:

Dear Stan, We are a young silicon-valley-like startup …
… developing disruptive products for sensing, cognition and communication for the Internet of Things (IoT) market;
… fully funded with an exclusive Fortune 200 customer already secured;
… who is working closely with us to specify the product and take it to market;
… led by a top-notch team of seasoned start-up engineers and executives with successful prior startup exits to multi-national corporations; and
… all right here in Austin.

We are currently looking for a top-notch automation expert and looking at your resume and background I thought you might be a good fit.    I hope you are interested in hearing more and would be glad to discuss this opportunity further via a call or f2f meeting. Thanks, [name redacted]

I was really curious to know what he meant by ‘silicon-valley-like,’ so I answered:

What does ‘silicon-valley-like’ denote? That could mean a lot of different things–both positive and negative.

His response:

Good point re: the silicon-valley reference – esp. being a long-time Austinite (by choice) I can understand why it could be considered negative! I was referring to the fact that we have an exciting mission in a hot industry area that can have a big impact with a top-notch team to work with. And the particular role I’d like to go over has some very interesting challenges – for example capturing, storing, analyzing, labeling and retrieving very large data sets.

And my answer again:

I’m pretty sure that “an exciting mission in a hot industry area that can have a big impact with a top-notch team to work with” isn’t a characteristic unique to the Bay Area. I understand that you probably can’t reveal many details, but the quote above doesn’t tell me anything more than “silicon-valley-like” So far, you’ve basically told me nothing at all about the opportunity.

If this ‘silicon-valley-like’ startup hired this guy to do their recruiting, I can only come to one of two conclusions:

  1. He doesn’t know the business well enough to give meaningful details, or
  2. He doesn’t understand recruiting well enough to get to a candidate’s concerns quickly and answer them.

Based on what I saw on LinkedIn (LI only let me see this guy’s name and title), however, I suspect that he is one of the founders or early employees. If that’s the case, then possible explanations above for his behavior incline me even less to treat his offer seriously. Do I want to work in a company where this person has a leading role? Hell no.

Perks in the high-tech workplace

My friend Rafe Colburn and his Etsy coworker Melissa Santos have written an insightful article on perks in high-tech companies in which they explore a lot of issues that I’ve thought about over the years. Their thesis:

In an industry where culture is often allowed to be defined by perks, managers need to [be] mindful of the fact that for many people, perks underscore the differences between members of the team rather than bringing them together. They also need to think about what a company’s perks indicate to potential employees about the culture.

I’m one of those employees who often feels ambivalent about company perks–especially team-building events, and within that category, especially events that take place outside of work hours. Balancing my responsibilities to my family with my work responsibilities is hard enough when work is confined to defined hours and expectations. An after-hours event often just adds to that delicate balancing act.

Assigning colors to a BIRT stacked bar chart based on series values

This has nothing to do with QA, but I’ve been writing a lot of BIRT reports lately; I just solved this problem and wanted to make sure my solution is out there for others who need it.
This is the stacked bar chart that I created:
There are three possible values: PASS, FAIL and NOTRUN, and I wanted to make sure that each value got a specified color: green for PASS, red for FAIL and grey for NOTRUN (not tests showed this value on the chart that I used for this post)
The solution was to select the chart, click on the ‘Script’ tab and enter the code below. The beforeDrawDataPoint function draws the bars. the beforeDrawLegendItem function draws the legend:

* Called before drawing each datapoint graphical representation or marker.
* @param dph
* DataPointHints
* @param fill
* Fill
* @param icsc
* IChartScriptContext
function beforeDrawDataPoint( dph, fill, icsc )
var Condition = dph.getSeriesDisplayValue();
if(Condition == "PASS") {fill.set(0,153,0);}
if(Condition == "FAIL") {fill.set(255,0,0);}
if(Condition == "NOTRUN") {fill.set(204,204,204);}
* Called before drawing the legend item.
* @param lerh
* LegendEntryRenderingHints
* @param bounds
* Bounds
* @param icsc
* IChartScriptContext
* @since Version 2.2.0
function beforeDrawLegendItem( lerh, bounds, icsc )
var Condition = lerh.getLabel().getCaption().getValue();
if(Condition == "PASS") { lerh.getFill().set(0,153,0);}
if(Condition == "FAIL") { lerh.getFill().set(255,0,0);}
if(Condition == "NOTRUN") { lerh.getFill().set(204,204,204);}

Clever job-hunting move

I can’t say I condone this, but it’s a clever way to see how you stack up against the competition:

After a fruitless job search — endlessly scanning Monster.com and Craigslist and tweaking resumes and cover letters — he grew more curious about his competitors. So he created a fake Craigslist ad for an administrative assistant position and, in one day, received 653 responses from applicants with a wide range of education and experience.

Sneaky. Not ethical. But sneaky.

Important note to recruiters

I frequently received requests to connect on LinkedIn from recruiters I do not know. I decline all connection requests from people I don’t know.
If you’re a recruiter and you want to contact me, please either use the ‘send a message’ functionality on LinkedIn or just send me an email.
When I asked a recruiter friend why so many recruiters used connection requests instead of messages, he pointed out that it costs money to send more than a handful of messages per month. If you’re a recruiter, pay the money to get the messages functionality. It doesn’t seem very professional to me to have you misusing LinkedIn functionality because you’re too cheap to pay for the appropriate functionality.
</end of grouchy old man rant>