Please create an account to participate in the Slashdot moderation system

 



Forgot your password?
typodupeerror
×
Microsoft

Microsoft's OOXML Formulas Could Be Dangerous 360

hill101 writes "According to Rob Weir's blog, Microsoft's 325-page OOXML specification for spreadsheet formulas is deeply flawed. From basic trigonometric functions that forget to specify units, to statistical functions, to critical financial functions — the specification does not contain correct formulas that could possibly be implemented in an interoperable way. Quoting Mr. Weir: 'It has incorrect formulas that, if implemented according to the standard, may cause loss of life, property, and capital... Shame on all those who praised and continue to praise the OOXML formula specification without actually reading it.'"
This discussion has been archived. No new comments can be posted.

Microsoft's OOXML Formulas Could Be Dangerous

Comments Filter:
  • by BerntB ( 584621 ) on Wednesday July 11, 2007 @05:12AM (#19823079)

    Just another product that's supposed to mature after extensive paying-user-beta-testing.

    I wish it was that "good". :-(

    The OOXML spec seems to be a dump of the MS Office data formats, so it should already be decades old. But sure, let us not assume malice when stupidity will suffice as explanation. I mean, we don't speak about condemned criminal here, do we? Oh, wait...

  • by Anonymous Coward on Wednesday July 11, 2007 @05:19AM (#19823105)
    The trig functions take arguements in radians, and the arctrig functions return radians. This doesn't ever need to be said - it's goddamn assumed by anyone who knows what they are doing. Unless degrees are specifically mentioned, you always assume it's radians. ALWAYS. I might as well complain that when I press the pi button on my calculator it outputs a number but doesnt specify whether it's in base10 or something else...

    If someone thinks that these functions even MIGHT work with degrees, than they should NOT be implementing them for anything that might cause the "loss of life, property, and capital". Leave the important stuff like that to professionals.
  • by RuBLed ( 995686 ) on Wednesday July 11, 2007 @06:15AM (#19823347)
    My dear friend, I am quite sure that at the very least, you are not a reader of http://worsethanfailure.com/ [worsethanfailure.com] There's still hope and time for those who are yet to be welcomed to the fold. My friend, read and be enlightened...
  • by simong ( 32944 ) on Wednesday July 11, 2007 @06:18AM (#19823359) Homepage
    Depends what you call mission critical. Excel was used in voting systems in the Scottish and local elections in the UK this year, and Diebold's GEMS system uses Access as a database. High tech indeed.
  • Article on BBC (Score:3, Informative)

    by H4x0r Jim Duggan ( 757476 ) on Wednesday July 11, 2007 @07:23AM (#19823621) Homepage Journal

    The BBC have published an article by FSFE [bbc.co.uk] also explaining the general problems of MS's non-open OOXML format (and proprietary formats in general).

  • Comment removed (Score:3, Informative)

    by account_deleted ( 4530225 ) on Wednesday July 11, 2007 @07:51AM (#19823739)
    Comment removed based on user account deletion
  • by clickety6 ( 141178 ) on Wednesday July 11, 2007 @08:25AM (#19823979)
    LOGO

    Example 1: a square

    FORWARD 100
    LEFT 90
    FORWARD 100
    LEFT 90
    FORWARD 100
    LEFT 90
    FORWARD 100
    LEFT 90

  • by Lonewolf666 ( 259450 ) on Wednesday July 11, 2007 @08:48AM (#19824117)
    -Which version of MS Office (including level of Service pack)?
    -And who guarantees that the "reference implementation" is still available 5 years from now? (hint: Microsoft tends to discontinue sale of its products after a few years).
  • Re:Guess what? (Score:5, Informative)

    by azrider ( 918631 ) on Wednesday July 11, 2007 @09:27AM (#19824433)

    Touche on the high school part, forgot about that. :) The main customers are of course still enterprises. I still think the default argument should be radians.
    Who cares whether the default argument is degrees or radians. Two things are missing from the quoted "specification" document:

    1: What is the default argument

    2: Is the specification consistent across all functions which use this type of value as an argument

    A specification which conforms to neither proper or common usage is worse than no specification at all

    This is what Rob Weir was saying.

  • by tinkerghost ( 944862 ) on Wednesday July 11, 2007 @09:47AM (#19824615) Homepage

    When other people claim a standard is fully defined, it means that all the standard use cases are defined* - units, expected parameters, optional parameters, etc. In the real world, nobody uses radians. Radians are used by engineers & scientists. Pilots, backyard builders, school children, and the occasional office worker use degrees.

    To be honest, nobody cares if OOXML defines SIN(x) to take radians, degrees, gradians, or hyperbian-arc-vectors. What we care about is that someplace in the fully defined standard, OOXML needs to say:

    DEFINE: SIN(x[,unit])

    • SIN: geometric function dictating the height of a right triange with a hypotonous of 1 and an angle of x.
    • x: parameter describing the angle to be operated on by the sin function
    • unit - optional: one of a predescribed list of standard descriptors for angle:
      1. D: Degree - unit of angle defined as 1/360th of a full circle
      2. R: Radian - defined as the angle at which the length of an arc is the same as the radius of the arc. 1/2Pi of a full circle ~ 57.3 degrees
      3. G: Gradian - unit of angle defined as 1/400th of a full cicle.
      Missing unit parameters are defaulted to Radians. Unknown unit parameters will result in a type error.

    That's how a proper standard useable for international work in multiple fields is defined. You do not just dump your US help file into the standard & call it done. I have had to deal with a lot of standards, both Military and Industrial, the OOXML standard is well below the grade of the average Mil or Ind standard.

    That's before you get to the point of inclusions in the standard like "Must Replicate Office 98 Behaviour for this feature". Now, if there was a reference to another standard that defined Office 98 behaviour, then it's not a problem. However, I don't see a reference included in the OOXML standard. Worse, for dates, OOXML defines the proper behaviour as their broken implimentation of the Gregorian Calendar - a direct conflict to the existing ISO standards.

    I don't care who sponsored this standard, it's not a properly writen standard. It has huge holes & it's contradictory to several existing standards. Either one should get it rejected. If MS cleans it up so it meets the actual requirements of a "STANDARD" then they should get approved. If they leave it as the crap heap it is, it should be rejected.

    *- if passing sqr(-6) as a unit works in the implimentation, that's not the standards problem. However, if the standard fails to mention the default unit type & the existance of the unit parameter, then there's an issue.

  • Re:Guess what? (Score:5, Informative)

    by Hoi Polloi ( 522990 ) on Wednesday July 11, 2007 @10:29AM (#19825053) Journal
    The number 360 isn't arbitrary. It stems from mesopotamia and the need to represent numbers as fractions. People needed a number that could be divided by 2, 3, 4, 10, 12, etc easily in one's head yet big enough to provide small fractions.

    From wikipedia:

    "The number 360 as the number of 'degrees' (i.e. smallest practical sub-arcs) in a circle, and hence the unit of a degree as a sub-arc of 1360 of the circle, was probably adopted because it approximates the number of days in a year. Its use is often said to originate from the methods of the ancient Babylonians. Ancient astronomers noticed that the stars in the sky, which circle the celestial pole every day, seem to advance in that circle by approximately one-360th of a circle, i.e. one degree, each day. Primitive calendars, such as the Persian Calendar used 360 days for a year. Its application to measuring angles in geometry can possibly be traced to Thales who popularized geometry among the Greeks and lived in Anatolia (modern western Turkey) among people who had dealings with Egypt and Babylon.

    Another motivation for choosing the number 360 is that it is readily divisible: 360 has 24 divisors (including 1 and 360), including every number from 1 to 10 except 7. For the number of degrees in a circle to be divisible by every number from 1 to 10, there would need to be 2520 degrees in a circle, which is a much less convenient number.

    Divisors of 360: 1, 2, 3, 4, 5, 6, 8, 9, 10, 12, 15, 18, 20, 24, 30, 36, 40, 45, 60, 72, 90, 120, 180, 360"
  • by advocate_one ( 662832 ) on Wednesday July 11, 2007 @10:40AM (#19825171)
    pilots use degrees yes, however, the software in the navigation computers is using radians... and there's all sorts of conversion shenanigans going on between different units communicating with each other... you may find this hard to believe, but the system I'm currently working on transmits position from the GPS to the Inertial navigation unit in radians, between the INU and the navigation computer in degrees, internally in the navigation computer, all calculations are done in radians, it is displayed in degrees to the pilot on his multi function displays, but transmitted to the Head up display in radians and yet again displayed there in degrees...
  • Re:Impartial reviews (Score:5, Informative)

    by armb ( 5151 ) on Wednesday July 11, 2007 @10:58AM (#19825357) Homepage
    > While I fully agree that the rules of English are screwed up, you need to put your trailing comma before the closing quote

    That's the rule for American English. British English is often more logical.
    http://grammar.ccc.commnet.edu/grammar/marks/quota tion.htm [commnet.edu]
    http://www.catb.org/jargon/html/writing-style.html [catb.org]

Kleeneness is next to Godelness.

Working...