Such Confuse: HackMIT 2015 Puzzle Guide (1/4)

(part 1 of [1,2,3,4])

On the HackMIT team, we strongly believe in the idea that hackathons should be accessible to everyone, regardless of background or experience. For this reason, we admit students by random lottery — no need to submit resumes or lengthy essays about your hacking talents.

Still, we wanted to offer an opportunity for super motivated hackers to secure a spot. Last year, we offered a hidden nyan cat-themed puzzle and guaranteed admission for the first fifty students to find and complete it. It was the middle of my pre-college summer, and I remember seeing a sneaky tweet about it and then promptly dedicating hours of my life to solving it.

The challenge was exhilarating, and it’s no surprise that we decided to create another puzzle this year. In the spirit of last year’s puzzle, we decked out this year’s pages with doge pictures.

If you haven’t seen the puzzle yet, don’t read any further!

Head over to our website and try it out. When you need a hint, come back and read this guide.

Before we dive into the solutions, I’d like to give a shoutout to Anish Athalye, Fernando Trujano, and Kate Yu for building puzzle parts, Jack Serrino for being our deploy master, and my favorite co-director Jennifer Zhang for her dedication and help wherever we needed it. ❤

Finding the puzzle

The secret to starting the puzzle is hidden in the dot on the splash page. Hovering over the period in “Sept. 19 & 20” turns it yellow, and clicking on it expands a huge doge.

that aspect ratio.

To mess with our hackers, clicking on this dot randomly redirects to lots of different sites. Fifteen percent of the time, though, it sends hackers to, a website crafted with care and really catchy music.

you really need the music for full effect.

Partying with doge

After watching the looped video a few dozen times, it’s reasonable to get bored. Poking around in the source reveals a long binary string:

<!DOCTYPE html>
<! —
very splash
much hackmit
wow doge

 00110000 01111000 01100010
01100001 01100110 01100110
00110001 01100101 01100100
01100100 00110000 00111001
01100101 00101110 01100100
01101111 01100111 01100101
01101101 01101001 01110100
00101110 01110000 01100001
01110010 01110100 01111001
— >

Converting this string to ASCII gives a new URL:

Here, the real fun starts. Visitors to 0xbaff1edd09e are presented with a puzzle command center and link to the first puzzle. This year, we added this feature so that hackers could track their progress (and so we could collect some cool statistics — more on this later).

Puzzle 1: dogebot

The first puzzle link leads to a dogemit signup page. Creating an account allows puzzlers to access a dogemit discussion group on the popular chat service Slack. As this part’s creator, I wanted this challenge to be at once simple and hard to find, so I built the puzzle into the discussion channel.

HackMIT 2016 will be run by bots.

The HackMIT team uses its own Slack group to plan the event (and to chat when we’re waiting for code to build at work), and we use Slack integrations and bots to consolidate all our services in one place. We have bot commands to make Wolfram queries, evaluate Ruby script, check how many hackers have registered, make sure all of our pages are up, insert ( ͡° ͜ʖ ͡ °) faces, and even update the bot’s own code.

I thought it’d be fun to add a bot to the dogemit Slack, too. In this case, though, dogebot only responds to dogespeak:

To evoke a response from dogebot, send a message in the #general channel with the keywords “wow”, “such”, “many”, “much”, “amaze”, “very”, “so”, or “pls.” Messaging “pls” in particular will generate the response “pls message direct,” suggesting that puzzlers should direct message dogebot.

Privately chatting dogebot results in a series of cryptic responses. At first, it looks like more nonsensical dogespeak, but upon closer inspection, other symbols hint that dogebot is literally speaking in code.

shh this is message from dogebot
shh pls send dogebot to hackmit
very amaze is ‘amaze ‘
very believe is ‘robot’
such bark much woof
very excite is amaze + woof
wow excite
very hack is plz bark with believe
console dose loge with hack

Dogescript, to be specific. Transpiled to Javascript, this reads:

// this is message from dogebot 
// pls send dogebot to hackmit
var amaze = ‘amaze ‘;
var believe = ‘robot’;
function bark (woof) {
var excite = amaze + woof;
return excite;
var hack = bark(believe);

Even if hackers didn’t recognize the Dogescript, some correctly guessed the answer based on the quotation marks. The solution to puzzle 1 is amaze robot.

Puzzle 2: paper doge

Entering the previous part’s solution into the command center unlocks the next puzzle part, which is just a static page with no obvious task.

Viewing this page’s source isn’t nearly as helpful. Some puzzlers clicked through and found that most of the image elements were red herrings.

The hint at the bottom of the page, though, alludes to the “real world.” And what’s more real than good, old-fashioned paper? Printing the page reveals a very different view:

After hackers print out the double-sided page, they can cut out the template and fold along the numbered lines. The hovertext on the page’s image reads “May the odds ever be in your favor,” a subtle hint at the folding pattern.

Some students didn’t have access to printers and ended up tracing, photoshopping, or guessing the solution. As another early-stage puzzle, this origami challenge was fairly straightforward, requiring just a dash of ingenuity and imagination in discovering the right path. Completing all the folds reveals the answer very wow.

We have six total puzzle parts! Read on about tricky numbers and weird sounds.