#musicbrainz-devel

/

      • ianmcorvidae
        arguably that should just use * magic but for now I can just put in size
      • ocharles
        you say that to the author who barely knows python and has no idea what * magic is ;)
      • ianmcorvidae
        so
      • instead of what you did, you could have it be
      • def matches(self, *args): return self.pred(*args)
      • ocharles
        * magic is kwargs, I guess
      • ianmcorvidae
        which means unpack all other positional arguments into the variable 'args', in the first instance, and then 'unpack args into separate variables' in the second
      • ** is kwargs
      • ocharles
        ok, I get the first bit - how does the second bit work?
      • ianmcorvidae
        which is the same with a dict instead of an array and keyword args instead of positional ones
      • ocharles
        as in, what does pred 'see'?
      • a dictionary?
      • ianmcorvidae
        so, imagining args has something like [200, 1024]
      • since with * it's always arrays -- ** will be dicts
      • ocharles
        ah, ok
      • ianmcorvidae
        then self.pred(*args) is equivalent to self.pred(200, 1024)
      • basically the * removes [] and ** removes {}, in a handwavey syntax-specific way of putting it :P
      • basically though, putting *args as the second "argument" to matches, and the only thing passed to pred, just means "pass along all the positional args"
      • which is probably basically what we want
      • cool, and it appears to be back
      • I've provisioned all three servers
      • this was just with adding size deliberately, not with *
      • ocharles
        yay
      • dataz
      • djce joined the channel
      • MightyJay joined the channel
      • ijabz joined the channel
      • djce joined the channel
      • yay, finished all my schema change work
      • ruaok
        wow, nice work.
      • ianmcorvidae has reports to finish
      • ianmcorvidae
        otherwise likewise though :)
      • ocharles
        well i didn't really have any :P
      • drop a table and add a column
      • ianmcorvidae
        hehe
      • I guess places and _name tables are the two big ones this round
      • reosarevok
        ocharles: still on time to decide you want to do series then :p
      • ianmcorvidae
        god it'll be nice to be rid of those _name tables though
      • hating them even more since I've been working on expunging them :P
      • ocharles
        reosarevok: I would like to keep this schema change pretty slim
      • ruaok
        amen to that.
      • to make matters worse, I'll be traveling at the time.
      • reosarevok
        ocharles: well, you can always ship them in May :p (I just want someone to commit to write them because if not we're never going to make it :( )
      • ruaok
        in SLO, ironically enough.
      • ianmcorvidae
        hah
      • I guess I'll be traipsing off to CA shortly after we do the release too, huh
      • ocharles
        ianmcorvidae: i can't wait to be rid of those tables, too :)
      • ianmcorvidae
        well, I guess if something does go to shit two of us will be in the same room at least :P
      • reosarevok
        FWIW the upgrade *seems* to have gone well in rika
      • (took ages, but)
      • ruaok
        define ages.
      • reosarevok
        Couple hours
      • ruaok
        thats problematic.
      • reosarevok
        That's unavoidable
      • ruaok
        that means at least an hour of downtime. :(
      • reosarevok
        We're rewriting the whole thing to remove _name tables
      • So unless you can go back in time to stop us from adding them...
      • Mind, rika is a slow server
      • ocharles
        we can always do it right now to a separate table, and write triggers to materialise on the fly
      • then at upgrade time we just flip the tables
      • reosarevok
        that part was 70 min on rika, 40 min at ian's server
      • ocharles
        (is one approach)
      • reosarevok
        Dunno how long it will take on the actual servers
      • ocharles
        the downside then is our upgrade.sh is not what everyone else has
      • reosarevok
        One hour of downtime isn't that bad
      • ruaok
        yeah.
      • and totoro is respectably fast.
      • has fast drives in raid-1,0
      • ianmcorvidae
        yeah, I'd bet totoro will be faster than my local system
      • which in turn was faster than rika
      • of course others will have to run it on weaker systems, but
      • reosarevok
        Which in turn will be faster than a VM, right?
      • ianmcorvidae
        if they could handle the track ID one they can handle this :)
      • (on my system this was about comparable to the track one, in fact)
      • ruaok
        oh fun.
      • ianmcorvidae
        yeah, VMs will probably be slower
      • ruaok
        oh speaking of broken clietns.
      • reosarevok
        Hopefully we'll handle this better than we handled the track ID one though :p
      • ruaok
        the freedb gateway hasnt been updated since may.
      • ianmcorvidae
        no
      • I fixed that
      • reosarevok
        Did someone notice?
      • ianmcorvidae
        you were on vacation at the time
      • I mean, it took a couple months, but
      • ruaok
        ah, ok. thanks!
      • ianmcorvidae
        er, well, assuming I got the code part
      • the database is updating, is what I mean :)
      • so thinking about it further it may still be broken because of code stuff
      • ianmcorvidae looks into that
      • ruaok
        so, while I have a few of your here, Xavier from the MTG is proposing a new project.
      • first off, this was open sourced recently: http://essentia.upf.edu/
      • its a versatile kit for audio processing.
      • and extracting feature vectors from audio streams.
      • ianmcorvidae
        with lots of *arbitrarily bolded* chunks of text in the *middle* of paragraphs!
      • however, looks cool
      • ruaok
        and now that MTG has access to a large collection of music via the IA, its working to extract the features from that music collection.
      • reosarevok
        ianmcorvidae: but but but *complemented*!
      • ianmcorvidae
        so presumably the notion is where do they put all this awesome data they're extracting?
      • reosarevok
        So, where do we go in?
      • ruaok
        those feature vectors would make a very nice basis for building recommendation systems.
      • ianmcorvidae: exactly.
      • the idea is to build a system that given an MBID, you get the feature vectors.
      • as an API. as well as downloadable data.
      • they are gathering the data, and I think it would be a good thing for us to host.
      • ocharles
        sounds good
      • ianmcorvidae
        seems reasonable
      • reosarevok
        How do we display it?
      • Or are we talking just throw it in a server?
      • ruaok
        not sure if it makes sense to display it.
      • ianmcorvidae
        presumably we'd want a separate project of some sort for the API bits, and ideally we'd split out our replication code so we can output separate replication packets for it if we want to do that
      • ruaok
        its not friendly to humans kind of data.
      • ianmcorvidae: yes, totally separate.
      • ianmcorvidae
        well, how we display it, if we do, is by writing our own recommendation engine and putting related $whatever links on pages
      • ruaok
        but under the metabrainz umbrella.
      • ianmcorvidae: yep. recommendation engine is exactly where this is going.
      • ianmcorvidae
        yeah
      • I'm not so sure about us writing our own engine, but :P
      • ocharles
        i don't think we should be thinking about getting into the recommendation business
      • because that is *hard*
      • ianmcorvidae
        hosting the data, however, is right up our alley
      • ocharles
        yea
      • ianmcorvidae
        so that I'm down with
      • ruaok
        ocharles: its hard because of lack of data.
      • ianmcorvidae
        my point was just that if we want to display it that's how we do it :)
      • ocharles
        70s ianmcorvidae is down with that
      • ianmcorvidae
        hey, you've seen my hair ;)
      • ocharles
        :)
      • reosarevok
        He can dig it
      • ruaok
        I'm really interested in enabling all of this/
      • ocharles
        ruaok: that is part of the problem, but not really the crux of the problem
      • reosarevok
        ruaok: so, say yes first, think what else if anything we do about it later? :p
      • ruaok
        ocharles: yes, but the MTG has the type of people on board who love to work on shit like that.
      • reosarevok: yep. :)
      • ianmcorvidae notes that this is the sort of thing GSoC kids might appreciate as well
      • reosarevok
        ruaok: If that means *they* write it not us, sounds good :p
      • ruaok
        as reosarevok said, we should do this and then see what comes fromit.
      • ianmcorvidae
        not that it'd necessarily be an awesome engine
      • but it'd be some sort of one :)
      • ocharles
        but yea, all for hosting this and providing an api
      • reosarevok
        We can also host *that* later
      • ruaok
        ianmcorvidae: a first step would be good.
      • voiceinsideyou joined the channel
      • ok, good. thanks for the sanity check, folks.
      • reosarevok: I want that so bad.
      • reosarevok
        ruaok: what does it need? Apart from disc space that is
      • ianmcorvidae
        I mean, if we're implementing an API it needs that
      • ruaok
        software.
      • ianmcorvidae
        if we aren't, it needs some sort of software still
      • in terms of uploaders and whatever assorted crap
      • ruaok
        for the essentia stuff, the api could be pretty simple.