Gloucester Creative Olympics and The Launch of The Wind Vessel (by )

Me with My Bronze Medal Song catagory

Yesterday I went to The Battle For The Winds Episode One in Stroud, I had won a bronze medal for my song Windy Gloucestershire. This was part of the creative Olympics and also saw the launch of the Wind Vessel which will be in Cheltenham for the Torch and then will be going on to Wynmouth with the rest of the South West efforts.

Stroud Battle For The Winds Still Walker Announcing the Creative Olympics Brunel Goodshed simply brimming with peeps

It was in the Brunel Goodshed - there was a parade as well but with the weather an us all having been so ill recently we decided to miss that bit. The place was jam packed!

What we could see of the vessel being launched though Alaric and Jean seemed to really enjoy 🙂

Jean and Alaric Watching the Launch of the Wind Vessel

There is unfortunatly no video or photos of me on stage - Alaric managed to take two one second videos at the beginning and end of my bit being presented my medal - it would have been a good angle too 🙁

My medal was made by the graphics students at the college. It was presented by Old Mother Gloucestershire who's outfit was brilliant 🙂

But here are the photos we did take of the general stage stuff before and after my bit 🙂

King George and Co Announcing the Creative Olympics Old Mother Gloucestershire and Co on Stage

The we saw the launch of the Wind Vessel - which I actually really like - plus it doubles as a musical instrument and I always like things like that 🙂

The Wind Vessel Kids riding the Wind Vessel Accordian dude behind the wind vessel Kids waving from the top of the Wind Vessel The Wind Vessel And Old Mother Gloucestershire

After the main bit people started to disperse a bit and there was more space to see the martial art dancers and various other little shows. I went to the tent with the Creative Olympic stuff in but though people were asking to listen to my song - it was unfortunatly the only one not there - even though the organisers said it had been - so someone has borrowed it I assume or it's down the back of tent or something!

The place was full of little cafes and a giant junk igloo called the Mould Cafe - this led through to a section where kids could put their heads through and seem themselves as part of a video.

Jean in the Mould Cafe Junk Igloo Jean as living art

Mary was desperate to join in so once the crowds had thinned a bit we let her loose to toddle - but the main thing she wanted to do was be held up to the gymnasts ring!

Mary Wanting to Join In Mary fighting to get to the gymnast loop Mary the Baby Gymnast

And because I am me - I took arty shots of things 🙂

Lamp Shade Junk Igloo The Wind Vessel And Olympic Junk Art Arty shot

Cheltenham Poetry Festival 2012 (by )

Last week saw the Cheltenham Poetry Festival.

I started off by going to see Domestic Cherry - so funny. It was Michael Scott and Hilda Sheechan in the personas of a Swidon Chav and a hyper kitch Housewife.

Domestic Cherry

The I headed out to dinner with one of the stewards and then onto Slak Bar to see Mab Jones and her Welsh Rare Bits - these guys are amazing! Laughter until tears stream down your face. Unfortunatly I had to leave this event early due to illness.

Leeum as a Rare Bit Another Rare Bit Mab Jones

The next morning saw me up bright and early and sitting in The Muffin Man sipping tea awaiting to share my poetry. I was part of the Poetry Cafe Showcase.

Poetry Cafe Showcase Cheltenham Poetry Festival 2012

I then stayed on to watch The Stroud Pamphlet Poets.

Stroud Pamphlet Poet 2 Stroud Pamphlet Poet Eley Furrell Stroud Pamphlet Poets

Then I headed over to Waterstones to watch various poets there

Jennie Farley Nick Leeum Leeum Johnson

Leeum did like a 20 minute show from memory that had the audience reeling (or in one case wanting to give him a hug).

The next day I had a workshop to run - the Monster Writing Game - it was supposed to be at The Brewery but the weather was just too bad so it was moved to Waterstones.

Monster Bag The Monster Writing Game in Cheltenham Waterstones Writing game in action

We stuck around for a Jean to take part in Joy-Amy Wigman's childrens workshop - also on monster 🙂

Rhyme Time at Waterstones Cheltenham Joy-Amy and Monsters

