Sunday, December 27, 2009


The Limits of Control - Great movie!



Hmm, a weird thing happens when I was trying to compile Flex 3 applications with haXe. I was getting a lot of errors of the form: Field systemManager has different property access than in mx.managers.IFocusManagerContainer (default should be null) What worked for me was going into /usr/lib/haxe/lib/flex/1,2/mx and editting the files so that I removed most of the (default,null) instances. Not sure what the problem was here, but things seem to work now.

Wednesday, December 23, 2009

Friday, December 18, 2009

try pressing "i'm feeling lucky" with no search term on google. down below, check out the big number counting down, it's counting down to midnight new years eve!



etherpad - This is the open source release of EtherPad, a web-based realtime collaborative document editor.





Great error message.

Thursday, December 17, 2009


Chrome on Linux FTW!



Southern Orca Songs

Wow, now that's a spectrogram:




never spend more than 4 hours on a first release







flags and flippers - How flickr does continuous integration of software. Interesting.


liveice usage
Video and Audio Streaming with Flash and Open Source Tools

Linux Audio Streaming (live!) using Ices and Icecast
Streaming Audio with Ices and Icecast
edna - an MP3 server, written in python
pilt - A streaming server written in C++, with Python bindings and a web application with a live shell to demonstrate how it works. Uses the liveMedia library for serving content.

Thursday, December 10, 2009



CQRS: Crack for architecture addicts

Great quote:

So ask yourself this, you're probably an architect or senior developer. Can the rest of your team fully understand the directions you?ll be giving from your ivory tower? If half of them can't you are choosing the wrong architecture. I don't care if it fits your problem perfectly. If your team can't handle it, it's the wrong choice.

This is so true, code is not just about making your computer do something, it's also for communicating with other people, both on your team and also developers in the future. Ignore this at your peril.

Sunday, December 06, 2009




Tonight I was slicing up homemade bread that I made today and listening to Infected Mushroom. It makes me happy to think that there are very few other people in the universe that do these two things.

Thursday, December 03, 2009


A really wacky error! I am running Phusion Passenger on Mac OS X, and I was getting a:

500 Internal Server Error

When I was trying to do a POST that went over a certain size limit, about 5960 bytes or so.

It turns out that the web server was trying to write into the directory:


But that directory didn't exist. I created it and all was well.


armory of man who beat WoW. so glad I never started playing!


distributed cognition

Distributed cognition - is a psychological theory developed in the mid 1980s by Edwin Hutchins. Using insights from sociology, cognitive science, and the psychology of Vygotsky (cf activity theory) it emphasizes the social aspects of cognition.

Edwin Hutchins
Edwin Hutchins - Research
James D. Hollan
cognitive ethnography
Symbolic AI

design patterns


ec2 ebs

48 cores


Empire EFI - hackintosh easier

Sunday, November 29, 2009


On my sweet beautiful laptop that I make music with, I'm running Windows 7. Being a total Linux nerd, I need my Linux, so I both dual-boot and, more often, use the amazing VirtualBox to host an Ubuntu client. With this, I can run a single session for a long time, weeks in real life time, and often plug in an external mouse. When I do this, it works great, but then later when I don't have my mouse plugged in, I can't use the shortcut of both mouse buttons on the touchpad to do a paste operation.

To fix this, go:

sudo rmmod psmouse ; sudo modprobe psmouse

This will remove your mouse driver and resintall it.

visual literacy period table

Wednesday, November 25, 2009


Force unmount volume on Mac OS X

hdiutil eject -force /dev/disk2s2

Tuesday, November 24, 2009


Things I learned about organizing a hack day - Wow, that is a lot bigger than I was planning for our mini-music hack day in Victoria.

massive rails find

a = Recording.find :all, :joins => "INNER JOIN annotations ON annotations.recording_id =", :select => "record\
ings.*, count( annotations_count", :group => "annotations.recording_id HAVING annotations_count > 1"

From : Find users with at least 'n' items

python web

cat brain scam



tensor voting


Disco Project - Disco is an open-source implementation of the Map-Reduce framework for distributed computing. As the original framework, Disco supports parallel computations over large data sets on unreliable cluster of computers.

prezi rocks

I was just told about an amazing new presentation tool :

Monday, November 23, 2009

rails ftw

in this case, ftw does not mean "for the win"

If you get the error:

ArgumentError (A copy of XX has been removed from the module tree but is still active!):

Check your environments/development.rb for config.cache_classes and try
setting it to true:

config.cache_classes = true #false

learn the snake


db ram


Static, Shared Dynamic and Loadable Linux Libraries

Interesting, I recently learned that your PATH is searched for .so libraries in Linux. "." in PATH means exactly that.



Outlier-FM - Grand Prize at the recent Boston Music Hack Day


OUTLIER FM is a weekend's attempt to utilize advanced technology to search for beauty and surprise in even the most overproduced of popular music. We hope such exceptional moments can be found in OUTLIER's enigmatic soundscapes of reconstituted timbre and rhythmic intersection. It is called OUTLIER because the moments selected for further attention are precisely those moments that exist outside of a song's constructed and statistical conventions.

At its core, then, OUTLIER is about doing away with the package through which a song is carefully prepared for our consumption and rebuilding it from its smallest perceptual units into a strangely unpredictable, minimal techno investigation of sonic wonderment. Working from sophisticated audio analysis provided by The Echo Nest's Public API, OUTLIER provides in addition to audio tracks and radio [ed: SOON] a visual interface for humans and computers alike to become virtuous in high-level sound extraction and resynthesis from pre-recorded audio tracks.


Music Hack Day Boston

I want to set up a Music Hack day for Victoria, BC, Canada.

single character

The 8 hour journey to a single character




Saturday, November 21, 2009


If you get the error:

/var/lib/python-support/python2.6/MySQLdb/ DeprecationWarning: the sets module is deprecated
from sets import ImmutableSet

Then check out this page. Which says to:

To get rid of this error and use the more efficient built-in set
type, do the following in the file that was reported:

* comment line 34: from sets import ImmutableSet

* add after that line: ImmutableSet = frozenset

* comment line 41 in the original file: from sets import BaseSet

* add after that line: BaseSet = set

Like this the built-in types will be used anytime a BaseSet or an ImmutableSet is referenced.


In :

comment line 37 : from sets import BaseSet, Set
add after that line: BaseSet = set
add after that line: Set = frozenset

Google I/O 2008 - Python, Django, and App Engine

embody: to give a body to a spirit

wow cake!

rainbow cake

Thursday, November 19, 2009


I passed!


A great collection of many different Tangible Musical Interfaces.

Tuesday, November 17, 2009

Monday, November 16, 2009

xmouse #2

Just got bitten by the CTRL+SHIFT+NUMLOCK on Linux:

oh my goodness, I just learned that you can move the mouse in X11 by pressing


And then navigate with the arrowkeys. Press CTRL + SHIFT + NUMLOCK to get out of this mode.

previous blog entry








Computer Human Interaction Publication Venues


Jamie Bullock is the author of libxtract


LibXtract - is a simple, portable, lightweight library of audio feature extraction functions.

Sunday, November 15, 2009

creator plunderphonics

Here's an intermediate step along the way of my Music 507 project, which is to do a Plunderphonics of a song. I chose one of my favorite songs Creator, by Santigold. For this, I used Ableton Live and a lot of Follow Actions.


A video I just made about how to use Max for Live


Some Pd ---> Max/MSP conversions (maybe with errors)

tabread4~ ---> play~, (also groove~, wave~ or similar things)
tabosc4~ ---> wave~ (probably)
tabwrite~ ---> record~
delread~ ---> tapin~
delwrite~ ---> tapout~
hip~ ---> see the HP filter thread (also biquad~ and filtercoeff~, and many others)
samphold~ ---> sah~ (works differently in Max, I prefer the Pd style)
wrap~ ---> don't remember
noisi~ ---> does not exist in Pd
graph ---> ?

From the cycling 74 forums

Friday, November 13, 2009


MSc Oral Examination

CANDIDATE: Steven Ness

Date/Time: Thursday, 19 November 2009 (2:00pm)

Location: Engineering Office Wing Bldg. (EOW), Room 430

Supervisor: Dr. G. Tzanetakis

Title: ?Content-aware Visualizations of Audio Data in Diverse Contexts?

Share - Musical Collaboration with Ableton Live 8

Extend - Introducing Max for Live

XLR8R TV Ep. 123: Max for Live!

Thursday, November 12, 2009


Starling is light-weight persistent queue server that speaks the MemCache protocol.

python wsgi

Paul suggested I check out WSGI for web development under Python, if and when I switch from Rails:

SQL Alchemy



Wednesday, November 11, 2009

Monday, November 09, 2009

Saturday, November 07, 2009

do you?



mmm cocoa








DR. DAVID BAIN is a researcher at Global Research and Rescue . He has worked in marine mammal research and rescue since 1977. He received his Ph.D. in Biology from the University of California at Santa Cruz, where he studied killer whales at the north end of Vancouver Island under the late Ken Norris as a National Science Foundation Graduate Fellow. His research has been diverse, involving both captive and wild marine mammals. It has addressed behavior, communication, population dynamics, genetics, toxicology, social organization, physiology, ecology, health, and effects of human activities on marine mammals.

Terry Riley's In C with 124 musicians (Excerpt)

In C By Terry Riley - A 'rock' orchestration by The Styrenes - Part 1

In C by Terry Riley - original recording - Part 1

Writing a Max patch to perform this is our next assignment in MUS507 here at UVIC.

Friday, November 06, 2009


Killer Whales, 2nd edition -
The Natural History & Genealogy of Orcinus Orca in British Columbia & Washington State



What is deixis? - Deixis is reference by means of an expression whose interpretation is relative to the (usually) extralinguistic context of the utterance, such as

- who is speaking
- the time or place of speaking
- the gestures of the speaker, or
- the current location in the discourse.



Deixis - In linguistics, deixis refers to the phenomenon wherein understanding the meaning of certain words and phrases in an utterance requires contextual information.



OSC Spec



LIDO - LIstening to the Deep Ocean environment




firefox restore

Firefox is my web development platform, and I find that I often have to kill and restart it to test things, so I have the alias "kf" that kills my firefox.

alias kf='killall -9 firefox-bin'

The new update of firefox now gives me a dialog box asking to restore my session when I kill it, which wastes some time, and is almost never what I want to happen.

about:config to the rescue:


Thursday, November 05, 2009


wooozy - unlimited - Sound Unlimited - the podcast of my friend Louis Yu.

Wednesday, November 04, 2009

music map


Morpheus DropTune - Polyphonic Pitch-dropping Effects Pedal with 1/2 Step Decrements



Simple Line Detection

Sobel Edge Detection

The Sobel convolution mask gives us an approximation of the local image gradient.

Monday, November 02, 2009


CANARIE has awarded $980,000 in new funding to support some exciting new approaches to data collection and analysis. Data collection will be enhanced by installation of a "mini-observatory" at a nearby secondary school. Data analysis will be augmented by two new software-enabled approaches.
Ocean Observatory Data Heads For Saskatchewan



8. Start with Something Minimal

More from Paul Graham. Some good points in there.



How to write a Google Wave Robot



Sunday, November 01, 2009


My M.Sc. defense is going to be on November 19th, my thesis is entitled:

Content-aware visualizations of audio data in diverse contexts

Wish me luck!


Trying to remember how to login to the Nethack Tournament this year. Need to ascend at least one character this year, to keep up my geek cred. After my Ph.D. I might try for the Grand Slam, but that would be a lot of Nethacking.

duchess says

Duchess Says - Main site
DuChESS SayS - My Space
Duchess Says - At wikipedia

Duchess Says is a fantastic band out of Montreal that I'm really digging right now.

This is yet another great band that I found through xlr8r tv, an awesome video podcast about music and music tech.

Saturday, October 31, 2009

Clay Shirky: Institutions vs. collaboration


CANARIE - has awarded $980,000 in new funding to support some exciting new approaches to data collection and analysis. Data collection will be enhanced by installation of a "mini-observatory" at a nearby secondary school. Data analysis will be augmented by two new software-enabled approaches.

Thursday, October 29, 2009



wrong idea

How I Learned to Stop Worrying and Love Web Development Again by Salar - Why we don?t support Internet Explorer

This is just not a good idea. Ignoring 70% of the people who use the web is not a good idea.







Whales are good listeners -

Whales are polite conversationalists, as they can spot rhythms in the ocean filled with the calls of marine animals, scientists claim.

The marine biologists at the Littoral Acoustic Demonstration Center have come up with a device that can spot these rhythms and identify individual animals.

With the help of this latest technique they have learnt that whales make a specific effort to keep their calls from overlapping.

They will present their study at a meeting of the Acoustical Society of America (ASA) in San Antonio.

Also, Natalia Sidorovskaia with her colleagues at the University of Louisiana at Lafayette have noted that whales change the intervals between these echolocating clicks in a way that seems to prevent cluttering the echoes from these calls.

?In other words, whales are polite listeners; they do not interrupt each other,? Sidorovskaia said. (ANI)

Wednesday, October 28, 2009


Best command line option evar, for MySQL:


Tuesday, October 27, 2009

mystery cafe

At this cafe, you get what the person before you ordered. The next person gets what you ordered.

For the record, here are the rules of the Ogori cafe:
1) Let's treat the next person. What to treat them with? It's your choice.
2) Even if it's a group of friends or a family, please form a single-file line. Also, you can't buy twice in a row.
3) Please enjoy what you get, even if you hate it. (If you really, really hate it, let's quietly give it to another while saying, "It's my treat?")
4) Let's say "Thank You! (Gochihosama)" if you find the person with your Ogori cafe card.
5) We can't issue a receipt.


gselt - watches the X selection and displays a menu of actions that can be done with the text that is currently selected. Actions are configurable and specify regular expressions to match against the selection.



New SGI Octane III. Wow. Price must hurt.


Nova Science Now: Auto-Tune

Thursday, October 22, 2009

Tuesday, October 20, 2009

Thursday, October 15, 2009


Phaeton by Camille Saint-Saens - written by Peter, who is a visiting scholar in our lab


Tuesday, October 13, 2009

Innovation Contest | BallMeR

check out sness in the background!

Innovation Contest | Hidden Forces

i was there!


10/GUI - Reimaginging the desktop

I do something similar to this with Enlightenment already, but my scheme requires you to think in 5 dimensions. :) lol.

10/GUI from C. Miller on Vimeo.

html5 audio



ofx paul

html5 audio

J.A.I. or "Javascript Audio Interface"

// Create an array of the <audio> resources
var playlist = document.getElementById('jai').getElementsByTagName('audio');

// Beings playing the first audio file

// Mutes the audio

// Returns the current volume of the resource
var volume = playlist[0].volume;

// Gets the length in seconds of the audio (not always 100% accurate)
var length = playlist[0].duration;

// Gets the current position of the track in seconds
var time = playlist[0].currentTime;

// Sets the current position of the track to 10 seconds
playlist[0].currentTime = 10;

// Pauses the audio at it's current position

// Gets the URL of the audio file
var filename = playlist[0].src;

audio player HTML5 style
Using audio and video in Firefox
HTML 5 Draft - Media elements
HTML5 Audio Soundboard

