December 23, 2015 · 3:30 pm
BBC News reports that 3200 US prisoners were released early over a 13 year period due to a software bug. It’s hard to fathom how this could have been released in the first place, how it remained undetected for so long, and finally why it’s taken so long to fix.
The bug miscalculated the sentence reductions prisoners in Washington state had received for good behaviour. It was introduced in 2002 as part of an update that followed a court ruling about applying good behaviour credits.
Ok, we know that there’s always room for mis-interpretation of requirements when developing software, and every program needs some period of user acceptance testing.
The Washington Department of Corrections (DoC) added that it was made aware of the problem in 2012 when the family of one victim found out that the offender was getting out too early.
Huh? It took ten years for someone to notice? The average mis-calculation was 49 days and a maximum of 600 days – and it wasn’t noticed? What sort of testing did they do – surely some worked examples were provided?
Despite this, the faulty software was not corrected until a new IT boss for the DoC was appointed, who realised how serious the problem had become.
This is the crux of the matter – if you’re writing mission-critical software, you have to test accordingly. Here, prisoners released early may have committed further crimes – that’s a hefty penalty that could have been avoided by professional software practices: code reviews, test coverage analysis, user acceptance testing. Surely some regression data tests existed when they were releasing the upgrade – someone must have signed off that all these differences were fine “because the rules have changed”. Yes, but not by that much!
Mr Inslee said he had ordered the DoC to fix the software as quickly as possible. An update that applies the correct formula for calculating sentence cuts is due to be in place by 7 January.
Let’s hope they’ve thoroughly reviewed their test coverage now and that the release goes smoothly. Also, they should review any other software developed by the same team in that 2002 period, it’s unlikely to be an isolated mistake.
Filed under Musing, Programming
Tagged as Testing
July 28, 2015 · 6:52 pm
Bruce Dawson described programming as follows:
When I’m describing what I do for a living to non-programmers I sometimes say that I solve puzzles. I solve fascinating puzzles that are different every day, and there’s no answer key, and very often nobody else knows the solution. Whether it’s figuring out why code is slow, or why it is crashing, or how to make code simpler and better, it’s all puzzles, and I love it.
I think that’s a useful point of view. Whilst programmers need knowledge of some particular programming language and platform, it’s often the ability to solve puzzles that makes the star programmers stand out from the rest. An average programmer will often make a meal out of a simple task (whether it’s development or testing) because they can’t see an elegant way to a solution. The best programmers just get on with delivering quality, testing solutions without making a fuss – and they’re having a great time doing what they love!
November 11, 2014 · 6:12 pm
Good news that all is on track for Philae to attempt to land on a comet tomorrow. Even better, it seems to have developed a personality:
For some reason, when the lander is powered up, it switches to the back-up computer briefly before changing to the main one. Accomazzo says that this is just part of the spacecraft’s “personality”.
Sounds like something from the Sirius Cybernetics Corporation.
September 22, 2014 · 8:40 am
When working remotely, I am able to log into my desktop machine and work pretty much as if sitting at my desk in the office. Unfortunately, though, whoever wrote the remoting layer thought that “SHIFT+F3” would be an inconspicuous shortcut for logging out immediately, without even a confirmation dialog box.
My main applications include Visual Studio and Excel – so I log myself out several times a day when in-the-zone and either searching code or editing functions respectively.
I’ve resorted to taking the key out to avoid the reconnection penalty every time this happens.
September 14, 2014 · 9:00 pm
Interesting TED talk on “Flow”, that sometimes elusive state in which you feel incredibly productive, in which hours fly by and seem like minutes, and when the activity in which you’re engaged is a joy.
It appears that when Sony was founded, they got the idea of flow and set up the company to best achieve it for their engineers. This slide is also interesting:
It claims that flow is only possible for high skills, high challenge tasks. That would explain why I regularly achieve a flow state for harder development tasks that require an extensive skillset, yet a more mundane period of bug fixing is less challenging and so is unlikely to lead to flow.
September 10, 2014 · 5:08 pm
Apple have finally announced the Apple Watch. Based on the publicity photographs and rushed reviews that have been published so far, I’m a fan and will probably buy one. But it struck me that the grand new innovation, the Digital Crown, is hardly ground-breaking – my current Tissot watch has had it for ten years!
You see, the functions on my classic Tissot watch are entirely driven by the bezel. As well as the analogue time, it has a stopwatch, timer and digital date/time display.
The bezel acts in several modes:
- Rotate slowly to change hours
- Rotate quickly to change minutes
- Press to start/stop timer or stopwatch
- Pull out to change the time
What’s really clever is that, when the digital functions are hidden, the watch looks completely analogue. And the bezel reacts according to mode – it only bleeps when you press in stopwatch/timer mode, and ignores the press otherwise.
So whilst the Apple Watch is my next watch, my classic Tissot watch was there first.
Filed under Musing, Technology
Tagged as Apple
June 16, 2014 · 5:14 pm
Nice write-up of The Birthday Paradox on the BBC today.
It’s puzzling but true that in any group of 23 people there is a 50% chance that two share a birthday.
Some bright spark noticed that, with exactly 23 players in each World Cup 2014 squad, here was a topical example with which to test the theory, by which at least half of the 32 squads are expected to have a shared birthday.
Using the birthdays from Fifa’s official squad lists as of Tuesday 10 June, it turns out there are indeed 16 teams with at least one shared birthday – 50% of the total.
April 8, 2014 · 6:04 pm
I wonder if Apple realise just how much expectations are mounting regarding the launch of an iWatch? When I first heard about it, I loved the idea and the prospect without having a clue what it would do (a bit like the daughter of a colleague who asked for an iPod for Christmas and when he asked what she would use it for replied: “I dunno, I just want one”).
Now, a few months on, my expectations are higher. I want it to look like this:
And I want it to monitor my health and fitness, act as a heart rate monitor at the gym so I can exercise optimally, measure my activity during the day like a Nike fuel band, and interface to Google maps so that I can glance at my watch for directions instead of walking along holding out my smart phone.
Maybe all of these expectations will be off the mark – in which case, someone else will benefit from all the marketing that’s going on and Apple will lose out.
Filed under Musing
Tagged as Apple, iWatch
March 26, 2014 · 7:20 pm
These science jokes popped up on Flipboard today – some really good ones:
@PopSci I was going to tell a joke about sodium, but Na.
— Ian Haygreen (@IanHaygreen) March 24, 2014
@PopSci Being absolute zero is 0K with me
— Бeн (@benmhancock) March 24, 2014
@PopSci heisenberg is pulled over. “Do you have any idea how fast you were going?” asks the policeman. H: “No. But, I know where I am.”
@PopSci Higgs Boson walks into a church and says “you can’t have mass without me!”
March 4, 2014 · 7:22 pm
This book was pretty ordinary, which made me wonder how often you can accurately identify a rotten book within the first chapter? If you have a good prediction rate, you could save valuable reading time for better books. A give-away from this book was the amount of the story that was told via dialogue. Whole chapters without any narrative. And another flaw was the lack of emotional depth – much is made of a “Famous Day” that Kay and Simon spent together – so why not, you know, actually put it in the book. It needn’t even be at the start – tuck it in further down the book – but don’t leave it out completely!
Now, I think I would have given up on Free Fire too early, because that turned out to be pretty good. On the other hand, this book was poor and the only reason it escaped two stars was due to a much improved final couple of chapters.