Just Over a Week to #Laracon 2014

Posted by Adam Engebretson on May 7, 2014

With just over a week to Laracon 2014 in New York, people are starting to get excited! Our founder, Taylor Otwell, has had some tricks up his sleeve for a long while now. Furthermore, he's been teasing us pretty regularly; whether or not you have noticed might surprise you!

Taylor's most recent puzzle came in the form of a tweet just this last weekend. It simply linked to a Laravel.io Paste Bin entry which contained the following:

eyJpdiI6IlRkTWd6T240QzZCMitZQnlxdE04a2c9PSIsInZhbHVlIjoiVk53XC9YU3E0eEZ6VlwvUThGM3FaXC9nVGlBOTUwYVhsVHk3N0ljS3ZlUlNkeWNCcUt2NjRHMU4yOVh0WmFzZnNERGdBa09mc0FiWEljelVWOG5oUEVoVDFNRTJjbCtsRTNYZ0k1ZWhoU0lDXC9VSkFuaUZxeUVMMG0zM3pGMEhnVFZBXC8zZ1lTZVB6TGtcL0N6aWxIOENSWlFjTlFCR3BLUHhiOWVBXC9COE1hNndOVT0iLCJtYWMiOiIxMDkzZjE5NTcxNjdmOGVlNTYzZWFjOWIxMjU0NTBmNWU2ODY2ZWE5OTdjYTYzZWUxZDcwMDU5NzA4MTZmMDQzIn0=

Following the conversation gives some hints as to what this means, but I'll walk you through it. The first, and probably most important thing, is a tweet that Taylor sent into the universe a few weeks ago on his personal Twitter account. With absolutely no context, he simply tweeted d4d99d04b39f18e4a057c0589598808d. To the trained eye, this is clearly an MD5 hash of some sort. Knowing that I wouldn't be the only curious one, I simply googled the MD5 string, only to find out that it is the MD5 hash of the word "swimsuit".

So how does this come into play? Well, let's start decrypting that message, shall we? ;) Let's start by creating a fresh install of Laravel.

$ laravel new decrypt

Now, unfortunately, I've already deceived you. Mainly because Taylor is obviously not working in the latest tagged version of Laravel! We need the "bleeding edge," as Jeffrey Way calls it.

$ composer create-project laravel/laravel:dev-develop decrypt

While this command takes longer to type, and to install, it will do the trick. You'll even see the composer install tell you that it has set an Application Key for you! How kind.

So if we try to decrypt the string in the index route, it might look something like this:

Route::get('/', function()
{
    return Crypt::decrypt($stringFromAbove);
});

Taylor's tricky, though... Did you know that the Application Key that we've been generating for our applications actually has everything to do with the way your application encrypts things? Both using the Crypt facade, as well as the Hash facade for generating hashed passwords. Thus, our encrypted string probably won't decrypt with our newly generated application key.

So it's simple right? It must be d4d99d04b39f18e4a057c0589598808d, his mysterious tweet from earlier. This would make sense, since the application key is identical to an MD5 has in length. But it's just not right. Taylor decided to tease us, and use the Applicaiton Key swimsuit instead.

So what do we get? The mysertious encrypted phrase turns out to be as follows.

In the deeps I find rivers bright, and this expanse awaits. Idle on our souls shall be, forever arriving.

Deep, right? ;) I think not. Taylor likes to tease us. While many people were investing a lot of time and effort into understanding this seemingly insightful phrase, the answers are much more simple than that. According to Taylor, only a few words in this phrase actually mean anything. Let's take a peek.

First, "rivers". Second, "expanse". And third, "Idol on". Long story short...

<?php

return [
    'rivers'  => 'Amazon',
    'expanse' => 'Digital Ocean',
    'Idol on' => 'Linode', // an anagram
];

While the beans have been spilt to some (myself included), the mystery is seemingly only arising excitement in the Laravel community with regards to what this message can mean. I'll tell you this: you should be excited!

I'm so incredibly excited for Laracon, and to learn as much as I can! Shout out to Robin Malfait, who won't be able to attend. Excited to meet Taylor Otwell, Jeffrey Way, Matt Stauffer, and Woody Mendoza (an old client of mine). Also looking forward to meeting anyone else - don't be shy!