PlayFramework.apply(2) = “Reading, Writing and Evolving”

In Part 1 we covered routes, controllers and client side scripting which led to a very basic and not very useful result. In this post we will walk through what is required to read, write and maintain a database for Ticket Overlords. The technologies we will be using are Slick 3.0 and Evolutions.

PlayFramework.apply(1) = “Upgrading the Framework”

In Part 1 we covered routes, controllers and client side scripting. In the time since that post, the Play framework released version 2.4 (Damiya) on May 27, 2015. With a major point release there are usually enough changes to warrant taking some time to rebuild a few things. Since the ticket-overlords project is still fairly small, the effort will be minimal. This gives us a good opportunity to take a look at what is entailed in performing a framework upgrade.

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).


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)