OfficeQuest... Gamification for the Office Suite

While the evil makers of Candy Crush Saga are busy filing for their IPO, now is the time for Microsoft to add awesome Gamification features to their stalled Office Suite.

With help from Indie game developer Thomas White, here's our vision for "OfficeQuest". If you're listening, new Microsoft CEO Satya Nadella, this is the fresh idea your looking for to give the company a jolt of adrenaline and turn your CEOship into a new golden age for Microsoft!

MS Office with custom ribbon, that let's you purchase 'Stars'. Dialog says: 'Achievement Unlocked: Complete a sentence. Earn 1 Star.'

Dialog says: 'Emboldening Text... Instant Embolden for 1 Star.'

Googling for 'What Satya Nadella should do' showed me that a lot of people have already made a lot of suggestions for the good man to follow up. But my real suggestion is that Windows should build a real app store. With first class support for install, update, uninstall and purchase of real desktop apps. That would be awesome.

 

New product launch: NimbleSET

Hi there. So I've finally released my third product. After a discombobulating amount of toil, I've put out NimbleSET, your Venn-diagram SET comparison buddy. Download it, use it, register it, use it online, be amazing etc.

It's a very, very simple little tool, and I don't expect to make a mint from it. But it was a very good opportunity to sharpen up my application-production line. The next product will be easier, and so will the one after that, etc.

I've just used it to compare the ingredients between several different cocktails, in order to work out which ingredients offer the most utility. As a result I've decided to purchase limes and Bacardi. You could be drinking cocktails too, if you had a copy of NimbleSET.

NimbleSet comparing ingredients between a Mojito and a Strawberry Daiquiri

 

Programming The Robot from Diary of a Wimpy Kid

My daughter Lily has been reading her first ever novel, ' Diary of a Wimpy Kid' (recommended by Joe Cooney) and one part of the book led her to do some programming with me. Yay for reading! Yay for programming! and yay for my daughter!

Here's the story that inspired her:

We got to work. Someone had the idea that you can say your name to the robot and it can say it back to you.

Robot says "Hi BOB it is very nice to meet you BOB."

But then someone else pointed out that you shouldn't be able to use bad words for your name, because the robot shouldn't be able to curse. So we decided we should come up with a list of all the bad words the robot shouldn't be able to say.

We came up with all the regular bad words, but then Ricky Fisher came up with twenty more the rest of us had never even heard before.

So Ricky ended up being one of the most valuable contributors on this project.

Right before the bell rang, Mr Darnell came back in the room to check on our progress. He picked up the piece of paper we were writing on and read it over.

Mr Darnell looks over the piece of paper

To cut a long story short, Independent Study is cancelled for the rest of the year.

Diary of Wimpy Kid, Jeff Kinney

I said to Lily we could make a program like that and—get this—she was actually excited about the idea. So we sat down together and made a program. I asked for her help with every bit of it. Here is how it went:

namespace feedback
{
    using System;
    using System.Linq;

    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("Hello.");

            while (true)
            {
                Console.WriteLine("What is your name?");
                var name = Console.ReadLine();
                Console.WriteLine("Hi " + name + " it is very nice to meet you " + name + ".");
            }
        }
    }
}

Next we put in a secret codeword, 'Exit' that you could use when you want to stop.

if (name == "exit")
{
    break;
}

And then a secret codeword so if it recognised you it would change color:

if (name == "Lily")
{
    Console.ForegroundColor = ConsoleColor.Magenta;
}
else
{
    Console.ResetColor(); 
}

Lily said we could make it say your name backwards! So I tried this...

var backwardsName = name.Reverse();
Console.WriteLine("Hello " + backwardsName);

But instead of printing the name backwards, this printed...

Hello System.Linq.Enumerable+<ReverseIterator>‌d__a0`1[System.Char]

Try explaining THAT to a 6 year old.

It was easier to do it like this:

var backwardsName = "";

foreach (var letter in name)
{
    backwardsName = letter + backwardsName;
}

Console.WriteLine("Hello " + backwardsName);

That worked much better.

Now Lily had an even better idea. What if the robot said a different word for every letter of their name.

My work friends will know that Phonetic Alphabets are something we play with quite a bit, in order to make dealing with IT support easier (see also). But Lily independently came up with this idea, without any prompting from me.

So if you're name is Leon it would say "Hello Lemon-Echo-Octopus-Nose". Or words to that effect.

                var wordyName = "";
                foreach (var letter in name.ToUpperInvariant())
                {
                    letterNumber = Convert.ToInt32(letter) - 65;
                    if (letterNumber >= 0 && letterNumber < AlphabetWords.Length)
                    {
                        wordyName += AlphabetWords[letterNumber] + " ";
                    }
                }
                
                Console.WriteLine("Hello " + WordyName);

And this relied on coming up with a big alphabetic list of words. We had fun doing this together.

static string[] AlphabetWords = { 
    "Apple",
    "Bunya-Mountains",
    "Custard",
    "Dirt",
    "Eyeball",
    "Funny",
    "Gorilla-Gnome",
    "Hexaphone",
    "Igloo",
    "Jellybean",
    "Kitten",
    "Lolly",
    "Monkey",
    "NO!!!!",
    "Octopus",
    "Penny",
    "Queen",
    "Rhino",
    "Sugar",
    "Trickster",
    "Up",
    "Viking",
    "Warrior",
    "Xray-fish",
    "Yucky",
    "Zebra"};

Well, there it is. And a big thumbs up to Jeff Kinney for teaching people from an early age that user input is not to be trusted.

 

Happy new year 2014

I am truly beat! It's been a tough few days.

Dibbs—mon primo masseuse—sits on the floor in front of me, rubbing at my tired feet, while Carolyn, my sous masseuse, is working on my shoulders, trying to remove the knots. Cornish, the Somelier, is trying to find the perfect vintage to accompany the poached duck that Withers (my new Chef) is preparing for brunch. I try one, then the other. I'm not sure which is best. "Better buy both wineries," I say, and Cornish dashes off to make the arrangements.

My newly appointed personal DJ, the renowned "H-Dog", is fading out some Miles Davis, and fading in a little Acid Jazz. He's a quick learner, H-Dog, and knows from the slightest furrow of my brow exactly what sort of music will best suit my state of mind at any moment in time. A lesser DJ, for example, would've only played Sweet Child O Mine two times in a row. But H-Dog saw the smile on the corner of my lips, as I stepped out of the limousine this morning, and knew I needed to hear Sweet Child O Mine five times in a row, before switching straight over to Tangled Up in Blue followed by an hour of Led Zeppelin: Just The Guitar Solos.

Even up here on the penthouse floor, the glare from the ocean is striking my sunglasses at too oblique an angle: I might need to take the private jet back to Whistler for a little R&R amongst the snow-capped mountains.

I'm suddenly struck by a thought. Don't you hate it when a thought is like an itch: an itch deep inside your scalp. You feel your brain crawling; crawling and itching and thinking and thinking. You would do anything to kill the itching, crawling thought! I clap my hands and Karl, my recently acquired Master Of Knowledge Gathering, rushes into the room. "Orange!" I shout. "Orange. Is the color, Orange, named after the fruit, or is the fruit, Orange, named after the color?"

"Why Sir, I believe..."

"Zip it!" I shout. "I don't want to know what you believe. Do some research and make sure, then get back here with an answer." A good Master Of Knowledge Gathering is something everyone should have. One tires of doing all one's own GooglingTM.

And just think! Only a week ago I had to GoogleTM for myself! I lived in ordinary premises, I had no secondary masseuse, not even a primary masseuse. I had to choose my own music: like a chump! I was living like a chump! ME!? And why? What changed?

The littlest thing. I can hardly remember it now; what propelled me from mundanity to magnificence? It was before yesterday when I went shopping for luxury yachts. It was before the day before that when I test-drove the Zonda and told them I'd like something with a little more Oomph. It was before the day before that, when I purchased the nice little house and suburb for my mother to retire in.

Last Sunday: that was the day! I was sitting in my cramped little lifestyle, thinking cramped little thoughts, when suddenly the emails lit up green, as notifications began pouring in, one after the other, tripping over themselves in the race to fill up my inbox. "NimbleText purchase!", "NimbleText purchase!", "NimbleText purchase!" Ting! Ting! Ting! A non-stop stream of them. I jumped into the GoogleTM AnalyticsTM to see what was happening. Here was the cause of the whole thing:

"Scott Hanselman's 2014 Ultimate Developer and Power Users Tool List for Windows." Hundreds of pieces of software, catalogued and critiqued. And at the top is a section headed "The Top 10 Life Changing Pieces of Software that Absolutely Every Developer In The World MUST Install, No Questions Asked," or something like that. Number three on the list? My humble offering, NimbleText.

I guess this is how it feels for a book author when Oprah picks up their little tome as "Oprah book of the month". Or when Justin Bieber decides to retweet one of his belieber's, taking them from obscurity to immortality. Albeit a kind of temporary immortality. Hanselman being at once the Microsoft developer's nearest equivalent to Oprah Bieber.

And now, it's the darnedest thing. I can hardly remember what life was like before this. Did I have to waste my own energy deciding which helicopter to take? I couldn't afford people to do things for me at all? Who used to pour my cocktails? I don't even recall! In any case. I'm sure that life is better now.

If the little people are worried that the fame and fortune have gone to my head, they need not worry! NimbleText will still be getting charming features added. I'll make sure it can handle larger numbers, for example, now that my own bank balance requires such a feature.

I have to go now. I just had a reminder from Jeff Atwood. Tomorrow we're going to be driving full-sized remote-controlled Ferrari's off the edge of the Grand Canyon, for a giggle. Why I never discovered this hobby sooner is truly beyond me.

I guess, before I sign off, I should ask my newly appointed scribe to say a warm 'Thank you' to Scott. I am truly honoured!

 

Downtime as a service

I've been working on the direct-sales pitch for my new cloud service.

Step 1 is to find a CIO (recognisable by a hint of 'CIO' undershirt →) and then pepper him with questions, as follows:

—You sir! How much do you pay for downtime?

[CIO looks around]—me?

—Yes, you sir!

—Why, I have no idea.

I take out a calculator. A big one.

—Well, how many servers do you have? A thousand?

—I... I guess so.

—And how often are they down?

—I... don't know!

—Let me hazard a guess: too often! Is that right?

—Why I think it is.

—Then do you know what that means?

—Do I what?

I show him the results on the calculator.

It means you're paying too much!

—I... am?

—Tell me something. When your servers are down, what do your employees do?

—They... they look upset.

—I bet they do. I bet some of them look very upset. And they run around, worrying and flapping about, am I right?

—Yes, that's exactly right!

—And some of them, some of them don't do anything at all do they? When the servers are down they shut down too, right?

—That's right! They sit there. Like fish.

—Fish don't sit, but I've seen it before. Do you know what it means?

—No, no....

—It means they don't know *what* to do! The ones who are sitting like fish. The ones who are flapping their arms. The ones who look upset. All of them are utterly unsure of what they should be doing. They lack the experience. They're out of their depth. They don't have even the slightest clue about what's gone wrong and what the damn hell they ought to do about it. You need to turn to an expert.

—I do! I do need to turn to an expert.

—Well, that's where we come in! We offer Downtime as a Service, look at our specialty downtime data centre!

(I show him a laminated photo of our data centre)

(while he stares at the photo I continue)

—We have a "Five Zeros of Uptime" guarantee. Even Amazon can't keep up.

—Are you sure?

—I'm positive. The Amazons can try, but we beat them almost every day. Try failing over to our hot-swappable server array:

(I show him this)

(He stumbles back a little, he's almost sold)

—Our redundant Dell Storage array has incapacity to spare. We're from the internet. We know things.

And before he can say "boo" I've signed him up to an Enterprise Plan with our no lock-in guarantee (you're still free to get downtime from all your regular vendors) and he's shaking his head and thanking me as he staggers away, a little happier, a little safer, and a whole lot poorer.

That's the plan anyway. Mostly I lose them around the bit where I say "You sir". But maybe next time.


credit
Image of billowing data centre from The fire ate my backup. Flaming computer image found here, but no credit available for the photographer. Charred Dell servers from Rob Smith, here. And see also /dev/null as a Service and S4, the write-only storage provider.
(p.s. I read this out to my six year old daughter and she said "Dad, that does not make any sense at all." Such a kidder.)

 

The Shape of Your Irrationality

Imagine there is a lottery, with a single prize of 1 million dollars.

There are only 100 tickets to this lottery, and, for some unexplained reason, 99 of the tickets have been given to you. Lucky you!

The remaining ticket has been given to someone else, let's call him Jack.

The lottery will be drawn tomorrow. The winner—you or Jack—will walk away with 1 million dollars.

As luck would have it, you bump into Jack. The idea occurs to you that you could buy Jack's ticket and go from a 99% chance of winning to a guaranteed win.

So, how much would you be willing to spend on Jack's ticket? And how much would it take for Jack to part with his ticket?

Standard probability tells us that Jack's ticket has a face value of 1 percent of 1 million dollars, or $10,000.

So if Jack is 'rational' he should be willing to sell it for any value over $10,000. And you should be willing to purchase it for anything less than $10,000. Hence it's unlikely that a trade will occur, as there is no price that is pleasing to both of you.

This isn't a new question. It's a variation on 'the Allais paradox' and two groups of people, psychologists and 'behavioural economists', have been investigating this area practically non-stop for the last sixty years.

Here's what the research predicts in this situation:

Jack is unlikely to part with his ticket for less than 5.5 times its face value. He values it at around $55,000. Optimism in Jack's situation is very high!

Given such an irrational opinion on Jack's part, you should now consider it very unlikely that a trade will take place.

But we haven't looked at the remaining part of the question. How much would you be willing to spend to go from a 99% to 100% chance of winning that million dollars?

You're likely to spend up to 8.8 times the face value of the ticket: up to $88,000. Irrational pessimism on your part is far stronger than Jack's irrational optimism! So there is a chance that a deal will be struck, possibly in the range from $55,000 to $88,000, far higher than the rational price of $10,000.

thinking fast and slow

This and other disquieting aspects of human behaviour are covered in great detail in the book 'Thinking, Fast and Slow' written by Nobel prize winning psychologist, Daniel Kahneman. My wife received a free copy, which she gave to me. Now, thanks to the endowment effect, I would be unwilling to part with it for less than 2.5 times the market price.

(The 'Allais paradox' is covered in Chapter 29, 'The Fourfold Pattern'.)

Previously:

 

 

This is why I don't go to nice restaurants any more.

food,

Interior. Restaurant. Customer surveys a large menu.

[Waiter with French accent]—And for you, sir?

[Customer]—A bottle of the '98 Moët.

—I am sorry sir, we are out of the '98 Moët.

—Fine then, the '99.

—I am sorry sir we are completely out of the Moët.

—Cristal then?

—Again sir, my apologies, there is no Cristal.

—Do you have any Champagne at all?

—I am very sorry sir, we have no Champagnes at all.

—Sparkling mineral water then.

—Sorry sir, but...

—Tap water!

—I am sorry sir, the taps are...

—Anything! Do you have anything?

—We have a large forest leaf, which has been left out overnight to capture the condensation from the air, and you are invited to sip the condensed dew drops from the verdant fringe of the leaf.

—Okay, one forest leaf.

—Certainly sir [he begins to walk off] my apologies sir, I have just recalled that we are now entirely out of forest leaves.

—What's left?

—I can only offer you to suckle on the sweaty armpit of a rather tired sous-chef.

—Two of those.

[waiter takes away the menu]

—Sir has made an exquisite choice.

 

A flowchart of what programmers do at work all day

argh - argh!! -- argh!!!!
A flowchart of what programmers do at work all day.

I've probably drawn this picture 100 times. In meetings or on the bus, while trying to get started on human or technical problem I don't understand, at times when I'M STUCK.

I was cleaning up today, and took a photo of one copy of it, before I threw it out. I put it on instagram, so I could feel 'done' about it.

Then Jeff Atwood tweeted it and next thing WOW. I can barely get onto my phone for it exploding with news about comments and retweets, from programmers all over the world, who seem to feel exactly the same way a lot of the time.

Thank you ;-)

Previously:

 

The Telepresent Man.

TL;DR: Hide a short guy under a black sheet, stick an iPad on top, and pay him to go to work in your place.

I have devised a new invention with which I shall revolutionise the workplace, allow tele-commuting to become a societal norm, and thus release us from the stranglehold of fossil-fuelled transportation.

Here's the tag line that will be written on the box when you buy a TPK -- a Telepresent Man Kit:

They say that "80% percent of success is showing up," but if you can't be there in person, you can achieve an estimated 50% of success in life, by sending your Telepresent Man to show up for you.

A TPK consists of a black sheet, two iPads, a game controller and my Patent-Pending USB-Vibrating-Nodule-DeviceTM. In addition to the TPK, you will need to find a short man. He is called 'The Telepresent Man.'

a telepresence device on Big Bang Theory

The Telepresent Man is hidden under the black sheet, and an iPad is attached to the top of his head. He needs to be short enough that the protruding iPad is located at about the height where your own head would be. If you were actually in the office, that is. The iPad is running facetime, connected to your own iPad, which you are watching from home. The Telepresent Man is in your chair, at your desk, attending your meetings. But when your colleagues look at him, what they see is your face, on the iPad.

Unlike conventional telepresence devices (such as the one seen on 'Big Bang Theory' pictured at right), The Telepresent Man can walk up stairs and negotiate uneven terrain.

Here's the bit that's patentable, the PPUVND. This is a small USB powered device attached to the iPad. It has four vibrating nodules that are connected to The Telepresent Man, one on the front of left shoulder, front of right shoulder, and one on each shoulder blade. While the stay-at-home-worker moves a game controller, The Telepresent Man feels a vibration in a corresponding nodule and knows where to move next.

To stop your colleagues from feeling the unpleasant sensation of having a stranger amongst them, watching them work, The Telepresent Man's face is completely hidden. He doesn't need to see at all: the stay-at-home worker does all the seeing for him, and can stop him from running into things by directing his every move.

Larry the surrogate in arrested development

When I presented this idea to my board of trusted advisors, one of them pointed out that almost the exact same idea was used on the television show 'Arrested Development.' A character called George employs a 'Professional Surrogate', Larry, to represent him at family meetings. From what I've read, my idea is completely different. And in unrelated news, Richard Mason has been let go from my board of trusted advisors. And for your information, Richard, Nobody wants to hear about Arrested Development all day.

Previously:

 

Interview with an Ex-Microsoftie.

—So, you used to work at Microsoft?

—Yep sure. I used to come up with names for all the special folders.

—The special folder names in Windows?

—Yes.

—"Program Files", is that one of yours?

—Sure is. I thought, "This is where we'll put the programs. On the file system. And since they're gonna be made out of files, I'll stick the word "Files" on the end. With a space in the middle. People are going to be typing this all the time, so they'll want it to be as long and descriptive as possible."

—And what about System32 is that yours?

—Yep. I thought, "these files are 32 bit files. So I'll put them here."

—And that was pretty successful?

—Yes. I did such a good job naming it System32, that nowadays it contains all the 64 bit files as well.

—Then what happens to the 32 bit version of the 64 bit files. Where do they go?

—Well they can't go in System32, because on a 64 bit machine, System32 is where the 64 bit files go. So if we're running a 32 bit executable we lie to the executable and tell it that "System32" points at another folder, called SysWOW64 and that's where we stick the 32 bit files.

—Why is there a 'WOW' in the middle of the name?

—I was typing System64 and half way through I just thought: "WOW, nature is beautiful!"

—And the 32 bit files, they go in SysWOW64, since the 64 bit files are in System32?

—Yep. (Laughing) Oh I took a lot of meth that day, my friend.

—And how about the "users" folder. That's quite succinct, is that one of yours?

—Oh no, that's after my time. I was there for the previous one: "Document and settings."

—Surely you regret that name. It's clearly too long?

—Too long!? It's too short. Do you realize you can put anything in there, not just documents and settings? I wanted to call it "Documents and settings and ideas and lists and notes and string and ponies and candy and pieces of fluff and temporary internet files and stuff". I got into a fist fight with Ray Chen over it and I only let him have his way when Steve Ballmer sat on me.

—And you're retired now?

—I am now. (He takes a long swig from a bottle of whiskey. The brown fluid gurgles as it rushes down the neck of the bottle.) At one time I tried to get a job on the team that comes up with version numbers.

—You missed out?

—Not drunk enough. Not even close.




deep discussion at hacker news →

Previously: