Feeds

We only use above average programmers here...

Floating point and legacy

Remote control for virtualized desktops

A number of people have commented that "nobody" uses Floating Point in financial calculations, for all the reasons Dan Clarke went into in his recent article on Floating Point and rounding issues.

But it seems to me that this misses the point. Yes, I'm old enough to remember when IBM mainframes, and its COBOL, supported BCD (binary coded decimal) and, since I was working for a bank, our coding standards warned you about Floating Point and rounding/truncation effects generally.

So, lots of languages and hardware today support decimal arithmetic and other relatively safe ways of doing financial calculations - but who tells programmers to employ them? Who, for that matter, reads (or writes) coding standards manuals?

Well, some people do and some places will (possibly more sensibly) see training courses as a more effective alternative to standards manuals, but floating point arithmetic, in the wrong place, is still a bug waiting to happen.

Surely, the common assumptions that "all our programmers are above average" (really? are you sure? do you have any metrics for this?) and "no-one competent enough to be employed here would ever do that" are exactly what give rise to the sort of expensive bugs that pop up in the Risks Digests and embarrass everyone?

I once worked for a bank that only employed above average people. One of them decided to write a new date routine using 9s complement arithmetic, so that dates were stored/retrieved in some "right" order - but he couldn't do 9s complement arithmetic himself reliably.

Then, there was the guy that could write database locks more efficiently than IBM could - but forgot to issue any unlocks. I doubt either of these people lasted long, they were pretty much "below average", but some people can write a lot of code in three months or so - I wonder how much of it is still there in this bank's systems...

Although, perhaps it is pretty safe by now. That is one of the good things about legacy systems – like old houses, if they haven’t already fallen over and been abandoned, they’ve settled into rock-solid stability over the years. Although, like old houses, they can be tricky to maintain...®

Choosing a cloud hosting partner with confidence

More from The Register

next story
Be real, Apple: In-app goodie grab games AREN'T FREE – EU
Cupertino stands down after Euro legal threats
Download alert: Nearly ALL top 100 Android, iOS paid apps hacked
Attack of the Clones? Yeah, but much, much scarier – report
Microsoft: Your Linux Docker containers are now OURS to command
New tool lets admins wrangle Linux apps from Windows
Bada-Bing! Mozilla flips Firefox to YAHOO! for search
Microsoft system will be the default for browser in US until 2020
Facebook, working on Facebook at Work, works on Facebook. At Work
You don't want your cat or drunk pics at the office
Soz, web devs: Google snatches its Wallet off the table
Killing off web service in 3 months... but app-happy bonkers are fine
prev story

Whitepapers

Why and how to choose the right cloud vendor
The benefits of cloud-based storage in your processes. Eliminate onsite, disk-based backup and archiving in favor of cloud-based data protection.
A strategic approach to identity relationship management
ForgeRock commissioned Forrester to evaluate companies’ IAM practices and requirements when it comes to customer-facing scenarios versus employee-facing ones.
How to determine if cloud backup is right for your servers
Two key factors, technical feasibility and TCO economics, that backup and IT operations managers should consider when assessing cloud backup.
Reg Reader Research: SaaS based Email and Office Productivity Tools
Read this Reg reader report which provides advice and guidance for SMBs towards the use of SaaS based email and Office productivity tools.
Protecting against web application threats using SSL
SSL encryption can protect server‐to‐server communications, client devices, cloud resources, and other endpoints in order to help prevent the risk of data loss and losing customer trust.