Thursday, April 29, 2010

linux audio

Linux audio explained - Wow. that is not so hot.


A Brief, Incomplete, and Mostly Wrong History of Programming Languages

1936 - Alonzo Church also invents every language that will ever be but does it better. His lambda calculus is ignored because it is insufficiently C-like. This criticism occurs in spite of the fact that C has not yet been invented.


Tail recursion - In computer science, tail recursion (or tail-end recursion) is a special case of recursion in which the last operation of the function, the tail call, is a recursive call. Such recursions can be easily transformed to iterations. Replacing recursion with iteration, manually or automatically, can drastically decrease the amount of stack space used and improve efficiency. This technique of iterative calculation is commonly used with functional programming languages, where the declarative approach and explicit handling of state promote the use of recursive functions that would otherwise rapidly fill the call stack.

What is tail-recursion?
The basic idea behind Tail Recursion

Tuesday, April 20, 2010

Monday, April 19, 2010


Native Audio in the browser - Excellent article.

Cross-browser issues suck. So, for now, just going to develop for Chrome, and then port to other browsers later.

Come on iPhone get embedded audio. 4.0 now.

socket to me

Saturday, April 17, 2010

YouTube - Sick Tamburo - Parlami per sempre

YouTube - Sick Tamburo - Parlami per sempre: ""

YouTube - Sick Tamburo - Il mio cane con tre zampe

YouTube - Sick Tamburo - Il mio cane con tre zampe: ""

Automatically tagging audio files using supervised learning on acoustic features

Automatically tagging audio files using supervised learning on acoustic features: ""

[MIREX] Announcing MIREX 2010: Music Information Retrieval Evaluation eXchange

[MIREX] Announcing MIREX 2010: Music Information Retrieval Evaluation eXchange

[MIREX] Announcing MIREX 2010: Music Information Retrieval Evaluation eXchange

J. Stephen Downie jdownie at
Tue Mar 23 16:32:21 CDT 2010
Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
(Apologies for cross-postings)

MIREX 2010 Call for Evaluation Task Proposals

The International Music Information Retrieval Systems Evaluation
Laboratory (IMIRSEL) team at the University of Illinois at
Urbana-Champaign, is soliciting proposals for evaluation tasks to be
performed as part of the 2010 Music Information Retrieval Evaluation
eXchange (MIREX 2010). Potential participants are invited to submit
proposals for novel evaluation tasks, the re-running of past evaluation
tasks and additional datasets and evaluation metrics to used to run tasks.

Since 2005, MIREX has conducted 760 evaluation runs over a wide range of
MIR tasks. Evaluation tasks from past MIREX evaluations include:

- Audio Test/Train Tasks
- Audio Artist Identification
- Audio Genre Classification
- Audio Music Mood Classification
- Audio Classical Composer Identification
- Audio Onset Detection
- Audio Key Detection
- Audio Tag Classification
- Audio Cover Song Identification
- Real-time Audio to Score Alignment (a.k.a Score Following)
- Query-by-Singing/Humming
- Multiple Fundamental Frequency Estimation & Tracking
- Audio Chord Estimation
- Audio Melody Extraction
- Query-by-Tapping
- Audio Beat Tracking
- Audio Music Similarity and Retrieval
- Structural Segmentation

So that the MIREX team can gauge the level of interest in each task an
online poll has been setup. If you are considering participating in
MIREX 2010 please indicate your likelihood of participation at:

Please use the MIREX organisation mailing list (EvalFest) for discussion
of MIREX task proposals and other MIREX related issues:

The MIREX 2010 wiki will be used to embody and disseminate task
proposals and can be found at:

Where possible, task related discussions, which should be conducted on
the MIREX organization mailing list (EvalFest), should be summarized on
the appropriate MIREX 2010 wiki pages.

Where possible, definitions or example code for new evaluation metrics
or tasks should be provided to the IMIRSEL team who will embody them in
software as part of the NEMA analytics framework, which will be released
to the community at or before ISMIR 2010 - providing a standardised set
of interfaces and output to disciplined evaluation procedures for a
great many MIR tasks.

Projected Target Dates:

- 1st May 2010: MIREX submission system opens (somewhat hopeful
target date)
- 15th June - 1st July 2010: Rolling MIREX submission system closures
(dates to be announced)
- 15th July 2010: MIREX results posting begins
- 1st August 2010: All MIREX results posted (somewhat hopeful target
- 2-6th August 2010: USMIR Summer School
- 9-13th August 2010: ISMIR 2010 Conference

Finally, a web-accessible submission and execution system is to be
provided for MIREX by the NEMA project (
This prototype "MIREX DIY" system will allow users to very simply
submit, configure, test, execute and debug their own submissions and to
inspect or publish their results. As this system is still in its infancy
it may (initially) only be available for selected tasks and participants
at MIREX 2010. Hence, we would like to invite institutions likely to
produce multiple submissions to MIREX 2010 to contact the IMIRSEL team
at mirexteam at and to nominate an individual from their
institution to be tutored on the use of the NEMA service and to manage
their institutions submissions.

Looking forward to the best MIREX yet.

J. Stephen Downie on behalf of the MIREX team.

"Research funding makes the world a better place"
J. Stephen Downie, PhD
Associate Professor,
Graduate School of Library and Information Science; and,
Center Affiliate, National Center for Supercomputing Applications
University of Illinois at Urbana-Champaign
[Vox/Voicemail] (217) 649-3839
NEMA Project Home:
Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
More information about the EvalFest mailing list



Friday, April 16, 2010


svg in html

Embedding SVG in XHTML
SVG at
Using SVG for Flexible, Scalable, and Fun Backgrounds, Part II
Inline SVG in HTML, with Firefox 3.5
SVG In HTML Introduction
Namespaces Crash Course
SVG embedded inline in XHTML
svgweb - Scalable Vector Graphics for Web Browsers using Flash
JavaScript for use with SVG
SVG at
SVG Masking
try out SVG in your browser SVG tutorial, example and demonstration site
Will Chrome have support for SVG?
SVG at Wikipedia
Raphael.js - JavaScript Library for doing SVG

The magic words in Django was:


return render_to_response('onsets/index.html',
{'onsets' : onsets, 'onset_pixels' : onset_pixels, 'recording' : recording},
{}, mimetype="application/xhtml+xml")


Push - is a dataflow shell which uses two new pipe operators, fan out('|<') and fanin('>|') to create Directed Acyclic Graphs of processes.

Thursday, April 15, 2010




quicklycode - Cheat sheets and programming stuff

qt cl

Using OpenCL with Qt. I would prefer OpenFrameworks, myself.

jobs vs knuth

Steve Jobs meets Don Knuth:

"It's a pleasure to meet you, Professor Knuth," Steve said. "I've read all of your books."

"You're full of shit," Knuth responded.

Wednesday, April 14, 2010


StackOverflow blog talks about:

OpenID, One Year Later
Markdown, One Year Later






Flash and crossdomain.xml.

What I wanted to do was to have my main Flash app load most of it's resources from one host, and then get the big media files from another host. This was almost easy, but a few things were tricky:

1) Make sure you're letting the right hosts through with your crossdomain.xml. The following file lets EVERYTHING through, which is probably not what you want:

<?xml version="1.0"?>
<!DOCTYPE cross-domain-policy SYSTEM "">
<allow-access-from domain="*" />

2) Put this file in the root directory of the system that you are getting images from. I thought this needed to go on the system that the Flash was being served from, which was my big stumbling block

3) Setup a LoaderContext that will allow you to access the content as data

var loader_context:LoaderContext = new LoaderContext();
loader_context.checkPolicyFile = true;

4) Use ths LoaderContext when getting the resource:

_images[zoom_level][index].load(new URLRequest(url),loader_context);

Tuesday, April 13, 2010



sound laser

This year marks the 50th anniversary of the invention of the laser, which now has an extraordinarily diverse and growing range of applications, from consumer electronics to the highest-precision metrology. Two independent studies using quite different approaches now report successful coherent sound wave amplification, in which mechanical vibrations are produced by processes that mimic stimulated light emission in laser operation. Grudinin et al. use a coupled optomechanical resonator system in which excitation by an optical laser induces mechanical oscillations. Above a critical threshold power of the pump laser, amplification and gain of the mechanical oscillations are observed, producing coherent sound from radio to microwave frequencies. Beardsley et al. use a superlattice semiconductor system to which an electric field is applied. Precise tuning of the superlattice structure produces coherent sound at several hundred GHz, in range of the clothes-penetrating THz scanners being rolled out at airports. The ability to produce intense and coherent beams of sound in these frequency ranges should find immediate application in the imaging technology sector.

Phys. Rev. Lett. 104, 83901; 85501 (2010).


fb^-1 - integrated luminosity


A Dismal Guide to Concurrency - Facebook Engineering's Notes

Monday, April 05, 2010

YouTube - Adobe AIR on iPad

YouTube - Adobe AIR on iPad: ""

Adobe Air Running on an iPad

Adobe Air Running on an iPad

Personality Test Results

Main Type
Overall Self
Take Free Enneagram Personality Test

Enneagram Test Results
Type 1 Perfectionism |||||||||||||||||| 78%
Type 2 Helpfulness |||||||||||||||||| 78%
Type 3 Image Focus |||||||||||| 42%
Type 4 Hypersensitivity |||||||||| 34%
Type 5 Detachment |||||||||||||||||||| 86%
Type 6 Anxiety |||||||||||||||||| 74%
Type 7 Adventurousness |||||||||||| 42%
Type 8 Aggressiveness |||| 18%
Type 9 Calmness |||||||||||||||||| 78%
Your main type is 5
Your variant is social
Take Free Enneagram Personality Test

So, I'm a 1,2,5,6,9. I think they need a new "sness" enneagram type. I'm a type 0. or type 11.


#pragma tricky - Tells the optimizer to go easy on the next bit.

Friday, April 02, 2010



sudo chmod 777 /dev/snd/*