[08:01] *** Lawouach has joined #kamaelia
[08:54] *** simon__ has joined #kamaelia
[09:22] *** simon___1 has joined #kamaelia
[11:19] *** vmlemon__ has joined #kamaelia
[11:49] < vmlemon__> Hi
[12:01] *** simon__ has joined #kamaelia
[12:57] *** ms-gone is now known as ms-sometimeshere
[13:14] *** ms-sometimeshere finds it intriguing that kakashi didn't ask any q's or ask for feedback on any proposal
[13:14] *** ms-sometimeshere is now known as MS-
[13:29] *** imsameer_in has joined #kamaelia
[13:35] < imsameer_in> hello
[13:35] *** orphans has joined #kamaelia
[13:36] < imsameer_in> i am still working on the last idea i discussed here
[13:36] < imsameer_in> apart from that i want to discuss another one
[13:43] < imsameer_in> i was thinking about a graphical network simulation educational tool
[13:45] < MS-> ok
[13:45] < MS-> oh
[13:45] < MS-> he's gone
[13:45] < MS-> people need to learn they need to hang around...
[13:46] < MS-> Mind you this drip feed way of asking q's isn't always ideal anyway. If someone's got a good idea they can always write a paragraph or 3 on the idea.
[13:46] < MS-> and then discuss it
[13:46] *** imsameer_in has joined #kamaelia
[13:46] < MS-> which actually works better somewhat
[13:49] < imsameer_in> http://www.isi.edu/nsnam/ns/
[13:49] *** MS- looks
[13:49] < imsameer_in> this gives some idea of what i have on my mind
[13:50] < MS-> Not really, no
[13:50] < MS-> I know what a network simulator is
[13:51] < MS-> (13:47:29) MS-: ok
[13:51] < MS-> (13:47:31) MS-: oh
[13:51] < MS-> (13:47:33) MS-: he's gone
[13:51] < MS-> (13:47:49) MS-: people need to learn they need to hang around...
[13:51] < MS-> (13:48:28) MS-: Mind you this drip feed way of asking q's isn't always ideal anyway. If someone's got a good idea they can always write a paragraph or 3 on the idea.
[13:51] < MS-> (13:48:39) MS-: and then discuss it
[13:53] < MS-> copying and pasting the number one hit on google into the channel for "network simulator" would be fairly easy to get kamaeliabot to do if I didn't.
[13:55] < MS-> Um, OK. if you say you want to discuss an idea, put forward what your idea is, and we can discuss it
[13:55] < MS-> Bit hard in a vacuum (sorry)
[13:59] < MS-> OK, that's timewasting
[14:00] *** MS- wanders off
[14:00] *** MS- is now known as ms-gone
[14:03] *** simon___1 has joined #kamaelia
[14:03] *** vmlemon__ has joined #kamaelia
[14:05] < imsameer_in> http://pastebin.com/m69fda9a8
[14:05] < imsameer_in> ok sorry i was a little busy creating a writeup
[14:05] < imsameer_in> for this on
[14:26] < imsameer_in> So i was simply thinking about creating a graphical simulation tool on kamaelia , useful for undergraduates and high end users both
[14:27] < imsameer_in> apart from this i have a write up for my previous idea http://pastebin.com/mbea5fcd
[14:53] *** vmlemon__ yawns
[15:04] *** ms-gone reads the network simulation idea
[15:05] *** ms-gone is now known as MS-
[15:06] < MS-> It doesn't really strike me as that interesting/useful. Sounds more like the sort of toy application that you'd get as a third year project
[15:07] < MS-> along the lines of "create a tool to visualise dijstra's algorithm"
[15:07] < MS-> I could be missing something there
[15:07] < MS-> The other thing is though that the visualisation tools are there more or less - since you could just repurpose the AxonVisualiser code for nodes and NICs
[15:08] < MS-> There is /potentially/ something interesting there on viewing packets through the system and depth in terms of extending that system
[15:09] *** robertofaga has joined #kamaelia
[15:09] < MS-> in terms of looking at hierarchical systems, but it doesn't really make huge sense from a real world network perspective IMO
[15:09] < MS-> which means you're back to toy app
[15:11] < vmlemon__> Rewriting the UNIX utilities as Kamaelia components?
[15:14] < MS-> I can see more merit in that, even though its a little silly
[15:14] < MS-> :)
[15:14] < orphans> Whilst we're bugging you with work on Easter MS- I scribbled out a bit more properly a mockup of the multiuser audio idea - http://img171.imageshack.us/img171/585/mockupxx7.png Look when you have a minute though - I feel bad bugging you on a holiday!
[15:15] < MS-> I wouldn't be on the channel with my nick like this if I wasn't around :)
[15:15] *** MS- looks
[15:17] < MS-> I think the audio mixing pass around is a red herring in the context of your idea, but thinking about how to use it is an interesting question
[15:18] < MS-> So the idea is you use an "XYPad" to send signals to something else that translates that as "instrument & position in bars/beats"
[15:18] < MS-> (perhaps)
[15:18] < orphans> no, the XY pads control (for example) effects, or instrument sounds
[15:18] < MS-> I see
[15:18] < orphans> so each person controls one of them - it add some randomness to the creation of your sounds
[15:19] < orphans> and the piano roll/sequencer are available for everyone to edit as they see fit
[15:19] < MS-> Ah.
[15:19] < MS-> So that top half is an idea of a possible UI
[15:19] < orphans> yeah, very roughly, just as an idea of how it might work
[15:19] < MS-> with the 4 boxes controlled by distinct users, and the rest* shared
[15:19] < orphans> yeah
[15:20] < MS-> I see what you mean by piano roll
[15:20] < MS-> The step sequencer is akin to the marbles thing I presume
[15:20] < orphans> sorry yeah, theres probably a few musical tech terms in there
[15:20] < MS-> no problem
[15:21] < orphans> yeah, the step sequencer is similar to the marbles, so for percussion, and the piano roll plays notes doing melodies
[15:21] < MS-> :)
[15:21] < orphans> both of them doing time from l-r
[15:22] < orphans> it's not a particularly traditional way of making music, but i thought the ordered chaos would be pretty interesting
[15:22] < MS-> The interesting points really from a technology perspective is the OSC/midi integration (I really think midi is a good thing)
[15:22] < MS-> (even if ancient)
[15:23] < orphans> yeah, there's a couple of nice midi libraries around which I've used before
[15:23] < MS-> The extras are nice as well, but a good idea to list as extras, since they look like potential cans of worms. (Cans of worms well worth opening, but once you've gotten something up and running :) )
[15:23] < orphans> i think it'd be simple enough to make drop-in components for both
[15:23] < MS-> It should be as far as I can tell
[15:24] < orphans> i think the arduino thing would be pretty easy too (maybe). I wrote the python bindings for the main firmware so it's about a 5 liner for simple stuff
[15:24] < MS-> Cool
[15:25] < MS-> I've not played with arduino at all, though it'd be interesting
[15:25] < orphans> the only real issue with that is making sure you are polling the com port often enough
[15:25] < orphans> it's cool, a really nice thing to play with
[15:26] < orphans> some of the stuff people are making with it these days is crazy too, one guy made an etch-a-sketch clock
[15:26] < orphans> fully automated - must have taken forever to code
[15:27] < MS-> Polling the com port often should be fairly easy to do in kamaelia - since you'd just have that as a component in itself :-)
[15:27] < MS-> I've got one of these - which I'm planning of doing interesting things with : http://www.maplin.co.uk/Module.aspx?TabID=1&ModuleNo=42857
[15:27] < MS-> But then arduino is the next logical step in that sort of direction
[15:27] < MS-> arduino components could be really quite fun
[15:28] < orphans> yeah, looks very similar
[15:28] < orphans> what are you planning on making?
[15:29] < MS-> I've got a remote control K9 I've gutted and planning to get a GP2X to put inside it, and use that, via the velleman board to control it.
[15:29] < MS-> bit silly, but fun :)
[15:30] < orphans> haha, that does sound cool
[15:30] < vmlemon__> Hmm, how would an Etch-A-Sketch Clock work, exactly?
[15:31] < orphans> http://blog.makezine.com/archive/2008/03/arduino_etchasketch_clock.html?CMP=OTC-0D6B48984890
[15:31] < MS-> Depends on what it looks like really I would've thought.
[15:32] *** simon__ has joined #kamaelia
[15:32] < orphans> far too much work for a clock!
[15:33] < MS-> That's quite silly :)
[15:33] < MS-> Can't help but think that would be easier using k'nex, meccano or lego
[15:34] < orphans> or, yknow, a clock :)
[15:34] *** vmlemon__ can't view it, here :(
[15:34] < orphans> vmlemon__: basically it's two motors on the two controls for the etch-a-sketch, and it's programmed to move the motors to draw the time
[15:36] < vmlemon__> Cool
[15:36] < orphans> MS-: So does that idea (with some fleshing out etc) look interesting?
[15:37] < MS-> orphans: Yes, it does
[15:37] < vmlemon__> Seen the home-made Segway, and the Lego printer?
[15:37] < orphans> MS-: cool, I'll work on it all a bit more then come back with it
[15:38] < orphans> vmlemon__: saw the segway, am googling the lego printer
[15:38] < MS-> orphans: In its own right it's interesting & fun, But beyond that has an interesting level of complexity and would probably generate a significant amount of extar components. Also, it appears that it has plenty of scope for randomness after "completion"
[15:39] < orphans> MS-: Yeah, I can just see some hideous 50 person networked jamming. Maybe...
[15:39] < MS-> maybe :)
[15:39] < MS-> or maybe you "jam" with peers
[15:40] < MS-> in which case if you have a tree of peers, not everyone in the tree may be hearing the same thing
[15:40] < MS-> even though they have common people
[15:40] < orphans> wow yeah, that'd be a really strange experience
[15:41] < MS-> indeed :)
[15:41] < orphans> like five bands playing with one member common to each
[15:42] < vmlemon__> A DVB/MPEG2 TS builder/encoder for incoming IP data and video might be interesting
[15:43] < vmlemon__> And in-stream IP is part of the spec, even if it is seldom used
[15:44] < MS-> vmlemon__: Do you mean an IP decapsulator ... ?
[15:44] < MS-> Or something?
[15:44] < vmlemon__> Yeah, and an encapsulator, however one would work
[15:45] < orphans> right, better get on and write some of my uni report. *Sigh* Bye all
[15:55] < vmlemon__> Anyone seen the ZigBee/X10 lighting and power control devices?
[16:04] *** Lawouach has joined #kamaelia
[16:05] *** imsameer_in has joined #kamaelia
[16:10] < imsameer_in> hmm i think there is a lot of weight in what Ms- said and i need to reconsider this particular idea
[16:11] < imsameer_in> about the previous idea i did a write up . kindly check http://pastebin.com/mbea5fcd
[16:12] < MS-> How does that map to kamaelia?
[16:13] < MS-> Is it stand alone? Networked? If the latter client server? P2P ?
[16:14] < imsameer_in> i currently plan it as a networked client server model
[16:17] < MS-> This is like blood and stone
[16:18] < imsameer_in> though i have been reading about ppl on kamaelia being more interested in a P2P application
[16:18] < MS-> P2P, server based, the two are utterly trivial in kamaelia
[16:18] < MS-> The question is how you expect your project to map to kamaelia. As far as I can tell you don't have an idea of what it would look like
[16:19] < imsameer_in> yeah sort of , i am trying to work out
[16:19] < imsameer_in> can anything be suggested here
[16:19] < imsameer_in> ?
[16:19] < MS-> by who? you?
[16:19] < MS-> me?
[16:20] < imsameer_in> by you
[16:20] < MS-> Yes, why not take a look at the ideas list if you can't come up with an idea of your own
[16:20] < MS-> That might sound harsh, but why ask me about your idea if you have no idea?
[16:21] < imsameer_in> right
[16:21] < imsameer_in> :|
[16:21] < imsameer_in> i can see that
[16:21] < MS-> No, really.
[16:22] < MS-> I can have a clear idea of the ideas that I come up with, but it's really nice when someone comes back and says "I have a clear vision of I'd like to do this and it would create X,Y,Z"
[16:22] < MS-> even if it's completely off the wall
[16:22] < MS-> But if you want to propose your own idea, then propose your own idea
[16:23] < imsameer_in> let me rephrase the whole point
[16:24] < imsameer_in> what to are trying to imply is i need to figure how all these ideas transform into components that can
[16:24] < MS-> Yes, you do
[16:24] < imsameer_in> be connected together the way kamaelia does
[16:25] < imsameer_in> ok i am getting somewhere
[16:26] < vmlemon__> Hmm, how easy would it be to make a "Black-box" component that feeds in data, passes it to an external command-line app, and sends the result to another component?
[16:26] < MS-> vmlemon__: utterly trivial
[16:26] < MS-> UnixProcess
[16:26] < MS-> http://kamaelia.sourceforge.net/Components/pydoc/Kamaelia.File.UnixProcess.html
[16:27] < MS-> :)
[16:27] < vmlemon__> Thanks
[16:27] < MS-> It's used in Macro
[16:28] < MS-> http://kamaelia.svn.sourceforge.net/viewvc/kamaelia/trunk/Code/Python/Kamaelia/Examples/DVB_Systems/Macro.py?revision=2257&view=markup
[16:28] < MS-> :)
[16:28] *** vmlemon__ ought to learn Python, some time...
[16:29] < MS-> heh
[16:32] < vmlemon__> AppleScriptable Kamaelia systems might be interesting, if not a pain to write
[16:42] *** sameer_ has joined #kamaelia
[16:47] *** vmlemon__ has joined #kamaelia
[16:47] < vmlemon__> Hi again
[16:48] < MS-> heya
[16:48] < vmlemon__> Had to close my IRC client to make a quick call...
[16:51] < MS-> :)
[16:52] < vmlemon__> Nay for no multitasking support
[16:53] < MS-> Ah
[16:55] < vmlemon__> The JVM handles connection termination badly, too (so I have to power-cycle the phone after using IRC)
[16:59] < MS-> Ah
[16:59] < MS-> I see
[17:02] < vmlemon__> Still, it was cheap, and I needed one with some level of Java and GPRS support, after losing my last one
[17:05] *** Uraeus has joined #kamaelia
[17:09] < vmlemon__> I don't think they designed the keypad well for people with big hands, that said
[17:12] < MS-> Phones are very rarely designed well for people with big hands
[17:14] < vmlemon__> Text entry seems awkward, and the slow/laggy interface doesn't help
[17:14] < vmlemon__> It seems to get progressively slower each line
[17:24] *** robertofaga has joined #kamaelia
[17:49] < MS-> Lawouach: I figured this might be a good idea to write up: http://kamaelia.sourceforge.net/SummerOfCodeMentoring
[18:08] < simon__> i made a little test code for my idea about a "mmorpg" please comment: mellby.no-ip.org/kamaelia/
[18:11] *** MS- looks
[18:13] < MS-> Huge bonus - it runs and works :-)
[18:13] < MS-> Which is cool :)
[18:14] < MS-> Doesn't really fit in with the rest of the pygame components, but that's to be expected given you've derived (due to EventHandler) from some less than ideal code which I wrote a while back, so can't really fault that :)
[18:16] < MS-> Summary: I like it, would need work to be idiomatic. But then you've been looking at kamaelia for... what, less than a few days? Hardly likely to be idiomatic in that case
[18:17] < simon__> yes a few days :)
[18:17] < MS-> That said it is sufficiently small and compact that it could be made idiomatic, which would in itself have many benefits
[18:17] < MS-> Would you like (very minor) notes about code style?
[18:18] < simon__> yes, please
[18:19] < MS-> probably the one that leaps out at me is the use of tabs rather than spaces. Generally speaking using one rather than the other is a good idea, so only using one is a good thing
[18:20] < MS-> The reason we tend to use spaces though really comes from the fact that often rendering diffs and patches using a browser (and some mail clients) can result in tabs disappearing, converted to spaces or being misconverted to the wrong number of spaces.
[18:20] < simon__> yeah, the reason for the mix of tabs and spaces is due to some copy and paste..
[18:21] < MS-> That's why we tend to use 4 spaces. (I've actually changed to 4 spaces as recommended in PEP8 after __many__ years of working with 3 space based indentation)
[18:21] < MS-> Regarding SpriteScheduler,
[18:21] < MS-> generally speaking it can be nicer to do this:
[18:22] < MS-> class SpriteScheduler(component):
[18:23] < MS-> eventHandlerClass=None
[18:23] < MS-> def __init__(self, args, sprites, background, display_surface, **argd):
[18:23] < MS-> super(SpriteScheduler,self).__init__(**argd)
[18:23] < MS-> but that's due to recent (last year or so) changes to initialisation
[18:23] < MS-> which you couldn't be expected to know
[18:24] < MS-> Again, this is inherited from the code you looked at,
[18:24] < MS-> but we'd now not do this:
[18:24] < MS-> Inboxes=["translation", "imaging","inbox", "control"]
[18:24] < MS-> We'd do this:
[18:25] < MS-> Inboxes = {
[18:25] < MS-> "translation":"Expect to get ... messages here",
[18:25] < MS-> "imaging": "sending an image here, changes the sprites image",
[18:25] < MS-> "inbox" : "Default inbox, we don't actually use this",
[18:25] < MS-> "control" : "Send shutdown messages here to ask the component to shutdown"
[18:25] < MS-> }
[18:26] < MS-> The code works though
[18:26] < MS-> and *that* is always the key point :)
[18:27] < simon__> :)
[18:27] < MS-> And running code _always_ boosts my confidence in someone's ability to achieve their project :-D
[18:28] < simon__> mine to :P
[18:28] < MS-> If I get a chance tonight, I might take a look at making that code more idiomatic, since it'd be alot simpler than making the bouncing cats code idiomatic ;)
[18:28] < simon__> that would be great :)
[18:30] < simon__> and btw how is agruments like **argd used python (i know it allow for a "dynamic" number of arguments but how is it used in the function)
[18:31] < simon__> s/agruments/arguments/
[18:58] < MS-> best shown by example
[18:59] < MS-> >>> def hello(**argd):
[18:59] < MS-> ... print argd
[18:59] < MS-> ...
[18:59] < MS-> >>> hello(greeting="world")
[18:59] < MS-> {'greeting': 'world'}
[18:59] < MS-> In terms of kamaelia, it can be used to override things
[18:59] < MS-> Or rather *is* used to
[18:59] *** MS- constructs simple example
[19:01] < MS-> >>> class foo(object):
[19:01] < MS-> ... bar = "baz"
[19:01] < MS-> ... quux = "bibble"
[19:01] < MS-> ... def __init__(self, **argd):
[19:01] < MS-> ... self.__dict__.update(argd)
[19:01] < MS-> >>> foo().bar
[19:01] < MS-> 'baz'
[19:01] < MS-> >>> foo().quux
[19:01] < MS-> 'bibble'
[19:01] < MS-> >>> foo(quux="bar").quux
[19:01] < MS-> 'bar'
[19:02] < MS-> If you scroll down this:
[19:02] < MS-> http://kamaelia.svn.sourceforge.net/viewvc/kamaelia/branches/private_MPS_Scratch/Apps/Kamaelia-Grey/App/greylisting.py?revision=3684&view=markup
[19:02] < MS-> to class GreylistServer
[19:02] < MS-> you'll see how this can be really used to good effect
[19:04] *** simon__ just loves python more each day
[19:05] *** robertofaga has joined #kamaelia
[20:20] *** robertofaga has joined #kamaelia
[20:51] *** FrisbeeBilly has joined #kamaelia
[21:34] *** vmlemon__ has joined #kamaelia
[22:51] *** Jason___ has joined #kamaelia
[22:52] *** Jason___ has parted #kamaelia
[22:52] *** amnorvend has joined #kamaelia
[22:53] < amnorvend> Has anyone gotten kamaelia or axon to run on OS X?
[22:56] < MS-> It works fine on OS X
[22:56] < MS-> kamaeliabot is running on OS X for example
[22:57] < MS-> my incoming mail server also runs on OS X and is kamaelia based (Kamaelia Grey)
[22:57] *** sadrul has joined #kamaelia
[22:57] < MS-> some pygame related things can have issues, but that's more of an issue of pygame on OS X rather than kamaelia
[23:01] *** sadrul has joined #kamaelia
[23:02] < amnorvend> Well, when I try installing either one of them, it gives me an error "package directory (Axon/Kamaelia) does not exist.
[23:02] < amnorvend> The directory is in the same directory as the setup file
[23:02] < amnorvend> And I should have permissions to read it.
[23:02] < amnorvend> I'm typing setup.py build. Am I doing something wrong?
[23:03] < MS-> To install you'd do
[23:03] < MS-> python setup.py install
[23:03] < MS-> You install Axon
[23:03] < MS-> then Kamaelia
[23:06] < MS-> I presume you're running as root?
[23:06] < MS-> if not you'd need to run as
[23:06] < MS-> sudo python setup.py install
[23:07] < amnorvend> I got it now. :)
[23:07] < MS-> Cool
[23:07] < MS-> I've been doing some work on simplifying things for distributing apps
[23:08] < MS-> ie in bundling Axon/Kamaelia & installing them & and an app from a single "setup.py install" command
[23:09] < amnorvend> Interesting
[23:10] < amnorvend> I'm just now starting with the tutorials, but how easy is it to do GUI applications
[23:10] < MS-> For example - http://thwackety.com/Kamaelia-Logger-1.0.0.tar.gz - is the latest build - which bundles up kamaeliabot..
[23:10] < MS-> As long as you have the dependencies installed it's pretty simple
[23:11] < amnorvend> Dependencies as in say wxPython?
[23:13] < MS-> I don't tend to use OS X with a display though
[23:14] < MS-> wxPython is a PITA
[23:14] < MS-> The reason is because it uses private hidden signalling threads, so that requires some work
[23:15] < MS-> The problem is that wxPython really wants to be the foreground thread
[23:16] < MS-> It's resolvable, but I've not got enough round tuit's to solve it yet
[23:16] < Lawouach> PyQt powa!
[23:17] < MS-> heh
[23:17] < Lawouach> :)
[23:18] *** MS- has to nip off
[23:18] < MS-> back later (maybe)
[23:18] *** MS- is now known as MS-away