[05:15] *** Lawouach_ has joined #kamaelia
[05:15] < Lawouach_> morning
[05:15] < Lawouach_> damn it
[05:15] < Lawouach_> my home laptop is dead
[05:15] < Lawouach_> doesn't start any longer
[05:15] < Lawouach_> :(
[07:13] *** bcarlyon|laptop has joined #kamaelia
[07:27] *** Uraeus has joined #kamaelia
[07:55] *** orphans has joined #kamaelia
[07:56] *** Lawouach_ has joined #kamaelia
[07:56] < Lawouach_> back
[07:56] < Lawouach_> orphans: ping
[07:57] < orphans> Lawouach_, pong
[07:58] < orphans> how goes it?
[07:58] < Lawouach_> good
[07:58] < Lawouach_> except that my computer died
[07:59] < Lawouach_> I won't be able to perform our meeting tonight
[07:59] < orphans> less good
[07:59] < Lawouach_> Could we postpone it to a different time/date (when there is an available slot on the channel)
[07:59] < Lawouach_> ?
[08:00] < orphans> yeah, sure. If you name a time I can make it - don't think I've got anything planned over the next week or so
[08:03] < Lawouach_> Either today at 2pm your time (meaning 3pm mine)
[08:03] < Lawouach_> or tomorrow morning around 10am your time
[08:03] < Lawouach_> Both are good to me
[08:04] < orphans> 2pm please - I tend to be a bit groggy at 10am :)
[08:04] < Lawouach_> hah :)
[08:04] < Lawouach_> fine
[08:04] < Lawouach_> 2pm it is then
[08:05] < orphans> cool :)
[08:36] *** MS- has joined #kamaelia
[08:37] < MS-> I've had enough of this malarky with j_baker. I can't understand what he's after or why, and he's just producing unreadable code, that's dangerous (IMO) and unreadable on the basis of "I think this other stuff is unreadable"
[08:41] < MS-> I'm pretty tired of being told "it's shit" "it's shit" "it's shit" "it's shit" "it's shit" as the only reason for writing something like that
[08:43] *** Davbo has joined #kamaelia
[08:44] < MS-> morning Davbo
[08:44] < Davbo> morning MS-
[08:46] < MS-> tell me something nice :)
[08:46] < MS-> How's your project going?
[08:46] < MS-> :)
[08:47] < MS-> Did you get animation on backgrounds going?
[08:47] < Davbo> It's going well
[08:47] < MS-> cool
[08:47] < Davbo> animations with backgrounds work but I need to make it so i can flag some frames as backgrounds
[08:48] < Davbo> i'm still thinking on the best way for that
[08:48] < MS-> OK
[08:48] < MS-> What's your thoughts at the moment?
[08:49] < MS-> If none of them seem better than any other, I'd suggest listing then on your wiki page, rolling a die and picking one and trying it :)
[08:51] < Davbo> Hehe
[08:51] < Davbo> I do have a few features on there listed as possible things
[08:51] < Davbo> Storyboarding for instance
[08:51] *** MS- nods
[08:52] < MS-> You've been somewhat limited by the fact you've had to be a pipeline though
[08:52] < MS-> rather than a graphline
[08:52] < MS-> ie limited to just a linear system
[08:53] < MS-> which is a pity.
[08:53] < MS-> (not your fault, more an observation of the problems that pipelining has :) )
[08:54] < Davbo> Pipeline where?
[08:56] < MS-> Your code structure
[08:56] < MS-> It's limited to just pipeline type stuff
[08:57] < Davbo> Ah I know what you mean
[08:57] < MS-> You get round it in an interesting way though :)
[08:57] < MS-> But still, it'd be nice for you to be able to have an extra window sometimes (eg to select layers)
[08:57] < MS-> (ala the storyboarding idea)
[08:58] < MS-> Which is much harder with the current limitations on process stuff that would be ideal
[08:58] < Davbo> Some things would be cool with a ProcessBackplane
[09:01] < MS-> I think that's probably quite a tricky proposition at present, but I know what you mean
[09:01] < MS-> Backplanes can sometimes make code alot simpler
[09:01] < MS-> Sometimes alot more obfuscated as well
[09:01] < MS-> But sometimes alot simpler
[09:01] < Davbo> Yeah true
[09:03] < Davbo> I'm going to try changing from draw.line to bliting a "brush like" circle each time
[09:03] < Davbo> see how that changes it currently
[09:05] < MS-> I see
[09:06] < MS-> Can I make a request?
[09:06] < Davbo> of course
[09:06] < MS-> Could you look at the interface you've created for the functionality you've created, and look at making it more...
[09:06] < MS-> novice user friendly ?
[09:06] < Davbo> I added the wishlist on my project page hoping you would do
[09:06] < MS-> Cool
[09:07] < Davbo> I was planning on doing so
[09:07] < MS-> "I added the wishlist on my project page hoping you would do"
[09:07] < MS-> Ah, I've been more making requests here instead :)
[09:08] < MS-> The wiki doesn't send out mails on change (yet) so I don't check it as often as I could (yet)
[09:08] < MS-> I've been too busy to do anything kamaelia related this weekend as well
[09:08] < Davbo> I suppose what everyone says about open source app's having poor interfaces is because none of us prioritise them ;-)
[09:08] < Davbo> Yeah, that search thingy still running?
[09:09] < MS-> Been searching through 6 machines hard drives looking through *every* file for every file that relates to something tedious
[09:09] < MS-> yep
[09:09] < MS-> Just got 2 more hard drives to go
[09:09] < MS-> (160GB)
[09:09] < MS-> (keep underestimating things)
[09:09] < Davbo> gepping?
[09:09] < MS-> Problem is that I've had several hard drive failures, but I keep all my old correspondance
[09:09] < MS-> yep
[09:10] < MS-> Means every byte on every drive (to an extent) is being checked
[09:11] < Davbo> ouch
[09:11] < MS-> So far it's gone through 391G
[09:11] < MS-> Just another 160GB to go
[09:12] < MS-> Heck, on my laptop alone there's 104,000 emails
[09:12] < MS-> and I have email dating back to 1998
[09:12] < MS-> (on other machines)
[09:12] < MS-> This machine only goes back less than 2 years IIRC
[09:12] < Davbo> Yeah, I don't like deleting email either
[09:14] < MS-> Well, for me it's because I heard many many many years ago of a case where someone was being litigated against regarding not doing something as per an SLA. (someone at an ISP)
[09:15] < MS-> (ie a contract thing) They were able to show that they never received a request and therefore it wasn't a valid claim
[09:15] < MS-> the reason they were able to show it is because they were able to say "hey, look,here's *every* other email - I never delete mail"
[09:15] < MS-> That along with server records and logs made it clear mails hadn't been receieved.
[09:16] < MS-> Anyway, I found it interesting :)
[09:16] < MS-> Turns out to be a mixed blessing when you're foraging
[09:16] < MS-> :)
[09:16] < Davbo> Hah,
[09:16] < MS-> Anyway, back to UIs
[09:17] < MS-> yes, UIs do tend to get de-prioritised)
[09:17] < MS-> I think that's a real shame, and I would encourage you to spend some time on your UI.
[09:18] < MS-> Since i think you've got some good stuff going on, and improving the UI is really what you need right now
[09:18] < Davbo> I'll do that then
[09:18] < MS-> If you want specific requests, I'd suggest taking a current screenshot, listing every possible action
[09:18] < MS-> that you can do using it
[09:19] < MS-> (say as a bullet list) and posting that as a description to the list.
[09:22] < Davbo> Still grumpy about that Tango set being "distributed under the GPL"
[09:22] < MS-> never mind
[09:23] < Davbo> When you going on holiday MS-?
[09:23] < MS-> I'm on leave from work at the end of this week for two weeks
[09:25] < Davbo> alright cool
[09:25] < Davbo> you could do with a break
[09:26] < MS-> definitely
[09:27] < MS-> At present I'm trying very hard not to say on the list "look, you're justification for wanting to merge some code that makes me want to claw my eyes out, is that the alternative looks ugly?"
[09:27] < MS-> which isn't very patient
[09:28] < MS-> I may just have to give up trying to understand at some point
[09:28] < MS-> since getting frustrated and angry on list really doesn't help
[09:29] < MS-> Also, I'm probably far less help than I could be right now
[09:29] < Davbo> Hmm, tbh I've not read much of that
[09:29] < MS-> fair enough
[09:29] < Davbo> (too long)
[09:29] < MS-> I wouldn't either if I wasn't j_baker's mentor to be honest
[09:30] < MS-> the code is too unreadable, the justifications too vague, and very unclear, and total lack of whitespace making it difficult to read
[09:31] < MS-> but you don't want my grumbles :)
[09:34] < Davbo> Ahh there are some things in Tango I should be able to use. Just out of the standard stuff
[09:34] < Davbo> which isn't from gimp
[09:34] < Davbo> i'll have a look at that
[09:34] < MS-> OK.
[09:34] < MS-> FWIW, sometimes even stuff as simple as re-laying things out would make sense
[09:34] < MS-> eg. How do I select white?
[09:34] < MS-> :-)
[09:35] < MS-> (silly example I know, but a useful thought)
[09:37] < Davbo> Yeah I need another slider so you can select greys and white actually
[09:37] < Davbo> It *was* there but I need to put it back in (took it out when I extracted the slider code)
[09:38] < Davbo> I'm putting in foreground / background colours which is todo for tomorrow
[09:43] *** Davbo will go and do that now 
[09:44] < Davbo> The code is all there, just need to sort it out.
[09:45] < Davbo> I'll go get some breakfast now :-)
[09:52] *** Davbo is now known as Davbo-afk
[10:05] < Lawouach_> back
[10:05] *** vmlemon_ has joined #kamaelia
[10:06] *** Lawouach_ is reading the log and Michael's responses to Jason's email
[10:07] < Lawouach_> meh it's not logged anymore?
[10:07] < vmlemon_> Hi
[10:07] < vmlemon_> Hmm, not sure
[10:07] < vmlemon_> Isn't today's log there?
[10:08] < Lawouach_> http://yeoldeclue.com/logs/ < -- don't see them
[10:08] < vmlemon_> They've all moved
[10:08] < vmlemon_> (New location is http://edit.kamaelia.org/logs/ supposedly(
[10:08] < vmlemon_> )
[10:09] < MS-> hm? what's not logged?
[10:09] < MS-> Oh, yes, logs moved
[10:09] < MS-> as per topic :)
[10:10] < Lawouach_> vmlemon_: ta
[10:10] < Lawouach_> I didn't follow that move
[10:10] < Lawouach_> sorry
[10:10] < vmlemon_> No problem
[10:10] < vmlemon_> OK
[10:10] < MS-> indeed np
[10:12] < vmlemon_> Wow, I see what the lrzip manpage means when it says that it consumes a ton of RAM
[10:12] < vmlemon_> It's consumed my entire swap file, barring 4KB
[10:13] < Lawouach_> MS-: damn your response is long :)
[10:13] < Lawouach_> You guys want to kill me or what?
[10:13] < MS-> I type fast
[10:16] *** Lawouach_ find amusing MS- asks Jason to write less while writing more. :D
[10:16] < Lawouach_> For the good cause though ;)
[10:16] < MS-> I was particularly irritated by Jason's little rant about "oh, what does this do , does it do this , does it do this, does it do that", when in fact just reading the docs would answer the question
[10:16] < MS-> Yeah, the irony's not wasted on me
[10:16] < Lawouach_> I agree
[10:17] < MS-> If it doesn't do what you want, just coming straight out with what you do want specifically is helpful. Ranting about (documented, tested) code and then posting a vague example that works without any change to axon, doesn't really inspire me to bother
[10:18] < Lawouach_> Jason has his nose too much into his own code to step back and uses the wrong reason for something probably valid
[10:18] < Lawouach_> He is right that there are bits and pieces of axon (but mainly kamaelia) that aren't straightforward. But overall it's not a design issue
[10:18] < MS-> probably valid with changes :)
[10:18] < Lawouach_> He wants to change Axon's design when it's a matter of using the right tool for instance
[10:19] < MS-> There's lots of code that's ugly, but part of it is because a lot of kamaelia has been to figure out "do these parts of axon make sense?" "what would be better"
[10:19] < vmlemon_> This is about the Sub-Graphline/a twisted and mangled version of Pipelines (or something like that) saga that's been gracing the inboxes of 'Group readers for a while?
[10:19] < Lawouach_> :)
[10:20] < MS-> vmlemon_: Kinda
[10:20] < Lawouach_> It took me a while to understand that and I guess jason has not reached the point yet. ah well.
[10:20] < Lawouach_> I'll respond once more too :)
[10:20] < Lawouach_> vmlemon_: a derivative work actually
[10:20] < vmlemon_> Aah
[10:21] < MS-> Thing is I want to understand the why. But if the "why" is actually as shallow as "it's ugly", simply saying that followed by "I would find writing this prettier" would be clear
[10:21] < MS-> But that's not what happens
[10:37] < MS-> OK, it's not 160GB to search, just 102GB
[10:38] < MS-> ho hum.
[10:38] *** MS- sets it going
[10:52] *** Davbo-afk is now known as Davbo
[11:14] < Davbo> Lawouach_: What plan do you have at WebFaction?
[11:23] < Lawouach_> Plan 4 i think
[11:24] < Lawouach_> a shared 4 with added goodies :)
[11:24] < Davbo> They split them up on memory usage but I haven't a clue how much memory I'd use say, running Django
[11:24] < Davbo> Ah, you've no problems then :P
[11:25] < Davbo> http://www.webfaction.com/services/hosting 200MB on plan 4
[11:26] < Lawouach_> ah
[11:26] < Lawouach_> I have a shared 3 actually
[11:27] < Lawouach_> with more RAM and space :)
[11:27] < Davbo> ah
[11:27] < Lawouach_> Your django would quite likely run on a shared 1
[11:28] < Davbo> I want somewhere to try out all these cool new things, I've played with Rails but nothing else
[11:28] < Lawouach_> http://blog.webfaction.com/tips-to-keep-your-django-mod-python-memory-usage-down
[11:29] < vmlemon_> Mmm, added goodies?
[11:29] < Lawouach_> vmlemon_: let's say that I have a custome shared plan :)
[11:29] < Lawouach_> custom
[11:30] < vmlemon_> Aah
[11:30] < vmlemon_> Cool
[11:30] < Lawouach_> :)
[11:30] < Davbo> I think I'll get in touch with my departments sysadmin and see what he can do for me ;-)
[11:31] < Davbo> He could start by installing php /me rolls eyes
[11:33] < vmlemon_> Hmm, if you have a spare Linux box, or don't mind bloating your desktop installation with stuff, you could always play with the various server apps and components in your distro's package manager
[11:33] < vmlemon_> before deciding whether or not to run them on a "real" server
[11:34] < vmlemon_> (Although that probably wouldn't scale very well, and I don't know how secure it would be in the long run)
[11:34] < Lawouach_> vmlemon_: There are quite secure Linux distro out of the box these days
[11:35] < Lawouach_> and I agree that's a good way to start when you don't expect more than 100 visits a day :)
[11:35] Reply: Hi, I'm a bot. I've been put here to answer faq's and log the channel.
[11:35] Reply: I've not really been configured yet, so I won't do much here yet :-)
[11:35] < vmlemon_> Still, it'd give you a rough idea about what to expect from the stuff you want to play with, which'll probably help when it comes to choosing hosting
[11:35] Reply: Hi, I'm a bot. I've been put here to answer faq's and log the channel.
[11:35] Reply: I've not really been configured yet, so I won't do much here yet :-)
[11:36] < Davbo> Good idea vmlemon_, thanks :)
[11:37] < Davbo> Going to poke Uni sysadmin, but he, like many sysadmins is quite a grumpy chap ;-)
[11:38] < vmlemon_> Hehe
[11:40] *** Davbo must admit, trac is a very nice app
[11:40] < Davbo> Looking at cherrypy.org
[11:40] < vmlemon_> Let me guess, if you get on the wrong side of him, you'll end up being exiled to the land of torture that is Windows Vista? ;)
[11:41] < vmlemon_> Or at least a yelling session ;)
[11:42] < Davbo> Last time I talked to him I was reminding him of something he was supposed to have done but had clearly forgot. It wasn't pretty.
[11:42] < vmlemon_> "Free WebFaction accounts for all students"? ;)
[11:43] < vmlemon_> Ouch
[11:43] < Davbo> I'm with Dreamhost right now and they have a voucher for SoC students. However you can't renew your account with a voucher
[11:44] < vmlemon_> Hmm, do they live up to their name?
[11:45] *** wyleu has joined #kamaelia
[11:45] < Davbo> Well, I paid £11 for a year. So I aint going to complain ;-)
[11:45] < vmlemon_> Hah
[11:45] < vmlemon_> Bargain
[11:45] < Lawouach_> You have what you pay for :)
[11:45] < Davbo> (that deal still exists i believe if anyone is interested)
[11:47] < orphans> Lawouach_, ping?
[11:49] < Lawouach_> pong
[11:49] < orphans> hey, you good for meetingness?
[11:50] < Davbo> How's the project orphans?
[11:50] < Lawouach_> orphans: I am
[11:50] < Lawouach_> Go ahead
[11:51] < orphans> Davbo, better :)
[11:51] < Davbo> Good, I know you got rather peeved with that c++ stuff
[11:52] < vmlemon_> Hmm, it became C--? ;)
[11:52] < orphans> Lawouach_, ok, so this week I've (you guessed it) been trying to sort out the binding. Kinda got it working, but acquiring the GIL was taking too long in the callback, so I've switched it to use reading a writing an intermediate buffer, and it's working :)
[11:52] < Lawouach_> great
[11:52] < Lawouach_> so it's near real-time?
[11:52] < orphans> not too many miles off - definitely better than it was
[11:53] < orphans> I need to have a bit of a fiddle to get all the various buffer and chunk sizes about right, but it doesn't sound too bad at the moment
[11:53] < Lawouach_> make those sizes settable if you can
[11:54] < Lawouach_> so that one can tune them for one's system
[11:54] < orphans> yeah, I will do
[11:54] < orphans> the extra buffer adds a bit more latency which is a shame, but I think it'd be necessary with Kamaelia not being real time, so I think it's as good as is going to get
[11:54] < vmlemon_> Hmm, it does OSC and MIDI now?
[11:55] < orphans> vmlemon_, mhm, OSC and MIDI, and audio will be going in real soon now
[11:55] < vmlemon_> Cool
[11:56] < orphans> Lawouach_, it'll probably take me a day or two to get everything fully in an sorted for the audio stuff now, and I need to make sure the bindings aren't leaking memory at a rate of knots
[11:56] < orphans> then I'm officially feature freezing :)
[11:57] < Davbo> Can I uninstall pd now orphans? :-)
[11:57] < orphans> Davbo, give it a day or two just in case :)
[11:58] < Lawouach_> Right.
[11:59] < Lawouach_> You have two full weeks before the end of the project
[11:59] < Lawouach_> With a suggested slow down next week
[12:00] < orphans> yup. lots of docs and fixing up to do in that time, but hopefully it'll all start to come together now
[12:02] < orphans> then the end :-o
[12:03] < Lawouach_> right
[12:03] < Lawouach_> I will try to review your code this week but since my computer is dead
[12:03] < Lawouach_> It'll be more likely this weekend
[12:04] < orphans> :) yeah, np
[12:04] < Davbo> What happened Lawouach_? ooi
[12:04] < Lawouach_> It won't start up
[12:04] < orphans> to be honest it'll probably be a lot nicer to look at by the end of the weeks
[12:04] < Lawouach_> It doesn't even show life any more
[12:04] < Davbo> :-(
[12:06] < orphans> Lawouach_, is there anything else I need to get done by the end of SoC (other than docs, tests, and general polish)
[12:06] < orphans> oh, and packaging up
[12:06] < Lawouach_> :)
[12:07] < Davbo> You aiming for feature complete this friday orphans?
[12:07] < Lawouach_> What I would most appreciate is that by the end of the week it's packaged up so that others may try it
[12:07] < Lawouach_> I think it's important that you guys tries each other's application
[12:07] < Lawouach_> For fun and feedback
[12:08] < orphans> yeah, I haven't wasted time on Paint for ages - am looking forward to seeing new fun stuff :)
[12:09] < Lawouach_> since it's all base on Kamaelia
[12:10] < Lawouach_> what could be fun would be to link automatically generated noise from KamJam directly to KamPaint
[12:10] *** vmlemon_ has joined #kamaelia
[12:10] < Lawouach_> and see what's drawn :)
[12:11] < orphans> could probably get it generating waveforms and stuff :)
[12:11] < Lawouach_> :)
[12:11] < orphans> heh, at the end of it all all of us stick our apps together in one huge pipeline - 3D music drawing over xmpp
[12:12] < Davbo> Hah
[12:12] < Davbo> It was all an elaborate plan from MS-
[12:12] < orphans> :)
[12:12] < Lawouach_> The Business Plan!
[12:15] < vmlemon_> And integrate it with the Speak 'N' Write thing? ;)
[12:15] < vmlemon_> "You wrote a note!"
[12:20] *** Chong- has joined #kamaelia
[12:21] < MS-> (14:28:56) orphans: heh, at the end of it all all of us stick our apps together in one huge pipeline - 3D music drawing over xmpp
[12:21] < MS-> (14:29:08) davbo: Hah
[12:21] < MS-> (14:29:17) davbo: It was all an elaborate plan from MS-
[12:21] < MS-> um, yes actually
[12:21] < MS-> (14:29:30) Lawouach_: The Business Plan!
[12:21] < MS-> Not sure where that lives, but it's fun :)
[12:23] < MS-> (14:24:35) Lawouach_: I think it's important that you guys tries each other's application
[12:23] < MS-> (14:24:43) Lawouach_: For fun and feedback
[12:23] < MS-> Agreed. If everyone's projects are " completed " to the extent that they're usable by everyone else, then the most productive thing that everyone could do is code review everyone else's code, and document it :)
[12:26] < Chong-> cool. I'd like to try others' cool apps :-)
[12:28] < Lawouach_> Chong-: your Topology screenshots are rather cool :)
[12:28] < orphans> hum, is there any way I can duplicate a class but make it a subclass of something different (without doing a line-by-line copy)
[12:28] < Lawouach_> orphans: ?!
[12:29] < Lawouach_> Chong-: I'll have to look ate your application but displaying Atom feeds instead of FOAF documents
[12:29] < orphans> Lawouach_, I have class SchedulingComponent(ThreadedComponent.threadedcomponent):
[12:29] < orphans> I want class SchedulingComponent(threadedadaptivecommscomponent):
[12:30] < orphans> well, I really want class SchedulingAdaptiveCommsComponent(threadedadaptivecommscomponent):
[12:30] < Chong-> Lawouach_: thanks :-)
[12:31] < orphans> do I have to copy and paste SchedulingComponent to get an adaptivecomms version?
[12:32] < Chong-> Lawouach_: cool. any problem encountered when working on displaying Atom feeds, please let me know.
[12:33] < Lawouach_> I will (though it won't happen any time soon but I will)
[12:33] < Chong-> Lawouach_: cool
[12:34] < Davbo> MS-: Can I edit /Kamaelia/Kamaelia/UI/Pygame/Button.py so I can supply a path to an image instead of a caption?
[12:38] < MS-> Davbo: Sure. Calling it "image button" strikes me as a good idea :)
[12:40] < MS-> Orphans, if you change:
[12:40] < MS-> class SchedulingComponent(ThreadedComponent.threadedcomponent):
[12:41] < MS-> to
[12:41] < MS-> class SchedulingComponentMixin(object):
[12:41] < MS-> class SchedulingComponent(ThreadedComponent.threadedcomponent,SchedulingComponentMixin):
[12:41] < MS-> You can also do:
[12:41] < MS-> class SchedulingComponentAC(threadedadaptivecommscomponent,SchedulingComponentMixin):
[12:41] < MS-> leaving the original functionality in SchedulingComponentMixin
[12:42] < MS-> Take a look at AdaptiveComms component itself to see how that works
[12:42] < MS-> If you end up using too many mixins etc though
[12:42] < MS-> You'll probably regret it
[12:42] < MS-> since debugging and figuring out where stuff is can be a problem
[12:43] < orphans> fair enough, I'll just do a copy paste
[12:43] < orphans> it's not like there's 800 lines of code there to maintain :)
[12:46] < MS-> orphans: You're the maintainer of your code :)
[12:48] < orphans> I can handle copy/paste for that bit I think :)
[12:50] < MS-> At some point you'll realise that it's a bad idea and delete lots of lines, but that's not necessarily a problem
[12:50] < MS-> sometimes running with a copy & paste approach can be useful.
[12:50] < MS-> Sometimes it can be a burden
[12:51] < MS-> In the long run it's often a burden and using a base class & inheritance can then make it more maintainable - if you have things in the right place
[12:51] < MS-> cf what happened with SimpleServer & MoreComplexServer - the latter was a copy and paste job of the former with some changes
[12:52] < MS-> became clear after time that it didn't need to be that way
[12:52] < MS-> so it ended up being ServerCore
[12:52] < MS-> and SimpleServer being a specialisation of ServerCore
[12:53] < orphans> mhm. if/when I need to change things I'll do a proper job, but for a quick fix for now it doesn't bother me too much. It's really only to give me the ability to add and remove in/outboxes which I need for one component
[12:55] < orphans> actually, there might even be a better way around it - do I need the inboxes defined before __init__ is called, or just before the superclass is initialised?
[12:57] < MS-> Do it the obvious way first
[12:57] < MS-> The obvious way to you is to use adaptivecomms, and that sounds obvious
[12:57] < MS-> I've never been totally clear whether it makes sense to have the distinction between component & adpative comms anyway really
[12:58] < orphans> think I might be overkill though (having two component) - all I need to do for this one component is have a set number of inboxes which it is called with. so if I do something like:
[12:59] < orphans> class Mixer:
[12:59] < orphans> Inboxes = []
[12:59] < orphans> def __init__():
[12:59] < orphans> for i in range(self.__class__.numChannels):
[13:00] < orphans> self.__class__.Inboxes.append("in%i"%i)
[13:00] < orphans> super(threadedComponent, self.__init__()
[13:00] < orphans> it'd not need the two components (for what I need anyway)
[13:01] < orphans> that might be a bit dodgy though...
[13:06] < MS-> Chong-: ping?
[13:06] < MS-> Nothing you want to raise today?
[13:07] < MS-> This is you "you have a mentor in headlights" situation
[13:07] < MS-> (15:16:39) orphans: for i in range(self.__class__.numChannels):
[13:07] < MS-> (15:17:12) orphans: self.__class__.Inboxes.append("in%i"%i)
[13:07] < MS-> No, please don't do that
[13:07] < MS-> if you can avoid it
[13:09] < orphans> MS-, okay, adaptivecomms it is :)
[13:10] *** vmlemon_ has joined #kamaelia
[13:13] < Chong-> MS-: tar
[13:14] < Chong-> MS-: just created a branch private_CL_Topology3D, I need your suggestion about where to put my files
[13:14] < Chong-> Create a folder PhysicsGraph3D under Kamaelia.Visualisation and then Put TopologyViewer3D.py, TopologyViewer3DWithParams.py and Particles3D.py in
[13:14] < Chong-> Put ParticleSystemX.py in Kamaelia.Support.Particles
[13:14] < Chong-> put RDFParsing.py in apps or examples
[13:14] *** MS- looks
[13:14] < Chong-> thanks :)
[13:15] < MS-> ~/code.google/kamaelia/branches> svn update private_CL_Topology
[13:15] < MS-> At revision 5121.
[13:15] < MS-> oh
[13:15] < MS-> You haven't checked the branch in yet?
[13:15] < MS-> to branch you have to
[13:15] < Chong-> it's private_CL_Topology3D
[13:16] *** MS- tries that
[13:16] < Davbo> Yeah it's there MS-
[13:16] < Chong-> Davbo: thanks :)
[13:16] < MS-> OK, your project is somewhat different from the others
[13:16] < MS-> Most of your non-core code will go in Examples
[13:17] < MS-> Not sure of the right place/name yet, but that's where they should go
[13:17] < Chong-> cool. So RDFParsing.py should go to examples
[13:17] < MS-> since most of your examples should sit there and there will probably need to be a handful of examples
[13:17] < MS-> Hold on, I've not even looked at that file :)
[13:18] < Chong-> :-)
[13:18] < MS-> Though that's not that bad an assumption as a starting point
[13:18] < MS-> Stuff can migrate out of Examples -> Kamaelia much like Tools & Apps do
[13:18] < MS-> But doing it the other way can be more painful
[13:19] < MS-> OK, reads the suggestion
[13:19] < MS-> PhysicsGraph3D under Kamaelia.Visualisation
[13:19] < MS-> Seems a reasonable first pass
[13:19] < MS-> yes
[13:19] < Chong-> cool :-)
[13:20] *** MS- does an update here: ~/code.google/kamaelia/trunk/Sketches/CL> svn update
[13:20] < MS-> A Topology3D/Files
[13:20] < MS-> A Topology3D/Files/mum.gif
[13:20] < MS-> A Topology3D/Files/son.gif
[13:20] < MS-> A Topology3D/Files/son1.gif
[13:20] < MS-> A Topology3D/Files/dad.gif
[13:20] < MS-> A Topology3D/Files/mum.jpg
[13:20] < MS-> A Topology3D/Files/son.jpg
[13:20] < MS-> bunch of piccies
[13:20] < MS-> They presumably relate to an example
[13:20] < MS-> in which case they go in an Examples directory
[13:20] < Chong-> yes. They are just for test case
[13:20] < MS-> Key thing is to move work now out of sketches and into Examples/ and Kamaelia/*
[13:21] < MS-> and to then do as little as possible in /Sketches
[13:21] < MS-> That means I then see these:
[13:21] < MS-> U Topology3D/Utils/Particles3D.py
[13:21] < MS-> A Topology3D/Utils/RDFParsing.py
[13:21] < MS-> U Topology3D/Utils/TopologyViewer3D.py
[13:21] < MS-> A Topology3D/Utils/TopologyViewer3DWithParams.py
[13:21] < MS-> U Topology3D/Experiments/RDFParser.py
[13:21] < Chong-> cool
[13:21] < MS-> A Topology3D/Experiments/RDFParser_withLibRDF.py
[13:21] < MS-> My take is these live in Physics3D:
[13:21] < MS-> Topology3D/Utils/Particles3D.py
[13:21] < MS-> Topology3D/Utils/TopologyViewer3D.py
[13:21] < MS-> Topology3D/Utils/TopologyViewer3DWithParams.py
[13:22] < MS-> The RDF Stuff I don't know since I've not looked at it
[13:22] < MS-> I'm guessing that
[13:22] < MS-> Topology3D/Experiments/RDFParser.py
[13:22] < MS-> Topology3D/Experiments/RDFParser_withLibRDF.py
[13:22] < MS-> are not current, would I be correct in guessing that ?
[13:23] < Chong-> yes. they are just experiments
[13:23] < MS-> import RDF
[13:23] < MS-> in Topology3D/Utils/RDFParsing.py implies that
[13:23] < MS-> OK cool
[13:23] < MS-> So that's why you only mentioned:
[13:23] < MS-> Topology3D/Utils/RDFParsing.py
[13:23] < MS-> ======================================================================
[13:23] < MS-> A component to parse RDF data received from a uri to TopologyViewer3D command
[13:23] < MS-> ======================================================================
[13:23] < MS-> """
[13:23] < Chong-> yes :-)
[13:23] < MS-> class RDFParser(Axon.Component.component):
[13:24] < MS-> implies it should probably sit inside the tree somewhere
[13:24] < MS-> from Kamaelia.Util.DataSource import DataSource
[13:24] < MS-> from Kamaelia.Util.Console import ConsoleReader,ConsoleEchoer
[13:24] < MS-> from TopologyViewer3DWithParams import TopologyViewer3DWithParams
[13:24] < MS-> from Kamaelia.Chassis.Graphline import Graphline
[13:24] < MS-> # Data can be from both DataSource and console inputs
[13:24] < MS-> Graphline(
[13:24] < MS-> CONSOLEREADER = ConsoleReader('>>>'),
[13:24] < MS-> DATASOURCE = DataSource(["http://fooshed.net/foaf.rdf 2 10"]),
[13:24] < MS-> PARSER = RDFParser(),
[13:24] < MS-> VIEWER = TopologyViewer3DWithParams(),
[13:24] < MS-> CONSOLEECHOER = ConsoleEchoer(),
[13:25] < MS-> linkages = {
[13:25] < MS-> ("CONSOLEREADER","outbox") : ("PARSER","inbox"),
[13:25] < MS-> ("DATASOURCE","outbox") : ("PARSER","inbox"),
[13:25] < MS-> ("PARSER","outbox") : ("VIEWER","inbox"),
[13:25] < MS-> ("VIEWER","outbox") : ("CONSOLEECHOER","inbox"),
[13:25] < MS-> #("PARSER","outbox") : ("CONSOLEECHOER","inbox"),
[13:25] < MS-> }
[13:25] < MS-> ).run()
[13:25] < MS-> That looks like something which if fleshed out could sit inside /Code/Python/Apps
[13:25] < MS-> as Kamaelia-FOAF-Viewer perhaps
[13:25] < Chong-> cool
[13:25] < MS-> meaning that then RDFParser can sit (at least initially) inside
[13:25] < MS-> Kamaelia.Apps.FOAFViewer.RDFParser
[13:25] < MS-> parsing
[13:26] < MS-> Is this actually just a generic RDF viewer actually?
[13:26] < MS-> and FOAF is just one application?
[13:26] < MS-> Looks like it
[13:27] < MS-> Though specialised to foaf
[13:27] < Chong-> yes
[13:27] < Chong-> It's a rdf parser through librdf
[13:27] < MS-> OK, I need that from here:
[13:27] < MS-> http://librdf.org/bindings/INSTALL.html yes?
[13:28] < Chong-> yes.
[13:28] < MS-> OK, runnning autogen.sh
[13:28] < MS-> configure: WARNING: System redland 1.0.6 does not match - need 1.0.8
[13:28] < MS-> checking redland library source... configure: error: internal redland sources not found in directories: ../redland ../librdf ..
[13:28] < MS-> great
[13:28] < MS-> it hates me
[13:29] < Chong-> I know It's not good to have an additional dependency
[13:29] < MS-> just done an svn checkout :)
[13:29] < MS-> OK, let's try plan b
[13:29] < MS-> one of their tar balls
[13:30] < MS-> running configure
[13:30] < Chong-> it also takes me a long time to get the installation settled down
[13:31] < Chong-> http://download.librdf.org/source/
[13:32] < MS-> downloaded http://download.librdf.org/source/redland-1.0.8.tar.gz
[13:32] < MS-> tar zxvf redland-1.0.8.tar.gz
[13:32] < MS-> cd redland-1.0.8
[13:32] < MS-> ./configure
[13:32] < MS-> make
[13:32] < Chong-> download the redland-bindings-1.0.8.1.tar.gz, it should work and also ensure you have downloaded redland-1.0.8.tar.gz
[13:32] < MS-> waiting for that to finish
[13:32] *** vmlemon_ has joined #kamaelia
[13:33] < Chong-> "An alternative to installation is to extract the Redland sources in a parent directory or a sibling directory called 'librdf'."
[13:33] < MS-> sudo make install
[13:34] < MS-> OK, built and installed librdf
[13:34] < MS-> OK, now the bindings
[13:34] < Chong-> yes ;)
[13:35] < MS-> Oh, that doesn't build anything
[13:36] < MS-> retries as
[13:36] < MS-> ~/redland-bindings-1.0.8.1> ./configure --with-python
[13:36] < MS-> aha
[13:36] < MS-> that looks better
[13:37] < MS-> ~/redland-bindings-1.0.8.1> python
[13:37] < MS-> Python 2.5.1 (r251:54863, Jan 10 2008, 18:01:57)
[13:37] < MS-> [GCC 4.2.1 (SUSE Linux)] on linux2
[13:37] < MS-> Type "help", "copyright", "credits" or "license" for more information.
[13:37] < MS-> >>> import RDF
[13:37] < MS-> >>>
[13:37] < MS-> indeed it does
[13:37] < Chong-> great :)
[13:37] < MS-> ~/code.google/kamaelia/trunk/Sketches/CL/Topology3D/Utils> python RDFParsing.py
[13:37] < MS-> >>>num_parentNodes: 5 num_allNodes: 27
[13:37] < MS-> Node exists, please use a new node ID!
[13:37] < MS-> Node exists, please use a new node ID!
[13:37] < MS-> But I have a picture
[13:38] < MS-> What's the picture?
[13:38] < MS-> Where's the network specified?
[13:39] < MS-> DATASOURCE = DataSource(["http://fooshed.net/foaf.rdf 2 10"]),
[13:39] < Davbo> MS-: I can take things from a project which is LGPLv3 right?
[13:39] < MS-> ?
[13:39] < Chong-> it's http://fooshed.net/foaf.rdf
[13:39] < MS-> Davbo: I don't really know.
[13:39] < MS-> I've not actually read the LGPLV3 in detail to read the ramifications it has
[13:40] < MS-> also it depends on what you're taking :-)
[13:40] < MS-> And where you're planning on putting it
[13:40] < vmlemon_> Not sure if you can, at least not without being incompatible with the GPLv2...
[13:40] < vmlemon_> Although that's my guess, and I'm not a lawyer by any means
[13:40] < Davbo> Just wanted to get the buttons from OpenOffice
[13:41] < MS-> They may be up on a kde themes or similar site FWIW
[13:41] < MS-> may be from somewhere else :)
[13:41] < Chong-> MS-: The picture is very weird
[13:41] < MS-> Chong-: Who is http://fooshed.net/foaf.rdf ?
[13:42] < MS-> ie who is "Michele Catasta"
[13:42] < MS-> Some person you picked at random off the interweb?
[13:42] < Chong-> yes. through google search :-)
[13:43] < MS-> OK, we'll need to do something about that before this is merged onto /trunk
[13:43] < MS-> But that's fine
[13:43] < MS-> Warren King can gain a blog
[13:43] < MS-> and some new found friends on Livejournal
[13:43] < MS-> (IIRC live journal provides FOAF records you see)
[13:44] < Chong-> yes.
[13:44] < Davbo> lol :-)
[13:45] < MS-> Oh, not sure I've mentioned it, Warren King is a non-existent user
[13:45] < MS-> which is sometimes very useful to have
[13:45] < MS-> It's a play on "Kingswood Warren"
[13:45] < vmlemon_> Isn't there an "Example User" account?
[13:46] < vmlemon_> (or a "Some One", or something like that) ;)
[13:46] < Chong-> MS-: I see. I was confused just now.
[13:46] < MS-> ( http://www.bbc.co.uk/rd/location/index.shtml )
[13:46] < MS-> There's a Warren King user on SF for example, and on facebook
[13:46] < MS-> So gaining live journal is "interesting"
[13:47] < MS-> Could give kamlogbot a real name
[13:47] < MS-> :)
[13:47] < vmlemon_> Kamaelia Bðt?
[13:47] < Chong-> interesting :-)
[13:47] < vmlemon_> (Sounds Spanish ;) )
[13:48] < vmlemon_> "Kamaelia ID", anyone ;)
[13:49] < vmlemon_> (A pseudo-service that generates stuff like that as examples to use in Kamaelia apps)
[13:50] < vmlemon_> Could always have it generate the cat in various guises as a photo (e.g. with a Christmas hat, or sleeping)
[13:50] < Chong-> MS-: Just noticed you suggestion creating a directory named Physics3D rather than PhysicsGraph3D, any special reason or a typo? ;)
[13:53] < vmlemon_> Кämåélïá...
[13:56] < MS-> "(15:36:05) MS-: PhysicsGraph3D under Kamaelia.Visualisation
[13:56] < MS-> (15:36:14) MS-: Seems a reasonable first pass"
[13:58] < Chong-> MS-: I see.
[13:58] < MS-> Ah, I see "(15:38:46) MS-: My take is these live in Physics3D:"
[13:58] < MS-> that's just meaning "whatever you create under Kamaelia.Vis"
[13:58] < MS-> We'll probably want to revisit names anyway
[13:58] < Chong-> cool
[13:58] < MS-> But moving the code into a branch is the first step
[13:58] < Chong-> yep
[13:58] < MS-> Better to just get stuff in really first of all :)
[13:59] < Chong-> yes :-)
[13:59] < Chong-> Any suggestion about my code and the project?
[14:00] < MS-> Getting it packaged up such that someone checking out the branch can play with it is a good first step.
[14:00] < MS-> Making it such that you can create your own foaf files based on some data files would be good
[14:00] < MS-> Preferably from a DB, but you can fake that by storing data in flat files for the moment
[14:01] < MS-> serialising data using cjson
[14:01] < MS-> (one file per person)
[14:01] < MS-> Specifically if you could do this, it would be great:
[14:01] < MS-> create a bunch of fake people
[14:01] < MS-> (names of characters from IMDB mixed and matched for example)
[14:01] < Chong-> cool
[14:01] < MS-> Then a bunch of fake "things they belong to"
[14:01] < MS-> (eg organisations)
[14:02] < MS-> or clubs
[14:02] < MS-> and then have "things that these people collaborate on"
[14:02] < MS-> That gives a few different sorts of visualisations
[14:02] < vmlemon_> ACME? ;)
[14:02] < MS-> It gives you "organisations particiapting in the thing"
[14:02] < MS-> It gives you the people
[14:02] < MS-> It also means you may want to think about how you pop between the two
[14:03] < MS-> ie suppose people are numbered 1,2,3,4,5,6
[14:03] < MS-> and suppose orgs are labelled ABCDEFG
[14:03] < MS-> Now people inside orgs:
[14:04] < MS-> A : 1 2 3 4 5 6
[14:04] < MS-> B : 7 8 9 10 11 12
[14:04] < MS-> C : 13 14 15 16 17 18
[14:04] < MS-> D : 19 20 21 22 23 24
[14:04] < MS-> E : 25 26 27 28 29 30
[14:04] < MS-> F : 31 32 33 34 35 36
[14:04] < MS-> You can then have a collaboration :
[14:04] < MS-> COLLAB1 : 2 10 11 16 28 35
[14:04] < MS-> which can also be viewed as
[14:05] < MS-> COLLAB1: A B C E F
[14:05] < Chong-> interesting
[14:05] < MS-> But in terms of a hierarchical topology thing
[14:05] < Lawouach_> yummy, matrices :)
[14:06] < MS-> B really contains [ 7 8 9 10 11 12 ]
[14:06] *** Lawouach_ thinks about his Graph Theory courses
[14:06] < Lawouach_> fun :)
[14:06] < MS-> Lawouach_: :)
[14:06] < MS-> Now, if you get that done that'd be great.
[14:06] < MS-> As I say, you can take the data from cjson files
[14:06] < Chong-> Lawouach_: also seems like the movie matrix :-)
[14:06] < MS-> which are easy to work with
[14:07] < Chong-> cool
[14:07] < MS-> >>> B = [ 1,2,3,4,5,6 ]
[14:07] < MS-> >>> import cjson
[14:07] < MS-> >>> cjson.encode(B)
[14:07] < MS-> '[1, 2, 3, 4, 5, 6]'
[14:07] < Chong-> so there are two layers, the top level is organization and the next level is people.
[14:08] < MS-> >>> user1 = { "name" : "michael"}
[14:08] < MS-> >>> cjson.encode(user1)
[14:08] < MS-> '{"name": "michael"}'
[14:08] < Chong-> link is collabration
[14:08] < MS-> yes
[14:08] < Chong-> cool
[14:08] < MS-> and collaborations are technically between orgs, but in practice between people
[14:08] < MS-> The bit that is awkward really is the case where you have
[14:08] < MS-> COLLAB1: A B C E F
[14:09] < Chong-> it seems more suitable for boxed structure?
[14:09] < MS-> But you don't know who inside "F" for example is in the COLLAB1
[14:09] < MS-> ie given this:
[14:09] < MS-> (16:21:50) MS-: COLLAB1 : 2 10 11 16 28 35
[14:09] < MS-> you can derive this:
[14:09] < MS-> (16:22:14) MS-: COLLAB1: A B C E F
[14:09] < MS-> But not the other way round
[14:09] < MS-> But you do need the ability to do
[14:09] < MS-> (16:21:50) MS-: COLLAB1 : 2 10 11 16 28 NULL_from_F
[14:10] < MS-> So that COLLAB1: A B C E F stays valid
[14:10] < MS-> even if F hasn't got anyone
[14:10] < MS-> That's step 2 though
[14:10] < MS-> and ignorable for this
[14:10] < MS-> Chong-: that boxed structure is up to you :-)
[14:10] < MS-> It may be that you view it as
[14:11] < MS-> ADD NODE COLLAB1 ...
[14:11] < MS-> ADD NODE A
[14:11] < MS-> ADD NODE B
[14:11] < MS-> ADD NODE C
[14:11] < MS-> ADD NODE E
[14:11] < MS-> ADD NODE F
[14:11] < MS-> ADD LINK COLLAB1 A
[14:11] < MS-> ADD LINK COLLAB1 B
[14:11] < MS-> ADD LINK COLLAB1 C
[14:11] < MS-> ADD LINK COLLAB1 E
[14:11] < MS-> ADD LINK COLLAB1 F
[14:12] < MS-> and then render just the 38 inside
[14:12] < MS-> or have it such that you can switch between org view and person view
[14:12] < MS-> if you do that you'll probably want colour :)
[14:12] < Chong-> I see. when click COLLAB1, show 2 10 11 16 28 35; click A show 1 2 3 4 5 6
[14:13] < MS-> It's up to you really
[14:13] < MS-> Have a play and see what makes sense
[14:13] < MS-> The really neat stuff would be when you can show multiple collabs on screen as well
[14:13] < MS-> since whilst they wouldn't be linked directly with each other, the links between people will show up
[14:14] < Chong-> great. Will people be connected with each other?
[14:14] < MS-> Incidentally, this use case was the primary reason for putting up the project as a GSOC project in the first place
[14:14] < MS-> They're connected by collaborations
[14:14] < MS-> and connected by being inside the same org
[14:15] < Davbo> *Why* do so many people draw icons and *why* do they all license them as GPL?
[14:15] < Davbo> Just traversed KDE & GNOME -look.org
[14:15] < MS-> Because they don't want people thieving their hard earned effort :)
[14:15] < Chong-> yes. But are there link between them? or all of them link through collabs and orgs?
[14:15] < MS-> Chong-: That depends
[14:16] < vmlemon_> Hmm, can't they use Creative Commons license for them, or something like that?
[14:16] < MS-> At minimum you have these three things
[14:16] < MS-> People
[14:16] < MS-> Orgs (made up of people)
[14:16] < MS-> Projects (made up of people inside orgs)
[14:16] < Chong-> yes
[14:16] < MS-> But yes, there could also be "1 knows 2,3, 6, 10, 24"
[14:17] < MS-> If you really want to make life hard for yourself you could break orgs up into teams or depts
[14:17] < MS-> Probably useful to say what I'm simplifying here
[14:17] < MS-> BBC Manchester (people downstairs) has a number collaborations going on with lots of university groups and so on across the north west
[14:17] < MS-> ie lots and lots
[14:17] < MS-> dozens
[14:18] < MS-> with dozens of groups and unis
[14:18] < MS-> Most of it is tracked by the tools they have available - which boils down to word docs and spreadsheets
[14:18] < MS-> and they said "we need someway of visualising this"
[14:18] < Chong-> So, you want to draw their connections? interesting
[14:18] < MS-> to a colleague and I showed him the 2D visualiser and said, that would be good in 3D
[14:18] < MS-> essentially yes
[14:19] < MS-> Now, if you have a potential collaboration being set up between B, X,Y and Z
[14:19] < MS-> it's useful to find out if anyone in B,X,Y&Z have collaborated before and whether to bring them in etc
[14:19] < MS-> So as not to ignore history
[14:20] < MS-> Bringing in visual tools for expanding or shrinking networks based on people, teams/depts and orgs is really useful
[14:20] < Chong-> cool
[14:20] < Chong-> MS-: where is the 2D one? It would helps a lot if I can play with it first.
[14:21] < MS-> Oh, you've played with the 2D visualisation code
[14:21] < MS-> For the first 3-4 weeks
[14:21] < MS-> I was saying "we could hook this up to a data model"
[14:21] < Chong-> MS-: yes. But it hasn't the apps
[14:21] < MS-> or "we could get someone to do a 3D version of this"
[14:22] < MS-> Yes, we haven't written the app :)
[14:22] < MS-> I do however have code for creating and maintaining cjson files through a web interface
[14:22] < Chong-> MS-: I see.
[14:22] < MS-> You have a tool that can visualise things and could take some cjson files and visualise them...
[14:22] < MS-> A lot of kamaelia is about getting the dots in place ready to be joined up :)
[14:23] < Chong-> MS-: cool. where can I get the code for creating and maintaining cjson files?
[14:23] < Chong-> MS-: yep
[14:23] < vmlemon_> What happens after the dots are joined up?
[14:24] < Chong-> vmlemon_: becomes a big dot :-)
[14:24] < Chong-> or a line :-)
[14:24] < vmlemon_> Hehe
[14:24] < vmlemon_> It becomes a black hole somehow? ;)
[14:24] < MS-> Chong-: Hahahahaaha
[14:24] < MS-> :-)
[14:24] < Chong-> vmlemon_: a bomb :-)
[14:25] < vmlemon_> Ung
[14:26] < MS-> Chong-: here: http://code.google.com/p/facilitate/source/browse/trunk/
[14:26] < MS-> The scripts in "app" are WSGI scripts that sit inside a cgi/app directory
[14:26] < Davbo> When all the dots are joined MS- can finally type 1.0
[14:26] < MS-> they create data files in cgi/app/data
[14:26] < vmlemon_> It becomes Windows Vista and the universe collapses under the weight? ;)
[14:26] < MS-> They use Faciliate.model.Record to create/maintain the directory
[14:26] < MS-> and they use Facilitate.* to maintain them
[14:27] < MS-> http://code.google.com/p/facilitate/source/browse/trunk/Facilitate/Contacts.py isn't a bad starting point
[14:27] < MS-> when viewed in conjunction with
[14:27] < MS-> http://code.google.com/p/facilitate/source/browse/trunk/Facilitate/Register.py
[14:28] < Chong-> MS-: interesting. I'll have a look.
[14:28] < MS-> The data it stores though is just dictionaries stored as json objects on disk
[14:28] < MS-> It's not terribly complex
[14:28] < Chong-> cool :-)
[14:29] < MS-> Chong-: I am actively working on that code btw, but in a different branch
[14:29] < MS-> but it'll give you a fair idea of the sort of thing I'm creating
[14:30] < Chong-> cool
[14:30] < MS-> The reason for using it btw is because it's probably the easiest/laziest way of storing the data in a portable way :)
[14:31] < Chong-> yes, much easier than db :-) is it something like pickle?
[14:31] *** vmlemon_ wonders if any Python components exist for handling WBXML
[14:31] < MS-> Chong-: Yeah, you can think of it as a much simpler pickle
[14:32] < Chong-> cool
[14:32] < MS-> Pickle stores more interesting things, but isn't cross language/platform
[14:32] < MS-> CouchDB for example speaks JSON natively
[14:32] < MS-> so by picking that I pick up easy optimisations
[14:32] < Chong-> I see. Not know pickle very well
[14:33] < Chong-> cool
[14:33] < Chong-> MS-: The app seems very interesting, but I am not sure that I fully understand it.
[14:34] < Chong-> Initially, only collabs, orgs and their links are displayed?
[14:34] < MS-> I'll point you at where it's running off channel
[14:34] < MS-> Yep
[14:34] < Chong-> If double-clicking collabs, what happens?
[14:37] < MS-> Dunno
[14:37] < MS-> Up to you :)
[14:37] < MS-> your project really - have a play, see what makes sense :)
[14:39] < Chong-> cool. I'll make one first and then let you have a look to see if it make sense ;)
[14:39] < MS-> Sounds like a plan
[14:39] < vmlemon_> MS-: Just wondering, have you received my Agreement yet?
[14:40] < MS-> Did you watch that link I forwarded?
[14:40] < MS-> vmlemon_: been working from home on friday and today, so it may be in the office but I've not been there yet
[14:40] < MS-> :)
[14:40] < Chong-> MS-: yes, I have. very lovely
[14:40] < MS-> in the office tomorrow
[14:40] < MS-> Chong-: Cool
[14:40] < vmlemon_> OK
[14:40] < MS-> You'll understand why I suggest "have a play, see what works" more then I guess ? :)
[14:41] < Davbo> is there any other way MS-?
[14:41] < Davbo> than "have a play, see what works"
[14:41] < Davbo> ;-)
[14:42] < vmlemon_> See what doesn't work? ;)
[14:42] < Chong-> MS-: yes :-)
[14:43] < Chong-> hehe
[14:43] < MS-> Davbo: Lots of people would like to think otherwise
[14:43] < MS-> In some (limited) domains you can do big design up front well
[14:43] < MS-> but I've only ever seen that work well a few times
[14:44] < MS-> normally you have to create a design that allows people to explore the problem domain independently really
[14:44] < Davbo> In my experience "Lots of people would like to think otherwise" == academics
[14:46] < MS-> You might say that, I couldn't possibly comment :)
[16:55] *** bcarlyon|laptop has joined #kamaelia
[17:03] *** robertofaga has joined #kamaelia
[17:32] *** j_baker has joined #kamaelia
[17:48] < j_baker> MS-: Is there any kind of comprehensive list of the things that need to be done to make our code ready for merge? I mean the kinds of things like adding a list of kamaelia components to the end, making examples, etc?
[17:48] < j_baker> I'm not too that point yet, but I want to make sure the info is available when I do get there. :)
[17:49] < Davbo> Evenin' j_baker
[17:49] < j_baker> Hello Davbo
[17:51] *** Davbo goes to watch that new Richard Dawkins program
[17:51] < Davbo> back in a bit
[17:51] *** Davbo is now known as Davbo-afk
[18:28] *** j_baker is now known as j_baker-brb
[18:49] *** Davbo has joined #kamaelia
[19:03] *** j_baker-brb is now known as j_baker
[19:21] < j_baker> Davbo, you wouldn't happen to know if there are any file browsing or project management features in Scribes, would you?
[19:23] < Davbo> There's no project stuff, and the developer doesn't like tabs. Press F9 for the currently open switcher
[19:24] < Davbo> I'm still getting used to it, but I'll try to stick with it for a while I think :-)
[19:25] < j_baker> I think I'll just stick with komodo edit. I like templates, but I've grown addicted to file management and intellisense.
[19:32] < Davbo> Heh, I'm not big on that stuff
[19:36] < Davbo> Right, g'night all.
[19:42] < MS-> j_baker: Can I answer the question you've posed on the list?
[19:42] < MS-> ie this one "Is there any kind of comprehensive list of the things that need to be done to make our code ready for merge? I mean the kinds of things like adding a list of kamaelia components to the end, making examples, etc?"
[19:42] < j_baker> That's fine.
[19:42] < MS-> cool
[19:43] < MS-> Fundamentally it boils down to "can someone else follow the what and the why of this code"
[19:43] < MS-> For stuff in Kamaelia.Apps.< thing> this is less of a problem generally speaking because the why gets answered by /Code/Python/Apps/< thing>
[19:44] < MS-> Similarly for examples.
[19:44] < MS-> But there's more to it than that.
[19:51] < j_baker> I see.
[19:54] < MS-> Last year we had everyone review each other's code about a week before the end of GSOC, and for those who were ready it made a big difference
[19:54] < MS-> Making it very clear that whilst I can be a pain in the arse, it's nothing like someone coming across the code completely cold
[21:01] < vmlemon_> "Yay", http://house404.co.uk/PManager.png
[21:01] < vmlemon_> All that junk to install, just for OpenSSL development components
[21:12] < vmlemon_> And they have an arrogant "you can't have it" attitude
[21:12] < vmlemon_> to boot
[21:12] < vmlemon_> Oops, wrong channel
[21:16] *** bcarlyon|laptop is now known as BarryCarlyon
[21:27] < MS-> heh
[21:27] *** robertofaga has joined #kamaelia
[21:51] *** vmlemon_ has joined #kamaelia
[22:05] *** vmlemon_ has joined #kamaelia
[22:25] *** MS- has parted #kamaelia