February 2009 Archives

February 27, 2009

Understanding Mistakes

I believe you can learn a lot by trying to understand how your own mind works. It can help you to make sense of why you make mistakes, or why you forget things, and to have confidence that your mistakes are a natural consequence of being human.

I can't claim any kind of psychological knowledge, but I understand my own mind as a powerful pattern matching engine. It matches patterns in what I see or hear, then matches patterns in my own memory, then patterns in random noise leading to things like dreams and new ideas. And it'll do that matching of patterns with an enormous amount of subjectivity.

For me, this leads to two main failures. The first is the making of false assumptions.based on what I was expecting rather than what I objectively perceive. Today, I answered the door and perceived the person I was expecting to be arriving at around that time, even though they were someone completely different - they look fairly similar, but not hugely. But then, I've always had a bit of trouble recognising faces. On many other occasions, I've read text and seen the words as something different, to the point where I could visualise the shapes of the incorrect words on the page.

The other main failure is to do with memory. My mind certainly doesn't work like a computer. I can't program it to bring something back to my attention at a pre-programmed moment. Remembering things, for me, relies entirely on setting up something to remind me. For example, I keep supplies of general bathroom stuff in my room, bringing them down to the bathroom as necessary. When it's time to bring the new tube of toothpaste down, I'll always forget to do so unless I physically put the new tube in my dressing gown pocket. This kind of thing happens with almost 100% consistency.

I think it's important to keep this kind of consideration in mind.  So to speak.

February 8, 2009

Chapman Stick

A Chapman Stick is a bit like a cross between a guitar and a piano. It's a stringed instrument, but you play it by pressing the strings in different positions along the fretboard, with very sensitive pickups used to capture the sound. Players use both hands to create more complicated melodies. In this video the musician, Guillermo Cides, goes further and uses a digital looping machine to build up a progressively thicker sound over the length of the music. It's a nice moment of calm in an otherwise slightly frantic time.

It'd be a good instrument for me, I think, if I was going to take up music again. It's a bit of a shame that they cost thousands of pounds, and are all made to order with a waiting list that's about a year long...

February 3, 2009

Space Shuttle Landing

It makes an odd noise a bit like a steam train when it's on the ground:

February 2, 2009

Glamo-DRI Development

Quite a bit of pain caused this weekend due to not really understanding OpenEmbedded, but I seem to have got through it.  Otherwise, it's been a reasonably productive weekend.

Mesa now selects the correct driver.  I was slightly misinterpreting the causes of my problems here, concentrating on XF86DRIGetClientDriverName when in fact it's much simpler: AIGLX gets upset if swrast_dri.so isn't available, even if you know that later on it's going to choose myshinyhardware_dri.so.  So, adding that file to the package pulls it back into line.

There was also a segfault due to a slightly strange way that drm.ko has of doing things: a DRM device's unique identifier gets zeroed out by drm_lastclose() even though the unique identifier remains the same right until the DRM device gets deallocated at some point in the distant future.

All of the DRI initialisation pipeline seems to be happy now.  Right now there's a problem with Mesa mapping the framebuffer, which causes it to fall back to software, but otherwise it's looking quite promising.  Hopefully, this indicates the end of the "groundwork" to create a working 3D driver...

[root@rafiki:~]# DISPLAY=:0 LIBGL_DEBUG=verbose glxgears
libGL: XF86DRIGetClientDriverName: 0.1.0 glamo (screen 0)
libGL: OpenDriver: trying /usr/lib/dri/glamo_dri.so
drmOpenDevice: node name is /dev/dri/card0
drmOpenDevice: open result is 4, (OK)
drmOpenByBusid: Searching for BusID platform:glamo-drm
drmOpenDevice: node name is /dev/dri/card0
drmOpenDevice: open result is 4, (OK)
drmOpenByBusid: drmOpenMinor returns 4
drmOpenByBusid: drmGetBusid reports platform:glamo-drm
libGL error: drmMap of framebuffer failed (Invalid argument)
libGL error: reverting to software direct rendering
libGL: OpenDriver: trying /usr/lib/dri/swrast_dri.so
27 frames in 5.1 seconds = 5.281 FPS

February 1, 2009

Hand-Drawn Holograms

Incredibly neat: