Subscribe: Stuff. Also, things.
http://stuffalsothings.blogspot.com/feeds/comments/default
Preview: Stuff. Also, things.

Stuff. Also, things.





Updated: 2013-02-27T01:38:41.129-08:00

 



I just installed UMFPACK using partially your inst...

2012-09-21T05:01:07.481-07:00

I just installed UMFPACK using partially your instructions. In fact since there is a specific mac version of SuiteSparse I modified it also according to http://blog.hyperjeff.net/?p=160

basically I dowloaded the current version of Suitesparse at

http://www.cise.ufl.edu/research/sparse/SuiteSparse/current/

Unzip/Untar then went to
SuiteSparse/SuiteSparse_config

and edited
SuiteSparse_config_Mac.mk

I
commented the generic CF to keep the one with -DNTIMER

CF = $(CFLAGS) $(CPPFLAGS) $(TARGET_ARCH) -O3 -fexceptions -fPIC -DNTIMER
# CF = $(CFLAGS) $(CPPFLAGS) $(TARGET_ARCH) -O3 -fexceptions -fPIC

comment the generic LIB

# LIB = -lm

Under Mac options I had

F77 = gfortran
CF = $(CFLAGS) -O3 -fno-common -fexceptions -DNTIMER -no-cpp-precomp -arch x86_64
BLAS = -framework Accelerate
LAPACK = -framework Accelerate
LIB = -lm
CC = gcc

Save the file and replace it as SuiteSparse_config.mk

THIS LAST STEP IS QUITE IMPORTANT, since just changing the SuiteSparse to include the SuiteSparse/SuiteSparse_config_Mac.mk will keep giving the annoying error:

ld: library not found for -lrt

I then edited the makefile to compile just
- ( cd SuiteSparse_config/xerbla && $(MAKE) )
- ( cd SuiteSparse_config && $(MAKE) )
- ( cd UMFPACK && $(MAKE) )

then

make
make hb
make install



I just installed UMFPACK using partially your inst...

2012-09-21T05:00:35.186-07:00

I just installed UMFPACK using partially your instructions. In fact since there is a specific mac version of SuiteSparse I modified it also according to http://blog.hyperjeff.net/?p=160

basically I dowloaded the current version of Suitesparse at

http://www.cise.ufl.edu/research/sparse/SuiteSparse/current/

Unzip/Untar then went to
SuiteSparse/SuiteSparse_config

and edited
SuiteSparse_config_Mac.mk

I
commented the generic CF to keep the one with -DNTIMER

CF = $(CFLAGS) $(CPPFLAGS) $(TARGET_ARCH) -O3 -fexceptions -fPIC -DNTIMER
# CF = $(CFLAGS) $(CPPFLAGS) $(TARGET_ARCH) -O3 -fexceptions -fPIC

comment the generic LIB

# LIB = -lm

Under Mac options I had

F77 = gfortran
CF = $(CFLAGS) -O3 -fno-common -fexceptions -DNTIMER -no-cpp-precomp -arch x86_64
BLAS = -framework Accelerate
LAPACK = -framework Accelerate
LIB = -lm
CC = gcc

Save the file and replace it as SuiteSparse_config.mk

THIS LAST STEP IS QUITE IMPORTANT, since just changing the SuiteSparse to include the SuiteSparse/SuiteSparse_config_Mac.mk will keep giving the annoying error:

ld: library not found for -lrt

I then edited the makefile to compile just
- ( cd SuiteSparse_config/xerbla && $(MAKE) )
- ( cd SuiteSparse_config && $(MAKE) )
- ( cd UMFPACK && $(MAKE) )

then

make
make hb
make install





Totally agree with all that, Ben. The main points ...

2011-04-05T09:55:31.915-07:00

Totally agree with all that, Ben. The main points that bug me are:

1) A moral problem with sites that gain their value from data contributed by a community of users not playing nice and allowing that same community access to the data

2) The total shortsightedness of it in economic terms. The only way in which someone could damage a data provider's business using their own data is to do their job *better* than them - and the best way to stop that happening is to make sure you're consitently offering an excellent product. Anything else a third party could do with the data actually adds value for the business supplying the data (assuming attribution, which could very easily be enforced through CC / Science Commons licences or similar).

Beer's such an interesting domain for collaborative filtering / information retrieval work - There's plenty of really interesting subjective data about taste through reviews, ratings etc, formal beer style taxonomies like BJCP, not to mention all the interesting chemical / biological information that you can glean from a recipe and a little technical information about ingredients and process. There's also a ton of interesting questions that could be asked about Beer as a domain, all we need is the data!



Congratulations, Ben! Very much looking forward t...

2011-04-01T11:31:20.676-07:00

Congratulations, Ben!

Very much looking forward to reading this.



Congrats, dude! I'm looking forward to attempt...

2010-12-22T11:53:39.440-08:00

Congrats, dude! I'm looking forward to attempting to read it!
- Bomber née Ace



thanks mate ;)

2010-09-28T05:20:47.167-07:00

thanks mate ;)



zazi - link to the slides is now in the post!

2010-09-28T02:54:26.422-07:00

zazi - link to the slides is now in the post!



Dunno, but I'll ask the the speaker and report...

2010-09-28T01:28:25.447-07:00

Dunno, but I'll ask the the speaker and report back...



Are the slides of the keynote speech somewhere ava...

2010-09-27T02:21:41.411-07:00