$("audio").removeAttr("controls").each(function(i, audioElement) {
var audio = $(this);
var that = this;
.click(function() {;

Sunday, October 11, 2009


out of the box is where I live.

Friday, October 02, 2009


I want. No, I need the Novation Launchpad.

Wednesday, September 30, 2009


my tagline for my fields of study is "Music Information Retrieval, Distributed Cognition and Ambient Interfaces"

cool :)


ChucK - is a strongly-typed, strongly-timed, concurrent audio and multimedia programming language.
ChucK tutorial


live coding

Tuesday, September 29, 2009

Monday, September 28, 2009

dbl click

// sness - Wow, bizarre, in order to make the double click event work, mouseChildren has
// to be off and doubleClickEnabled has to be true
_well.mouseChildren = false;
_well.doubleClickEnabled = true;


"Duct tape programmers are pragmatic. Zawinski popularized Richard Gabriel?s precept of Worse is Better. A 50%-good solution that people actually have solves more problems and survives longer than a 99% solution that nobody has because it?s in your lab where you?re endlessly polishing the damn thing. Shipping is a feature. A really important feature. Your product must have it."

From The Duct Tape Programmer

This is so true. Just get something done that works, get it into the hands of your users, and then iterate.

jquery tools

Sunday, September 27, 2009

spectrum colors

Spectrum Colors - Pretty flaky, but has some useful images.

Saturday, September 26, 2009

Magibon Plays the Theremin

Rhythmicon demonstration

I am building a software version of this for my class Music 507. So cool!

Friday, September 25, 2009




The Duct Tape Programmer

"Yeah," he says, "At the end of the day, ship the fucking thing! It"s great to rewrite your code and make it cleaner and by the third time it'll actually be pretty. But that's not the point" you're not here to write code; you"re here to ship products."



GDB and Reverse Debugging - GDB version 7.0 (due September 2009) will be the first public release of gdb to support reverse debugging (the ability to make the program being debugged step and continue in reverse).

Wow. Is this for real?

rails gmail


issue tracking

Trac Installation Guide for 0.11
bugzilla in action at mozilla
Comparison of issue tracking systems

These are all great, but probably too heavyweight for issue tracking on The Orchive.





Wednesday, September 23, 2009

orchive 2.0

I just launched the new version of The Orchive this week. Check out this amazing section (It's about halfway through, so zoom all the way out and click on "wow.".).

Monday, September 21, 2009



Android vs Maemo - Wow, I had no idea how cool Maemo was. Too bad it's just on Nokia.


New Math for Artificial Neurons - Floating-point processors in FPGAs make for artificial neurons quick enough to communicate with real ones


Saturday, September 19, 2009

Friday, September 18, 2009

The Bug - Poison Dart feat. Warrior Queen

c++ gotcha

COW for strings in C++:

For those who like their punchlines first: std::string is designed to allow copy-on-write. But once operator[] is called, that string is ruined for COW forevermore. The reason is that it has to guard against a future write at any time, because you may have stashed away the internal pointer that operator[] returns ? a feature that you surely know better than to use, but that costs you nevertheless.


Some really cool work on Faceted Tag Clouds here at UVIC by Dr. Storey.

There is an online prototype that you can check out.

I want to apply some of the ideas from this to our prototype Play Tag Now! music browsing interface.

Wednesday, September 16, 2009


Liminality - (from the Latin word l?men, meaning "a threshold"[1]) is a psychological, neurological, or metaphysical subjective, conscious state of being on the "threshold" of or between two different existential planes.

chrome 3.0

Google Chrome 3.0 - I love Chrome, it's an awesome web browser.



Tuesday, September 15, 2009

oh snap

PixelSnap - is an extension for Inkscape, an incredibly useful vector graphics app. It allows you to align rectangles & paths to pixel boundaries, to create sharp web & digital graphics.


Schemix is a Scheme system, implemented as a patch to the Linux kernel. lol!

$ cat /dev/schemix

$ echo "(+ 1 2 3)" > /dev/schemix
$ cat /dev/schemix
$ cat > /dev/schemix
(define foo (kernel-lambda (char*) printk))
(foo "Blah, blah, blah")

$ dmesg | tail -n 1
Blah, blah, blah

Now that's my kind of GUI. "cat" to write a program.