New Location

My website has moved to http://www.jasonwhaley.com. Please visit there for the latest and only remain here for legacy content.

Wednesday, August 13, 2008

Keyczar - Easy Cryptography for Java and Python

After spending some time previously in two jobs writing some odd job classes to do some secret key checksum matching - amounting to approximately 50-100 lines of code in each case, I'm very pleased to see someone has released a project called keyczar that extremely simplifies doing cryptography in java and python code. Here's a link to the keyczar page on code.google.com.

Unfortunately, I couldn't readily test out the library myself to really gauge its effectiveness since the only .jar they distribute contains .class files that were compiled with target compatability of 1.6... and I just happen to be running Mac OSX 10.4 which only has a 1.5 jdk/jre.

Thursday, August 7, 2008

LinkedIn Scaling

Here's a really cool and quick video on LinkedIn's use of a skunkworks Rails project - a very beneficial video to watch for anyone who works in or with a web development shop as it discusses briefly scaling and development practices.

The major themes in regards to scaling I think are worth highlighting here and should be useful to any developer are:
  • When scaling a web application you have to take into account ALL parts of the web application
  • If you are talking to a spindle, you are screwed (reduce database + disk reads as much as possible)
  • Dynamic content is your enemy (cache as much as possible)
  • Push everything as close to the client as possible
Most of these seem fairly obvious, but its amazing how many developers are myopic and do not take into account anything in regards to scaling in their design and code. Granted, that typically isn't described in the job description, at least not what I've seen asked of developers, but it is definitely relevant to the overall success of a project.

Also, even more enlightening beyond the scalability concerns was the use of a skunkworks type team, that was allowed to go off and experiment on something completely unrelated to the primary business goals of LinkedIn, and lo' and behold, something was produced that:
  • Gave LinkedIn high visibility through viral networks
  • Gave developers a chance to learn something new to learn that will majorly benefit the primary platform of the business