Skip to content

Instantly share code, notes, and snippets.

Created January 3, 2014 04:50
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save anonymous/8232922 to your computer and use it in GitHub Desktop.
Save anonymous/8232922 to your computer and use it in GitHub Desktop.
Matasano Crypto Challenge Bankruptcy Announcement
## CRYPTO CHALLENGE BANKRUPTCY ALERT
By now, you may have noticed a prolonged radio silence from your
Matasano Crypto Pals. There's a reason that's happened. I'll explain
in a moment, but first the important bit: what's happening next.
I now have a backlog of many thousands of emails from
challenge-seekers. We manage these by hand. Nobody pays us to read
these mails. Working my way through the backlog is forbidding. So:
We give up! This one time only, we are declaring CHALLENGE AMNESTY:
wherever you are in the challenges, we're bumping you up a level.
What this means for us is that we don't have to manually sort through
a zillion emails. What it means for you is you don't have to wait for
us to sort through those emails to get your next challenge. Everything
should then level out again.
## WHAT THE HECK HAPPENED?
I upgraded to OS X Mavericks and Mail.app blew up.
Huh, that's less of a cool story than I thought it would be. Let me
try to add some meat to it.
The crypto challenges happened organically and, as a result, we have
minimal automation behind it. We do have a tracking application, but
because most of the work of handling the challenges involves reading
and responding to emails, our primary interface to them is our mail
client.
Mavs Mail.app is comically broken in a variety of ways, but the way it
breaks the crypto challenges is boring: clicking on the "crypto
challenges" folder in my Mail.app crashes the app.
No big deal, thought I. I wrote some code to parse the Mail.app index
database, throw up a web interface, and started ticking off challenge
results. But that took a bunch of days (Mail.app's database isn't
documented), and while I was "working", the backlog grew.
At some point, it occurred to me that the job would be easier if I
made this program, which had already evolved to the point where it
could read and send mail, would also be collaborative. Which made the
user interface more complicated. I was writing in Golang but wanted
Haml for my HTML templates. There's Golang Haml, but it's primitive;
it can't even loop. No big deal; how hard could Haml be to
reimplement? A month later and I'm on my second iteration of rewriting
Haml in Golang, which is educational for me but doesn't help you and
at this point is when I decide I give up and reboot the challenges.
Now you know, and knowing is half the battle.
- @tqbf
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment