Wednesday, December 31, 2008

uvic rocks

Wow, the UVIC library has this great program called Gear2Go, where you can borrow video cameras and audio recorders overnight for school projects.

Two of the things I'm going to borrow to do a better video of SOMba are the Sony DCR-HC62 MiniDV and the D&M PMD620 Professional Handheld Recorder

Tuesday, December 30, 2008

Sunday, December 28, 2008

The Middle Show: The Great Ronald Jenkees

STS9 Collab - Using their drums to jam with!! FUN!




My dear sister Melissa gave me an OLPC for Christmas! Sweeeet! It's a great little machine, the best part is that when the backlight on the display is powered off, you can view the screen in light. This means massive battery life. It was perfect on the train down from Courtney to Victoria, I had Emacs fired up and was browsing through the source code of Marsyas.

OLPC Links:

Activated Upgrade
Autoreinstallation image
Getting a developer key
Hacking your XO
Test Network Configuration
Anaconda Kickstart
Hacking the XO at
Hacking Sugar
Hacking the OLPC XO Laptop - Part 1: Initial Setup
OLPC upgrade
Upgrading the XO
How to check the OS and firmware versions
Clean-install procedure - I had problems with olpc-upgrade, so I just did a fresh install and it worked great. I went from version 656 to 767, and it was a huge change, and for the better. Now the power button suspends the laptop. Much better.
OS images
JFFS2 - Journalling Flash File System version 2. Interesting, it says that it's journalled, but on my old 656 install, a forced powerdown caused the OLPC to wait for a long time as it checked the file systems.
Release notes for 8.2.0.


Overclock your OLPC from 433MHz to 566MHz. Um, probably not a good idea, but interesting.

Saturday, December 27, 2008

OLPC Mission, Part 2: The XO Laptop, design for learning

OLPC == rocks. Sugar == way too slow.

Solution: rewrite in C.

Saturday, December 20, 2008


For doing a screencast in Linux, definitely use "recordmyscreen" and not "xvidcap". I tried xvidcap recently on Fedora 10 and had weird hangs all over the place. It looks like it's xcb that is causing the problem, but there's no real way to fix it.

So just

sudo yum install recordmydesktop -y

and then to record your desktop just go:


and you're done. It saves the file as ogg, which uploads to YouTube just fine.

Now I'm trying to find a good Linux video editor program. Cinelerra just takes .mov files as input, and doesn't like the .mov files that ffmpeg converts. I'm trying LiVES, but it's a little wacky, and takes forever to import video. Kino also is the suck.

We need something simple and better. Not a lot of transitions and stuff, just a simple way to make videos from multiple sources.

Harmonic Metalaphone on Reactable

Thunderheist - Little Booty Girl

My current favorite song in the world.

completely random

I think that celebrity collage is pretty close to random:

another try



SOMba - Co-creative music generation by tracking dancers - Part II - from Camera

SOMba - Co-creative music generation by tracking dancers


Adobe releases AIR 1.5 for Linux.


Cool, it looks like OpenGL is making a rebound against DirectX. That is good.


A rant against stdio. Hmm, interesting.

concurrent haskell

agile git

old web


In computer science, currying, invented by Moses Schoenfinkel and Gottlob Frege, and independently by Haskell Curry,[1] is the technique of transforming a function that takes multiple arguments (or more accurately an n-tuple as argument) in such a way that it can be called as a chain of functions each with a single argument.



How man Coq programmers does it take to change a lightbulb?
Are you kidding? It takes 2 post-docs six months just to prove that the bulb and the socket are both threaded in the same direction.

More like this at Lambda the Ultimate.

Thursday, December 18, 2008

tricky part 2

Also had to do some symlinking as it couldn't find my moved vamp .h files:

sudo ln -s /usr/sness/sv/include/vamp-hostsdk /usr/include/vamp-hostsdk
sudo ln -s /usr/sness/sv/include/vamp-sdk /usr/include/vamp-sdk
sudo ln -s /usr/sness/sv/include/vamp /usr/include/vamp


I was having major issues installing sonic-visualiser from source. The problems arose because I wanted to compile my own rubberband and vamp plugins, and the lame qmake installation that sonic-visualiser uses couldn't find them.

To get around this, I just installed rubberband and vamp with yum:

yum install vamp-plugin-sdk-devel vamp-plugin-sdk rubberband rubberband-devel -y

Then copied their pkgconfig .pc files somewhere:

mkdir save-pkgconfig
cp /usr/lib/pkgconfig/* save-pkgconfig

Then removed the original packages:

rpm -e vamp-plugin-sdk-devel vamp-plugin-sdk rubberband rubberband-devel

Modified the prefix line in the .pc files:


Name: vamp-sdk
Version: 1.3.0
Description: Development library for Vamp audio analysis plugins
Libs: -L${libdir} -lvamp-sdk
Cflags: -I${includedir}

Copied these files back to the pkgconfig directory:

cp *pc /usr/lib/pkgconfig

And compiled sonic-visualiser.

Wednesday, December 17, 2008

Monday, December 15, 2008

flash debug

Debug and standalone versions of Adobe Flash Player.

Saturday, December 13, 2008

pulse audio

Pulse audio sucks. I just installed Fedora 10 and it was totally not working with either MPlayer or Marsyas, so I just took out all of the pulse audio nonsense:

rpm -e pulseaudio-libs pulseaudio-libs-glib2 pulseaudio-module-gconf pulseaudio-utils pulseaudio-module-x11 pulseaudio-core-libs pulseaudio-esound-compat pavucontrol libcanberra xine-lib-pulseaudio gstreamer-plugins-good gnome-settings-daemon alsa-plugins-pulseaudio gdm control-center gnome-applets totem-gstreamer libcanberra-gtk2 pulseaudio gnome-session orca totem gdm-user-switch-applet compiz-gnome plymouth-gdm-hooks totem-nautilus gnome-session-xsession totem-xine totem-mozplugin gnome-panel

Come on Fedora guys, get with the program and get some audio that actually works.


The basics of threads.


Macros in Clojure. Gotta learn Clojure one of these days.


Writing a game in Python with Pygame. Looks like a really nice API. I did a bunch of coding in Python for SOMba, and really enjoyed it. Python pretty well rocks.

I did a lot of the coding in C++ as well, with the C++ API in Marsyas, which also rocked.

Next week will be all haXe and Ruby on Rails.


distcc - a fast, free distributed C/C++ compiler

Friday, December 12, 2008

lisp + ruby + jvm

Calling Clojure from JRuby. This is where we start seeing some neat things happening. Calling Lisp code from Ruby inside the JVM with all those Java libraries. This is sweet.

Tuesday, December 09, 2008

Saturday, December 06, 2008


latex symbols. i heart latex.


jQuery in Action - A new book on jQuery. Want have.


alien comet

An alien comet might be in the solar system. That totally rocks.


I recently had a situation where I needed to screenscrape data from a website. I did it in Ruby with wget, which worked super well.

wget with --post-data rocks

wget --post-data="thingy=#{id}"

Turned out that just doing this didn't work, it had some kind of validation code that it was POSTing as well. To figure this out I used the excellent Tamper Data plugin for Firefox, which let me see exactly what data was being POSTed to the website.

It was then just a matter of using Ruby to scan through the page to get the data I wanted and output this as a .csv file.

cat map

web analytics

acid test

Opera 10 alpha aces Acid3 browser test

Nice. I use Opera and Firefox for my daily browsing, Opera for reading large amounts of information, it's tabbed browsing totally rocks.




Finally a good Objective C book.

So many languages, so little time.




More reasons why CouchDB rocks.



Get some love for Python 3000.


Statistics vs. Machine Learning.

After CSC 589 this year at UVIC, I finally understand Bayesian statistics. It's actually quite simple, and totally cool.


Friday, December 05, 2008

bear hoods


very small drums

One potential application for graphene (sheets of graphite only one or several layers thick) is as a resonator in nanoelectromechanical systems, in part because of the high ratio of stiffness to mass. However, the formation of large-area films of exfoliated graphene and manipulation of the graphene flakes are experimentally challenging. An alternative is to use a related material, graphene oxide, in which the graphene film is chemically modified with oxygenated substituents. Robinson et al. rapidly deposited graphene oxide platelets onto glass by spin casting along with rapid solvent evaporation, which formed ultrathin continuous films. These films could then be chemically reduced, and despite being as thin as 4 nm, could be released from the substrate by being dipped into basic solution. They could then be suspended onto substrates patterned with circular holes (between about 3 and 7 ?m in diameter) in order to form drum resonators. Laser interferometry revealed that these membranes resonate in the radiofrequency range and have quality factors up to 4000, which is comparable to those of diamond oscillators and exceeds typical values for graphene oscillators (10 to 200). This increase relative to graphene reflects the enhanced adhesion of graphene oxide to glass surfaces through surface oxygen groups. -- PDS

Nano Lett. 8, 3441 (2008).


Thursday, December 04, 2008

yes - The API for, Develop applications using radio now playing information gathered from thousands of broadcast and online stations



A podcast about programming Clojure.


Another person is stopping developing with Rails.

All good points, especially about the gems, which are not-well-thought-out, and the community problems. Also, I would add that the dramatic changes between releases also really suck.

But I'm totally going to keep developing everything in Rails, it fits perfectly into the plans I have for websites, and really does have some sweet syntax sugar. Mmmm, syntatical sugar... Tastes good.

moon and venus

Tuesday, December 02, 2008

Annie Hall



What Your Computer Does While You Wait. Interesting analysis of the Core 2 architecture.

amazon security rules

ai in games

Bots Get Smart - New uses for AI in computer games.

Interesting, Jonathan Schaeffer is one of the coauthors.

AI Landscape



ipe - is a drawing editor for creating figures in PDF or (encapsulated) Postscript format. It supports making small figures for inclusion into LaTeX-documents as well as making multi-page PDF presentations that can be shown on-line with Acrobat Reader.

Excellent program. Suggested to me by Dr. S. Ganti.