[01:03] *** j_baker has joined #kamaelia
[01:07] < j_baker> You still up Davbo? It's like 2AM there isn't it?
[02:00] *** j_baker-away is now known as j_baker
[07:21] *** Lawouach_ has joined #kamaelia
[07:21] < Lawouach_> morning
[07:57] *** mhrd has joined #kamaelia
[08:18] *** orphans has joined #kamaelia
[08:34] < Lawouach_> As i was saying on the #cherrypy channel
[08:34] < Lawouach_> I've recently been told to look at Redmine
[08:34] < Lawouach_> a competitor to Trac
[08:34] < Lawouach_> and boy!
[08:35] < Lawouach_> This looks like it beats Trac in every respect
[08:35] < Lawouach_> http://www.redmine.org/wiki/redmine/Features
[08:35] < Lawouach_> Multi-projects, gantt chart, calendar, built-in forum, fast...
[08:35] < Lawouach_> mhrd: might be an idea to ask MS- to check it out
[08:36] < mhrd> was about to ask you to justify your assertion; but "fast" is indeed a good thing :-)
[08:37] < mhrd> if you don't mention it to him, I will
[08:37] < mhrd> that said, I have not much more contact with him that you guys do atm (based in different locations)
[08:38] < mhrd> in what ways do you feel it would give us a superior setup to what we have now?
[08:38] < Lawouach_> That's a good question :)
[08:38] < Lawouach_> I guess it's just the habit to see most OSS projects now being handled with such products
[08:38] < mhrd> I'm not suggesting what we have now is worse or better; but am interested to elucidate some specific benefits
[08:39] < Lawouach_> It would mainly be interesting if we were hosting the entire project ourselves
[08:39] < mhrd> yep
[08:39] < Lawouach_> Which is not and will probably never be the case
[08:39] < Lawouach_> I guess it feeds the discussion about "leaving SF? ok but for what?"
[08:41] < mhrd> indeed. fwiw, I'd probably prefer "such products" - purely on the basis that someone else will have been able to spend more time fleshing them out, smoothing the rough edges etc ... but that still leave the issues of hosting (as you've identified) and integration of externally generated docs
[08:41] < mhrd> plus there's always the fun of porting existing content ;-)
[08:43] < Lawouach_> indeed :)
[08:43] < mhrd> one thing that I really appreciate is RSS feeds of wiki changes - which afaik the current setup doesn't have
[08:44] < mhrd> RSS and email notifications has become a key tool for me managing my workload and time these days
[08:45] *** mhrd has to boot his laptop into winxp and fire up visual studio :-(
[08:46] *** bcarlyon|laptop has joined #kamaelia
[08:53] < mhrd> interesting alt opinion: http://changelog.complete.org/posts/696-Thoughts-on-Redmine.html
[09:03] < Lawouach_> reading
[09:05] < Lawouach_> thanks for that
[09:08] < mhrd> np
[09:09] < Lawouach_> mhrd: do you have a blog or a home page?
[09:10] < Lawouach_> I'm writing a blog post on this and would like to give you credit for the links :)
[09:19] < mhrd> thats very kind; but (unbelievably) I don't
[09:20] < Lawouach_> good for you :)
[09:20] < mhrd> don't worry about linking to me - just saying Matt and Kamaelia/whatever-is-appropriate is more than sufficient
[09:20] < mhrd> I decided I didn't have anything interesting to say :-)
[09:28] < Lawouach_> It's hard to find topics indeed
[09:28] < Lawouach_> Plus so many times do i read blog posts and i realize some people speak more than they do :)
[09:28] < Lawouach_> Anyway http://www.defuze.org/archives/13-Redmine-vs-Trac.html
[09:34] *** Uraeus has joined #kamaelia
[09:53] *** MS- has joined #kamaelia
[09:54] < MS-> greetings
[09:55] < Lawouach_> hi MS-
[09:55] < Lawouach_> read the chat log :)
[09:55] < MS-> have done.
[09:55] < MS-> don't really have the spare cycles at the moment :-/
[09:56] < Lawouach_> np :)
[09:56] < MS-> Interesting link though
[09:57] < MS-> Could've done without seeing that license file in /Sketches though.
[09:57] < MS-> Though I realise that's 99.9999% certain due to kdevelop rather than anything else
[09:57] *** Lawouach_ doesn't quite follow MS- 
[09:58] < MS-> j_baker's code is listed as GPL only at present
[09:58] < MS-> Which isn't really appropriate if it's ever to be used (since Kamaelia is a library after all)
[09:58] < Lawouach_> Indeed. He should know since it was part of the agreement :)
[09:59] < MS-> I reckon as a result it's just kdevelop doing stuff he doesn't expect
[09:59] < MS-> since it slaps those sorts of notices in by default
[09:59] < Lawouach_> I see.
[09:59] < MS-> ho hum
[10:00] < MS-> (Since RMS's visit to manchester there's been a flame war of BSD vs GPL flaring on a local mailing list, and my preference is the license with the least arguments
[10:00] < MS-> which would be BSD, but I couldn't get that through)
[10:01] < mhrd> yeah- noticed the licence file too ...
[10:01] < mhrd> at least there's no pre-amble in the sources, so I guess that means the licence isn't actually applied to any of them (?)
[10:01] < Lawouach_> People are still flaming around those things?
[10:01] < Lawouach_> sigh
[10:02] < MS-> Lawouach_: yes, sadly
[10:26] *** bcarlyon|laptop has joined #kamaelia
[11:24] *** MS- writes a post about contributor agreements
[11:24] *** MS- has browser crash whilst writing it.
[11:24] *** MS- screams
[11:24] *** MS- runs "strings /proc/kcore"
[11:24] *** MS- searches for what he was typing
[11:25] *** MS- decides it's time for lunch since someone has also started playing silly b's on the phone with me.
[11:36] < vmlemon> Hi
[11:47] *** Davbo has joined #kamaelia
[11:48] < Davbo> Afternoon folks
[12:01] < Davbo> MS-: fyi, just got the final exam timetable. No clashes with GSoC meetings
[12:02] < Davbo> last exam is on June 6th
[12:40] *** Davbo wonders why Kdevelop trys to put a license on your code.
[12:42] < mhrd> whoever said GPL wasn't viral ;-P
[12:42] < Davbo> s/trys/tries *sigh* can't speel today (intentional ;))
[12:43] < Davbo> Good idea mhrd, we make a GPL'd word processor and anything people write in there is GPL ¬.¬
[12:43] < Davbo> :-)
[12:46] < Davbo> The smiley faces in Mibbit creep me out.
[12:47] < MS-> Kdevelop does it because it's *trying* to be helpful
[12:48] < Davbo> I've never used it to be honest - is it like Eclipse?
[12:48] < Lawouach_> I thought one could choose the license it'd add
[12:49] < Davbo> ie. handles some things for you (for example, imports) and then but has a habbit of messing it all up?
[12:51] < MS-> Lawouach_: You can set it, but IME it's not reliable
[12:51] < MS-> (well, unless you want GPL ;) )
[12:51] < MS-> GPL is its default as well
[12:51] < MS-> Davbo: re exams - cool
[12:52] < Davbo> I don't think j_baker was about when we had that discussion about licenses last time. I wouldn't have been sure what to license my code as if you hadn't explained it to me then MS-
[12:52] < Lawouach_> Davbo: it was part of one of the first email MS- sent ;)
[12:52] < Lawouach_> nope
[12:53] < MS-> Didn't think so, ta
[12:53] < Lawouach_> so do I
[12:53] < Davbo> Oh yeah, forgot about that Lawouach_.
[12:54] < Lawouach_> :)
[13:05] < vmlemon> "Please leave a message after the tone"? ;)
[13:06] < MS-> vmlemon: Um, no. Definitely not.
[13:07] < vmlemon> Hah, "Well, what can I say KamConnect? We had a nice little run there didn.t we? But it was all a relationship of convenience. I mean, I needed a project title and you were just so. available. But really, I just want to be friends. It.s not you, it.s me. There.s someone else, this other software title called Kamaelia Publish."
[13:08] < MS-> heh
[13:08] < MS-> where's that from?
[13:08] < MS-> I like that
[13:08] < Davbo> His blog i think
[13:09] < Davbo> Lets hope his analogy doesn't go further than that joke, he might be divorcing from his project mid-GSoC ;)
[13:10] < vmlemon> Shame that MSIE mangles apostrophes
[13:11] < Davbo> They might end up in legal procedings for who gets owner privilages on the repositories
[13:11] < Lawouach_> :D
[13:12] < Lawouach_> It's quite cool indeed.
[13:14] *** Lawouach_ is listening to Iron Maiden - be quick or be dead
[13:16] *** MS- notices that Lawouach isn't Lawouach_
[13:18] < orphans> hey all
[13:21] < MS-> orphans: Hiya
[13:21] < orphans> how it going?
[13:21] < orphans> *how's
[13:21] < MS-> It's sunny here
[13:22] < orphans> here too - stuck inside though. *sigh*
[13:23] < MS-> :)
[13:24] < orphans> heh, I got a priceless email from my department today. "The rescheduled (but we haven't told you about it being rescheduled) 3657 revision lecture (where they tell you what's in the exam) is NOW. Sorry for late (??!?!?!) notice."
[13:25] < orphans> unsurprisingly I didn't make it...
[13:25] < MS-> crikey
[13:26] < orphans> there's been less important ones where we've got the email an hour in to whatever we were supposed to be attending. This one's pretty annoying though
[13:28] < MS-> Didn't they try something a bit retro like telling people?
[13:28] < orphans> nah, that's not how it generally works :) I'd quite like to know how many people made it
[13:29] < MS-> 42
[13:29] < orphans> 4/2 and you might be close
[13:34] < orphans> meh, at least theres a good wtf today => http://img.thedailywtf.com/images/200805/errord/fatal.gif
[15:02] < Lawouach_> damn I need a food logo for defuze
[15:02] < Lawouach_> Can't stand that Trac logo anymore
[15:02] < Lawouach_> If anyone has an idea and can draw :)
[16:20] *** j_baker has joined #kamaelia
[16:28] < Lawouach> back
[16:48] < j_baker> Does anybody know if there's an example for the SimpleHttp server anywhere other than what's in the cookbook?
[16:56] < mhrd> cookbook page url?
[16:57] < j_baker> http://kamaelia.sourceforge.net/Cookbook/HTTPServer
[17:11] < mhrd> MS- has done some experiments with it (see his Sketches folder in svn)
[17:12] < mhrd> iirc Ryan Lothian (previous GSoCer) wrote it to use as part of his integration of a bittorrent client (?to serve torrents?)
[17:13] < mhrd> Code/Python/Kamaelia/Kamaelia/Protocol/HTTP/Handlers/UploadTorrents.py
[17:14] < j_baker> Ok, will check it out
[17:45] *** bcarlyon|laptop has joined #kamaelia
[17:54] < Lawouach> kabooooooooooooooooom!!!!!!!!!!
[17:55] < Lawouach> damn it
[17:55] < Lawouach> ssl drove me nuts
[17:55] < Lawouach> note the past tense :)
[17:55] < Lawouach> I can read the matrix
[17:57] < bcarlyon|laptop> i own the matrix....
[17:58] < Lawouach> I can read you then.
[17:59] < Lawouach> awesome, I know have SSL working with Kamealia :)
[17:59] < Lawouach> I beat you machine!
[18:00] *** bcarlyon|laptop deletes ssl from the matrix
[18:00] < bcarlyon|laptop> muhahahahahahahaha
[18:01] *** Lawouach turns the page back and reads it again!
[18:01] < Lawouach> now take that you 1 & 0
[18:03] *** bcarlyon|laptop swaps your 0 for a 1 and your 1 for a 0
[18:04] < Lawouach> now that's just an unfair thing to do
[18:05] < Lawouach> do you think you're like some quantum computer or what?
[18:05] *** j_baker has joined #kamaelia
[18:05] < bcarlyon|laptop> well I am the matrix
[18:06] < j_baker> ...interesting first line to see whenever I join the room. :P
[18:06] *** bcarlyon|laptop prepares to remove j_baker from the room
[18:06] < j_baker> lol
[18:07] *** bcarlyon|laptop wonders where MS- (the Oracle) is....
[18:08] *** Uraeus has joined #kamaelia
[18:10] < Lawouach> j_baker: bcarlyon|laptop seems to believe he can out powered me. Sadly mistaken.
[18:10] < j_baker> :o Lawouach is the one.
[18:11] < Lawouach> Well I don't want to show off but heck yeah.
[18:11] < bcarlyon|laptop> You may destroy the Agent Smith Programme and we shall be at Truce, One
[18:13] *** bcarlyon|laptop may have watched the Matrix Trilogy recently......
[18:14] < Lawouach> one too many indeed
[18:14] *** bcarlyon|laptop will now reject ITV and subsitute other channels
[18:14] < j_baker> I < 3 the Matrix
[18:17] *** bcarlyon|laptop raises a hand tidly, "What does < 3 mean, sir?"
[18:17] < bcarlyon|laptop> s/tidly/timidly
[18:23] < j_baker> It's a heart.
[18:25] < bcarlyon|laptop> ah yes
[19:31] *** Davbo has joined #kamaelia
[20:48] *** MS- has joined #kamaelia
[20:48] < MS-> evening
[20:53] *** Chong- has joined #kamaelia
[20:54] < bcarlyon|laptop> The Oracle is here YAY!
[20:54] < Chong-> Evening, everyone.
[20:54] *** MS- looks around
[20:54] < bcarlyon|laptop> hi chong ( MS- is the oracle btw)
[20:54] < MS-> um. O. K.
[20:55] < MS-> I'd be worried if that was the case myself :)
[20:55] < bcarlyon|laptop> MS- read logs ;-)
[20:55] < MS-> I wouldn't have anyone to ask questions
[20:55] < MS-> aside from anything else
[20:55] *** MS- looks at logs
[20:55] < Chong-> bcarlyon|laptop: I could not agree more :-)
[20:55] < MS-> Ah I see
[20:55] < MS-> No, you misunderstand
[20:55] < MS-> I'm the spoon
[20:56] < bcarlyon|laptop> haha
[20:58] < Chong-> MS-: So, our meeting time has been set?
[20:58] < MS-> As per the mails, yes
[20:59] < Chong-> Our mentor meeting time is 3pm every Monday and group meeting is 4pm every Thursday?
[21:00] < MS-> Yep - the screams stopped at that point, so that seemed right :)
[21:00] < Chong-> And the time is BST not GMT?
[21:00] < MS-> It's 3pm UK time
[21:00] < Chong-> That's great.
[21:01] < Chong-> Thanks:-)
[21:01] < MS-> I do everything based on saying "Xpm < local time>" since then everyone knows what you mean and can deal with it
[21:01] < MS-> Otherwise you run in "UTC?, GMT? BST"
[21:02] < Chong-> I see.
[21:02] < MS-> "3pm for me" kinda gets down to brass tacks :)
[21:02] < MS-> For example if j_baker says "3pm for me", OK I have to do a conversion, but that's one that can be done easily
[21:03] < Chong-> hehe
[21:10] *** MS- comes across svn2cl
[21:14] < Chong-> MS-, nothing new is there :-)
[21:14] < MS-> what do you mean?
[21:15] < Chong-> I mean in my svn sketch directory cl
[21:15] < MS-> oh, no
[21:15] < MS-> I didn't mean that
[21:16] < Chong-> Then what do you mean svn2cl?
[21:16] < MS-> This: http://ch.tudelft.nl/~arthur/svn2cl/
[21:17] < Chong-> I see. Sorry for the misunderstanding. :-)
[21:18] *** MS- changed the topic to Next weekly meeting 4pm 15th May 2008 (first of restart) | http://www.bbc.co.uk/blogs/bbcinternet/2008/05/google_summer_of_code.html | Don't ask to ask, just ask (channel is logged: http://yeoldeclue.com/logs/
[21:18] *** j_baker has joined #kamaelia
[21:18] *** MS- greets j_baker :)
[21:19] < j_baker> hello
[21:19] < MS-> heya
[21:19] < bcarlyon|laptop> Hello
[21:19] < Chong-> evening, j_baker
[21:19] < j_baker> Hey MS-, where is the MoreComplexServer?
[21:19] < MS-> hiding
[21:19] < MS-> sorry
[21:19] < MS-> it's in my branch
[21:19] < MS-> /branches/private_MPS_Scratch/
[21:20] < MS-> You need to install the Axon from there & Kamaelia from theer
[21:20] < j_baker> Ah, I see.
[21:20] < MS-> Or use the ER Modeller tarball
[21:20] < MS-> Which is I think the most recent snapshot available (beyond just using that branch)
[21:20] < MS-> It really needs to get merged at some point
[21:21] < j_baker> One other question: is there a version of the code from the HTTPServer code from the cookbook that I can download?
[21:21] < j_baker> I built one, but I can't seem to get it to return anything but a 404.
[21:21] < MS-> I see
[21:22] < MS-> Yes, Ryan's code is a pain to get started
[21:23] < j_baker> I tried copying it and pasting it, but it did the same thing (although I did have to fix the indentation to get it working).
[21:26] < MS-> OK, I've installed
[21:26] < MS-> From trunk
[21:26] < MS-> Axon
[21:26] < MS-> Kamaelia
[21:26] < MS-> both using
[21:26] < MS-> sudo python setup.py install --force
[21:26] < MS-> (so I know they're from trunk)
[21:27] < MS-> I've copied & pasted the example from the cookbos
[21:27] < MS-> cookbook
[21:27] < MS-> and made this edit:
[21:27] < MS-> diff cookbook_1.py~ cookbook_1.py
[21:27] < MS-> 16c16
[21:27] < MS-> < homedirectory = "/srv/www/htdocs"
[21:27] < MS-> ---
[21:27] < MS-> > homedirectory = "/srv/www/htdocs/"
[21:27] < MS-> and it now works
[21:27] < MS-> I'll check in
[21:28] < j_baker> sweet
[21:29] < j_baker> I'm assuming that there's not any kind of restriction on what home directory can be is there?
[21:29] < MS-> There isn't.
[21:29] < MS-> https://kamaelia.svn.sourceforge.net/svnroot/kamaelia/trunk/Sketches/MPS/HTTP/cookbook_1.py
[21:30] < MS-> Also, you could easily create your own handler to serve from anything anyway
[21:30] < MS-> That's how I did that peer proxy so quickly
[21:31] < j_baker> Is there any reason why you have to use the requestHandlers function instead of a Carousel?
[21:31] < MS-> To be fair, Ryan's code is IMO rather overly complex
[21:32] < MS-> You may well be able to use a Carousel
[21:33] < MS-> Hold on, methinks
[21:33] < MS-> Yes, you do have to use something like requestHandlers
[21:34] *** MS- explains
[21:34] < MS-> When
[21:34] < MS-> SimpleServer(protocol=HTTPProtocol,
[21:34] < MS-> port=8082,
[21:34] < MS-> socketOptions=(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1) ).run()
[21:34] < MS-> runs
[21:35] < MS-> you get the behaviour you see here:
[21:35] < MS-> http://kamaelia.sourceforge.net/Docs/NotationForVisualisingAxon
[21:35] < MS-> ie simple server accepts a connection
[21:35] < MS-> and creates an component to handle the data on the connection
[21:36] < MS-> In this case using HTTPProtocol as a factory function
[21:36] < MS-> which gives us HTTPProtocol objects
[21:36] < MS-> That's all well and good, but a little low level.
[21:36] < MS-> But what does HTTPProtocol actually return
[21:36] < MS-> Well it's a factory function:
[21:36] < MS-> def HTTPProtocol():
[21:36] < MS-> return HTTPServer(requestHandlers([
[21:36] < MS-> ["/echo", EchoHandler ],
[21:36] < MS-> ["/hello", HelloHandler ],
[21:36] < MS-> ["/", servePage ],
[21:36] < MS-> ]))
[21:37] < MS-> Which returns objects of the badly named "HTTPServer"
[21:37] < MS-> (Protocol.HTTP.Serverside might be better)
[21:37] < MS-> Anyway
[21:38] < MS-> That component does several things
[21:38] < MS-> One important one though is parsing the request line
[21:38] < MS-> ie this:
[21:38] < MS-> GET /echo HTTP/1.0
[21:38] < MS-> GET /foo HTTP/1.0
[21:38] < MS-> etc
[21:39] < MS-> In this case this would be clearer to split into two sections
[21:40] < MS-> def HTTPProtocol():
[21:40] < MS-> handler_factory = requestHandlers([ ["/echo", EchoHandler ],
[21:40] < MS-> ["/hello", HelloHandler ],
[21:40] < MS-> ["/", servePage ],
[21:40] < MS-> ])
[21:40] < MS-> return HTTPServer(handler_factory)
[21:40] < j_baker> Yeah, that definitely makes a lot more sense.
[21:40] < MS-> so requestHandlers( ...args... )
[21:41] < MS-> itself returns a factory
[21:41] < MS-> and depending on the path asked for returns a component to handle it
[21:42] < MS-> So, using a carousel here could be done
[21:42] < MS-> esp given the example on http://kamaelia.sourceforge.net/Cookbook/Carousels
[21:42] < MS-> But it's not the first thing I'd think of personally
[21:42] < MS-> Since HTTPServer itself is actually doing some work
[21:43] < MS-> It's an interesting thought though
[21:44] < j_baker> So then say I want to make the server able to use XMPP...
[21:45] < MS-> https://kamaelia.svn.sourceforge.net/svnroot/kamaelia/trunk/Sketches/MPS/HTTP/michael.py - this appears to be my code from when I was writing that cookbook entry
[21:46] < j_baker> I would change the protocol function to return either an XMPPServer (theoretically) or an HTTP server depending on the context?
[21:47] < MS-> I'm not sure what you want to do, so can't really comment sensibly I think
[21:48] < MS-> Would I be right in guessing that at present you're (for want of a better phrase) primarily exploring the problem space?
[21:48] < j_baker> Well, perhaps XMPP was a bad example.
[21:48] < j_baker> Yeah
[21:48] < MS-> and what the tools do now/can do/potential?
[21:48] < MS-> cool
[21:48] < MS-> Was beginning to wonder, and then I realised :)
[21:49] < j_baker> But suppose I want to use some other low level protocol instead of HTTP.
[21:49] < MS-> SimpleServer(protocol=SomethingElse, port=1234).run()
[21:49] < j_baker> Ok. That makes sense.
[21:50] < j_baker> One last question: I keep seeing a request variable everywhere. Is that basically just a dictionary that contains the info from the HTTP request?
[21:50] < MS-> This page is probably quite useful for figuring out/understanding SimpleServer
[21:51] < MS-> http://kamaelia.sourceforge.net/Docs/NotationForVisualisingAxon
[21:51] < MS-> Dump it to the console & find out :)
[21:52] < MS-> type(request), dir(request) are very useful when tracing through code that you're not familiar with
[21:52] < j_baker> Ok. I'll just have to play with it and skim through the documentation then.
[21:53] < MS-> Also, I tend to use print for debugging stuff extensively
[21:53] < j_baker> probably a good idea.
[21:53] < MS-> "Axon.debug" should be better than it is, and in the early days (pre release as open source) it was extremely useful
[21:53] *** j_baker hates pdb for debugging kamaelia code
[21:53] < MS-> But the pre-release model for debugging doesn't really fit with a shared model very well
[21:54] < MS-> I've never used pdb for that purpose and would be surprised if it worked
[21:54] < MS-> Feel free to say what's bad about code btw
[21:54] < j_baker> Heh... well, it certainly demonstrates just how much work kamaelia automates for you.
[21:55] < MS-> Whilst I like to give negative feedback to people in private, I'm more than happily with public humilation :)
[21:55] < MS-> I actively encouraged Matt to put ### VOMIT on code that I'd written :)
[21:56] < j_baker> lol
[21:56] < MS-> OK, I need to afk for a bit :)
[21:56] < MS-> biab
[21:56] < j_baker> thanks for your help
[21:56] < MS-> you're welcome :)
[23:28] < j_baker> MS- one question: Why is it that some components have a default argument set to None and then throw an error if that argument is None? It seems like it makes more sense just to not give a default argument.
[23:28] < j_baker> (ex: SimpleServer's __init__ method)
[23:32] *** Davbo has joined #kamaelia
[23:33] < j_baker> hi Davbo
[23:33] < Davbo> Hey all
[23:40] *** Davbo just reinstalled openSUSE and is having problems :(
[23:42] < j_baker> What's wrong?
[23:43] < Davbo> I don't know how but i installed it and there are none of the default software repositories in there
[23:43] < Davbo> so i'm adding them
[23:43] < Davbo> but get errors :/
[23:44] < j_baker> brb
[23:44] *** j_baker has parted #kamaelia
[23:46] *** j_baker has joined #kamaelia
[23:46] < j_baker> Ok, back
[23:49] < j_baker> Anyway, I just used the DVD for the software repositories...