[01:07] *** sadrul has joined #kamaelia
[02:43] *** sadrul has joined #kamaelia
[02:59] *** j_baker is now known as j_baker-away
[05:44] *** sadrul has joined #kamaelia
[06:00] *** Lawouach has joined #kamaelia
[06:36] < Lawouach_> morning
[06:52] *** vmlemon_ has joined #kamaelia
[06:53] < vmlemon_> Hi
[07:02] *** PJ_Coudert has joined #kamaelia
[07:33] *** Chong- has joined #kamaelia
[07:33] < Chong-> Morning, all.
[07:55] *** orphans has joined #kamaelia
[08:56] *** MS- has joined #kamaelia
[08:56] < MS-> greetings
[09:00] < Lawouach_> hi MS-
[09:00] < Lawouach_> how are you?
[09:01] < MS-> I'm fine - yourself ?
[09:01] < MS-> Was stuck on trains and meetings all day yesterday
[09:02] < MS-> Total of 10 hours travelling all told yesterday
[09:02] < Lawouach_> ouch
[09:02] < Lawouach_> sorry for you
[09:03] < Lawouach_> I'm doing good
[09:03] *** mhrd-afk is now known as mhrd
[09:03] < mhrd> morning
[09:03] < Lawouach_> Have you had a chance to see that Kamaelia got a bit of spot light yesterday?
[09:03] < Lawouach_> morning mhrd
[09:04] < MS-> hm?
[09:04] < MS-> It did?
[09:04] < MS-> Cool :)
[09:04] < Lawouach_> http://reddit.com/r/programming/
[09:04] < Lawouach_> Look up for Kamaelia
[09:04] < Lawouach_> It was also well placed on deliocus
[09:05] < Lawouach_> http://del.icio.us/url/c079c50d2078b29f74a1fa89c6272501
[09:12] *** MS- looks
[09:12] < MS-> Ooh, cool. #13 on reddit for programming?
[09:13] < MS-> PIty the front page says "Downoad" and the code is out of date :-/
[09:13] < MS-> But very cool :)
[09:14] *** MS- reads the link
[09:15] < MS-> Nice article :-D
[09:17] *** Chong- has joined #kamaelia
[09:19] < Chong-> MS-: can you help me check why the code doesn't work?
[09:19] < Chong-> http://chong.pastebin.com/f1bbef1bb
[09:20] < mhrd> in what way does it not work?
[09:21] < mhrd> what do you do to use it? what output do you expect? what are you actually getting?
[09:22] < Chong-> It is supposed to draw a topology from a file commands.
[09:23] < Chong-> But it open pygame and then close it imediately.
[09:23] < mhrd> any errors on the console output? have you used any of the other topologyviewer based tools/demos/examples? eg. AxonVisualiser?
[09:24] < Chong-> the file is here http://chong.pastebin.com/f27a9ec5b
[09:25] < Chong-> yes. Others work. So, I suppose the problem is within my code.
[09:25] *** Trun has joined #kamaelia
[09:25] < mhrd> any errors on the console output?
[09:26] < Chong-> I also did the console input one. it works.
[09:26] < Chong-> http://chong.pastebin.com/f2819c06c
[09:26] < Chong-> No obvious error.
[09:26] < mhrd> ah, k ...
[09:27] *** mhrd knows what it is ...
[09:27] < MS-> it's improved shutdown isn't it
[09:27] < mhrd> can you summarise for me what the behaviour of th ReadFileAdaptor componet is?
[09:27] < Chong-> Brilliant
[09:27] *** MS- looks
[09:27] < Lawouach_> MS-, mhrd: also http://www.defuze.org/archives/16-XMPP,-AtomPub,-headstock,-amplee-and-the-BBC.html
[09:27] < Lawouach_> in case you missed it :)
[09:28] < mhrd> Lawouach_: ta
[09:28] < mhrd> more specifically ... what does it do when it reaches the end of the file it is reading?
[09:29] *** vmlemon_ has joined #kamaelia
[09:29] < vmlemon_> Hi
[09:29] < MS-> mhrd: it does what you suspect - it reads from the file, sends to the visualiser which follows the commands, gets the shutdown signal and then quits
[09:29] < Chong-> it will raise "End of Data"
[09:29] *** MS- looks at Lawouach's link
[09:30] < Chong-> morning, vmlemon_
[09:31] < MS-> I think it boils down to either a producerFinished message being interpreted as a "shutdown the topology visualiser" mesage
[09:31] < MS-> of the RFA is spitting out a shutdown message
[09:31] < MS-> I'm certain it sends a producerFinished though
[09:31] < MS-> So the visualiser is probably at fault there, but its worth checking
[09:31] < Chong-> MS- : so the problem is ReadFileAdaptor shutdown the whole process? but it's still running.
[09:31] < Lawouach_> MS-: It could be fun to use my code and add an audio/video that goes to fetch the specific BBC program when alerted about it via XMPP then plays it
[09:32] < Lawouach_> It could be a fun way to make many aspect of Kamaelia work together while an interesting concept to demonstrate to your colleagues at the BBC
[09:32] < Chong-> I see.
[09:33] < mhrd> whereas the consolereader component never finishes - its always waiting for the next line of user input, so it never sends one of these msgs
[09:33] < MS-> Lawouach very interesting
[09:34] < MS-> Chong-: The RFA doesn't shutdown the whole process, but what it does, causes the process to shutdown
[09:34] < MS-> When it reaches end of file, it has no reason to stay living, so it shuts down
[09:34] < MS-> When it does, it sends a producerFinished message out of it's signal box
[09:34] < MS-> which gets picked up by the next component
[09:35] < MS-> In this case, lines to token lists
[09:35] < MS-> lines to token lists realises that it then has no more source data coming in
[09:35] < Chong-> Can it just shut down itself and leave others alone?
[09:35] < MS-> so it shuts down
[09:35] < MS-> and passes it's message on
[09:35] < MS-> Chong-: From*it's* perspective that's precisely what it's doing
[09:36] < MS-> It's just telling the others in the chain "hey, I've shut down"
[09:36] < MS-> "you do what you want to do :-)"
[09:36] < mhrd> ...by sending a message out of its "signal" outbox
[09:36] < MS-> which is what producerFinished means
[09:36] < Chong-> got it.
[09:37] < MS-> ie it does this:
[09:37] < MS-> sig = producerFinished(self)
[09:37] < MS-> self.send(sig, "signal")
[09:37] < MS-> The next person in the chain then has to decide what they want to do next
[09:37] < MS-> s/person/component/
[09:37] < Chong-> So in your modeller.py, you used Backplane to save the data after the shutdown.
[09:37] < MS-> hold on
[09:38] < MS-> lines_to_tokenlists does this for its shutdown
[09:38] < MS-> def shutdown(self):
[09:38] < MS-> """\
[09:38] < MS-> Returns True if a shutdownMicroprocess or producerFinished message was received.
[09:38] < MS-> """
[09:38] < MS-> which then boils down to:
[09:38] < MS-> if isinstance(msg, shutdownMicroprocess) or isinstance(msg, producerFinished):
[09:38] < MS-> self.send(msg,"signal")
[09:38] < MS-> return True
[09:39] < MS-> So as far as it's concerned, if it's told it must shutdown (the first message type) or than it is NOT getting more data (the second message type)
[09:39] < MS-> then it decides it may as well shutdown too.
[09:39] < MS-> And passes on the message it recieved.
[09:39] < MS-> Which in this case, since it came from an RFA will always be producerFinished
[09:40] < Chong-> So, lines_to_tokenlists and TopologyViewer will shut down when their input component shutdown
[09:40] < MS-> So *it* is operating correctly
[09:40] < MS-> Wait
[09:40] < MS-> We're discussing each one in isolation
[09:40] < MS-> I've said how RFA works
[09:40] < Chong-> np
[09:40] < MS-> and how lines_to_tokenlists work
[09:41] < MS-> but all that tells you is a "producerFinished" message is reaching the signal outbox of lines_to_tokenlists
[09:41] < MS-> now since that's in a pipeline, this means it gets passed on to the topology visualiser
[09:41] < MS-> so the question is what does *it* do when it recieves the message?
[09:42] < MS-> Well, if we look at the code, it does this:
[09:42] < MS-> if self.dataReady("control"):
[09:42] < MS-> msg = self.recv("control")
[09:42] < MS-> if isinstance(msg, Axon.Ipc.producerFinished) or isinstance(msg, Axon.Ipc.shutdownMicroprocess):
[09:42] < MS-> self.send(msg, "signal")
[09:42] < MS-> self.quit()
[09:42] < MS-> And it's debateable whether that's right.
[09:42] < MS-> My feeling is that it's wrong.
[09:43] < MS-> My feeling is that it should be this instead:
[09:43] < MS-> if self.dataReady("control"):
[09:43] < MS-> msg = self.recv("control")
[09:43] < MS-> if isinstance(msg, Axon.Ipc.shutdownMicroprocess):
[09:43] < MS-> self.send(msg, "signal")
[09:43] < MS-> self.quit()
[09:43] < MS-> since the viewer can have good reason to stay visible even when it's told the data source for the topology has gone away
[09:43] < MS-> thoughts welcome
[09:43] < Chong-> yes. I agree.
[09:44] < Chong-> For lines_to_tokenlists, it has no meaning to exist if its producer shut down.
[09:45] < MS-> mhrd: It was your code in the first place, I'm guessing you would agree this makes more sense this way?
[09:45] < Chong-> But for topology view, it has function to show the result even if the program ends.
[09:47] < Chong-> otherwise, if it ends before users can see the topology, it becomes useless.
[09:47] < MS-> yep
[09:48] < MS-> Since it's generic as well, and could be used (it isn't but could be) for a more general user interface approach, it strikes me as sensible to stay open.
[09:50] < Chong-> yes. Maybe we can define its behavior when initiate it.
[09:51] < Chong-> make its behavior definable by users.
[09:51] < MS-> Chong-: In this case I think that's overkill.
[09:52] < MS-> If there's a clear need to make it optional between the messages, I would, but I think I'd need to see a reason for it being optional really
[09:52] *** MS- waits for confirmation from mhrd/someone
[09:53] < MS-> It's such a tiny change I'm proposing just changing it on trunk and being done with it, as per get out clause on the dev processes page for such things
[09:53] < Chong-> yes. I agree. there is little chance that users want the other behavior.
[09:55] < Chong-> I support your proposal.
[09:55] < Chong-> Thank you very much for your help, MS- and mhrd.
[09:57] < Lawouach_> That sounds reasonable to me as long as it's documented :)
[09:58] < MS-> cool
[09:58] *** j^ has joined #kamaelia
[10:04] *** mhrd returns
[10:04] < mhrd> MS-, Chong: yes, I agree it woudl be better behaviour for the topology viewer
[10:04] < mhrd> and possibly other persistent UI type components
[10:05] < Chong-> cool :-)
[10:05] < Chong-> Maybe we can generalize two types of shut down behaviour of components
[10:06] < mhrd> MS-: changing it on trunk - cool. but do a quick audit of where topologyviewer is used first and see that it doesn't break anything (extremely unlikely) :-)
[10:16] < mhrd> there'll always be borderline cases ... where the behaviour you want will depend on the context in which a component is used
[10:16] < MS-> True
[10:17] *** mhrd wouldn't be surprised if something like a BlockProducerFinished component eventually gets written :)
[10:17] < MS-> But I think that if someone wants that they could always write an adapter componer
[10:18] < MS-> That could be written today if the filter component could be told which in/outbox to filter
[10:22] *** mhrd has parted #kamaelia
[10:29] *** mhrd has joined #kamaelia
[10:48] *** PJ_Coudert has joined #kamaelia
[10:54] < Lawouach> MS-: the BBC radio labs stutff is quite exciting :)
[11:03] *** vmlemon has joined #kamaelia
[11:08] < vmlemon> o.O "Try it without fear -- our instant rollback feature works like a giant undo button, so your system is always protected, and you'll never lose work."
[11:18] *** j^ has parted #kamaelia
[11:19] *** j_baker-away is now known as j_baker
[11:20] < j_baker> Morning everyone.
[11:20] < vmlemon> Hi j_baker
[11:21] < j_baker> Man, downloading Fedora 9 is a PITA
[11:21] *** vmlemon has just ordered the free OpenSolaris CD
[11:22] < j_baker> Nice.
[11:23] < vmlemon> Aaw, "(h) Software is not designed, licensed or intended for use in the design, construction, operation or maintenance of any nuclear facility and Sun and its licensors disclaim any express or implied warranty of fitness for such uses."
[11:24] < j_baker> I think I speak for everyone when I say that I think it's a bad idea for you to try and run a nuclear plant, vmlemon. :P
[11:25] < vmlemon> Hah
[11:25] < vmlemon> I wouldn't be likely to use it for such a thing
[11:25] < vmlemon> Although I do find it fairly amusing that they include such clauses, sometimes
[11:25] *** Davbo has joined #kamaelia
[11:26] < j_baker> MS- I got the WSGI code to pass wsgiref.validate (It's still not WSGI compliant though)
[11:34] < MS-> cool
[11:34] *** MS- is on phone
[11:45] < vmlemon> Ouch, "da1: write failed, user block limit reached."
[11:50] < Lawouach_> j_baker: that's good news :)
[11:50] < j_baker> :)
[11:51] < Davbo> Afternoon all
[11:52] *** Uraeus has joined #kamaelia
[11:52] < j_baker> Hello Davbo
[11:55] < Davbo> MS-: you see Kamaelia on the delicious front-page yesterday?
[11:56] < MS-> Davbo: Nope - I heard about it though :)
[11:56] < MS-> I was stuck in trains and meetings yesterday
[11:56] < MS-> Trun: Sorry for the delay
[11:57] < MS-> I know we should've had our rescheduled meeting starting an hour ago :-(
[11:57] < MS-> Let me know when is convenient for you
[11:57] < MS-> :)
[12:00] < Davbo> also, credit where it's due the new website looks pretty cool
[12:01] < Davbo> the thing in your sketches anyway
[12:01] < MS-> Davbo: Thanks :)
[12:01] < MS-> Yay, someone's looked at it :)
[12:02] < Davbo> hehe
[12:04] < Trun> hi
[12:04] < vmlemon> New website?
[12:04] < Lawouach_> ?
[12:04] < Lawouach_> vmlemon: indeed
[12:04] < MS-> Trun, realistically, I think we'd need to have your meeting later today - anytime between 3:30 and finishing 5:30 UK time is fine for me.
[12:04] *** mhrd looks and thinks its a bit improvement too
[12:04] < vmlemon> Where?
[12:04] < MS-> In Sketches/MPS/Web
[12:04] < vmlemon> Aah
[12:04] < MS-> Not yet gone out for "what do people think" yet
[12:04] < vmlemon> I was just going to say that the current home page looks the same
[12:05] < MS-> but in sketches mean people can stick their oar in if they like :)
[12:05] < vmlemon> (I haven't seen the new one, but I assumed it was already rolled out)
[12:05] < MS-> vmlemon: indeed
[12:05] < Lawouach_> I still don't et where I should be looking at :)
[12:05] < mhrd> s/bit/big/
[12:06] < mhrd> Lawouach_ : /trunk/Sketches/MPS/Web
[12:06] < Davbo> MS-: is there any kinda stats thing we can see for the traffic we got yesterday?
[12:07] < MS-> Davbo: yes -here
[12:07] < MS-> http://sourceforge.net/project/stats/?group_id=122494&ugn=kamaelia
[12:07] < MS-> Oh look, there was a spike
[12:07] < MS-> :-)
[12:07] < MS-> That's cool
[12:08] < Trun> MS- I have just cancelled the meeting I had at 3:00 UK time, so I can come whenever you want from that moment
[12:08] < MS-> Oh now that's odd: http://sourceforge.net/project/stats/detail.php?group_id=122494&ugn=kamaelia&mode=week&type=prweb
[12:08] < MS-> Trun: Cool - I'll try to make sure I'm back for that - I'm going out for a meeting and coming back
[12:08] < Trun> MS- I'm gonna be in front of the computer, so whenever you want send me an e-mail to connect to the channel
[12:09] < MS-> It should be pretty brief quick at this stage :)
[12:09] < Lawouach_> what's odd?
[12:09] < Lawouach_> the weekly peak?
[12:09] < mhrd> s/weekly/daily/
[12:10] < MS-> Lawouach_: The regular peak, yes
[12:10] < Lawouach_> oh yeap
[12:10] < mhrd> thats about the time the documentationrebuild takes place, but thats all "svn update" and ssh upload traffic
[12:10] < MS-> mhrd: But that wouldn't cause the page count to change like that
[12:11] < mhrd> exactly - just proffering an explanation and why it isn't an explanation :-)
[12:11] < mhrd> ... in case I'm wrong about the latter part :)
[12:12] < MS-> Maybe someone's noticed and crawls it at that time?
[12:13] *** mhrd corrects himself - doc rebuilds take place at 4am UK time
[12:13] < MS-> That midnight is also midnight in sourceforge time
[12:18] < j_baker> That is a pretty flashy new website. Is it still going to use cerenity?
[12:19] < Davbo> I think we need a picture like the one on the website that Lawouach_ posted to the ML really
[12:19] < Davbo> I'm sure we could cook something like that up
[12:20] < Davbo> something to "sum it up" a bit
[12:20] < MS-> Picture?
[12:20] < MS-> I really need to sort out permissions/website stuff
[12:21] < Davbo> Lawouach_ posted http://www.divmod.org/trac#Overview as an example
[12:21] < MS-> Ah, yes
[12:21] < mhrd> MS-: let me know if you need the doc generation turned off/modified etc ... so it doesn't go trampling over any changes you make ;-)
[12:21] < MS-> Well, anyone with artistic talent is welcome to do stuff
[12:22] < Lawouach_> :p
[12:22] < MS-> mhrd: Will do - though I'd probably work around/ensure that works
[12:22] < MS-> Just saying that (the artistic talent thing) simply because sometimes people think they need to ask permission.
[12:22] < Davbo> You're the photographer Lawouach_ :P
[12:22] < MS-> I'm not exactly precious about things. I do have good reasons for the website, but I *am* in the process of redoing it somewhat :)
[12:23] < MS-> one of these days I'll manage to successfully clone myself.
[12:23] < Davbo> lol :)
[12:26] < Lawouach_> Davbo: Not sure my skills would fit Kamaelia :)
[12:29] < Lawouach_> http://www.flickr.com/photos/lawouach/2017945587/ here's a cat though
[12:29] < j_baker> So, does anybody here know of any good way to get a computer's IP address (given a specific interface) that's at least platform independent enough to work on most unices?
[12:30] < vmlemon> The humble ifconfig?
[12:30] < j_baker> Well, I mean in python vmlemon
[12:30] < vmlemon> Aah
[12:30] < j_baker> Or can I do that in python?
[12:31] < MS-> j_baker: There's very few portable methods that actually work
[12:31] < MS-> One of the better ones is to create a connection to a remote server
[12:31] < MS-> And take the local ip address from the local end of the socket
[12:32] < vmlemon> Lawouach_: Nice cat
[12:32] < MS-> That won't give you the public IP of the server, but it's not too bad
[12:32] < MS-> There are some people who wrap ifconfig though and get you the info that way in a relatively platform independent way
[12:32] < Lawouach_> vmlemon: one of my parent's cats
[12:32] < Lawouach_> easy life
[12:32] < j_baker> I see. I've got it set up to get it by using socket.gethostbyname(socket.gethostname())
[12:32] < j_baker> But on my computer that just gives me the loopback address.
[12:33] < MS-> Yep, it would
[12:34] < vmlemon> Ugh, http://www.hacktivismo.com/about/hessla.php
[12:34] < Lawouach_> j_baker: why do you need such a value BTW?
[12:34] < vmlemon> At least they admit that it's for political reasons
[12:34] < j_baker> There's a WSGI environ var for server IP address, Lawouach_
[12:34] < Davbo> Stupid FedEx logo, once you've seen the arrow you -can't- not see the arrow.
[12:34] < vmlemon> I don't think that sort of stuff belongs in a software license
[12:35] < vmlemon> Davbo: Hah, I've noticed that, too
[12:35] *** MS- goes afk
[12:35] *** MS- is now known as ms-away
[12:36] < j_baker> If I remember correctly, the environment var is an optional one though.
[12:36] < Lawouach_> j_baker: is there?
[12:36] < Lawouach_> Look at the CherryPy WSGI server maybe
[12:36] < Lawouach_> It might help
[12:37] < Lawouach_> http://www.cherrypy.org/browser/trunk/cherrypy/wsgiserver/__init__.py
[12:37] < j_baker> Good idea. Do you have any idea which optional environment vars are more likely to break an app if not supplied, Lawouach_?
[12:38] < Lawouach_> Not of the top of my head
[12:38] < Lawouach_> But it'd be better to include them all as long as it's feasible
[12:38] < Lawouach_> Also you might want to subscribe to the Web-Sig mailing-list if you have specifc question about WSGI
[12:39] < Lawouach_> They are usually helpful, sometimes rough, but helpful :)
[12:42] < Lawouach_> http://wsgi.org/wsgi/Servers this also might help
[12:42] < Lawouach_> browsing through some of those servers could help you
[12:42] < j_baker> I see. It appears that the CherryPy implementation doesn't support SERVER_ADDR.
[12:42] < Lawouach_> It's a CGI key isn't it?
[12:42] < j_baker> I believe so.
[12:44] < Lawouach_> right
[12:44] < Lawouach_> By default CP uses 0.0.0.0 to bind the server
[12:44] < Lawouach_> Indicating that it leaves the system host free of providing the most adequate interface and address
[12:44] < Lawouach_> IPv4 or IPv6
[12:45] < Lawouach_> I would assume in that case the SERVER_ADDR would default to 0.0.0.0
[12:45] < j_baker> I see. So in other words, "if you need it that bad, find it yourself"? :)
[12:45] < Lawouach_> Unless you force a specific interface and address
[12:45] < Lawouach_> Although it's not what I was going for yeah that's the idea :)
[12:46] < Lawouach_> Unless you need it, leave it aside for now I'd say
[12:47] < vmlemon> Heh, cool
[12:47] < j_baker> Ok. And the last question is that I'm assuming that to get the full HTTP response... it's basically:
[12:47] < vmlemon> Didn't know that SourceForge supports OpenID now
[12:47] < j_baker> [method] [uri] \n [headers]
[12:48] < Lawouach_> vmlemon: it's like 2 weeks old max :)
[12:48] < j_baker> Or HTTP request rather.
[12:48] < vmlemon> Aah
[12:48] < vmlemon> I've only just noticed
[12:49] < Lawouach_> j_baker: in the best case scenarios yes
[12:49] < Lawouach_> I would strongly suggest to read through CherryPy's code
[12:49] < vmlemon> Probably since I don't use SourceForge very often, except for a few minutes to initiate a file download before going to another page... ;)
[12:49] < Lawouach_> It's well polished and quite easy to read I think
[12:49] < Davbo> Are our sf.net logins OpenID's now then?
[12:49] < j_baker> Ok, I'll do that Lawouach_ thanks for your help.
[12:49] < Lawouach_> RFC 2616 should also be open in your browser ;)
[12:49] < Davbo> because i already have 4 OpenID's :(
[12:50] < Lawouach_> vmlemon: same here
[12:50] < Lawouach_> j_baker: :) It's just that WSGI servers have been written quite a few times now and it'd be bad to waster your time if you can find it done somwhere else or just ask people who have.
[12:50] < Lawouach_> Like the guy who wrote mod_wsgi
[12:51] < vmlemon> Ouch, only 4.82MB free space left on my USB drive, despite RAR-ing and deleting nearly everything on it
[12:51] < Lawouach_> He can be difficult to talk to but he knows a lot about implementing WSGI
[12:51] < Lawouach_> http://reddit.com/r/programming/info/6j7ed/comments/c04076o < -- interesting, I didn't know a framework was supposed to do anything. I though programmers were.
[12:52] < j_baker> I see. I'll look into that.
[12:52] < Lawouach_> s/though/thought
[12:54] < Davbo> Haha, nice comments on that blog post. Lawouach and j_baker
[12:54] *** vmlemon hands ms-away an atom cloner for that "one day" ;)
[12:54] < Davbo> "Timmy: Just to clarify"
[12:55] < j_baker> I would like to point out that I was first. :P
[12:55] < Davbo> hehehe
[12:57] *** Lawouach_ is calling Google to ensure they know j_baker bypassed a mentor
[12:57] < Davbo> lol
[12:57] < j_baker> lol
[12:57] < Lawouach_> :p
[12:59] < vmlemon> Hah, I like the tagline rotation on the new homepage design
[12:59] < Davbo> Hype!
[12:59] < vmlemon> Hype? Who wants it?
[13:00] *** vmlemon wonders when 0.6.0 is coming
[13:00] < vmlemon> More Hype!
[13:00] < Davbo> Probably with the website update :)
[13:01] < vmlemon> And it's got a (shiny new) cat!
[13:01] < vmlemon> ;)
[13:02] < vmlemon> It improves on Hype 1.0? ;)
[13:05] < Lawouach_> It's green :)
[13:10] < Davbo> Pandora was going to be my pick for today vmlemon, but it looks like j_baker will be the only one that can visit it without a proxy
[13:10] < Davbo> http://www.pandora.com
[13:11] < j_baker> I < 3 pandora
[13:11] < vmlemon> I used to be able to use it, even when they had the block
[13:11] < vmlemon> when I was on BT
[13:11] < vmlemon> Although it's not the case now
[13:11] < Davbo> Yeah, i used to be able to use it
[13:11] < vmlemon> last.fm is still OK
[13:11] < Lawouach_> That's sad
[13:11] < Davbo> Yeah they're in London too, right vmlemon?
[13:11] < vmlemon> Yes
[13:12] < j_baker> Who wants to bet it's because of the RIAA that you can't get pandora outside the US?
[13:12] < vmlemon> There was a little "hack" that sort of welded Pandora to last.fm for updating the played song list on a profile with Pandora stuff
[13:12] *** vmlemon waves
[13:14] < vmlemon> RIAA--
[13:14] < vmlemon> (Pandora.FM, I think)
[13:15] < Davbo> vmlemon: our musical compatibility is Very Low
[13:15] < Davbo> :(
[13:15] < Davbo> Oh well
[13:15] < vmlemon> Any artists shared?
[13:16] < Davbo> You share some artists in common, including The Flaming Lips, Manic Street Preachers, ORANGE RANGE, and Jack Johnson.
[13:16] < vmlemon> Aah
[13:17] < vmlemon> Ouch, "You cannot access the following Web address: http://www.last.fm/ The site you requested is blocked under the following categories: Dating/Social"
[13:17] < Davbo> :|
[13:17] *** vmlemon wouldn't call last.fm a "dating site" by any means
[13:17] < Lawouach_> My username on last.fm is "seel20" BTW
[13:17] < Lawouach_> A social one probably
[13:17] *** vmlemon assumes that Davbo's is well "Davbo"
[13:17] < Davbo> :)
[13:17] < Davbo> Your musical compatibility rating with seel20 is: High
[13:18] *** Davbo annoyingly adds everyone as friends.
[13:18] < vmlemon> Good Idea (R)
[13:19] < Lawouach_> Is that Ichigo from Bleach I see there?
[13:19] < Davbo> Yeah
[13:20] *** vmlemon assumes that Utada Hikaru, Ayumi Hamasaki, Vo Vo Tau, Kazumasa Oda and probably ZARD make his profile compatibility with Davbo "very low"...
[13:20] < Lawouach_> http://www.allfacebook.com/2008/05/breaking-facebook-to-launch-jabberxmpp-support/
[13:20] < Lawouach_> Great man
[13:20] < Lawouach_> I love Bleach :)
[13:21] < Davbo> awesome :)
[13:21] < vmlemon> Domestos? ;)
[13:21] *** vmlemon ducks
[13:21] < Lawouach_> No need to duck man. That was so lame it just didn't even go near me
[13:22] < Lawouach_> :p
[13:23] < Davbo> Hah :)
[13:28] < Davbo> Lawouach_: A friend of mine went o Japan last year and brought me back a copy of Shonen Weekly Jump and I could only read the Bleach bit 2 weeks ago without reading spoilers hehe
[13:29] < Davbo> I got it off him in like August last year too
[13:29] < Davbo> and when i say "read" i mean, look at the pictures.
[13:29] < Davbo> :)
[13:30] < Lawouach_> I have all the volumes publiushed in French, meaning up to 27
[13:30] < Lawouach_> I'm expecting 28 next week
[13:31] < Lawouach_> That means 5 or 6 behind the Japan edition
[13:33] < Davbo> hehe cool :-)
[13:33] < Lawouach_> :)
[13:33] < Lawouach_> They broadcast the shows everyday here
[13:34] < Lawouach_> :)
[13:34] *** Davbo has to download it :(
[13:40] *** Lawouach_ is listening to Skunk Anansie - Charlie Big Potato
[13:41] < Lawouach_> powerful :)
[13:57] *** Davb1 has joined #kamaelia
[14:28] *** Davb1 is now known as Davbo
[14:33] < ms-away> back
[14:37] < Davbo> ms-away: I got your scratch branch here
[14:37] < Davbo> any instructions for installing it?
[14:37] < Davbo> or just as usual
[14:38] < Davbo> (i'm installing it from having no previous kamaelia/axon installed)
[14:38] *** ms-away has to go away again
[14:38] < Davbo> lol
[14:38] < ms-away> yes, just install as usual
[14:38] < Davbo> okay, thanks
[14:39] < Davbo> Aha!
[14:40] < Davbo> for some reasons it crashed out installing Python-dev
[14:40] < Davbo> got it working now
[15:00] < mhrd> davbo, you have a branch that needs merging?
[15:01] < Davbo> what err?
[15:01] < Davbo> no
[15:01] < Davbo> i don't think so lol
[15:01] < mhrd> ok, I'm mixed up ... someone has
[15:01] *** mhrd checks the google group again
[15:02] < Davbo> I did what MS said to copy out a MagnaDoodle if you're looking at recent svn activity
[15:02] < Davbo> I think i did that correctly
[15:02] *** vmlemon_ has joined #kamaelia
[15:02] < mhrd> yeah, I'm just getting names mixed up ...
[15:02] < Davbo> oh okay :)
[15:02] < mhrd> j_baker : you've got a branch that needs merging?
[15:02] < mhrd> ;-)
[15:03] < Davbo> you the branch merger mhrd? :)
[15:04] < mhrd> not usually - usually my job is to suddenly regurgitate large chunks of unreadable code then cajole MS- into merging them :)
[15:04] < Davbo> Haha :)
[15:04] < vmlemon_> Hah
[15:04] < Davbo> is merging just taking something from Branch and getting it into Trunk?
[15:04] < mhrd> kinda, its a reviewing process too
[15:05] < mhrd> ie. a fresh set of eyes doing a cursorary sanity check
[15:05] < mhrd> plus, I also do a clean checkout of the branch and trunk and test installing the changes
[15:05] < mhrd> depending on how substantial they are, or what components they effect, then doing an appropriate amount of testing/checking
[15:06] < Davbo> Ah I see
[15:06] < Davbo> so it's a sort of review process too
[15:06] < Davbo> cool
[15:06] < mhrd> eg. Michaels ERModeller branch was relatively easy to do, since it was adding something new and separate
[15:06] < Davbo> Yeah
[15:06] < mhrd> whereas, a change to Axon would require more thorough testing to check that no regressions were introduced
[15:07] < Davbo> Ah, I see
[15:08] < mhrd> Axon is at the extreme end, because everythign else depends on it. Axon therefore also has an overall more comprehensive test suite than the rest of Kamaelia to test ti behaves as expected
[15:09] < Davbo> Yeah, I suppose the nature of the components makes them relatively easy to merge in
[15:09] < Davbo> new ones that is
[15:09] < Davbo> although then again, something like consolechoer where lots of things use it
[15:09] < Davbo> humm
[15:09] < mhrd> exactly :)
[15:10] < Davbo> Yeah, i can see it being a headache at times
[15:10] < vmlemon_> Hi
[15:10] < Davbo> Anyway, i'm off to try see if Fedora 9 detects my WLAN card.
[15:10] *** Davbo hopes it doesn't
[15:11] < vmlemon_> Hah, why?
[15:11] < Davbo> If it does i'll have to install it!
[15:11] < Davbo> back in a bit
[15:20] *** Davbo has joined #kamaelia
[15:20] < Davbo> oh dear
[15:20] < Davbo> this is bad new
[15:20] < Davbo> s/new/news
[15:22] < ms-away> sigh
[15:23] < Davbo> what's up ms-away?
[15:23] < ms-away> never mind :)
[15:24] < ms-away> thanks though
[15:24] < Davbo> for what?
[15:27] < ms-away> Asking :)
[15:28] *** vmlemon__ has joined #kamaelia
[15:31] < Davbo> oh no problem :)
[15:34] *** vmlemon__ is now known as vmlemon_
[15:36] < Davbo> Looks like I have to install it vmlemon_ :-)
[15:37] < vmlemon_> Aah
[15:39] < Lawouach_> mhrd: That's why I'm not pushing too strong for the SSL branch to be merged
[15:39] < Lawouach_> I don't think it'd break anything considering I only add
[15:39] < Lawouach_> I don't change the existing behavior of any components
[15:39] < Lawouach_> But well...
[15:39] < ms-away> Lawouach_: When I looked at it, I thought that there is probably a nice clean way of merging it
[15:40] < ms-away> but it would need a small amount of work - so I'm planning on hacking on it on your branch to separate out bits
[15:40] *** mhrd leaving that one to Lawouach_ and ms-away
[15:40] < ms-away> and then pass it back to you to say "yes, I like" or "No, that sucks" :)
[15:40] < ms-away> It strikes me as a really useful thing to add though
[15:41] < Lawouach_> Thanks.
[15:41] < Lawouach_> The branch was really there as a proof of concept
[15:41] < Lawouach_> I haven't assess the many different components impacted by it.
[15:41] < Lawouach_> Nor did I try to make it more usable overall.
[15:41] < Lawouach_> I needed a quick fix :p
[15:42] < ms-away> Indeed :)
[15:42] *** vmlemon__ has joined #kamaelia
[15:42] < Lawouach_> I'll be glad to work on it with you to make it production ready
[15:42] < ms-away> Cool :)
[15:42] *** ms-away is really still away and really shouldn't be chatting this instant ... :-/
[15:42] < Lawouach_> right
[15:43] < Lawouach_> I didn't see you anyway and I'm speaking to myself.
[15:45] < Davbo> Hehe
[15:46] < vmlemon__> The physical card needs installing? Or just a driver module?
[15:47] < Davbo> oh no, I meant i'll have to install Fedora 9
[15:47] < Davbo> it's working fine :D
[15:47] < Davbo> I'm on it right now
[15:47] < vmlemon__> Aah
[15:47] < Davbo> the live CD
[15:48] < Davbo> Don't really like Mandriva and there subscription thing would rather get away from that.
[15:49] < Davbo> Funny how because i installed Windows first the partition table has lost 10GB into the ether
[15:49] < vmlemon__> Ouch
[15:50] < vmlemon__> Digital quicksand? ;)
[16:05] < j_baker> Sorry mhrd, but yes, I believe that branch is ready for merging. You may want to double check it for any obvious errors though.
[16:05] < mhrd> ta; I will be :)
[16:06] < mhrd> do you have any example code anywhere that demos/makes use of the changes you have made?
[16:06] < mhrd> (I've not looked at it yet, so pls forgive if the question is silly)
[16:07] < j_baker> Well, yes and no.
[16:07] < j_baker> The HTTPServer demo was kinda broken.
[16:08] < j_baker> (the one from the cookbook)
[16:08] < j_baker> Minimal is supposed to have an index page such that if you go to http://ip:port/ it will return http://ip:port/index.html
[16:08] < j_baker> But it doesn't. :)
[16:09] < mhrd> but now it does?
[16:09] < j_baker> Right.
[16:09] < j_baker> Now that I think about it, there was one other thing that I wanted to fix.
[16:10] < j_baker> I believe if you try a URL like http://ip:port/../directory it will crash the server due to the way sanitizePath works.
[16:10] < j_baker> So you may want to hold off on merging it just this minute.
[16:10] < mhrd> I'm planning on looking at it when I get home later this evening, so you've got breathing space :)
[16:10] < j_baker> Anyway, I've got an appt with the Dr, so I've got to go now. :)
[16:10] < mhrd> cya
[16:11] *** j_baker is now known as j_baker-away
[16:12] < Lawouach> back
[16:14] < mhrd> quick survey ooi: what linux distros do people here use? I used to use SuSE 9/10 and have moved to Umbongo 7 now 8
[16:15] < j_baker-away> I'm currently using Yellowdog but am about to try out fedora 9
[16:15] < j_baker-away> Ok, I'm away for reals now
[16:15] < mhrd> ta j_baker-away
[16:22] < ms-away> mhrd: opensuse 10.1 & 10.3
[16:23] < mhrd> ta ms-away
[16:40] *** Trun has parted #kamaelia
[17:06] *** mhrd is now known as mhrd-afk
[17:33] *** vmlemon__ has joined #kamaelia
[17:39] < vmlemon__> kamaeliabot: ecky
[17:39] Reply: Ptang!
[17:43] < vmlemon__> Yay, the Ethernet driver/chipset actually sends and receives packets now (I didn't test that when the driver started to work after upgrading the kernel)...
[18:13] *** ms-away is now known as MS-
[18:50] *** j_baker-away is now known as j_baker
[18:54] *** vmlemon__ has joined #kamaelia
[18:54] < j_baker> Does anybody know if Ubuntu can read an NTFS partition?
[18:55] < Lawouach> Ubuntu doesn't. The Linux kernel does ;)
[18:56] < Lawouach> A more direct answer: yes it can.
[18:56] < vmlemon__> The kernel has in-built support
[18:57] < vmlemon__> mount /dev/diskpartition /mountpoint -t ntfs
[18:57] < vmlemon__> Should do the trick
[18:57] < vmlemon__> Or try NTFS-3G
[18:58] < Lawouach> Most likely Ubuntu will have already done that
[18:58] < Lawouach> Your partition should be visible from any explorer already
[19:06] < j_baker> That's awesome.
[19:09] < vmlemon__> Hah, "orinthe: Furansujin: well i'm not saying it's a terrible terrible place and you couldn't ever go there! not at all!"
[19:28] *** vmlemon__ is trying to stack £1 coins on top of each other, rather unsuccessfully
[19:29] *** j_baker has joined #kamaelia
[19:51] < Lawouach> Interestingly sourceforge only supports a specific subset of OpenID providers...
[19:51] < Lawouach> *cough*partnership*cough*
[19:52] < Lawouach> That defeats parts of the OpenID philosophy really.
[19:52] < MS-> Well, that'll be the "open" part of open id being "understood"
[19:53] < Lawouach> Indeed.
[19:56] *** mhrd-home has joined #kamaelia
[19:56] *** MS- goes to look at Lawouach's branch properly
[20:00] < MS-> Lawouach: Looking at your code, it looks like you are able to send a message to the system in its "makessl" box which would mean, for example,
[20:00] < MS-> that you could use a non-encrypted connection for some of the connection time
[20:00] < MS-> (say 5 seconds) and then "go" encrypted
[20:00] < Lawouach> yes
[20:00] < Lawouach> That's what happens with xMPP
[20:00] < MS-> I see
[20:01] < Lawouach> You start with an non encrypted connection
[20:01] < MS-> That completely explains the code structure
[20:01] < Lawouach> Then upon receiving a specific message you add SSL
[20:01] < Lawouach> :)
[20:01] < Lawouach> Yeah it reflects what I was doing.
[20:01] < MS-> As an interesting thought,
[20:01] < MS-> since you do this:
[20:02] < MS-> + self.socket = SSLSocket(self.socket)
[20:02] < MS-> Would I be right in thinking that if we stored the original self.socket
[20:02] < MS-> that we could toggle the encryption on and off?
[20:02] < MS-> clear, enc, clear, enc, clear, enc, etc
[20:03] < Lawouach> That is an interesting idea. I believe that in theory this should be working.
[20:03] < Lawouach> Meaning that if you close the SSL part down it wouldn't mean you close the actual socket.
[20:03] < Lawouach> I believe this should work but I haven't tried.
[20:04] < Lawouach> At least with XMPP when you close one it means you close the other ;)
[20:04] < MS-> The one thing I note that's missing from this is lack of an example for me to test this against - I don't suppose you have a minimal example somewhere do you?
[20:05] < Lawouach> Hmm
[20:06] < Lawouach> I can work one out swiftly I guess
[20:06] < MS-> Would it work for (say) connecting over SSL to an HTTPS server?
[20:06] < MS-> Just as a raw connection?
[20:07] < MS-> I suppose I could test that by bolting a console reader/echoer either side of the tcpclient
[20:07] < MS-> and trying it
[20:08] < Lawouach> That was my idea too
[20:08] < MS-> Ah, no, that by itself won't quite work - I need to set the makessl as well
[20:08] < MS-> Though that's just a detail
[20:08] < MS-> I'll give that a try
[20:10] < MS-> Ah, I just need matt's oneshot component of course :)
[20:15] < MS-> Oh fantastic
[20:15] < Lawouach> I have a working sample otherwise
[20:16] < MS-> I can manually "telnet" to https://kamaelia.svn.sourceforge.net/svnroot/kamaelia/branches/private_SH_SSLCSA/Kamaelia/Kamaelia/Internet/ConnectedSocketAdapter.py and send http to it over https
[20:16] < MS-> That's fantastic
[20:16] < Lawouach> :)
[20:16] < MS-> Graphline(
[20:16] < MS-> MAKESSL = OneShot(" make ssl "),
[20:16] < MS-> CONSOLE = ConsoleReader(),
[20:16] < MS-> ECHO = ConsoleEchoer(),
[20:16] < MS-> CONNECTION = TCPClient("kamaelia.svn.sourceforge.net", 443),
[20:16] < MS-> linkages = {
[20:16] < MS-> ("MAKESSL", "outbox"): ("CONNECTION", "makessl"),
[20:16] < MS-> ("CONSOLE", "outbox"): ("CONNECTION", "inbox"),
[20:16] < MS-> ("CONNECTION", "outbox"): ("ECHO", "inbox"),
[20:16] < MS-> }
[20:16] < MS-> ).run()
[20:16] < MS-> (needs a few more linkages)
[20:17] < Lawouach> well that's pretty cool :)
[20:17] < MS-> It's like magic :)
[20:17] < Lawouach> My patch doesn't change the existing code
[20:17] < Lawouach> That's why everything works as it used to.
[20:17] < Lawouach> I just add the extra SSL layer
[20:17] < mhrd-home> cool :)
[20:17] < MS-> Indeed - I did want to see if I could abstract some aspects out of it to separate out some bits, but that's just too cool
[20:18] < MS-> This would also work for doing HTTPS through web proxies correctly too
[20:18] < MS-> Since you have you do the CONNECT server:port HTTP/ver in clear text
[20:18] *** vmlemon_ has joined #kamaelia
[20:18] < Lawouach> The only place where things are changed is in _saveRecv where in case data read from the socket object is empty it would close the connection usually (normal behavior). With SSL it won't because it's just a case of starving the buffer. Hence the isSSL flag in the CSA component.
[20:19] < MS-> and then the rest of the connection in encrypted
[20:19] < Lawouach> Quite likely yes.
[20:19] < MS-> I think the only thing I'll add to this at this point is the example to show minimal usage
[20:19] < Lawouach> Good point.
[20:21] < MS-> I guess I also ought to look at docs.
[20:21] < MS-> I think it's particularly nice because I didn't even check to see if I had SSL support installed before using it
[20:21] < MS-> :-D
[20:22] < Lawouach> :p
[20:22] < vmlemon_> Just wondering, the SSL component can also be used as part of a server component?
[20:22] < Lawouach> One more thing, like I said, the ssl support in Python means there is no certificate validation
[20:22] < MS-> vmlemon_: It should be, I would expect.
[20:22] < vmlemon_> Or is it client-only?
[20:22] < Lawouach> I don't mind so much but well...
[20:22] < vmlemon_> OK
[20:22] < MS-> Lawouach: Yes, that is an issue.
[20:22] < Lawouach> Yeah
[20:22] < Lawouach> The best course IMO would be to the ssl module instead
[20:23] < Lawouach> I tried but with little success.
[20:23] < Lawouach> It works a bit differently internally and didn't play along well with Kamaelia.
[20:23] < Lawouach> But that'd be the better course of action.
[20:23] < Lawouach> http://pypi.python.org/pypi/ssl/1.13
[20:24] < Lawouach> Specifically the bottom line should be that you replace the
[20:24] < Lawouach> self.socket == SSLSocket(self.socket)
[20:24] < Lawouach> s/==/=
[20:24] < Lawouach> line with:
[20:25] < Lawouach> self.socket = ssl.wrap_socket(self.socket, ca_certs=PATH_TO_CERT, cert_reqs=ssl.CERT_OPTIONAL)
[20:25] < Lawouach> It wouldn't work when I tried. At least not from Kamaelia
[20:26] < MS-> That's worth looking into. For a version 0 though for something that works, I do like this.
[20:26] < Lawouach> http://docs.python.org/dev/library/ssl.html#examples
[20:26] < Lawouach> Cool :)
[20:27] < j_baker> Am I missing something or does the HTTPServer component really give new meaning to the term "Spaghetti code?"
[20:28] < j_baker> Or rather HTTPParser
[20:28] < Lawouach> j_baker: +1
[20:28] < Lawouach> That module still scares me :)
[20:28] < Lawouach> It does work mind you :p
[20:28] < MS-> j_baker: Absolutely.
[20:28] < Lawouach> And is quite sensible in many aspects. It's just plain ugly.
[20:29] < j_baker> Well yeah, it works, but it is totally horrendous to try to modify.
[20:29] < MS-> It's worth bearing in mind that it's largely code from a pre-university student
[20:29] < j_baker> I see.
[20:29] < MS-> I've done some work on improving it, slowly and the way I've found best is to take very small very incremental steps.
[20:29] < mhrd-home> j_baker: am starting to look at your branch. did you say you wanted to make some changes first?
[20:29] < MS-> Of abstracting bits out
[20:30] < j_baker> I was planning on just passing the text of the HTTP request through the request dictionary, but that's a lot harder than it appears.
[20:30] < j_baker> mhrd-home, yeah, but I haven't gotten a chance yet. And I may not get a chance until later tonight.
[20:31] < mhrd-home> ok, I'll leave it for the moment
[20:33] < Lawouach> j_baker: You might almost consider starting the server from scratch again :p
[20:33] < MS-> Lawouach: It's tempting to say that, but I would recommend against it
[20:33] *** Davbo has joined #kamaelia
[20:33] < vmlemon_> Hi Davbo
[20:33] < Lawouach> Yeah I can understand why.
[20:34] < vmlemon_> Just add more Dolmio, and no-one need know how bad it is... ;)
[20:34] < MS-> I've set the task "build a basic web server" in the past for various people when people joined/left the project at the beeb, and Ryan's code had a singular advantage over the others
[20:34] < MS-> - it focussed on actually serving pages, and then adding in compiance
[20:34] < MS-> s/compiance/compliance/
[20:35] < MS-> Getting it to the stage where "delete first programming" could be used though would be a good idea
[20:35] < MS-> (it's an idea me and couple of others came up with a while back - as a means of controlled rewriting of major systems
[20:36] < Davbo> hello vmlemon_, all.
[20:36] < MS-> compartmentalise to large chunks, delete and then put back in sufficient clean code to work
[20:36] < MS-> Davbo: Heya
[20:36] *** vmlemon_ has just approved Davbo's friend request on last.fm
[20:37] < Davbo> Didn't bother with Fedora after it crashed on me :P - I was literally typing "Yeah I think i'll install this" into IRC then boom.
[20:37] < vmlemon_> Ouch
[20:37] < Davbo> KDE4 isn't there yet
[20:38] < j_baker> I still don't know what red hat was thinking.
[20:38] < j_baker> Did you try gnome?
[20:38] < Davbo> nah, couldn't be bothered after that.
[20:38] < Davbo> Mandriva has been working really nicely anyway
[20:39] < Lawouach> I've never enjoyed Fedora at all
[20:39] < Davbo> It's meant as an experimental thing I suppose
[20:39] < Lawouach> It looks as if only the version number increases but the actual disto stays the same
[20:39] *** vmlemon_ isn't sure how he could upgrade to Fedora 9, or even if he should...
[20:39] < MS-> I think the last time I used redhat was when it was version 4.2 IIRC
[20:39] < Lawouach> Groundhog day feeling.
[20:41] < Davbo> I like Mandriva just not so much the different sku's they put out
[20:43] < Davbo> Actually, I have no good reason.
[20:43] < Davbo> Just not a fan of the logo
[20:43] < Davbo> ;-)
[20:44] *** vmlemon_ contemplates finding a generic orange juice carton photo, and using his poor Photoshop/GIMP skills to rebrand it ;)
[20:44] < j_baker> I like YellowDog linux (which is based on red hat).
[20:45] < j_baker> It's just that the packages are too old. I think on enterprise linux, red hat is a lot more conservative in pushing packages.
[20:45] < j_baker> (that and it just a lot slower for some reason)
[20:45] < j_baker> s/just/seems
[20:45] < Davbo> Hmm
[20:46] < Davbo> With so many customers you've got to try and keep as many happy as possible
[20:46] < j_baker> Did you guys see that they're sending the stored value cards?
[20:47] < Davbo> I've got my FedEx email
[20:48] < vmlemon_> I liked Kubuntu for a while, although it's been an absolute pain to install on this laptop
[20:48] < vmlemon_> (It had weird issues with screen resolution, and stuff kept breaking constantly whilst upgrading it, since I only had an ancient install CD and had to keep doing upgrades from one version to the next)
[20:48] < vmlemon_> o.O "Your musical compatibility rating with seel20 is: High You share some artists in common, including U2, and Bob Marley."
[20:48] < vmlemon_> Interesting, seeing as Davbo shared more artists...
[20:49] *** vmlemon_ hates Linux, sometimes
[20:52] < j_baker> Did you guys see this?
[20:52] < j_baker> http://code.google.com/appengine/articles/rietveld.html
[20:53] < j_baker> Could help with dealing with all these branches
[20:54] < MS-> j_baker: Branches intended for use in merging should ideally be small, and short lived
[20:54] < MS-> Once they're merged they can actually be deleted
[20:54] < MS-> since they stay in the version history
[20:56] < j_baker> I see.
[20:57] < MS-> But using a complete branch also makes testing the change in the branch trivial
[20:58] < MS-> And at the end of the day, doing an svn copy isn't really a big deal
[20:58] < MS-> Just something to get used to
[20:58] < Davbo> oh I copied that MagnaDoodle into my branch fyi MS-
[20:58] < MS-> Into your /Sketches area you mean ? :)
[20:59] < Davbo> Yeah
[20:59] < MS-> I noticed :)
[20:59] < Davbo> Shall i just keep commiting that every now and again while i work on it?
[20:59] < MS-> Absolutely
[20:59] < MS-> The only person you'll affect if yourself, and you'll find yourself more willing to change things if you do
[21:00] < mhrd-home> I'm doing that with the code I'm writing atm - its not even Kamaelia components yet ;-)
[21:00] < Davbo> Alright, cool
[21:01] < vmlemon_> o.O "This is our ball ool, notice there is no P in it, please keep it that way."
[21:02] < mhrd-home> heh
[21:08] < j_baker> mhrd-home: I think that branch should be ready.
[21:10] < Davbo> Wow, unexpected.
[21:11] < Davbo> I assumed Kate was installed here, so i clicked the menu typed "kate" into the KDE search thingy and pressed enter
[21:11] < Davbo> it just opened a tab in firefox with a google search of "kate" (pictures of Kate from Lost lol)
[21:12] < Davbo> but, or feature? hmm.
[21:12] < Davbo> s/but/bug
[21:13] < Davbo> Heh, works now.
[21:20] < MS-> j_baker: I suppose the other thing I should mention is that lots of small branches are *alot* easier to merge than large mega branches.
[21:23] < j_baker> That's true MS-. I was mentioning rietveld because it seems to simplify the process of reviewing those branches and marking them as ready to merge.
[21:25] < mhrd-home> j_baker : k, I'll take a look
[21:26] < mhrd-home> Davbo: you said it - it was a "KDE search thingy" - sounds like it did exactly what it said on the tin :)
[21:26] < MS-> j_baker: There's a limit to automation though
[21:27] < MS-> The key thing about the summary & email of "ready to merge" is about communication, not about code.
[21:27] < Davbo> Well I guess, for whatever reason it didn't see the text editor because it wasn't on the KDE Menu
[21:28] < MS-> alt-f2 , type "kate" into the popup, enjoy :)
[21:29] < mhrd-home> j_baker: did you made any further changes?
[21:29] < mhrd-home> (I can't see any commits)
[21:29] < j_baker> No, there wasn't a bug mhrd-home.
[21:29] < Davbo> Heh I know MS- :-)
[21:29] < mhrd-home> k
[21:29] < j_baker> MS- I think you should get us one of these:
[21:29] < j_baker> http://panospace.wordpress.com/2008/05/14/nodal-ninja-sponsors-hugin-gsoc/
[21:29] < MS-> heh, It'd be nice
[21:30] < MS-> :)
[21:30] < vmlemon_> Ugh, ./lastfmfpclient: /usr/lib/libcurl.so.3: no version information available (required by ./lastfmfpclient)
[21:31] *** vmlemon_ goes to look for a CURL 3.x tarball, seeing as the Fedora repositories don't have it, and symlinking /usr/lib/libcurl.so.4 is a suboptimal solution
[21:31] < Davbo> MS- could probably get us Doctor Who swag, although I think I'd rather pay him to keep it away from me ;-)
[21:31] < MS-> heh
[21:31] < MS-> "More K9s for me"
[21:32] < Davbo> If they were Cylons however! that'd be a different story :)
[21:32] < MS-> The BBC has this great purchasing system. It's all completely centralised and designed to enable the bbc to save money. It's primary weapons here are deceit and camoflage.
[21:33] < MS-> It is neither easy to order from nor quick.
[21:33] < vmlemon_> Hah
[21:33] < mhrd-home> do we have to talk about the purchasing system? I was starting to enjoy my evening :-)
[21:33] < Davbo> pure genius!
[21:33] < MS-> It's primary effect is to prevent purchases from ever occurring
[21:33] < MS-> heheheh
[21:33] < vmlemon_> Let me guess, the Yorkshire Purchasing Organization Catalogue? ;)
[21:33] < mhrd-home> Its called QuickOrder+ :-)
[21:34] *** vmlemon_ assumes that's a synonym for "SlowOrder-"
[21:34] < MS-> Well, I've not managed to order anything from it yet, primarily I think due to some dependencies it relies on
[21:34] < Davbo> Do they have an online store? you sign up and they post you your password (7-10 weeks)?
[21:34] < MS-> Anyway, that's enough on that
[21:35] *** MS- doesn't want to deal with that
[21:35] < MS-> rather
[21:35] < Davbo> Fair enough :)
[21:35] *** MS- doesn't want to have mhrd-home hearing about it here :)
[21:35] < mhrd-home> oh great, lots of rain tomorrow
[21:36] *** MS- looks at weather here
[21:36] < j_baker> It's raining here too.
[21:36] < MS-> Sunny blue skies tomorrow for me :-) (allegedly)
[21:36] < vmlemon_> No rain here
[21:37] < vmlemon_> and the sky looks clear
[21:37] < vmlemon_> (I can see the moon, for once)
[21:37] < j_baker> It's kinda nice for us because, well... we have sunny blue skies pretty much all year long.
[21:37] < vmlemon_> [22:36] < xevix> mjsilva, amarok can't sing, but it can play music, is that what you want? =)
[21:41] < Davbo> MS-: what Speex bindings do i need to run Whiteboard?
[21:42] < Davbo> I can edit it and run without Speex but would rather see the full thing
[21:42] < vmlemon_> Don't they come in the Megabundle?
[21:42] < mhrd-home> its not raining here yet; I was just taking the lady-standing-in-front-of-the-weather-map's word for it
[21:43] *** vmlemon_ wonders if anyone's managed to check Hype 2.0 into SVN ;)
[21:43] < Davbo> Ah, I see where you've gone wrong there mhrd-home. You gotta ignore that person completely ;-)
[21:43] *** MS- has merged the SSL code :-)
[21:44] < mhrd-home> I assure you I was ignoring her .. not my cup of tea :)
[21:44] < Davbo> hehe
[21:44] < vmlemon_> Hmm, [22:42] < quasi> comparable to pulling the wheels off a car - still more than 90% car, but useless nontheless
[21:46] < MS-> Lawouach: That's very much appreciated. It looks like a tricky case to support cleanly and works well :)
[21:46] *** MS- laughs at Matt's most recent checkin message
[21:47] *** mhrd-home bows
[21:51] < Davbo> Hehe :-)
[21:57] < vmlemon_> Ouch, http://playground.last.fm/aliases/artist/Original%20Cast
[21:57] < Davbo> oh MS- what're the Speex bindings you use in Whiteboard?
[21:58] < MS-> Davbo: As vmlemon_ said - they're the ones in the megabundle
[21:59] < MS-> originally from here: http://www.freenet.org.nz/python/pySpeex/
[21:59] < vmlemon_> Aren't they called PySpeex or Speex, or something like that?
[21:59] < MS-> version 0.2 - as per that page
[22:00] < Davbo> thought so
[22:00] < MS-> vmlemon_: yep
[22:00] < mhrd-home> ok, am happy to merge ... just one small thing whilst testing it:
[22:01] < mhrd-home> following the cookbook example it still doesn't work ... unless I add a trailing slash onto the 'homedirectory' path
[22:01] < MS-> mhrd-home: I think that's more a problem with the cookbook rather than anything else
[22:02] < mhrd-home> k
[22:02] *** mhrd-home commits the merge
[22:03] < j_baker> Awesome mhrd-home
[22:04] < j_baker> And now I've got to go to work. :)
[22:04] *** j_baker is now known as j_baker-away
[22:04] *** MS- calls it a night as well
[22:04] *** MS- is now known as ms-away
[22:04] < ms-away> night all :)
[22:06] < mhrd-home> night
[22:08] < Davbo> night ms-away
[22:13] < vmlemon_> Haha, http://blogs.sun.com/plamere/entry/freakomendations_hacking_last_fm_poor and http://www.last.fm/music/Hillary+Rodham+Clinton
[22:38] *** vmlemon__ has joined #kamaelia
[23:00] *** aconbere_ has joined #kamaelia
[23:02] < aconbere_> is there a way to use kamaelia across processes? as opposed to inside the interpreter?
[23:05] < mhrd-home> hi aconbere_
[23:05] < mhrd-home> There are a few ways ...
[23:05] < aconbere_> cool :)
[23:05] < aconbere_> I... well
[23:05] < aconbere_> I love the abstraction that kamaelia provides
[23:05] < aconbere_> and, twisted freaks me out
[23:06] < aconbere_> heh
[23:06] < mhrd-home> one is to make use of the fact that all communication between components is message passing - so you can relatively easily take a Kamaelia system and divide it up into separate apps that communicate using sockets ....
[23:07] < Davbo> ProcessPipelines too right mhrd-home?
[23:08] < mhrd-home> The other, which is much more recent (and which ms-away knows more about atm) is a "Process" component that forks some components out into a separate process ...
[23:08] < mhrd-home> yeah - thats the one Davbo (thanks - was trying to remember the name!)
[23:08] < Davbo> Yeah I've been reading up on it since I'll be using it
[23:09] < Davbo> MultiPipeline I believe, in MS' Sketches
[23:09] < Davbo> http://kamaelia.svn.sourceforge.net/viewvc/kamaelia/trunk/Sketches/MPS/pprocess/MultiPipeline.py?revision=3829&view=markup
[23:09] < Davbo> Also; http://yeoldeclue.com/cgi-bin/blog/blog.cgi?rm=viewpost&nodeid=1205626569
[23:09] < mhrd-home> ok yeah, its still an experimental component but rather promising :)
[23:09] < Davbo> Yeah :)
[23:10] < Davbo> I believe the transition from a regular pipeline to these is rather trivial now, well, he intends to make it that way if it isn't already :)
[23:10] < mhrd-home> aconbere_ you got a particular application in mind? we're always interested in finding out about possible use cases
[23:11] < aconbere_> oh
[23:12] < aconbere_> so I consult for a startup in LA (and as happens in startups they've got me doing things I know little about)
[23:12] < mhrd-home> :)
[23:12] < aconbere_> but basically I wrote the pieces that grab data from a variety of social networks / social media sites
[23:12] < aconbere_> (so the list of your most recent photos in flickr)
[23:13] < aconbere_> so when you scale that up to 350k users, I need a way to be able to sub divide the problem into services, (with rate limiting, etc.)
[23:13] < aconbere_> and then further sub divide that problem into users of those services
[23:13] < aconbere_> etc.
[23:13] < Davbo> ooo, interesting.
[23:13] < aconbere_> so it's a very parellel problem
[23:14] < aconbere_> I just don't want to write it in twisted :)
[23:14] < aconbere_> (so I was looking for other solutions)
[23:14] < aconbere_> not that I couldn't do it in pure python, but having a framework to put the pieces in will help
[23:14] < mhrd-home> well in Kamaelia you think in terms of data flows - lots of small components wired to each other, passing data
[23:15] < aconbere_> right
[23:15] < aconbere_> so I can imagine (taking the flickr example)
[23:15] < mhrd-home> its a nice model for thinking about tasks you want to parallelise - you might find it a good environment to prototype in, even if you end up re-coding a production system in a different language/framework/platform
[23:15] < aconbere_> and inbox populated with users
[23:15] < mhrd-home> - have seen someone else do that before
[23:15] < aconbere_> oops
[23:15] < aconbere_> outbox
[23:15] < aconbere_> anyway
[23:15] < aconbere_> a BOX
[23:15] < Davbo> :)
[23:15] < aconbere_> with users that's picked up from
[23:16] < aconbere_> and used to go grab a list of objects
[23:16] < aconbere_> which are passed back
[23:16] < aconbere_> (simple case)
[23:16] < aconbere_> along with that I need to event new data (so after checking if it's in the current set, any straglers event them out to the world... so maybe a third box :-D)
[23:17] < mhrd-home> inboxes and outboxes in kamaelia are like connectors on a circuit board - they're a way to wire up to something else, rather than a means of storage
[23:17] < aconbere_> I've been thinking of them as queues
[23:17] < mhrd-home> so for your kind of model, you'd maybe have componen(s) storing info, responding to requests that arrive by sending stuff out. other components initiating things by sending out messages/requests etc...
[23:18] < mhrd-home> when they're wired up they can behave like queues
[23:18] *** aconbere_ nods
[23:18] < mhrd-home> when an outbox is not wired to an inbox then data falls into the void (again think wiring analogies)
[23:19] < mhrd-home> it might seem slightly strange initially
[23:19] < mhrd-home> but actually has a big advantage that components are very decoupled from each other
[23:19] < aconbere_> right
[23:19] < aconbere_> I mean I appreviate that if nothing else the mini-axon tutorial gave me a way to think about the problem
[23:19] < mhrd-home> so a component doesn't need to know who/what it is receiving data from or sending data to ... or even if there is anything there sending to.receiving from it
[23:20] < mhrd-home> thats cool :)
[23:20] < aconbere_> :-D
[23:20] < aconbere_> indeed
[23:20] < mhrd-home> you might want to take a look at the "Cookbook" too
[23:21] < aconbere_> I kept trying to force it into this erlang model I had, and given the python requirements I just wasn't seeing the light at the end of the tunnel.
[23:21] < mhrd-home> shows some of the more flexible components that allow more interesting ways of wiring up and structuring systems - even ones that change their shape ont he fly
[23:21] < mhrd-home> heh:)
[23:21] < aconbere_> hehe I saw that on the fly rewiring and decided that I shouldn't even look at that for a few days
[23:21] < aconbere_> (not until I grok other aspects)
[23:21] < mhrd-home> probably wise - does make some people double-take :)
[23:22] < mhrd-home> Backplanes are probably worth a look if you've not already seen them - a good way to aggregate and distribute data
[23:22] < aconbere_> Haven't seen them yet (or haven't really dug into them)
[23:22] < aconbere_> I saw the word somewhere
[23:22] < aconbere_> :)
[23:23] < mhrd-home> there's a reasonable explanation in the cookbook
[23:23] < aconbere_> ah
[23:23] < aconbere_> yeah
[23:23] < aconbere_> so for that part of things I actually think we'll be using our xmpp infrastructure
[23:23] < aconbere_> I doubt it would be difficult to tie together to two concepts
[23:24] < mhrd-home> indeed
[23:25] < mhrd-home> also Lawouach has been working on some XMPP capabilties in Kamaelia recently iirc
[23:25] < Davbo> Yeah he has...i think
[23:25] < aconbere_> I saw the guy from defuze posted a kamaelia xmpp client
[23:25] < Davbo> Yeah that's Lawouach
[23:25] < aconbere_> (part of what brought me to check out kamaelia)
[23:25] *** mhrd-home not been watching commit logs closely enough to know if he's been putting stuff in the repository yet
[23:26] < Davbo> defuze == Lawouach :-)
[23:27] < mhrd-home> at last, b****y spec dcoument finally finished downloading :)
[23:27] < mhrd-home> .. and all to find out what less than 1 byte's worth of bitfields mean :)
[23:27] < Davbo> hehe :)
[23:28] < mhrd-home> argh! they're just labelled as 'reserved' !
[23:30] < Davbo> Am I right thinking MultiPipline isn't merged yet mhrd-home?
[23:30] < Davbo> s/MultiPipline/MultiPipeline
[23:31] < mhrd-home> not afaik
[23:32] < Davbo> I'm working on linking up 2 simple paint programs (MagnaDoodle.py) using that and I know MS recommended i go from Pipeline to MultiPipeline to ProcessPipeline (hopefully without any changes :))
[23:32] < mhrd-home> unless you know better, I don't think he's even proposed merging it yet
[23:33] < mhrd-home> just use his copy in his Sketches directory
[23:33] < Davbo> Yeah i've checked-out his branch with it in
[23:34] < Davbo> I don't think he has
[23:34] < mhrd-home> as a hack you can add to the python path for imports, see the top of: /trunk/Sketches/MH/DVB_EIT.py for example
[23:36] < Davbo> ah
[23:36] < Davbo> thank you mhrd-home :-)
[23:36] < mhrd-home> its a little messy, but it does mean you don't have to copy his file
[23:37] < mhrd-home> np
[23:40] < Davbo> Cool mhrd-home you've done some VoIP stuff?
[23:40] < Davbo> things you don't realise until you start poking around in peoples /Sketches/
[23:40] < mhrd-home> Another project I'm working on is java voip based; I hacked some stuff there to act as a quick diagnostic tool
[23:41] < Davbo> hehe, cool
[23:42] < Davbo> They get you doing all sorts in R&D heh
[23:42] < mhrd-home> hmm, true :)
[23:44] < mhrd-home> I knew there had to be *some* reason why I stick around there :)
[23:45] < Davbo> Hah :-)
[23:45] < Davbo> I've no idea where I want to work now.
[23:46] < Davbo> Before i started university I was pondering joining some research team or something
[23:46] < Davbo> but after meeting people on them, not so much.
[23:46] < mhrd-home> knowing you don't know is probably better than mistakenly thinking you do
[23:47] < mhrd-home> I have several friends who have gone into employment, then a few years later decided to go back to academia and do PhDs
[23:47] < Davbo> Yeah, I've gone right off academia recently though
[23:47] < mhrd-home> they were enjoying the work, but wanted a change and academic research can look more appealing again once you've had a break from university
[23:48] < mhrd-home> important thing to remember is that you can always move on from one thing to something else
[23:48] < Davbo> I really like the *idea* of it but the people, the "academics" are just.
[23:49] < Davbo> It's quite a backwards institution really
[23:49] < mhrd-home> don't forget one uni dept can be very different from another
[23:49] < Davbo> true
[23:49] < mhrd-home> different atmosphere, different research focus, different opinions on what is respectable to research :)
[23:50] < Davbo> The Computer Science head of department regaling you with a talk about his friend who worked on Deep Blue. There's only so much of that you can take ;)
[23:51] < mhrd-home> if you get any opporunities to network (talks, conferences, etc) they can be useful to take - esp. if they give you an opporunity to meet people from other insititutions/industries/etc
[23:51] < mhrd-home> heh, lots of "characters" at university :)
[23:51] < Davbo> There has been 3 talks given by some folks from Sun
[23:51] *** mhrd-home notices 100% cpu usage and investigates
[23:52] < mhrd-home> ah, the indexer
[23:52] < mhrd-home> what did you think?
[23:52] < Davbo> Apparently they're doing one about OpenJDK and their open source projects I'll probably go along to
[23:52] < Davbo> I didn't get to go to the others due to lectures
[23:53] < Davbo> Maths is more important than someone explaining ZFS to me
[23:54] < Davbo> I heard they were pretty good though
[23:54] < mhrd-home> should be interesting just to hear how they talk about the subjects - try and figure out what working for Sun is like, and what kind of people do :)
[23:54] < Davbo> Yeah, I don't wanna get a job at Sun though MS will kick me off SoC ;)
[23:55] < mhrd-home> heh
[23:55] < mhrd-home> I need to call it a night now :)
[23:55] < Davbo> Good idea
[23:55] < Davbo> night mhrd-home, all
[23:55] < mhrd-home> cya all
[23:56] < mhrd-home> aconbere_ thank for dropping by - MS- / ms-away and Lawouach will probably be really interested to hear what you're working on
[23:56] *** mhrd-home has parted #kamaelia