Categories

## Playing: The Devil’s Calculator

Cinq-Mars Media: The Devil’s Calculator

The Devil’s Calculator is a game with a simple concept. You have a calculator with unknown operators replacing the normal calculator options of plus, minus, x, and dot line dot or whatever those are. You have to play around to figure out what the mystery operators do, and then use them to get the calculator to output `666` in some way.

The game has 68 base levels (there are post-game ones, and you can create your own, too) in a few distinct phases:

1. Unary operators (or single-argument functions)
2. Binary operators (or two-argument functions)
3. Unary and binary together
4. Number sequences (or mapping functions)
5. Number sequences and one unary or binary
6. All three types together

Number sequences are patterns, such as the Fibonacci sequence, where inputting a number `n` refers to the `n`th number in that sequence.

Within each phase, the first levels are easier, and they get harder as you go, following a rollercoaster-type pattern. After each of the first segments there are short montages that show you what the new operator type is (unary, binary, and sequence).

The input of numbers and functions can be complex or simple, with recursion and order of operations coming into play.

For example, with a unary operator `&`, `-` (unary negation), and the number `3`, you can do:

• `&3`
• `&-3`
• `-&3`
• `-&-3`
• Multiple uses of `&` on top of those above.

So, if `&` is `f(x) = -x + 1`, the outputs would be:

• `-2`
• `4`
• `2`
• `-4`

## Approaching the Game

Each level has two parts:

1. Figuring out the operators and sequences involved.
2. Figuring out how to use those to create the number `666`.

I often found part two of the levels, getting that number out, to be harder than figuring out the level’s tools. Both parts are made harder at times by numbers and the decimal and plus/minus keys being possessed so that you cannot use them. On the other hand, that possession also gives a clue that having those keys might make things too easy.

Players should use all the tools at their disposal. The game itself includes references and links to Wolfram Alpha (Wolfram|Alpha) and the Online Encyclopedia of Integer Sequences (OEIS). I used the latter for several of the sequence levels, but instead of Wolfram Alpha I tended to use Python scripting when I needed a leg up on some of the calculating.

Players should also keep a list of their answers, including what they understood the operators and sequences to be, as some of them are reused, and even looking at what you’ve done before can help to inform your approach to the next levels.

## Difficulty

I consider it moderately difficult (I’m on level 64 after about ten hours of play), but it’s harder to handicap as the difficulty will vary by how familiar and experienced the player is with math. For students without much mathematical background, it would be more difficult, and they would be best off by tackling the levels over a longer period of time. For more experienced math persons, it would probably be a crack.

There are hints available, and you can skip levels if stuck (though the next level may also be sticky).

As I work on the final levels of the game, I’ve enjoyed my time with it. With each level beaten, there is a feeling that you are outsmarting that devil that has taken over the calculator. If you have a decent math or programming background or want to improve your math, it’s definitely worth a look.

Categories

## Big Data Needs Variables

Many concepts from Mathematics, Computer Science, and programming should be leveraged to improve our social/market interactions. One such concept is the variable.

You may know one from algebra as `x`. `x = 3; x + y = 7; y = 4`. But now `x = 11`, which means `x + y = 7; y = -4`.

A sensible, successful information society depends on proper segregation and apportionment of data. But you wouldn’t know it based on the governments’ and corporations’ attitudes towards our data.

What do I mean by segregation of data? I mean that certain information is need-to-know. For example, a corporation does not necessarily need to know my physical address, my e-mail address, my phone number, my date-of-birth, et cetera.

Why do they ask for these things, then? Because they don’t have an alternative choice.

Why should they want an alternative? Look at my examples above and you will notice that except for date-of-birth, they can and will all change from time to time.

What they should want, in lieu of an e-mail address or credit card or other billing data: a variable.

A credit card’s processing information is sort of like a variable. You can pay it off with cash (if the issuing bank is local to you), check, other credit, et cetera. But in its use, it has become largely become a value in itself. It expires, and knowledge of it is treated as authorization to charge to it.

A variable names a piece of ephemeral data. You can e-mail me at variable@variable.invalid (which might as well be programmatically generated for our purposes), and that can then point to my current e-mail.

A strong variable system can mean that I control the value on an ongoing basis, while depending parties don’t have to worry about me updating their copy of my data when it changes.

Have you ever changed e-mail addresses and had to go to umpteen different online accounts to change it? Maybe not if you’re young enough to always have only had one account, but if you’re old enough to have seen your primary e-mail change from, say, hotmail, to gmail, and maybe something else in the future (eg, an employer-based mail or some secure alternative, at least for some uses), you know that pain.

That needless pain, which harms the corporation just as much. Because they see some value in knowing how to contact you, but not enough to recognize the real and profound risk they are placing on themselves by not looking toward a variable-based solution.

Okay, but I mentioned something about apportionment of data. What’s that? The data should have a home, and maybe a vacation place or safe house. But it should not live everywhere. A thousand copies of data that do not follow ACID (Atomicity, Consistency, Isolation, Durability) — in this case the C-as-in-Consistency, is begging for pain.

You want data to be properly allocated across the world for security and privacy, too. If you let the data seep all over, that’s a lot of targets to get your information from.

Other benefits include being able to seamlessly transition between services. The next gmail will have a harder time making a dent in the market, when everyone has to change their services to point to their new shinymail address.

The benefits of variables currently get ignored by big businesses, because they think that their database values outweigh the costs. But my guess is if you look at aging databases, like MySpace or Hotmail, they lost opportunities more than they ever monetized their databases.