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