#metabrainz

/

      • Leftmost
        The developers manually fetch translations from Transifex before making a release.
      • beqn_ has quit
      • LordSputnik
        Leftmost: but dimensions aren't strings :(
      • bitmap very much likes the idea of an automated, weekly pull request for mbserver, though
      • opatel99
      • alastairp has quit
      • Tecfan_ has quit
      • All those changes in the .pot file has me worried I did something wrong.
      • kepstin
        opatel99: it's mostly just line number changes, other than the new stuff you added. That's normal
      • looks like someone added a new string before you but forgot to regenerate the pot file :)
      • For "Key"
      • opatel99
        Oh so that shifted everything...
      • kepstin
        nah, the line number shifts are just do to various other changes since the last time the file was regenerated. Don't worry about them
      • Leftmost
        LordSputnik, they're not integers either. They're complex data types that libraries store in a semi-standardized format.
      • LordSputnik
        Which libraries and what standard?
      • Leftmost
        The standard I know about is apparently from the Anglo-American Cataloguing Rules, Second Edition used in the US, Canada and UK, superseded in 2010 by a similar format from the Resource Description and Access standard, which is in use in the US. (Not sure about elsewhere.)
      • kepstin should go to his library and check out a copy of this book ;)
      • LordSputnik
        OK, but surely storing as a string opens up all kinds of problems?
      • And takes up more space
      • kepstin
        it would be nice to have machine-readable dimensions; would it be possible to parse/generate the format in question, or is it too variable?
      • LordSputnik
        And is harder for sorting
      • Leftmost
        I'm not suggesting we make full use of that format, just that we allow leeway in how things are entered. For one thing, the semantics of our storage is unclear. We don't specify units or a standard means for determining number of pages, which both AACR2 and RDA do.
      • LordSputnik
        We specify units
      • mm for the dimensions and g for the weight
      • kepstin
        and no matter our storage units, someone should be able to select display units
      • Leftmost
        Okay. Well, libraries typically measure books in cm but sometimes in mm.
      • LordSputnik
        Unless we get a ton of complaints I don't really want to change storing whole numbers as integers :P
      • Leftmost
        Pagination is also something libraries care about.
      • That'd be a separate field anyhow, I guess.
      • I'm temporarily convinced while I do more research. :-P
      • kepstin suspects that most librarians don't go measuring books with micrometers, so mm is probably sufficient resolution... but it wouldn't hurt to have a little more precision just in case ;)
      • chirlu`
        The Book (disambiguation: 234.56 mm width edition)
      • LordSputnik
        At greater precisions than mm, the width of the book depends on the amount of pressure you apply :P
      • Leftmost: so I'm thinking about OAuth with MB
      • Do we want to get back the user's username or email address for performing lookups in our own editor table?
      • (or both?)
      • I guess an ID would be better
      • kepstin
        might be nice to have enough precision to store reasonable representations of up to maybe 1/16 inch in mm, which you could probably do with an extra 2 decimal places or so.
      • Leftmost
        For now, I suggest we stick with what we have until MB actually has an SSO plan.
      • LordSputnik
        Leftmost: We do have one in the short term
      • Gentlecat is doing the same thing for CB
      • (afaik)
      • Gentlecat
        what am I doing? :)
      • LordSputnik
        Gentlecat: the OAuth stuff we were talking about the other day, when you were asking about whether we decided upon anything at the summit
      • Leftmost
        We've got a _lot_ of churn in our code right now and I'd like to hit the target I'm looking at (integrating the reworked schema and data package into -site and -ws) and move it after.
      • Gentlecat
        I don't remember how email address is returned from oauth endpoint
      • if it's always verified or not, etc.
      • zas
        opatel99: don't bother with potfile in Picard, make your PR marking strings to be translated as usual. I'll regenerate and commit the potfile at some point, it will be retrieved by transifex few hours later and strings to be translated will be available for translation
      • LordSputnik
        Leftmost: OK, good point, let's leave users alone for now
      • Gentlecat
        besides, there's an issue of keeping everything in sync, which is annoying
      • opatel99
        zas: Oops... Too late for the current, but will keep that in mind for next time
      • Leftmost
        On the plus side, I'm pretty satisfied with the schema diagram we have right now and I think we're in a position to do a soft freeze on it once we get it implemented, if that sounds reasonable.
      • zas
        I will also resync translations in Picard sources, before a release or on regular basis if, as usual, we don't release often enough.
      • LordSputnik
        Leftmost: I'm going to change password to a CHAR(64)
      • opatel99
        So no need to worry about it in the future. zas
      • Tecfan_ joined the channel
      • LordSputnik
        Leftmost: Oh, no, CHAR(60) :P
      • Leftmost
        Oh, good call.
      • LordSputnik
        Haha, I don't know how editions got a gender ID :P
      • zas
        Yes. Pot file update has to be done in master branch rather than in pull requests. Else we'll get unneeded conflicts.
      • opatel99
        Should I delete the branch and resubmit, or is that ok?
      • chirlu`
        Gentlecat: MB doesn’t even store unverified addresses. :)
      • beqn_ joined the channel
      • D4RK-PH0ENiX has quit
      • alastairp joined the channel
      • Gentlecat
        well, shows how much I know about it :)
      • opatel99
        zas:
      • opatel99 has quit
      • zas
        opatel99: in your string it is preferable when possible to keep the same accel key here I would keep the & before the P
      • Leftmost
        LordSputnik, can we do away with using Handlebars templates stored in the database somehow?
      • LordSputnik
        Leftmost: Whats the matter with that?
      • zas
        And you can just drop the Picard.pot changes
      • LordSputnik
        We need some way of templating the relationship string, and Handlebars is pretty lightweight
      • Leftmost
        Fair enough. It just seems... dirty to me.
      • LordSputnik
        If we stored something like "_s_ authored _t_" instead, it's just a different templating format
      • zas
        I guess we can start to think about a Picard release after the GCI
      • LordSputnik
        Leftmost: At least with the new schema the handlebars parameters become much cleaner
      • Bookzombie
        anniezhou301 closed pull request "Login and Register pages converted into react.js" without merge (https://github.com/bookbrainz/bookbrainz-site/p...)
      • LordSputnik pushed 1 commits to bookbrainz-sql: https://github.com/bookbrainz/bookbrainz-sql/co...
      • LordSputnik
        Leftmost: should we shut down Bookzombie?
      • Leo_Verto: ^ same question
      • Leo_Verto
        D:
      • Because it's too spammy?
      • Leftmost
        Maybe we need a #metabrainz-botspam channel.
      • chirlu` finds a mistake in the business-relations blog post.
      • LordSputnik
        Leo_Verto: partly, yeah, but also because we could just use gitter to notify each other about commits
      • chirlu`
        “hopefully Christina will allows us” -s
      • LordSputnik
        darwin: you might have an opinion on this: Is there any advantage to using NULL to represent an empty string in a TEXT field in postgres to just storing an empty string?
      • Leo_Verto
        Um
      • D4RK-PH0ENiX joined the channel
      • Am I using Gitter wrong? There's only Freso and me in the metabrainz channel and the only message is from me and 2 months old
      • chirlu`
        LordSputnik: Semantically, NULL means “unknown value”.
      • Empty string means “known empty”.
      • Leo_Verto
        Also I thought keeping all communication transparent and in one place was one of the recent goals
      • LordSputnik
        chirlu`: I know that
      • chirlu`
        E.g. in MB, barcode = NULL means we don’t know, barcode = "" means someone ticked the “this release has no barcode” checkbox.
      • LordSputnik: Well, then, the answer is “Yes, it is advantageous if the value is unknown rather than empty”.
      • LordSputnik
        Leo_Verto: true, but bot notifications aren't necessarily communication we want to keep around
      • chirlu`: I'm asking from a storage/performance point of view
      • I'd guess that NULL is faster because it is stored in-table, while TEXT is stored externally, right?
      • chirlu` is answering from a “Premature optimization is the root of all evil” point of view.
      • chirlu`: you're right, that's probably a better point of view
      • Leo_Verto
        Mhm, we could work around this by either having Bookzombie prefix messages with [off] or BrainzBot ignoring all it's messages, but I can see your point
      • Bookzombie
        leftmostcat pushed 1 commits to bookbrainz-sql: https://github.com/bookbrainz/bookbrainz-sql/co...
      • Leftmost
        LordSputnik, ^ look okay to you?
      • Leo_Verto
        Either way, I say !m must stay!
      • LordSputnik
        Leftmost: Just a sec, also - do you think we need to differentiate between "unknown bio" and "empty bio"? If not, I'll make bio NOT NULL
      • Leftmost
        My stance is that commit bots and build bots are useful, but in a high-traffic channel can interfere with discussions (particularly for users new to IRC, which may be relevant during GCI.
      • LordSputnik
        Leo_Verto: !m is BrainzBot though!
      • Leftmost
        Is bio not already NOT NULL?
      • LordSputnik
        Nope
      • I'm going through checking NULLs atm
      • Leftmost
        Oh, wait. Why should it be NOT NULL?
      • Leo_Verto
        Oh, I guess that's solved then :P
      • LordSputnik
        Leftmost: because I don't think there's a need to distinguish between "unknown bio" and "empty bio"
      • Leftmost
        Sure, but why store "empty" at all, in that case?
      • LordSputnik
        Leftmost: well, we have to have the field, unless we have a editor_bio table
      • (it's currently at editor.bio)
      • Leftmost
        I'm just very confused as to why we'd want to store '' instead of NULL, rather than the other way around.
      • LordSputnik
        Leftmost: because NULL is meaningless here :P
      • Leftmost
        I'd argue that '' is meaningless here. :-P
      • LordSputnik
        If the editor fills out their bio, it's a non-empty string. If the editor deletes the filled out bio, it's an empty string (''). If the editor leaves it blank, it's NULL. I don't think we need to distinguish between the latter two
      • darwin
        LordSputnik: I don't know the answer in postgres, in mysql it barely matters.
      • Leftmost
        I dunno. It just seems an odd way to store it. To me, NOT NULL hints that we really want something in that field, but I dunno. I agree we don't need to distinguish, but I'd vote for instead: unset = NULL, set = 'blah', deleted = NULL.
      • If that sounds wrong to you, go ahead and go NOT NULL.
      • darwin
        in my world, things which always should be set are NOT NULL
      • things which may not always be set may be NULLable, especially if NULL has a different meaning from "0" or "empty string"
      • but NULL complicates queries and does not generally save space on disk...
      • Leftmost
        Yeah, I tend to see NOT NULL as indicating things should always be set.
      • chirlu`
        You should also consider that the ternary logic is often unintuitive and will lead to bugs. E.g., most people would think that WHERE editor.bio LIKE '%foo%' OR NOT (editor.bio LIKE '%foo%') is going to match every row.
      • Techtronix joined the channel
      • darwin
        chirlu`: ("NULL complicates queries")
      • Leftmost
        chirlu`, in the instance where it's NULLable?
      • chirlu`
        Yes.
      • Leftmost
        Fair enough.
      • chirlu`
        Example for a bug that bit MB: https://musicbrainz.org/edit/29424653
      • The name changed from '' meaning no name to NULL meaning no name.
      • Bookzombie
        LordSputnik pushed 1 commits to bookbrainz-sql: https://github.com/bookbrainz/bookbrainz-sql/co...
      • djpretzel has quit
      • LordSputnik
        Leftmost: I'm wondering if we can choose a better field name than "is_primary"/"primary" for that alis field
      • Leftmost
        is_primary_for_locale? :-P
      • opatel99 joined the channel
      • chirlu`
        MB: primary_for_locale