Archive for General

Driving Drunk

Damien Katz (of CouchDB fame):

Static typing is like giving a drunk a bunch of breath mints and saying “Don’t drive drunk. But if you must, use these breath mints in case you get pulled over.”

Playing with Gmail Labs

I’m playing with Gmail Labs, a new playground for Google employees to build and test new Gmail features. It’s being rolled out to all users who either use the US or UK english version of Gmail (contrary to what TechCrunch reports, that means also Dutch, German, Polish and Ukranians can get this feature).

Right now I have only one new feature enabled: superstars

Superstars

I find it very useful, because it makes it a lot easier to instantly see not only that an email discussion needs attention, but also the kind of attention that it needs. To enable it, make sure your language is set to US or UK english, log out, log back in to Gmail and go check the Settings, there should be a “Labs” tab there now.

Update: OMG, I just discovered the snake game, awesome!

Harddrive crash

The past few weeks have been extremely busy at work. Deadlines. Deadlines. Deadlines. And this Friday there’s another one. Nice twist: my hard drive crashed yesterday morning, one day of work lost. Right now I’m using a temporary laptop (a Dell, very ugly looking with Ubuntu on it). These Apple guys are on to something with their Time Machine software. I backup about every week, most of my work is on either a git or subversion repository. That reduced the damages, but apparently you have to end every day with backing everything up.

Sigh.

More CouchDB Updates

Quote of the Day

From the Google AppEngine mailing list:

A good way structure db’s for big table is to pick the ugliest solution and that’s the one that will work the best.

Relational Databases are Dead, Long Live Relational Databases

Google’s BigTable - GQL Reference:

A GQL query cannot perform a SQL-like “join” query.

A Google employee (second post by “ryan”):

We’ve had good results when we take a step back and think about our data models from a different angle. Most app developers are accustomed to designing SQL data models in a certain way, with a normalized schema, foreign keys, fixed column types, etc. With Google App Engine, you can often get good results by loosening the normalization and other restrictions, and often by doing more work in writes instead of queries.

Joins in CouchDB

If you’d be using an SQL database, you’d obviously have two tables with foreign keys and you’d be using joins. But what would the “obvious” approach in CouchDB look like?

CouchDB first impressions:

Joins, of course, are simply not possible… but in the right situations you wouldn’t need ‘em.

Amazon SimpleDB - A different perspective (in the comments):

You are right as far as I can see, that there is no join syntax in SimpleDB.

Normalization and table joins are so 2007.

Update: for more discussion see the reddit comments.

Google AppEngine launched

Google is going to allow anyone to run applications in their infrastructure, meaning using their super scalable database system and other server infrastructure. I just signed up to try it out, but was too late (they allow in 10,000 people only, apparently that many signed up already). You can find more information here. The cool thing is that the only way to build applications on it for now is by using Python, which will give Python a huge boost in popularity for web development I think.

Update: Just got an email from Google saying my account was enabled, guess I wasn’t too late then :)