Sunday, November 30, 2008
Saturday, November 29, 2008
edit
Good editors aren't better or worse, just different. Totally. People's brains just think different, so find the editor that fits the way you think the best.
My brain fits Emacs the best, although over the last 10 years it's been a combination of me making Emacs fit me better, and me changing my brain to fit Emacs better. I'll be using Emacs when I'm 90.
gui
This is very cool, a GUI that changes based on the users skill level.
Totally the future. The interface should adapt to you as you learn it better. Emacs has a function where if you enter the full command name with M-x, it tells you the keys that could be used to type it, this adaptive interface is the next step in this.
Friday, November 28, 2008
bitfields
An interesting article about how bitfields are not as cool as they seem. I never thought about it this way, interesting.
Wednesday, November 26, 2008
Monday, November 24, 2008
dilithium
A dilithium star this year, that's all she wrote. I just don't have time for a Hat Trick try this year. But I do have
the bragging rights that I only started one character and ascended her. My favorite, a Chaotic Female Elven Wizard.
Had 4 unused wishes left.
Man Nethack is sure simple compared to Slash'em, which is my prefered variant now.
Rachmaninov - Piano Concerto no. 3 (Cecile Licad) 3/6
Watch for when the lights go out and she keeps on playing for a minute. That is deep knowledge.
math
Covariance matrix
Math in Ruby
Matrix in Ruby
Matrix multiplication
I found that Ruby was very nice for doing some statistics with a Gaussian classifier:
covariance_matrix = Matrix.diagonal(var_x,var_y)
inv_covariance_matrix = covariance_matrix.inverse
determinant_covariance_matrix = covariance_matrix.determinant
Friday, November 21, 2008
sweet ruby goodness
Wow. Great tip here:
>> "%.2f" % 45.4324234321421
=> "45.43"
>> "[%s]" % "Hey you dirty old ruby, put me in brackets. NOW!"
=> "[Hey you dirty old ruby, put me in brackets. NOW!]"
For more complex substitutions, pass the arguments as an array:
>> "[%s] And a number:%.1f" % ["Hey you dirty old ruby, put me in brackets. NOW!",43.4323]
=> "[Hey you dirty old ruby, put me in brackets. NOW!] And a number:43.4"
old old old
Gobekli Tepe: The World?s First Temple? - 11,000 years old, crafted and arranged by prehistoric people who had not yet developed metal tools or even pottery.
We are old.
ruby
The Opposite of Momentum - About problems with Ruby.
Yes. Definitely. I love Ruby and program all my scripts in it, plus all of my websites. But I'm learning Python and encourage people to learn Python instead of Ruby.
Kids, learn Python. And Ruby, if you have the extra brainpower.
Ruby is prettier, but Python will win.
gcc hacks
GCC hacks in the Linux kernel - The Linux? kernel uses several special capabilities of the GNU Compiler Collection (GCC) suite. These capabilities range from giving you shortcuts and simplifications to providing the compiler with hints for optimization. Discover some of these special GCC features and learn how to use them in the Linux kernel.
Thursday, November 20, 2008
alchemy
Alchemy - is a research project that allows users to compile C and C++ code that is targeted to run on the open source ActionScript Virtual Machine (AVM2). The purpose of this preview is to assess the level of community interest in reusing existing C and C++ libraries in Web applications that run on Adobe Flash Player and Adobe AIR.
Tuesday, November 18, 2008
Monday, November 17, 2008
Sunday, November 16, 2008
Friday, November 14, 2008
3dwii
3d Wii Application
This is a small program which utilizes the Cwiid API to detect the x, y and z coordinates of an infrared light source. The intent was to make something which could demonstrate the posibilities of using the wiimotes in this alternative manner. Usually the wiimote uses an IR source to determine if it has moved positions. What this program does instead is uses the wiimote as a stationary sensor, which detects the position of the IR source. In addition, by using two wiimotes, it's possible to determine the depth of the IR source as well.
wiiosc
WiiOSC is a tiny Linux program to use the Nintendo Wii Controller as a control device for music programs.
It sends out the Wii data as OSC messages to a port of your choice, and can receive OSC data to turn on LEDs or the rumble.
love. it.
I'm using it in SOMba, my samba music generator program for dancers. Might rewrite it to more closely match what I need, but it's pretty awesome as it is.
hadoop
hadoop is a software platform that lets one easily write and run applications that process vast amounts of data.
It's like MapReduce from Google, but how Yahoo does it (which probably means not as good). But it's part of Apache incubator, which is very cool.
Hadoop at wikipedia
is a dataflow programming environment for processing very large files.
CouchDB is also now in Apache incubator.
CouchDB at wikipedia.
This came from me researching a class I taught recently at UVIC on Functional Programming.
Charming Python: Functional programming in Python
Functional Programming HOWTO in Python
Ocaml - I couldn't figure out the OCaml logo, but the class figured out that it looked like a Camel. lol. droll lol.
Monads
From Monoids to Monads
Thursday, November 13, 2008
fp
Just taught my first university class EVAR, it was for a Function Programming class for George. Here are some resources:
haXe
CouchDB
FFTW
FFTW at wikipedia
List comprehension
Python list comprehensions
PEP for list comprehensions in Python
Wednesday, November 12, 2008
Monday, November 10, 2008
omnet
For a course that I'm taking, CSC 546 : Operations Research
OMNet++
omnet docs
OMNeT++ in a Nutshell
FIFO
omnet user manual
omnet API
Sunday, November 09, 2008
Thursday, November 06, 2008
ascii7
I was having big problems with 'pdftotext' producing wacky characters that were making life difficult when I would edit the file. The trick is to set the encoding to ASCII7:
pdftotext -enc ASCII7 file.pdf
I added a line to my .zshrc with the following alias
alias pdftotext='pdftotext -enc ASCII7'
Tuesday, November 04, 2008
somba2
Emilia is 35 years old and is a choreographer and has her own
modern dance company. She has been commissioned to produce a new
dance piece for the opening of the newly refurbished Chisenhale
Dance Space in London. She wants to incorporate new media and
music into the performance, and has decided to use the SOMba system
to make the music for the dancers.
She first contacts a local Brazilian musician, Ayrton, to obtain
music for a few different types of samba rhythms. Ayrton provides
her sheet transciptions of these rhythms for each of 10 different
Brazilian percussion instruments. Aryton has a large collection of
percussion instruments, and records samples of each of them for
Emilia.
Emilia then uses the SOMba system to generate audio files for each
of the parts in the samba rhythms, using the transcribed music and
the recorded samples, both provided by Ayrton. She then uses the
SOMba system to produce a Self-Organized Map of the audiofiles.
She then tries out the different SOMs by using the graphical SOM
browser in the SOMba system. The first few maps she produces do
not fit in with her desired choreography, so she generates SOM maps
until she finds one she is happy with.
Emilia then choreographs and practices with the dancers in her
dance company, trying out different dance techniques, and different
timings for when the dancers show and hide their infrared glowing
orbs. The performance is a rousing success, and Emilia is invited
to Berlin to stage another performance.
somba
Keti is a new music composer based in New York. She currently has
writers block in writing a new piece of music to be performed at
the Julliard School. Keta is at the stage of having a variety of
musical motifs that she is happy with, but is having trouble
putting all these pieces of music together into a unifed whole.
She first creates audiofiles of the various motifs in her score,
breaking these motifs into small one bar measures. Some of the
motifs are rhythmical, some are melodic segments and some are
environmental sounds. She then uses the SOMba system to create
three different Self-Organizing maps, one for rhythm, one for
melody, and one for the environmental sounds.
She then loads up three different instances of the SOMba GUI
browser, and starts placing the icons at different points in the
three different self organizing maps. She adjusts the volume of
each of the clips on the screen, and moves the clips around until
she finds a pleasing arrangement of sounds.
She then takes her 8 sound orbs and puts them on the floor of her
studio apartment, in roughly the places that she had on the
graphical user interface. Keti then moves around space, moving
audio clips slightly to produce exactly the timbres and
juxtapositions of music she is interested in producing.
Somewhere along this process she has the realization that she could
produce this music in real time, on stage by moving the sound orbs
herself. She develops her symphony now with this idea in mind.
When she performs it, the audience is initally shocked by the
composer moving around the stage, but soon begins to appreciate it,
and the performance ends to thunderous applause.
Sunday, November 02, 2008
Saturday, November 01, 2008
wii
I'm setting up the wii mote on Linux to do my project for CSC 589 here at UVIC. Here's some useful links:
cwiid - a collection of Linux tools written in C for interfacing to the Nintendo Wiimote.
ubuntu wii
Sending simulated mouse events using uinput
wminput
wiimote
wiimote driver
libwiimote
Control X.Org cursor with Wiimote
Tracking Your Fingers with the Wiimote
I personally found the cwiid project to work the best for me. The other big project, libwiimote is cool but doesn't seem to read the IR sensors correctly, and that's what I need.
I'm currently extracting code from wmdemo to have a small little program to send out OSC messages for the data for the IR leds on the wiimote.
Now, with two wiimotes I can track 8 dancers in real time for my SOMba project. It is gonna be sweet.
Subscribe to:
Posts (Atom)