Not bouldering in the Tatras

Got bored in between build/reboot cycles today and had a browse on flickr, there’s lots of good photographers on there and lots of good shots.

Don’t miss the best of DWS, from just up the road.


Bouldering in the Tatras
“Bouldering in the Tatras” © by Spakman (http://flickr.com/photos/spakman))

A series of interesting shots, although not for the faint hearted, of Andy Walker’s little mishap.

Some character called “sandstoner” has a good collection, this one in particular, and the rest from Indian Creek, wherever that is.

Whoever klokoy is cleary has too much time and money, but takes some nice shots. Don’t miss the 244 from Morrocco

And if that’s left you feeling a little house bound, don’t despair, there’s always alternatives.

Oh, and where are the Tatras?

Posted by mike on Tuesday March 21st, 2006, tagged with , | 1 comment

Fitter .. happier ..

Rode up Black Mountain twice last week, great ride, tough on the way up and fast on the way down, especially cool coming down in the dark.

Black Mountain Tower by day
Black Mountain Tower by night

My first attempt took 33 minutes, which is a tad slow, I managed it in 20 the second time around. I’ve heard of normal humans doing it in 15, and someone has done it in 12 apparently. Yowsers.

Update: Mikey reckons that going by his times up the Alp d’Huez, Lance Armstrong would do it in 7 minutes, freakin!

Update: Steve Hanley chimes in with the full story. 8:44, that sure gives me something to aim for.

Update: Cool comparison of the various hills ’round town by Mikey. (This update brought to you by Tom)

Mikey has gps data for the ride which is kinda interesting, in particular the grade is pretty solid.

For the Radioheadly challenged.

Posted by mike on Tuesday March 14th, 2006, tagged with , , | comments disabled

How to export a binary blob via debugfs

Dear Google, please remember this for me … it’s late and my head hurts:

static int blob_open(struct inode *inode, struct file *file)
{
    if (inode->u.generic_ip)
        file->private_data = inode->u.generic_ip;

    return 0;
}

static ssize_t blob_read(struct file *file, char __user *buf,
        size_t nbytes, loff_t *ppos)
{
    /* Need to be able to get the size out of the blob struct somehow. */
    struct blob_thing *blob = file->private_data;
    return simple_read_from_buffer(buf, nbytes, ppos, blob, blob->size);
}

struct file_operations blob_fops = {
    .read = blob_read,
    .open = blob_open,
};

struct blob_thing my_blob;

static int __init blob_init(void)
{
    debugfs_create_file("my-blob", S_IFREG | S_IRUGO, NULL,
        &my_blob, &blob_fops);
}
__initcall(blob_init);

Then in userspace:

# mount -t debugfs debugfs /sys/kernel/debug
# dd if=/sys/kernel/debug/my-blob of=somewhere

Posted by mike on Monday March 6th, 2006, tagged with , , , | comments disabled