Thursday, February 25, 2010

Assessments 1.33

This version fixes how SUnit / SUnitToo resources are started. Moving along...

Assessments 1.32

This version cleans up how resources / prerequisites are stopped.

Assessments 1.31

I added support for SUnitToo's recursive resource dependencies.

Tuesday, February 23, 2010

Assessments 1.30

Additional improvements to resource handling. Enjoy!

Book update

The draft of Fundamentals' second volume is now up to page 62...

Assessments 1.29

I just fixed Assessments so that it treats resource failures as a reason to skip tests. I am not sure the implementation is final, as I'd prefer the prerequisite policy control what happens... we will see.

Saturday, February 06, 2010

Fundamentals, volume 2 update

I was unable to get back into my writing rhythm for quite a while, but I am getting on with the program again. The draft for the second volume of the Fundamentals book just reached 50 pages.

Chatter on Toyota

Lately, the news is full of "another safety problem for Toyota", "Toyota still does not have a fix", etc. Today, the NY Times has a headline stating "Toyota Has Pattern of Slow Response on Safety Issues". Well, I'd like to know what is, say, Chrysler's safety response pattern. Or GM's, Ford's, Honda's...

The problem with this type of headline is that it only says something is slow, but it does not compare it to anything else. For instance, I could say that 1GHz CPUs are slow. Sure, unless I am talking about something like this, in which case 1GHz CPUs are quite enough and also save you a lot of electricity.

Finally, Toyota's alleged safety procrastinations are nothing compared to what Boeing did with the 737 since the 90s. It took close to 10 years to (sort of) fix a design defect in the rudder controls that could (and did) send planes into a tailspin and into the ground. And I do not think the investigations were helped much when Boeing reportedly "lost" critical parts recovered from an accident. In the words of a pilot that survived,

"I have been told by my company [...] that the FAA and Boeing (were) aware of the problems with the spurious rudder inputs but considered them to be more of a nuisance problem than a flight safety issue. I was informed, that so far as everyone was concerned, the rudder hard-overs were a problem but that the 'industry' felt the losses would be in the acceptable range.

I was being mollified into thinking the incident did not happen, and for the 'greater good' it would be best not to pursue the matter. In other words I am expendable as are the passengers I am responsible for, because for liability reasons the FAA, Boeing et al cannot retroactively redesign the rudder mechanisms to improve their reliability."

So, really, I do not necessarily mind Toyota being trashed on the media. However, if the allegation is that Toyota is slow to react, I want to know what Toyota is slow in comparison to. And if Toyota has all these complaints against it, I want to know what are the numbers for other car manufacturers as well. Otherwise, how can anybody be sure this is not a smearing campaign that is out of touch with reality?

After a bit of searching, it turns out that Detroit's Free Press ran an article on December 30th that listed recalls and number of recalled vehicles per manufacturer. Unfortunately, Free Press' website does not seem to offer the story anymore. You can use this link to search for the story, then click on the first result --- it does not work. However, the search page offers a small clip of the story, and pushing that on Google finds other pages that apparently copied the story before it disappeared. For example, McHenry Software (?!) provides the following:

Dec. 30, 2009, Toyota's 1st in safety recalls for 1st time
Automaker struggles as acceleration problem lingers
BY JUSTIN HYDE, DETROIT FREE PRESS WASHINGTON STAFF
WASHINGTON -- In a first, Toyota led the U.S. auto industry in recalled vehicles this year, thanks to its largest safety-related problem since it began selling vehicles in the United States. The Japanese automaker has struggled with the fallout from the recall of 4.3 million Toyota and Lexus models for unintended acceleration linked to fatal crashes. Toyota told federal officials earlier this month it would start fixing the vehicles now, but some repairs would not be ready until March. According to a Free Press analysis of federal data, automakers recalled 15.2 million vehicles in 2009, a sharp jump from 8.6 million in 2008.

Recalls tied to variety of safety woes: From misplaced labels and faulty seat-belt reminder buzzers to engine fires and broken wheels, the 117 recalls from automakers in 2009 covered a vast range of safety-related problems. Such problems are as close as the federal government comes to tracking the quality of cars and trucks, and in years past have mirrored the quality scores from outlets such as Consumer Reports.

Acceleration isn't only problem: While Toyota's accelerator problem accounted for most of the nearly 4.9 million vehicles it recalled in 2009, the automaker issued eight other recalls for problems ranging from missing safety labels to corroded pickup frames that pushed it to its top spot.

GM issues most recalls General Motors recalled 2.3 million vehicles, the third-highest total, but had the most recalls issued among automakers with 17.

