31 May, 2005
Music
I pretty much had to. I woke up on Saturday morning with a tune in my head that wouldn't go away. It was a Portishead type of tune that got more and more concrete as I spent the morning humming it.
Since then, I've been trying to get it out of my head and I think I've finally done it. In the end, I think it owes as much to Death In Vegas as it does to Portishead, but I like the result.
Thanks to the people on the Linux Audio Users' list for listening to the early test of the sound, and for their extremely useful comments.
Especially thanks to Shayne O'Connor for the best description of the sound I was after: kinky-noir. I love that.
Anyway, the track can be downloaded from my music page or this direct link.
Comments are not only welcome, they're begged for.
23 May, 2005
From the weekend
New website
I managed to finish my exam marking over the weekend and still have time to update my site.
I finally got around to converting my content to run on my shiny new custom content management system.
Go and have a look. Tell me if anything breaks.
All you need is emacs
We (the creative computing group at Coventry) were discussing which IDE or editor to use for teaching Python a few weeks past, and emacs came up.
We all agreed that forcing emacs on people probably wasn't a great idea, so we've adopted an editor-indifferent approach. I made a comment about needing a whole module just for emacs, because if we were going to ask people to use it, they might as well use it properly.
Then, over the weekend, I realised that everything we teach could be taught through emacs, or at least be enhanced by it...
- Programming - use emacs lisp, in emacs
- Design and usability - emacs has a design and interface different to most editors, and surely the emacs usability dichotomy is worth exploring. I personally think it's the most usable editor ever created, other people think it's a scary monster that requires magic words to get things done.
- Network and Internet programming - write your code in emacs, test it in emacs, browse the web in emacs.
There's more, and I can justify emacs for any of our modules.
So maybe an emacs module at the beginning of the course wouldn't be a bad idea. Even better, lets just make it an emacs course.
Now to post this, was it M-x please-post-to-blogger or C-c C-O M-t? Or was it M-x postblog? Pah!
16 May, 2005
More music
A quick note on my naming scheme for tracks: names are random. Sometimes they might have something to do with the track, but not often. And when they do, it's usually something vague, like a word to describe the sound of part of it, or the first letter of a song I thought it sounded like when I started it.
For me, the names are just there to differentiate between them without having to listen to them.
Maybe if I wrote something that had any meaning, I'd find a meaningful title.
I don't think we'll ever find out.
13 May, 2005
Music
Have a listen to it - it's the first track (Letsee) on my music page.
I'm sorry that the recording is a little glitchy, but I'm a little restricted by the way I work.
I use cheesetracker, because I'm so used to the interface. Before Windows was popular, I used to play with trackers like scream tracker. Later, I moved onto impulse tracker and then started to get into Cubase, like the professionals use.
Changing from a tracker to a sequencer was a little strange. The control was different, and I couldn't do things in the same way, but on the plus side, I had plenty of scope for new sounds because I was no longer constrained to sample mashing.
When I switched permanently to Linux, I started looking around for audio software and came up with Jack, a brilliant system for connecting audio software. There are great softsynths out there, like Zynaddsubfx, that rival the very expensive Windows versions, and sequencers like the very good Muse.
The trouble was, I still couldn't get as much out of them as I did with a simple tracker interface.
There would always be something I couldn't do - some parameter I couldn't record or automate, some bug that crashed one of the apps at the wrong time.
Then I found Cheesetracker - a Jack compatible tracker. I love it. It has instruments with pitch, volume and filter envelopes, multiple layers and effect sends to 16 effects buffers, plus more scope to route buffers through other, global, ones.
And this is how I've been working. I still make use of Zynaddsubfx for creating sounds, but they all end up back in cheesetracker.
The only problem is, Cheesecake doesn't (yet?) allow you to write a "perfect" audio file - you have to record the output, like you would with a sequencer. This is annoying, because if everything is done in the tracker, there's no reason why it can't be asked to slip out of sync with the jack server and write a glitchless audio file straight to disk.
I also can't bounce tracks, like I would with a sequencer. When a track is finished, or at least finished for now, I want to be able to "fix" it - record with all the notes and effects into a single sample. This would free up my processor for working on the un-fixed tracks.
Because I can't do any of this, there are the odd glitches, caused by a spike in the CPU load or disk access while I'm recording.
I think the author of cheesetracker intends to add these kinds of features, but unfortunately, like most open source coders, he doesn't have huge amounts of time to devote to the project. If I had time myself, I'd help out, but I don't.
So, I either work with the problems or go back to windows, Cubase and a more stable audio environment. I chose to stick with this, work with it, help when I can and be part of something more than just a user-base.
10 May, 2005
Creativity
A big reshuffle has left us with a very good group of people to teach this. We're still preparing for the new year, and the content sounds like so much fun, I wish I was an undergraduate again.
I'll mostly be involved in the programming. We're moving away from Java for the introductory modules, which I think is a good thing. Instead, we'll be teaching Python.
I think Python is an ideal first language. You can start quickly, without having to gloss over too many concepts - compare the python "Hello World!" code:
print "Hello World!"
with the Java equivalent:
public class HelloWorld{
public static void main(String[] args){
System.out.println("Hello World!");
}
}
It's also nice that we can move towards objects, rather than have them in the way at the start. Not everyone thinks this is the best way around, but I don't see much merit to explaining what objects are before students have any idea why they're a good idea or what goes in them.
When we do get to objects, it's nice that we can start by explaining how everything in Python is an object already - basic types, even functions have methods.
With great libraries like Pygame, we can quickly move on to making things that are more interesting than the classic stock counting or customer details management examples.
09 May, 2005
Penguin
They look funny. They fall over watching aeroplanes. Tux is a penguin, and gentoo is a type of penguin.
The people at Penguin are also very nice.
A long time ago, I had a tape of Lear's nonsense called "Selected Bosh", read by Alan Bennett. Somehow, it got lost and I'd forgotten all about it until a few days ago.
I thought I might find another copy, but Amazon, eBay and the whole interwebnet don't have it.
I managed to find out that it was published by "Cover to Cover Story Tapes", which is (or maybe was) part of Penguin. I emailed the nice people there and they told me that they don't sell it any more, but they had it in their archive and they'd happily get the recording people to make me a copy.
I thought this sounded expensive, but when I asked which limb they required for such a service, they told me they'd do it for free, since it was a one-off.
I'm going to buy some more of their great series of pocket sized books tomorrow.
The weekend
DIY, part 1
I got around to putting up our new Ikea bed at the weekend, now that the bedroom is pretty much finished. I think I now understand the Ikea principle. All the running around in their warehouse, checking product numbers, picking up 8 different items for one product and lugging awkwardly shaped and sized boxes home reduces the cost.
Sure.
That's just the start of it. Our bed, with an unpronounceable name, came as:
- Head and foot
- Sides
- Two packs of slats
- A heavy metal bar
These were all separate, with separate product codes and placed in separate areas of the warehouse.
I found the instructions in the box with the bed head and foot. Interestingly, there are actually two interchangeable types of metal bar that can be used with this bed. I think. In the interests of internationalisation, Ikea don't have written instructions - they just have a little smiley man getting on with it, looking like an extra from the Pink Panther. This means that people from anywhere in the world will all be as equally confused as to why the screwdriver made him cry.
I got the bed up, anyway. Clippy's paper cousin and me were both grinning at our beds. The final step of screwing little plastic doodahs in sixteen separate, but equally awkward, places on the frame left me sweating.
But wait! No slats! My cartoon guide remained silent.
Opening up the boxes of slats revealed four rubber lengths with sockets, and a number of slats that was uncountable after hours of gruelling bed-making. My little friend returned in another little booklet. This one only had three instructions - 1, fit all the slats into the rubber sockets; 2, (20 minutes and several splinters later) Undo the final step from the last instruction booklet and 3, put the slats on the bed.
I roared. I cursed the dimensionally-challenged guy in the booklet. I think I frightened the dog.
And that's when I understood. You don't pay less at Ikea because you do all the fetching and carrying yourself. All you do is pay in a different way - part of the cost of the furniture is payed by taking part in a weird kind of remote sadism. Someone, somewhere is getting a perverse kind of pleasure at all the huffing and puffing you do lugging boxes, finding parts and trying to use the awkwardly shaped hex tool that comes in the boxes. Even better, sometimes they can have you sweating and swearing getting sixteen little plastic doodahs attached to inconvenient places, only to have you take them all off again.
An odd night
I've never been one of those people that gets confused about who, what or where they are.
When I wake up, I go from unconscious to deciding what to have for breakfast in the time it takes to open my eyelids.
Until last Saturday night.
I woke up sometime in the night feeling cold, uncomfortable and a little confused. I wasn't in my bed, I had my dog's blanket wrapped around me and a rolled up jumper under my head.
Somehow, I'd ended up in the wrong room, on a bed without bedclothes. Without ever noticing I'd done it, I'd rolled up a jumper and wrapped a blanket around me - possibly snatching it from under the poor snoring animal.
I don't remember getting there at all, and only vaguely remember getting back to bed. If it wasn't for the blanket on the floor the next day, I might even have convinced myself that I'd dreamt it.
This could be the start of an exiting journey into sleepwalking. Good job I didn't buy that bear trap off ebay.
DIY, part 2
Steph had a new car, and our drive is a little tight, so I was given the job of taking down part of the wall.
I have to admit that destroying the offending masonry, systematically, brick by brick, with my SDS drill was very satisfying. And loud.
While I was doing this, I also destroyed the home of a number of insects, and things that aren't insects but still have that horrible thing with the legs and the joints and the mandibles. I tried to rehouse them in the next bit of wall, but I don't think they were too happy about it.
One spider in particular looked quite evil. The photo below doesn't really do justice to her menacing appearance, but believe me, she was a mean looking thing. She was as big as my palm, and not in the wispy thin-legged way most large spiders are. I'm sure she even tried attacking the stick I was using to try and herd her into the glass.
Wait, can you herd one of something? Probably not. How about if I say I herded her, her eight strong legs, her beady eyes, her bulbous abdomen and her twitching mandibles into the glass?
05 May, 2005
Procrastination
Lately, I've been trying to draw, with mixed results. This is the only half decent thing I've produced, so far.
It's my sister-in-common-law, Tess, and Jake.
Working hard
Today I'm going to sit in front of my computer until I have made some headway on this data analysis. We've been collecting data on how histopathologists analyse tissue, and seeing how this changes from trainees through to experts.
We've already done some analysis, which went into a paper hopefully to be presented at ICAPR 2005. It was all very interesting, but now it's time to look at the more complex stuff, and this means using SPSS. I'd like to use R, but I haven't got the time to learn to use it, and SPSS is great for non-mathematicians, like me, who want menus, check-boxes and icons.
Using SPSS means using Windows. Using Windows might mean my computer gets fried by worms using the few billion exploits found since the last time I booted into Windows. If so, this could be my last post for a while.
Fingers crossed.
04 May, 2005
Joy!
My wish has been granted. I can now post entries with emacs.
I use mutt as my mail client, and emacs for writing my mail. This means that with the mail-to-post feature of blogger, I can write my entries in emacs.
And thanks to ssh, I can do this from anywhere.
I'm probably more excited about this than I should be. I feel like telling strangers in the street.
I just need to remember to turn off hard wrapping.
A real post.
I can talk forever about anything and love a good argument (not the shouty kind), but faced with a blank textbox, my mind goes so clear it would make a Zen master jealous. It's like having an invisible audience.
Luckily for me, just as I was sitting there empty-headed, the doorbell rang.
About a month ago, I got visited by Jehovah's witnesses. Anne and Nova (seriously) started with a pretty basic "isn't the state of the world terrible?" approach, leading up to how things would be much better if I joined them. Normally, I get rid of sales people as quickly as possible, whether they're selling windows, driveways or deities. This time, however, something stopped me.
Anne, when she found out I'm an atheist, asked how vision could possibly have evolved - how can something as complex as an eye have come about without design? So I gave her a theory - people really shouldn't ask questions like that unless they're prepared for quite a long answer. In the end, I was at the door for almost an hour.
They've been back a few times since. We've argued about the state of the world, homosexuality, evolution, blood transfusions and more. They've brought props - books, magazines, videos.
Today they've brought me a book to read - "Life - How did it get here? By evolution or creation?", and another Watchtower magazine.
Now, normally I steer clear of religious discussion with people I don't know - people can believe whatever they want for all I care, and I don't like to offend. In this case, though, I've decided to make an exception.
They're trying to convert me. That's a pretty hostile move, as far as belief goes. So I've decided to mount a counter-attack. I'm not giving up until they stop calling on me or I convince them to accept my beliefs. Like I say, this isn't something I'd normally do, but the way I see it, they started it. Anyway, I'm enjoying it and apparently so are they.
Well, that's my first real post written. Hopefully now I've started, it will be easier to continue.
Does this work?
Well, looks like it does.
Now I just need to find a way to write my posts in Emacs and I'm all set.