[00:54] *** Trun has joined #kamaelia
[04:16] *** sadrul has joined #kamaelia
[04:16] *** vmlemon has joined #kamaelia
[04:16] *** vmlemon has joined #kamaelia
[04:28] *** sadrul has joined #kamaelia
[06:43] *** vmlemon__ has joined #kamaelia
[06:43] *** vmlemon__ is now known as vmlemon_
[06:44] < vmlemon_> Hi
[06:52] < vmlemon_> kamaeliabot: dance
[06:52] Reply: does the macarena
[07:19] *** Lawouach_ has joined #kamaelia
[07:19] < Lawouach_> morning
[07:35] *** MS- has joined #kamaelia
[07:37] *** vmlemon__ has joined #kamaelia
[07:37] *** vmlemon__ is now known as vmlemon_
[07:37] *** Lawouach_ wonders if Kamaelia and Axon setup.py shouldn't have seen their version bumped to 0.6.0 in trunk?
[07:38] < Lawouach_> or whatever the new version is
[07:39] < vmlemon_> It's a surprise gift for them ;)
[08:04] *** mhrd-afk is now known as mhrd
[08:26] *** orphans has joined #kamaelia
[08:28] *** MS- notes https://kamaelia.svn.sourceforge.net/svnroot/kamaelia/trunk/Code/Python/Apps/ReleasePackaging/DistBuild/setup.py.src
[08:29] < MS-> setup(name = "Kamaelia",
[08:29] < MS-> version = "0.6.0-rc7",
[08:30] < MS-> When that goes "final", https://kamaelia.svn.sourceforge.net/svnroot/kamaelia/trunk/Code/Python/Kamaelia/setup.py will bump to 0.6.0, and https://kamaelia.svn.sourceforge.net/svnroot/kamaelia/trunk/Code/Python/Axon/setup.py will bump to 1.6
[08:35] < Lawouach_> I see
[08:36] < Lawouach_> Though it's a bit unclear actually :)
[08:38] < Lawouach_> right ok I see
[08:39] < Lawouach_> I really need to look into the package mechanism you guys put in place
[08:39] < Lawouach_> currently I don't understand it :)
[08:39] < Lawouach_> But I haven't tried either :)
[08:41] < Lawouach_> IIUC you basically create a zip containing everything related to Axon and kamaelia and use one single setup module to deploy
[08:41] < Lawouach_> alright
[08:41] < Lawouach_> Then your explanation makes more sense to me now :)
[08:48] < MS-> Consider the newer packaging of Kamaelia 0.6.0 (when released) to come with Axon 1.6 for FREE !
[08:48] < MS-> :-)
[08:48] *** mhrd has a theory why pablo's use of Axon.background has problems
[08:48] *** mhrd tests solution and will email list
[08:48] < MS-> He shouldn't be using background(zap=True) that's why
[08:49] < MS-> It's there really to support the process forking stuff
[08:49] < mhrd> ah, yes - good point - that would fix it
[08:49] < MS-> It's a very dangerous thing really to use in normal code
[08:50] < MS-> The question is to first ask him why he's using it
[08:50] *** mhrd had no clue what purpose the zap argument existed for
[08:50] < MS-> It's to deal with some fun issues where you use the process code which forks
[08:51] < MS-> If you have, for example,
[08:51] < MS-> ProcessPipeline(SomePygameComponent)
[08:51] < MS-> gah
[08:51] < MS-> Pipeline( SomePygameComponent,
[08:51] < MS-> ProcessPipeline(AnotherPygameComponent)
[08:51] < MS-> )
[08:51] < MS-> without zapping the run queue in ProcessPipeline prior to starting AnotherPygameComponent
[08:52] < MS-> Then you have 2 copies of SomePygameComponent running - one in each process :)
[08:52] < MS-> It looks cool because it works, but it's a pain, because it works and does things you don't want or expect :-)
[08:52] < MS-> Did rather catch me out when I first did that example
[08:53] < MS-> (I was testing using Kamaelia.UI.Pygame.Text boxes
[08:53] < MS-> )
[08:53] < mhrd> what happens if I have: Pipeline( X, Y, ProcessPipeline(Z), A, B, C) ? will A, B, and C still get activated in the forked process - since Pipeline() possibly activates them in order?
[08:53] < mhrd> heh
[08:56] *** Lawouach_ notes that the choice of the name 'zap' is rather strange
[08:56] *** mhrd constructs a test
[08:56] < Lawouach_> Why not 'reset'?
[08:59] < MS-> Because I thought of it as zapping the run queue :)
[08:59] < Lawouach_> fair enough :)
[09:00] < MS-> If you have
[09:00] < MS-> Pipeline( X, Y, ProcessPipeline(Z), A, B, C)
[09:00] < MS-> then Pipeline, X,Y,A,B,C, ProcessPipeline all get started in the same process, and Z is started (by ProcessPipeline) in the forked process
[09:01] < Lawouach_> Side but not unrelated note, I was wondering if we should consider reviewing and maybe cleaning/refactoring/improving the Axon scheduler mainllop before the next stable release.
[09:01] < Lawouach_> Currently the scheduler mainloop works but is rather hard to follow and not flexible.
[09:03] < mhrd> Lawouach_ : no harm in giving it a go - I agree it could be clearer
[09:06] < MS-> Before 0.7.0 ?
[09:06] < MS-> K0.7.0/A1.7.0 or K 0.6.0 or A 1.6.0 ?
[09:06] < Lawouach_> MS-: depends when 0.7 is planned
[09:06] < MS-> Now that I've got a decent build/release mechanism, much sooner
[09:07] < Lawouach_> mhrd: I will look into it into a branch then. No harm looking at it as you say.
[09:07] < Lawouach_> That's where a solid unit tests suite would be critical
[09:07] < MS-> Probably more like autumn
[09:07] < MS-> We do have test suite for Axon BTW
[09:07] < Lawouach_> Changing such a core feature is not a simple decision
[09:07] < Lawouach_> MS-: ah true. That'd be a good start.
[09:07] < MS-> The other aspect of the scheduler is the reason for it being "one big loop"
[09:07] < Lawouach_> MS-: autumn is fine then.
[09:08] < MS-> is because when we started I did some tests and found that each function call in the scheduler does actually make a big difference
[09:08] < Lawouach_> yes
[09:08] < MS-> However that doesn't mean that it has to stay being built/written that way
[09:08] < Lawouach_> function calls are expensive in Python
[09:08] < MS-> After all, we could always use a templating system to put the scheduler together
[09:08] < Lawouach_> That's why i'm not sure headstock will be the fastest XMPP lib out there but good enough for clients :)
[09:09] < MS-> But that's a huge change in coding style
[09:09] < MS-> But it may make it more maintainable
[09:09] < Lawouach_> What do you mean by "templating system" here?
[09:09] < MS-> Precisely that - use a templating system to achieve what you'd get with inlining in (say) C or C++
[09:10] < MS-> The sort of thing really that Tara worked on last summer for example...
[09:10] *** Uraeus has joined #kamaelia
[09:11] < MS-> (this is not actually anything other than a mild thought at present btw)
[09:11] < MS-> But python's lack of ability to do inlining is really the problem here
[09:12] < Lawouach_> I think my main motive in a first stage is to clarify the scheduler mainloop, if only from a documentation point of view
[09:12] < Lawouach_> Not that the code is cryptic, but it isn't straightforward either.
[09:13] < Lawouach_> Next would be to define what ought to be modular and why.
[09:15] < Lawouach_> anyway
[09:15] < Lawouach_> not to worry
[09:15] < Lawouach_> I'm not arguing to change anything for now
[09:15] < MS-> There are places it can be improved I'll admit, but as you can expect, I'll need a very strong argument for change :)
[09:15] < Lawouach_> Just the idea that we might want to refactor that bit
[09:15] < Lawouach_> MS-: heck yeah. I'll have to prepare myself ;)
[09:17] < MS-> That said, the scheduler is a microprocess and microprocesses can take a scheduler argument to their activate code to enable *specifically* the use of multiple schedulers
[09:17] < MS-> So the idea of a second scheduler isn't actually necessarily an issue
[09:17] < MS-> (necessarily)
[09:17] < MS-> though it could be
[09:17] < MS-> OK
[09:17] < MS-> gtg
[09:17] < MS-> biab
[09:17] < MS-> cya
[09:17] < Lawouach_> Well in the current implementation it is more or less
[09:18] < MS-> :)
[09:18] < Lawouach_> Because of the fglobal scheduler instance
[09:18] < Lawouach_> Whcih propagates implicitely with components like Graphline
[09:18] < MS-> No, you can have multiple schedulers, happily
[09:18] < MS-> I'll be back later
[09:18] *** MS- has parted #kamaelia
[09:18] < Lawouach_> I scared him :)
[09:39] *** Davbo has joined #kamaelia
[09:42] < Davbo> Wooo!!
[09:42] *** Davbo Passed all his exams :-D
[09:42] < orphans> Davbo, grats :)
[09:43] < orphans> eesh, I graduate in 6 days time
[09:44] < Lawouach_> Davbo: congrats
[09:45] < Davbo> Thank you!
[10:21] *** Trun has joined #kamaelia
[10:22] < Trun> hi
[10:23] < Trun> mhrd, may I ask you about your theory? (reading the logs; "mhrd has a theory why pablo's use of Axon.background has problems")
[10:24] *** vmlemon__ has joined #kamaelia
[10:25] *** vmlemon__ is now known as vmlemon_
[10:25] < vmlemon_> Hi
[10:31] *** Chong- has joined #kamaelia
[10:32] < vmlemon_> Hi Chong-
[10:32] < Chong-> Morning, vmlemon_ and others.
[10:33] < mhrd> Trun: you can ask :)
[10:34] < mhrd> related: anyone suggest why this only displays "CCC" instead of all the different 'yells'? http://pastebin.com/m18726638
[10:36] < mhrd> Trun: my (untested) guess is that the creation of the scheduler in background's run() method happens after the other component is activated when the call to start() returns ... ie. a race condition
[10:37] < mhrd> you could remove that problem by overriding the start() method and having it wait for some kind of signalling from the thread to let it know that the thread had created the new scheduler and was ready. only when it receives this signal would it return.
[10:37] < Trun> I see
[10:37] < mhrd> therefore when the call to start() returns you can guarantee that the "background" system is running
[10:37] < mhrd> however ...
[10:37] < mhrd> as MS- pointed out he shouldn't have the 'zap=True' argument, so I'm guessing that would avoid the problem completely
[10:37] < Trun> yep, I read that too
[10:40] < mhrd> that's why, for example, there's signalling like that in threadedcomponent - eg. when the thread calls self.link() it won't return until the main thread of execution has signalled back saying that it has been done. Not good for performance, but safe.
[10:42] < mhrd> ... but as I've said, I've not tested this hypothesis
[10:42] < mhrd> and I dont' understand Handle and background well enough atm :)
[10:43] < Trun> yeah, I'm going to check it without the zap=True etc. (I used it to force a new scheduler to be created), thank you very much for all
[10:44] < mhrd> np
[10:45] < mhrd> sorry - "he shouldn't have" ---> "you shouldn't have" ... for some reason my brain forgot that Trun = Pablo :)
[10:45] < Trun> yep, me neither :-( I worked well with the LikeFile version and migrating to Handle is being difficult (I wanted to do that after I got some "non-kamplanet" tests done)
[10:45] < Trun> yep, it's me :-)
[10:48] < mhrd> (will teach me for not being very active round here for teh past few months ;-) )
[11:03] < Lawouach> via reddit: http://googleonlinesecurity.blogspot.com/2008/07/meet-ratproxy-our-passive-web-security.html
[11:12] *** bcarlyon|laptop has joined #kamaelia
[11:22] *** Davbo loves reddit Ideas (http://www.reddit.com/r/ideas/)
[11:23] < Davbo> reddit in general is amazing but the ideas page is often hilarious
[11:50] < Lawouach_> I had never seen it
[12:00] *** orphans notes a serious design flaw with his new room. If it rains and the window is open it goes *everywhere*
[12:04] < Davbo> that's not a window orphans it's the roof, and you shouldn't be able to "open" it
[12:05] < orphans> strangely close to the truth :)
[12:05] *** orphans loves student housing
[12:05] < Davbo> hehe
[12:12] < Lawouach_> :)
[12:21] < orphans> Lawouach_, the new version of the jam pure data patch is in svn now if you want to test it out at some point. I'm just updating the getting started guide now. Soon you will have sound!
[12:27] < Davbo> sound!! :D
[12:38] < mhrd> Trun/anyone: can you explain what 'Axon.Handle.handle' is? its a component you wire up in your system that you can access its inboxes and outboxes using get/put methods?
[12:39] *** Lawouach_ would like to hear Trun's point of view
[12:42] < Davbo> From my understanding, having read the code when it was LikeFile, it's a putter and getter for boxes yeah. Gives similar functionality to a File type but doesn't implement the File interface (if that makes sense)
[12:44] < Davbo> i know it's used in the multiprocess code i'm using to wire up the actual different pprocesses with boxes
[12:44] < Davbo> was it a trick question mhrd? :-)
[12:46] < mhrd> nope - all I know is that likefile disappeared a while ago, and Handle has appeared in its place ...
[12:46] < mhrd> I have code that uses likefile, so need it or an equivalent ... but am aware that there appear to be outstanding issues with Handle
[12:47] < mhrd> I've not really been around here much, so am not fully clued up - hence asking for someone to validate my "at first glance" understanding
[12:47] < Davbo> Ah
[12:48] < mhrd> Trun seemed to be using it, so seemed like a good person to ask :)
[12:49] < mhrd> Davbo: how are you doing that ooi?
[12:49] < Davbo> The Multicore code has some problems with LikeFile as it was previously. And when MS went back to look at the problem he discovered some rather nasty code so that's probably the changes between LikeFile and Handle
[12:50] < mhrd> multicore code? Axon.experimental.Process ?
[12:50] < Trun> (I was using it as a communication with a scheduler from not-axon code)
[12:50] < Davbo> How am I using Handle? Just through Axon.experimental.Process
[12:50] < mhrd> k, ta
[12:50] < Davbo> Yeah mhrd
[12:50] < Lawouach_> Axon.fu.we.kick.ass.da.supra.multiprocess
[12:51] < Davbo> nah Lawouach_, Axon.error.prone.code.multiprocess
[12:51] < Davbo> ;-D
[12:51] < mhrd> ahh ... it'll get there :)
[12:54] < Lawouach_> Axon.i.like.dolphins.multiprocess
[12:54] < Lawouach_> poetry guyes!
[12:54] < Lawouach_> guys
[12:55] *** mhrd doesn't usually do trick questions
[12:56] < Lawouach_> But trick answers
[12:57] < Lawouach_> Blue or red?
[12:57] < Lawouach_> I like banana
[12:58] < mhrd> Davbo: can you tell me why http://pastebin.com/m18726638 only prints "CCC"'s ?
[12:58] < mhrd> (should print 'A's 'BB's 'DDDD's and 'EEEEE's too?)
[13:01] < Lawouach_> orphans: I will check your update asap
[13:03] < orphans> it's fun :)
[13:03] < Davbo> interesting mhrd
[13:07] *** mhrd wants a sanity check - am I completely misunderstanding and doing something silly? :)
[13:10] < Lawouach_> shall I respond?
[13:12] *** Davbo was on the phone
[13:12] < mhrd> go for it
[13:12] < Davbo> mhrd: that will certainly be considered a bug by ms (you should be able to go Pipeline -> ProcessPipeline with no change)
[13:13] < Lawouach_> I meant respond "to something silly?" :)
[13:13] < mhrd> you can respond to that too :)
[13:17] < Lawouach_> I haven't looked at the process components yet
[13:17] < Lawouach_> So can't really help
[13:17] < mhrd> thanks anyway :)
[13:18] < Davbo> seems odd to me mhrd, the fact it skips the first things in the Pipeline seems strange
[13:18] < Davbo> you'd expect that to be a problem in the Pipeline code, I'm not sure though
[13:19] < mhrd> my gut feeling is its something to do with the forking and the way the new scheduler is invoked - new functionality like that shouldn't affect Pipeline which has a strong track record of reliability now
[13:19] < Davbo> yeah
[13:20] < Davbo> hmm
[13:25] < mhrd> ok, stronger test: http://pastebin.com/m38ffc028 ... each Yell writes to a file so this should eliminate the possibility that stdout was simply not making it to the console from the forked process
[13:27] < mhrd> stronger still: http://pastebin.com/m20b8da0 ... added output flushing and more diagnostic output
[13:29] < mhrd> forgot to mention, I'm using pprocess 0.3.1 ... in case thats a difference
[13:29] < Davbo> nah i'm using the same
[13:30] < Davbo> "possibility that stdout was simply not making it to the console from the forked process" - FWIW I've never had this
[13:30] < Lawouach_> pprocess seems to fail on windows
[13:30] < Lawouach_> meh
[13:54] < mhrd> Chong-: File "/home/matteh/kamaelia/svn/trunk/Sketches/CL/Topology3D/Utils/Particles3D.py", line 220, in < module>
[13:54] < mhrd> from THF.Kamaelia.UI.OpenGL.OpenGLComponent import OpenGLComponent
[13:54] < mhrd> ImportError: No module named THF.Kamaelia.UI.OpenGL.OpenGLComponent
[14:00] < Chong-> mhrd: thanks. I forgot to change the path to standard library :-)
[14:00] < mhrd> np
[14:00] < mhrd> coming along nicely btw
[14:01] < mhrd> the rotation stuff you added - it rotates the linkages as well as the nodes - can it rotate just the nodes? or was it intended to rotate the whole particle system?
[14:02] < Chong-> mhrd: thank you. I have noticed the problem.
[14:02] < mhrd> cool
[14:03] *** Davbo is trying to get his Layers to work
[14:03] < mhrd> final thing: I get this error when I move the mouse over the window:
[14:03] < mhrd> ValueError: gluPickMatrix requires 5 arguments (x, y, delX, delY, viewport), received 4: (777, 17, 1, 1)
[14:03] < Chong-> at present, the link is drawn with nodes, so the link would rotate with nodes
[14:03] < Chong-> I think it may be better to draw links seperately.
[14:03] < mhrd> were you trying to make it rotate everything as a whole, or just the nodes?
[14:04] < mhrd> "draw links separately" - probably a good idea
[14:04] < Chong-> I think just the nodes are enough, because rotation doesn't change nodes position. what do you think?
[14:05] < Davbo> Oh, I was just about to go on a rant about Pygame surfaces but just got it working :-)
[14:05] < mhrd> Davbo: heh, cool
[14:05] < Chong-> Davbo: well done :-)
[14:05] < mhrd> Chong- : if I am trying to look at a set of nodes - being able to rotate the whole thing (to see it from a different angle) seems more useful to me
[14:06] < mhrd> ... that is a guess
[14:07] < Chong-> mhrd: do you mean to move nodes with links? or you want to just move nodes you have selected rather than all nodes?
[14:09] < Chong-> mhrd: about the ValueError, I haven't met it before. When did it happen? when you drag nodes or do rotation or something else?
[14:09] < mhrd> I mean: imagine all the nodes and links are a single object - then rotate that single object as a whole
[14:09] < mhrd> it happens as soon as I move the mouse into the window
[14:10] < mhrd> ( I'm using ubuntu 8.04 with the built-in packages for python and python-opengl )
[14:11] < orphans> mhrd, just tried it - I get the same error too
[14:11] < Chong-> mhrd: I have not the problem :-) Have others encountered the same problem?
[14:12] *** orphans is procrastinating by trying out people's stuff :)
[14:12] < Chong-> orphans: thanks
[14:12] < mhrd> here is the full error message: http://pastebin.com/m78f6ad88
[14:12] < Chong-> mhrd and orphans: I'll check it.
[14:14] < mhrd> the ubuntu package for python-opengl is version 3.0.0-b1-0
[14:14] < mhrd> python-pygame 1.7.1
[14:15] < mhrd> python 2.5.2-0
[14:18] < Davbo> mhrd: what do you get "ValueError: gluPickMatrix requires 5 arguments (x, y, delX, delY, viewport), received 4: (777, 17, 1, 1)" with?
[14:18] < Davbo> TopolgyViewer3D.py?
[14:18] < mhrd> yes
[14:18] < Davbo> Strange, I don't get that
[14:19] < mhrd> what versions of python, pygame and python-opengl do you have?
[14:19] < Davbo> let me check what versions I have from Mandriva's repos
[14:19] < mhrd> :)
[14:19] *** mhrd -> afk for a bit
[14:21] *** orphans gets the error with: python-opengl 3.0.0a6, python-pygame 1.7.1, Python 2.5.1
[14:21] < Davbo> pygame: 1.7.1
[14:21] < Davbo> python-opengl: 2.0.1.09
[14:21] < Davbo> python 2.5.2
[14:21] < orphans> maybe python-opengl 2=>3?
[14:21] < Davbo> Yeah.
[14:22] < Davbo> interesting
[14:22] < Davbo> what do you do to trigger it orphans? mouse over the window?
[14:22] < Chong-> mhrd: thanks for the error info.
[14:23] < orphans> Davbo, mhm
[14:23] < orphans> only if it has focus too
[14:24] < Chong-> gluPickMatrix( x , y , delX , delY , viewport = None)
[14:24] < Davbo> You should have a look at that Chong-
[14:24] < Davbo> try both versions 2 and 3
[14:24] *** orphans tries
[14:25] < Chong-> I guess it should has relation to pyOpenGL version, newer versions give a default viewport
[14:26] < orphans> Chong-, where is gluPickMatrix?
[14:26] < orphans> what file?
[14:27] < Chong-> in Kamaelia.UI.OpenGL.OpenGLDisplay
[14:27] < orphans> ahh
[14:27] < Chong-> File "/usr/lib/python2.5/site-packages/Kamaelia/UI/OpenGL/OpenGLDisplay.py", line 772, in doPicking
[14:27] < Davbo> I guess that was made for version 2
[14:29] < Chong-> Davbo: I think so, too. Mine is 3.0, what is yours and orphans and mhrd's?
[14:29] < orphans> Chong: http://orphans.pastebin.com/d54e0ab46
[14:29] < orphans> 3 not working for me, 2 working for davbo...
[14:33] < Chong-> orphans: that's strange. try just use None, gluPickMatrix(pos[0], self.height-pos[1], 1, 1, None)
[14:33] < orphans> ahh, think I've found the fix
[14:33] < orphans> 2 secs
[14:34] < orphans> gluPickMatrix(pos[0], self.height-pos[1], 1, 1, glGetIntegerv(GL_VIEWPORT)) works
[14:35] < orphans> (on my box anyway...)
[14:36] < orphans> heh, this is fun :)
[14:36] < Chong-> orphans: yes. It seems that you have to specify viewpoint. It works for sure.
[14:38] < Chong-> I was wondering why some works with 4 parameters and others not. :(
[14:38] < orphans> fairly simple fix thought - might be able to get MS- or mhrd to merge it straight in
[14:39] < Davbo> does it break backwards compatibility though?
[14:39] < Davbo> I'll test it for you
[14:41] < Chong-> orphans: I agree. better to ensure it works for all. thanks.
[14:42] *** orphans goes to eat something
[14:42] < Chong-> Davbo: normally it should have 5 parameters and the default value for the 5th is just glGetIntegerv(GL_VIEWPORT), so I think it should have no backwards compatibility issues.
[14:43] < Davbo> Yeah, works for me Chong-
[14:44] < Davbo> small change so i wouldn't bother with a branch, ask ms or mhrd to merge it straight in
[14:46] < Chong-> Davbo: yes. we can discuss it in our meeting.
[14:47] < Davbo> oh yeah!
[14:47] < Chong-> my version is PyOpenGL-2.0.1.09 rather than 3.0
[14:47] *** Davbo had completely forgot about the meeting :-)
[14:47] < Chong-> so, the problem may be from PyOpenGL 3.0
[14:48] *** Davbo nods
[14:48] < Davbo> certainly looks that way
[14:49] < Chong-> Davbo: yes. Anyway, writing complete parameters and not depending on versions are the right way to go.
[14:52] < Chong-> mhrd: about the rotation, do you suggest using a common axis for all nodes to rotate rather than using their own axis?
[14:54] < Davbo> Yeah i was thinking that, don't you want it to rotate around the centre. That would make more sense to me
[14:56] < Chong-> Davbo: yes. I agree. it would more interesting. I was also think about rotating particles selected rather than all.
[14:59] < Chong-> if there is a node selected, only rotate the ones selected. If not, rotate all around a common axis, say the centre of all nodes.
[15:03] < Davbo> YAY LAYERS!
[15:03] < Davbo> in a kinda horrible ugly way, but whatever! :)
[15:04] < Davbo> it's a start
[15:04] < j_baker> Thanks for looking into that for me Lawouach.
[15:17] < Lawouach_> j_baker: np
[15:18] < Lawouach_> You caught a sneaky bug :)
[15:21] < orphans> you reckon we should just post up our DONE TODO BLOCKED again today?
[15:24] < Davbo> Yeah, I guess MS would have probably also pointed out Mid-term assessments are next week
[15:24] < Davbo> we'll all have to fill in some form online I think
[15:24] < j_baker> It opens July 7 I believe
[15:24] < orphans> can't wait - I just love those online forms...
[15:25] < Davbo> thanks j_baker
[15:25] < j_baker> Who doesn't like online forms?
[15:26] *** j_baker points out that he was being sarcastic before anyone doubts his sanity.
[15:26] < Lawouach_> too late
[15:26] < j_baker> :)
[15:26] < Davbo> Any points for the meeting you can think of Lawouach_?
[15:28] < Lawouach_> who bakes cookies?
[15:28] < Lawouach_> not really no
[15:28] < Lawouach_> :)
[15:28] < j_baker> Cookies are awesome.
[15:29] < j_baker> I think that's one thing that Kamaelia should provide more of.
[15:29] < Davbo> The WI meeting is next door Lawouach_ ;-)
[15:29] < j_baker> Women in Industry?
[15:29] < Davbo> lol
[15:30] < Davbo> I was thinking Women's Institute but that's good too
[15:30] < orphans> the WI meeting has cookies?
[15:30] < Davbo> They make the cookies!
[15:30] < orphans> mmm, cookies
[15:30] < Davbo> Do they do anything other than bake?
[15:30] < orphans> and women :)
[15:30] < orphans> *sigh*
[15:31] < orphans> Davbo, I think they did that naked calendar which they made a film out of
[15:31] < j_baker> http://www.womens-institute.co.uk/ : I hope it wasn't any of those women. I'd pay them money NOT to give me the calendar.
[15:32] < orphans> j_baker, that's kinda the idea I think - it's like reverse psychology or something
[15:33] < orphans> DONE: Add tempo-sync code to jam and step sequencer. Create new Pure Data examp
[15:33] < orphans> le. Rewritten sdist build system. Document various bits of code.
[15:33] < orphans> TODO: Write piano roll component. Make tempo syncing between jam instances work.
[15:33] < orphans> BLOCKED: Graduation on Weds, but nothing else
[15:33] < j_baker> I'll have to keep that in mind next time I want to have a fund raiser. Being a CS major, it's not very difficult to find ugly people to put in a calendar like that.
[15:33] < j_baker> DONE: Finished up (for the most part) the WSGI server, started working with Lawouach's headstock library
[15:33] < j_baker> TODO: Adapt the webserver to work with headstock
[15:33] < j_baker> BLOCKED: None
[15:33] < Trun> DONE: Branch created for the testing framework, with a minor modifications in {Protocol.HTTP,Schedule}, tests and the testing framework itself. In process of migrating to Handle (it still fails ~20% of times) to replace LikeFile-based working testing framework, adding examples as documentation.
[15:33] < Trun> TODO: Finish moving from LikeFile to Handle, and then, finally, add real-world tests.
[15:33] < Trun> BLOCKED: None
[15:33] < Lawouach_> j_baker: Your TODO is not exactly meaningful
[15:33] < Lawouach_> You can't make a webserver to work with XMPP
[15:34] < Lawouach_> You might want to rephrase
[15:34] < j_baker> I couldn't think of any succinct way to phrase it.
[15:34] < Lawouach_> But I agree, we need more cookies
[15:34] < Lawouach_> j_baker: MS- will hunt you down. That's okay with me :)
[15:34] *** mhrd back (unexpected delays)
[15:35] < mhrd> Chong- : yes - rotate everything around a common centre
[15:35] < Lawouach_> you win
[15:35] < mhrd> :)
[15:35] < j_baker> TODO: Make a headstock Message handler that will forward input to the HTTPServer and receive output from the HTTPServer
[15:36] < Lawouach_> http://www.cmlenz.net/archives/2008/07/the-truth-about-unicode-in-python < -- informative reading
[15:36] < j_baker> Was anybody already posting this? If not, I'll go ahead and do it.
[15:36] < Lawouach_> j_baker: better :)
[15:36] < Davbo> DONE: Layers (using pygame surfaces) are now working, little functionality currently but core is there. Added an Eraser tool and Eyedropper tool. PASSED MY EXAMS!
[15:36] < Davbo> TODO: Improve on layers so they're more useful (transparency will be useful) Make a start on animations
[15:36] < Davbo> BLOCKED: None
[15:36] < mhrd> DONE: n/a TODO: may investigate debugging background/handle and possibly pprocess stuff BLOCKED: non K work
[15:36] < Chong-> DONE: made a workable OpenGL version TopologyViewer and Particle, applied existing physics law, and be able to click, drag, rotate and change viewer position
[15:36] < Chong-> TODO: debug, change some behaviours (such as rotation), add more functions (such as initialTopology handling)
[15:36] < Chong-> BLOCKED: None
[15:36] < j_baker> BTW, congrats orphans. :)
[15:37] < orphans> on?
[15:37] *** orphans tries to think of something notable I've done
[15:37] < orphans> oh graduating :)
[15:37] < orphans> thanks
[15:37] < Chong-> mhrd: thanks for your suggestion. :-)
[15:38] < Chong-> orphans: congrats on your graduation too :-)
[15:39] < mhrd> orphans: yes, congratulations
[15:40] < j_baker> BTW, did you have anything to bring up for the meeting, mhrd?
[15:40] < orphans> ty guys :)
[15:40] < mhrd> nope
[15:45] < Davbo> argh why did you mention that calendar orphans
[15:45] *** Davbo shivers
[15:46] < Davbo> Enjoy your silly hat and robe on Weds orphans (Congratulations! :-))
[15:47] < orphans> yup, I'm 100% guaranteed to look ridiculous
[15:48] < orphans> I think I might be getting a prize off Patrick Moore though :)
[15:48] < j_baker> Patrick Moore?
[15:49] < orphans> http://en.wikipedia.org/wiki/Patrick_Moore
[15:49] < Lawouach_> My mum was so proud when my brother had to wear it when he graduated from Cardiff University
[15:49] < Lawouach_> :)
[15:50] < orphans> yeah, literally half my family is coming - it's going to be a nightmare of a day
[15:50] < j_baker> Wow. That's interesting.
[15:50] *** j_baker wants to graduate.
[15:50] *** j_baker has been in college way to long.
[15:51] < orphans> meh, I'm aiming for perpetual studenthood
[15:52] < Lawouach_> you can do that, provided you drink enough.
[15:54] < j_baker> That's one thing that's definitely not hard to do at my school.
[15:55] < j_baker> But then again, that seems to be the case with all the public universities in Texas.
[15:55] < orphans> Lawouach_, not quite beer-o-clock yet. Maybe soon though
[15:56] < orphans> although I'd imagine you had a couple of bottles of wine with lunch hm? :D
[15:56] < j_baker> Just out of curiosity, what kinds of beer do you guys drink?
[15:56] < orphans> france is amazing :)
[15:56] < mhrd> bitter
[15:57] < orphans> ale/bitter
[15:57] < j_baker> Like Guiness?
[15:59] < orphans> mm, guiness is stout which is a type of ale. Personally not much of a fan of Guiness, but yeah, that sort of thing
[15:59] < orphans> but better :)
[16:00] < j_baker> I agree. I dislike Guinness too. There's a micro-brewery nearby that makes an awesome Chocolate Stout.
[16:01] < orphans> what's it called?
[16:01] < j_baker> Triple J
[16:02] < orphans> not heard of it. Sounds nice :)
[16:02] < orphans> one of my friends has just gone on a bit of a tour of micro-breweries in the US, sounded really fun
[16:04] < j_baker> That actually sounds like a fun trip.
[16:07] < j_baker> If he is still here, you might tell him to stop by Shiner, TX (if he isn't already going there).
[16:08] < j_baker> That's where the Shiner Bock plant is, which is one of my favorite Texas beers. :)
[16:09] < orphans> I think he's already come past onto the west coast
[16:14] < j_baker> That must be fun. Beach + beer sounds like a perfect combo to me. :)
[16:15] < orphans> yeah, I wouldn't say no
[16:22] *** Davbo drinks mostly German / Belgian Beer :-)
[16:22] < Davbo> otherwise I'll drink just about any lager
[16:23] < Davbo> must say i've never had a Chocolate Stout though
[16:23] < Davbo> I've had Strawberry Beer though :-)
[16:24] < j_baker> That sounds interesting.
[16:24] < j_baker> Chocolate Stout is good. It's not quite as bitter.
[16:33] < Davbo> There are a lot of local breweries in and around Sheffield and most of the Beers they produce are identical
[16:33] < Davbo> there's a beer society at University though that has some interesting stuff :)
[16:33] < Davbo> (they brew their own)
[16:35] < j_baker> That must be awesome to have a lot of breweries though. If there's one thing I have to give Britain, it's that you guys have awesome beer.
[16:35] < j_baker> We do have a lot of beer societies at our university too though. They're called fraternities. :)
[16:37] < Davbo> Hah, not sure about good beer coming from the UK but we're a nation of beer drinkers ;-)
[16:37] < j_baker> A lot of my favorite beers are British. I like Bass a lot for example.
[16:38] < Davbo> Bass no1. draft is the best Beer i've ever had :-)
[16:39] < Davbo> Budweiser is the best bad beer I've had
[16:40] < j_baker> Heh... I dislike most of our big national brands.
[16:40] < j_baker> And what's sad is that I have way too many friends who drink it just out of fear of trying anything new.
[16:40] < Davbo> There's a time and place for Budweiser i find
[16:41] < Davbo> generally hot day and a BBQ :-)
[16:42] < j_baker> I'll agree to that.
[16:42] < orphans> my housemate makes his own wine
[16:42] < orphans> very enjoyable (if hangover-inducing)
[16:42] < Davbo> yeah
[16:43] < Davbo> i wish i was more into wine, i might start buying some
[16:43] < Davbo> some people really seem to love it but i just don't get it :)
[16:45] < orphans> just started getting into whisky too - now there's a drink!
[16:45] < orphans> although for me it's almost certainly a one way street to drunkenness. Impossible to avoid
[16:46] < j_baker> I like wine a lot too.
[16:46] < j_baker> Perhaps Lawouach would be able to give us some advice on good wines.
[16:47] < Davbo> Hah, my brother is quite into Whisky. I drink Southern Comfort a lot though (technically a whisky flavoured liqueur i think)
[16:47] < orphans> mm, southern comfort is pretty horrible
[16:47] < j_baker> Depends which one you try.
[16:48] < j_baker> There's an 80 proof and a 100 proof
[16:48] < Davbo> is there?
[16:48] < j_baker> In my experience 80 proof is best for taking shots and 100 proof is best for mixing.
[16:48] < Davbo> interesting
[16:48] *** Davbo checks his bottle
[16:48] < orphans> 80/100 proof = percentage?
[16:49] < j_baker> Unless of course you enjoy your throat burning like hell. Then the 100 proof is great for taking shots.
[16:49] < j_baker> Divide the proof by 2 and you get the percentage. :)
[16:49] < orphans> ahh
[16:50] < orphans> I've also (very steadily) been drinking some 65% overproof rum my mate bought back from Jamaica
[16:50] < orphans> it's deadly - like white spirit in rum form
[16:50] < orphans> or perhaps the other way round...
[16:50] < Davbo> 35% on mine which would make it 70 proof by that lol
[16:51] < j_baker> I tried some moonshine one of my friend's parents made. And I'll never do it again.
[16:51] < Davbo> Hah
[16:51] *** Uraeus has joined #kamaelia
[16:51] < orphans> :)
[16:52] < Davbo> I had a similar encounter with home brewed live beer
[16:52] < Davbo> Anyone had a living beer before?
[16:52] < j_baker> Hmmm... the 70 proof may be a British thing.
[16:52] < j_baker> I prefer mine dead.
[16:53] < Davbo> You can get *very* ill drinking live beer lol
[16:53] < j_baker> What is live beer?
[16:53] < Davbo> it's when yeasts are still in the beer from the brewing
[16:54] < j_baker> That sounds nasty.
[16:55] < Davbo> It can be
[16:55] < Davbo> but I've had very nice ones before at the beer festival
[16:55] < j_baker> brb
[16:56] < Davbo> All this talk is making me thirsty, I'll be back on later chaps. Cya :)
[16:57] *** j_baker has joined #kamaelia
[16:59] < j_baker> Pidgen's IRC chat isn't half bad.
[16:59] < j_baker> s/Pidgen/Pidgin
[17:00] < j_baker> Plus it doesn't annoyingly use the clipboard and clear out what I had in there.
[17:00] < j_baker> Unlike x-chat.
[17:25] *** MS- has joined #kamaelia
[17:25] < MS-> evening
[17:28] *** mhrd preps to leave
[17:28] < mhrd> hi MS- :)
[17:30] < MS-> hiya
[17:32] < MS-> Short version : they had an intermittent hardware failure, I found it, worked around it and set it copying 1.9TB from A to B. With luck that'll resolve things. Go back tomorrow to put it all back together :)
[17:32] < mhrd> cool
[17:33] < MS-> If all successful, everyone has to watch Dragon's Den next week :)
[17:33] < MS-> If it isn't, they can't :)
[17:34] < mhrd> hence the phone call request I passed on? didn't know you were involved in that project
[17:34] < MS-> I'm not, but their emergency was local
[17:34] < mhrd> "are you ... local?" :-)
[17:35] < MS-> Their boxes were up here for post-production editting
[17:35] < MS-> heh, yes
[17:35] < MS-> That's filmed up here btw
[17:35] < mhrd> "hadleigh" iirc
[17:35] < MS-> Yep
[17:35] < MS-> 20 minutes out from manc - we went there walking one sunday
[17:35] < MS-> 'tis quite nice round there
[17:37] < mhrd> s/hadleigh/hadfield/
[17:37] < MS-> yep
[17:38] < MS-> Been standing up most of the afternoon though
[17:40] < mhrd> :(
[17:40] *** mhrd gotta go now
[17:40] < mhrd> cya
[17:40] *** mhrd is now known as mhrd-afk
[17:45] < Chong-> hi, MS-
[17:45] < MS-> evening
[17:45] < MS-> Oh it's thursday isn't it
[17:45] < MS-> I have probably the best reason for not attending a meeting ever
[17:45] *** MS- hopes mhrd made excuses on my behalf
[17:45] < Chong-> :-)
[17:46] < Chong-> You met some emergency during work?
[17:47] < Chong-> mhrd found a problem of OpenGLDisplay
[17:47] < Chong-> [14:12] < mhrd> here is the full error message: http://pastebin.com/m78f6ad88
[17:47] *** MS- gets tempted by Axon.fu.we.kick.ass.da.supra.multiprocess
[17:48] < Chong-> :-)
[17:48] < MS-> Chong-: Let's just say that if what I did works, then a BBC One programme goes on air gets week
[17:48] < MS-> and if it doesn't then it eitehr doesn't or someone has a really nasty weekend
[17:50] < MS-> (18:54:22) Chong-: mhrd found a problem of OpenGLDisplay
[17:50] < MS-> (18:54:46) Chong-: [14:12] < mhrd> here is the full error message: http://pastebin.com/m78f6ad88
[17:50] < MS-> That's nice
[17:51] < Chong-> I see. that's very urgent, potentially millions of angry audience :-)
[17:51] < Chong-> thanks.
[17:51] < MS-> [14:21] *** orphans gets the error with: python-opengl 3.0.0a6, python-pygame 1.7.1, Python 2.5.1 [14:21] < Davbo> pygame: 1.7.1 [14:21] < Davbo> python-opengl: 2.0.1.09 [14:21] < Davbo> python 2.5.2 [14:21] < orphans> maybe python-opengl 2=>3?
[17:51] *** MS- notes he probably doesn't get the error due ti:
[17:51] < MS-> ~> rpm -qa|grep opengl
[17:51] < MS-> python-opengl-2.0.1.09-127
[17:52] < Chong-> mine is also 2.0.1.09 and have no problem.
[17:53] *** MS- notes that 3.0.X was released after the opengl components were created
[17:53] < MS-> cf http://sourceforge.net/project/showfiles.php?group_id=5988&package_id=6035
[17:54] *** MS- notes the TODO/etc lines, thankfully :)
[17:54] < Chong-> yes, I see.
[17:57] < Chong-> probably from 3.0.X, it is necessary to specify the fifth parameter viewport of gluPickMatrix explictly
[17:57] < Chong-> [14:34] < orphans> gluPickMatrix(pos[0], self.height-pos[1], 1, 1, glGetIntegerv(GL_VIEWPORT)) works
[18:01] < MS-> >>> OpenGL.__version__
[18:01] < MS-> '2.0.1.09'
[18:01] < MS-> is your friend
[18:10] *** MS- ponders cookies
[18:15] *** Chong- has joined #kamaelia
[18:16] *** MS- feels the Patrick Moore page doesn't play up the fact that Patrick Moore has single handedly presented "The Sky At Night" for over 50 years anywhere near enough
[18:17] < MS-> I mean 1 presenter, 1 program, 50 years, every month, and always interesting factual and cool
[18:17] < MS-> Probably one of the best science programmes on TV
[18:19] < Chong-> That's an incredible record.
[18:21] < MS-> Probably one of the longest, if not the longest TV shows
[18:22] < Chong-> MS-: yes. as far as I know.
[19:02] < j_baker> MS-: can an Axon box name be any python string, or is there anything that's disallowed?
[19:04] < MS-> generally I would suggest the same naming rules as for variables
[19:04] < MS-> Also,
[19:05] < MS-> inboxes & outboxes designed for linking to components created by the component
[19:05] < MS-> (ie as subcomponents)
[19:05] < MS-> (or children)
[19:05] < MS-> are prefaced by a "_"
[19:05] < MS-> to indicate private - that they should not be linked to from outside
[19:06] < MS-> If you want a rule - it should "as clear as you can possibly make it"
[19:06] < j_baker> Ok. I'm making an AdaptiveCommsComponent that will make a boxname partially based on the repr of an object. I just wanted to check and make sure that there's not anything that would be illegal.
[19:07] < MS-> It's worth beaing in mind that at some later point in time
[19:07] < MS-> we may choose to expose boxes as attributes
[19:08] < j_baker> I see.
[19:08] < MS-> self.inbox, self.control, self.outbox, self.signal
[19:08] < MS-> so ruling that out would be a pain
[19:09] < MS-> Have you see this BTW?
[19:09] < MS-> >>> from Kamaelia.Chassis.Pipeline import Pipeline
[19:09] < MS-> >>> X=Pipeline()
[19:09] < MS-> >>> X
[19:09] < MS-> < Kamaelia.Chassis.Pipeline.Pipeline object at 0x808a06c>
[19:09] < MS-> >>> X.id
[19:09] < MS-> 5
[19:09] < MS-> >>> X.name
[19:09] < MS-> 'Kamaelia.Chassis.Pipeline.Pipeline_5'
[19:10] < MS-> X.id is unique and like a process id
[19:10] < MS-> X.name is the combo of that and the fully qualified classname
[19:10] < MS-> Means you can also do:
[19:10] < MS-> >>> X.name[X.name.rfind(".")+1:]
[19:10] < MS-> 'Pipeline_5'
[19:10] < MS-> which may be useful
[19:11] < j_baker> That's pretty cool.
[19:12] < j_baker> The object I'm wanting to make a box out of is a function though (the HTTPProtocol function for ServerCore).
[19:12] < j_baker> I suppose I could give a function a name attribute though.
[19:13] < MS-> HTTPProtocol returns a component though, right?
[19:13] < MS-> So that component will have an id/name
[19:14] < j_baker> That's true. I suppose that's the best idea.
[19:18] < j_baker> Also, one other question, (just to be on the safe side): Suppose I use addOutbox to make a box name and it gives it a name like "box123" using idGen. If I were to delete that oubox, will it reuse that box name?
[19:19] < j_baker> (It looks like no based on the source code. I just want to make sure because that would cause some strange bugs.)
[19:19] < MS-> Note the docs for http://edit.kamaelia.org/Docs/Axon/Axon.AdaptiveCommsComponent.html
[19:19] < MS-> addOutbox(self, *args) Allocates a new outbox with name based on the name provided. If a box with the suggested name already exists then a variant is used instead. Returns the name of the outbox added.
[19:20] < MS-> In otherwords, you should do
[19:20] < MS-> boxname = self.addOutbox("mybox")
[19:20] < MS-> and be prepared to get back "mybox123"
[19:21] < MS-> In terms of names, IIRC I think I figured reusing names wasn't needed
[19:23] < j_baker> Ah, actually the "tracking resources" part actually looks like what I want to do. I was planning on storing the info in a dict indexed by the box name.
[19:24] < MS-> :)
[19:25] < MS-> Components that use adaptive comms (and relevant) :
[19:25] < MS-> http://kamaelia.svn.sourceforge.net/viewvc/kamaelia/trunk/Code/Python/Kamaelia/Kamaelia/UI/Pygame/Display.py?revision=4542&view=markup
[19:26] < MS-> http://kamaelia.svn.sourceforge.net/viewvc/kamaelia/trunk/Code/Python/Kamaelia/Kamaelia/Internet/Selector.py?view=markup
[19:27] < MS-> http://kamaelia.svn.sourceforge.net/viewvc/kamaelia/trunk/Code/Python/Kamaelia/Kamaelia/Util/Splitter.py?revision=3882&view=markup
[19:28] < MS-> You'll note that generally speaking you know about some "resource" or "Thing" which you can then use to determine what to track
[19:45] *** MS- wanders off, had a very insane day
[19:45] *** MS- has parted #kamaelia
[20:26] *** mhrd-home has joined #kamaelia
[20:27] *** bcarlyon|laptop has joined #kamaelia
[20:29] < j_baker> Hello mhrd-home
[20:32] < mhrd-home> hi j_baker
[20:48] *** j_baker has parted #kamaelia
[20:48] *** j_baker_ has joined #kamaelia
[20:51] *** j_baker_ is now known as j_baker
[20:59] *** vmlemon__ has joined #kamaelia
[20:59] *** vmlemon__ is now known as vmlemon_
[20:59] < vmlemon_> Hi
[20:59] < mhrd-home> hi
[21:46] *** bcarlyon|laptop has parted #kamaelia
[21:54] < mhrd-home> I've discovered what was wrong with his ProcessPipeline experiments : I was using ProcessPipeline but I should have been using ProcessPipelineComponent
[21:55] < mhrd-home> MS- if you see logs: perhaps useful to change the names, eg: ProcessPipeline --> _ProcessPipeline and ProcessPipelineComponent --> ProcessPipeline
[21:56] < mhrd-home> s/his/my/
[21:57] *** mhrd-home goes to watch heroes :)
[21:57] *** mhrd-home has parted #kamaelia
[21:58] *** Trun has joined #kamaelia
[22:50] *** j_baker just spent 30 mins debugging what ended up being an indentation error.