[07:47] *** mhrd has joined #kamaelia |
[07:54] *** Uraeus has joined #kamaelia |
[08:04] *** vmlemon_ has joined #kamaelia |
[09:22] *** ian_brasil has joined #kamaelia |
[09:34] *** acrimo has joined #kamaelia |
[11:11] *** vmlemon_ has joined #kamaelia |
[12:19] *** Lawouach_ is reading last Kamaelia's messages on the list and notice that some of my code is reused in other projects |
[12:19] < Lawouach_> That's cool :) |
[12:43] < MS-> Indeed :) |
[12:43] < MS-> That's what I thought :) |
[12:46] < MS-> There's an ensuing discussion on the pyconuk list btw - which is hosted on python.org |
[12:47] < MS-> Someone has said "the API isn't pythonic enough", which is a fair criticism, and that's started a mini-discussion as to what would be nicer |
[12:47] < MS-> That's led to this: |
[12:47] < MS-> > for data in self.boxes.inbox: |
[12:47] < MS-> > self.boxes.outbox.send(self.transform(data)) |
[12:48] < MS-> which is pretty equivalent to what we have now, but cleaner |
[12:48] < MS-> (I mentioned my idea of Axon 2.0 being able to have nicer syntactic sugar) |
[13:01] < Lawouach_> yeah I saw that |
[13:01] < Lawouach_> I like that API better for sure |
[13:02] < Lawouach_> I'm not convinced avout using the < < and >> C++ idioms :) |
[13:02] < MS-> Fair enough. I like the way it looks, but I can also see people wanting to run a mile :) |
[13:05] < Lawouach_> well some might argue that making things more readable by using C++ syntax is kind of taking the piss :) |
[13:06] < Lawouach_> anyway, all good stuff |
[13:06] < MS-> heh, I suppose - I hadn't thought of it that way |
[13:52] *** ian_brasil has joined #kamaelia |
[13:59] < mhrd> http://itmanagement.earthweb.com/osrc/article.php/3775446/Bruce+Perens:+A+Big+Change+for+Open+Source.htm |
[15:01] < aa_> hi everyone, can kamaelia messages be anything? |
[15:02] < mhrd> any python object/datatype - yes |
[15:02] < aa_> mhrd: how about non-python objects |
[15:02] < aa_> I mean C bound objects |
[15:03] < aa_> eg a gtk Window |
[15:03] < aa_> (specifically) |
[15:04] < mhrd> the current instantiation of Kamaelia is in python, so it would have to be representable in python. |
[15:04] < mhrd> If you're using gtk from python, then the bindings will already be wrapping the C entity as a python object - so in that circumstance - the answer is still yes :-) |
[15:05] < aa_> mhrd: ok that's great |
[15:05] < aa_> mhrd: how does it pass them? |
[15:05] < aa_> inter processes? |
[15:06] < aa_> do the things have to be pickleable or antyhing? |
[15:06] < mhrd> *that* I'm not so certain about. Internally within a process the data type does not matter. Inter-process or via network connections, the answer may subtly morph into a 'no' ... or a 'yes, if you marshall/pickle it yourself' |
[15:07] < aa_> well, these things are pretty unpickleable |
[15:07] < mhrd> I'm not very familiar with the interprocess stuff - MS- or others might be able to give a better answer |
[15:09] < aa_> mhrd: ok, thanks |
[15:11] < mhrd> np |
[15:30] < MS-> Inside a single process anything can be a message. For anything passed using ProcessPipeline or ProcessGraphline, it has to be pickleable |
[15:31] < MS-> Process* uses the Paul Boddie's pprocess library, which creates channels between processes using os.pipe's and pickles things sent between them |
[15:32] < MS-> But if you're just using normal Axon.Component.component or Axon.ThreadedComponent.threadedcomponent then anything goes |
[15:32] < MS-> even components... |
[15:33] < MS-> You could pass a gtk Window between two components inside the same thread or process |
[15:33] < MS-> But probably not across a process boundary. |
[18:03] *** ian_brasil has joined #kamaelia |
[20:00] *** Davbo has joined #kamaelia |
[20:01] < aa_> MS-: sorry missed your reply, and thanks |
[20:03] < MS-> np :) |
[20:04] < aa_> MS-: I was slightly hoping that I could do really rich and flexible UI with this thing |
[20:04] < aa_> without the "higher level components" |
[20:06] < MS-> You may well be able to end up doing those things, but with different libraries we're still at relatively early stages since alot depends on "has someone does X,Y and Z with this". |
[20:06] < MS-> Some pygame and OpenGL stuff for example is much further along. Networky stuff much further along, etc |
[20:07] < aa_> MS-: well, I am sure gtk will catch up as soon as I get my head around it |
[20:07] < MS-> Some of these things also depend on once you have something realising the consequences of it |
[20:07] < Davbo> Evenin' all |
[20:07] < MS-> For example, with pygame when we added buttons etc, I didn't even think of the idea that widgets overlapping |
[20:07] < MS-> Davbo: evening |
[20:08] < MS-> but when we realised they could, adding transparency in, and allowing UIs to overlay each other (fade in and out even) sprang to mind |
[20:08] < MS-> making things like scribbling on video or scribbling over a text ticker fast |
[20:09] < MS-> I'm sure /similar/ sorts of advantages will crop up with other UI toolkits |
[20:14] < aa_> evening Davbo |
[20:17] < aa_> well, can I think out loud? |
[20:17] < aa_> I am imagining some kind of view server which lives in its own process |
[20:18] < aa_> (since gtk threading is a nightmare) |
[20:18] < aa_> and it certainly won't run itself in a non-main thread |
[20:18] < aa_> and ui cannot be updated from a non-main thread without custom locking |
[20:37] < aa_> MS-: where should http://www.kamaelia.org/cgi-bin/blog/blog.cgi?rm=viewpost&nodeid=1113495151 be pointing? it says "For the moment, see this tutorial on how to go from non-component code to component code" but it is giving 404 |
[21:10] < Davbo> don't think that blog is alive yet |
[21:11] < Davbo> due to the transition from sf.net to the new webserver afaik |
[21:11] < Davbo> i might be wrong though |
[21:11] < Davbo> unfortunately i don't have a copy of that tutorial either |
[21:12] < Davbo> here you go aa_: http://web.archive.org/web/20080106145923/http://kamaelia.sourceforge.net/cgi-bin/blog/blog.cgi?rm=viewpost&nodeid=1113495151 |
[21:12] < aa_> Davbo: thanks a lot |
[21:13] < Davbo> no problem, MS- has probably gone afk or something :-) |
[21:16] < Davbo> also aa_: Thanks for pointing out PIDA |
[21:23] < Davbo> still getting used to Vim but PIDA seems to offer everything i'd want from it |
[21:23] < aa_> Davbo: great :) pida loves you, remember |
[21:24] < aa_> Davbo: if you prefer a notepad-like editor in pida there is one |
[21:24] < aa_> Davbo: and the development version (very pre alpha) has unbelievable code completion and python source outlining, and also a debugger |
[21:24] < Davbo> awesome |
[21:25] < aa_> yeah, like it will work out where an instance attribute is defined in a superclass, for example |
[21:25] < aa_> and taske you to the file and line that says self.something = blah |
[21:25] < Davbo> that'd be really useful |
[21:26] < aa_> yeah, I can't take the credit though, the code comes from rope, the refactoring lib |
[21:26] < Davbo> do you contribute to PIDA? you seem to know if very well |
[21:26] < aa_> Davbo: oh, yes, I wrote PIDA :) |
[21:27] < Davbo> Ah! I see lol |
[21:27] < aa_> it's my baby |
[21:27] < Davbo> that's awesome |
[21:27] < aa_> and it taught me "If I find something useful, then n+1 people will find it useful" |
[21:27] < aa_> because *everyone* told me I was insane |
[21:27] < aa_> 1. yet another IDE |
[21:27] < aa_> 2. embedding Vim???? |
[21:28] < aa_> 3. etc etc etc |
[21:30] < Davbo> it's very tough for me to just pick up and use Vim really, it's much better with PIDA wrapping it |
[21:30] < aa_> best of both worlds (imo) |
[21:30] < Davbo> i think a lot of people which have spent there whole career editing in a console don't realise that |
[21:30] < aa_> Davbo: if you care, this is the new python code outliner: http://lh4.ggpht.com/aafshar/SIo2kHLVoKI/AAAAAAAAAhw/gRHlxX8rcBY/ropebrowser.png |
[21:31] < Davbo> ah that's great seeing the docstrings |
[21:31] < aa_> eg Python.window is actually a *property* defined in a superclass |
[21:32] < aa_> anyway, sorry I get carried away, like I say its my baby, let us know of any bugs and things |
[21:34] < Davbo> PIDA should be popular with a lot of new python programmers, Vim basics can be learnt in 5 minutes. Just things like a little button for copy/pasting from terminal makes bash easier to swallow for novices |
[21:35] < aa_> it's really hard to make people change their dev environment |
[21:35] < aa_> so I try not to bother |
[21:37] < Davbo> Yeah that's true |
[21:41] < Davbo> still trying to use a macro in Vim, can't think of a use yet though |