January/February 2018 issue of acmqueue

The January/February issue of acmqueue is out now

The Bike Shed


  Download PDF version of this article PDF

ITEM not available


Originally published in Queue vol. 9, no. 2
see this item in the ACM Digital Library



Jez Humble - Continuous Delivery Sounds Great, but Will It Work Here?
It's not magic, it just requires continuous, daily improvement at all levels.

Nicole Forsgren, Mik Kersten - DevOps Metrics
Your biggest mistake might be collecting the wrong data.

Alvaro Videla - Metaphors We Compute By
Code is a story that explains how to solve a particular problem.

Ivar Jacobson, Ian Spence, Pan-Wei Ng - Is There a Single Method for the Internet of Things?
Essence can keep software development for the IoT from becoming unwieldy.


(newest first)

Displaying 10 most recent comments. Read the full list here

Poul-Henning Kamp | Fri, 25 Feb 2011 09:22:57 UTC

Stu: Nice theory, but they are not reimplementations, they are copy & paste.

Stu Savory | Fri, 25 Feb 2011 05:33:17 UTC

Reimplementation of crypto algorithms may be due to paranoia. You write your own because you are unsure whether someone else's has a back door in it. Just sayin' ;-)

Greg | Thu, 24 Feb 2011 15:41:34 UTC

At the risk of having rotten tomatoes thrown at me... Why not submit the crypto library to Boost?

Parrotlover77 | Thu, 24 Feb 2011 15:19:49 UTC

@Siderite Nice slam on the financial market and Microsoft, but so-called "Bankers' Rounding" is actually quite common in many disciplines, including IT.

From Wikipedia...

A tie-breaking rule that is even less biased is round half to even, namely If the fraction of y is 0.5, then q is the even integer nearest to y. Thus, for example, +23.5 becomes +24, +22.5 becomes +22, 22.5 becomes 22, and 23.5 becomes 24. This method also treats positive and negative values symmetrically, and therefore is free of overall bias if the original numbers are positive or negative with equal probability. In addition, for most reasonable distributions of y values, the expected (average) value of the rounded numbers is essentially the same as that of the original numbers, even if the latter are all positive (or all negative). However, this rule will still introduce a positive bias for even numbers (including zero), and a negative bias for the odd ones. This variant of the round-to-nearest method is also called unbiased rounding (ambiguously, and a bit abusively), convergent rounding, statistician's rounding, Dutch rounding, Gaussian rounding, or bankers' rounding. This is widely used in bookkeeping. It is the default rounding mode used in IEEE 754 computing functions and operators (and in various computing languages such as ANSI/ISO C, C++, and Java, for their float and double types).

Kellen | Thu, 24 Feb 2011 14:29:57 UTC

Which begs the question, what is it that you, Bruce, think "begs the question" means.

mitza | Thu, 24 Feb 2011 11:23:58 UTC

Well I guess the next generation FOSS will build a better codebase using better data mining... I guess the way C/C++ uses libs is also iin the way so maybe in the future a mono-like approach will make this issue to diminish considerably.

Mateusz Kierepka | Thu, 24 Feb 2011 09:29:29 UTC

That's why we have .NET & mono ;)

Siderite | Thu, 24 Feb 2011 09:10:52 UTC

You are assuming that an algorithm (at least) has the same specifications everywhere. I was surprised to see yesterday that in C# Math.Round(4.5) results in 4. Searching the documentation I found that by design the default behavior is based on "banker's rounding". Like the financial bubble wasn't evil enough, now they mess with rounding algorithms. Anyway, silly me for thinking the algorithm should have behaved like any other math.round, including the one in IE's implementation of Javascript.

Poul-Henning Kamp | Thu, 24 Feb 2011 07:38:18 UTC

Andrew: You're welcome to do the experiment, but I doubt you will find any. I did a few comparisons and I only think I found 2 different implementations of SHA256. This really is the most incredible pointless copy&paste in history.

Andrew Stone | Thu, 24 Feb 2011 02:50:05 UTC

Would be interesting to try to look for bugs in implementations by comparing them

Displaying 10 most recent comments. Read the full list here
Leave this field empty

Post a Comment:

© 2018 ACM, Inc. All Rights Reserved.