TODOs and Don’ts

Comments are a source of contention with many developers. I don’t think that is a shocking or contrarian viewpoint. Generally people have opinions that fall into one of three camps.

PlayFramework.apply(6) = “CSRF Prevention”

In the last post, we added a user interface with React and CoffeeScript to have something other than raw API endpoints to interact with. In this post we will take a look Cross-Site Request Forgery and how it can be mitigated before it becomes a problem.

PlayFramework.apply(5) = “Writing a React UI in CoffeeScript”

In the last post, we added another API method to query ticket blocks by respective events while extracting the availability of the tickets in the block. In this post we will take a step back from the back end and give our user interface an overhaul using CoffeeScript-driven React components, replacing our current reliance on server side templates.

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.