Are the slides of the keynote speech somewhere available?



Yup, that there yak is well and truly shaved...

2010-06-01T02:46:11.377-07:00

Yup, that there yak is well and truly shaved...



hi eric I never managed to get that port to a pla...

2010-05-30T08:30:06.553-07:00

hi eric

I never managed to get that port to a place where I liked it. The emd that I was doing I did by making a simple wrapper around Yossi Rubner's EMD library. I imagine one could make some python bindings directly around that library, that's probably the correct way to get EMD in python in light of the complexity, but I haven't done it. Hope that helps.



Howdy- I'm working on a Django/python project...

2010-05-29T12:47:05.972-07:00

Howdy-

I'm working on a Django/python project for which I'd like to use the EMD (Earth mover's distance).. I noticed on http://mir-research.blogspot.com/2008/06/matlab-python-and-video.html that you ported an EMD function from MATLAB to python. Did you ever contribute it to scipy? Or, if not, is EMD currently available in python/scipy?

Thanks,
Eric




2010-02-04T22:29:41.081-08:00

This comment has been removed by a blog administrator.



Hah, now you've been reading my log book! 1) ...

2010-01-27T08:26:19.773-08:00

Hah, now you've been reading my log book!

1) Non-content features are totally workable in this framework, provided you have a principled way to integrate them. That was sort of the point of my paper at ismir last year. :)

2) Yes, edge-transitions are crucial, assuming that the user isn't skipping (which is a big assumption). It's certainly possible to encode asymmetric relations, but TSP probably isn't the right tool for the job because you lose metric approximation guarantees. A more robust way is to map each song to a set of states, with similarity extracted from specific regions: 2 states for just inbound/outbound, 3 if you want to include an overall description as well.

(Double-related, collecting training data for this type of system is what I was getting at with quiztape. I should really get back to that one...)

3) Your last point is definitely the killer here: evaluation be a harsh mistress. Adjacent-song evaluations are inherently dissatisfying, but I'm not sure what more you can do in a rigorous way.



Gah! Your probability models could practically ha...

2010-01-27T08:10:14.710-08:00

Gah! Your probability models could practically have come out of my log book! Yes Yes Yes.
Although I'm especially interested in encapsulating non-content based (i.e. social and cultural features) into these probability models. Which I don't see as incompatible as long as the notion of similarity is quantifiable.

Have you considered higher order (ie. more than 1 dimension) similarity measures? Or for that matter the really annoying fact that when you consider notions like 'flow' what really matters isn't song to song similarity but last played bit of song a (not necessarily the end) to first played bit of song b? In the context of you TSP solution this could be dealt with via asymmetrical weighted directed graphs.

On another related note that may be of interest, I'm poking around at training expectation models (probably tied to tags) as a means to evaluate playlist that are made via other means. (like weighted social graphs, say...)



Ben, you've been reading my wishlist! Here...

2010-01-27T07:52:36.447-08:00

Ben, you've been reading my wishlist!

Here's my basic take on it:

It's useful to draw a distinction between having a baseline measure of similarity between songs, and an application-specific measure of similarity. Think of this as the difference between passive recommendation and active search.

A simple way to model this is with a markov chain. Your transition probabilities P(X2|X1=x) capture raw song similarity, and the emission probabilities P(F|X=x) capture the user-driven search aspects of creation (eg, "I want the song in position 1 to have high energy, and song 6 should be mellow"). Then you just run inference on the supplied observations, and out pops a mix.

Of course, this sweeps a lot of technical details under the rug, but I suspect something along these lines may be about the right level of abstraction for what you're talking about.

I've hacked together the first half of this type of system (code and description at http://arizonabayes.blogspot.com/2009/11/travelling-salesmix.html), but it's quite far from perfect.




2010-01-16T00:40:33.374-08:00

This comment has been removed by a blog administrator.




2009-12-04T00:13:19.808-08:00

This comment has been removed by a blog administrator.



ha! I didn't even know ports had finally gott...

2009-08-19T15:06:06.144-07:00

ha! I didn't even know ports had finally gotten py26. That's quite useful. When I first tried to get scipy working with py26 ports didn't have it. It only built around py25. So since I had built python 2.6 outside of macports, it was really difficult to get ports to use that copy. Also, as I recall there are some problems with the fortran that MacPorts uses, but these may well have been fixed as I haven't looked into it in quite sometime.

Also, I've been told painfully compiling fresh binaries is good for your health and puts hair on your chest.



Here's how I install it: sudo port install...

2009-08-19T14:45:42.304-07:00

Here's how I install it:

sudo port install py26-scipy py26-matplotlib

Did you try that? Does it lack some component that you need?



thanks everyone! I'll keep you all up to date...

2009-07-15T13:55:31.873-07:00

thanks everyone! I'll keep you all up to date as things develop. (more complete visualizations will be on twitter over the next couple of days.)



Another great example (besides that of Yves and co...

2009-07-15T01:50:41.446-07:00

Another great example (besides that of Yves and co) to join the musichackday next year ;)

Cheers zazi



Excellent stuff. I was only there for part of the ...

2009-07-14T16:18:58.171-07:00

Excellent stuff. I was only there for part of the Saturday, but the output from the weekend was awesome.



Mind bogglingly beautiful!

2009-07-14T15:25:52.268-07:00

Mind bogglingly beautiful!



Cool stuff!

2009-07-14T15:20:06.276-07:00

Cool stuff!