<tvon> :-)
<tvon> anyways.....
<tvon> you have any thoughts on the SMDP?
<bkeil> ugh...
<tvon> heh
<bkeil> You want me to think?
<tvon> you dont _have_ to
<bkeil> I'll try.
<bkeil> Lessee
<bkeil> ...
<tvon> btw, I am trying to enlist someone new
<tvon> who has 18 years exp doing db design
<bkeil> offering them a signing bonus?
<tvon> yeah, told em I would give them "mad props"
<tvon> I put up a "project help needed" thing at SourceForge...and he replied
<bkeil> Alright! That'll bring'em in for sure.
<tvon> theyll be breaking down the doors in no time
<bkeil> I can see someone out on the street... "Will work for `mad props'"
<tvon> I did mention this project on a local LUG, and a guy replied saying he would love to work for my company
<bkeil> So my first thought about SMDP is:
<bkeil> I'm still not convinced that we need an album song table.
<bkeil> My second though is: I'd like to wee a "guest artist" table.
<bkeil> Or, see it, too.
<tvon> how do you want to handle albums?
<tvon> just list it in the song table?
<bkeil> I think so...
<tvon> add an album field I mean
<tvon> hmm....
<tvon> I suppose you could figure out the album genre (which isnt _that_ importnt anyways) by averaging out the song genres
<bkeil> It seems to me that most people want their filesystem to also....
<bkeil> ...include some sense of the structure of the collection
<tvon> how do you mean?
<bkeil> For example:
<bkeil> My mp3s are all in /opt/mp3
<bkeil> under the directory of album artist/album
<bkeil> and then the filename is
<tvon> yeah
<bkeil> album artist - album - track title (song artist).mp3
<bkeil> So... really, unless I set up symlinks
<bkeil> ...
<bkeil> ...The same song on two albums is going to appear on my hard drive twice or more.
<tvon> yeah....
<bkeil> Which doesn't seem like a horrible problem because I've got nine GBs dedicated to /opt/mp3, and I can easily add more.
<tvon> oh...yeah
<tvon> Im not really worried about dupes......
<tvon> not anymore anyways
<tvon> Im not sure how you relate dupes to the album table (?)
<bkeil> So my real feeling is that everything we need to know about albums can be geamed from the song table, with the exceptions of:
<tvon> ah
<bkeil> 1. Album artist (different sometimes for song artist)
<bkeil> 2. Album release date (irrellevant for songs)
<tvon> ah crap....do you have a IRC logger? (btw)
<bkeil> Nope... sorry... Lemme check if debian has one "ready to go"
<bkeil> ...no... doesn't seem to be one packaged...
<tvon> dont think so....I apt-cache searched for irc | grep log and didnt find anything
<bkeil> Hold on... I just found eggdrop.
<tvon> Felix has one but he is MIA
<bkeil> It might be able to log...
<tvon> and I am rarely on IRC
<tvon> ah..think I have it
<tvon> excellent....I got it
<tvon> logging like a pro
<bkeil> Are you going to set it up, or should I work on setting it up?
<tvon> I got it
<bkeil> Oh....!
<bkeil> I need to go AFK for a sec...
<tvon> "/set log on" worked (random shot in the dark)
<tvon> aight
<tvon> ...now to figure out how to convert this stuff to html....
<bkeil> Your client is logging?
<tvon> ah crap...it logs _everything_....my help commands too....
<tvon> oh well...
<tvon> yeah, tis logging....will figure out a way to convert it to html later
<bkeil> OK... to review:
<bkeil> So my real feeling is that everything we need to know about albums can be geamed from the song table, with the exceptions of:
<bkeil> 1. Album artist (different sometimes for song artist)
<bkeil> 2. Album release date (irrellevant for songs)
<tvon> ok......
<bkeil> 3. Album-specific genres (like Soundtrack)
<tvon> a few thigns:
<bkeil> 4. The overall prefence of tha Album.
<tvon> yah...
<tvon> cover image
<bkeil> OK... cool.
<bkeil> 5. Cover image :)
<tvon> dont you think thats enough stuff to warrent a album table?
<bkeil> Oh yes....
<tvon> ah, ok
<tvon> :-)
<bkeil> I'm in favor of an album table.
<tvon> oh, ok
<bkeil> I'm against an album-song relation table.
<tvon> oh....hmm...
<bkeil> With the exception that that table _is_ the song table.
<tvon> so....what woudl the album-song table be?
<tvon> song_id/album_id ?
<bkeil> Yeah... whatever's been being discussed on the mailing list...
<bkeil> That's what I though Xavier was suggesting.
<tvon> oh....mmm...hold on...lemme pop up his mail
<tvon> OH...ok....my head was elsewhere...
<tvon> (tis tough to keep track of all this stuff :-))
<bkeil> That;s certainly unfortunate.
<bkeil> ...about your head, that is.
<tvon> heh
<tvon> that relates to track numbers.......
<tvon> which was the entire prupose of the table I think....which seems like overkill..
<bkeil> Should that database contain the (cover) image itself, or a URI pointing to the image?
<tvon> not sure about that one...
<bkeil> me neither.... I don't have a strong opinion.
<tvon> if it was just the URI, it could link to a seperate server....
<tvon> (in some random fantasy situation)
<bkeil> It could get the images off of CDNOW.COM, for example.
<tvon> Id say the URI
<tvon> yeah..
<bkeil> Cool
<tvon> as for the song-artist table...I see why you dont want it....
<tvon> I think its entire purpose was the tracknum......
<bkeil> I had a lot of trouble understanding exactly what the situation was.
<tvon> I often do...
<bkeil> Maybe I should learn French, so that he could explain it to me a little better.
<tvon> on a related subject...I am working on a thorough "project status" page to keep things in order
<tvon> yeah, slight language barrier there
<bkeil> When I learned German, everything I knew about Frenchh got pushed out of my head.
<tvon> gads...I took german a while back.....and spanish a few years after...
<bkeil> Now I'm studying Swahili, I hope the same doesn't happen.
<tvon> I would starve to death if I was dropped intot he middle of germany or spain though
<bkeil> Germans mostly speak pretty decent English, though... They have to study a minimum 5 years of it.
<tvon> no kidding?
<tvon> go germany
<bkeil> No.... I think if you go to a Hauptschule you get away with just four years of English.
<tvon> do you remember why the tracknum was such an issue?
<bkeil> Five years in a Realschule, and six or more in a Gymnasium.
<tvon> if you want to get all the tracks on an album...you can query the song table........sort by albumid and all.....
<bkeil> No.... I don't remember.
<tvon> if you wnat to know which albums a song is on.....do the same....oh....wait
<bkeil> As long as we keep a track_num field in the song table, I think we should be covered.
<tvon> how would you figure out which albums a song is on? would have to compare the actual names.....
<bkeil> Yeah... I wrote about that...
<bkeil> I had a few ideas:
<tvon> shoot
<bkeil> 1. Compare just by names : bad.... Too many songs named "Drive," for example.
<tvon> yeah
<bkeil> 2. Compare by name and artist, or
<bkeil> 3. Compare by name, artist, and playlength
<tvon> now, what if you have 5,000....or 10,000+ songs...
<tvon> wouldnt that be slow?
<bkeil> With 2, you should get all the songs by an artist with the same name, which might be differnt cuts...
<bkeil> ...with three, you should only get the same cut of the song, but you might miss on or two because the times
<bkeil> are slightly different.
<bkeil> It shouldn't be too slow.
<tvon> yeah, times may vary when ripping from different cd's...even if same song
<bkeil> I didn't write mysql, but I imagine that it would first filter out all the songs that match one critereon
<tvon> see...I am no DB expert, as you know......so I just worry about making things fast.....
<tvon> if it wont be slow then screw it, we dont need the song-album table at all
<bkeil> like the srtist_id first, then check the song titles /
<bkeil> whatever.
<tvon> ah, yeah, that would speed things up
<bkeil> It's the kind of thing that a DB is supposed to be good at.
<tvon> alright, than as far as Im concerned the table goes
<tvon> now....what else was there?
<bkeil> Um.... I dunno.... I think I'm idead out.
<tvon> you mentioned two things right?
<tvon> heh, ok
<bkeil> Ok....
<tvon> oh, did you get a chance to read over my genre thing? on the list
<bkeil> Oh yeah.... the "guest artist" table.
<tvon> ah, yes
<bkeil> That was the other thing/
<bkeil> So, I propose that we have a table with:
<bkeil> song_id artist_id
<bkeil> And in this table would be all the artist involved in the song, who were NOT credited with either the
<bkeil> album or the song.
<bkeil> Let me think about this some more.
<tvon> sounds pretty good
<tvon> what if no artist is the _main_ artist....though no examples come up....
<bkeil> For example, the Supernatural album, by Santana. Carlos Santana is the album artist.
<tvon> yeah..
<bkeil> Then, are the other people "guest artists", or "song artists"?
<bkeil> I guess I'd like them to be guest artists.
<bkeil> I'm conflicted, though.
<tvon> yeah, I agree....with the confliction....
<tvon> guest artist would be better in alot of ways....but I dont want to leave a scenario out
<bkeil> But it seems that making the guest artists is perhaps cleanest.
<tvon> yeah
<tvon> I just dont want to leave a situation where people will have to come up with thier own conventions....
<bkeil> But ultimately, that should be the end user's decision. How easy to we want it to be for them to choose the opposite from us?
<tvon> like the problem with id3v1
<tvon> heh
<tvon>* bkeil shrugs.
<tvon> nod nod
<tvon> will make it guest artist for now.....see what others think.....
<fkr> hi
<tvon> Felix!
<tvon> hows it going?
*** Mode change "+oo tvon bkeil" on channel #smdp by fkr*** Mode change "+oo tvon bkeil" on channel #smdp by fkr
<fkr> good...
<bkeil> Wee!
<fkr> am I late?
<fkr> ahoi ben!
<tvon> did I get the GMT time wrong?
<tvon> I think your late....
<tvon> :-)
<bkeil> I don't think so.... I think EST is 5 hours behind GMT.
<fkr> it's now eight o'clock gmt isn't it?
<bkeil> Does GMT include daylight savings time?
<tvon> 8pm GMT....2pm EST....
<tvon> thinkits 9
<fkr> crap
<fkr> I'm sorry :(
<tvon> oh..dunno
<tvon>* fkr owes you guys a beer
<fkr>
<tvon> heh
<tvon> you can ship me a Guinness
<bkeil> What time is it in Germany....?
<fkr> I've a log-file on the channel...so I'll read later what happened.
<fkr> it's 9 here
<tvon> ah, cool...
<bkeil> Should be okay, then.... I just came early.
<tvon> can you convert the log to html as well? Im logging but it also logged all my help commands
<fkr> yup, I can
<fkr>Pub: #smdp @bkeil @tvon @fkr
*** #smdp : End of /NAMES list.*** #smdp : End of /NAMES list.
<tvon> cool...
<fkr> did anyone else showed up yet?
<tvon> nah
<bkeil> Nope, not yet.
<bkeil> AFK BRB.
<tvon> nod
<fkr> oki
<fkr> tvon, I want to introduce a module 'patches' to the cvs-tree
<tvon> we decided that the artist-album table Xav was talking about should prob go....
<fkr> it would hold all patches we do for other applications
<tvon> ah, good idea
<bkeil> rehi
<fkr> you're fast :)
<fkr> Playing MPEG stream from Crematory - Temple Of Love.mp3 ...
<fkr> :))
<bkeil> I had to pop a frozen burrito in the microwave,
<fkr> mmmh.../me is hungry
<tvon> mmmmm....frozen burrito...
<tvon> lol
<fkr> so the table goes?
<bkeil> I live on the things.
<fkr> I mean the "we-need-to-find-good-name"-table
<fkr> ?
<bkeil> Oohh.... It was the album song track_num table.
<tvon> yeah...I think so
<tvon> yeah ben
<fkr> yeah
<fkr> it goes out?
<tvon> we can get the information from the song table...so it is not needed
<fkr> so, there is a track_num field in song then?
<bkeil> Yeah... I think there should be.
<fkr> ok. makes one less table.
<tvon> and....we were just talking about guest artists....
<tvon> ho, felix, Im sorry for calling you a twerp
<fkr> twerp?
<tvon> youll see
<tvon> :-
<tvon> )
<fkr> no...not on musicbrainz?
<bkeil> 3:-= Moo!
<tvon> in the log.... :-)....
<tvon> anyways....
<bkeil> There's no track_num in musicbrainz... is that what you were saying?
<fkr> sorry, we should stay on topic
<fkr> ben, no forget it :)
<tvon> I reverted us to chaos there for a second.......what about the guest artist table?
<fkr> correctz
<fkr>* bkeil is confused, but will let it go, anyway.
<tvon> guest artist table::
<tvon> album_id aritst_id
<tvon> holds:
<tvon> only artists who are _not_ listed as main artist for the alum _and_ _not_ listed as main artist for the song
<tvon> problem:
<tvon> what if neither artist is the main artist? (equal guests)
<bkeil> Like duets and such?
<tvon> not sure about this one...
<fkr> ben, ack.
<tvon> yeah..
<fkr> example:
<tvon> like bing crosby and.....someone else
<tvon> doing christmas carols
<fkr> both are main-artists then
<tvon> (afk, getting coke)
<bkeil> Perhaps we should have a Crosby, Steels, Nash, and Young field: four bit integer:
<bkeil> If any of those four artists are involved, we set their bit. :)
<fkr> ben...don't get that one, what do you mean?
<fkr> hehe
<fkr> *giggle*
<tvon> both cant be main artist because song talbe only allows one aritst id per song
<fkr> tvon, true.
<tvon> and I think listing a song twice is overkill....
<bkeil> Maybe "additional artist" and not "guest artist"
<fkr> +1
<tvon> true....
<fkr> that would do.
<tvon> and just pick a random one for the main listing?
<fkr> and if it's a duett, the more famous one is main artist :)
<tvon> not quite as clean as I would like....but it works
<tvon> yes, def sort by fame
<bkeil> There would be context maybe....
<tvon> :-)
<tvon> could supply a rating field? maybe..
<tvon> 1 = also main...2= support 3= in the band 4= slept with the signer
<bkeil> In a collection of Frank Sinatra's duets, he'd be the main artist, but if he appeared on a U2 album, he'd be "additional."?
<fkr> *lol*
<bkeil> That's a possibility.
<tvon> def need to keep track of the artists sexual habits
<bkeil> Does mysql support enums? That be nicer.
<fkr> ben, ack.
<tvon> yeah on the last one ben
<tvon> hold up..
<fkr> we won't support mysql < 3.23.x anyways
<tvon> what does ack mean?
<fkr> acknowledged.
<bkeil> You keep acking at me, Felix?
<tvon> I always took it as a bill the cat thing...
<tvon> OH...ok
<tvon> :-)
<tvon> clears a few things up in the back of my head
<fkr> it comes from a tcp-session
<fkr> ACK
<fkr> FIN
<fkr> etc.
<tvon> OH...
<tvon> ok
<tvon> excellnet
<bkeil> Bill the cat! Yeah!
<fkr> anyhow, it means: I agree
<bkeil> I see...
<fkr> it does support enum.
<fkr> so does postgresql
<bkeil> That's seems like a good choice then.
<tvon> http://www.etria.org/bloom/
<tvon> my bloom county collection
<fkr> http://www.mysql.com/doc/E/N/ENUM.html
<tvon> enum works
<tvon> does perl/php/java support enum?
<bkeil> We could make it very specific, like:
<tvon> or something comparable?
<fkr> tvon, if not there is always work-arounds for such things.
<bkeil> Saxophone, Guitar, Backing vocals, etc...
<tvon> fkr, ok
<bkeil> Java has static constants...
<tvon> cuz I plan on using eunms alot inthe API
<tvon> for functions to do a bunch of diff related stuff...
<fkr> tvon, as long as the api looks the same to the app-developer it doesn't matter how it's solved internally
<tvon> cool
<bkeil> Yeah abstraction!
<tvon> just wanted to make sure it could look the same
<fkr> exactly.
<fkr> tvon, pretty much that's possible
<fkr> tvon except for conventions on names for functions/methods etc.
<tvon> like: smdp_insert(SONG, "song_name") or smdp_insert(ARTIST, "artist_name")....etc
<fkr> they differ a lot between the languages.
<tvon> yeah....
<fkr> tvon, exactly.
<tvon> itll work out
<bkeil> OT: That might have been the downfall of the Dreamcast.... They didn't abstract the network layer. Game writers had to support dialup and ethernet connections separately.
<fkr> let's keep on track with the additional artist thing
<tvon> ew
<fkr> ben, hehe
<tvon> silly Sega
<tvon> oh yeah...
<tvon> so, enum type maybe? waddaya think?
<bkeil> Nothing release in America will support the broadband adapter. :(
<bkeil> I'm for it...
<tvon> k, how extensive shoudl ti be?
<tvon> s/shoudl/should s/ti/it
<tvon> fo course
<tvon> @#$LKJ@#L:
<tvon> sorry
<bkeil> ROTFL
<tvon> (just happy I can bring joy to others)
<tvon>* bkeil catches his breath.
<fkr> tvon, the most obvious "artist-connections" we can think of?
<tvon>
<tvon> Id say so
<bkeil> Guitar, Saxophone is probbly overkill.... If we have a comment field, though, it could go there.
<tvon> dunno...may be nice to know exactly what the person did
<bkeil> song_id artist_id type comment
<bkeil>* fkr can't say much on this, since he hardly has CD's with "guest-artists" and such
<tvon> just come up with a bunch of insturments....and add a "other" type
<fkr> ben, looks good.
<tvon> ah yes...
<bkeil> tvon, we could also do it that way...
<tvon> so, the comment would make it something like main, guest, insturment
<fkr> tom, ?
<tvon> eh?
<tvon> that was the end of my sentance
<bkeil> I was think the type could be main, guest, slept_with_singer, and the comment could be "saxophone."
<tvon> ah, of course
<fkr> ok, got it :)
<tvon> then we could link the dirty_sex_id to the other artists so everyone could know how Paula Abdul became so popular
<bkeil> Ouch.
<tvon> "OH, she slept with keith richards...ok, NOW I understand"
<tvon> :-)
<fkr> hehe
<bkeil> Keith Richards is a modern day miracle. How is he still alive?
<fkr> I'll add this table to the core-set then.
<tvon> he died 20 years ago.....
<tvon> modern andriond Id say
<bkeil> Oh....
<tvon> its the Illuminati
<bkeil> I see.
<tvon> um...anyways
<fkr> should it be called "additional_artist" ?
<fkr>* bkeil *ahem*.
<tvon> so cool...got guest artist table done...er, yah...additional artist
<tvon>* tvon test
<tvon> k
<tvon> so....what else comes to mind?
<tvon> you up for a little more ben?
<bkeil> Well.... those were my two big issues.
<fkr> what was the second one?
<tvon> that and the removal of the artist_album table
<fkr> ok.
<bkeil> So we should discuss genres.
<tvon> ah yes...
<fkr> hehe
<tvon> genre actually is a sub-set of aother idea
<fkr>
<tvon> as expressed on the musicbrainz list.......
<tvon> and it gets crazy
<tvon> but.....lemem give it a shot...
<fkr> ben, shall i forward you the mails from the musicbrainz-list?
<fkr> (where this is explained)
<bkeil> How many are there?
<fkr> 4
<bkeil> Sure.
<fkr> which mail-address?
<bkeil> bkeil@veganpub.com
<tvon> ok, I wont try to explain it
<tvon> its messy
<bkeil> I see.
<tvon> but I think it could be great
<tvon> the genre idea alone...Ill delve into that so we can discuss it...
<tvon> oh, did you see my mail on the list ben?
<bkeil> Um... I think so.
<tvon> you know what Im talking about?
<bkeil> That idea that something could be 75% country and 50% rock'n'roll
<fkr> ben, in a minute you'll have em
<bkeil> ?
<tvon> ah, yes
<bkeil> fkr, thanks.
<tvon> what did/do you think?
<bkeil> Yeah.... it seems pretty good.
<tvon> cool....
<fkr> tom, *now* you're glad :)
<fkr> hehe
<fkr>* tvon grins
<tvon> yes, I am
<tvon> so, felix.....do you want to skip a step and think about implementing it the way you described ont he musicbrainz list?
<fkr> tom, what do you say to that idea?
<tvon> (which was, btw, much simpler than I imagined)
<bkeil> It seems to me, though, that we should have an "older stlye" genre setting to fall back on.
<tvon> of the global relationships?
<tvon> yeah, def a old skool genre setup as well....
<fkr> definitly.
<fkr> it's just an addition...but tom will explain :)
<fkr>* fkr is shortyl afk
<tvon> felix, to what idea? on the musicbrainz list?
<tvon> ok ben, the global relations thing....
<bkeil> Yeah?
<tvon> instead of just the genre setup....you could have relations for everyhitng....so for artists:
<tvon> beastie boys = 60% = run dmc
<bkeil> I'm not sure I understand....
<tvon> or albums.........and the genre idea turns out to fall into that idea
<tvon> so beatie boys are similar to run dmc by 60%.....
<tvon> mmm....
<tvon> could relate genres to eachother as well....
<tvon> hip-hop = 70% = rap
<tvon> since they are fairly similar to eachother....
<bkeil> 80%, 85%... :)
<tvon> yeah...my percentages are educated guesses :-)
<tvon> but, you know what I mean?
<bkeil> Yessir./
<tvon> the guy that explained it wrote a big ol email about it....
<tvon> waddaya think?
<bkeil> As long as I'm not the person developing it.... :) I say, sure.
<tvon> the API woudl have to do some work to help it be properly and well implemented...
<tvon> lol...yeah
<tvon> I almost agree...but I am the person.....
<fkr> re
<fkr>* bkeil yawns.
<bkeil> I'm so bad about sleep these days.
<fkr> hehe
<fkr>
<tvon> oh god...I dont knwo what time or day it is
<bkeil> I just built a new machine....
<tvon> ah, cool
<bkeil> 1200 MHz Thunderbird w/ 512MB PC 133 RAM
<tvon> excellent....
<tvon> I need a new box
<tvon> about the relationship table.....
<tvon> it would be...::
<bkeil> Ok:
<tvon> object_1, object_2, relation, type
<tvon> I think
<bkeil> What kind of thing is object_1?
<tvon> anything...artist, song, genre...
<tvon> would play out like::
<tvon> beastie boys | run dmc | 60% | artist
<tvon> with artist_id instead of the name of course
<bkeil> Hmm....
<tvon> \msg fkr ah...racing fans eh?
<fkr> hehe
<bkeil> Oopps tvon.
<tvon> so, for genre.....
<tvon> or the idea I had...
<tvon> :
<tvon> beastie boys | hip-hop | 50% | genre-aritst
<tvon> or something....
<bkeil> beastie boys | run dmc | 60% | artist-artist
<tvon> \msg fkr ah..cool
<tvon> heh
<tvon> that was bound to happen
<bkeil> tvon.... try the forward slash... :)
<tvon> details details..
<tvon> yeah on the last one ben
<tvon> exactly
<tvon> and use enum types for the type field
<bkeil> Perhaps even more general
<tvon> how so?
<bkeil> obj1 type1 obj2 type2 relation
<tvon> example?
<bkeil> beastie boys | artist | run dmc | artist | 60%
<tvon> ah
<bkeil> beastie boys | artist | hip-hop | genre | 50%
<tvon> mm...seems like it would be an extra step in the API to me.....
<tvon> cuz we would have to get both type fields, and figure out how they were supposed to relate....
<bkeil> The API could have whatever construct it wanted....
<tvon> the other way, the intended relation would be listed....
<bkeil> Oh... I see what you meen....
<bkeil> Extra step in the library.... more than in the API...
<tvon> I swap API/library all the time...
<tvon> treat both as the same.....
<bkeil> noted.
<tvon> so....first way?
<tvon> hey felix...where did you go?
<fkr> I'm here :)
<tvon> ah.....what do you think?
<bkeil> Seems ok to me...
<fkr> ack.
<fkr> makes sense.
<tvon> excellent...the [object object relation type] or [object type object type relation] ?
<tvon> ok...first one then...
<fkr> mmm....the second one leaves more options
<fkr>* fkr would go with the second one.
<tvon> ah...
<fkr> a bit more complex, but way more powerful
<tvon> cant we just represent all the type1/type2 setups with a enum?
<tvon> they would have to be enum types anyways...why not just one?
<tvon>* fkr hardly worked with enums
<fkr> dunno.
<bkeil> Alternatively, we could have an int for the relation
<tvon> heh
<bkeil> what's the default int size on mysql and postgres?
<tvon> bkeil, what do you mean?
<bkeil> the int could be a bitfield
<tvon> ben..
<bkeil> ?
<fkr> tvon, he wants to save space.
<tvon> oh..ok
<bkeil> save the first 4 bits for type1, and the second four bits fot type2
<tvon> could it be represented as a percentage?
<bkeil> then, we have the flexibity of the two-type system.
<tvon> I just think percentages are fairly natural to the mind...when relating things
<fkr> http://www.mysql.com/doc/n/o/node_178.html
<fkr> http://www.mysql.com/doc/n/o/node_179.html
<bkeil> This is just for the internal storage.
<fkr> http://www.mysql.com/doc/n/o/node_180.html
<tvon> ok, cool
<fkr> that's what they take up.
<fkr>* tvon wasnt sure what was being talked about
<bkeil> It would be | beastie boys | run dmc | 60% | 00010001
<bkeil> with 0001 being binary for artist.
<tvon> oh, that works
<bkeil> then we also get the advantage of being able to quickly pull all record of a similar type.
<tvon> 00010002 for artist-genre? for example?
<fkr> ack.
<bkeil> Er... 00010010
<fkr> or that.
<bkeil> since it is binary...
<tvon> oh yes...heh
<tvon>* fkr doesn't get that.
<tvon> of course
<tvon> or fo course as I like to say
<fkr> just a small explanation, please.
<bkeil> fkr, binary = only 0s and 1s
<tvon> dont remember my binary counting...but there is no '2'
<bkeil> so 0001 = 1
<fkr> bkeil, know that.
<fkr> ok.
<fkr> 0010 = 2 then ?
<tvon> it does now
<tvon> :-)
<fkr> 0100 = 3 ?
<fkr> did I get it?
<bkeil> 0011
<bkeil> 0100 = 4
<fkr> you got an URL for that?
<bkeil> 1000 = 8
<tvon> the actual number they represent is not as important as the meaning they represent to us...
<tvon> 1000 = album (is what I mean for example)
<fkr> I know, much I want to know, how it works....remember...I'm a geek too :)
<bkeil> tvon.... you're right...
<tvon> ooh, yeah....url url
<bkeil> Perhaps.... varchar(2)
<tvon> I would love a url about binary translations.....alwyas wanted to know but never looked it up
<bkeil> "aa" for artist-artist
<bkeil> "ag" for artist-genre
<tvon> true
<tvon> ad artist-album (disc)
<tvon> cuts us short for relations like artist-aardvark artist-antlers artist-apple...etc....
<tvon> I like the binary idea
<tvon> its more "geek" too
<tvon> and well...geek.....is better...right?
<bkeil> Well.... if we use two-letter codes then we get 52*52 possibilites.
<tvon> true
<tvon>* tvon is still working the whisky out of his system from last night
<fkr> we should go with 0's and 1's...saves quiet a bit of space
<fkr> we got this table worked out then too?
<bkeil> varchar(2) is only 16 bits.
<bkeil> what;s the int?
<bkeil> 12 bits?
<tvon> wiat, what does a enum type take up?
<bkeil> probably also 12 bits.... that'd be my guess, anyway....
<tvon> why not to enum?
<tvon> how did we get on this anyways? :-)
<tvon> though, the table has the potential to be massive....
<bkeil> with a 12-bit int, then we have 32 possible types.
<tvon> should make it small as possible....
<tvon> ah
<bkeil> no 64
<bkeil> sorry
<tvon> hmm....
<bkeil> Or are the ints 11 bits...
<bkeil> Then we'd be back down to 32.
<fkr> regular ints are 11
<tvon> so varchar(2)?
<tvon> seems to leave the widest range of possabilities....
<bkeil> Ok... so 32 types for a regular int, or 52 types for a varchar(2)...
<tvon> though Im not sure we would even use 32...
<bkeil> Yeah.... What would we be doing that needed 32?
<tvon> mmm...artist, album, song, genre.......whats the count?
<tvon> reltae to selves and each of the others...
<bkeil> Well..... 32 is the count for each ting relating to all other possible things, that is,
<bkeil> 32 for type 1 and 32 for type2
<tvon> heh...
<fkr> hehe..../me is lost :)
<tvon> yeah...arent we using the single type table?
<tvon> or am I just thick headed?
<bkeil> Yes.
<bkeil> Yes. Single type made out of two types
<tvon> so a single type...we need exaclty 32....
<tvon> oh...
<tvon> aa, ag etc right?
<tvon> yeah....
<bkeil> basically TYPE = type1 * 32 + type2 for the ints
<tvon> that one lost me
<bkeil> OK....
<bkeil>* tvon grins
<bkeil> 0000100000 = 32
<tvon> yah
<bkeil> 0000100001 = 33
<tvon> oh...ok
<bkeil> So for artist artist we have 33, if artist=1
<tvon> and what is wrong with using enum? ARTIST-ALBUM ARTIST_GENRE...?
<bkeil> for album artist we have 0001000001 = 65 if album=2 and artist=1
<bkeil> enums are basically ints
<tvon> album=2?
<tvon> artist=1?
<tvon> OH..ok..skip that
<bkeil> 32 * 2 + 1 = 65
<tvon> so, dosent enum just assign a sort of hidden int to the value?
<bkeil> Yeah...
*** SWAP: No such window: 67*** SWAP: No such window: 67
<tvon> artist-album = 0, artist-genre = 2....
<bkeil> we could do it that way.... I'm not strongly opposed.
<tvon> dosent [postge|my]sql support enum types for fields?
<tvon> thought someone said that...though I wouldnt know how to do it...
<tvon> oh....
<bkeil> I was just suggesting a way in which we could organize that 11 bit space.\
<tvon> oh...
<tvon> felix?
<fkr> yes.. :)
<tvon> what do you think?
<bkeil> an enum of ARTIST-GENRE ALBUM-GENRE..... I'd be okay with that...
<tvon> ok...
<tvon> lets go with that for now... :-)
<fkr> tvon, I'm about 30 thoughts behind you guys :)
<fkr>* fkr is ashamed.
<tvon> I was getting lost with all the type discussion.....if we can do something small....great.....
<tvon> oh, dont worry....
<bkeil> It's just that the other way, we automatically get all the possible relationships we want without having to think them through before hand.
<tvon> I wont retain any of this for more than 30 minutes anyways....
<tvon> hence the logs
<tvon> oh....OH...ok
<tvon> well, that is a good idea
<tvon> :-)
<tvon> one thing, I would like to leave room for non artist/album/song/genre relationships should we discover any
<tvon> and with enum we could just add them......
<bkeil> I'm not sure how easy it is to change an enum field in an existing database.
<tvon> true
<tvon>* tvon tends to think in C
<bkeil> With the binary solution, we already have 32 types in place, all we have do do is define one that hasn't been defined yet.
<tvon> ok...
<tvon> lets go binary then
<bkeil> think "type1<<5 + type2"
<tvon> nod
<tvon> so what is the mysql type for the field?
<fkr> int
<bkeil> int(11)
<tvon> k
<tvon> so we just assign something like 0001 = artist 0010 = album...etc...and we have up to how far?
<tvon>* tvon apologizes for needing it spelled out
<fkr> a lot.
<fkr>* tvon blows the dust off of K&R
<tvon> excellent
<tvon> golden...
<bkeil> We get 32 types.... we can define 0 = whatever, 1 = whatever, 2 = whatever, until we've run out of things to assign to numers.
<tvon> so we have that table done...
<bkeil> When we run out, it doesn't matter.
<tvon> I am going to point that Hans fellow to the png up at the site.....
<bkeil> If we only come up with 6 things now, that leaves us 26 things for the future.
<tvon> excellent
<fkr> is either one of you adding these two tables to our dia-files?
<tvon> ah, no...
<bkeil> I'm not currently running dia.
<tvon> dia kicks ass
<tvon> btw...
<fkr> ok, I'll then.
<tvon> but....ok, great
<tvon> I am going to finish up the "project status" page....
<tvon> or the content of it anywyas....
<bkeil> I'm going to take a shower.
<bkeil> :)
<tvon> :-)
<tvon> alright, I feel we accompished a good amount here
<fkr> tom, before you point him out the png-thingies, generate new ones.
<tvon> yeah, I will...
<tvon> mm....Ill catch your cvs commit and do it then...
<fkr> you probably saw my commits.
<tvon> then Ill drop him a line
<tvon>* bkeil waves. It's been real, and it's been fun....
<fkr> cu ben.
<tvon> cya Ben...thanks for stopping by..
*** Signoff: bkeil (Client Exiting)*** Signoff: bkeil (Client Exiting)
<fkr>
<tvon> yup
<tvon> :-)
<fkr> so how's your head?
<tvon> its good...
<tvon> I deal well after a few hours
<tvon> I usually sleep through the headache....woke up early
<fkr> somehow I had headache all day long today.
<tvon> was afraid I would sleep through the IRC time :-)
<tvon> ah, lame
<fkr> how about this parsing thing...
<tvon> oh yes...thanks...
<fkr> i didn't quiet understand what you meant.
<tvon> it spits out the head stuff....
<tvon> well...
<tvon> A) gaby dosent support user specific plugins that override the gloabl ones
<tvon> b) I dont want to edit the global one to be specific for thie project
<fkr> oic
<tvon> so....if you could parse out the header stuff (I got it all on one line...so its just the first line)
<tvon> oh.....yeah...wait....
<tvon> I could write a sed script to do that.....
<fkr> even better :)
<tvon> so.....dunno...any automatic way to do it?
<fkr> cron-job?
<tvon>content-todo.php
<tvon> or status...
<tvon> cron...actually...
<tvon> since it will be updated when I export it from gaby...I can just run the script
<tvon> since I have to export it anyways.....
<fkr> ack.
<tvon> so, thats taken care of....what else.....
<fkr> hmmm..
<fkr> I'm going to update the schema
<tvon> what did I mail you about? just that and the Hans fellow?
<tvon> oh, can you send me a html of this log?
<fkr> going to convert some datatypes so that the schema will work with mysql and postgresql
<tvon> ok, excellent
<tvon> Ill edit out the openprojects messages and whatnot.....
<fkr> and write another patch for dia2sql.
<tvon> (in the log)
<tvon> oh yeah...excellent work on that....
<tvon> is very nice to be able to generate from dia
<fkr> that darned author never replied two me.
<tvon> ah....lame
<fkr> s/two/to/
<tvon> another zombie project
<tvon> or orphan....
<tvon> always confuse the two processes...
<fkr> I'll add it to the patches-cvs-module (that's how I got the idea) and maintain an version for us.
<tvon> excellent....
<tvon> do we have a limit on cvs space?
<fkr> don't worry :)
<tvon> yeah, know we are nto close....
<fkr> there are other *huge* projects on cvs at sourceforge (like python etc.)
<tvon> but for that one, might as well just throw in the whole thing in cvs...instead o fjust the patch
<tvon> s/o fjust/of just/
<fkr> it will be easier with patches if he (author) ever releases a new version
<tvon> ah, true
<tvon>* fkr loves patches :)
<tvon>* tvon dosent know what he would do without Felix working on the SMDP
<tvon> :-)
<fkr> thanks :)
<tvon> my man in german
<tvon> y
<fkr> it's fun though
<tvon> good
<tvon> cuz its going to get alot more "fun" before too long
<tvon> :-)
<fkr> hehe
<fkr> how often do you update the website at sourceforge?
<tvon> when the cvs is clean and presentable....always....
<tvon> right now I think the index page is funky...or maybe that just my local copy
<fkr> what happened?
<tvon> ooh....might not have updated since some of your translation changes....
<tvon> it works...Im editing the opening paragraph...
<tvon> it was weak
<tvon> and, since the languages and databases are covered in the faq, I am removing them from the opening paragraph.....was going to ask you about that though.....think its good?
<tvon> (smdp.etria.org is what Im working on..)
<tvon> (if you want to see)
<fkr> looks good.
<tvon> I figure the faq should hold info on what languages and datagbases we support....and then I figure if its in the faq we dont need it on the main page ......
<fkr> ack. ack. ack. :)
<tvon> nod nod nod
<tvon> cools
<tvon> alright then...
<tvon> Im goign to work on that...and the todo stuff and the sed script....and ...
<fkr> oh, one more question:
<tvon> ok
<fkr> who is the other guy on the smdp-devel@ list with an etria.org address?
<tvon> oh...my friend brion....
<tvon> briOn not briAn...
<tvon> shrug
<fkr> oic
<tvon> is a friend who asked to be put on the list....his address was broken so he used his account on my box...
<fkr> wondered as I looked at the mailman-page
<tvon> ah..yeah...
<fkr> was nice talking to you again :)
<tvon> yeah...he reads the list a bit...not very involved though...
<tvon> yeah...
<fkr> I hope that holger@ get's involved...
<tvon> oh, so tell me when you get the dia updated.....and send me the html log of this if you please....
<tvon> yeah...vinz sent me a mail saying he wanted to be here but was busy......
<fkr> first I'll send you a txt-version of the log.
<tvon> ok
<tvon> (I downloaded that IRCstats thing but didnt get it setup in time btw)
<fkr> ok....I'm off doing work then :)
<tvon> ok...excellent..
<fkr> .oO I'll stay here but will be working :)
<tvon> will speak to you soon :-)
<tvon>