As anyone who was following last week’s announcements of the OMGWTF finalists, my own Ecumenicalculator failed to make the cut.

Apparently implementing a four-function calculator without using the language’s arithmetic operators — or numbers, for that matter — didn’t sufficiently tickle the first-round judges’ fancies. I don’t know if there’s going to be some kind of honorable mentions or anything, but implementing Church numerals and Lambda calculus in C++ to implement a calculator has got to be worth some props, right?

Now, some of the finalists look pretty good (judging from the writeups, at least). I do like the concept of an entry whose code base mimics a ailing multi-year development effort, and the one that does input through OCR and does computation symbolically on those user-defined “shapes”, and the one that implemented a virtual integrated circuit and then constructed the computation logic in terms of fundamental electronic components. So this post isn’t entirely sour grapes.

But several of the finalists are pretty hu-hum “let’s see how many pointless intermediate layers and Rube Goldberg chicanery I can fit in.” Yeah, there’s a WTF element to them, but there’s nothing particularly clever to the basic approach aside from finding the most arcane communications channels you can (like X window properties) to use. They’re lacking a unified overarching vision for why things are done the way they are. In Ecumenicalculator, aside from the “let’s not use any normal numbers or arithmetic” concept, all the other apparent strangeness has solid technical justifications for it.

If I had it to do over again, would I chance anything? Absolutely! I didn’t win with Ecumenicalculator, did I?

In hindsight, if I wanted a conceptual WTF approach (instead of Ecumenicalculator’s purely internal WTFery), I would do one based on Digital Rights ‘Rithmetic Management. In DRMCalc, the central premise would consist of two parts:

  1. Arithmetic operations are the precious intellectual property of DRMCalcCorp, and no one must be allowed to have it unless they pay for access.
  2. The user is a dirty rotten thief out to deprive DRMCalcCorp of its livelihood.

In other words, DRMCalc would answer the question “what would happen if the RIAA wrote a calculator?” DRMCalc would have some combination of the following features:

  • Each arithmetic operation (or “advanced” functions like trig) would be a separately installable module, in order to monetize potential revenue streams for increased functionality. (Hey user, if you like addition, you’ll love subtraction, only $49.95 per month!)
  • Each module will require a valid license key to operate. License keys would be based on a public key infrastructure; without the proper encryption and decryption keys, you can’t sign the inputs to the operation or decrypt the output.
  • Each module would phone home to a central server to verify that a license key hasn’t been revoked before accepting it. This would also allow detection of multiple users sharing a license key, which could lead to the key’s revocation.
  • Each module would also phone home each time a calculation is performed for, um, market research purposes. Also, DRMCalcCorp retains the rights to use all calculations you perform. (It’s in paragraph 175 of the EULA.)
  • Since arithmetic is the exclusive intellectual property of DRMCalcCorp, any other calculators on the system are violating DRMCalcCorp’s IP rights. On startup, DRMCalc would launch a stealthy, persistent set of processes to monitor system activity and sabotage any programs that look like they might be a calculator. (For example, running “killall -s SIGFPE gcalctool” will cause any running instance of GNOME’s calculator to think it crashed.) Covert channels are used to report such activity to the central server, since obviously use of an unlicensed calculator violates the EULA.
  • Advanced feature: DRMCalc would launch multiple instances of each module, which would use Byzantine consensus algorithms to prevent malicious user software from degrading DRMCalc’s accuracy. (I hear there’s programs out there that try to sabotage calculators!)
  • Really advanced feature: DRMCalc’s modules would periodically polymorph themselves to stymie reverse engineering efforts.

In other words, massive paranoia. Note that none of this has anything to do with the calculations itself, but rather comes out of a completely warped notion of what the calculator’s operational environment is going to be.

DRMCalc would actually probably be as much fun to write as Ecumenicalculator was, but given that there’d be no point in doing so aside from proving that it could be done, it’s not going to happen.

2 Responses

  1. I really thought Kulinicalculator really had a chance, at least from the bit of description I read/understood. :( Good try, though!

  2. Well, I could always write a few posts on how it works, if there’s demand for it….

Comments are closed.