Hacker News new | past | comments | ask | show | jobs | submit login

All the time.

If you want to be horrified, read about the ludicrous bullshit that is a breathalyzer. The fundamental problem seems to be three fold: first, as anyone not an idiot would expect, animals process alcohol differently so at best you have a model relating alcohol intake with alcohol present in the lungs. Second, the programming appears to be ludicrously bad [1]. Pigs and manufacturers have fought and fought to avoid having to share code behind these devices or present any proof that they measure what they purport to measure besides, "Trust me." When competent engineers have finally gotten their hands on code, you'll be unsurprised to discover it's full of bugs. Third, even accepting the bac to gas model arguendo, it's an open question if these devices measure what they purport to measure.

Just a few representative issues when competent software engineers have got their hands on the code:

   - Of the available 12-bits of A/D precision, just 4-bits (most-significant)
   are used in the actual calculation. This sorts each raw blood-alcohol reading
   into one of 16 buckets. (I wonder how they biased the rounding on that.)
   - Out of range A/D readings are forced to the high or low limit. This must 
   happen with at least 32 consecutive readings before any flags are raised.
   - There is no feedback mechanism for the software to ensure that actuated 
   devices, such as an air pump and infrared sensor, are actually on or off 
   when they are supposed to be.
   - The software first averages the initial two readings. Then it averages the 
   third reading with that average. Then the fourth reading is averaged in, 
   etc. No comments or documentation explains the use of this formula, which 
   causes the final reading to have a weight of 0.5 in the final value and the 
   one before that to have a weight of 0.25, etc.
   - Out of range averages are forced to the high or low limit too.
   - Static analysis with lint produced over 19,000 warnings about the code 
   (that’s about three errors for ever five lines of source code).
I would suggest we move to an impairment model of punishment rather than a blood alcohol. Regardless, it's a mockery of a justice system to have defendants convicted based on the flawed source code of a flawed model of human biology, that prosecutors have successfully loopholed their way into not having to defend, and that has essentially no publicly available evidence proving it measures what it purports to measure.

see also http://digital.law.washington.edu/dspace-law/bitstream/handl...

[1] http://embeddedgurus.com/barr-code/2009/11/breathalyzer-sour...

edit: and just so we're clear, drunk drivers are utter assholes. But it's a basic principle that you need a high likelihood of guilt to punish people. These breathalyzers seem like utter bullshit, used mostly as a pseudo-scientific gloss to help pigs + prosecutors punish those whom they wish to punish.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: