PlayFramework.apply(0) = “Templates, Routes and AJAX”

This is the first in a series of posts about writing a web application with the Play Framework in Scala. For the purpose of these posts, we will be writing an online concert ticket store named TicketOverlords. Some things will seem goofy or strange at first because not everything will be developed correctly the first time.

SHA-1 Implementation in pure Scala

I’ve been using the Matasano crypto challenges to augment my Scala language skills. So far I’d say it’s been worth the effort. As part of the challenges, there is a requirement to find an implementation of SHA-1 in the language you’re using for the rest of the challenges, but calling the framework digest libraries was not acceptable. After spending about 3 seconds not finding an implementation in Scala, I decided to roll my own. Based on the wikipedia pseudocode I was able to do it fairly quickly.

Testing actors in Play

If you’re writing a play application and using an actor, chances are you’re going to want to test that they work. This is pretty straight forward, but what happens when the actor itself needs to frobitz a whatsits every bleventy seconds?

Wherefore art thou Global.scala?

My Scala development has gone from occasionally reading on the bus to actually using it as my primary development language 9-5. Which is awesome. After having done Martin Odersky’s course and having read the stairway book, I’d also recommend Scala for the Impatient to anyone as a second Scala book. The reason I’d recommend it second is that it’s very good at filling gaps that inevitably come up after the fact. (I still strongly recommend the stairway book as well).

SrsWordCloud

I recently found a need for a Cocoa based implementation of a word cloud and ended up throwing one together. I know word clouds provide very little informational value and they’re kinda 2004 but I made it anyways. I’ve released the source under the Apache 2.0 license (as per the usual). More info is available at the Srs Biznas site (or in the case there’s a distant future where Srs Biznas no longer exists, here’s the GitHub link)

The CoreData post

CoreData. It’s one of those looming technologies of Cocoa that people put off. I did, most coders I know did. Mainly because it’s thought of as a big looming technology. If you’re not sure if you need to learn CoreData, take the following quiz:

Binding with categories, yeah!

Lately, I’ve been brushing up on my Cocoa by writing a Lion client for Planets Nu called PlanuPlanu. I’ve opened up the core of this as an LGPL library called PlanuKit. It’s nice to work on projects with no pending deadlines to learn facets of a technology you don’t have time to learn during business hours.

I see what you did there

Let’s talk about code obfuscation for a minute. I’m not talking about the interesting puzzle obfuscation of competitions, but the kind done at compile time to protect intellectual property.