We stayed on for the Childrens Poetry showcase with Francis Axon - Jeany loves her poetry which she had heard at Christmas in the Brewery. The other poet unfortunatly couldn't attend so I ended up performing some of my childrens poems.

Francis Axon

The next day saw me back out early for more childrens workshops - this time it was The Poetry Bees and Their Story Tree. My poor Dad had to walk through Cheltenham with a giant papier mache purple tree - only happens to people who know me 🙂

Story Tree on the Move Children reading their poems Poetry Bee at Work Sarah reading her childrens poetry Me and The Story Tree The Story Tree complete with Poetry Bee Hive Poetry Bees in Their New Home

Poetic Blooms around the Story Tree Me Reading Kids Poetry in Waterstones Cheltenham

I then got ready for Occupy Poetry - the last night poetry party bonanza.

Purple Poet No Eyes

Alaric was once more forced to listen to poetry - but this time he had company 🙂

Poetry Listening Dudes

I took arty shots

Light on Glass rainbow Glasses

Then the comedy started with Julie Psycho Jones and Josh plus the performance Poet Ash.

Julie Psyco Burlesque Julie Jones Julie Psycho Jones

Comedy, drinks and lighting

Scary Aussy Comic Singing Angry Koala Anger Management Koala

Poetry Festival Slak 2012 Josh

Pink Sniper


Ash Ash at Slak Bar

It was a brilliant but exhusting week and I wish I'd gotten to see more.

The sorry state of keyboard interfaces (by )

Back in the Dark Ages, keyboards were simple devices. Putting too much processing power in them would raise the cost unacceptably; they were kept as simple devices that told the host computer when buttons were pressed and released, and the host computer had the job of converting that into meaningful information such as entered data or commands.

In particular, keyboards didn't even know what was printed on their buttons. They told the computer what button was pressed as a "scan code", which was loosely tied to the key's position on the keyboard. Keyboards for different alphabets had different things printed on the keys, but generated the same scan codes regardless; the computer had to be told what "keyboard map" to use to convert those scan codes into letters.

This wasn't a big deal in the days of the original PC and AT keyboard interfaces, and the later PS/2 interface, where only one keyboard could be plugged into a computer; telling the computer what kind of keyboard you had wasn't a big deal.

However, by the time USB came to be, micro-controllers were sufficiently cheap that one capable of managing the USB interface to a keyboard would easily have been able to manage its own mapping to a standard set of codes based on what the key did rather than where on the keyboard it was, avoiding the need for keyboard maps. But, they didn't. Oh no. Instead, they standardised a new set of scan codes for the positions of keys on a "standard layout", regardless of what was printed on them. And of course, keyboards that don't follow the standard layout (such as compact laptop keyboards, or ergonomic ones, or keyboard emulators such as chorders) generate the scan codes for keys based on where they would be in a standard layout, meaning that the scan codes aren't really relating to anything sensible at all.

And meaning that we still need keyboard maps on the computers.

This becomes a real pain when you have more than one keyboard, which is easily done with USB - and is increasingly becoming the norm, as a laptop (with its own keyboard) is used as a desktop computer (with a nicer, external, keyboard). For a while I was using an Apple laptop, but mainly as a VM host for a NetBSD VM. The Apple laptop had an Apple keyboard, but I plugged in a USB PC keyboard. When using Mac OS software outside my VM, the laptop had the correct keymap but the external keyboard did not; when using my VM, it was the other way around. The situation sucked.

Also, I'm sure people who work with multiple languages would love to have multiple keyboards that they can switch between easily depending on what language they're typing, without having to reconfigure their keyboard map when they do so. As a nerd, I would love to be able to buy a small keypad covered in extra function keys and have it work alongside my normal keyboard (maybe even foot pedals!). How about specialist keyboards with function keys for tasks like computed-aided design?

So, here's my proposal: keyboards should identify their buttons with Unicode strings, and a type flag (glyph or function), and an optional position flag for duplicated keys (chosen from nine options: top left, top middle, top right, center, etc; a tenth value can be used for non-duplicated keys). When you press a key with "H" printed on it, the keyboard should say "glyph H is down". When you press the left shift key, the keyboard should say "function shift (bottom left) is down".

