Blog


Archive for the ‘Programming’ Category

Checking in From Austin

Sunday, March 14th, 2010

Day 3 of South by Southwest Interactive was a huge improvement over Day 2. Perhaps we just did a better job picking talks/panels, but we left each feeling like we learned something useful.

Started the morning at “Beyond LAMP: Scaling Websites Past MySQL”.  Panelists included Christopher Slowe of Reddit, Serkan Piantino of Facebook, and Kevin Weil of Twitter.  It was interesting to see their respective speed optimization strategies.  Notes here.

Next we headed to “Gaming the Crowd: Turning Work Into Play” with Andy Baio of Kickstarter.com. This guy was an awesome presenter: funny, engaging, and informative. Basically he discussed how principles of game play can be used to help solve real-world problems. I can see these ideas being used to take our test prep and brain health apps to the next level.

Lastly, we sat in on a great talk titled “Persuasive Design: Encouraging Your Users to Do What You Want Them To” with Andy Budd of ClearLeft. His principles seem like common sense after you hear them, but it’s amazing how pervasively they’re used by marketers and designers.

If you want to see what we’re up to at SXSW, check out our Twitter feed - we’ll be updating it live.

To the Cloud!

Monday, June 15th, 2009

This past week I’ve been playing with Google AppEngine for a research project (SenseTheBeach).  So far, developing with AppEngine has been interesting (in a good way).   The platform enables you to run web applications on Google’s infrastructure - allowing you to scale easily. But in exchange for this scalability, Google has some restrictions on how your application can operate.

First, all “web” requests need to respond within 30 seconds.  So you can’t do something crazy like image processing or intense processing.  Instead, you should do your processing in the background through task queues (smart cron jobs) and have responses to web requests pre-processed.  Also, all external requests (emails, url fetch requests, etc…) need to be 1 MB or less.  This makes you strive for compression when dealing with communicating to an outside entity.  Finally, everything (processing, bandwidth, number of requests) counts towards your quota.  Of course you can pay to increase your quota, but at TakeFive, we like to be “efficient,”  so things like saving to a memory cache and then creating processes to eventually store aggregates to a database is the way to go.

Anyway when I first approached developing on the cloud, I thought I could do whatever I wanted and it would just work.  But actually it’s forcing me to be smart - which is a good thing.