Then there's a graphic that lists recalled vehicles and recalls per manufacturer. Since the page shows a jpg file, I'd rather copy the numbers here for easier consumption:
  • Toyota, 9 recalls, 4,872,583 cars.
  • Ford, 8 recalls, 4,521,993 cars.
  • GM, 17 recalls, 2,242,230 cars.
  • Hyundai, 7 recalls, 1,059,617 cars.
  • Nissan, 6 recalls, 706,982 cars.
  • Chrysler, 16 recalls, 590,044 cars.
  • Honda, 4 recalls, 454,003 cars.
  • Volvo, 7 recalls, 191,705 cars.
  • Kia, 2 recalls, 176,382 cars.
  • Mazda, 6 recalls, 131,920 cars.
  • Volkswagen, 8 recalls, 100,764 cars.
  • Mitsubishi, 4 recalls, 76,498 cars.
  • Subaru, 1 recall, 21,357 cars.
  • Jaguar, 2 recalls, 16,828 cars.
  • Mercedes-Benz, 4 recalls, 16,356 cars.
  • Maserati, 3 recalls, 8,736 cars.
  • Ferrari, 2 recalls, 4,306 cars.
  • Land Rover, 2 recalls, 4,041 cars.
  • BMW, 2 recalls, 2,858 cars.
  • Tesla, 4 recalls, 345 cars.
  • Lotus, 1 recall, 87 cars.
  • Roush, 1 recall, 81 cars.
  • Bentley, 1 recall, 27 cars.
Total, 117 recalls, 15,119,923 cars. However, note how Ford's number of recalled cars is quite close to Toyota's. How should we interpret this? For example, we could normalize these numbers according to the market share of these manufacturers. If we do that, then we could derive, say, the number of recalls per 1% of market share. We will call this the Badness Unit, or BU for short (some among the audience may chuckle by renaming the BU as the Business-as-usual Unit).
  • Toyota, 16.73% market share, 291,248 BUs.
  • Ford, 15.29% market share, 295,748 BUs.
  • GM, 19.58% market share, 114,516 BUs.
  • Hyundai, 4.10% market share, 258,443 BUs.
  • Nissan, 7.27% market share, 97,246 BUs.
  • Chrysler, 8.79% market share, 67,127 BUs.
  • Honda, 10.86% market share, 41,805 BUs.
  • Volvo, 0.58% market share, 330,526 BUs.
  • Kia, 2.83% market share, 62,326 BUs.
  • Mazda, 1.96% market share, 67,306 BUs.
  • Volkswagen, 2.79% market share, 36,113 BUs.
  • Mitsubishi, 0.51% market share, 149,996 BUs cars.
  • Subaru, 2.04% market share, 10,469 BUs.
  • Jaguar, 0.11% market share, 152,982 BUs.
  • Mercedes-Benz (assuming Daimler), 2.43% market share, 6,731 BUs.
  • Maserati: no data.
  • Ferrari: no data.
  • Land Rover, 0.25% market share, 16,164 BUs.
  • BMW, 2.28% market share, 1,254 BUs.
  • Tesla: no data.
  • Lotus: no data.
  • Roush: no data.
  • Bentley: no data.
So, what can we make of this? That, in terms of how likely it is for your car to be recalled, Toyota is about the same as Ford. If there is so much outcry for Toyota, where is the outcry for Ford? If Toyota decides to stop selling cars until problems are fixed, what should Ford do? Of course, I do not know how serious Ford's recalls are. But do you know?

By the way, IIRC there had been recent good press about how Ford's quality had been improving. Well, so much for that. In any case, here is the manufacturer list sorted by BUs. Draw your own conclusions!
  • BMW, 2.28% market share, 1,254 BUs.
  • Mercedes-Benz (assuming Daimler), 2.43% market share, 6,731 BUs.
  • Subaru, 2.04% market share, 10,469 BUs.
  • Land Rover, 0.25% market share, 16,164 BUs.
  • Volkswagen, 2.79% market share, 36,113 BUs.
  • Honda, 10.86% market share, 41,805 BUs.
  • Kia, 2.83% market share, 62,326 BUs.
  • Chrysler, 8.79% market share, 67,127 BUs.
  • Mazda, 1.96% market share, 67,306 BUs.
  • Nissan, 7.27% market share, 97,246 BUs.
  • GM, 19.58% market share, 114,516 BUs.
  • Mitsubishi, 0.51% market share, 149,996 BUs.
  • Jaguar, 0.11% market share, 152,982 BUs.
  • Hyundai, 4.10% market share, 258,443 BUs.
  • Toyota, 16.73% market share, 291,248 BUs.
  • Ford, 15.29% market share, 295,748 BUs.
  • Volvo, 0.58% market share, 330,526 BUs.
If somebody could run these numbers for, say, 2005 through 2008, then plot the resulting BU curves on a graph, that would be great :). Note that the above still says nothing about how quickly a given car manufacturer addresses safety problems!

Friday, February 05, 2010

Assessments 1.27 and 1.28

I just published Assessments 1.27 and 1.28 to the public Store repository. Here are the changes:

  • Support for test skipping based on resource (prerequisite) availability. This feature should be available in SUnit 4.x.
  • Support for the latest resource (prerequisite) check sorting in SUnit and SUnitToo.
  • Slimmed down the execution stack down to one exception handler, simplified the execution model a bit.
Enjoy!

Wednesday, February 03, 2010

SuperPower oneWayBecome: SuperResponsibility

So let's say you like super powers, right? Execute the following code.

    a := ClassA new.
    ClassA oneWayBecome: ClassB

What should be the response to the following expression?

    a class

Really? Why? :)...