Automatic blog creation with registered username as blog url.

Is there a way to have a blog automatically made when a user registers and their username as the blog url?

I would like to set this up so my affiliates could sign up and a blog with their username is created for them with their username.

I will need to add their reference like: ?ref=username
So their blog url will look like this: http://www.MySite.com?ref=username

Can someone help me with a function that can automate this for me.

Kindly,

Paul.