IRC log of musicbrainz-devel on 2012-08-14

Timestamps are in UTC.

00:06:59 [marcooliveira]
marcooliveira has joined #musicbrainz-devel
00:08:20 [ianmcorvidae]
warp: do you sometimes get "There don't seem to be any diffs!" with your script thing?
00:08:26 [ianmcorvidae]
I seem to get it about 50% of the time right now :/
00:28:37 [ianmcorvidae]
ocharles, warp, ruaok: what would you three think of enabling any language on beta that's 50% translated or better?
00:29:06 [ruaok]
hmmm. I think I'd like to see that in action before making that decision.
00:29:12 [ruaok]
50% seems a rather low threshold to me
00:29:22 [ianmcorvidae]
ruaok: remember, this is just for beta
00:29:40 [ianmcorvidae]
and it's worth noting that things are in a priority order that makes that more reasonable than it sounds
00:29:54 [ianmcorvidae]
for example, most things abouve 50% have all of the 'server' domain translated, and usually a lot of languages/countries/scripts
00:30:45 [ruaok]
oh beta. ok. fine. :)
00:30:54 [ianmcorvidae]
AR stuff and statistics stuff are the most frequent casualties in those cases, also :)
00:31:08 [nikki]
hopefully something real will inspire people to translate more
00:31:18 [ianmcorvidae]
that's the hope, yeah
00:31:21 [nikki]
although we really need a beta switcher so people can actually *stay* on beta
00:31:34 [ianmcorvidae]
what forces people off beta at present?
00:31:38 [nikki]
clicking links
00:31:47 [ianmcorvidae]
I mean, *which* links :)
00:31:48 [alastairp]
lol
00:31:48 [nikki]
edit note email, oops, no longer on beta
00:31:57 [nikki]
link on irc, oops, no longer on beta...
00:32:00 [ianmcorvidae]
ah
00:32:01 [nikki]
subscriptions email...
00:32:09 [nikki]
links from the wiki...
00:32:11 [ianmcorvidae]
so you mean a user preference sort of thing
00:32:17 [nikki]
a cookie basically
00:32:26 [ianmcorvidae]
oh, so like the language switcher
00:32:27 [ianmcorvidae]
heh
00:32:34 [nikki]
that's why I created that user script, I just couldn't stay on beta long enough for it to work otherwise
00:32:37 [nikki]
yes!
00:32:53 [ianmcorvidae]
that wouldn't do it for emails necessarily
00:33:32 [nikki]
I imagine there being a cookie saying "use beta" and if you go to musicbrainz.org and you have that cookie, it loads beta instead
00:33:35 [nikki]
or whatever
00:34:05 [MBChatLogger]
http://musicbrainz.org
00:34:05 [nikki]
whereas right now it loads the entire mb.org page, then my user script goes "oh no you don't" and loads the entire beta.mb.org page instead, which is, well... slower :P
00:34:36 [ianmcorvidae]
yeah
00:34:43 [ianmcorvidae]
I've noticed that too, given I also use your script :P
00:35:07 [nikki]
every time you notice it, you're noticing that you would have otherwise have gone to the wrong site :P
00:35:07 [ianmcorvidae]
* ianmcorvidae re-enables that, actually
00:35:24 [ianmcorvidae]
well, I've only noticed it when I just type musicbrainz.org, generally, but :P
00:35:45 [nikki]
oh, I rarely do that
00:35:57 [ianmcorvidae]
and searches from my browser, until I fixed that
00:49:56 [demosdemon]
hmm… "Found edits"
00:50:29 [demosdemon]
there should be a number there, 0 to be specific
00:50:46 [ianmcorvidae]
heh
00:50:52 [ianmcorvidae]
presumably, yes
00:51:16 [ianmcorvidae]
whoo, inline search changeover fixes several other tickets
00:51:34 [reosarevok]
:D
00:51:36 [demosdemon]
I guess the /edit/subscribed_editors page doesn't like it when you're not actually subscribed to any editors
00:51:52 [ianmcorvidae]
demosdemon: how so?
00:51:52 [reosarevok]
Change that!
00:52:06 [reosarevok]
(as in, subscribe to me, I meant - but fixing it would be good, too)
00:52:11 [demosdemon]
lol
00:52:39 [demosdemon]
ianmcorvidae: no 0 in "Found 0 edits"
00:52:43 [ianmcorvidae]
oh, okay
00:52:48 [ianmcorvidae]
that may be more general
00:52:53 [ianmcorvidae]
* ianmcorvidae looks
00:52:59 [reosarevok]
"Found edits - won't show you"
00:53:04 [reosarevok]
:p
00:53:58 [ianmcorvidae]
yeah, that just uses edit/list.tt
00:54:26 [demosdemon]
there's no 0 stashed probably, so it prints null
00:54:30 [ianmcorvidae]
yeah
00:54:37 [ianmcorvidae]
strange that I see "found 0 edits" correctly
00:54:49 [ianmcorvidae]
I guess it's just not stashing it when it doesn't even have a query to perform
00:56:09 [reosarevok]
So, fix with some variation of "else print found 0 edits"?
00:56:21 [ianmcorvidae]
or 'return an empty list instead of null' presumably
00:56:30 [demosdemon]
that'd probably fix it
00:57:06 [ianmcorvidae]
hm, it's already returning an empty list
00:57:07 [ianmcorvidae]
strange
00:59:21 [ianmcorvidae]
bah, I'll just see if adding // 0 fixes it
00:59:28 [ianmcorvidae]
oh
00:59:32 [ianmcorvidae]
tt doesn't know // :P
01:00:07 [ianmcorvidae]
eh, || does it looks like
01:00:51 [ianmcorvidae]
demosdemon: did you file a ticket for this?
01:00:59 [ianmcorvidae]
if yes, link it; if no, make one then link it :P
01:01:01 [demosdemon]
I'm about to
01:01:11 [ianmcorvidae]
* ianmcorvidae has a fix, but afking for a sec
01:06:06 [demosdemon]
ianmcorvidae: http://tickets.musicbrainz.org/browse/MBS-5141
01:06:13 [ianmcorvidae]
cool, patch incoming
01:07:57 [demosdemon]
I love that jira sent me the email that you assigned the ticket before jira sent the creation email, or the edit email
01:09:16 [demosdemon]
granted, that's probably a gmail thing and not a jira thing since all three emails have the same time stamp
01:10:19 [ianmcorvidae]
nah, jira sends things in a weird order
01:10:27 [ianmcorvidae]
I've noticed it do that before too
01:18:06 [bitmap]
* bitmap wonders why we have an isrcs inc flag for /ws/2, but don't require one for iswcs
01:18:33 [ianmcorvidae]
er, didn't we decide to add an iswcs inc flag for works?
01:18:36 [ianmcorvidae]
maybe not
01:18:52 [ianmcorvidae]
I guess the reason is that we didn't start with multiple ISWCs, so it made sense to just include them, and now people rely on that
01:19:04 [reosarevok]
* reosarevok would like to see those "people"
01:19:17 [ianmcorvidae]
theoretically :P
01:20:07 [bitmap]
well, when thinking about fixing http://tickets.musicbrainz.org/browse/MBS-4792 (which is easy to fix) it seems wasteful to always include the iswcs
01:20:38 [bitmap]
but I guess now that people depend on not having an iswcs flag…
01:21:20 [bitmap]
or we could only make it required for /ws/2/release and introduce another inconsistency :P
01:22:14 [ianmcorvidae]
we could add a 'no-iswcs' flag
01:22:39 [ianmcorvidae]
which is inconsistent but at least allows people to get rid of the iswcs when those are wasteful
01:23:30 [dimonov]
dimonov has joined #musicbrainz-devel
01:25:15 [bitmap]
hmm. it might be better to just always include them, since they don't take up a huge amount of space relative to the rest of the request.
01:26:40 [bitmap]
* bitmap will just submit a code review and see what people say :P
01:26:53 [ianmcorvidae]
haha
01:26:55 [ianmcorvidae]
sounds good
01:29:09 [nikki]
jira definitely sends things in the wrong order. it annoys me :P
02:16:16 [kepstin]
kepstin has joined #musicbrainz-devel
02:22:21 [rembo10]
rembo10 has joined #musicbrainz-devel
02:24:24 [demosdemon]
I find it queer that TuneIn.com is telling that woman that they get their information from MusicBrainz, yet no where on their site is MusicBrainz mentioned. Yeah, that's the nature of the beast with this kind of data and the db is public domain, but that's just not cool, imo
02:24:41 [demosdemon]
also, they're probably using db dumps, so it'll take a while for that edit to reach them
02:25:06 [ianmcorvidae]
yeah, totally possible
02:25:12 [ianmcorvidae]
might reach out to them on that count
02:26:37 [reosarevok]
Admittedly, if they're going to suck that much at using our info, maybe it's better they don't say :p
02:26:45 [demosdemon]
heh, true
02:27:08 [demosdemon]
at least the BBC makes it look pretty
02:27:18 [demosdemon]
and they give attribution
02:28:23 [demosdemon]
but, tunein's faq says to email them if there's any issue with the data...
02:29:07 [demosdemon]
that benefits the data none
02:29:21 [reosarevok]
Maybe they didn't want to look into it and they just told her it came from MB so she went disturb someone else :p
02:29:32 [demosdemon]
heh, that's a big possibility
02:29:56 [reosarevok]
In any case, I guess mailing them couldn't hurt
02:32:50 [bitmap]
wow, now I know why we have bugs like http://tickets.musicbrainz.org/browse/MBS-4844
02:32:57 [bitmap]
the ws2 tags code makes no sense o_O
02:45:47 [Essobi]
Essobi has joined #musicbrainz-devel
02:48:31 [bitmap]
our tests never caught any of this because they only test tags on individual lookups, which the code just happens to work for
02:50:43 [ianmcorvidae]
heh
02:50:46 [ianmcorvidae]
write more tests!
02:50:48 [Essobi]
It's hard to predict all of the failure scenarios in unit testing, imo..
02:51:09 [ianmcorvidae]
ours have some pretty bad warts though, heh
02:52:59 [Essobi]
I've had a helluva time trying to get server installed..
02:54:29 [Essobi]
Perl dependancy hell it would seem..
03:00:42 [alastairp]
Essobi: are you using carton?
03:04:51 [DremoraLV]
DremoraLV has joined #musicbrainz-devel
03:12:32 [Essobi]
alastairp: I've tried with and without...
03:12:43 [Essobi]
alastairp: either way I get a dependancy failure..
03:13:11 [ianmcorvidae]
Essobi: pastebin an error log, if you could, otherwise we can't really help
03:14:08 [Essobi]
http://pastebin.com/nbe941UP
03:16:29 [ianmcorvidae]
hm, pastebin isn't loading for me
03:16:30 [ianmcorvidae]
bah
03:16:36 [nikki]
did you run carton install --deployment beforehand?
03:17:11 [ianmcorvidae]
huh, it works in firefox
03:17:12 [ianmcorvidae]
weird
03:17:32 [ianmcorvidae]
yeah, you need to actually install dependencies :)
03:17:40 [ianmcorvidae]
unless you have a different error log for when you tried to do that
03:17:48 [ianmcorvidae]
which was what I was looking for, if dependency installation failed
03:18:19 [Essobi]
nikki: yup
03:20:37 [marcooliveira]
marcooliveira has joined #musicbrainz-devel
03:31:41 [rembo10]
rembo10 has joined #musicbrainz-devel
03:43:36 [kepstin-laptop]
kepstin-laptop has joined #musicbrainz-devel
03:45:12 [marco-oliveira]
marco-oliveira has joined #musicbrainz-devel
03:47:32 [Essobi]
ianmcorvidae: I ran carton install... should I nuke /local and run it again?
03:47:36 [Essobi]
./local*
03:48:08 [Essobi]
Or just run install again and log it?
03:48:09 [ianmcorvidae]
just running it again should produce the same errors, unless it magically fixes them, no need to nuke /local first
03:48:31 [Essobi]
I've ran it several times just for the record...
03:49:34 [marcooliveira]
marcooliveira has joined #musicbrainz-devel
03:49:57 [ianmcorvidae]
yeah, so it's not likely to fix it then, but I still need to see what's wrong to give you a recommendation about fixing it :)
03:50:13 [Essobi]
I'm not a complete newb, I've done this before sometime ago, and I've been building other peoples code since the 90s. :D
03:51:30 [Essobi]
Hmm.. It installed 1 lib.. it did that last time I ran it which would have been the 3rd time.
03:51:42 [Essobi]
I'm running it again to see if it does it again. :D
03:54:50 [marco-oliveira]
marco-oliveira has joined #musicbrainz-devel
03:56:19 [Essobi]
lol.. it keeps installing Successfully installed libintl-perl-1.20
03:56:36 [Essobi]
everything else it says I have..
03:57:19 [Essobi]
yea.. same error.. should I nuke ./local now?
03:59:17 [Essobi]
Meh..
04:00:08 [Essobi]
ianmcorvidae: Any ideas?
04:03:26 [demosdemon]
pastebin your log when you carton install --deployment
04:04:58 [Essobi]
I just nuked ./local and logging it now
04:09:02 [Essobi]
oh ya.. it's throwing error
04:09:04 [Essobi]
s
04:11:32 [Essobi]
*twiddles thumbs*
04:11:45 [Essobi]
demosdemon: does it matter where I send it?
04:12:14 [demosdemon]
anywhere but in irc
04:12:24 [ianmcorvidae]
just put it on pastebin or something
04:12:31 [ianmcorvidae]
or any other pastebin equivalents :P
04:12:32 [Essobi]
roger that
04:12:46 [Essobi]
didn't know if mb had it's own pb somewhere..
04:25:52 [Essobi]
*sigh* This is taking forever.
05:04:01 [Essobi]
ianmcorvidae: demosdemon: http://paste.ubuntu.com/1146249/
05:05:25 [Essobi]
Jeez that took forever. Heh.
05:05:35 [ianmcorvidae]
hm, odd
05:05:51 [ianmcorvidae]
you might try doing plain 'carton install <module name>' for the ones that it failed or bailed out on
05:05:56 [ianmcorvidae]
e.g. 'carton install Test::Warn'
05:06:18 [ianmcorvidae]
there's a bunch of those; what linux distro are you using?
05:06:40 [Essobi]
ubuntu 12.04
05:06:47 [ianmcorvidae]
incidentally, the inc::Module::Install stuff you can probably ignore
05:06:50 [ianmcorvidae]
hm, okay
05:07:25 [ianmcorvidae]
anyway, I guess what I'd try is individual installs for the things that failed
05:08:01 [ianmcorvidae]
I haven't seen those particular things fail before, which is odd, but it may not be meaningful
05:08:35 [ianmcorvidae]
once you've done that, if you get errors like the one you pasted earlier, those are generally for missing modules, which you can also try to install by the same individual methodology
05:10:01 [Essobi]
The one I pasted in pb didn't have a specific module listed.
05:10:06 [Essobi]
that's what threw me
05:10:12 [ianmcorvidae]
it listed Function/Parameters.pm
05:10:15 [ianmcorvidae]
which is Function::Parameters
05:10:48 [ianmcorvidae]
"Error while loading app.psgi: Can't locate Function/Parameters.pm in @INC" :)
05:11:02 [Essobi]
Really? hell, I thought that was something internal it was screaming about.
05:11:08 [ianmcorvidae]
heh, nope
05:11:23 [Essobi]
Function doesn't scream perl module name to me.
05:11:27 [ianmcorvidae]
https://metacpan.org/module/Function::Parameters :)
05:11:32 [Essobi]
so
05:11:43 [Essobi]
carton intall --deployment SPLAT?
05:11:49 [ianmcorvidae]
no --deployment for that
05:11:55 [ianmcorvidae]
just 'carton install <module>'
05:12:35 [Essobi]
word
05:12:50 [Essobi]
There's 7 that threw a !
05:13:19 [ianmcorvidae]
do that individually with each of them, see if you get errors installing them that way
05:14:09 [ianmcorvidae]
some of the lines are listed as Whatever-Foo, you should change that to Whatever::Foo
05:14:28 [ianmcorvidae]
and strip version numbers -- the point of this is that sometimes older versions disappear from CPAN and then can't be installed
05:14:29 [Essobi]
can I do more then 1? yea... I know how to install a module. :D
05:14:31 [ianmcorvidae]
which is annoying, but :/
05:14:57 [ianmcorvidae]
I'm not sure; you can try it
05:15:21 [Essobi]
heh
05:17:16 [Essobi]
word, that totally works
05:18:07 [Essobi]
so when I exec I use carton right?
05:19:10 [ianmcorvidae]
yeah, use carton exec if you install with carton
05:22:22 [Essobi]
more installing function now.. and xml parser lite deps
05:23:34 [Essobi]
hmm.. can't find the static content..
05:23:37 [Essobi]
CSS error
05:25:03 [ianmcorvidae]
make sure DEVELOPMENT_SERVER is set to 1 in DBDefs
05:25:09 [ianmcorvidae]
otherwise you have to compile JS and CSS
05:25:12 [Essobi]
yessir
05:25:22 [nikki]
why on earth don't we set that by default :/
05:25:26 [ianmcorvidae]
I don't know
05:25:29 [Essobi]
TADA!
05:25:36 [ianmcorvidae]
it is on the rika default config, because it's stupid otherwise :P
05:25:44 [Essobi]
port 5K served
05:25:47 [ianmcorvidae]
I should work on replacing DBDefs
05:25:52 [Essobi]
thanks!
05:25:58 [ianmcorvidae]
no problem, glad you got it working :)
05:26:21 [Essobi]
me too... shew.. I don't remember it being that hard 2-3 years ago
05:27:14 [ianmcorvidae]
there was a complete rewrite of the server that went live May 2011 :)
05:27:22 [ianmcorvidae]
I don't know if you were using the old one 2-3 years ago
05:27:30 [ianmcorvidae]
though from what I've heard the old server was way worse, so :P
05:28:32 [nikki]
the pre-ngs one was a pita to get the actual server running, if you only wanted a db it wasn't too bad
05:29:05 [ianmcorvidae]
ah
05:29:22 [nikki]
where "wasn't too bad" is quite subjective :P
05:29:36 [nikki]
I mean, we get plenty of people having trouble with carton
05:29:49 [nikki]
and we got plenty of people having trouble with the makefile
05:30:14 [nikki]
it seems things are just different...
05:30:28 [nikki]
oh, at least these days we don't have to figure out the dependencies ourselves
05:33:09 [Essobi]
blah, crap, it's throwing exceptions.
05:33:29 [Essobi]
serving 500s
05:35:32 [ianmcorvidae]
where?
05:37:44 [Essobi]
http://paste.ubuntu.com/1146271/
05:37:50 [Essobi]
on the URL...
05:38:06 [Essobi]
throw's 500s for all artists
05:38:38 [ianmcorvidae]
hm
05:38:44 [ianmcorvidae]
I guess your database isn't set up correctly?
05:39:01 [Essobi]
O_o
05:39:05 [ianmcorvidae]
er, wait
05:39:08 [ianmcorvidae]
are you set to RT_SLAVE?
05:39:12 [ianmcorvidae]
in DBDefs
05:39:16 [Essobi]
Mmm... idk
05:39:19 [Essobi]
lemme look
05:39:26 [ianmcorvidae]
if so, make sure you have a database defined for READONLY
05:39:46 [ianmcorvidae]
(can just be a copy of READWRITE)
05:40:18 [ianmcorvidae]
(RT_SLAVE is in REPLICATION_TYPE, the other thing you might be is RT_STANDALONE)
05:42:25 [Essobi]
And bob's your uncle.
05:42:34 [Essobi]
Thanks!
05:42:46 [ianmcorvidae]
should really look into improving that error message, heh, I know there's a ticket for it
05:42:49 [ianmcorvidae]
but anyway :)
05:52:29 [Essobi]
Only took me two days to install it. :D
05:52:54 [ianmcorvidae]
heh
05:57:17 [warp]
ianmcorvidae: not sure 50% is the correct threshold, but definitely in favour of enabling languages on beta.
05:57:46 [ianmcorvidae]
warp: it's largely arbitrary; 50% seems to be the nicest round number around where things seem largely "usable"
05:57:47 [warp]
ianmcorvidae: is the language stuff documented nowadays in README.md or HACKING ?
05:57:55 [ianmcorvidae]
warp: probably not enough
05:58:09 [warp]
ianmcorvidae: that would be a requirement for shipping for me.
05:58:18 [ianmcorvidae]
I guess 40 or 35% might be fine, that'd include portuguese, estonian, german, and italian
05:58:19 [warp]
(which, then also is a requirement for beta :)
05:58:27 [ianmcorvidae]
all the code is already shipped :P
05:58:36 [ianmcorvidae]
but I can certainly make some better documentation
05:59:57 [ianmcorvidae]
oh, there is some documentation, I guess
06:00:00 [ianmcorvidae]
in INSTALL.md
06:00:20 [ianmcorvidae]
four steps for adding languages; should actually cover everything relevant though
06:00:50 [ianmcorvidae]
(make sure you have gettext, download relevant .po files to the right folder with the right name, make install (to put them in the right place for the server), add to MB_LANGUAGES)
06:01:23 [ianmcorvidae]
I think you're the one who made me add them, even, with the split-domains stuff
06:02:06 [warp]
let me check if I can follow them now and get languages on my dev setup :)
06:02:13 [warp]
this is in master?
06:02:22 [ianmcorvidae]
yes, everything's in master
06:02:23 [ianmcorvidae]
see https://github.com/metabrainz/musicbrainz-server/blob/master/INSTALL.md#translations
06:02:28 [ianmcorvidae]
which apparently formats poorly, heh
06:03:27 [warp]
step 2 seems quite manual. can we automate that more?
06:03:36 [ianmcorvidae]
you can use the transifex client
06:03:46 [ianmcorvidae]
there's actually a .tx/config already set up in the po/ folder
06:04:20 [ianmcorvidae]
so I should add that to the documentation
06:04:22 [ianmcorvidae]
* ianmcorvidae notes to self :)
06:04:33 [warp]
how do I do that?
06:05:15 [warp]
(is "use the transifex client" something which could be added to the makefile, so _I_ don't have to do anything? :)
06:05:27 [ianmcorvidae]
you need to configure username/password type things
06:05:31 [ianmcorvidae]
but it probably could, yes
06:05:43 [ianmcorvidae]
for example, we run it in a cronjob on rika to do backups of translations
06:06:04 [warp]
how do I run it now?
06:06:19 [nikki]
you could also get them from https://github.com/96187/musicbrainz-server/tree/translations/po I guess
06:06:54 [ianmcorvidae]
the process, though, is: get the transifex client, configure username/password in ~/.transifexrc, and then run tx pull -l <languages> from po/
06:07:08 [ianmcorvidae]
second step may or may not be required, I'm unclear on that point
06:07:19 [nikki]
or tx pull -a to get everything
06:07:20 [ianmcorvidae]
pulling from the translations backup branch is also an option
06:08:21 [ianmcorvidae]
docs on tx: http://help.transifex.com/features/client/index.html
06:09:17 [warp]
ianmcorvidae: would it be useful include any languages we run on production part of the master branch?
06:09:25 [ianmcorvidae]
yeah, that's the thought
06:09:42 [ianmcorvidae]
at present we may not have anything that we're ready to make that official
06:09:52 [ianmcorvidae]
except perhaps Dutch, which is at something like 97% complete
06:10:21 [Essobi]
Hey... So is there an example startup file?
06:11:00 [ianmcorvidae]
Essobi: if you mean e.g. something to put in /etc/init.d, I don't know of any but I know people hove done it
06:11:23 [Essobi]
roger that
06:13:07 [warp]
ianmcorvidae: step 3 is "make install" inside the po/ folder, right? (it isn't clear in the instructions)
06:13:15 [ianmcorvidae]
warp: yes
06:14:34 [warp]
ianmcorvidae: ok, I followed all the steps, but I don't see a language chooser yet.
06:14:58 [ianmcorvidae]
warp: MB_LANGUAGES?
06:15:09 [warp]
sub MB_LANGUAGES { qw( nl-nl ) }
06:15:29 [nikki]
unless you renamed it, we don't have nl-nl
06:15:41 [warp]
oh, so it should be qw( nl ) then?
06:15:43 [nikki]
yes
06:15:55 [ianmcorvidae]
yes, though that shouldn't affect the language chooser appearing
06:16:07 [warp]
oh, now english is gone
06:16:16 [ianmcorvidae]
yes, you have to turn on 'en' if you want it :)
06:16:31 [warp]
so qw( en nl )
06:16:45 [ianmcorvidae]
yup, if you want en available
06:17:14 [warp]
yes, I don't want to actually use dutch :)
06:18:40 [warp]
ianmcorvidae: the tx pull stuff works fine, I would just replace step 2 to use transifex-client and not describe the manual way to do this.
06:18:53 [ianmcorvidae]
yeah, probably reasonable
06:19:37 [warp]
I've enabled spanish now, but it doesn't let me pick it.
06:19:49 [ianmcorvidae]
you need to have a locale on your system for anything you want to use
06:19:58 [ianmcorvidae]
I'll guess you don't have an es locale
06:20:10 [ianmcorvidae]
though there are also some kinks in libintl-perl that could be causing that
06:20:46 [warp]
ianmcorvidae: ah, probably a good idea to add that to the instructions then. (needs system language installed)
06:20:52 [ianmcorvidae]
true
06:21:52 [ianmcorvidae]
warp: did you set up username/password with tx, or did you do it without?
06:22:12 [warp]
ianmcorvidae: no, I had to set that up. and transifex-client is extremely user-unfriendly in that regard.
06:22:41 [warp]
Exception: No user credentials found for host https://www.transifex.net. Edit ~/.transifexrc and add the appropriate info in there.
06:22:51 [ianmcorvidae]
heh
06:23:03 [warp]
it says edit ~/.transifexrc, but no such file exists, so the format is completely unclear.
06:23:09 [warp]
there is no mention of it in "man tx"
06:23:12 [ianmcorvidae]
heh
06:23:14 [ianmcorvidae]
yeah
06:23:22 [warp]
"man transifexrc" doesn't exist
06:23:23 [ianmcorvidae]
I'm linking to the documentation page in the instructions
06:23:33 [nikki]
I don't remember having to manually create the config file o_O
06:23:37 [warp]
at that point I gave up and duckduckgo'd "transifexrc"
06:23:58 [ianmcorvidae]
there may be some --username --password options or something that put it there for you
06:24:21 [ianmcorvidae]
ah, tx init does that for you
06:24:28 [ianmcorvidae]
but since we provide a .tx/config, you don't end up running that
06:25:50 [warp]
hrm, still no spanish
06:25:59 [warp]
I did this on ubuntu: sudo apt-get install language-pack-es language-pack-gnome-es
06:26:24 [ianmcorvidae]
hm, okay, that may be the libintl-perl bug
06:26:35 [ianmcorvidae]
which AFAIK is fixed but not in a released version
06:26:43 [warp]
LANG="es_ES.UTF-8" date gets me a spanish date.
06:26:50 [ianmcorvidae]
yeah
06:27:01 [ianmcorvidae]
so the issue here is that Locale::Util doesn't know that 'es' should use 'ES' as a country
06:27:05 [ianmcorvidae]
so it's failing to set a locale
06:27:11 [warp]
ah
06:27:24 [ianmcorvidae]
see https://rt.cpan.org/Public/Bug/Display.html?id=78341
06:27:45 [ianmcorvidae]
evidently fixed in git sha1 1996aa39
06:29:38 [ianmcorvidae]
evidently that repository is at git://git.guido-flohr.net/perl/libintl-perl.git
06:29:48 [ianmcorvidae]
on i18n I just manually edited the file
06:31:05 [warp]
I just did that in local/, and indeed now spanish is selectable.
06:31:15 [ianmcorvidae]
yeah
06:31:18 [ianmcorvidae]
stupid bug, but oh well :/
06:31:57 [warp]
(nothing is translated, but I guess spanish isn't ... complete yet :)
06:32:03 [ianmcorvidae]
er
06:32:09 [ianmcorvidae]
if you downloaded it there should be a lot translated
06:32:18 [warp]
oh, then it's not working.
06:32:21 [ianmcorvidae]
spanish is at 67% or so
06:32:41 [warp]
I did "tx pull -l es" in po/
06:32:46 [ianmcorvidae]
did you do 'make install'?
06:32:48 [warp]
make install
06:32:49 [warp]
yes
06:32:53 [ianmcorvidae]
hm
06:32:57 [warp]
Installing mb_server.es.mo to ../lib/LocaleData/es/LC_MESSAGES/mb_server.mo
06:33:01 [warp]
Installing mb_server.nl.mo to ../lib/LocaleData/nl/LC_MESSAGES/mb_server.mo
06:33:39 [ianmcorvidae]
huh, yeah, it's not working correctly, is it
06:33:51 [ianmcorvidae]
though maybe that's just on i18n
06:34:07 [ianmcorvidae]
looks like Locale::Util got trounced there
06:34:18 [warp]
in LANG2COUNTRY I have:
06:34:24 [warp]
en => 'US', # English => United States
06:34:24 [warp]
es => 'ES', # hack spanish
06:34:24 [warp]
fa => 'IR', # Iran, Islamic Republic of
06:36:11 [ianmcorvidae]
hm, that should be correct
06:36:21 [ianmcorvidae]
one sec while I get rika's i18n working again for spanish
06:36:38 [ianmcorvidae]
okay, that works for me
06:36:45 [ianmcorvidae]
did you manually restart your server? it won't pick up changes in local/
06:36:55 [ianmcorvidae]
(if you're running with -r)
06:37:11 [warp]
yes.
06:37:25 [warp]
oh, now it works.
06:37:30 [ianmcorvidae]
hah
06:37:32 [ianmcorvidae]
well, cool
06:37:41 [ianmcorvidae]
* ianmcorvidae sees what all is fixed in libintl-perl git
06:37:54 [warp]
either I didn't restart mbserver or I didn't reload the page in the browser correctly.
06:39:05 [warp]
/home/warp/code/mb development server El servidor principal se encuentra en http://musicbrainz.org.
06:40:19 [warp]
ianmcorvidae: I asked this before, but I've forgotten again. do we have a double length bogus language for testing the design/layout?
06:40:36 [ianmcorvidae]
warp: you have to create it yourself, but we've been using en_AQ for taht
06:40:39 [ianmcorvidae]
that*
06:40:47 [ianmcorvidae]
on i18n.mbsandbox.org at least you can set that
06:41:06 [ianmcorvidae]
you can't automate the download with tx, unfortunately, and it requires postprocessing even when you get a pseudotranslation from transifex
06:41:51 [warp]
ianmcorvidae: it would be nice to have those steps in HACKING eventually. so developers can get that running when writing new templates.
06:42:07 [ianmcorvidae]
yeah
06:42:19 [ianmcorvidae]
luckily most languages break our styling, so you don't really need en_AQ ;)
06:42:23 [nikki]
haha
06:42:24 [warp]
lol
06:42:32 [ianmcorvidae]
as you may have seen on the main page
06:42:46 [warp]
yeah. apparantly our html is amazingly bad.
06:43:48 [warp]
but, enough i18n for now. I'm going to get some breakfast then hit code review and jira.
06:49:39 [ianmcorvidae]
warp: one more thing, how does https://github.com/ianmcorvidae/musicbrainz-server/blob/update-translation-install/INSTALL.md#translations look to you?
06:51:32 [warp]
perhaps add instructions for ubuntu to step 1:
06:51:34 [warp]
sudo apt-get install gettext transifex-client
06:52:13 [ianmcorvidae]
ah, yes, that's consistent with the rest of the document.
06:52:13 [ianmcorvidae]
cool
06:53:02 [warp]
step 5 as well, but I can send you a pull requests for that when I'm back from the supermarket.
06:53:47 [ianmcorvidae]
language-pack-<language code> is all, I suppose?
06:54:23 [warp]
yes, but it's different on debian
06:54:32 [ianmcorvidae]
I'm just saying "On Ubuntu:" for these
06:54:59 [nikki]
ubuntu is the one we support, everyone else needs to figure it out themselves :P
06:55:23 [ianmcorvidae]
yeah; I suspect other things in that doc are broken for non-Ubuntu too :)
06:55:51 [ianmcorvidae]
* ianmcorvidae adds instructions for working around the 'no default country for es' thing
07:00:02 [warp]
nikki: yes, I know. but usually the instructions for ubuntu work on debian as well.
07:01:33 [warp]
(and in this case I think the debian solution is much nicer/better/etc.. :)
07:03:32 [nikki]
nikki has joined #musicbrainz-devel
07:06:38 [stefans]
stefans has joined #musicbrainz-devel
07:24:51 [ianmcorvidae]
* ianmcorvidae plays with http://search.cpan.org/~pjcj/Devel-Cover-0.93/lib/Devel/Cover.pm
07:25:07 [ianmcorvidae]
lots of undecipherable messages about Moose :P
07:31:20 [ijabz]
ijabz has joined #musicbrainz-devel
07:37:56 [ianmcorvidae]
heh, Devel::Cover makes our tests take way longer to run :(
07:48:06 [warp]
that's not that surprising.
07:48:15 [ianmcorvidae]
it isn't, it's just annoying :)
07:48:25 [ianmcorvidae]
I'm mostly just curious what it'll find
07:48:39 [reosarevok]
reosarevok has joined #musicbrainz-devel
07:49:31 [ianmcorvidae]
* ianmcorvidae finds other random things to add/fix in INSTALL.md
07:54:33 [djce]
djce has joined #musicbrainz-devel
07:58:24 [ijabz]
ijabz has joined #musicbrainz-devel
08:09:35 [ianmcorvidae]
heh, our serializer and /ws/1 seem to be pretty well covered, but there's a lot of stuff we don't test
08:29:19 [warp]
the webservice should be reasonably complete, yes. but that is easy to test.
08:29:47 [warp]
ianmcorvidae: I expect the release editor and our javascript in general to be the worst.
08:36:54 [warp]
(obviously Devel::Cover isn't going to give you data on javascript :)
08:46:13 [stefans]
stefans has joined #musicbrainz-devel
09:22:58 [ianmcorvidae]
yeah :)
09:23:08 [ianmcorvidae]
I may work through the results adding tests at some point
09:23:13 [ianmcorvidae]
well, this week might be good for that, since it's freeze
09:25:54 [warp]
* warp is looking at bitmap's tests
09:31:49 [rembo10]
rembo10 has joined #musicbrainz-devel
09:38:29 [ianmcorvidae]
heh, $c->detach('not_fonud') unless $artist; in Controller::WS::2::Work
09:44:24 [ocharles]
nice :)
09:44:40 [ocharles]
what? type safety you say? screw that, string typing is much 2012
09:44:59 [ianmcorvidae]
we don't test that branch though, so :P
09:45:19 [ianmcorvidae]
luckily, I imagine that 'not_fonud' gets redirected to 'not_found' when it fails to find 'not_fonud' :P
09:45:21 [ocharles]
unit tests are so 1999 too
09:45:29 [ocharles]
haha
09:46:22 [ianmcorvidae]
also, Devel::Cover is very slick
09:46:32 [ocharles]
it's ok, but painfully slow
09:46:39 [ianmcorvidae]
well, I mean, once it's done the display is very slick
09:46:43 [ocharles]
and when you're used to hpc, it's shit
09:46:44 [ianmcorvidae]
it takes forever, that's definitely true
09:46:44 [ocharles]
:P
09:47:03 [ocharles]
well, shit is a bit strong, it's definitely good
09:47:13 [ocharles]
but it gets pretty unusable because it profiles moose and stuff too
09:47:16 [ocharles]
covers*
09:47:29 [ocharles]
oh wait no, i'm thinking of Devel::NYTProf
09:47:35 [ianmcorvidae]
yeah
09:47:47 [ocharles]
I've used Devel::Cover before, but I forget how the output looks
09:47:49 [ianmcorvidae]
until we're up to something resembling reasonable coverage with Devel::Cover I doubt its weaknesses matter, anyway
09:49:26 [ianmcorvidae]
and yeah, haskell profiling stuff is very nice
09:49:37 [ianmcorvidae]
though laziness leads to some really crazy things to figure out sometimes, in what I've done
09:49:51 [ocharles]
but yea, I find http://www.haskell.org/haskellwiki/Haskell_program_coverage#Example_of_HTML_output_from_hpc-markup is a gold standard so far :)
09:50:10 [ocharles]
not perfect either though
09:50:21 [ocharles]
I guess C# and Java probably have better coverage tools
09:50:37 [ianmcorvidae]
just by way of having been in common use longer, I imagine so
09:51:07 [ianmcorvidae]
heh, we don't test create_script_context at all
09:51:11 [ianmcorvidae]
comical given how much we use that
09:51:25 [ocharles]
you don't have to test things explicitly
09:51:31 [ocharles]
tests will certainly fail if that method fails
09:51:32 [ianmcorvidae]
I guess that's true
09:51:49 [ocharles]
it doesn't come up in coverage though?
09:51:53 [ianmcorvidae]
nope
09:51:56 [ocharles]
that seems strange
09:52:10 [ianmcorvidae]
no time, no subroutine coverage, no statement coverage
09:52:11 [ocharles]
replace it with die and see whos assumptions are wrong :)
09:52:16 [ianmcorvidae]
haha
09:52:24 [ianmcorvidae]
it might be because we use t::Context instead or something?
09:52:42 [ianmcorvidae]
worth noting I also only used t/tests.t for this, decided not to include everything else for this run
09:52:47 [warp]
ocharles: oh, that is pretty neat. I've only seen line-based code coverage tools.
09:52:50 [ianmcorvidae]
which may or may not be relevant
09:52:58 [ianmcorvidae]
heh, lines
09:53:02 [ocharles]
hm, oh, that uses create_test_context
09:53:05 [ocharles]
but not script_context
09:53:10 [ianmcorvidae]
lines are such a terrible way to deal with haskell code
09:53:15 [ocharles]
* ocharles nods
09:53:30 [ocharles]
so yea, I guess we don't test create_script_context
09:53:34 [ocharles]
yay, the computer told me i was wrong!
09:53:46 [ianmcorvidae]
yay
09:53:53 [warp]
well, anything which has a basic foo ? bar : baz operator already has multiple code paths on a single line.
09:54:00 [ianmcorvidae]
yeah
09:54:02 [warp]
so I'd say it is often not great in other languages either.
09:54:07 [ianmcorvidae]
Devel::Cover's branch coverage deals with that though, which is nice
09:54:20 [ianmcorvidae]
doesn't highlight it all pretty like ocharles' link, but
09:54:25 [warp]
haha
09:54:42 [ianmcorvidae]
heh, we rarely test that things actually fail when passed invalid MBIDs
09:54:47 [ianmcorvidae]
seeing that a bunch of places
09:54:57 [ocharles]
our testing is fairly crap
09:55:06 [ocharles]
i forget the mantra of good tests
09:55:14 [ianmcorvidae]
yeah, hence my figuring running this and doing a sweep was a good idea
09:55:17 [ocharles]
but it involves: outside domain, extremes of domain, comfortable inside domain
09:55:27 [ocharles]
we only tend to do the latter
09:55:35 [djce]
djce has joined #musicbrainz-devel
09:55:46 [ianmcorvidae]
yeah
09:55:51 [ianmcorvidae]
even when we've written code to deal with the others!
09:56:03 [ocharles]
if we've written code, we really should have been writing tests too
09:56:06 [ocharles]
but... yaa...
09:56:12 [ianmcorvidae]
heh, 'should'
09:56:17 [ianmcorvidae]
not that I disagree, of course, but :P
09:56:20 [warp]
ocharles: in many places we tend to do no tests at all. which is a more important issue :)
09:56:20 [ocharles]
we're getting better
09:56:32 [ianmcorvidae]
we are
09:56:48 [ianmcorvidae]
I regularly add tests for things only vaguely related to tickets I'm fixing
09:56:52 [ianmcorvidae]
which seems like a good thing to be doing
09:56:59 [ocharles]
yes, definitely
09:57:05 [ocharles]
more people need to shout at me if they think things are testable too
09:57:17 [ocharles]
though I also try to do as I say, as well as as I do
09:57:23 [warp]
* warp nods.
09:57:31 [ianmcorvidae]
I've been trying, though I don't have enough personal coverage of our codebase to catch a lot of things
09:57:52 [ianmcorvidae]
another good reason for me to do this sweep, getting more familiar with the codebase is always a good thing I figure :)
09:59:27 [ianmcorvidae]
hm, I should put this result somewhere visible
10:03:00 [mfmeulenbelt]
mfmeulenbelt has joined #musicbrainz-devel
10:03:07 [ocharles]
ianmcorvidae: you really need to get your editor to strip trailing spaces
10:03:12 [ocharles]
or change your git config to do that on commit
10:03:24 [ianmcorvidae]
probably
10:13:00 [ianmcorvidae]
* ianmcorvidae adds 'autocmd BufWriePre *.pm :%s/s+$//e' to vimrc, hopefully that'll fix things
10:13:19 [ianmcorvidae]
er, BufWritePre, but anyway
10:23:58 [warp]
ianmcorvidae: vim, emacs or something else?
10:24:19 [ianmcorvidae]
warp: "to vimrc" :)
10:24:28 [warp]
doh!
10:25:42 [warp]
I just make the trailing whitespace red:
10:25:44 [warp]
autocmd ColorScheme * highlight ExtraWhitespace ctermbg=red guibg=red
10:25:44 [warp]
highlight ExtraWhitespace ctermbg=red guibg=red
10:25:44 [warp]
match ExtraWhitespace /\(\s\+$\|\t\)/
10:26:17 [warp]
(probably from http://vim.wikia.com/wiki/Highlight_unwanted_spaces )
10:26:55 [ianmcorvidae]
not a bad idea, but automatically removing them might be better
10:27:35 [warp]
that may get you annoying git diffs if you're editing a file which has a lot of trailing whitespace.
10:27:51 [ianmcorvidae]
yeah, suppose so
10:29:05 [warp]
in itself there is no harm in comitting whitespaces fixes. but it tends to mess up merges, so it's better to only do that if you know no-one else is working on that chunk of code.
10:29:13 [ianmcorvidae]
yeah
10:29:35 [reosarevok]
I love merges
10:29:38 [reosarevok]
http://musicbrainz.org/artist/247d062d-ff05-4af7-ba37-1b999dc927c4
10:29:47 [reosarevok]
(group, male)
10:30:01 [warp]
:D
10:30:06 [ianmcorvidae]
heh
10:30:38 [warp]
it's a miracle various artist hasn't turned into an all-female boyband by now.
10:31:00 [ianmcorvidae]
it is from Argentina last I heard
10:31:15 [ianmcorvidae]
which if it still is one of you folks with DB access should fix :P
10:31:45 [reosarevok]
It is
10:31:52 [reosarevok]
It's been for months
10:32:37 [warp]
oh, I should have that in my local dump now.
10:32:49 [warp]
(my dev machine postgresql)
10:33:11 [ocharles]
ianmcorvidae: i'm not very interested in fixing it without also knowing that it'll stay that way
10:33:32 [ocharles]
i know we have peer review for that, but i'm a wannabe mathematican damnit. I need RIGOUR.
10:33:40 [ianmcorvidae]
heh
10:34:13 [ianmcorvidae]
whereas pragmatically who knows how long it'll take for anyone to look at that, and it'll take maybe a minute to fix it in the DB :P
10:34:23 [ianmcorvidae]
(but only with SQL, since it's not editable from the interface)
10:36:04 [ocharles]
it's not hard SQL to write, it's just a trigger
10:36:19 [ocharles]
well, there are 2 approaches
10:36:33 [ocharles]
one is to have a before trigger that clears it, the other is to raise an exception if you violate constraints
10:36:35 [ocharles]
I prefer the latter
10:36:49 [ocharles]
that means that the code needs to be able to handle that and clear fields in merges. that one is more complicated
10:37:23 [ianmcorvidae]
mm, tasty special-casing
10:37:26 [ianmcorvidae]
not that that's avoidable, but yeah
10:38:12 [ocharles]
* ocharles nods
10:38:38 [ianmcorvidae]
btw, still copying files, but: http://www.mbsandbox.org/~ianmcorvidae/cover_db/coverage.html
10:39:03 [warp]
I set country to NULL for artist id 1 in the production database. Haven't kicked memcached so website will still show AR.
10:39:11 [reosarevok]
Thanks warp :)
10:39:46 [reosarevok]
It's been AR for months, it can wait a bit more I guess
10:39:48 [reosarevok]
:)
10:56:18 [warp]
mutant butterflies! http://www.bbc.co.uk/news/science-environment-19245818
11:02:15 [plaintext]
plaintext has joined #musicbrainz-devel
11:13:34 [Jormangeud^]
Jormangeud^ has joined #musicbrainz-devel
11:31:54 [ocharles]
ijabz, warp: https://docs.google.com/document/d/1G-mewuPAWNcyPBF1tNg_yDn47BRoiJj2NsnJ4AqTJ7Q/edit
11:32:51 [ocharles]
please to be adding more questions
11:32:54 [rembo10]
rembo10 has joined #musicbrainz-devel
11:35:26 [ocharles]
if you're going to add to it, please highlight any changes you make or something
11:36:01 [ijabz]
ocharles, okay will do, but immediate question the findartist() example seems to be describing the web service layer rather than the data abstraction layer, confused
11:36:16 [ocharles]
what bit are you confused about?
11:37:28 [ijabz]
whether your example is describing the web service layer or the databstraction layer
11:37:35 [ocharles]
the data abstraction layer
11:37:48 [ocharles]
there's nothing about the web service here, other than 'the web service will use this'
11:37:52 [ijabz]
so is the plan to now return as json ?
11:38:01 [ijabz]
rather than postgres objects ?
11:38:23 [ocharles]
that's just me representing what it will return
11:38:40 [ijabz]
I think you should clarify that in the doc
11:38:41 [ocharles]
but no, it won't return postgres objects
11:38:53 [ocharles]
but i was never really suggesting that
11:39:07 [ocharles]
i suggested that we moved queries to stored procedures, and then wrote a thin library to call the stored procedures
11:39:19 [ijabz]
and return what ?
11:39:27 [ocharles]
a perl object, if it was a perl library
11:39:41 [ocharles]
or a java object, if it was a java library
11:39:50 [ocharles]
the point was that I could start actually doing something, without deciding on a language
11:40:04 [ijabz]
Okay, but not returning a json representation
11:40:30 [ocharles]
you'll always be dealing with objects at some point
11:40:40 [ocharles]
you not going to literally pass JSON around any more than you are going to pass SQL rows around
11:41:22 [ijabz]
Yeah sure , lets not discuss that now, Im just saying the document makes it look like you are advocating passing json around
11:42:10 [ocharles]
the service might return JSON if it's a web server
11:42:33 [ocharles]
I need something to illustrate the response in text, json just seemed handy because everyone can read it
11:42:46 [ijabz]
What Id love to see is an example showing the calls required to retriever release together with medium, track and artist details , as this is one of the major use cases
11:44:19 [ijabz]
showing it as json is fine, Im just saying (again) its not clear that this is just a representation rather than how you are actually returning it.
11:44:32 [djce]
djce has joined #musicbrainz-devel
12:01:07 [ijabz]
ocharles: /ive rephrased my question, now orange
12:02:30 [ocharles]
then I'm not sure I understand when the performance problem is. You can't load an artist with all aliases in one query anyway
12:03:11 [ocharles]
I mean I guess you /can/ with a join, but you wouldn't do that
12:03:34 [ocharles]
unless you inverted it and said an artist alias has an artist
12:03:42 [ocharles]
then that query would make a bit more sense
12:11:42 [ijabz]
ocharles:yes you're right , I mean one to one queries
12:12:04 [ijabz]
There another question higher up in red
12:20:03 [warp]
ocharles: items-after-x is annoying when you have many items with the same x :)
12:20:29 [djce]
djce has joined #musicbrainz-devel
12:27:41 [plaintext]
if anyone is interested, some real data about top artists yesterday: http://plaintext.mbsandbox.org/logstatistic/top_entities
12:28:17 [plaintext]
I'll filter Various artists out the next time
12:28:54 [warp]
top in what sense. most requested through the webservice?
12:29:20 [ijabz]
heh so out of touch never heard of Mz Bratt
12:29:30 [djce]
djce has joined #musicbrainz-devel
12:29:38 [plaintext]
artists that have their mbids the most in nginx log
12:29:48 [plaintext]
but 99% of that are requests through the ws
12:29:54 [warp]
ijabz: you're not the only one. of the top artists I have never heard of "Terri Hooley", "Mz. Bratt", and "Adele".
12:30:50 [ijabz]
I don't know Terri hooley either, but Adele is probably no1 star in UK for last year
12:30:50 [warp]
ijabz: out of the top release groups I only know the two linkin park ones at the bottom.
12:31:12 [plaintext]
I'm really confused on why Terri Hooley is #2
12:31:34 [plaintext]
most of the release groups are from coldplay and adele
12:31:47 [nikki]
it'd be nice if the release group's artist was shown
12:31:57 [plaintext]
good idea
12:33:06 [warp]
plaintext: it'd be nice if you add a short sentence answering the "top of what?" question. (i.e. explaining that it is requests to musicbrainz.org)
12:33:43 [plaintext]
warp: do you mean a description for the category?
12:34:26 [warp]
plaintext: maybe? I don't know.
12:34:43 [plaintext]
yeah, that would make sense
12:34:54 [warp]
plaintext: just to explain to a visitor what they're looking at.
12:35:07 [plaintext]
yeah, it could be misleading if it wasn't there
12:37:16 [plaintext]
Terri Hooley had a movie about his life come out recently, but that was months ago I believe. Still confused
12:49:22 [ocharles]
warp: the 'x' would be a primary key
12:52:36 [warp]
ocharles: ok, then you don't have the problem of pages being unpredictable in size.
12:53:01 [warp]
ocharles: you probably also need an items-before-x to be able to page back.
12:53:58 [ocharles]
warp: perhaps. as i said, need more research there, I've never done it before
12:54:09 [ocharles]
it also means you can't jump arbitrary distances, which may or may not be a problem
12:54:27 [warp]
ocharles: I'm used to working with it in couchdb (which doesn't really have unique keys, so you get the unpredictable page size problem).
12:54:34 [ocharles]
ah
12:56:15 [ocharles]
ijabz: questions answered
12:56:26 [warp]
ocharles: so I actually maintain a seperate index of which page starts where because I don't want to expose the keys I use for paging in the url :)
13:05:46 [warp]
ocharles: I added the purple question at the bottom.
13:06:14 [ocharles]
warp: yep, watched you type it while I'm eating a Mr. Freeze
13:06:16 [ocharles]
(:
13:06:44 [reosarevok]
Mr. Freeze?
13:06:52 [reosarevok]
Isn't that Arnie's guy in Batman?
13:06:52 [warp]
I wasn't 100% sure google docs would show it as me, considering everyone else is still Anonymous User 9000
13:07:03 [ocharles]
warp: well, I assumed it was you then
13:07:04 [nikki]
a slushy?
13:07:20 [ocharles]
reosarevok: https://www.google.co.uk/search?q=mr+freeze&sugexp=chrome,mod%3D4&um=1&ie=UTF-8&hl=en&tbm=isch&source=og&sa=N&tab=wi&authuser=0&ei=X00qUIjfHYel0AXKxYD4BA&biw=1920&bih=1124&sei=Yk0qUOLYFaHU0QXKnICAAg apparently
13:07:29 [ocharles]
nikki: those things that are liquid and you freeze them
13:07:39 [ocharles]
http://www.conveniencestore.co.uk/pictures/620xAny/3/3/6/10336_Mr-Freeze-resized.jpg
13:07:49 [nikki]
ooh those
13:07:54 [nikki]
I don't even know what I call those any more
13:08:07 [ocharles]
they became massively popular in the office when we found out they are only 15 calories :P
13:08:39 [nikki]
I used to eat tons of them as a kid 'cause they were only 5p from the shop
13:09:06 [ocharles]
i had those frozen-milk-on-a-stick things, I forget what they are called
13:09:20 [ocharles]
basically ice cream on a stick
13:09:24 [nikki]
I don't know if I ever had those. they never appealed to me
13:09:26 [ocharles]
but calling it ice cream is a stretch :P
13:09:27 [nikki]
also I'm jealous, I ate all my ice lollies
13:09:32 [warp]
ocharles: haha
13:09:50 [warp]
ocharles: I guess they are mostly water with only a bit of sugar/flavouring.
13:10:00 [ocharles]
chemical*
13:10:01 [ocharles]
but yea
13:10:10 [warp]
chemicals are good
13:10:16 [warp]
all of them
13:10:18 [nikki]
E numbers! panic! :P
13:10:24 [ocharles]
this one has "tropical" flavouring
13:10:26 [ocharles]
:)
13:10:34 [warp]
awesome
13:10:43 [warp]
I always wanted the cola ones.
13:10:56 [kepstin-work]
yay freezies
13:11:09 [bitmap]
the plastic on those freezepops would always cut the sides of my mouth. maybe it was just the brand that was shoddy
13:11:45 [warp]
or you were doing it wrong
13:11:48 [reosarevok]
am I the only one who never liked eating ice with some flavouring?
13:11:54 [nikki]
yes. weirdo
13:11:58 [warp]
haha
13:12:13 [kepstin-work]
it was always awesome when someone had one of the giant freezies, so much cooler than the little ones :)
13:12:33 [nikki]
bitmap: I don't think I would cut my mouth, but it was often quite sharp
13:15:12 [kepstin-work]
awesome, the mini-fridge at work has a freezer section. I should pick some up.
13:15:36 [reosarevok]
You have a mini-fridge at work? With free stuff?
13:15:51 [reosarevok]
Duh, why can't I get that working from home! :p
13:15:51 [kepstin-work]
occasionally, yeah.
13:15:59 [kepstin-work]
it's a pretty small company, just 10 of us right now.
13:16:21 [reosarevok]
MB is not *that* smaller! I demand free stuff in my fridge! :p
13:16:24 [kepstin-work]
reosarevok: you could try expensing it ;)
13:16:32 [ianmcorvidae]
lol "expensing it"
13:16:37 [ianmcorvidae]
you act like MB has expense accounts :P
13:16:49 [reosarevok]
ianmcorvidae: I suggest we ask for donations for candy
13:16:58 [ianmcorvidae]
however, you could possibly buy yourself a mini-fridge and put things in it and deduct the costs from your taxes :P
13:19:47 [ocharles]
does food count as a deductable expense?
13:19:53 [ocharles]
i guess if the company is providing lunch every day it could
13:20:06 [ianmcorvidae]
probably not, really, I was just kidding around :)
13:20:12 [warp]
ocharles: in general, not.
13:20:16 [warp]
s/t//
13:23:26 [warp]
ocharles: at least, here in .nl the tax office considers food for employees to be a specific compensation, somewhat similar to wages/salary.
13:23:40 [ocharles]
ijabz: "If its not part of this proposal then it should be altered to represent what the propsal is" -- I don't know where I said it was.
13:23:46 [ocharles]
warp: ah
13:24:52 [warp]
ocharles: a self-employed business-owner is (in general) now allowed to consider lunches and such as a business expense.
13:24:54 [ijabz]
ocharles:in the example query and the statement The important thing to note is that the ‘result’ field contains the exact same data you’d be given back from findArtist
13:24:58 [warp]
s/now/NOT/
13:25:09 [ijabz]
or are you saying not everything in the doc is part of the proposal ?
13:25:31 [ocharles]
ijabz: there's no reason that data can't come from the Lucene server
13:25:39 [ocharles]
I didn't say where it came from, only that it should correspond to what findArtist returns
13:27:17 [ijabz]
Well how the webservice construct the data currently returned , if the searchArtists method only returns one of it
13:27:26 [ijabz]
s/one/part
13:28:48 [ocharles]
sorry, still not following...
13:30:33 [warp]
ocharles: so NES is part of or atleast exposed through the data access layer. NES is not built on top of the data access layer.
13:30:38 [warp]
correct?
13:30:46 [ocharles]
warp: correct, because NES is so fundamental to our storage
13:30:58 [warp]
that was my main question there :)
13:31:04 [ocharles]
ok, hopefully i've answered it then
13:31:09 [warp]
ocharles: yes.
13:31:35 [ijabz]
ws/2//release/search returns search results consisting of releases with a ceraina about of detail i.e http://musicbrainz.org/ws/2/release/?query=fred
13:31:58 [ocharles]
right
13:32:07 [ijabz]
the information in a release element is different to the details you would return with the findByRelease() method
13:32:15 [ocharles]
so yes, when returning the search result to the client, that information would be discarded
13:33:24 [ocharles]
we could expand the type returned by the search result if we wanted to be the product of Artist, ArtistAlias etc
13:33:42 [warp_]
warp_ has joined #musicbrainz-devel
13:34:07 [ocharles]
i think i explained my point incorrectly. it was more that whatever data it returns must also be in the same format as data type from other (database accessing methods)
13:34:18 [ocharles]
it could be a tuple of artist, artist aliases, artist tags, for example
13:37:33 [warp]
ocharles: why would a server be different from a library approach (for this NES question) ?
13:37:46 [ocharles]
warp: well, you can't pass a higher order function in for one
13:38:09 [ocharles]
you'd probably do it be requesting a revision token or something, making adjustments there, and then 'publishing' the revision
13:38:16 [ijabz]
hm, sounds pretty horrible to me, Id much prefer to pass object that represent the existing MMD, and then just fill in as rehired. i.e findbyArtist() returned would return a simple artist, with empty alias list, whereas the search would return the artist with the alias list filled in
13:41:37 [ocharles]
You /could/ have an Artist object with a list of aliases, but the problem is you now have to check 'is artist.aliases defined?'
13:41:47 [warp_]
ocharles: hm, it isn't clear to me why that would be neccesary, but I guess I'd have to know more about NES to understand that aspect.
13:41:49 [ocharles]
thus you have to work around it possibly being null all over the place
13:42:05 [ocharles]
warp: mostly because a revision can be the result of multiple operations
13:42:13 [ocharles]
thus multiple requests
13:43:07 [warp_]
ocharles: ah, because editing is also granular. so I cannot just make all the changes on my side of the data access layer and then submit that revision in one go?
13:44:48 [ocharles]
warp: hm, that's also an option
13:45:15 [ocharles]
you could return all data of an artist, and then put all data of an artist back to create the revision
13:45:40 [warp_]
ocharles: that is how I'd imagine an editable webservice to work.
13:45:48 [warp_]
s/to/would/
13:45:58 [ocharles]
web service != data access layer though, just to point that out
13:46:03 [warp_]
yes, I know.
13:46:14 [ijabz]
You just need to know what the function does i.e. if I call findByArtist() it doesn't return aliases if do searchByArtiists() it does
13:46:52 [ocharles]
ijabz: that's great for humans, but that doesn't translate to code
13:47:18 [ocharles]
you either have aliases by either null, or a list, or you always have it as a list, but sometimes an empty list might mean 'this hasn't been loaded' and thus the burden is on the programmer
13:47:35 [ocharles]
or you separate objects and construct just what you need, guaranteeing its presence
13:47:58 [ijabz]
Well it does, that is what we currently have , looking at a release returned by search is different to a release retrieved by a lookup, I don't find it a burden
13:49:40 [ijabz]
having to reconstrue the tuples into a single object is a lot more work
13:50:05 [warp_]
woah, you've all been busy on code review again.
13:50:16 [ocharles]
warp: we're very busy atm :)
13:50:29 [warp_]
ocharles: I was on there just this morning!
13:55:57 [ocharles]
warp: http://tickets.musicbrainz.org/browse/MBS-5146 can you submit a bug report to your country for having an overly verbose language?
13:57:05 [warp]
ocharles: let's just all switch to hanza
13:57:31 [warp]
hanzi
13:58:06 [ocharles]
* ocharles would be ok with that
13:59:12 [ocharles]
ok, that's enough tech discussion, time to write some codez\
14:09:15 [djce]
djce has joined #musicbrainz-devel
14:59:02 [nikki]
nikki has joined #musicbrainz-devel
15:11:18 [hawke_1]
hawke_1 has joined #musicbrainz-devel
15:19:24 [nikki]
ocharles: not that I disagree, but the only sites which account for more than 1% of urls are discogs, amazon, wikipedia, myspace and facebook, so by that measure most of our existing cleanups wouldn't meet that criteria either :P
15:19:41 [nikki]
(of course, that's largely because 80% of our urls are those five sites)
15:31:23 [ocharles]
hm, fair enough
15:31:29 [ocharles]
do you think I should keep them closed?
15:31:51 [nikki]
* nikki said "not that I disagree" :P
15:32:21 [ianmcorvidae]
* ianmcorvidae purges MB::S::Validation >D
15:32:38 [ianmcorvidae]
(bunch of unused functions in there, and most of the rest were untested)
15:32:48 [ocharles]
nikki: it could always mean "not that I agree, either" :P
15:32:52 [nikki]
I don't think there are enough people using those for it to be worth it, I was just being picky since basically nothing new is going to reach 1%
15:32:52 [ocharles]
ianmcorvidae: awesome
15:33:15 [ocharles]
nikki: yea, I was surprised about that though. I didn't think we had such a distribution of domains
15:33:37 [nikki]
we have bots adding amazon, wikipedia and discogs links, that doesn't help :P
15:33:42 [ianmcorvidae]
heh
15:33:56 [nikki]
but it's always been like
15:34:00 [nikki]
that
15:34:04 [ianmcorvidae]
and half the universe has facebook, and half the musical universe at least *used* to have myspace
15:34:17 [ocharles]
ianmcorvidae: did you just get up, or are you running in the Other/nikki timezone?
15:34:28 [ianmcorvidae]
tried to sleep, failed
15:34:30 [ianmcorvidae]
got back up
15:34:31 [ocharles]
ah
15:34:42 [ocharles]
well the Data Access Layer doc has lots of content
15:34:45 [ocharles]
if you didn't see that
15:34:55 [ocharles]
you might be interested in reading/adding comments
15:34:57 [nikki]
but since it's also nearly my bedtime, I guess he's also running in the Other/nikki timezone :P
15:35:43 [hawke_1]
ocharles: Got a link?
15:35:55 [ocharles]
https://docs.google.com/document/d/1G-mewuPAWNcyPBF1tNg_yDn47BRoiJj2NsnJ4AqTJ7Q/edit#
15:36:30 [hawke_1]
Thanks.
15:36:57 [ianmcorvidae]
I looked at it, didn't have anything right then
15:37:04 [ocharles]
ok
15:37:13 [ianmcorvidae]
will probably pull it up once I'm feeling more inspired to critique :)
15:37:34 [ocharles]
yea, that's cool
15:38:22 [nikki]
ocharles: is the scheduling thing up to date?
15:38:54 [ocharles]
nikki: it should be, my cpu load graph is still spiking every hour on that machine
15:38:58 [ocharles]
does it look out of date?
15:39:40 [nikki]
mbs-3967 has been renamed but it's still showing the old name
15:40:52 [ocharles]
hm, how long ago was it renamed?
15:41:02 [nikki]
last updated on the 6th apparently
15:41:36 [nikki]
also I thought you covered some of these tickets in the last meeting
15:41:44 [nikki]
* nikki is copying and pasting her votes/comments from last time
15:41:49 [ocharles]
i don't think i updated after that meeting :/
15:42:07 [ocharles]
i would have made notes somewhere, I just need to find them
15:43:00 [ocharles]
scheduling game is up to http://tickets.musicbrainz.org/browse/MBS-5147 which was created today, so I think the fact that that ticket hasn't updated is a bug in the syncing script
15:43:00 [ocharles]
15:43:08 [ocharles]
oh, it doesn't change titles
15:43:10 [ocharles]
only bodies
15:44:07 [ocharles]
does July 24th sound like the last meeting we had
15:44:08 [ocharles]
?
15:44:26 [nikki]
probably.
15:44:32 [ocharles]
i have a list of 15 tickets to move that don't seem to have been
15:44:33 [ocharles]
* ocharles fixes
15:44:34 [nikki]
my pastebin thing expires in 8 days, so 22 days ago
15:53:57 [ocharles]
nikki: ok moved everything over, should sync in about 10 minutes. if not, poke me and i'll manually kick it
15:55:36 [ocharles]
btw, we now have less than 1000 tickets (excluding those in beta testing, review, or requiring a decision)
15:55:44 [ianmcorvidae]
heh, nice
15:55:44 [ocharles]
that's moving in the right direction at least!
15:55:53 [ocharles]
* ocharles celebrates with a Mr Freeze
15:55:56 [ianmcorvidae]
another month or two and we'll almost look on top of things
15:56:12 [nikki]
and how long until we actually *are* on top of things? :P
15:56:48 [ianmcorvidae]
whoo http://codereview.musicbrainz.org/r/2162/
15:57:06 [ianmcorvidae]
now to do that for the rest of the files in our codebase :P
15:57:30 [ocharles]
nikki: i dunno, our ticket velocity is looking really good atm
15:57:39 [ocharles]
so by that metric, less time than we might imagine
15:57:57 [ocharles]
ianmcorvidae: could you create 'task' ticket to track this work?
15:58:00 [ianmcorvidae]
worth noting that I've been fixing lots of easy bugs, though :P
15:58:02 [ianmcorvidae]
ocharles: sure
15:58:22 [ianmcorvidae]
I'll create a toplevel ticket for code coverage review and then subtasks for each file I do
15:58:26 [ianmcorvidae]
sound reasonable?
15:58:33 [ocharles]
sure, i just need something for the changelogs
15:58:38 [ianmcorvidae]
k
16:11:01 [nikki]
ocharles: still hasn't updated...
16:12:02 [ocharles]
nikki: as in the title hasn't updated?
16:12:05 [ocharles]
cause that hasn't been fixed
16:12:08 [nikki]
no
16:12:15 [nikki]
things you've scheduled are still showing up
16:12:17 [ocharles]
hm, ok, manually foot being inserted.... NOW
16:12:49 [ocharles]
ijabz: did you add the question 'Can you compare and contrast with server by giving a server example?' ?
16:13:11 [ocharles]
whoever did, I think it's answered in the pseudo code above it
16:13:17 [ijabz]
yes
16:13:22 [ocharles]
nikki; oh wait, the results page is cached
16:13:28 [ocharles]
stick /some-nonsense on the end and you'll get a fresh page
16:13:38 [ocharles]
the manual sync is also finished, so it should all be good now
16:15:03 [ijabz]
ochre sin that pseudo code you explicitly say how yo do it depends on whther using library or server, and then give example if using library
16:16:11 [ocharles]
ok, but still.. the question?
16:17:28 [ijabz]
i don't get u
16:17:33 [ocharles]
i don't know what your question is
16:17:41 [ocharles]
the server will make those calls
16:18:09 [ijabz]
give ah example of editing data with NES if data layer implement as server based system
16:18:18 [ocharles]
ahhh
16:18:33 [ocharles]
sorry, I read server as 'the web server', not 'server data access layer'
16:18:35 [ocharles]
my bad
16:27:36 [ocharles]
ok, replaced my answer
16:29:30 [djce]
djce has joined #musicbrainz-devel
16:50:17 [ruaok]
ruaok has joined #musicbrainz-devel
16:58:50 [navap_]
navap_ has joined #musicbrainz-devel
17:10:16 [kepstin-work]
man, people have been submitting fixes for defects I submitted left and right. this is awesome ;)
17:10:51 [kepstin-work]
ocharles: that ise on the blog thing I actually found when attempting to do some musicbrainz stuff on a bus with no internet access :)
17:10:57 [ocharles]
:)
17:11:03 [kepstin-work]
(using a server vm)
17:11:48 [nikki]
does that only fix the blog, or all stuff that does external queries?
17:11:53 [ocharles]
only the blog
17:11:56 [nikki]
* nikki remembers the donation check also ISEing
17:12:24 [nikki]
oh, while I remember, ocharles, the skipping the release duplicates tab when seeding, does that remove the tab entirely or only skip over it?
17:12:33 [ocharles]
only skips over it
17:12:47 [nikki]
oh good. 'cause I use that a lot :P
17:12:51 [ocharles]
:)
17:13:48 [nikki]
yay for whoever thought 2... 3... 4... 10... versions of the same single was a brilliant strategy to get really obsessive fans to spend even more
17:14:18 [demosdemon]
I like the singles where it's 10 mixes on one disc
17:14:27 [demosdemon]
charge $15 for
17:14:42 [demosdemon]
cost more than the original album
17:14:51 [nikki]
in this case it's more like 2 songs and 2 karaoke versions for that price :P
17:14:56 [kepstin-work]
the japanese singles are typically 2-3 tracks, with 1-3 karaoke vrsions, for $15 :/
17:15:04 [nikki]
heh yeah
17:15:06 [kepstin-work]
then the albums are $25+...
17:15:49 [nikki]
http://beta.musicbrainz.org/release-group/438d00f6-6c60-43bf-8dfa-478d216d67a3 is the most extreme example of multiple versions I've found so far
17:16:29 [kepstin-work]
that's one standard edition and ... 11 special editions?
17:16:33 [nikki]
yes
17:16:40 [nikki]
because everyone needs 11 special editions in their life :P
17:16:51 [kepstin-work]
which presumably differ only in cover art?
17:17:07 [nikki]
it seems so
17:34:49 [luks_]
luks_ has joined #musicbrainz-devel
17:37:56 [ocharles]
ruaok: google doc updated
17:37:58 [ocharles]
on my way home now
17:38:08 [ruaok]
right-o.
17:38:19 [ruaok]
once I chew my way through our taxes, I'll have a look
17:59:32 [reosarevok]
At what time was our meeting?
18:00:02 [ianmcorvidae]
presumably regular meeting time in an hour
18:19:56 [ijabz_]
ijabz_ has joined #musicbrainz-devel
18:21:00 [thejav]
thejav has joined #musicbrainz-devel
18:25:04 [thejav]
I'm looking at the Release listing for Perfume Genius, which I think is a reasonably popular album. It only lists data for GB. Is this just a case of incomplete data, or would this suggest that the album release data is the same for all other countries?
18:26:00 [kepstin-work]
thejav: most likely it's just incomplete data. If you know the correct release date in a different country, you should usually add an additional release for that country.
18:26:08 [hawke_1]
Could be either way, but probably incomplete data
18:26:29 [reosarevok]
:(
18:26:41 [thejav]
fair enough, that makes sense
18:26:45 [reosarevok]
And that's ugly and horrible (adding a new release just for a date) which is why most people don't do it :p
18:26:54 [reosarevok]
But yeah, it's the least bad option at the moment
18:27:00 [thejav]
ahh I see
18:27:13 [thejav]
anyone here doing something for the upcoming hack weekend?
18:27:30 [reosarevok]
I hope so! If the usual devs don't do anything I wonder who will :p
18:27:39 [reosarevok]
(what they're doing I don't know though :) )
18:27:52 [kepstin-work]
I plan to be working on a glib-based C library that I'm gonna use in my vapourware player.
18:28:01 [ianmcorvidae]
haha
18:28:14 [ianmcorvidae]
warp was talking about working on JSON-LD (RDF bullshit) for the webservice
18:28:25 [thejav]
i'm hoping that ocharles and his "latest releases" idea will get API support, if it happens.
18:28:40 [ianmcorvidae]
that one's ruaok's idea I think, actually :)
18:29:10 [ianmcorvidae]
I was thinking I might do embeddable widgets, which was going to be a GSoC a couple summers ago but it ended up not happening -- figure I should do something different than usual, so :P
18:29:36 [reosarevok]
ianmcorvidae, I have a better idea!
18:29:46 [reosarevok]
What about country-based browse pages for our data
18:29:47 [reosarevok]
8)
18:29:52 [ianmcorvidae]
haha
18:30:01 [reosarevok]
(had to try)
18:30:21 [ianmcorvidae]
"better ways of browsing data" is a ticket though, that's what I normally do, work on tickets :P
18:30:49 [reosarevok]
* reosarevok is a jira admin, could rename it to "lalalalala not here" for a week :p
18:31:33 [reosarevok]
(maybe anyone coud, actually - unsure :p)
18:31:35 [ianmcorvidae]
not quite the same :P
18:31:46 [thejav]
oh, one more dev-related question. I'm shipping an app (hopefully shortly) that relies on MusicBrainz data. I'm hoping to do some marketing for this app. My fear is that if suddenly the app does too well, that I'll be throttled. I'm playing exactly by the rules specified, but do you guys know how likely this is?
18:32:11 [ianmcorvidae]
if you've written your thing not to abuse the webservice it shouldn't be an issue
18:32:38 [ianmcorvidae]
the only app, to my knowledge, that's been throttled is headphones, and that's because they make huge numbers of queries from every installation of it, daily
18:32:54 [ianmcorvidae]
essentially full library updates daily; it's pretty crazy
18:33:04 [thejav]
yeah mine plays nicely. but there's a global limit of 300 requests per second, correct?
18:33:10 [ianmcorvidae]
yeah
18:33:16 [ruaok]
ruaok has joined #musicbrainz-devel
18:33:36 [ianmcorvidae]
stats.musicbrainz.org is a good place to look around
18:33:38 [ianmcorvidae]
http://stats.musicbrainz.org/mrtg/drraw/drraw.cgi?Mode=view;Template=1262469543.28951;Base=%2Fvar%2Fwww%2Fmrtg%2F%2Flenny_ratelimit-default-wsglobal-count.rrd for example
18:33:56 [ruaok]
geh. august, y u always such a pain?
18:34:06 [ianmcorvidae]
or better http://stats.musicbrainz.org/mrtg/drraw/drraw.cgi?Mode=view;Dashboard=1262470284.29707 which shows all the ratelimits (some do things, many of them aren't actually ratelimits so much as traffic tracking)
18:35:22 [thejav]
and does anyone here know what commercial licenses cost, in case I want to host the DB myself?
18:36:01 [reosarevok]
ruaok certainly would
18:36:02 [ianmcorvidae]
thejav: ruaok is the one to ask, in fact :) but it generally depends
18:36:20 [ruaok]
* ruaok 503
18:36:34 [ianmcorvidae]
* ianmcorvidae looks up when ruaok formerly said something about this in #mb :P
18:37:32 [hawke_1]
thejav: If you only need the core data, it’s public domain.
18:37:37 [hawke_1]
So sayeth http://musicbrainz.org/doc/MusicBrainz_Database
18:37:43 [ianmcorvidae]
hawke_1: not if you use the live data feed, that's the catch
18:38:00 [ianmcorvidae]
hawke_1: because that includes the CC data
18:39:07 [thejav]
ahh, the live data feed is the weekly database updates?
18:39:13 [ianmcorvidae]
thejav: anyway, quoth ruaok the other month: the list price is $1500/month, but there are discounts for startups and other special situations
18:39:17 [ianmcorvidae]
hourly, not weekly :)
18:39:25 [thejav]
whoa, ok :)
18:39:51 [ianmcorvidae]
the data dumps, which you could use with no license, are twice a week, even :)
18:39:52 [ruaok]
thejav: we can work something out. send me mail with a suggestion for what would work for you.
18:40:02 [ruaok]
rob at musicbrainz snot norg
18:40:12 [ianmcorvidae]
(but are a pain to deal with, generally, so)
18:40:14 [thejav]
haha thanks
18:40:21 [ruaok]
* ruaok goes back to the income tax return
18:43:11 [ruaok]
LOL.
18:43:16 [ruaok]
from the tax return:
18:43:24 [ruaok]
Number of voting board members: 5
18:43:33 [ruaok]
Number of indenpendent board members: 4
18:43:42 [ruaok]
Number of employees: 1
18:43:53 [ruaok]
Number of volunteers: 23637
18:43:57 [reosarevok]
lol
18:44:01 [kepstin-work]
lol
18:44:01 [ruaok]
heh. :) musicbrainz rocks. :)
18:44:07 [reosarevok]
is indenpendent in your tax return or it was now? :p
18:44:09 [ocharles]
haha
18:44:11 [kepstin-work]
* kepstin-work thought you had more employees than that, tho :)
18:44:31 [ruaok]
kepstin-work: employees != contractors.
18:44:33 [ocharles]
no, contracters
18:44:33 [ianmcorvidae]
contractors, I think, not full-up employees
18:44:35 [kepstin-work]
ah
18:44:38 [kepstin-work]
ok.
18:44:38 [ocharles]
there ya go
18:44:47 [reosarevok]
ruaok: what's a "voting" board member as opposed to "independent"?
18:44:55 [reosarevok]
(or are both the same thing, + 1 being you?
18:45:06 [ruaok]
I am voting, but I am metabrainz. the others are not employed by metabrainz.
18:45:13 [kepstin-work]
reosarevok: It looks like voting = independent + employees
18:45:25 [ruaok]
kepstin-work: no, employees dont factor in there.
18:45:34 [reosarevok]
Yeah, I was just surprised they duplicated the entries for them
18:45:44 [kepstin-work]
ah, so it's just coincidence that the only employee is also a voting member?
18:47:14 [ruaok]
yep.
18:47:26 [ruaok]
pretty common, though for tiny non profits.
18:47:28 [warp]
ruaok: haha
18:47:38 [demosdemon]
well, it makes sense that the only employee be a voting board member
18:47:51 [reosarevok]
Yeah
18:47:57 [reosarevok]
Someone has to represent the workforce!
18:48:23 [reosarevok]
Go ruaok, paragon of the MB proletariat :p
18:48:34 [ruaok]
heh
18:48:40 [warp]
lol, reo
18:49:12 [kepstin-work]
how was that volunteers number calculated? number of user accounts that made edits in a certain time span?
18:50:08 [demosdemon]
i've never know someone to be both bourgeoisie and proletariat :P
18:50:31 [ruaok]
kepstin-work: number of editors who edited in 2011.
18:50:43 [ruaok]
the actual number is probably slightly higher
18:51:19 [demosdemon]
doesn't include coders who don't edit?
18:51:37 [demosdemon]
and well, anyone who didn't edit?
18:51:48 [ruaok]
yep. ergo the count actually being higher.
18:51:55 [warp]
do we have those?
18:52:00 [kepstin-work]
on the other hand, it also includes bots :)
18:52:03 [warp]
well, ruaok probably doesn't edit.
18:52:09 [warp]
:P
18:52:18 [ruaok]
I do too!
18:52:28 [ruaok]
(only for testing though :) )
18:52:30 [warp]
ruaok: you make one edit / year to make sure you're counted?
18:52:38 [ruaok]
actually not true, I edited a few things.
18:52:49 [ruaok]
at least that. one release per year.
18:52:52 [warp]
:D
18:54:28 [reosarevok]
Hmm
18:54:56 [reosarevok]
Wonder if it would be OK to make code so that the site displays artist pictures if and only if the link goes to wikimedia commons
18:55:44 [demosdemon]
I wonder if editing and coding can be considered community service
18:56:00 [reosarevok]
demosdemon, you planning to be arrested?
18:56:01 [ianmcorvidae]
there's usually at least one stupid copyright complaint that someone puts in as an edit, I think I usually see ruaok vote on those :P
18:56:25 [plaintext]
plaintext has joined #musicbrainz-devel
18:56:28 [demosdemon]
reosarevok, nah, I have required community service hours for a student org I'm in
18:56:33 [reosarevok]
Oooh
18:56:36 [ruaok]
demosdemon: yes. but we have enough volunteers to make the IRS happy.
18:57:05 [ruaok]
demosdemon: ah. yes, I'd be willing to count that. talk to me next week.
18:57:09 [reosarevok]
ruaok: wonder where we are in a list of non-profits by number of volunteers :p
18:57:14 [ruaok]
* ruaok notes that this week is fired.
18:57:26 [ruaok]
reosarevok: burning man beats us.
18:57:32 [reosarevok]
Well, yeah
18:57:38 [ianmcorvidae]
also wikimedia, presumably
18:57:39 [reosarevok]
And I bet the Obama campaign
18:57:47 [ruaok]
earnings per volunteers, we're in the top 100, I bet.
18:57:52 [reosarevok]
But I meant in percentage more than exact position
19:00:26 [ruaok]
ok, bug triage time.
19:00:37 [ruaok]
ocharles: you here?
19:01:21 [demosdemon]
ruaok: good to know, but I'm more interested if my org would accept it… somehow I doubt it
19:01:23 [reosarevok]
kuno, we know you're warp
19:01:27 [reosarevok]
Don't try to hide
19:01:27 [reosarevok]
:p
19:01:45 [ruaok]
demosdemon: ask them. and ask what they need for proof.
19:01:50 [ruaok]
we're a legit 501c3
19:01:53 [warp]
I was trying to regain access to some freenode channel I registered 3 and a half years ago.
19:01:59 [warp]
* warp doesn't know exactly how that stuff works.
19:02:35 [reosarevok]
Guess ocharles is not around
19:02:37 [ianmcorvidae]
I even made us a letterhead so I could fulfill a similar requirement last semester!
19:02:45 [reosarevok]
We have nikki's list of opinions fwiw
19:02:59 [ocharles]
i'm right here...
19:03:05 [reosarevok]
Oh
19:03:07 [ruaok]
ocharles: how long do we have you for?
19:03:08 [reosarevok]
Guess he's around!
19:03:11 [ocharles]
all night
19:03:14 [ruaok]
oh baby!
19:03:15 [ocharles]
i hurt my ankle, so no jogging
19:03:19 [reosarevok]
Aww
19:03:23 [ruaok]
ouch. sorry to hear that.
19:03:25 [ocharles]
i joked at last.fm I hit a semicolon too hard
19:03:26 [ruaok]
ice and elevate!!
19:03:30 [ocharles]
i have no idea what i've done to it :P
19:03:31 [ruaok]
lol.
19:03:40 [reosarevok]
Scare it
19:03:41 [warp]
ocharles: aii
19:03:45 [ruaok]
ice and elevate is key.
19:03:46 [reosarevok]
If I told my body it was going to run
19:03:49 [warp]
ocharles: hahaha
19:03:56 [reosarevok]
It would certainly stop working to avoid it
19:03:56 [ocharles]
i think it's just bruised from new trainers that are too big for me :)
19:04:15 [ruaok]
$2997 in bank fees last year. that freaking sucks. :(
19:04:19 [warp]
* warp did a very very brief jog just before this meeting.
19:04:29 [warp]
ruaok: woah
19:04:40 [ruaok]
$35 per wire transfer. :(
19:04:46 [reosarevok]
ruaok: and no bank interests?
19:04:47 [ruaok]
and $10 incoming
19:04:53 [reosarevok]
(to compensate a bit or something)
19:04:54 [ruaok]
those got slashed.
19:05:18 [reosarevok]
Anyway
19:05:21 [ianmcorvidae]
lol interest from banks
19:05:23 [reosarevok]
Guess I should open the results page
19:05:27 [ianmcorvidae]
presumably!
19:05:28 [ruaok]
$682 last year. $291 this year.
19:05:40 [reosarevok]
ianmcorvidae: hey, I do get like 1€ or so per year :p
19:05:57 [reosarevok]
(ok, maybe more now that I actually have some money :p)
19:06:22 [reosarevok]
slowly loading
19:06:30 [reosarevok]
[MBS-1184] inline preview for annotations092
19:06:38 [warp]
* warp only pays interest.
19:06:48 [reosarevok]
yeah, all, pay some interest to the meeting!
19:06:52 [reosarevok]
*rimshot*
19:06:52 [ianmcorvidae]
:P
19:06:55 [demosdemon]
I made $.02 in interest last quarter
19:07:04 [ianmcorvidae]
12 is fine for me, unsched would also be fine by me
19:07:16 [ocharles]
unsched is fine with me
19:07:26 [warp]
* warp votes wontfix.
19:07:35 [warp]
that thing is crammed in there, we should take it out entirely :)
19:07:43 [reosarevok]
I'd be OK with that
19:07:46 [reosarevok]
But if not, fix it
19:07:51 [reosarevok]
wontfix + keep there, no :p
19:08:02 [warp]
* warp nods.
19:08:03 [reosarevok]
"I have no opinion because I don't use that field except to clear an annotation while making other edits to a release. It's not big enough for anything useful."
19:08:05 [reosarevok]
(nikki)
19:08:08 [reosarevok]
I tend to agree
19:08:21 [warp]
reosarevok: ok, can we mark it DR then to get a bit more discussion
19:08:24 [reosarevok]
Ok
19:08:35 [reosarevok]
[MBS-1029] Show instrument descriptions when adding relationships272
19:08:38 [reosarevok]
12 seems fine
19:08:46 [reosarevok]
If only because we'd need the time to fill the empty ones :p
19:09:02 [warp]
I'm ok with 12.
19:09:04 [ianmcorvidae]
sure, 12, there's also a lot of translator burden for that
19:09:18 [reosarevok]
"Vacuum cleaner" "really, don't ask"
19:09:18 [ianmcorvidae]
since instrument descriptions are in a different domain precisely because we use them almost nowhere :P
19:09:32 [ocharles]
ok with 12
19:10:06 [reosarevok]
Fine!
19:10:07 [reosarevok]
[MBS-2136] Make links from the subscriptions email only show edits for the same period344
19:10:40 [kepstin-work]
hmm. that's an interesting idea. I'd like that.
19:10:52 [ocharles]
i'm not sure i understand it
19:10:53 [kepstin-work]
* kepstin-work is rather behind on his subscriptions, in other words.
19:10:54 [reosarevok]
I am not sure I agree it makes stuff easier (I mean, if there are more edits I probably either will ignore them if I know of them, or I'll want to see them anyway)
19:10:54 [ianmcorvidae]
votes seem torn, I'd edge toward 12 or unsched
19:10:55 [warp]
votes are all over the place, and I have no opinion.
19:11:04 [warp]
* warp sides with ianmcorvidae
19:11:08 [reosarevok]
But it would seem more straightforward
19:11:16 [ianmcorvidae]
ocharles: links in the email should be to *only* edits during the time period the subscription email follows
19:11:20 [reosarevok]
"here's your edits report for today" "here, edits for today"
19:11:22 [kepstin-work]
ocharles: I click a link from a 4-week-old email, and I see edits from last week instead of from 4 weeks ago
19:11:33 [ocharles]
oh, the links to view all edits
19:11:37 [ocharles]
not the entities being edited
19:11:38 [reosarevok]
Oooh, so that's the idea
19:11:42 [demosdemon]
timestamped links
19:11:51 [ianmcorvidae]
probably edit search links, in fact, but
19:12:08 [reosarevok]
* reosarevok never gets so much behind that he had that, so he thought it was not to see *older* edits
19:12:15 [reosarevok]
Yeah, put like that, I guess it makes more sense
19:12:56 [ocharles]
* ocharles has no opinion
19:13:00 [ocharles]
actually, I do
19:13:01 [demosdemon]
+1 12mo
19:13:01 [ocharles]
not 3 months :)
19:13:03 [reosarevok]
nikki said 2
19:13:05 [reosarevok]
*12
19:13:09 [reosarevok]
Ok, leeets do 12
19:13:31 [reosarevok]
[MBS-3879] Wiki transclusion should check for correct page name and revision number018
19:13:40 [reosarevok]
heh
19:13:49 [reosarevok]
Most people probably were like transwhat
19:13:59 [ianmcorvidae]
affects only transclusion editors, I'd say unsched is fine :P
19:14:03 [reosarevok]
But I agree, it's not really a big problem
19:14:07 [ocharles]
unsched
19:14:09 [ianmcorvidae]
in general, bugs that affect <10 people...
19:14:09 [reosarevok]
I have never done it and I'm clumsy :p
19:14:28 [reosarevok]
And nikki says unsched
19:14:37 [reosarevok]
That leaves only a couple of us left
19:14:38 [reosarevok]
So yeah
19:14:55 [reosarevok]
[MBS-3678] Blank annotations are shown in summary if they contained text prior353
19:14:59 [reosarevok]
fiiine, wait for warp
19:15:00 [warp]
warp has joined #musicbrainz-devel
19:15:02 [reosarevok]
[MBS-3678] Blank annotations are shown in summary if they contained text prior353
19:15:16 [reosarevok]
That's UGLY and annoying
19:15:19 [reosarevok]
So not unsched
19:15:30 [reosarevok]
But I'd be ok with 12
19:15:48 [ianmcorvidae]
the ticket is basically asking to move a link, yeah?
19:15:51 [ocharles]
yea
19:16:00 [reosarevok]
Yeah
19:16:01 [ocharles]
and hide the empty annotation
19:16:02 [reosarevok]
PRetty much
19:16:03 [warp]
3 or 12
19:16:15 [reosarevok]
ianmcorvidae, 30 min
19:16:15 [reosarevok]
:p
19:16:18 [ianmcorvidae]
12, I'd say, with a strong chance of me deciding to do it :P
19:16:23 [warp]
should be entirely straightforward
19:16:25 [ocharles]
lets go wit h12
19:16:31 [reosarevok]
ok
19:16:37 [reosarevok]
[MBS-3967] Missing ISRC104
19:16:43 [reosarevok]
* reosarevok looks wtf it's about
19:16:55 [reosarevok]
"Release page : Display ISRC on tracks (recordings)
19:16:55 [ianmcorvidae]
title change, heh
19:17:04 [reosarevok]
ffs, non breaking space?
19:17:06 [reosarevok]
jesus...
19:17:10 [reosarevok]
Anyway
19:17:28 [reosarevok]
Agreed with too much clutter + userscript
19:17:29 [ianmcorvidae]
unsched, lean to wontfix
19:17:38 [reosarevok]
nikki said wontfix
19:17:49 [reosarevok]
So seems to say murdos
19:17:50 [warp]
haha
19:18:04 [ocharles]
so wontfix then
19:18:10 [warp]
WONTFIX
19:18:13 [ocharles]
if its important, it will be reopened
19:18:17 [reosarevok]
(and it's not)
19:18:23 [ocharles]
* ocharles nods
19:18:24 [hawke_1]
I do find that userscript really really helpful FWIW
19:18:39 [reosarevok]
hawke_1: sure
19:18:43 [reosarevok]
that's why it exists
19:18:47 [warp]
haha
19:18:55 [warp]
if not wontfix, move it to DR
19:19:04 [reosarevok]
But we don't need to show that to the huge majority of people who don't know what an ISRC even is and don't care
19:19:07 [hawke_1]
It would be nice to have something to say what stuff is likely to be deemed acceptable for general use
19:19:17 [hawke_1]
and what must be relegated to a userscript
19:19:49 [hawke_1]
Aside from that, carry on. :-)
19:19:51 [ocharles]
that's another topic
19:19:53 [reosarevok]
This one should be so easy, we can do it while you discuss
19:19:53 [demosdemon]
wontfix tickets a likely candidates
19:19:53 [reosarevok]
[MBS-1976] Attached cover art (ASIN or CDbaby) doesn't hyperlink018
19:19:55 [reosarevok]
wontfix
19:20:10 [ianmcorvidae]
wontfix
19:20:48 [demosdemon]
wontfix
19:20:51 [warp]
ok with wontfix
19:21:01 [ianmcorvidae]
and ocharles and navap said that in the ticket too :P
19:21:03 [reosarevok]
yay wontfix!
19:21:06 [reosarevok]
neext
19:21:13 [reosarevok]
[MBS-2811] Display some indication on tracklists whether attached recordings have one or more PUIDs343
19:21:17 [reosarevok]
hahahahahah PUIDs
19:21:25 [reosarevok]
3 people voted 3mo?
19:21:30 [reosarevok]
u mad?
19:21:31 [reosarevok]
:p
19:21:34 [ruaok]
* ruaok will soon join the conversation
19:21:42 [warp]
hahaha
19:21:43 [reosarevok]
ruaok, PUID
19:21:49 [reosarevok]
(say wontfix :p)
19:21:51 [warp]
DROP TABLE puid;
19:21:53 [ruaok]
wonfix
19:21:55 [ruaok]
+t
19:22:04 [ianmcorvidae]
I think s/PUID/acoustid/ this is useful but already part of the acoustid stuff
19:22:09 [ianmcorvidae]
I'd say wontfix it since it's PUIDs
19:22:14 [ocharles]
yea, that makes sense
19:22:42 [reosarevok]
[MBS-3998] Editor may vote / may add edit note checks should also be done at the Data level.453
19:22:58 [reosarevok]
didn't we do this already?
19:23:04 [warp]
reosarevok: it does sound familiar
19:23:07 [ocharles]
not right down to the lowest level
19:23:15 [ocharles]
i don't think
19:23:19 [ocharles]
but it's not important, unsched
19:23:22 [reosarevok]
Oh, yeah
19:23:26 [reosarevok]
warp's comment "For both voting and edit notes a user can still construct the form and post the data to the server. Only the display of voting radio buttons and edit note textarea's is currently disabled if the user is not allowed to vote or add edit notes"
19:23:27 [ianmcorvidae]
unsched indeed
19:23:29 [ocharles]
i mean, you'll know if people actually start abusing it
19:23:42 [warp]
ok, with unsched
19:23:44 [ocharles]
and we do have various checks in the front ends
19:23:53 [ianmcorvidae]
though part of NES may involve basically fixing this, by way of editable WS stuff
19:24:00 [reosarevok]
nikki said 12, but she seems outvoted
19:24:30 [demosdemon]
there needs to be an option between 12 and unsched
19:24:37 [demosdemon]
that's where I'd put this
19:24:45 [reosarevok]
demosdemon: that exists
19:24:49 [reosarevok]
It's called "oh, I'll do it"
19:24:51 [reosarevok]
;)
19:25:08 [ocharles]
(:
19:25:14 [demosdemon]
next week
19:25:39 [reosarevok]
[MBS-3515] Only show work ARs in "Relate to..." work search results144
19:25:49 [reosarevok]
We set this to DR
19:26:02 [reosarevok]
But wontfix, wait until we have editable WS, make someone create a classical editor UI :p
19:26:12 [ianmcorvidae]
skip, deal with it like we usually deal with DR then :P
19:26:24 [warp]
we shouldn't be triaging DR tickets I'd say.
19:26:27 [reosarevok]
Ooh, the old "let it rot"
19:26:27 [reosarevok]
ok
19:26:35 [reosarevok]
[MBS-3848] Guess Case: Support for additional common ETI phrases254
19:26:35 [warp]
we already do those in the regular dev meeting.
19:26:38 [ianmcorvidae]
now, now, we're looking at DR during meetings :P
19:27:04 [ocharles]
what am I doing wit hMBS-3515?
19:27:04 [ianmcorvidae]
12 seems reasonable, I don't really know how hard Guess Case is to extend/fix
19:27:09 [reosarevok]
ocharles, ignore
19:27:11 [reosarevok]
(for now)
19:27:16 [ocharles]
don't do anything at all?
19:27:28 [ocharles]
shall I exclude decision required from the scheduling filter then?
19:27:28 [ianmcorvidae]
ocharles: it's already DR, the decision is to deal with it as part of our usual DR process
19:27:33 [warp]
MBS-3848 is barely actionable
19:27:37 [reosarevok]
Well, you said there is opposition and nobody came and said "but this!"
19:27:48 [reosarevok]
So, wait until someone objects to the opposition
19:27:55 [reosarevok]
For this one: I'd say 12 *if and only if* we also make it work better
19:27:56 [warp]
also doesn't seem important, I'd say unsched. but based on votes I'm ok with 12.
19:28:03 [demosdemon]
oh yeah, that reminds me I have 2 DRs
19:28:12 [ianmcorvidae]
reosarevok: define "work better"?
19:28:24 [reosarevok]
Next time guess case turns "Piano" at the end of a track to "(piano)" I'll kill someone :p
19:28:49 [warp]
reosarevok: I have a more productive alternative
19:29:04 [reosarevok]
(and "club" etc also have no checks apart from "they're at the end" iirc - I know I've seen them turn into wrong "ETI" when they were titles)
19:29:21 [reosarevok]
(pretty sure there's a ticket for all that, anyway)
19:29:27 [warp]
reosarevok: collect such cases somewhere, the open a ticket for it when you have a nice collection. I'll add them to the guesscase unittests and then fix GC.
19:29:33 [warp]
s/the/then/
19:30:09 [reosarevok]
warp: that one seems clear anyway: "lowercase chillout and ambient before remix or mix"
19:30:22 [reosarevok]
(all the rest is ambiguous or unclear and thus should be ignored)
19:30:40 [ocharles]
* ocharles has no opinion, somewhere tell me where this goes :)
19:30:45 [warp]
reosarevok: it says: such as "chillout" and "ambient". implying there should be more.
19:30:51 [reosarevok]
Sure, but it doesn't say it
19:31:01 [reosarevok]
So do those, close as fixed, ask for a bigger list if they want more
19:31:14 [warp]
reosarevok: exactly, so the ticket is vague and incomplete. thus I described it as "barely actionable" :)
19:31:22 [reosarevok]
* reosarevok shrugs
19:31:36 [reosarevok]
I see a pretty easy way of doing it, but if you insist, then just ask for the list directly :p
19:32:17 [warp]
reosarevok: I don't like diving into guesscase. If I'm going to be diving in there, I want to have a good solid collection of broken shit, so I don't have to touch that code again for another year.
19:32:46 [ruaok]
lol. makes sense.
19:32:48 [warp]
(instead of adding one more thing to it every X weeks)
19:32:59 [reosarevok]
then comment and ask for that list
19:33:06 [warp]
reosarevok: ok
19:33:08 [reosarevok]
* reosarevok doesn't add enough ambient mixes to care anyway :p
19:33:09 [reosarevok]
[MBS-3476] Add more string substitutions for "join phrase"424
19:33:14 [warp]
reosarevok: can you add your piano example? :)
19:33:20 [reosarevok]
The "feat." one I asked for, I did myself
19:33:27 [ruaok]
that sounds almmost like a bug to me, so 3 mo.
19:33:41 [ocharles]
i don't know what i'm doing with that last ticket still
19:33:44 [ocharles]
leaving it? unsched?
19:33:51 [reosarevok]
warp? DR?
19:34:01 [reosarevok]
ruaok: A bug called "user that can't press space" :p
19:34:08 [reosarevok]
(but yeah, seems people want it fixed, so 3 is ok)
19:34:09 [ruaok]
turn it back to the creator and tell them to make it actionable.
19:34:21 [reosarevok]
Yo, God, fix this ticket
19:34:54 [warp]
reosarevok: MBS-3476 is an actual bug. the code should already work as the folks in the comment on that ticket want it to work.
19:35:00 [reosarevok]
Oh
19:35:01 [warp]
reosarevok: so 3 or 12.
19:35:07 [ianmcorvidae]
if it's a bug, 3
19:35:15 [reosarevok]
Ok
19:35:20 [ianmcorvidae]
and someone who knows why it's a bug, please go clarify why on the ticket :P
19:35:25 [reosarevok]
Check if it happens the first time, or only if you re-edit it
19:35:34 [reosarevok]
If the former, bug, if the latter, wontfix
19:35:41 [warp]
* warp nods.
19:35:58 [reosarevok]
(since it needs to *allow* entering them like this, just try to point to the most common version first)
19:36:17 [reosarevok]
So, 3 I guess
19:36:34 [reosarevok]
[MBS-3294] clientaccesspolicy.xml and/or crossdomain.xml for Silverlight/Flash Crossdomain Calls113
19:36:44 [warp]
WONTFIX
19:36:45 [reosarevok]
* reosarevok looks at the ceiling and ignores this ticket he doesn't understand
19:36:52 [ruaok]
I hate the idea that people will use crappy software to use MB.
19:36:54 [ocharles]
wontfix
19:36:58 [ruaok]
wontfix.
19:37:02 [reosarevok]
nikki says "12 because making it possible for people to access our data in more ways is good"
19:37:07 [ocharles]
if it was a standard, then fine
19:37:23 [ruaok]
I think we have CORS on our radar and that is the right way to do this.
19:37:34 [ruaok]
its not ready yet, but its on the radar.
19:37:34 [warp]
there is a standard, CORS, if we don't have that yet, we should implement that. but not these plugin specific hacks.
19:37:35 [ocharles]
we already have CORS
19:37:44 [ocharles]
iirc
19:37:48 [ianmcorvidae]
we already have CORS for webservice stuff, at least
19:37:53 [ocharles]
yea, i thought i wrote that :)
19:38:11 [ianmcorvidae]
I agree on wontfix, silverlight and flash are the PUIDs of the web world :P
19:38:16 [warp]
haha
19:38:25 [ruaok]
lol
19:38:33 [kepstin-work]
yeah, cors already works, as you can see on http://people.scs.carleton.ca/~cwalton3/temp/mbmockups/ajax/ if you don't use opera :)
19:38:52 [reosarevok]
ok, seems you all agree
19:38:54 [reosarevok]
[MBS-3459] Display release context when merging recordings740
19:39:11 [reosarevok]
"I think this is currently incomplete: It really needs some thought put into how it's going to work for recordings with lots of releases" says nikki
19:39:28 [warp]
3 based on votes.
19:39:40 [reosarevok]
I don't think I agree with nikki there: it says how it will work, just like the search tables
19:39:51 [reosarevok]
(and while it's not pretty, it should be better than nothing)
19:39:53 [kepstin-work]
I always have to open all the recordings in tabs to figure out which one I want to merge into right now
19:39:59 [ianmcorvidae]
* ianmcorvidae abstains, I'm not sure on this at all
19:40:01 [kepstin-work]
so this will save bandwidth ;)
19:40:05 [ianmcorvidae]
haha
19:40:08 [warp]
reosarevok: yeah, I'd say implement as described. tweak later.
19:40:11 [ocharles]
if you want it to work like the search, then 12 mo
19:40:14 [ocharles]
if not, then DR
19:40:29 [ocharles]
we really need to pick from 12 mo -> 3 mo soon though
19:40:38 [reosarevok]
Well, this is 7 4 0
19:40:43 [ocharles]
we're rapidly approaching a massive wall of tasks
19:40:44 [reosarevok]
So you could start with that :p
19:40:47 [ruaok]
go with the 3 then. :)
19:40:50 [reosarevok]
Ooh, that's what you meant
19:40:53 [reosarevok]
That there's a lot in there
19:40:53 [ocharles]
i think the 12mo bucket is almost full
19:41:07 [reosarevok]
Well, if 12 mo has stuff that has a less than 3 mo due date, that needs to move
19:41:11 [ruaok]
so next triage meeting we tackle the 12 mo bucket...
19:41:30 [ocharles]
or just let people move say 5 pet issues from 12 to 3
19:41:32 [reosarevok]
(not sure if we've been doing this long enough)
19:41:34 [warp]
isn't it automatic, as reo described?
19:41:45 [ocharles]
warp: it'd be nice to spell it out a bit more
19:42:00 [ocharles]
i hit choice paralysis when i have to pick from 70 equally important things
19:42:19 [ocharles]
we could even make it "just move the first 20 by due date"
19:42:23 [warp]
ocharles: 12 mo should be FIFO. the stuff which was moved into there first should be moved to 3mo first.
19:42:28 [ruaok]
+1
19:42:35 [ocharles]
ok, so shall we just move 20 of em?
19:42:39 [ruaok]
or FINO. thats also good. :)
19:42:55 [ruaok]
sounds good to me.
19:42:56 [reosarevok]
ocharles: sounds reasonable
19:42:59 [warp]
ocharles: I don't know if "by due date" would make it a FIFO.
19:43:05 [ianmcorvidae]
I think I may need some VINO after this discussion
19:43:06 [ianmcorvidae]
;)
19:43:13 [kepstin-work]
ruaok: then what's the point of 'unsched'? just make everything 12mo.
19:43:17 [reosarevok]
warp: how come they would not?
19:43:21 [kepstin-work]
;)
19:43:33 [warp]
reosarevok: I don't know how the due day is set.
19:43:35 [ruaok]
* ruaok points out that FINO is first-in, never out.
19:43:36 [reosarevok]
i mean, due date is day entered + 1 year
19:43:57 [reosarevok]
ruaok: if that means "never out because they're all fixed even before we hit 3 mo to due date", then yes :p
19:44:31 [kepstin-work]
ruaok: I thought DR was FINO ;)
19:44:35 [warp]
reosarevok: "day entered" is "day entered into the 12 month bucket" ? if so, then yes, by due date is a FIFO.
19:44:44 [ruaok]
kepstin-work: we've started fixing that recently. :)
19:44:45 [ruaok]
\
19:44:46 [reosarevok]
warp: AFAIK, yes
19:44:59 [reosarevok]
Aaanyway
19:45:01 [reosarevok]
[MBS-4085] Users with open edits can delete their account533
19:45:06 [ruaok]
12
19:45:27 [ocharles]
that seems fine?
19:45:32 [ocharles]
oh, they can't be contacted
19:45:34 [reosarevok]
Yeah
19:45:37 [reosarevok]
Let them delete it
19:45:42 [ocharles]
we could cancel all their edits then?
19:45:42 [warp]
all those edits should just cancel
19:45:43 [reosarevok]
but cancel all their edits if they do
19:45:45 [ocharles]
* ocharles nod
19:45:46 [reosarevok]
heh
19:45:52 [reosarevok]
Seems we agree on it :p
19:45:53 [ocharles]
simple, happy with 3 as the votes say
19:45:57 [warp]
cancel all the edits!
19:46:11 [ruaok]
k
19:46:17 [warp]
I'm ok with 3 if it is cancel all the edits :)
19:46:22 [kepstin-work]
warp: write tests to make sure it doesn't cancel all the edits, but rather only that user's edits :)
19:46:29 [ocharles]
can we be done now?
19:46:40 [reosarevok]
NO
19:46:42 [reosarevok]
Fiiine
19:46:43 [warp]
sure.
19:47:18 [ruaok]
I think we should make these meetings regular occurances.
19:47:30 [ruaok]
lets touch base at the end of each dev meeting and make sure we can make it.
19:47:32 [warp]
3 times a day until we clear the queue!
19:47:34 [ocharles]
i can't keep sacrificing evenings
19:47:36 [ocharles]
just to point this out
19:47:49 [warp]
oh, not _that_ regular? :P
19:47:50 [ocharles]
i already have a maximum of 4 week at best, i'd like to keep it to at least 3
19:48:12 [ruaok]
hmmm.
19:48:19 [ruaok]
after the dev meeting?
19:48:20 [ruaok]
before?
19:48:32 [ocharles]
on dev meeting days i can do it
19:48:37 [reosarevok]
Ok
19:48:37 [ocharles]
seeing as that evening has already gone :)
19:48:38 [ruaok]
I'm ok with that.
19:48:38 [reosarevok]
So
19:48:40 [reosarevok]
Monday
19:48:40 [ocharles]
not before though
19:48:47 [ruaok]
SMT + 1.
19:48:48 [reosarevok]
Full day triaging
19:48:49 [reosarevok]
:p
19:48:50 [ruaok]
20UTC.
19:48:53 [ocharles]
and i'd like to say not longer than 30 minutes
19:49:00 [ruaok]
ocharles: sounds good.
19:49:11 [ianmcorvidae]
as long as it's 30 minutes weekly, seems fine
19:49:28 [warp]
30 minutes I can manage
19:49:38 [ocharles]
it'd be better to keep other evening meetings stuff that's important
19:49:48 [ocharles]
like, really important :)
19:50:31 [djce]
djce has joined #musicbrainz-devel
19:50:34 [warp]
20:00 UTC is bed time for me on some days, so I'd rather not stretch beyond that too much :)
20:20:05 [ruaok]
plaintext: I got mail from splunk.
20:20:18 [plaintext]
ruaok: hello
20:20:22 [plaintext]
what did they write?
20:20:50 [ruaok]
but I think we can work something out.
20:20:55 [plaintext]
sounds good!
20:21:08 [ruaok]
and today was the first day that a whole days of logs got automatically imported.
20:21:21 [ruaok]
I did't have to mess with it, it finally just worked.
20:21:49 [plaintext]
great
20:22:50 [plaintext]
I modified the code so tables are populated with js
20:24:28 [ruaok]
nice.
20:24:43 [ruaok]
have you re-run the queries now that we have more and fresher data?
20:25:39 [plaintext]
well, right now I'm still changing a few things, and I only run the test queries with "head 10000 |"
20:26:01 [plaintext]
but earlier today I tried doing them on a whole days data to see if it works
20:28:11 [plaintext]
but for the end of gsoc I'm thinking about hard-coding a days log into the queries file, so we get some real data
21:13:46 [demosdemon]
hum, ianmcorvidae: any idea why http://demosdemon.mbsandbox.org/ is 502ing
21:14:01 [ianmcorvidae]
is it on?
21:14:08 [demosdemon]
yeah, lol
21:14:12 [ianmcorvidae]
hm
21:15:00 [ianmcorvidae]
oh
21:15:05 [ianmcorvidae]
you have Cache::Memcached::Fast on
21:15:11 [demosdemon]
oh, durdur
21:15:14 [ianmcorvidae]
for the place where you can't
21:15:16 [ianmcorvidae]
yeah
21:15:32 [ianmcorvidae]
/var/log/nginx/mbsandbox-demosdemon.error.log is your friend :)
21:15:47 [demosdemon]
I updated my dbdefs and forgot to remove that
21:16:06 [ianmcorvidae]
yeah
21:16:27 [ianmcorvidae]
I guess I should look into http://tickets.musicbrainz.org/browse/MBS-4578
21:16:39 [ianmcorvidae]
it'll be an obnoxious merge whenever that gets done though :/
21:17:05 [demosdemon]
but, it'll make future merges less obnoxious
21:17:19 [ianmcorvidae]
it's true
21:17:28 [ianmcorvidae]
I wonder if it can be done piecemeal
21:17:37 [ianmcorvidae]
I guess there's no reason why not
21:18:10 [demosdemon]
nah, I say go all out, fix it the first time and warn mb-devel repeatedly for 3 months, then it'll all be done
21:19:10 [ocharles]
ianmcorvidae: which plack handler are you using for the sandbox?
21:19:12 [ocharles]
fastcgi?
21:19:13 [ianmcorvidae]
for people using it it won't be any worse than any other DBDefs update, except that it'll be the last one
21:19:18 [ianmcorvidae]
ocharles: yeah, fastcgi, unix
21:19:39 [ocharles]
and doing zerodown time upgrades by restarting on the same socket?
21:19:56 [ocharles]
or a more explicit stop/start?
21:19:59 [ianmcorvidae]
zero downtime upgrades, on the sandbox?
21:20:10 [ianmcorvidae]
most people just use the provided run.sh in a screen session and ctrl-c it
21:20:13 [ocharles]
ah
21:20:18 [ocharles]
i thought it was automatic
21:20:21 [demosdemon]
I just update in place
21:20:23 [ianmcorvidae]
or run it with -r, of course, but
21:20:30 [demosdemon]
if it errs, then I have to ^C
21:20:41 [ocharles]
oh, -r is stop and start
21:20:49 [ianmcorvidae]
yeah, there's downtime from -r
21:20:52 [ocharles]
i'm trying to figure out why beta occasionally randomly breaks
21:21:00 [ocharles]
it mostly just works, but sometimes... doesn't
21:21:15 [ianmcorvidae]
what sort of breakage?
21:21:45 [ocharles]
non-responsive, old processes don't ever die (become defunct), had another weird one where there was physical memory but it was swapping anyway
21:22:56 [ianmcorvidae]
hm
21:23:14 [ianmcorvidae]
yeah, I've got no idea
21:28:46 [demosdemon]
only beta? afaik none of the rika instances have that issue?
21:28:55 [demosdemon]
s/?//
21:29:44 [ruaok]
woot.
21:30:12 [ruaok]
ianmcorvidae: you free on oct 22?
21:30:34 [ruaok]
the archive would like to have a music related meeting and would like have some MBer present.
21:30:40 [ruaok]
we'd fly you out.
21:30:57 [ruaok]
and two of our mentors will also be here. depends on who comes to the summit.
21:31:23 [reosarevok]
Oh, just noticed that there's not been any CAA downtime lately!
21:31:27 [reosarevok]
(now that you mention the IA)
21:31:34 [ruaok]
:-d
21:31:41 [demosdemon]
hah, out of sight out of mind
21:31:47 [ruaok]
they were working hard on it.
21:33:48 [ianmcorvidae]
ruaok: that can probably happen
21:34:08 [ruaok]
awesome. you're close enough that we can fly you out cheaply.
21:34:20 [ianmcorvidae]
yeah, certainly -- they're in SF, yeah?
21:36:01 [ianmcorvidae]
yeah, so quoth the wiki anyway
21:38:22 [ruaok]
yep.
21:38:32 [ruaok]
in an old christian scientist church.
21:38:35 [ruaok]
best digs evar.
21:38:50 [ianmcorvidae]
I've seen pictures of the place, pretty impressive :)
21:42:10 [ruaok]
crap.
21:42:13 [ruaok]
plaintext: ping
21:42:20 [plaintext]
ruaok: pong
21:42:40 [ruaok]
so, apparently the 10G limit is a hard limit that we can;t get around so soon.
21:42:55 [ruaok]
which means we should look at ways at reducing the data we feed to splunk.
21:43:09 [plaintext]
does that mean 2 days of logs at a time?
21:43:22 [ruaok]
no, that wont work.
21:43:35 [ruaok]
I'm thinking of removing data from the logs that is useless.
21:43:48 [ianmcorvidae]
are we currently importing multiple logs?
21:43:55 [ianmcorvidae]
it's possible they could be combined and compressed, if so
21:44:06 [ruaok]
1344408690.569 x.x.x.x "GET /ws/2/artist/1b8bdee5-783a-4eca-88e5-3e9460739546?inc=url-rels+artist-rels+label-rels HTTP/1.1" 200 1552 z=- up=10.1.1.20:80 ms=0.577 ums=0.577 ol=- h=musicbrainz.org
21:44:13 [ruaok]
we ditch the IP already.
21:44:26 [ruaok]
HTTP/1.1 doesn't give us anything of value.
21:44:31 [ruaok]
request size perhaps.
21:44:38 [ruaok]
up can go.
21:44:40 [ruaok]
h can go.
21:44:56 [ruaok]
ums vs ms, not sure.
21:45:01 [ruaok]
one or both can go.
21:45:07 [ocharles]
are they always identical?
21:45:11 [ianmcorvidae]
the difference is almost certainly very small
21:45:13 [ruaok]
not sure.
21:45:17 [ianmcorvidae]
ocharles: ums is upstream, ms is total
21:45:22 [ianmcorvidae]
nginx is super-fast, so they're usually the same
21:45:30 [ianmcorvidae]
if for some reason the frontend nginx is slow then ms will be a bit longer
21:45:41 [ianmcorvidae]
ums is probably the more relevant metric, in any case
21:45:43 [ruaok]
I vote to keep ums
21:45:53 [ruaok]
ol=- ? what is that?
21:46:05 [ianmcorvidae]
lemme look at the config
21:47:43 [plaintext]
ruaok: what exactly does the 10GB limit mean?
21:47:44 [ianmcorvidae]
that's $sent_http_location, i.e. the value of the Location HTTP header
21:47:50 [plaintext]
10GB indexed each day?
21:47:55 [ruaok]
plaintext: yep.
21:48:00 [ianmcorvidae]
so it'll list redirects, when there is one
21:48:04 [plaintext]
and isn't that enough?
21:48:16 [ruaok]
log in and look at the summary.
21:48:21 [ruaok]
we indexed 9.5GB last night.
21:48:28 [ruaok]
too close for comfort.
21:48:38 [ijabz]
ijabz has joined #musicbrainz-devel
21:48:41 [plaintext]
wow, I didn't know
21:48:43 [ianmcorvidae]
z is gzip ratio, which may or may not be useful
21:48:48 [plaintext]
sanitizing boosts up the size I guess
21:49:15 [plaintext]
do we need a 40 character long hash for IP?
21:49:24 [ruaok]
so we should aim to get rid of fields we do not need.
21:49:36 [ruaok]
plaintext: lets make the hash as small as possible.
21:49:40 [ruaok]
base64, I guess.
21:50:26 [plaintext]
can't we cut a few characters from the hashes value?
21:50:29 [ruaok]
so, can you please work on the script to: remote the HTTP x/x, ms= h= ol= and up= fields?
21:50:33 [plaintext]
and still have a very low possibility of collision?
21:50:39 [plaintext]
sure
21:51:00 [ruaok]
plaintext: before we do that , lets take a close look at what encodings we're sing.
21:51:02 [ruaok]
+u
21:51:09 [ruaok]
lets find the most compact on and use that
21:51:18 [plaintext]
encoding?
21:51:30 [ianmcorvidae]
hex vs. base64 vs possibly something even more fancy
21:51:36 [plaintext]
I see
21:51:39 [ruaok]
* ruaok nods at ianmcorvidae
21:51:40 [demosdemon]
you can store an ip as max 6 base64 characters
21:52:04 [demosdemon]
(ipv4)
21:52:08 [ianmcorvidae]
demosdemon: IPs are hashed with a salt (for privacy), so it's that which they're condensing, not the IP itself
21:52:22 [demosdemon]
whats the hashing algo?
21:52:28 [plaintext]
sha1
21:52:42 [ianmcorvidae]
demosdemon: https://github.com/metabrainz/musicbrainz-server-log-analysis
21:52:53 [demosdemon]
ah,
21:53:55 [demosdemon]
a salted md5 should be find for ip addresses
21:54:18 [alastairp]
uh
21:54:27 [demosdemon]
the stuff your hashing isn't super top secret
21:54:30 [alastairp]
why don't you use cryptopan for IP anonymisation?
21:54:35 [alastairp]
it preserves prefixes
21:54:41 [alastairp]
i'm just trying to work out its size
21:55:08 [plaintext]
I've never heard of it alastairp
21:55:21 [ianmcorvidae]
base64ing hashlib.sha1(whatever).digest() directly is 28 characters versus 40
21:55:42 [ocharles]
erm, base 64 the ip is pointless if the whole point of hashing it was to encrypt it
21:55:58 [ianmcorvidae]
ocharles: it's base64ing the hash, not the IP
21:56:01 [demosdemon]
yes, ocharles… I realized this now
21:56:05 [ocharles]
unless you meant base 64 on the binary md5 result
21:56:06 [demosdemon]
-d
21:56:30 [alastairp]
anyway, the real answer is "use cryptopan"
21:56:38 [alastairp]
which all the network researchers use
21:56:42 [ocharles]
right
21:57:02 [ocharles]
murmur produces a very small hash, iirc, which you could just ascii encode in base 10
21:57:40 [ocharles]
cryptopan sounds cool
21:57:59 [ruaok]
ok, Xavier has confirmed the dates for the MB summit.
21:58:00 [ianmcorvidae]
cryptopan does seem neat, don't see any convenient python implementation plaintext can just drop in
21:58:03 [ruaok]
17 November!
21:58:44 [ianmcorvidae]
17-18, or just the 17th?
21:58:54 [ruaok]
the whole weekend.
21:59:03 [plaintext]
well the python script can call whatever else cryptopan runs on, if it's not too big of an overhead
21:59:30 [ianmcorvidae]
* ianmcorvidae sees if the AUR has it
22:00:09 [ianmcorvidae]
hm
22:00:14 [ianmcorvidae]
there's a perl module though: http://search.cpan.org/dist/IP-Anonymous/lib/IP/Anonymous.pm
22:00:24 [ocharles]
forking for every line in the log file will not be blazingly fast
22:00:48 [ruaok]
the blog processing is already cpu constrained.
22:00:55 [ruaok]
blog? log.
22:01:04 [ruaok]
* ruaok is writing a blog entry
22:01:16 [ianmcorvidae]
the original one is c++ looks like
22:03:27 [ianmcorvidae]
and memoizing the hash calculation (cryptopan or otherwise) would probably help the sanitizer a lot
22:05:25 [alastairp]
hmm, yeah. most of the software I know works on pcap traces (dumps of all network traffic)
22:05:31 [alastairp]
not log files
22:05:32 [alastairp]
let me ask
22:07:19 [alastairp]
no, sorry
22:07:23 [ruaok]
http://blog.musicbrainz.org/?p=1539
22:07:29 [ruaok]
reosarevok: can you twat that please?
22:07:34 [alastairp]
also, cryptopan output size is the same as input size
22:07:37 [ruaok]
errr tweet
22:07:52 [alastairp]
have you considered binary logs for uploading? (can splunk handle that?)
22:08:14 [alastairp]
e.g., 32bit IP address, or maximally 120 bits if you write it in ascii
22:09:55 [ruaok]
dunno if it can handle that.
22:10:04 [ruaok]
lets go for ASCII first, then see what else we need to do .
22:10:39 [reosarevok]
ruaok, done
22:10:48 [ruaok]
thx!
22:12:05 [plaintext]
so what should we do for IP addresses?
22:13:44 [ruaok]
leave them as is for now.
22:13:51 [ruaok]
get rid of the extra fields.
22:13:57 [ruaok]
then we'll see where we stand.
22:14:15 [ruaok]
we can hammer out a python binding to that one call in cryptopan if we really need it
22:14:32 [ianmcorvidae]
I'm memoizing and base64'ing now, gonna throw a pull request your way :)
22:15:05 [ianmcorvidae]
https://github.com/ianmcorvidae/musicbrainz-server-log-analysis/commit/20c3159e8de845dd7b41bba542b218dbe2cca1f6
22:15:09 [plaintext]
oh thanks ianmcorvidae
22:15:12 [ianmcorvidae]
(should of course be tested :P)
22:15:26 [plaintext]
Removing the unnecessary fields should give us ~1GB less data
22:18:37 [ruaok]
oh nice. :)
22:19:28 [ruaok]
that should help.
22:20:06 [ianmcorvidae]
28-character hashes and memoization should help with size and cpu-boundedness, respectively :)
22:20:36 [plaintext]
I tried to pull changes but git tells me i'm already up to date
22:21:11 [alastairp]
pull from where?
22:21:12 [ianmcorvidae]
you'll need to add my fork as a remote
22:21:13 [alastairp]
his remote?
22:21:13 [ruaok]
heh: http://www.cracked.com/blog/5-songs-internet-thinks-are-by-wrong-artist/?utm_source=facebook&utm_medium=fanpage&utm_campaign=new+article&wa_ibsrc=fanpage
22:21:15 [alastairp]
your remote?
22:24:37 [ocharles]
urgh, cracked
22:24:40 [ocharles]
i can't stand them
22:25:15 [reosarevok]
"So yeah, in 1997 Cobain was more about decomposing than composing
22:25:15 [reosarevok]
"
22:25:19 [plaintext]
thanks I understand now
22:26:05 [plaintext]
ianmcorvidae: should I push this to the metabrainz repo?
22:26:27 [ianmcorvidae]
you should test it, I don't have any logs to run it on
22:26:33 [ianmcorvidae]
so didn't do anything but write the code
22:26:41 [plaintext]
will do
22:27:29 [plaintext]
I'll run log_sanitizer_test.py and hope it works
22:27:32 [ianmcorvidae]
once you've determined it's correct, consult with ruaok presumably, since the hash format will change
22:28:00 [ianmcorvidae]
oh, heh, there's a test file
22:28:03 [ianmcorvidae]
totally didn't notice that
22:28:09 [ruaok]
I can deploy a new version today.
22:28:49 [ianmcorvidae]
I guess I misnamed the base64 function
22:29:05 [ianmcorvidae]
it's urlsafe_b64encode, not b64encode_urlsafe
22:29:06 [ianmcorvidae]
heh
22:29:24 [plaintext]
oh yeah the test failed
22:30:01 [ianmcorvidae]
pushing out a version with them switched, not that it's not easy to fix
22:30:48 [plaintext]
oops, I already switched them manually :P
22:30:59 [ianmcorvidae]
no worries, just use yours :P
22:32:00 [plaintext]
test ran fine, I printed the output and it looks good too
22:32:28 [plaintext]
could we even strip the trailing '='?
22:32:48 [ianmcorvidae]
if it's appearing on everything then yeah, probably
22:32:50 [plaintext]
it would save around 20MB! hehe
22:32:53 [ianmcorvidae]
hehe
22:33:13 [plaintext]
but since we hash usernames like this too
22:33:38 [plaintext]
though I don't really think an extra '=' could mess something up in splunk
22:34:29 [ianmcorvidae]
it shouldn't matter, but you can just .rstrip('=') in do_hash
22:38:16 [plaintext]
what does the number stand for after the http response code in nginx logs?
22:38:36 [ruaok]
size the page served, iirc
22:38:44 [hawke_1]
ruaok: That cracked article sucked. :-/
22:39:02 [plaintext]
thanks
22:39:21 [hawke_1]
mostly because the only answer for “why?” was “people are idiots, I guess”
22:40:46 [ruaok]
hawke_1: I didn't really read it.
22:55:20 [plaintext]
ruaok: done
22:55:31 [ruaok]
k
22:57:01 [ruaok]
whoops.
22:57:07 [ruaok]
looks like a newline is missing somehwere.
22:57:42 [ruaok]
fixed. ;)
22:58:27 [ruaok]
and ips are no longer sanitized. :(
23:00:31 [plaintext]
oh I forgot to add the sanitized version to the output
23:00:40 [plaintext]
1 sec
23:01:32 [plaintext]
what newline was missing?
23:01:51 [ruaok]
stdout.write needs a newline
23:01:55 [ruaok]
print adds them, write does not
23:01:58 [plaintext]
oh I keep forgetting that
23:03:11 [plaintext]
I pushed the fixed code
23:04:19 [ruaok]
looks better.
23:04:24 [ruaok]
the up= line is still there.
23:04:29 [ruaok]
which isn't terribly interesting for us.
23:05:00 [ruaok]
and yes, those ips are awefully long.
23:05:26 [plaintext]
the up part shouldn't be there
23:05:55 [ruaok]
1344408690.603 bd0470eb26f607274b4c51e120cbbbf192b9a11b "GET /static/images/entity/recording_lg.png HTTP/1.1" 304 252 z=- up=10.1.1.20:80 ms=0.001 ums=0.001 ol=- h=musicbrainz.org
23:06:14 [ruaok]
I must have the wrong version.
23:07:00 [plaintext]
this looks like the old output
23:07:05 [ruaok]
looks great!
23:07:18 [ruaok]
yea, I was stuck on a hash checkout.
23:07:30 [ruaok]
so, that is in place and will run in about 8 hours or so.
23:07:39 [plaintext]
cool
23:07:42 [ruaok]
thanks for doing that so quickly. :)
23:07:48 [plaintext]
:)
23:08:29 [plaintext]
I should submit my stuff on codereview tomorrow
23:08:57 [plaintext]
I wanted to move the js away from the .tt file today again, and it failed again
23:10:59 [plaintext]
Created a new script at root/static/scripts, then I added the scripts location to the manifest
23:11:33 [plaintext]
When I reloaded the page I had js errors with flot, somehow it said $ doesn't have a plot method
23:13:00 [ruaok]
that sounds like the needed js isnt getting loaded.
23:13:11 [ruaok]
$ not plot method sounds like jquery isn;t being loaded.
23:13:32 [plaintext]
weird. jquery should be loaded for all pages by default, right?
23:13:44 [ruaok]
it should.
23:13:55 [ruaok]
are you using chrome or firefox?
23:14:05 [plaintext]
chrome
23:14:09 [ruaok]
perfect.
23:14:24 [ruaok]
open the developer tools.
23:14:35 [ruaok]
from the view menu -- at least on os x.
23:14:44 [ruaok]
see if there are any errors after the page loads.
23:14:57 [plaintext]
I usually open up the javascript console and look there
23:15:09 [plaintext]
right now I changed stuff back and I have no errors
23:15:16 [plaintext]
I should move the script away again, I guess
23:16:45 [demosdemon]
ianmcorvidae: caa stuff still not on rika?
23:17:26 [plaintext]
huh weird! I added a script just containing "alert(1)", added the path to the manifest, and I already get the error
23:17:49 [plaintext]
https://gist.github.com/6ba3194109075e1ae03e
23:19:53 [ianmcorvidae]
demosdemon: no, but after the next release they should be, since the ticket to dump them is finally there
23:20:01 [demosdemon]
ah, k
23:20:02 [ianmcorvidae]
demosdemon: however, the schema and such should be there, just empty
23:20:14 [demosdemon]
http://ianmcorvidae.mbsandbox.org/user/reosarevok/votes
23:20:36 [demosdemon]
I'm trying to find an autoeditor with approves, but everyone has caa edits
23:20:37 [demosdemon]
heh
23:20:53 [ruaok]
ianmcorvidae: any idea of the trouble plaintext is having?
23:21:36 [plaintext]
This is probably a stupid idea, but could a CR/LF at the end of the line mess things up?
23:21:58 [ruaok]
it would've in the 80s. :)
23:22:06 [ruaok]
but it shouldnt today. :)
23:22:13 [plaintext]
hehe okay :)
23:22:34 [ianmcorvidae]
hm, no idea
23:22:58 [demosdemon]
oh, lookie there… a patch I submitted back in april was never fully merged
23:23:17 [reosarevok]
demosdemon: http://ianmcorvidae.mbsandbox.org/user/Senax/votes?page=3
23:29:43 [ijabz]
ijabz has joined #musicbrainz-devel