Sometimes the simplest problems are harder than they first seem. A client once specified a requirement to me: we'll give you the VAT-inclusive (20%) price; you need to generate invoices showing the net and VAT amounts. Sounds easy, right? net = round(tot*5/6) vat = round(tot/6)
-
Show this thread
-
Some time passed. The client came back to me: "You've been calculating the invoices wrong! Our accountant has had to work an extra few days because about one in five of your invoices has an error of £0.01, and our accounts don't balance!"
1 reply 0 retweets 3 likesShow this thread -
Did you spot my error? So, what's the moral of this story? I'm not sure, because it's quite subtle, but I could claim that it's a case of "make impossible states unrepresentable". The challenge was in recognising that we were representing impossible states. Suggestions welcome.
10 replies 0 retweets 3 likesShow this thread -
Replying to @propensive
an accountant I worked with recommended adding a "fudge factor" column to ledgers...
1 reply 0 retweets 1 like -
Replying to @caoilte_oconnor
Yes, this sounds like an accountants' solution. And that's not meant to sound entirely dismissive: a few pennies lost in accounting doesn't indicate the same sort of problem or solution as an off-by-one error in software engineering.
2 replies 0 retweets 0 likes -
Replying to @propensive
for sure. I'm actually surprised that the client accountant bothered to fix it. I wonder if they felt compelled to by the way the system had been setup and whether they would have preferred it to be engineered to tolerate discrepancy.
1 reply 0 retweets 0 likes
I think their checksums were off, and they suspected a bigger problem, so spent a long time trying to find where the discrepancy was...
Loading seems to be taking a while.
Twitter may be over capacity or experiencing a momentary hiccup. Try again or visit Twitter Status for more information.