While sitting in a restaurant, I saw that the closed captioning on the sports program was frequently emitting a string of random characters in the speech:
Forensically speaking, we could assume that this bug occurs in one of the following places:
The software transliterating the text to speech. That is, when the software encounters a certain condition, it puts a cartoon curse word into the data.
The network transmitting the information. That is, the transmission of the data introduces garbage.
The device displaying the transmitted information. That is, the television or satellite box that introduces the captions into the picture inserts the junk every two lines or so.
Okay, I’ll grant you the fourth option: That the broadcasters were actually cursing that much. However, given that the FCC has not announced fines daily, I’m willing to say that it’s nonzero, but unlikely.
The beauty of a defect that could occur almost anywhere, between disparate parts of the product and across different teams and technologies, means that it could ultimately be nobody’s fault. Well, if you ask one of the teams, it’s one of the other team’s fault.
You know, a little something squirrelly happens, you log a defect, and the server, interface, and design teams spend megabytes reassigning the defect to each other and disclaiming responsibility. It drives me nuts.
So what do you do? You find a product owner or someone who’ll take charge of it and pursue it across fiefdoms or who’ll put the screws to the varied factions until it gets fixed.
Because everybody’s got something they’d rather be working on than somebody else’s problem. Even if it’s everybody’s problem.
Victor Frankenstein’s creation speaking in Mary Shelley’s Frankenstein pretty much sums up my testing approach:
I will revenge my injuries: if I cannot inspire love, I will cause fear; and chiefly towards you, my arch-enemy, because my creator, do I swear inextinguishable hatred. Have a care: I will work at your destruction, nor finish until I desolate your heard so that you shall curse the hour of your birth.
Nineteenth century curses are the best.
Here’s a statement of work from Frankenstein himself later in the book:
My present situation was one in which all voluntary thought was swallowed up and lost. I was hurried away by fury; revenge alone endowed me with strength and composure; it moulded my feelings and allowed me to be calculating and calm, at periods when otherwise delirium or death would have been my portion.
Recrudescence is the revival of material or behavior that had previously been stabilized, settled, or diminished. In medicine, it is the recurrence of symptoms in a patient whose blood stream infection has previously been at such a low level as not to be clinically demonstrable or cause symptoms, or the reappearance of a disease after it has been quiescent.
I don’t normally mention the mouthfeel of words, but this one has it.
I’m looking forward to using this when reopening bugs whose behavior recurs.
Also note I plan to mispronounce it as re-CRUD-escence.
Posted in Miscellany | Comments Off on Word for the Day: Recrudescence
I recently replaced an old timey thermostat that measured the temperature in Roman numerals with a new thermostat that the blister case said was programmable but that doesn’t know Java, Ruby, Python or C# at all (which is just as well, since any programming I did in those languages would undoubtedly set my household temperature to null.
Inside, though, note the guide to the internal switches, particularly the last:
To turn the battery monitor off, you have to set the switch to the on position. To turn the battery monitor off, you have to set the switch to the on position. It’s akin to clicking Cancel and getting a confirmation dialog box that has a Cancel button which is to cancel the cancellation and an OK button that is to actually cancel. If you mix in some confusing message on the dialog box to confound the user.
Look closer, though.
There is no switch #4 on the board.
Never mind, it’s more like a 404 error then.
It’s good to see our friends on the hardware side of things getting into the slapdash action we’re accustomed to in software development.
And by ‘good,’ I mean terrifying.
Posted in Miscellany | Comments Off on Great Moments in Industrial Design
Recently, I had to test an animation in a Web browser that occurred when the user scrolled down the Web page, so I had to figure out as many ways to scroll the viewable area of the page to ensure the animation worked with each.
With apologies to Paul Simon, there must be fifty ways to scroll your window. Here are a few:
Press the down arrow, Barrow.
Press the arrow up, Hup.
Page up and page down, clown.
And move the view around.
You can push Home, Gome.
Roll the mouse wheel, Lucille.
Press the End key, Lee.
And it moves magic’ly.
The software industry venerates the young. If you have a family, you’re too old to code. If you’re pushing 30 or even 25, you’re already over the hill.
Alas, the whippersnappers aren’t always the best solution. While their brains are full of details about the latest, trendiest architectures, frameworks, and stacks, they lack fundamental experience with how software really works and doesn’t. These experiences come only after many lost weeks of frustration borne of weird and inexplicable bugs.
Like the viewers of “Silicon Valley,” who by the end of episode 1.06 get the satisfaction of watching the boy genius crash and burn, many of us programming graybeards enjoy a wee bit of schadenfraude when those who have ignored us for being “past our prime” end up with a flaming pile of code simply because they didn’t listen to their programming elders.
White, who administers these tests frequently as part of her research and clinical work, was especially surprised by Pujols’ performance on two tests in particular, a finger-tapping exercise that measures gross motor performance and a letter cancellation task that measures ability to conduct rapid searches of the environment to locate a specific target.
Asked to place a mark through a specific letter each time it appeared on a page of randomly positioned letters, Pujols used a search strategy that White had never witnessed in 18 years of administering the test.
“What was remarkable about Mr. Pujols’ performance was not his speed but his unique visual search strategy,” White said. “Most people search for targets on a page from left to right, much as they would when reading. In observing Mr. Pujols’ performance, I initially thought he was searching randomly. As I watched, however, I realized that he was searching as if the page were divided into sectors. After locating a single target within a sector, he moved to another sector. Only after locating a single target within each sector, did he return to previously searched sectors and continue his scan for additional targets.”
Asked to depress a tapper with his index finger as many times as possible in 10 seconds, Pujols scored in the 99th percentile, a score almost identical to one earned by Ruth on a similar test of movement speed and endurance. White was impressed not only by Pujols’ tapping speed (2.4 standard deviations faster than normal), but also by the fact that his performance kept improving after repeated trials.
“It was interesting that he actually tapped faster in later trials of the task, suggesting considerable stamina at a high level of performance,” White noted. “Most people tap somewhat slower as the test progresses because their fingers and hands begin to fatigue.”
Pujols tapped with such force, in fact, that, at one point, he actually knocked the tapping key out of alignment. Pujols then helped White repair the finger tapper, tightening a loosened screw with his fingernail, she said.
On additional test I’d pose is: How many members of an agile team can you depress in ten seconds?
Posted in Miscellany | Comments Off on Washington University Discovers Appropriate Tests for Testers
At the dojo, kyoshi told us the parable of the saw:
There was a woodsman who went into the woods one day to cut some wood, and he began cutting wood. He didn’t want to waste any time, so he cut all through the day, working harder as his saw grew duller. Another woodsman too frequent breaks to sharpen his saw, and he could cut more efficiently than the first woodsman, who didn’t want to waste the time in sharpening his saw. Now, at the end of the day, who had the most wood? The second woodsman.
He’s right, of course; we need to take breaks to recenter ourselves, to focus on something other than our computer or mobile screens while working. Have you ever had a project or a deadline where you want to just bull rush through your list of tasks and responsibilities without taking a break or you’ll never get it done. Maybe some of you face each day that way.
However, focusing so hard that the pixels start to swim isn’t the solution. You should get up, walk over to the window, maybe even step outside for a minute. Take a breath of the fresh air or, if you’re in the city, try to guess if that’s the smell of the tannery or the chocolate factory.
But what’s important is that you get up, stretch, and do something other than sit at the computer. Don’t just switch out of the application you’re working on and check Twitter or read a blog entry. These don’t give you the chance to refocus.
And when you’re done and you sit back down at the computer, you’ll be sharpened like a saw and ready to see what’s before you on the screen instead of waving lines of endless obligation.
Posted in Miscellany | Comments Off on The Parable of The Saw
Here’s a story about how a default in a drop-down list almost killed a young man even though a complete triple-checked system and warnings should have prevented it.
The clinicians involved in Pablo’s case that day — physicians, nurses and pharmacists—all made small errors or had mistaken judgments that contributed to their patient’s extraordinary overdose. Yet it was the computer systems, and the awkward and sometimes unsafe ways that they interact with busy and fallible human beings, that ultimately were to blame. And the biggest culprit may well have been the hospital’s incessant electronic alerts. Some automated warnings misled the medical staff; others were lost in the cacophony of alarms going off throughout the hospital.
Read the whole thing, and think about how it should impact your application design and testing.
Posted in Miscellany | Comments Off on No Deadlier Default
This list talks about active retention strategy and dedicates a couple of bullet points to it.
However, I’d swap out those for a couple of other ideas, such as:
Keep the employees doing the same things for a long period of time. The tedium of a couple of videos during orientation is nothing compared to doing the same tasks over and over again for years.
Don’t demonstrate the employee’s impact or meaning to the company effort. Especially in the auxiliary jobs–like QA–where employees might not see how their efforts are helping the company. Employees who feel forgotten, who feel as though they don’t matter, or feel as though they’re taken for granted are not employees for long.
Don’t succeed as a company. If your employee doesn’t see the company as a long-term success, the employee will look for one that is.
Build a corporate culture catering to one lifestyle. The stereotypical startup involves coding all night fueled by energy drinks and pizza, having crazy outings as a company, and funky office space with video games, a bar, and/or foosball/pool/bubble hockey tables. This is all well and good for a certain kind of employee–one fresh out of college or the parents’ basement, but if the culture favors only on those employees (especially if the culture is supposed to make up for lesser pay, longer hours, or other shortcomings), employees who move out of that phase of their lives will go look for a grown up company to work for.
That would bring the number up to more than ten, though.
The song says there are fifty ways to leave your lover (although the song itself does not enumerate them all, and Paul Simon marked that defect Resolved (Won’t Fix)). There are probably that many ways to lose your worker, too.
Posted in Management | Comments Off on Top 10 Ways To Ensure Your Best People Will Quit
When I was a lad, fresh out of the university with a degree in English and Philosophy and no actual career prospects, I worked as a produce clerk for a small off-chain produce and cheese shop. They had daily garbage pickup on weekdays, but nothing on the weekends, which were some of the busiest days of the week. As a result, on Sunday afternoons, the dumpster started to fail boundary analysis, at which time the store manager would order a clerk or two to climb up onto the pile and jump up and down to compact it so we could dump the last few cans of refuse into it. Come to think of it, I’ve seen the same philosophy applied to hardware resource management.
So as I stood and watched the younger kids jumping in the dumpster, I decided that if I was ever ordered to climb into the dumpster, I would drop my apron in the alley and never come back.
PayPal is working on a new generation of embeddable, injectable and ingestible devices that could replace passwords as a means of identification.
Jonathan LeBlanc, PayPal’s global head of developer evangelism, claims that these devices could include brain implants, wafer-thin silicon chips that can be embedded into the skin, and ingestible devices with batteries that are powered by stomach acid.
These devices would allow “natural body identification,” by monitoring internal body functions like heartbeat, glucose levels and vein recognition, Mr LeBlanc told the Wall Street Journal.
Over time they would come to replace passwords and even more advanced methods of identification, like fingerprint scanning and location verification, which he says are not always reliable.
I’d rather not be personally, bodily on the Internet of Things unless there’s a compelling medical reason for it, and even then I’m going to ask my doctor to examine all the steampunk options first.
Posted in Miscellany | Comments Off on The Day I Quit