- ## 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
- 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
RAW Paste Data Copied