Countdown to PDC2008: Secrets Revealed

Sign in to queue

Description

Surface, SharePoint, Live Platform, Identity, Mesh, SQL Server 2008, Exchange, Ad Platform, Office Communication Server, Windows 7, Open XML, Silverlight, ASP.NET, Oslo, Virtualization, XNA and so much more content we can hardly keep our hard hats on!  Why haven’t you registered for the PDC yet?!  Plus Mike issues a new Hard Hat Challenge – will the winner this week be 9 years old?  And, if you’re really curious about capturing the brainpower . . . check this out!

Tags:

PDC 2008, PDC08

Embed

Download

Download this episode

The Discussion

  • User profile image
    mswanson

    Here's a link to the audio file for this week's Hard Hat Challenge.

  • User profile image
    palotasb
    Mike, the link is four-oh-four.
  • User profile image
    mswanson
    Sorry, guys. For some reason, the spaces in the URL were trimmed. I added good ol' %20s, and it appears to work now.
  • User profile image
    jason818_25​3.33
    This is what the audio says....

    "Thank you for calling new farms where nothing is left to chance. When ordering samples from our entire collection, be sure to start with the correct seed. Only a perfect number will guarantee your satisfaction. We appreciate your patents. One of our representatives will be with you shortly. " 

  • User profile image
    mswanson
    While your transcription isn't 100% perfect, jason818_253.33, it's close enough to be useful to start solving the puzzle. Smiley
  • User profile image
    IanL
    The video terminates at 9:37 mid-sentence.
  • User profile image
    tourist
    That is correct. In all these 'countdown' videos they have a little gimmick where they set a kitchen timer at the beginning for 10 minutes. It runs a little fast. The show's over when the timer goes off, even if that's in mid-sentence.
  • User profile image
    Chadk
    The answer is 42.
  • User profile image
    mswanson
    Sorry, Chadk, your answer--while nice and geeky--is incorrect. Like the other Hard Hat Challenge answers, this isn't something that you could easily guess.
  • User profile image
    tfraser
    This is a very interesting problem. Without giving anything away, would you be able to clarify whether or not the mention of 'perfect number' in the audio file is referring specifically to the mathematical context of the term?
  • User profile image
    Samuel Jack
    Is it appropriate to post our thoughts about the hard hat challenge here?

    "Nothing being left to chance" and "seeds" makes me think of deterministic "random" number generators. And I presume we're talking the mathematical definition of "perfect" here: a number which is the sum of all its divisors apart from 1.
  • User profile image
    Figment​Engine
    "when ordering samples from out entire collection, be sure to start with the correct seed"

    hmm, interesting

    "sample" and wave files... and "order" with "entire collection"
    implies data might be held at perfect number offsets in the data chunk?
  • User profile image
    Samuel Jack
    Could that be the reason why the sound file sounds distorted (assuming that it does for everybody else)?
  • User profile image
    mswanson

    All I'll say is that it's great to see you guys sharing ideas on the forum, and I love the thinking that's going on. Smiley

  • User profile image
    Charles
    Thank you for doing this Mike nd Ritzy. These are great and fun to watch. Mike, your challenges are awesome, as expected.

    Keep on posting,
    C
  • User profile image
    cairn
    After the PDC, will we get all the session video's and powerpoints on disc?
    and will we get te same type of network access as per PDC05.
  • User profile image
    mswanson
    cairn: Even better, just like MIX06, MIX07, and MIX08, we'll publish the session recordings within 24 hours of the actual session on the internet (with resources, like the PowerPoint decks). For anyone, for free...regardless of whether or not you were an attendee. For network access, the Los Angeles Convention Center has upgraded its "pipe" since 2005, and because the net plays a much more important role, we put a lot of effort into providing great access this year. I suspect you'll be very pleasantly surprised.
  • User profile image
    Winslow
    Beijing is pronounced "Bay-Jing" not "Bay-zhing"
  • User profile image
    mswanson
    Thanks, Winslow. I probably should have learned this during the Olympics, but it somehow slipped by me.
  • User profile image
    Sokol
    Sorry, English is not my first language, so I might have missed something on the audio.
    It goes like: "Hello, you've reached Gail's number, GAIL. I'm currently unavaliable. Please try again on one of other numbers".
    Seed: 

    33550336

  • User profile image
    Sokol
    OK, I'm really confused about the the name, but it's spelt like GAIOL. So the corrected text is 'Hello, you've reached GAIOL's number. G-A-I-O-L. I'm currently unavailable. Please try again using one of my other numbers."
  • User profile image
    Sokol
    Yet another small correction (if it matters): 'Hello, you've reached GAIOL's number. THAT'S G-A-I-O-L. I'm currently unavailable. Please try again using one of my other numbers." Sorry for multiple posts:)
  • User profile image
    Fridjon
    I believe Denise Begley is doing an excellent job as the Marketing Manager for this PDC.
  • User profile image
    Fridjon
    BTW Sokol, I think the name was CAROL on that recording Smiley
  • User profile image
    mswanson
    Impressive, Fridjon! Indeed, the correct answer is "Denise Begley." Great job! I love that you guys are able to figure these out. As long as you're having fun solving them, I'm happy to continue inventing them. Smiley

    It's certainly up to you whether or not you'd like to explain how you solved it, but I, for one, would love to hear the thought process you went through to come up with the solution.

    Drop us an e-mail at pdccount (at) microsoft.com, and we'll coordinate your extremely limited edition PDC2008 internal t-shirt.
  • User profile image
    Fridjon

    IF YOU WANT TO SOLVE THE PUZZLE ON YOUR OWN THEN PLEASE COVER YOUR MONITOR NOW!



    The message in the audio file talks about "nothing left to chance", "seed", "ordering samples from the entire collection" and the importance of "the correct seed" being a "perfect number".

    The .wav audio file is (like all other such files) made up of a header followed by samples, the actual values of the audio. When combining this together a solution comes to mind of picking samples randomly from the whole list of samples, but starting with some seed of a "perfect number". A further hint for this solution was a remark Mike made, that his friend in the .NET Framework team was behind all this, this could mean that the Random class of the .NET framework could be used for generating the random numbers. I wrote some C# code to do actually that:

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.IO;

    namespace PDCPuzzle
    {

      class Program
        {
            private const int SEED = SOME_PERFECT_NUMBER;

            static void Main(string[] args)
            {
                // Read the whole input file in memory
                byte[] audio = File.ReadAllBytes("audio.wav");
                // Create a new buffer for the output file
                byte [] output = new byte [audio.Length];
                // Copy the WAV header from the input file to the output buffer
                for(int n=0;n<44;n++)
                    output[n] = audio[n];
                // Seed the random number generator with the correct seed
                Random rand = new Random(SEED);
                // Iterate through all samples
                for (int n = 44; n < audio.Length; n+=2)
                {
                    // Select a random sample (each sample is 2 bytes long)
                    int hit = rand.Next((audio.Length - 44)/2);
                    // Copy the sample to the next sample slot in the output file
                    output[n] = audio[44+2*hit];
                    output[n+1] = audio[45 + 2 * hit];
                }
                // Write the output file
                File.WriteAllBytes("audioout.wav", output);
            }
      }
    }

    Now we only need to pick the value of the seed, preferably a perfect number.

    As tfraser pointed out in the comments, there is a mathematical concept of a perfect number.
     There are only 5 such numbers that can be represented by Int32 (which is the type of the seed parameter to the Random class constructor). When we use the 5th perfect number (33550336) as a seed we get a new audio message. This message says:

    "Hello, you have reached Carol's number, thats C A R O L. I am currently unavailable please try again using one of my other numbers"

    Well since the perfect number was a mathematically defined number, is there perhaps something called a Carol Number? Yes indeed there is, and one of them, 1046527, yields a (somewhat better quality) audio file that asks the question: "What's the name of our PDC 2008 marketing manager?"

  • User profile image
    mswanson
    Awesome solve, Fridjon! Thanks for sharing your steps. The last audio file is less distorted, because it was mixed-in last during the encoding process. As such, its samples basically "won." The only reason there's any distortion is because the random number generator picked some of the same encoding locations more than once.

    Honestly, I thought that this puzzle would take a little bit longer to solve. Smiley
  • User profile image
    Sokol
    Congratulations Fridjon! I knew that the name on the audio had something to do either with filtering out the noise or with further encoding. But my comrehension skills are limited:) I obviously tried GAIOL as another seed or a filter, but it didn't help.
  • User profile image
    mswanson
    For those who'd like to hear the two decoded files:

  • User profile image
    Sokol
    Thank you for the audios, Mike. I think I made a mistake decoding the first file. In my version, each sample in the source audio was used to populate the resulting audio only once, so that my version of the output audio contaned samples with unique indexes. This overkill apparently resulted in a bit more distorted audio which prevented me from picking the name, Carol, correclty. Anyway, it was quite an enjoyable challenge. How about half-a-tshirt, perhaps, a vest? Smiley:)Smiley
  • User profile image
    Fridjon
    Actually Sokol, your comment with the recording as you heard it was of great help to me. It confirmed that there was another recording and the seed you listed (the 5th perfect number) also confirmed for me that "perfect numbers" were used. Thanks.

    If I get an XL sized T-Shirt I could probably spare you the right arm Smiley
  • User profile image
    Sokol

    Thank you, Fridjon. That’s very generous of you. I mean both your comment and the right arm offer Smiley My plan now is to see what Mike comes up with this week. If I’m lucky, I might earn a left arm from someone else’s t-shirt. Eventually, I hope to end up with a unique stitched thing with some history behind it. It’d be nice if the pieces were in different colours and signed by the owners Smiley Smiley Smiley

Add Your 2 Cents