Keys with more than one glyph printed on them, corresponding to what should happen when that key is pressed with combinations of modifier keys, can be handled by the keyboard also providing a "modifier table". If I press shift+5 in the hope of getting the % sign printed above 5 on my keyboard, the keyboard should note that a shift key is pressed, then that 5 is pressed; but the modifier table should note that the keyboard's key caps will be giving the user the impression that this combination should produce a "%".

Function keys can be given any name, including useful keys such as "help", "cut", "copy", and "paste". And you can have as many soft-bindable F-keys as you want. All these rich function names can be passed through to software as-is, letting apps bind functionality to appropriately-named keys; to make this easier, there should be a shared vocabulary of function key names to avoid synonyms cropping up.

This would be easy to implement.

This would make keyboards plug-and-play.

This would make it easy to use multiple keyboards on the same computer.

This would open up new markets for keyboards with heaps of special function keys.

This could be done in a backwards-compatible manner by making keyboards expose the old USB scancodes by default, along with a note that they can be switched into Sensible Mode if the host computer supports it.

Lobby the USB implementors forum to put this into the next version of the USB HID specification now!

Vomit-induced implementations of the 9P protocol in Chicken Scheme (by )

Last Saturday, I came down with what I suspect was Norovirus - the rest of the family (apart from the baby) having come down with it on Thursday and me having spent the past few days mopping up after them, this was probably unavoidable; although I'd tried my best by wearing a respirator when performing clean-up operations (it was also nice to not have to smell what I was clearing up...).

But, it meant I spent Monday off of work recuperating. I was too weak and exhausted to do any work from home, but I was bored senseless of just lying there on the sofa, so I decided to try and extend Chicken Scheme's 9p egg, which is a client implementation of the 9P2000 file server protocol, to also be able to act as a server.

This is something I want for Ugarit; it means that a Chicken Scheme app will be able to provide a virtual filesystem that can be mounted from a computer and used like your "real" filesystem. In particular, I want to be able to let people access their backed-up snapshots from a Ugarit vault as a live read-only filesystem, rather than needing to go in and manually "restore" their desired files back into the filesystem to access them. And it'll really come into its own when I implement archive mode, as it will make it possible to actually use the Ugarit archive seamlessly.

Unfortunately, being rather fuzzy-headed, I kept making rookie mistakes, but I eventually managed to get the core protocol implementation working. In doing so, I found out that a 9P server that puts incorrect lengths in the stat structures returned from directory reads causes 9P mounts in Linux to "hang" in a way that can't be unmounted and you need to power-cycle the machine as it won't even shut down cleanly... so be careful of that when mounting the few public 9P servers out there!

In order to test it, and as a utility for Chicken apps that would like to provide a 9P "control/status filesystem" in the manner of wmii et al, I started to write a simplified high-level virtual filesystem server library on top of the core server implementation. At the point where I made this status update to my friends in the Chicken Scheme IRC channel, directory listings weren't working (they now are), but you can see the idea - create a filesystem object from Scheme and register files and directories in it, and it appears as a live filesystem under UNIX.

Now I'm feeling a bit better today I've realised several other rookie errors I've made (not ones that cause bugs, I hope, but ones that complicated the code unnecessarily) - I'll fix those up before I submit all of my changes to the 9p egg's maintainer for merging in...

Then it'll be time to start on the Ugarit integration. THAT will be fun 🙂

Monster Creation (by )

I have made a short film about the creation of the Muse Monsters from my Monster Writing Game - they turn out to have a complex belief system - some of which is portrayed in this video. Also I like the effect I got with a bamboo flute I picked up a few years ago.

Video is up under Creative Commons Attribution which means as long as you say where you got the material from you can use it in your own creations 🙂

WordPress Themes

Creative Commons Attribution-NonCommercial-ShareAlike 2.0 UK: England & Wales
Creative Commons Attribution-NonCommercial-ShareAlike 2.0 UK: England & Wales