Blog Posts by All on All All, All
Fuddled API, Verbose Workaround
I've started writing some Scala applications (including one atop the Lift web framework) to access Unfuddle's API recently. I've mainly been building daily burndown reports for my team at Treehouse Agency. I've run into a few issues with API methods not working as advertised, and Unfuddle's been pretty good about fixing most of them.
The problem I've been experiencing as of January 5th is that Unfuddle has subtly broken authentication for client libraries that (wisely) wait for a 401 error with an accompanying WWW-Authenticate: Basic header before sending credentials. (Namely, Unfuddle's API stopped sending a WWW-Authenticate header altogether.) If need be, you can force most HTTP client libraries to send authentication on every request in one way or another, and that's what I had to do tonight with the excellent Databinder Dispatch library.
Read on to see the workaround.
Python to Scala 2.7: Check Your Spelling
Last time out, I talked about the benefits of Scala, and why I'm looking at Scala and Lift.
In that spirit, I spent some time last weekend converting Peter Norvig's simple Python spell-checker to Scala. I didn't do this conversion alone; I got some great answers from Daniel Sobral, Daniel Spiewak and finally David Winslow on Stack Overflow. David provided the answer I needed for the best way to implement the matching function in Scala 2.7.
Read on to see the conversion.
Scala, Lift, and the Future
I've been spending a decent amount of my after-hours time investigating a combination that I think will be part of the future of web programming: the Scala programming language, and the Lift web framework on top of it.
A number of high-scale, distributed systems have recently adopted Scala. Twitter's messaging queues are now handled by Scala and its Actors library. Another high-scale social game, Foursquare, uses Scala for its backend, and Lift for its web tier. (I'm excited to see a presentation about Foursquare's use of Lift at the New York Scala Enthusiasts meetup this weekend.
Rasmus Lerdorf is the inventor of PHP and author of a famous presentation at OSCMS 2007 that exposed flaws in PHP CMSs (although it showed Drupal to be light-years ahead of its open-source brethren in terms of security.) He recently cast a critical eye on Foursquare:
There are many articles about Scala on the internet, but read on to see why I'm excited.
Everything Old is New Again
It's time for my quarterly blogging drive, and to start, here's some information on my ever-increasing need to try out cool web technologies.
Server Migration
My previous server was a VPS with 1 GB RAM for an obscenely low price from Serve By Design. I'm not linking to them, because I wouldn't recommend them, as you'll see. For the money, I didn't expect them to stay around forever, and I was right. At the end of September, I got an email saying that they had to immediately cease all hosting and that I had 10 days to move my VPS. Not great, but I can deal with that.
I've been doing some work with Rackspace's cloud products recently for work, so I decided to move to a Cloud Server VPS running CentOS. I'm quite impressed with the Rackspace Cloud thus far, they have a robust backup / cloning system, and the plans are plenty cheap so long as your data transfer isn't too high. Since I'm using SimpleCDN to handle all static content for my Drupal 6 sites, there's really nothing to worry about on the data transfer front.
Need for Speed
I've been doing some pretty exciting things recently with website performance. I always disliked doing IT work in the past, but the challenge of setting a server up to be able to withstand crushing traffic is now quite intriguing to me.
To wit, here's a funny moment from a recent experiment. I was using incrond to run a script to minify some JavaScript whenever Drupal created a new JS file. Unfortunately, my script also created a new JS file (a backup, unminified copy,) and the protection I put into place wasn't quite working correctly. I think the image below speaks for itself.
Fritz Wunderlich - O Wie Angstlich
One of the greatest singers of German music of the last century, doing what he did best.
Why I Hate Drupal: Friday the 13th Edition
Now that I'm back from my month-long blog hiatus and from DrupalCon DC 2009, I thought I'd throw up a little post in the same vein as walkah's brilliant Why I Hate Drupal talk.
A friend was building a Drupal site and asked me what I thought the best way to prepopulate a lot of HTML into a node body field was for a newsletter. Now, she's using Simplenews and Simplenews template isn't yet out for Drupal 6, but that's no problem. In the past, on sites like YPOGP.org, I implemented the newsletter by using a little module called nodeformtemplate to fill in the node body with a full HTML newsletter, and letting the user type in the extra HTML they needed. That module makes it easy, right?
An MTA Train at 96th
Here's one of my first videos from my original Flip mino. (Not my new HD mino.)
It's an MTA 2 train pulling into the 96th Street station.
Tree House Flips Out
I work for Tree House Agency here in NYC, and we gave out custom-printed flip minos (one per company) to our corporate partners as Christmas gifts.
Each of the employees also got one. Our CEO Michael Caccavano played Santa and left them in the NYC office for us to pick up this last Thursday, and I couldn't resist getting a shot of it with Photo Booth.
Gotta love it - yet another perk of working with Tree House.
Back to Blogging
Welcome to the new (and completely empty) Grenade Sandwich. My name is Steven Merrill, a classical singer and technologist, and I'll be your host.
The title of this site comes from a season finale of The Shield, and I think you'll understand what I'm talking about if you're a fan of the show.
