Tuesday, February 08, 2011

Android Patterns

There's a nice collection of mobile design patterns for use with Android at androidpatterns.com. Similar to Apple's Human Interface Guidelines, but more collaborative.

Thursday, January 27, 2011

Amazon.com Dynamo

This is a paper about Amazon.com's Dynamo service, their distributed key-value store that they use as a back-end to most of their services. Amazon's number one requirement for their data store is that it must always be available for writes, so that they can service every user they have equally. The tradeoff is sometimes uncertain data consistency, which they have decided is a manageable issue. This is pretty much the opposite of the requirements at my job, and I think most people would assume the same about their own data. It's interesting that this is a realistic scenario for them, where one of the fundamental tenets of database behavior is now a secondary requirement.

Wednesday, January 26, 2011

New DailyMile API

DailyMile.com has updated their API. It's a REST service that produces JSON, and while most of the calls are 'open', a few require OAuth authentication. They're also using pubsubhubbub for activity feeds, which seems interesting.

I wrote an app against their API about a year ago, and at the time the whole thing seemed kind of hastily thrown together. I'm excited to see if they've fixed some of the problems that I had. The docs seem to have been cleaned up at least, so that's a good start.

Tuesday, January 25, 2011

Understanding Map Reduce

Map/Reduce is not complicated. Maybe a better name would be Group/Count, but that doesn't sound as cool. Here's a quick introduction:

Understanding Map Reduce

New Grails plugin repository

At some point on one of my projects, all of my 'grails install-plugin' commands started failing. Apparently if you have upgraded ('grails upgrade') from Grails 1.2.x to post-1.3.x, there is a new repo location that doesn't get added automatically to your config.

In your BuildConfig.groovy, add:

repositories {
grailsPlugins()
grailsHome()
grailsCentral()
}

Here's the discussion on Nabble.



DOM Monster

DOM Monster is a cross-platform, cross-browser bookmarklet that will analyze the DOM & other features of the page you're on, and give you its bill of health.

dom-monster

CSS Sticky Footer

Cross browser support for sticky footer code.

cssstickyfooter