[00:00] < MS-> There are bindings for all sorts of things which are on windows only
[00:00] < MS-> PyTTS is one example that springs to mind
[00:00] < MS-> Though in linux you could use UnixProcess("espeak -")
[00:00] < MS-> (and I do for silly reasons)
[00:00] < MS-> and on mac os you can do the same, but different binary
[00:03] < vmlemon__> I wouldn't be too shocked if bindings for stuff specific to stuff like OpenVMS or Be OS existed
[00:04] < MS-> I'm sure there is
[00:04] < MS-> Pretty much any example that is written in python can be easily adapted as a component version of the example
[00:05] < MS-> which makes integrating new things scarily easy
[00:05] < MS-> exceptions tend to windowing libraries
[00:06] < MS-> specifically wxPython is a major exception because of really nasty things it does with regards to threads and hidden threads, meaning code that looks like it should work, doesn't
[00:07] < vmlemon__> I'm not too familiar with Kamaelia at present, but UnixProcess can hand-off to/call processes on non-UNIXy platforms, too?
[00:08] < MS-> Should work, yes
[00:08] < MS-> (it uses the subprocess module)
[00:10] < vmlemon__> Something I ought to learn when I have time, since it seems like a natural breeding ground for ideas...
[00:12] < vmlemon__> (Python & Kamaelia, that is)
[00:13] < MS-> :)
[00:13] *** vmlemon__ has plenty of ideas, but falls short when it comes to trying to implement them :(
[00:13] < MS-> I certainly find it easier sometimes just to write some code these days to be able to explain something than it is to discuss whether its a good idea
[00:14] < MS-> yeah, but ideas are useful.
[00:14] < MS-> especially since they tend to spark other ideas
[00:16] < vmlemon__> I often get inspiration when playing with various semi-related technologies, but I really want to try and fuse it all together
[00:17] < vmlemon__> (e.g. Bluetooth, Wi-Fi and Web services stuff)
[00:18] < MS-> bluetooth is pretty simple fwiw.
[00:20] *** MS- goes for sleep
[00:20] < MS-> cya
[00:21] < vmlemon__> Seems like an unlikely combo, but an MMS and Bluetooth-enabled online media gallery could be interesting
[00:21] *** MS- is now known as MS-sleeping
[00:21] < vmlemon__> Night
[01:21] *** kamaeliabot has joined #kamaelia
[02:20] *** vmlemon_ has joined #kamaelia
[02:51] *** vmlemon__ has joined #kamaelia
[03:51] *** j_baker has joined #kamaelia
[03:53] < j_baker> ms- if you get a chance to read this (or if anyone else is paying attention that may have an question:
[03:54] < j_baker> Sigh - if you get a chance to read this (or anyone else is paying attention that may have an answer) I have a question
[03:56] < j_baker> Would it be possible or feasible to get Kamaelia to run PHP?
[03:56] < j_baker> Or better yet, would it be able to get Kamaelia to run PHP and expose its API to it?
[03:57] < robertofaga> j_baker: do you mean expose on browser?
[03:57] < j_baker> No
[03:57] < j_baker> I mean so that PHP could call the Python code
[03:58] < robertofaga> maybe there is some PHP module to call python modules
[03:59] < j_baker> I may have to research that. I think that would be pretty interesting for what I'm doing.
[04:02] < robertofaga> I'm curious, what do you want to do with PHP?
[04:03] < j_baker> Well, it may be easiest to direct you to my webpage: http://www.csdconline.com/kamconnect
[04:04] < j_baker> As the proposal is set up right now, one user can host content on their own computer without having to have a webhost, static IP, or Domain name.
[04:04] < j_baker> But the current design only allows the user to host HTML.
[04:04] < j_baker> So we were thinking about using WSGI to allow users to script content in Python.
[04:05] < j_baker> But I was thinking it may be possible to do that and/or use PHP to allow users to script their content.
[04:08] < robertofaga> content you mean a dynamic page? That's why to use php?
[04:11] < robertofaga> and where the content will be stored? In a server? I read users will store into their own computers, but how can they publish this to the others?
[04:13] < j_baker> Through an intermediary (basically a web proxy)
[04:14] < j_baker> Think of it kind of like myspace but you can store your pages on your own computer
[04:14] < j_baker> And do a lot of things that aren't possible in myspace.
[04:14] < robertofaga> yes, that's nice, but I didn't find anything saying how other users access it
[04:14] < j_baker> But to access someone's page, you would basically go to http://intermediary_name.com/peer_id
[04:15] < robertofaga> ah, so there is a portal involved
[04:15] < robertofaga> even for indexing only
[04:15] < j_baker> Yup.
[04:15] < robertofaga> indexing users
[04:15] < robertofaga> it's nice to put this too, a hint for you :)
[04:15] < robertofaga> on the plan I mean
[04:16] < robertofaga> and about the PHP, isn't easier to call PHP executable from kamaelia?
[04:16] < j_baker> I'm not sure
[04:16] < robertofaga> I think you will access PHP from Python, not Python from PHP, right?
[04:17] < j_baker> Well, I can think of ways to do it both ways.
[04:17] < j_baker> (although one way would probably be more inefficient than another)
[04:18] < j_baker> The simplest way would be to have python simply parse the PHP text, find a certain template or variable name and essentially cut and paste.
[04:18] < j_baker> Hmmmm....
[04:19] < j_baker> Now that I think about it, if I do it that way, it may not even be necessary for the PHP to call the Python
[04:19] < j_baker> or vice versa
[04:19] < j_baker> (at least not directly)
[04:20] < robertofaga> I think php has an executable that you only pass the source to it and he returns the html version (that's how, in general, apache works with PHP)
[04:21] < robertofaga> but you also need this new dependence, php-cli
[04:22] < j_baker> There isn't an API so that PHP the source can be sent to the interpreter programmatically?
[04:22] < robertofaga> I think for kamaelia you can explore more of its resources than extern resources (for an example, use video and animations instead of a php server), but this is only my opinion, and I'm just a student
[04:22] < robertofaga> I never saw one, but it can exist
[04:23] < robertofaga> maybe ms- knows about it
[04:23] < j_baker> Well, and now that I think about it, I wasn't even wanting to have to install apache.
[04:24] < j_baker> Hmmmm.... I suppose I'll have to see what ms-says.
[04:24] < robertofaga> python have some webservers, but they aren's so advanced enough as apache
[04:26] < j_baker> I would imagine.
[04:26] < j_baker> Anyway, I'm going to hit the sack. Talk to you later.
[04:50] *** FrisbeeBilly has joined #kamaelia
[07:54] *** LawAtWork has joined #kamaelia
[07:55] < LawAtWork> hello
[08:54] *** Uraeus has joined #kamaelia
[10:03] *** MS- has joined #kamaelia
[10:03] < MS-> kamaeliabot: reload Kamaelia.Apps.IRCLogger.Support
[10:03] 'Kamaelia.Apps.IRCLogger.Support' reloaded
[10:03] < MS-> any mentors here
[10:03] Reply: Hi, I'm a bot. I've been put here to answer faq's and log the channel. You can find the logs at http://yeoldeclue.com/logs/
[10:03] Reply: Please don't ask 'any mentors here' since I'm logging for them. Yes, there is. If you just ask you question
[10:03] Reply: or post your idea, you are likely to get a response from someone - either from someone on the channel or
[10:03] Reply: from someone reading the logs. If you leave asking a GSOC question beyond friday you are unlikely to get a
[10:03] Reply: personal response quickly for sheer practicality reasons.
[10:03] Reply: The GSOC ideas page is here: http://kamaelia.sourceforge.net/SummerOfCode2008
[10:03] Reply: The application template is here: http://kamaelia.sourceforge.net/SummerOfCode2006Template
[10:03] Reply: This shorter page links to all ideas pages, including previous years: http://kamaelia.sourceforge.net/SummerOfCode
[10:04] < MS-> Testing - are there any mentors ?
[10:04] < MS-> kamaeliabot: reload Kamaelia.Apps.IRCLogger.Support
[10:04] 'Kamaelia.Apps.IRCLogger.Support' reloaded
[10:04] < MS-> Testing - are there any mentors ?
[10:04] Reply: Hi, I'm a bot. I've been put here to answer faq's and log the channel. You can find the logs at http://yeoldeclue.com/logs/
[10:04] Reply: Please don't ask 'any mentors here' since I'm logging for them. Yes, there is. If you just ask you question
[10:04] Reply: or post your idea, you are likely to get a response from someone - either from someone on the channel or
[10:04] Reply: from someone reading the logs. If you leave asking a GSOC question beyond friday you are unlikely to get a
[10:04] Reply: personal response quickly for sheer practicality reasons.
[10:04] Reply: The GSOC ideas page is here: http://kamaelia.sourceforge.net/SummerOfCode2008
[10:04] Reply: The application template is here: http://kamaelia.sourceforge.net/SummerOfCode2006Template
[10:04] Reply: This shorter page links to all ideas pages, including previous years: http://kamaelia.sourceforge.net/SummerOfCode
[10:07] *** Uraeus has joined #kamaelia
[10:08] < MS-> kamaeliabot: reload Kamaelia.Apps.IRCLogger.Support
[10:08] 'Kamaelia.Apps.IRCLogger.Support' isn't a module, or at least not one I can reload.
[10:08] < MS-> kamaeliabot: reload Kamaelia.Apps.IRCLogger.Support
[10:08] 'Kamaelia.Apps.IRCLogger.Support' reloaded
[10:08] < MS-> anyone know who I can ask about GSOC ?
[10:08] Reply: Hi, I'm a bot. I've been put here to answer faq's and log the channel. You can find the logs at http://yeoldeclue.com/logs/
[10:08] Reply: Please don't ask 'any mentors here' since I'm logging for them. Yes, there is. If you just ask you question
[10:08] Reply: or post your idea, you are likely to get a response from someone - either from someone on the channel or
[10:08] Reply: from someone reading the logs. If you leave asking a GSOC question beyond friday you are unlikely to get a
[10:08] Reply: personal response quickly for sheer practicality reasons.
[10:08] Reply: The GSOC ideas page is here: http://kamaelia.sourceforge.net/SummerOfCode2008
[10:08] Reply: The application template is here: http://kamaelia.sourceforge.net/SummerOfCode2006Template
[10:08] Reply: This shorter page links to all ideas pages, including previous years: http://kamaelia.sourceforge.net/SummerOfCode
[10:08] < MS-> OK that works
[10:15] < MS-> kamaeliabot: reload Kamaelia.Apps.IRCLogger.Support
[10:15] 'Kamaelia.Apps.IRCLogger.Support' reloaded
[10:16] < MS-> kamaeliabot: reload Kamaelia.Apps.IRCLogger.Support
[10:16] 'Kamaelia.Apps.IRCLogger.Support' reloaded
[10:16] < MS-> anyone seen mhrd
[10:16] Reply: Hi, I'm a bot. I've been put here to answer faq's and log the channel. You can find the logs at http://yeoldeclue.com/logs/
[10:16] Reply: Yes, the person(s) you asked for may be around. The best way to ask a q is to just ask it since the person(s) you asked for
[10:16] Reply: reads the logs. Idle on the channel if you want and answer and don't get an immediate one.
[10:16] < MS-> is MS- around ?
[10:16] Reply: Hi, I'm a bot. I've been put here to answer faq's and log the channel. You can find the logs at http://yeoldeclue.com/logs/
[10:16] Reply: Yes, the person(s) you asked for may be around. The best way to ask a q is to just ask it since the person(s) you asked for
[10:16] Reply: reads the logs. Idle on the channel if you want and answer and don't get an immediate one.
[10:17] < MS-> is Uraeus around ?
[10:17] < MS-> woo
[10:17] < MS-> are any mentors here ?
[10:17] Reply: Hi, I'm a bot. I've been put here to answer faq's and log the channel. You can find the logs at http://yeoldeclue.com/logs/
[10:17] Reply: Please don't ask 'any mentors here' since I'm logging for them. Yes, there is. If you just ask you question
[10:17] Reply: or post your idea, you are likely to get a response from someone - either from someone on the channel or
[10:17] Reply: from someone reading the logs. If you leave asking a GSOC question beyond friday you are unlikely to get a
[10:17] Reply: personal response quickly for sheer practicality reasons.
[10:17] Reply: The GSOC ideas page is here: http://kamaelia.sourceforge.net/SummerOfCode2008
[10:17] Reply: The application template is here: http://kamaelia.sourceforge.net/SummerOfCode2006Template
[10:17] Reply: This shorter page links to all ideas pages, including previous years: http://kamaelia.sourceforge.net/SummerOfCode
[10:17] < MS-> excellent
[10:17] < MS-> kamaeliabot: dance
[10:17] Reply: does the macarena
[10:17] < Uraeus> MS-: I am
[10:18] < MS-> Uraeus: Sorry, I was testing the bot. :)
[10:18] < Uraeus> hehe :)
[10:20] < MS-> ok, back later cya
[10:20] *** MS- has parted #kamaelia
[10:25] *** barrycarlyon has joined #kamaelia
[10:26] *** BazNet has joined #kamaelia
[10:55] *** vmlemon_ has joined #kamaelia
[11:00] *** orphans has joined #kamaelia
[11:01] < vmlemon_> Hi
[11:03] < orphans> hey
[11:04] < orphans> hows it going?
[11:04] < vmlemon_> OK
[11:04] *** vmlemon_ is tired
[11:05] < orphans> same. moved back to uni this morning so I had to get up at about 7
[11:05] < orphans> two cups of coffee later and I'm still struggling
[11:05] *** vmlemon_ wonders why an FM radio app would be trying to access the Internet
[11:06] < orphans> heh, voodoo
[11:08] < vmlemon_> Shame there's no record function ;)
[11:09] < vmlemon_> Aah, looks like it wants to access a Visual Radio directory, and it can't
[11:11] < vmlemon_> Whatever that involves
[11:13] < vmlemon_> Still no coffee here
[11:13] < vmlemon_> But we at least have a jar, now
[11:13] < orphans> you must be dying! I can't operate without a cup in the morning
[11:15] *** vmlemon_ couldn't sleep since 11:30 last night
[11:16] *** vmlemon_ wonders why the presenter is discussing putting keys in the fridge
[11:18] < Lawouach> hello
[11:19] < orphans> hey lawouach
[11:19] < orphans> how goes it?
[11:19] < vmlemon_> Ugh, a "do you want to sue a random person for a staged/fake accident and let us take a huge cut of the winnings" ad
[11:20] < Lawouach> doing good
[11:20] < orphans> vmlemon_: you seen the recent one which says that it's karma repaying you if you sue someone?
[11:21] < vmlemon_> Hah
[11:21] < orphans> kamaeliabot: you seen it? :D
[11:21] < orphans> psh, must be busy
[11:22] < vmlemon_> "Lawyers are going without champagne and yachts every day. Please help, your money could help."
[11:23] < vmlemon_> ;)
[11:24] < vmlemon_> *donate
[11:25] < vmlemon_> (makes it sound more charity guilt trip-like)
[11:28] < vmlemon_> I haven't checked my e-mail for weeks, now
[11:29] < vmlemon_> Probably chock full of spam
[11:35] *** vmlemon_ wonders who the hell would join the army...
[11:51] *** MS-not-really-al has joined #kamaelia
[11:52] < MS-not-really-al> anyone seen ms-
[11:52] Reply: Hi, I'm a bot. I've been put here to answer faq's and log the channel. You can find the logs at http://yeoldeclue.com/logs/
[11:52] Reply: Yes, the person(s) you asked for may be around. The best way to ask a q is to just ask it since the person(s) you asked for
[11:52] Reply: reads the logs. Idle on the channel if you want and answer and don't get an immediate one.
[11:52] *** MS-not-really-al hugs kamaeliabot
[11:52] *** MS-not-really-al is now known as MS-not-here-much
[11:57] < Lawouach> kamaeliabot, do you speak French?
[11:57] < Lawouach> kamaeliabot, racist!
[11:57] < Lawouach> :)
[11:57] < Lawouach> I knew it
[11:58] < MS-not-here-much> kamaeliabot barely speaks english
[11:58] < MS-not-here-much> :)
[11:58] < Lawouach> :)
[11:58] < MS-not-here-much> Mind you, same goes for me really :-D
[11:58] < Lawouach> american then would be appropriate
[11:58] < vmlemon_> Hi MS-, in your many forms
[11:59] < vmlemon_> Bonjour kamaeliabot
[11:59] < Lawouach> :)
[12:06] < MS-not-here-much> kamaeliabot: reload Kamaelia.Apps.IRCLogger.Support
[12:06] 'Kamaelia.Apps.IRCLogger.Support' reloaded
[12:06] < MS-not-here-much> bonjour kamaeliabot
[12:06] Reply: Bonjour
[12:06] < MS-not-here-much> parrot kamaeliabot
[12:06] Reply: ['parrot', 'kamaeliabot']
[12:06] < vmlemon_> Oui?
[12:06] < MS-not-here-much> non
[12:12] < vmlemon_> Parlez-vouz Franglais? ;)
[12:13] < MS-not-here-much> fish?
[12:18] < Lawouach> lol
[12:18] < Lawouach> poisson
[12:18] < MS-not-here-much> not before lunch ta :)
[12:18] < Lawouach> anyhow gotta go back to work :)
[12:18] < Lawouach> ah ah
[12:22] *** MattJ_ has joined #kamaelia
[12:56] *** maveriick has joined #kamaelia
[12:56] < maveriick> hi evreybody
[13:02] < MS-not-here-much> hi
[13:05] *** MattJ has joined #kamaelia
[13:06] < MS-not-here-much> kamaeliabot: reload Kamaelia.Apps.IRCLogger.Support
[13:06] 'Kamaelia.Apps.IRCLogger.Support' reloaded
[13:07] < MS-not-here-much> hi everybody
[13:07] Reply: hi
[13:07] < MS-not-here-much> k
[13:07] < MS-not-here-much> back to what I was doing
[13:37] *** Davbo has joined #kamaelia
[13:51] *** vmlemon_ has joined #kamaelia
[13:51] < vmlemon_> Hi
[14:30] *** j_baker has joined #kamaelia
[14:31] < j_baker> hello everybody
[14:33] < j_baker> is there any command I can run from the CLI to make sure Axon is installed on my system?
[14:38] < MS-not-here-much> ~> python
[14:38] < MS-not-here-much> Python 2.4.2 (#1, May 2 2006, 08:13:46)
[14:38] < MS-not-here-much> [GCC 4.1.0 (SUSE Linux)] on linux2
[14:38] < MS-not-here-much> Type "help", "copyright", "credits" or "license" for more information.
[14:38] < MS-not-here-much> >>> import Axon
[14:38] < MS-not-here-much> >>>
[14:39] < MS-not-here-much> >>> Axon
[14:39] < MS-not-here-much> < module 'Axon' from '/usr/local/lib/python2.4/site-packages/Axon/__init__.pyc'>
[14:40] < j_baker> It gives me an error message...
[14:41] < j_baker> Traceback (most recent call last):
[14:41] < j_baker> File "/Library/Python/2.5/site-packages/Axon/__init__.py", line 25, in < module>
[14:41] < j_baker> import Component, Ipc, Linkage, Microprocess, Postman, Scheduler, debug, util, AdaptiveCommsComponent, AxonExceptions, CoordinatingAssistantTracker, debugConfigFile
[14:41] < j_baker> and so on...
[14:42] < j_baker> Does this just mean that the files aren't in the right directory?
[14:42] < MS-not-here-much> How did you install things?
[14:42] < j_baker> I ran setup.py
[14:43] < j_baker> Hmmm... the files are in the directory it specifies.
[14:44] < j_baker> Hold on a sec and I'll give you the full error
[14:45] < MS-not-here-much> I can't force the same error
[14:45] < MS-not-here-much> And I've tried 3 machines
[14:45] < MS-not-here-much> two different OSs
[14:45] < MS-not-here-much> including Mac OS X
[14:45] < MS-not-here-much> ....:~/Dev/Y/private_MPS_Scratch michaelsparks$ python
[14:45] < MS-not-here-much> Python 2.3 (#1, Sep 13 2003, 00:49:11)
[14:45] < MS-not-here-much> [GCC 3.3 20030304 (Apple Computer, Inc. build 1495)] on darwin
[14:45] < MS-not-here-much> Type "help", "copyright", "credits" or "license" for more information.
[14:45] < MS-not-here-much> >>> import Axon
[14:45] < MS-not-here-much> >>> Axon
[14:45] < MS-not-here-much> < module 'Axon' from '/System/Library/Frameworks/Python.framework/Versions/2.3/lib/python2.3/site-packages/Axon/__init__.pyc'>
[14:46] < j_baker> www.csdconline.com/error1.txt
[14:46] < j_baker> See if you can at least get an idea what that means...
[14:46] < MS-not-here-much> OSError: dlopen(/lib/libc.so.6, 6): image not found
[14:46] < MS-not-here-much> is a rather bizarre error to see
[14:47] < MS-not-here-much> That's a problem with ctypes in Mac OS X
[14:48] < MS-not-here-much> what version have you got installed ?
[14:48] < j_baker> Of OS X?
[14:48] < j_baker> 10.5.2
[14:48] < MS-not-here-much> hm. 1.1.2
[14:48] < MS-not-here-much> or so
[14:50] < j_baker> Well, /lib isn't even a directory on my machine.
[14:51] < MS-not-here-much> No, whcih version of axon are you using
[14:51] < j_baker> 1.1.2
[14:52] < j_baker> It may just be that I don't have the ctype library installed
[14:52] < MS-not-here-much> No, you probably do
[14:52] *** vmlemon_ has joined #kamaelia
[14:52] < vmlemon_> Hi again
[14:53] < MS-not-here-much> I'm going to confirm why you're seeing the error before confirming why you shouldn't be seeing it
[14:53] < j_baker> It's not in /Library/Python/2.5/site-support
[14:53] < j_baker> hi vmlemon_
[14:54] < MS-not-here-much> ~/Incoming/Axon-1.1.2/Axon> grep -i ctype *
[14:54] < MS-not-here-much> Scheduler.py: from ctypes import *
[14:54] < MS-not-here-much> confirmed in 1.1.2
[14:54] < MS-not-here-much> which is positively ancient
[14:55] < MS-not-here-much> Confirmed *NOT* in latest release, nor in
[14:55] *** j_baker has joined #kamaelia
[14:55] < MS-not-here-much> (14:55:07) MS-not-here-much: ~/Incoming/Axon-1.1.2/Axon> grep -i ctype *
[14:55] < MS-not-here-much> (14:55:07) MS-not-here-much: Scheduler.py: from ctypes import *
[14:55] < MS-not-here-much> (14:55:12) MS-not-here-much: confirmed in 1.1.2
[14:55] < MS-not-here-much> (14:55:24) MS-not-here-much: which is positively ancient
[14:55] < MS-not-here-much> (14:56:20) MS-not-here-much: Confirmed *NOT* in latest release, nor in trunk
[14:55] < MS-not-here-much> Tip of the day
[14:56] < MS-not-here-much> when working with code, work with either latest release (even if ancient)
[14:56] < MS-not-here-much> If you followed a link with that, let us know where
[14:56] < MS-not-here-much> it was
[14:56] < j_baker> Weird....
[14:56] < j_baker> I downloaded the megabundle
[14:58] < j_baker> I'm trying to re run the installer package for Axon 1.5.1
[14:58] < j_baker> And it gives me error: package directory Axon does not exist
[14:58] < MS-not-here-much> OK, try this file
[14:58] < MS-not-here-much> http://thwackety.com/Kamaelia-Logger-1.0.0.tar.gz
[14:58] < MS-not-here-much> It's part of the new way I'm looking at packaging things up
[14:59] < MS-not-here-much> as a one step install for axon & kamaelia
[14:59] < MS-not-here-much> "sudo python setup.py install"
[15:00] < Davbo> Can you sudo in OS X?
[15:00] < MS-not-here-much> Davbo: yes
[15:00] < MS-not-here-much> To be honest I don't know where you're getting 1.1.2 from http://sourceforge.net/project/showfiles.php?group_id=122494
[15:01] < MS-not-here-much> shows only things (even stuff that's out of date there)
[15:01] < MS-not-here-much> which are much later than 1.1.2
[15:01] < j_baker> I think I figured out the directory error
[15:02] *** barrycarlyon has joined #kamaelia
[15:02] < MS-not-here-much> http://thwackety.com/Kamaelia-Logger-1.0.0.tar.gz was built under OS X
[15:02] < j_baker> setup.py apparently looks for the Axon directory from the current working directory instead of the directory its in
[15:02] < j_baker> so I changed directory to where the downloaded files are and it worked
[15:02] < MS-not-here-much> and is precisely the same code (sans a few changes to Kamaelia.Apps.IRCLogger/Support.py )
[15:03] < j_baker> It appears to be working now though
[15:03] < MS-not-here-much> j_baker: What are you talking about?
[15:03] < j_baker> I reran setup.py for Axon in the megabundle
[15:04] < j_baker> And cd'ed to that directory and ran it
[15:04] < Davbo> you were running it without cd to the directory?
[15:04] < j_baker> and it worked
[15:04] < j_baker> yes
[15:04] < Davbo> oh
[15:04] < MS-not-here-much> j_baker: That's called "PEBKAC"
[15:04] < Davbo> Hehe
[15:05] < orphans> :) not heard that acronym in ages
[15:05] < j_baker> Is it not supposed to work if I say do /path/to/setup.py
[15:05] < MS-not-here-much> j_baker: You would have saved everyone time if you'd read http://kamaelia.sourceforge.net/GettingStarted
[15:05] *** MS-not-here-much goes for food
[15:05] < Davbo> good idea
[15:05] *** Davbo goes for food also
[15:16] *** xmlhacker_ has joined #kamaelia
[15:18] *** vmlemon__ has joined #kamaelia
[15:23] *** robertofaga has joined #kamaelia
[15:23] *** vmlemon__ has joined #kamaelia
[15:28] < vmlemon__> Hi again, after several network mode switches and TCP/IP stack weirdness...
[15:28] < MS-not-here-much> vmlemon__: :)
[15:30] < vmlemon__> Yay for apps fighting over which GPRS access point to connect to, which ends up blocking my IRC client
[15:32] < vmlemon__> Doesn't help that it keeps trying to access a 3G network that doesn't exist, either
[15:32] < MS-not-here-much> :)
[15:35] *** vmlemon_ has joined #kamaelia
[15:37] < vmlemon_> Ouch, the music player app went on a rampage and took everything with it. So much for process isolation
[15:38] < vmlemon_> Makes Windows look ultra-stable, somehow
[15:41] < vmlemon_> Maybe Microsoft could license it ;)
[15:45] < vmlemon_> If they didn't already attempt to emulate the Windows experience on embedded devices
[15:47] *** MS-not-here-much is now known as MS-
[15:54] < Davbo> Argh Lost is the most ridiculous TV show ever
[15:56] < Davbo> MS-, you tried to do a state machine model with Kamaelia before?
[15:57] *** MS- smiles
[15:57] < Davbo> i'm trying to make a Moore Machine with MiniAxon
[15:57] < Davbo> i thought it would work well? why have you made one before?
[15:58] < vmlemon_> Looks like someone ported a mouldy version of Python to an old version of Symbian ages ago, but I doubt Kamaelia would run on it...
[15:58] < MS-> It made me smile because of one of kamaelia's design goals
[15:59] < MS-> You see normally to allow yourself high levels of concurrency in a server, you'd ignore threads and processes
[15:59] < MS-> and build your system out of statemachines connected by buffers
[15:59] < MS-> And then have something prodding them along
[15:59] < Davbo> ah
[16:00] < MS-> (which is another view of an event wheel/reactor loop)
[16:00] < MS-> But yes, you can do state machines using kamaelia
[16:00] < vmlemon_> Could be interesting on a new multi-core SPARC box
[16:00] *** jgustak has joined #kamaelia
[16:00] < MS-> It's just a mildly amusing thing, because normally you'd have to :)
[16:00] *** Davbo looks up event wheel/reactor loop
[16:00] < MS-> rather than want to
[16:01] < MS-> event wheel terminology comes from simulation
[16:01] < Davbo> I wanted to do something to quickly demo MiniAxon so i thought it would be easy
[16:01] < MS-> It should be
[16:01] < vmlemon_> Kamaelia on Blue Gene/L?
[16:02] < MS-> I'd just not heard of a moore state machine before.
[16:02] < Davbo> it's a finite state machine
[16:02] < MS-> Oh that's interesting, you could probably model (in a wierd way) each state in a Moore SM as a component
[16:02] < MS-> I think
[16:03] < MS-> AHh, I see
[16:03] < MS-> yes
[16:03] < MS-> definitely
[16:03] < Davbo> :D
[16:03] < MS-> Looks like it was specifically designed to enable modelling/analysis of asynchronous hardware
[16:04] < Davbo> mini axon is kinda a Moore machine regardless i thought
[16:04] < MS-> Kamaelia's kinda inspired by asynchronous hardware since i worked on an async hardware compiler/verification project
[16:04] < MS-> Davbo: yes
[16:04] < MS-> Does rather appear to be :)
[16:04] < Davbo> ah nice to see these lectures i'm having aren't completely useless
[16:05] < Davbo> only £3070/year
[16:05] < Davbo> bargain!
[16:05] *** Davbo sighs
[16:05] < Davbo> :p
[16:06] *** j_baker has joined #kamaelia
[16:06] < vmlemon_> What's a "bargain" at that price?
[16:07] < Davbo> tuition fee's (i was being sarcastic)
[16:07] < MS-> The formal definition for the wikipedia page could do with cleaning up
[16:07] < vmlemon_> Aah
[16:07] < Davbo> formal definition of what MS- ?
[16:08] < MS-> your moore machine
[16:09] < Davbo> oh, well there isn't really much to it anyway
[16:11] < Davbo> for my Embedded systems model we program little asynchronous boxes with LED's on them to do stuff, we have to model it all with moore/mealy machines
[16:12] *** MS- nods
[16:12] *** xmlhacker_ has joined #kamaelia
[16:13] < vmlemon_> Hmm, is there a Kamaelia version of "$Number $Colour Bottles"?
[16:13] < Davbo> reminds me of the micro-processes and transitions made by the scheduler
[16:13] < MS-> Davbo: yes, I can see why
[16:14] < Davbo> vmlemon_, i have that programmed on my calculator :P
[16:14] < MS-> The yields are essentially switches between states
[16:14] < MS-> That's clearer with the C++ proof of concept of kamaelia
[16:14] < Davbo> Yeah, if you yield the output then you have a Mealy machine
[16:15] < MS-> since it uses preprocessor directives to mask a bizarre use of duffs devices
[16:15] < MS-> but what's generated is actually a state machine
[16:16] < Davbo> interesting
[16:16] < MS-> switch statements and everything
[16:16] < MS-> ;)
[16:16] < Davbo> :D
[16:17] < Davbo> so for a state component for mini axon, should i just initialise it with a bool saying if it's on or off and the main can hold whatever it outputs right?
[16:17] < Davbo> then you'd need something to poke them from one state to another
[16:17] < MS-> eg:
[16:17] < MS-> struct Counter : public Generator {
[16:17] < MS-> int i;
[16:17] < MS-> int next() {
[16:17] < MS-> if (this->__generator_state == -1) { throw StopIteration(); } switch(this->__generator_state) { default:
[16:17] < MS-> for (i=0; i< 10; i++) {
[16:17] < MS-> this->__generator_state = 17; return (i); case 17:;
[16:17] < MS-> };
[16:17] < MS-> this->__generator_state = 19; return (2); case 19:;
[16:17] < MS-> }; this->__generator_state = -1; throw StopIteration();
[16:17] < MS-> };
[16:17] < MS-> };
[16:18] < MS-> That's generated from
[16:18] < MS-> struct Counter : public Generator {
[16:18] < MS-> int i;
[16:18] < MS-> int next() {
[16:18] < MS-> GENERATOR_CODE_START
[16:18] < MS-> for (i=0; i< 10; i++) {
[16:18] < MS-> YIELD(i);
[16:18] < Davbo> ah right
[16:18] < MS-> };
[16:18] < MS-> YIELD(2);
[16:18] < MS-> GENERATOR_CODE_END
[16:18] < MS-> };
[16:18] < MS-> };
[16:19] < Davbo> oh i see now
[16:20] < MS-> Yeah, bit nasty :)
[16:20] < Davbo> i prefer the one with the generator lol
[16:21] < Davbo> what it generates, is..ugly
[16:21] < MS-> It's nicer than the C version
[16:22] < Davbo> c++ has peculiar exceptions
[16:24] *** vmlemon_ wonders if a self-replicting Kamaelia app would work
[16:25] < MS-> That reminds me, Sarah Connor Chronicles is on tonight
[16:25] *** Davbo wonders if he made the inbox/outbox into stacks if he could call them recursively
[16:26] < MS-> What do you mean?
[16:26] < Davbo> can't explain, will try in a bit
[16:26] *** MS- wonders if its as useful, but as brain bending an idea as the way the carousel works
[16:27] < MS-> let it mull. Then explain
[16:27] < MS-> :)
[16:27] *** vmlemon_ has joined #kamaelia
[16:27] < Davbo> hmm
[16:27] < Davbo> i was thinking
[16:28] < vmlemon_> downloads the channel log
[16:29] < Davbo> if you tried to do the fibonacci sequence with recursive calls (it would die eventually from combinatorial explosion?) but since you stack the work to do on the inbox you could be calling a method that takes i and returns i+1
[16:30] < Davbo> hmm don't know if i'm saying it correctly
[16:31] < Davbo> so result=fib(i-1)+fib(i-2) for a result at i
[16:32] < Davbo> hmm
[16:32] < MS-> That will indeed be rather nasty from a recursion perspective
[16:32] < Davbo> Yeah i've done it before
[16:33] < Davbo> less lines of code than an iterative solution though :P
[16:33] < Davbo> shame you use more calls than known atoms in the universe at around 40-50
[16:34] < MS-> Only if you don't cache the results
[16:34] < Davbo> uh-huh, i wanted to see if i could crash my computer though
[16:35] < vmlemon_> Be sure to disable swap, then ;)
[16:35] < Davbo> :)
[16:38] < Davbo> lost my train of thought now gah.
[16:38] *** Davbo goes back to his state machine
[16:43] < MS-> Davbo: FWIW
[16:43] < MS-> @cached
[16:43] < MS-> def fib(i):
[16:43] < MS-> if i == 1 or i == 2: return 1
[16:43] < MS-> return fib(i-1) + fib(i -2)
[16:43] < MS-> where cached is defined:
[16:43] < MS-> def cached(fun):
[16:43] < MS-> cache = {}
[16:43] < MS-> def wrapped(i):
[16:43] < MS-> try:
[16:43] < MS-> return cache[i]
[16:43] < MS-> except:
[16:43] < MS-> cache[i] = fun(i)
[16:43] < MS-> return cache[i]
[16:43] < MS-> return wrapped
[16:43] < MS-> avoids your combinatorial explosion
[16:43] < MS-> but keeps the code clean
[16:43] < Davbo> Yay!
[16:44] < Davbo> whats the @ mean in python?
[16:44] < MS-> It means
[16:44] < MS-> (by example)
[16:44] < MS-> def fib(i):
[16:44] < MS-> if i == 1 or i == 2: return 1
[16:44] < MS-> return fib(i-1) + fib(i -2)
[16:44] < MS-> fib = cached(fib)
[16:45] < MS-> It's called a decorator
[16:45] < Davbo> I see
[16:45] < Davbo> that's cool MS-
[16:48] < MS-> interestingly my really scary book on the sort of thing that contains state machies doesn't mention either mealy or moore machines
[16:49] < Davbo> strange, I think they're a useful model at times
[16:49] < Davbo> too much computational theory is bad for the brain though
[16:49] < Davbo> they probably left it out to spare the reader
[16:50] < MS-> heh
[16:50] < MS-> No
[16:50] < MS-> It's not that kinda of book
[16:50] *** phatmonkey has joined #kamaelia
[16:50] < MS-> it's very much a "take no prisoners" book
[16:50] < Davbo> ah, nice.
[16:50] < MS-> (Floyd & Beigel, the language of machines)
[16:52] < Davbo> heh sounds familiar, might be on a reading list for part of my course
[16:53] *** vmlemon__ has joined #kamaelia
[17:03] < Lawouach> back again
[17:06] < Davbo> hi Lawouach
[17:07] *** vmlemon_ has joined #kamaelia
[17:07] < j_baker> This may be a dumb question, but once the scheduler in Kamaelia starts running components, how does it know when to stop? Does one of the components have to call sys.exit()?
[17:07] *** barrycarlyon_ has joined #kamaelia
[17:09] < MS-> It knows because the components exit their main function
[17:09] < MS-> Try running a component that looks like this:
[17:09] < MS-> class Dies(Axon.Component.component):
[17:09] < MS-> def main(self):
[17:09] < MS-> yield 1
[17:09] < MS-> print dropping off
[17:10] < MS-> and running it:
[17:10] < MS-> Dies().run()
[17:10] < MS-> that will exit
[17:10] < MS-> probably need quotes in there :-)
[17:10] < MS-> (untested code)
[17:11] < vmlemon_> "Once you pop, you just can't stop" ;)
[17:11] < j_baker> I see. Might I make a suggestion? I think that would be something that the MiniAxon tutorial could be a little more clear about.
[17:12] < MS-> Go on
[17:12] < j_baker> Perhaps instead of running the task 100 times in the scheduler, it could run the loop 100 times in each of the main functions>
[17:12] < j_baker> That way that it's a little bit more clear where the execution is ended.
[17:13] < MS-> It's a starting exercise really
[17:15] < MS-> I don't see how that simplifies things
[17:15] < MS-> It makes the scheduler more complex at that point in time
[17:16] < MS-> Which is fine for a real scheduler, but as a toy saying
[17:16] < MS-> "the scheduler goes round in circles and prods the microrocesses to give them CPU"
[17:16] < MS-> but *guaranteeing* it exits
[17:17] < MS-> (due to being a fixed loop of 100 loops round)
[17:17] < MS-> Means that the things being scheduled can be things that are simple as well
[17:18] < MS-> It's a balance against realism and a balance against learning
[17:18] < MS-> After all, I wouldn't *really* say
[17:18] < MS-> that this is a complex scheduling algorithm:
[17:19] < MS-> def main(self):
[17:19] < MS-> for i in xrange(100):
[17:19] < MS-> for current in self.active:
[17:19] < MS-> yield 1
[17:19] < MS-> try:
[17:19] < MS-> result = current.next()
[17:19] < MS-> if result is not -1:
[17:19] < MS-> self.newqueue.append(current)
[17:19] < MS-> except StopIteration:
[17:19] < MS-> pass
[17:19] < MS-> self.active = self.newqueue
[17:19] < MS-> self.newqueue = []
[17:19] < MS-> But it is guaranteed to exit
[17:19] < MS-> (assuming current.next() returns)
[17:19] < j_baker> Perhaps you're right. At any rate, the way the tutorial is set up, it gave me the impression that I would have to call some code in the scheduler or override some method in it.
[17:20] < MS-> ?
[17:20] < MS-> what do you mean?
[17:20] < j_baker> Well, the way the script is set up, the scheduler runs it 100 times.
[17:20] < MS-> yes...
[17:21] < j_baker> Thus, I was thinking something along the lines of having to create a class that would inherit from scheduler
[17:21] < MS-> why?
[17:22] < MS-> (seriously, I do want to know why, so I can evaluate if the tutorial needs changing or something rewording)
[17:22] < j_baker> Well, because the way the tutorial is set up, you insert code into the scheduler to run the process 100 times.
[17:22] < j_baker> Thus, I figured in the real world if I wanted to set a process to run 100 times, I'd have to put code into the scheduler to do that somehow.
[17:23] < MS-> No, its a toy example to explain how the system works
[17:23] < j_baker> Either by subclassing it or calling some kind of method of the scheduler
[17:23] < MS-> http://kamaelia.sourceforge.net/MiniAxon/?tab=3&sat=2 is very different from ...
[17:24] < Davbo> MS-, will you be around to look at my application and give some feedback tomorrow?
[17:24] < MS-> http://kamaelia.svn.sourceforge.net/viewvc/kamaelia/trunk/Code/Python/Axon/Axon/Scheduler.py?revision=3108&view=markup
[17:24] < Davbo> I'm not so worried since i'm just making the changes we discussed and resubmitting should be okay then i hope
[17:25] < MS-> Davbo: reliably? I can look tonight and feedback tonight. Tomorrow? Maybe
[17:25] < MS-> j_baker: however the earliest form of the scheduler
[17:25] < MS-> wasn't *much* different from http://kamaelia.sourceforge.net/MiniAxon/?tab=3&sat=2
[17:25] < j_baker> That's understandable, and I can understand why you would want to do that. But I was assuming that the purpose of that toy example was to illustrate a picture. And for me, it illustrated the picture wrong.
[17:26] < j_baker> But maybe that's just me. :)
[17:26] < MS-> Quite possibly. People who are introduced to OO in a particular way do tend to overuse inheritance
[17:27] < MS-> here is one of the oldest bits of code: http://kamaelia.svn.sourceforge.net/viewvc/kamaelia/trunk/Sketches/MPS/Old/microProcess.py?revision=11&view=markup
[17:27] < MS-> http://kamaelia.svn.sourceforge.net/viewvc/kamaelia/trunk/Sketches/MPS/Old/microProcess.py?revision=11&view=markup#l_207
[17:27] < MS-> specifically (like207) is the equivalent
[17:27] < MS-> (equivalent to the scheduler)
[17:28] < j_baker> I'll have to review that later, got to get to class. Later!
[17:28] *** j_baker has parted #kamaelia
[17:29] < MS-> really wierd to look at that code
[17:32] < MS-> http://kamaelia.svn.sourceforge.net/viewvc/kamaelia/trunk/Sketches/MPS/Old/ipc.py?revision=11&view=markup
[17:32] < MS-> is the oldest version of the component system on top of the concurrency handling
[17:37] < orphans> surely inbox and outbox should be postbox and letterbox. And I see no class BlackAndWhiteCat :D
[17:37] < MS-> orphans: CoordinatingAssistantTracker == CAT
[17:38] < orphans> :)
[17:39] < MS-> Should really just be assistant or tracker
[17:39] < MS-> but it got named on a friday afternoon
[17:40] < orphans> heh. it'd be funny to see a graph of how much silliness enters into code over a week
[17:41] *** MS- leaves for home
[17:41] < MS-> back laer
[17:41] < MS-> later
[17:41] < MS-> cya
[17:41] *** MS- has parted #kamaelia
[17:59] *** simon has joined #kamaelia
[18:38] *** vmlemon__ has joined #kamaelia
[18:46] *** jgustak has parted #kamaelia
[18:54] *** barrycarlyon_ is now known as barrycarlyon
[18:56] *** Uraeus has joined #kamaelia
[19:17] *** xotaku has joined #kamaelia
[19:18] *** xotaku has parted #kamaelia
[19:32] *** MS- has joined #kamaelia
[19:33] < MS-> kamaeliabot: dance
[19:33] Reply: does the macarena
[19:34] < vmlemon__> kamaeliabot: ecky
[19:34] Reply: Ptang!
[19:37] < Lawouach> kamaeliabot: grab me a beer
[19:37] < Lawouach> bah useless :)
[19:38] < vmlemon__> Bar/order component?
[19:39] < Lawouach> unlimited tab
[19:41] *** Davbo is now known as Davbo-pub
[19:41] < Davbo-pub> off to the pub cya later all
[19:42] < Lawouach> Davbo-pub: grab me a beer
[19:42] < Lawouach> might work better with a human :)
[19:44] *** robertofaga has joined #kamaelia
[19:55] < MS-> Guys. If there's anyone on the channel who is intending to apply but hasn't put their application in yet, by not doing so you're reducing your chances of getting a place
[19:56] < MS-> The reality of GSOC is that part of open source is communication, and putting ideas out
[19:56] *** stan26ans has joined #kamaelia
[19:56] < Lawouach> I had rarely seen so many people on this channel :)
[19:57] < Lawouach> That's cool
[19:57] < MS-> Lawouach: Indeedy
[19:57] *** orphans waves at everyone :)
[19:58] < orphans> in a non-creepy way obviously...
[19:58] < MS-> :-)
[19:59] < MS-> The reason for the general announcement is because putting in applications is almost the opposite of an ebay auction
[19:59] < MS-> whilst a *dreadful* analogy
[19:59] < MS-> if you put in your app soon enough we can discuss it to get a better idea of what it will be like working with you.
[19:59] < MS-> That's kinda hard to do in the last few days
[20:04] < MS-> :-D
[20:04] < Lawouach> :)
[20:04] < Lawouach> just let kamaeliabot randomly answer people
[20:05] < orphans> i do find it every so slightly worrying when it says huh? to me
[20:05] < orphans> suddenly put on the spot with no comeback...to a machine
[20:06] < orphans> I'm sure my social faux-pas' should be with humans :S
[20:06] < vmlemon__> Hah
[20:10] < vmlemon__> It's probably just after more Cillit Bang ;)
[20:10] *** vmlemon__ ducks
[20:13] < vmlemon__> Haha, the Orange billing system seems broken, since it let me download about 3 MB of stuff, even though I only have 54p credit, which hasn't changed
[20:17] < orphans> heh, you think that's bad. (starts long story, feel free to doze of at any point)
[20:18] < orphans> a couple of months ago three burly guys in yellow came to my door, saying that they needed to have a look at my electricity meter. I let them in and they peered at it.
[20:18] < orphans> I asked them what they needed. They said that they were going to put in one of those meters where you have to stick money in because we hadn't been paying the bills
[20:18] < orphans> which we had...
[20:19] < orphans> turns out there are two meters in our house, one for upstairs (which we were paying), one for downstairs, with no bills being sent to us, and the occasional threat of unspecified legal action not addressed to us (and hence unopened)
[20:20] < orphans> to add to that, the downstairs meter was being charged at commercial rates despite our house quite obviously being, well, a house
[20:21] < orphans> three burly guys consult, phone someone, and say that it's alright, we'll get sent a bill soon
[20:21] < simon> MS-: When we first talked about my idea about a "mmorpg" you said it would need some more flesh and bones but I thinks I never got your suggestions on what it could be?
[20:22] < orphans> three months later and I get a letter through saying that we will not be billed for a bit because of administrative issues, but theyll issue one in July, a month after we move out
[20:22] < orphans> upshot = one years free electricity for half our house
[20:22] < orphans> sillyness
[20:22] < orphans> simon: sorry for ranting through valid questions
[20:25] < MS-> simon: I think my view was that the flesh and bones was up to you
[20:25] < MS-> To be honest, you've shown a willingness to cut code to get an idea how easy/difficult things are
[20:25] < MS-> and that's a very positive thing to see
[20:26] < MS-> I'm more comfortable with your ideas as a result of seeing your code
[20:26] < MS-> and having had a chance to discuss things with you
[20:26] < MS-> Have you got a copy of your idea handy?
[20:27] < simon> MS-: you looked at my seconde version to? (the one with trees)
[20:27] < MS-> Yes, I liked that. I've got some ideas how to improve that, and if I get a chance this evening I'll make some of those changes to give you come ideas.
[20:27] < MS-> (essentially it revolves around using the tracker to manage a map)
[20:28] < MS-> Since you'll need to share non-changing (or little changing information) like that
[20:29] < MS-> Also, you have a small fan of your code - I've got a 6 year old son - and he really likes it :)
[20:29] < simon> MS-: i have a copy of the first presentation of the idea if you want
[20:29] < simon> :)
[20:29] < MS-> please
[20:30] *** vmlemon__ has joined #kamaelia
[20:31] < simon> http://pastebin.com/m597d8fab
[20:32] *** phatmonkey has joined #kamaelia
[20:32] < simon> MS-: made a draft for the real presentation yesterday but its on an server i cant acess now :(
[20:32] < MS-> np
[20:34] *** MS- looks
[20:35] < MS-> Ah, yes. Well, code walks :)
[20:36] < simon> have to cut the connection, brb
[20:36] < MS-> np
[20:38] *** vmlemon_ has joined #kamaelia
[20:38] *** simon loves irssi how ingnore that the connection got cut :P
[20:39] < vmlemon_> Great timing...
[20:39] < MS-> simon: suggestion - put that pastebin into the GSOC application
[20:39] < MS-> then when I put comments in (currently writing)
[20:40] < MS-> the app will bounce back to you for editting when you can access your draft
[20:40] < MS-> But at least you'll have comments in
[20:40] < simon> ok, will do
[20:49] < simon> MS-: have submited it to gsoc now
[20:52] < MS-> simon: cool
[20:53] *** MS- still writing comments
[20:56] < MS-> Incidentally, all the comments are suggestions, and at the end of the day, your ideas and direction are what will make the project fun and cool. Hopefully the comments/ideas will be useful :)
[21:00] *** simon thinks the comments will be usefull
[21:01] *** j_baker has joined #kamaelia
[21:02] < j_baker> MS- you said that the wsgi code is partly implemented?
[21:02] < Lawouach> I read through the applications for Kamaelia and they look cool
[21:02] < Lawouach> That's great to see you guys having those non trivial ideas
[21:03] < Lawouach> I'll have questions to ask though :)
[21:05] *** orphans looks nervous
[21:05] < Lawouach> nah
[21:05] < Lawouach> well since you ask :)
[21:05] < orphans> heh
[21:06] < Lawouach> I assume you're the owner of the "networked music sequencer" idea, right?
[21:06] < orphans> yeah
[21:07] < Lawouach> I like the idea very much. I'll be honest when I first went though your proposal I thought "seems a bit too much for GSoC timeframe". It seems though that you're already well used to the different bricks you'd use so I guess it sounds realistic :)
[21:08] < Lawouach> What is OSC in a few words?
[21:08] < Lawouach> I mean what is it used for?
[21:08] < Lawouach> (I read their website but I'd like your take ;))
[21:09] < orphans> it's used as a simple protocol to send data over a network basically
[21:09] < orphans> mainly numerical stuff, with timestamps and the like so you can control events in the future
[21:09] < Lawouach> It looks like an application level protocol, or is it lower level?
[21:09] < MS-> simon: http://pastebin.com/m9faa39c
[21:10] < orphans> lawouach: sorry, I don't understand levels :)
[21:10] *** orphans wikis
[21:10] < Lawouach> no worries
[21:11] < Lawouach> This isn't a trick question, just being curious. Don't worry I'll look up what I need: )
[21:11] < MS-> Lawouach: http://pyduino.pastebin.com/m5d9aca8d
[21:11] < MS-> (courtesy of orphans yesterday)
[21:14] < orphans> ahh right, read a bit more. You'll have to correct me here cause I might be getting my terminology very wrong
[21:15] < orphans> I think it's still application level, cause it just sends a binary representation of the data over a socket
[21:15] < orphans> does that make sense?
[21:15] < Lawouach> it does
[21:16] < Lawouach> MS-, that is interesting
[21:16] < Lawouach> Now, there is one thing that worries me a bit.
[21:16] < MS-> baker: "MS- you said that the wsgi code is partly implemented?"
[21:17] < MS-> yes
[21:17] < MS-> partly
[21:17] < orphans> lawouach: yeah
[21:17] < Lawouach> From my own experience of Kamaelia, it can be quickly frustrating to have to mix non-Kamaelia-aware code with Kamaelia's components
[21:17] < j_baker> MS- Where is the code that we have so far?
[21:18] < Lawouach> Here you seem to be interested in writing a great application using Kamaelia's design with lots of non Kamaelia's library.
[21:19] < Lawouach> The mismatch may or may not be too high
[21:19] < Lawouach> I don't know enough of those libraries you mention so I can't really judge
[21:19] < orphans> lawouach: I think the libraries should (hopefully) slot in OK. For example the OSC library constructs an OSC Message and then all it does is fire it through a UDP socket it creates in python
[21:19] < Lawouach> But be aware of the problem
[21:20] < MS-> Lawouach: My feeling is that they probably will slot in OK
[21:20] < Lawouach> That's fine by me, I wanted to highlight that fact ;)
[21:20] < Lawouach> well that's cool :)
[21:20] < MS-> Though its likely that many may be threaded components rather than generator ones
[21:20] *** orphans finds the bit of code
[21:20] < MS-> But your concern is noted
[21:20] < MS-> :)
[21:21] < MS-> You're probably the most experienced kamaelia dev beyond myself & matt after all :)
[21:21] < Lawouach> we do have a huge community, don't we? :D
[21:21] < Lawouach> bah quantity is nothing, quality is the real thing
[21:22] < MS-> Most "real" open source projects have a small number of devs anyway
[21:22] < Lawouach> indeed
[21:22] < MS-> which is probably why GSOC is such a good idea
[21:22] < Lawouach> yes
[21:22] < Lawouach> That actually leads me to a more generic question to you orphans
[21:22] < MS-> j_baker: just finding things up
[21:23] < orphans> http://trac.v2.nl/browser/OSC/trunk/pyOSC/OSC.py (~line 1083)
[21:23] < j_baker> np :)
[21:23] *** MS- thinks he must be going mad. I DID do some work on making kamaelia more WSGI friendly
[21:23] < MS-> last year
[21:23] < orphans> lawouach: go ahead
[21:23] < MS-> november sort of time frame
[21:24] < Lawouach> Your idea really interests me, however I wonder, considering that is a real/usable application you'd want to create, have you tought about after GSoC?
[21:24] < Lawouach> Do you want to carry on that project? Is it more a proof of concept?
[21:24] < Lawouach> MS-, you did :)
[21:24] < orphans> I guess I saw it more as a proof of concept which makes it easy to build more on top of it
[21:25] < orphans> making nice usable audio apps isn't easy, and I'm not 100% that the way of making music will work/make nice results
[21:25] < orphans> but it'll mean that the base is there to keep trying things out until something does work well
[21:26] < Lawouach> I think that idea could succeed provided that it's feature complete and easy to deploy for non programmers.
[21:27] < MS-> Ah, yes, last september
[21:27] < orphans> yeah, I do really want it to be as simple as possible
[21:27] < Lawouach> To me this means that you have to strongly consider the extend of your goals (but it seems your proposal shows that you have already) and allow for some testing/deployment
[21:27] < Lawouach> actually that triggers another question, considering this is a network application, how are you going to test it?
[21:27] < Lawouach> You have several machines? testing locally?
[21:28] < orphans> I have a horrible feeling yeah, running between computers
[21:28] < MS-> j_baker: It was more the fact that I was changing the http code to support wsgi better
[21:28] < simon> MS-: did you see my message in private chat?
[21:28] < MS-> simon: nope
[21:28] < Lawouach> "horrible feeling"? what do you mean?
[21:28] < orphans> also I play live with one of my friends who's not technical, so I think I'll try and get him to do some real usage testing with me
[21:28] < Lawouach> simon, make sure you're logged in with nickserv
[21:28] < orphans> lawouach: I can see myself getting too into it and spending about an hour running backwards and forwards adding notes :D
[21:28] < Lawouach> orphans, that could be relevant yes (at least to me)
[21:29] < Lawouach> orphans, that's why you mentors are here
[21:29] < Lawouach> s/you/your
[21:29] < orphans> keep my on the straight and narrow :)
[21:30] < orphans> you said earlier about the extent of the goals, I'd much rather have one less UI component, but have the networking setup well and easy to implement
[21:30] < simon> ill take it here then: looked throw the google faq, and begining to wounder if I im allowed to join gsoc, the type of school im and every other swede betwen 16 and 19 is enrolled in (upper secondary school) is considerd an "accredited institution
[21:30] < Lawouach> well, personally (and maybe MS- will shed a different light here), I want to see GSoC as much as a way for students to discover the OSS world as a way to work on a real project with deadlines.
[21:31] < orphans> yeah, obviously I'd really like to get it all sorted :)
[21:31] < Lawouach> So mentors are here to guide, not to punish. But at the end of the day, you are responsible for the project you carry :)
[21:31] < j_baker> MS- I did find this... http://www.owlfish.com/software/wsgiutils/
[21:32] < j_baker> Since it's based on python's SimpleHTTPServer, it shouldn't be too difficult to wrap in Kamaelia should it?
[21:32] < MS-> That wouldn't make any sense
[21:32] < MS-> since we already *have* an http server
[21:32] < MS-> The aim is to change that to support wsgi
[21:32] < MS-> that involved a number of structural changes
[21:33] < MS-> such as capturing & setting various environment variables
[21:33] < j_baker> I see.
[21:33] < MS-> AH
[21:33] < MS-> found what I was looking for
[21:33] < MS-> So many lines of code
[21:34] < MS-> https://kamaelia.svn.sourceforge.net/svnroot/kamaelia/trunk/Sketches/MPS/KamaeliaWebServer.py
[21:34] < MS-> You'll note that runs a simple WSGI app
[21:34] < MS-> And also does this:
[21:34] < MS-> class _WSGIHandler(Axon.ThreadedComponent.threadedcomponent): """Choosing to run the WSGI app in a thread rather than the same context, this means we don't have to worry what they get up to really"""
[21:34] < MS-> Should've remembered I'd've done that in /Sketches
[21:35] < MS-> That *is* where speculative dev like that is supposed to happen after all :)
[21:37] < MS-> j_baker: The reason why it makes more sense to us kamaelia's webserver btw is that it allows for greater reconfigurability
[21:38] < MS-> due to the fact that kamaelia components can (if written well) be dived into and have major changes to them
[21:38] < j_baker> I see. Do you think that adding this would be enough to "de-trivialize" my project?
[21:38] < MS-> Replacing TCP with UDP for example would be a bit of a pain, but doable with kamaelia (and once done one trivial for every other protocol on top of TCP)
[21:39] < MS-> Not sure, it depends on how you change it really
[21:39] < MS-> It's a fine balance between ambitious & impossible vs ambitious sounding but trivial (the Scotty dilemma)
[21:40] < Lawouach> j_baker, I read your proposal and was intrigued by its first two paragraphs in ths abstract. That being said I have to agree with MS-'s comments.
[21:40] < Lawouach> I'm still intrigued :)
[21:40] < MS-> "Ya canna change the laws of physics jim" vs "' It'll take 6 weeks, but ya nae have six weeks, so I'll do it for you in two.' 'You have 48 hours' 'OK' "
[21:40] *** simon logging of soon...
[21:41] < MS-> simon: Not seen any private messages from you
[21:41] < MS-> Oh, you reposted here
[21:41] < simon> MS-: yes
[21:41] < MS-> simon: I really don't know
[21:42] < MS-> My feeling is that if you've been accepted onto a university level course that starts in september then you're probably OK, since Ryan Lothian was in that situation in 2006
[21:42] < j_baker> How difficult do you think it would be to get my peer running PHP? I know there's a way to do that from the Command Line, but is there a more efficient way to do that?
[21:42] < MS-> j_baker: Next to impossible
[21:43] < MS-> kamaelia is allergic to php
[21:43] < j_baker> lol
[21:43] < MS-> as am I
[21:43] < Lawouach> j_baker, I guess my first question what is the problem you want to solve here?
[21:43] < MS-> *dreadful* language
[21:43] < MS-> :)
[21:43] < vmlemon_> Gets furballs?
[21:44] < j_baker> I don't disagree MS-. But there is a HUGE amount of code for it.
[21:44] < simon> MS-: the problem is that i wont be accepted onto a univerity cource before April 14, probobly sometime in may:(
[21:45] < vmlemon_> A CKAN would be useful, if interest was high enough
[21:45] < j_baker> Lawouach, I suppose the problem that I want to solve is that I think people want to host a webpage with dynamic content, but I think the barrier for entry is to high.
[21:45] < j_baker> They can do myspace, but well... myspace sucks.
[21:45] < MS-> simon: hm.
[21:46] < j_baker> You only have the option of cookie cutter templates, you have to use myspace's crappy servers, and there isn't any way to script it.
[21:46] < MS-> :-/
[21:46] < simon> MS-: but it starts in september
[21:46] < Lawouach> j_baker, I think I prefer when you use the term "publish" instead of "host".
[21:46] < Lawouach> If you tell me host, I think "well install a LAMP on your machine and be done with it"
[21:47] < MS-> simon: it's a *very* similar story as to that which happened with Ryan IMO
[21:47] < Lawouach> Whereas "publish" as you use in the first part of the abstract does carry the meaning of "well I can't care less about the how, I just want to make that available"
[21:47] < MS-> Which *was* OK last time round
[21:47] < Lawouach> See for instance Tim Bray's Publish article.
[21:47] < j_baker> Yeah, there you go Lawouach
[21:48] < Lawouach> http://www.tbray.org/ongoing/When/200x/2006/09/14/Why-Atom
[21:48] < simon> MS-: Ok, hope its ok this time to
[21:48] < MS-> simon: Drop me a mail about it off list
[21:48] < MS-> ms@cerenity.org
[21:48] < MS-> brief, to the point
[21:48] < simon> ok
[21:48] < Lawouach> well then one might argue that there has been considerable amount of work done by Google and others to offer P2P filesystem integration so that you could just do that.
[21:48] < MS-> Explain briefly what the applications process is where you are
[21:49] < Lawouach> Like Wuala
[21:49] < Lawouach> http://www.youtube.com/watch?v=3xKZ4KGkQY8
[21:49] < MS-> (uni applications process that is)
[21:49] < MS-> If it's like the UK, we'll see
[21:50] < MS-> That said, GSOC *has* grown over the past few years, and things were really feeling their way round
[21:50] < MS-> I'll do what I can
[21:50] < MS-> no promises :)
[21:51] *** simon cross his fingers
[21:51] < MS-> (any mail to that email address will take around an hour or more to get to me btw if its your first mail to me)
[21:51] < MS-> (due to a greylisting server)
[21:51] < MS-> (so don't worry if you say "sent" and you don't get an immediate "got it!" :) )
[21:53] < Lawouach> j_baker, I'm not saying your idea is the wrong one but it may require a bit more thinking in regards to what is already available that could do the same thing and what they are lacking in your opinion.
[21:54] < orphans> right, I'm off to the pub. Cheers for the help/feedback MS- and lawouach
[21:54] < orphans> and bye all :)
[21:55] < Lawouach> I totally agree with your comment that Kamaelia is a good fit for that idea
[21:55] < Lawouach> bye orphans
[21:55] < j_baker> Hmm... this is a good point Lawouach.
[21:55] < vmlemon_> See you orphans
[21:55] < Lawouach> never apparently :)
[21:56] < Lawouach> keep working your idea as I'm interested about it
[21:56] < simon> MS-: mail sent
[21:57] < Lawouach> one more thing, consider whether or not installing Python and dependencies would be a barrier to the project
[21:57] < j_baker> Lawouach, what are some other projects that do this that you can think of?
[21:57] < MS-> simon: thanks!
[21:58] < Lawouach> j_baker, I'm not sure but I guess Google Desktop?
[21:58] < Lawouach> maybe Opera's widget too
[21:58] < MS-> Lawouach: Skydrive?
[21:58] < Lawouach> yes
[21:58] < simon> MS-: ill beter get some sleep now if im going to be able to work tomorrow, bye
[21:58] < MS-> not quite the same, but similar space
[21:58] < MS-> indeed
[21:58] < MS-> cya,
[21:58] < Lawouach> MS-, totally
[21:59] < Lawouach> bye simon
[21:59] < Lawouach> anyway
[21:59] < Lawouach> I shall go too
[21:59] < MS-> okey doke
[21:59] < MS-> cya :)
[21:59] < Lawouach> j_baker, please think about it and ask questions on the channeml
[21:59] < Lawouach> salut :)
[21:59] < j_baker> Thanks for the advice
[21:59] < Lawouach> np
[22:03] *** vmlemon_ had an idea for a "globally shared" files/aggregator that scanned the network using various protocols as well as Bluetooth devices nearby, and listed all the shared objects that it sees by hostname, as well as providing a browser... 
[22:03] < vmlemon_> *files/directories
[22:05] *** vmlemon has joined #kamaelia
[22:05] < vmlemon_> (An enhanced Network Neighbourhood/Chooser, pretty much)
[22:05] < j_baker> MS- do you think there's anything that my project can do with OpenSocial?
[22:08] < vmlemon_> Be a host for other OpenSocial components?
[22:10] < j_baker> That's one idea.
[22:12] < vmlemon_> Or produce an OpenSocial component somehow
[22:13] *** vmlemon_ finds a conflict of interest in Tesco running a shopping price comparison tool/website...
[22:20] *** phatmonkey has joined #kamaelia
[22:34] *** vmlemon__ has joined #kamaelia
[22:47] < j_baker> This is interesting
[22:47] < j_baker> http://code.google.com/apis/socialgraph/docs/
[22:47] < j_baker> I may have to try and implement this.
[22:52] < vmlemon__> Wasn't someone working on Jabber components for Kamaelia?
[22:53] < j_baker> Dunno.
[22:53] < j_baker> I seem to vaguely remember seeing that somewhere.
[22:53] < MS-> j_baker: opensocial is interesting
[22:53] < vmlemon__> I was thinking of Amplee for some reason, but that's probably not related
[22:54] < MS-> vmlemon__: You were thinking of Lawouach
[22:54] < MS-> XMPP is javver
[22:54] < MS-> jabber
[22:54] < vmlemon__> Aah
[22:54] < MS-> open social is a nice idea to implement in some fashion
[22:55] < j_baker> I don't know that it would be feasible.
[22:55] < MS-> dunno
[22:55] < j_baker> Unless it's easy to interface javascript and python.
[22:55] < MS-> (sorry, been afk for a while, and will be for more)
[22:55] < j_baker> The API for hosting opensocial components is javascript.
[22:55] < j_baker> np :)
[22:55] < MS-> well javascript is client side
[22:55] < MS-> and makes API calls over HTTP
[22:55] < MS-> so the interface is a web request
[22:56] < MS-> which so if you have wsgi in the python side, supporting an API there is relatively trivial
[22:56] *** MS- ms-only-1/2-here
[22:56] *** MS- is now known as ms-only-1
[22:56] *** ms-only-1 is now known as ms-only-0
[22:56] < ms-only-0> gah
[22:57] < ms-only-0> ms-only-halfhere
[22:57] *** ms-only-0 is now known as ms-only-halfhere
[23:01] < vmlemon__> 0.5?
[23:02] < j_baker> Or he could be diet MS
[23:02] < vmlemon__> MS Lite?
[23:02] < j_baker> Same great MS taste but half the calories.
[23:04] < vmlemon__> and they replace the sugar with something else?
[23:05] < vmlemon__> Now with added water!
[23:05] < j_baker> Aspartame probably.
[23:05] < j_baker> Wow. MS could potentially cause cancer....
[23:06] < vmlemon__> Chia MS?
[23:06] < vmlemon__> (just add water to get your very own pet MS)
[23:07] < j_baker> lol
[23:07] < j_baker> Well, MS is going to have no shortage of half-away messages now
[23:08] < vmlemon__> Always that chlorinated sugar stuff (Splenda/sucralose)
[23:09] < vmlemon__> or sodium saccharine(?), as bitter as it is
[23:10] < vmlemon__> Back in a mo
[23:28] *** vmlemon__ has joined #kamaelia
[23:29] < vmlemon__> Hi again
[23:31] < j_baker> hola
[23:32] *** vmlemon__ wonders how long it'll take for the music player to implode and take the network stack down with it ;)
[23:33] < j_baker> Bah. Network stacks are overrated anyway.
[23:33] < vmlemon__> Any more flavour/variety suggestions after last time?
[23:34] < vmlemon__> Following from MS Lite/Diet ;)
[23:34] < j_baker> MS- zero?
[23:34] < vmlemon__> Doctor MS?
[23:35] < j_baker> Cherry MS
[23:36] < vmlemon__> Vanilla MS?/MS Cino? (coffee flavour)
[23:37] < j_baker> I think coffee flavor would be awesome.
[23:37] < j_baker> Do they have coffee flavored Coke in the UK?
[23:38] < vmlemon__> I think it took part of the GUI with it last time it crashed too, so I couldn't start any other apps
[23:39] < vmlemon__> They did for a while
[23:39] < vmlemon__> At least Pepsi did one
[23:40] < vmlemon__> There was Coke Blak, too
[23:40] < j_baker> We got the Coke version now that I think about it.
[23:40] < j_baker> I heard it was nasty.
[23:40] < j_baker> I don't recall the pepsi one.
[23:41] < vmlemon__> (yes, it was mis-spelt on the label)
[23:41] < vmlemon__> The Pepsi one was nice
[23:43] *** vmlemon__ is listening to a selection of Matsutoya Yumi songs...
[23:44] < vmlemon__> I'm amazed that Orange have her music on their store
[23:45] < vmlemon__> Since it's pretty obscure/almost unheard of outside Japan
[23:46] < vmlemon__> Woohoo! The music player has conked out/crashed
[23:47] < vmlemon__> (displays a white screen with the signal level)
[23:49] < vmlemon__> and the process terminated cleanly
[23:49] < vmlemon__> for once
[23:54] *** vmlemon_ has joined #kamaelia
[23:55] < vmlemon_> Damn, a whiteout
[23:56] < vmlemon_> Thanks crappy bugheap that also happens to play audio
[23:57] < vmlemon_> Yup, took down the GUI and stack
[23:59] < vmlemon_> Argh, damn GSM/UMTS mode switch