[00:30] < Davbo> night all
[01:00] *** barrycarlyon has joined #kamaelia
[02:02] *** robertofaga has parted #kamaelia
[03:14] *** Uraeus has joined #kamaelia
[03:14] *** Uraeus_ has joined #kamaelia
[05:29] *** maveriick has joined #kamaelia
[05:29] *** maveriick has parted #kamaelia
[06:41] *** sadrul has joined #kamaelia
[06:46] *** vmlemon__ has joined #kamaelia
[06:46] < vmlemon__> Hi
[06:48] *** vmlemon__ is now known as vmlemon_
[06:56] < vmlemon_> kamaeliabot: dance
[06:56] Reply: does the macarena
[07:00] < vmlemon_> kamaeliabot: ecky
[07:00] Reply: Ptang!
[07:29] *** MS- has joined #kamaelia
[07:30] < MS-> morning
[07:33] < vmlemon_> Hi MS-
[07:44] < jle> Good morning.
[07:45] < vmlemon_> Any good libraries for parsing UTF-16?
[07:47] < vmlemon_> As much as I hate the stuff
[07:59] < vmlemon_> kamaeliabot: poke
[07:59] Reply: Not the eye! Not the eye!
[07:59] *** vmlemon_ pets kamaeliabot
[08:31] < MS-> vmlemon: Sorry, I don't know of any
[09:09] *** orphans has joined #kamaelia
[09:09] < MS-> morning
[09:09] < orphans> morning
[09:11] < orphans> how goes it MS-?
[09:12] < MS-> OK.
[09:12] < MS-> Morning is despam and catch up time normally
[09:12] < orphans> same minus the despamming :)
[09:13] < orphans> and trying to stop my wireless trying to connect to my neighbours every morning
[09:13] < MS-> Home email doesn't need spamming
[09:13] < MS-> despamming rather
[09:18] < orphans> MS-: did you get a preliminary number of SoC slots through? (don't tell if you'd rather keep it til it's set more firmly)
[09:18] < MS-> The number is preliminary and I think if Google wanted them public they'd make them public
[09:18] < MS-> The reality is the number of slots we have may go up or down
[09:19] < MS-> and the same goes for everyone
[09:19] < orphans> yeah, sure. Just curious :)
[09:20] < MS-> There's a number of complaints from some people on the general mentor list about the allocations, but I think that's from people for whom its there first year.
[09:20] < MS-> The reason I say that is because every year everyone asks for X slots and often gets less than X slots. X is based on "we can mentor this many apps"
[09:21] < MS-> I think I can guess what our final number will be, but we'll have to wait and see
[09:21] < orphans> yeah, I saw people like the KDE folks on #gsoc who have got mentors and apps for like 500 students or something crazy saying the wouldn't get anywhere near what they requested
[09:22] < MS-> At the end of the day, you can't please everyone, and the criteria for acceptance isn't the same as some students might think really
[09:22] < MS-> After all there are different motivations at play
[09:22] < orphans> yeah absolutely
[09:23] < MS-> Some students are clearly *just* in it for the money. (money is nice mind ;) ) Whereas google are in it to grow the number of open source developers - whatever the project.
[09:23] < MS-> Those two points are a very interesting contention point
[09:24] < orphans> I guess it's partly good community relations from google too?
[09:24] < MS-> It certainly helps them there I'll admit :)
[09:24] < orphans> not like they're short of resources :)
[09:24] < MS-> Whilst of course orgs have a mixture of needs - do they want to grow their community, grow their codebase, or ...
[09:25] < orphans> yeah
[09:26] < MS-> The reality is as well that lots of students do just disappear at the end of GSOC never to be heard from again, and that means that their code *must* be maintainable, or else rather than contributing, they've created a burden.
[09:28] < orphans> yeah - if you've got 10000 lines of spaghetti which works but isn't maintained it's not much use for anyone
[09:28] < MS-> Kamaelia's very nature helps there of course :)
[09:28] < MS-> (by design :-D )
[09:28] < orphans> :)
[09:28] *** orphans wonders how much like spaghetti you could make a graphline look
[09:29] < MS-> Oh you could make it pure spaghetti if you wanted - after all you could just run the AxonVisualiser on it :-)
[09:30] < orphans> http://avanturb.com/news/media/bidule/bid.gif - from an audio patching env
[09:30] < orphans> I've never made anything which looked that bad :D
[09:30] < MS-> The problem with that sort of thing is that it clearly doesn't allow nesting
[09:30] < MS-> Or doesn't provide for it
[09:31] < orphans> it does - the user just decided it was a bad idea :)
[09:31] < MS-> ah
[09:36] < orphans> right, medical x-ray and nmr revision calls *sigh*
[09:37] < orphans> seeyou in a bit MS-
[10:25] < Lawouach> hello
[10:25] < MS-> heya
[10:26] < Lawouach> orphans, what about that http://rafb.net/p/5rw2ba61.html
[10:27] < Lawouach> that's just a simple usecase of my XMPP lib
[10:27] < Lawouach> it misses a lot still
[10:27] < Lawouach> hi MS-
[10:30] < MS-> I think that's a bit like the whiteboard - you could use a bunch of def's to return the graphlines, but for convenience you haven't :)
[10:30] < Lawouach> I don't mind so much the graphline getting big
[10:30] < Lawouach> I believe it's still readable
[10:30] < MS-> Yep
[10:31] < MS-> BTW, did you know that graphlines can automagically add inboxes/outboxes to their exteriors?
[10:32] < MS-> hm. actually reading the code I could be wrong there :)
[10:32] < MS-> I am wrong there
[10:32] < Lawouach> the actual code looks like that
[10:32] < Lawouach> hang on
[10:33] < Lawouach> http://rafb.net/p/Y9RGTG43.html
[10:33] < Lawouach> that's just the main of the client
[10:33] < Lawouach> it's a test use case BTW
[10:33] < Lawouach> so not necessarily clean :)
[10:34] < MS-> Oh, hold on, yes it does, it just does it the wrong way (graphline that is)
[10:34] < MS-> Ahh, I see
[10:34] < Lawouach> :)
[10:35] < Lawouach> I'm happy you don't refer to me as "it"
[10:35] < MS-> heh
[10:36] < Lawouach> as you can see I'm still trying to catch the KeyboardInterrupt and stop the client cleanly
[10:36] < Lawouach> doesn't work yet obviously :)
[10:38] < MS-> Hm.
[10:39] < Lawouach> not to worry
[10:39] < MS-> There must be a nice way of handling that
[10:39] < Lawouach> this is not a showstopper
[10:39] < MS-> indeed
[10:39] < Lawouach> and I don't do it right in my code I think
[11:56] *** MS- has joined #kamaelia
[12:26] *** Davbo has joined #kamaelia
[12:27] *** robertofaga has joined #kamaelia
[12:31] < Davbo> Good afternoon all.
[12:32] < MS-> afternoon
[12:32] < Davbo> If I get round to programming anything else today it's going to be for Kamaelia now. I programmed a UI in swing this morning and thus hate Java.
[12:32] < MS-> heh
[12:34] < Davbo> had a lecture on Swing - "How to make a window in 9 easy steps"
[12:34] < MS-> right
[13:17] < Davbo> Heh my maths course web page - "< meta name="GENERATOR" content="Microsoft FrontPage 5.0">"
[13:18] < Davbo> To say the guy is a wizard on MATLAB he clearly isn't up to scratch with anything else
[13:25] *** vmlemon_ has joined #kamaelia
[13:25] < vmlemon_> Hi
[13:25] < Davbo> hi vmlemon_
[13:26] < MS-> Most people are skilled in the areas they're interested in or need to be
[13:26] < MS-> If he's not interested in web dev, he's probably just picked up a tool that's useful
[13:26] *** vmlemon_ rants too much...
[13:27] < MS-> I once worked somewhere that had a bunch of sales people who we techies were always really angry about due to lack of clue in technical areas
[13:27] < MS-> Until someone put one of the more clueful ones in charge of our area, who explained that they couldn't do our job if they tried nor did they want to and respected us for it
[13:27] < vmlemon_> Sounds bad
[13:27] < Davbo> MS-, sorry I forgot to mention the reason I was ranting is because the site dosen't render correctly so i was blaming frontpage for that
[13:28] < MS-> and turned it around saying we couldn't do theirs if we tried (which was true),nor would we want to and respect them for it
[13:28] < MS-> Actually made a difference to both sides working better with each other
[13:29] < Davbo> I wasn't just pedanticly searching source code to rant, I knew i'd find FrontPage there anyway tbh :)
[13:29] < MS-> (it also made a diference that they were actually good at sales and we were actualy good as techies :-) )
[13:29] < MS-> Davbo: Indeed :)
[13:29] < Davbo> just frustrated because I couldn't get to what i needed
[13:29] < MS-> heh
[13:29] < Davbo> although i worked the URL out anyway
[13:30] < vmlemon_> In another channel, I ended up sticking my nails into UTF-16, and complaining about how it was used for the sake of it, when alternatives exist, although I won't continue it onto this channel...
[13:30] < Davbo> Sales people get a bad stereotype, tbh
[13:31] < Davbo> Techies get a reclusive stereotype but sales people are stereotyped as being just cruel.
[13:32] < Davbo> lol vmlemon_ :)
[13:32] < vmlemon_> Dodgy window floggers, and pushy commission-hungry people in electrical stores spring to mind
[13:34] < vmlemon_> "Would you like an overpriced USB cable with that?"
[13:34] < MS-> "please"
[13:34] < vmlemon_> ;)
[13:34] < Davbo> Yeah, I have a friend that works in PC World and one that works in the Apple Store. Oh what a difference in sales techniques they get taught
[13:35] < MS-> I was thinking a different sort of sales
[13:35] < MS-> That's "just" retail
[13:35] < vmlemon_> Double-glazing and telesales?
[13:35] < MS-> More sales with 6 or 7 zeroes in the number
[13:36] < Davbo> I was just referring to what vmlemon_ said about the commision hungry staff
[13:36] < MS-> ah
[13:37] < Davbo> MS-, I'm gonna try to make a component that will submit songs to Last.fm, what does the existing HTTPClient do?
[13:38] < Davbo> phone brb
[13:38] < MS-> http://kamaelia.sourceforge.net/Cookbook/HTTPClient
[13:39] < Davbo> oh thanks
[13:40] < vmlemon_> "Want to take out a 5-year extended warranty on the box of CD-Rs you just bought?" ;)
[13:40] < Davbo> lol
[13:41] < MS-> see also https://kamaelia.svn.sourceforge.net/svnroot/kamaelia/trunk/Code/Python/Kamaelia/Examples/SoC2006/RJL/P2PStreamSeed/p2pstreamseed.py
[13:42] < orphans> hey all, quick (and almost certainly stupid) python question, can't seem to find an obvious answer: say I have a class a, with a generator method b, how do i find out what a is from b?
[13:44] < vmlemon_> I've had plenty of free stuff from them, over the years (e.g. they ended up giving me giving a second digital camera when I bought only one along with a printer dock, as well as various other trinkets"
[13:44] < vmlemon_> )
[13:44] < MS-> >>> class a(object):
[13:44] < MS-> ... def b(self):
[13:44] < MS-> ... print dir(self)
[13:44] < MS-> ... print self.__class__
[13:44] < MS-> ... yield 1
[13:44] < MS-> >>> a().b().next()
[13:44] < MS-> ['__class__', '__delattr__', '__dict__', '__doc__', '__getattribute__', '__hash__', '__init__', '__module__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__str__', '__weakref__', 'b']
[13:44] < MS-> < class '__main__.a'>
[13:44] < MS-> 1
[13:45] < vmlemon_> (them being PC World)
[13:46] < orphans> ahh, you have to do it from within the method. I was trying to do a(), c = a.b(), c.__class__, which gives class as a < generator>
[13:47] < MS-> >>> dir(a().b())
[13:47] < MS-> ['__class__', '__delattr__', '__doc__', '__getattribute__', '__hash__', '__init__', '__iter__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__str__', 'close', 'gi_frame', 'gi_running', 'next', 'send', 'throw']
[13:48] < Davbo> ooo! that dir is clever
[13:48] < vmlemon_> Probably get hammered for this, but does anyone know of a way to use Perl-like syntax in Python?
[13:48] Reply: Hm?
[13:48] < orphans> MS-: sorry, don't understand what that bit is useful for?
[13:48] < MS-> >>> a().b().gi_frame.f_locals["self"].__class__
[13:48] < MS-> < class '__main__.a'>
[13:48] < orphans> other than seeing what's in there :)
[13:48] < orphans> but can you do that if you don't know what a is?
[13:49] *** orphans knocks together something
[13:49] < MS-> >>> X=a().b()
[13:49] < MS-> >>> X.gi_frame.f_locals["self"].__class__
[13:49] < MS-> < class '__main__.a'>
[13:49] < orphans> ahhh
[13:50] < MS-> It's nasty though because you should not rely on gi_frame nor f_locals really
[13:50] < MS-> But it will work
[13:50] *** orphans looks up gi_frame and f_locals
[13:50] < orphans> that is hacky looking though - I would have thought there would be an easier way
[13:51] < vmlemon_> kamaeliabot: dance
[13:51] Reply: does the macarena
[13:53] < vmlemon_> kamaeliabot: ptang
[13:53] < vmlemon_> kamaeliabot: ecky
[13:53] Reply: Ptang!
[13:58] < vmlemon_> kamaeliabot: poke
[13:58] Reply: Not the eye! Not the eye!
[14:04] < vmlemon_> Ugh, this week has gone fast
[14:09] *** vmlemon_ wonders if Cillit Bang works any good on Windows Vista ;)
[14:15] < Davbo> MS-, i've got a silly question - perhaps it's because i'm coming for java or something but
[14:15] < Davbo> when you use ConsoleReader where is the input going?
[14:15] < Davbo> is there a "main" inbox it gets put onto?
[14:23] *** Chong has joined #kamaelia
[14:24] < Chong> Hello everyone.
[14:24] < vmlemon_> Hi Chong
[14:26] < Chong> MS-: Thank you very much for your e-mail. It's a very good idea to select candidates for coding through exercising coding itself.
[14:27] < Chong> vmlemon_: how it goes?
[14:27] < vmlemon_> Ok
[14:27] < vmlemon_> *OK
[14:27] < Chong> good
[14:39] < vmlemon_> o.O Someone just ran across the road and yelled "I almost got ran over by a car"
[14:41] < vmlemon_> Hmm, probably not a wise idea...
[14:42] *** MS- has parted #kamaelia
[14:48] *** vmlemon_ has joined #kamaelia
[14:49] *** MS- has joined #kamaelia
[14:58] < vmlemon_> Yay, it's started to rain
[15:04] < Chong> In Manchester, the rain just stopped:-)
[15:09] < Chong> the rain is very short. In the morning, the weather was so nice, but now...
[15:10] < vmlemon_> Looks like it's stopping...
[15:11] < Chong> vmlemon_: which city are you in?
[15:12] < vmlemon_> Currently sat in a bus shelter at Knaresborough
[15:12] < MS-> vmlemon_: What device do you use to use IRC like this?
[15:13] < Chong> MS-: it seems that you know confucianism very well :-)
[15:13] < MS-> :)
[15:14] < MS-> It's either that or the Art of War ;-)
[15:14] < vmlemon_> It's a Nokia phone with a Java/J2ME IRC client
[15:14] < MS-> I see
[15:15] < vmlemon_> Costs me a quid a day for "unlimited" data
[15:15] *** MS- nods
[15:17] < vmlemon_> Although it's an option (they charge 1p/KB otherwise)
[15:17] < MS-> That's better than the cost of data for sending SMS though
[15:18] < Chong> vmlemon_: I know o2 has this offer. So...
[15:19] < vmlemon_> I can use it as a modem, but it's excruciatingly slow (think slow serial cable link with satellite latency, and you won't be too far off) :(
[15:20] < vmlemon_> Orange, here
[15:21] < vmlemon_> I think T-Bag, erm T-Mobile do a similar offer ;)
[15:23] < Chong> vmlemon_: so does O2. Nowadays mobile networks offer similar deals.:)
[15:23] < vmlemon_> Aah
[15:24] < vmlemon_> I used 3 ages ago, and was fairly happy with the service
[15:25] < vmlemon_> (the UMTS/3G operator, that is)
[15:25] < Chong> I heard 3's offer is very good but signal is not very good
[15:26] < vmlemon_> I can say that their coverage was pretty good, although it's a "your milage may vary" thing
[15:28] < vmlemon_> They used to have a GPRS roaming arrangement with O2
[15:29] < vmlemon_> although Orange happen to have the contract now, although older/pre-negotiation customers could roam on both
[15:32] < vmlemon_> (I used it just after the started their pre-paid service, until I lost my 3 handset on a train, a few months ago, so could use both for roaming)
[15:34] < Chong> I see. but another problem, 3's sim card is a lot bigger than normal, so it is not compatible to normal mobile phones.
[15:35] < MS-> Is it?
[15:37] < vmlemon_> The SIM card is the same size, but the low-level protocols are incompatible
[15:37] < Chong> MS-: I heard from friends, have not tried it myself :-)
[15:37] < Davbo> MS-, if you're not busy can you have a look at this for me. I'm a bit confused with the scope of the variables declared in __init__
[15:37] < vmlemon_> so it doesn't always work in a GSM phone
[15:38] < vmlemon_> I did get it working in a Motorola, though once
[15:39] < Chong> Thanks for pointing my misconception, vmlemon_. I see now. 3 uses UMTS before.
[15:40] < vmlemon_> (a family member's L6 - a real heap of junk)
[15:40] < Chong> But now since it also use 3G. so 3G mobile phones should be compatible with others.
[15:41] < MS-> Davbo - just ask away
[15:41] < Davbo> http://pastebin.com/m864f201
[15:42] < Davbo> in handshake i want to invoke the things from __init__ but no luck
[15:42] < vmlemon_> Most UMTS handsets also support GSM, these days
[15:43] < Davbo> Am I doing something stupid in there?
[15:43] < MS-> Davbo: the code does look exceedingly... odd
[15:44] < Davbo> Ah, lovely.
[15:44] < Davbo> fyi: http://www.audioscrobbler.net/development/protocol/
[15:45] < MS-> Some points
[15:45] < MS-> test.handshake doesn't call anything
[15:45] < MS-> should be
[15:45] < MS-> test.handshake()
[15:45] < MS-> also
[15:45] < Davbo> i thought so but it shouted at me when it was that
[15:46] < Davbo> TypeError: handshake() takes no arguments (1 given)
[15:46] < MS-> I did say "points"
[15:46] < MS-> :)
[15:46] < Davbo> ah
[15:46] < Davbo> :(
[15:46] < MS-> If you do it that way at all,
[15:46] < MS-> def handshake():
[15:46] < MS-> should be
[15:46] < MS-> def handshake(self):
[15:46] < MS-> or else
[15:46] < MS-> test.handshake()
[15:46] < MS-> will give
[15:46] < MS-> TypeError: handshake() takes no arguments (1 given)
[15:47] < MS-> Furthermore....
[15:47] < MS-> SimpleHTTPClient("http://post.audioscrobbler.com/?hs=true&p=1.2&c="+clientid+"&v="+clientver+"&u="+user+"&t="+timestamp+"&a="+auth),
[15:47] < MS-> references
[15:47] < MS-> clientid , clientver , user , timestamp, auth
[15:47] < Davbo> self. on those
[15:47] < Davbo> i see
[15:47] < MS-> yep
[15:48] < MS-> nothing is implicit
[15:48] < Davbo> i tried that too but i hadn't put handshake(self) in there
[15:48] < MS-> yep
[15:48] < MS-> Thing is what you're doing there isn't actually very...
[15:48] < MS-> kamaelia-like
[15:49] < MS-> for want of a good word
[15:50] < MS-> I think you're trying to do something similar to what this code does:
[15:50] < MS-> http://kamaelia.svn.sourceforge.net/viewvc/kamaelia/trunk/Sketches/MPS/LUGRadio/SimpleSwarm.py?view=markup
[15:50] < MS-> Except that uses TCPClient
[15:50] < MS-> In order to pull in LikeFile, you'll need to use the KamaeliaLogger tar ball I mentioned in my mail
[15:51] < Davbo> How is it similar to that?
[15:52] < Davbo> this will be a component for anyone making a media player to submit their plays to last.fm
[15:52] < MS-> You want to send a request, and get a reply, and then do something else
[15:52] < MS-> If you see
[15:53] < MS-> SimpleSwarm.clientRequest
[15:53] < MS-> You'll see it does that sort of thing
[15:53] < Davbo> Yeah I see
[15:54] < Davbo> I thought the http component could just be used though since that's what i'm sending the request on
[15:54] < MS-> Indeed - all I'm saying is that you'll probably want to do
[15:54] < MS-> LikeFile(< your http client > )
[15:54] < MS-> inside a ThreadedComponent
[15:55] < MS-> rather than the way you're doing it there
[15:55] < MS-> Or perhaps more simply
[15:56] < Davbo> I was going to use TCPClient but thought I could just skip it to be honest
[15:57] < Davbo> plus i have little to no knowledge of all these components workings
[15:57] < MS-> indeed.
[15:57] < MS-> To me it looks like you're trying to run here before you can walk
[15:57] < MS-> which is why you're hitting little walls
[15:58] < MS-> http://pastebin.com/m79c9b153
[15:59] < MS-> http://pastebin.com/m6e3be08d rather
[15:59] < MS-> is slightly simpler
[15:59] < MS-> Using the HTTP components is more complex that a) it probably should be b) first appears
[15:59] < MS-> probably because c) I didn't write them ;-)
[16:00] < Davbo> lol
[16:01] < Davbo> You can't blame me for trying to a http component for a simple http request though
[16:01] < MS-> I don't blame you at all :)
[16:01] < MS-> I am aware of their limitations though
[16:01] < MS-> In terms of new components and systems, I was personally thinking more along the lines of "create a new component from scratch of your own"
[16:01] < MS-> However complex or simple
[16:02] < MS-> and plug those together
[16:02] < Davbo> I've no idea what to do though and was reading how audioscrobbler worked so it was more just out of interest really
[16:03] < MS-> Ahh I see
[16:03] < MS-> Well in case it helps
[16:03] < MS-> http://kamaelia.svn.sourceforge.net/viewvc/kamaelia/trunk/Sketches/MPS/demo_http.py?revision=3850&view=markup
[16:03] < MS-> has an example use of SimpleHTTPClient and LikeFile
[16:04] < Davbo> I tried reading HTTPClient.py but it was rather confusing
[16:05] < MS-> Don't worry, I sympathise :)
[16:06] < Davbo> anyway it was just something out of interest, I always think it's cool when people come up with their own protocols and open up how you talk with them
[16:06] < MS-> indeed
[16:06] < MS-> In order to use audioscrobbler that way you'd need to use likefile in that instance
[16:07] < MS-> The HTTPClient code was created by Ryan for a very specific purpose - single short requests for putting data in a particular place
[16:07] < vmlemon_> Is it required/safe to append a semicolon to each line of code when writing a Python script? So far, I've took an existing start of a Perl script I was working on, stripped the 'my $' from the front of each variable, and could then run it in Python
[16:07] < MS-> As a black box to use, it's OK
[16:08] < MS-> But its internals could be nicer
[16:08] < MS-> vmlemon_: yes
[16:08] < MS-> ; is a statement seperator in python
[16:08] < MS-> but so is newline
[16:08] < vmlemon_> It originally consisted of a few variables and some print statements
[16:08] < MS-> hence why you don't normally see a semicolon
[16:09] < vmlemon_> Aah
[16:09] < Davbo> Yeah I did that first, it's like separating them twice really
[16:09] < Davbo> or, what he said. :P
[16:09] < MS-> heh
[16:10] < MS-> sorry :)
[16:10] < vmlemon_> It choked on a comment containing a hex dump, somehow until I removed it...
[16:10] *** Davbo feels late to the party with Python
[16:11] < vmlemon_> Same here
[16:11] < Davbo> Perl uses # also for comments right?
[16:11] < MS-> Don't worry, we can have a new party :)
[16:11] < MS-> yes
[16:12] < Davbo> I have a syntactic headache these days - MATLAB from one guy, Prolog and random bursts of Lisp from another and Java from the rest
[16:12] < Davbo> lecturers that is
[16:12] < vmlemon_> I personally prefer Perl's syntax/way of doing things, but file I/O and hex handling seems easier/less convoluted from what I've read
[16:12] < Davbo> then i get home and get a Python lecture from MS- :P
[16:13] < vmlemon_> (in Python)
[16:13] < MS-> worse could it be - forth the mix into could you add.
[16:14] < vmlemon_> COBOL and FORTRAN, anyone?
[16:14] < MS-> no thanks, I'm cutting down
[16:15] < vmlemon_> Hah
[16:16] < Davbo> MS-, was that your Yoda impersonation?
[16:20] < MS-> No, that's the sentance structure you'd get with forth
[16:20] < MS-> 1 2 plus 3 times
[16:20] *** j_baker has joined #kamaelia
[16:20] < MS-> ==
[16:20] < MS-> (1+2) *3
[16:20] < MS-> j_baker: hi
[16:20] < j_baker> hello
[16:21] < vmlemon_> Hi
[16:22] < j_baker> Have I mentioned how much I hate microsoft?
[16:23] < Davbo> Oh forth is a programming language, i see.
[16:23] < MS-> I believe you've mentioned it a few times. To me they're an interesting irrelevance
[16:23] < j_baker> I'm developing a console app in C# for my final project. And I'd forgotten how much I hate the Windows command line.
[16:23] < MS-> Ahhhh
[16:23] < MS-> I see
[16:24] < j_baker> I may have to try Mono out, but I hear it's nowhere near as stable as MS .NET
[16:24] < vmlemon_> What is this "Microsoft" you speak of? ;)
[16:25] < Davbo> Why are you doing your final project in Windows then j_baker ?
[16:25] < Davbo> Surely you can develop in Linux
[16:25] < j_baker> Because I have to. My university is pretty much owned by MS as is my professor.
[16:25] < Davbo> ouch!
[16:26] < Davbo> All our computers dual boot to Red Hat
[16:26] < Davbo> Where's that j_baker ?
[16:26] < j_baker> Basically, he told me we could use any tools to write the program we wanted, but it has to compile and run under VS 2005
[16:26] < j_baker> Texas Tech University
[16:27] < Davbo> Ah
[16:28] < j_baker> I'm told that once I get past the class I'm in, we're pretty much able to use any environment/language we want to though.
[16:28] < Davbo> Why isn't it the Texas Institute for Technology? :P
[16:28] < j_baker> lol
[16:29] < vmlemon_> Texas Microsoft University? ;)
[16:29] < j_baker> That one I like.
[16:29] < j_baker> Texas Tech.NET
[16:29] < j_baker> I think that would be more fitting.
[16:30] < Davbo> Heh, TIT would suit any institute that forces you to program in VS 2005
[16:30] < vmlemon_> Hah
[16:30] < j_baker> It doesn't end there.
[16:31] < j_baker> Try connecting a Linux computer or a MacBook running leopard to our wireless network.
[16:31] < vmlemon_> Vertigo Sickness?
[16:31] < j_baker> On my MacBook, I have to spend 20 minutes turning the airport card on and off to be able to connect.
[16:32] < j_baker> And I'm told there's simply no way to connect a Linux machine period.
[16:32] < vmlemon_> Oh really?
[16:32] < Davbo> Sounds like a challenge
[16:32] < Davbo> unfortunately i'm thousands of miles away
[16:33] < j_baker> Yup. And some professors wonder why we have grad students who can't do anything other than develop Windows programs in Visual Studio and are horrified of Command Lines.
[16:33] < vmlemon_> They've tied the Wi-Fi auth in with Active Directory, or use some other demented system?
[16:33] *** Chong has joined #kamaelia
[16:34] < j_baker> I have no idea. They keep blaming Apple for the problems with Leopard not working.
[16:34] < j_baker> But I've been told by someone who works in IT help central that it's just an issue of them not having their access points updated (at least for Leopard).
[16:35] < vmlemon_> Prolly their own network is broken, judging by their excuse
[16:35] < j_baker> Heh, yeah.
[16:36] < j_baker> There weren't even instructions on how to connect a Leopard computer to the network on the IT website until about 4 mos after it came out.
[16:36] < vmlemon_> I bet Vista is well catered for
[16:37] < j_baker> I was actually surprised to be honest.
[16:37] < j_baker> I still don't think they recommend Vista over XP to be honest.
[16:38] < j_baker> (not to say that they don't take care of Vista users)
[16:39] < vmlemon_> Very InSecure Testing Area ;)
[16:39] < MS-> j_baker which uni is this again?
[16:40] < j_baker> Texas Tech University
[16:41] < Davbo> What's better, Texas Tech or Texas State?
[16:41] < Davbo> or is that a long running argument?
[16:42] < j_baker> I hear Texas State isn't bad for a party school... Which usually means it's bad academically.
[16:42] < Davbo> Ah
[16:42] < MS-> Looks like your computational physics people are relatively sane
[16:42] < MS-> http://www.phys.ttu.edu/~ritlg/courses/p5322/linux_links.html
[16:43] < MS-> May have some local tips for you - mac os x is closer to linux than it is to windows in many respects
[16:43] < j_baker> Yeah. We have a few departments that are pretty decent. I think our physics department is a little less windows-centric simply because the majority of them were educated elsewhere.
[16:43] < j_baker> I'll have to check it out.
[16:44] < MS-> You never know :)
[16:45] < j_baker> Oh well, that's my rant for the day. :)
[16:47] < MS-> heheh
[16:47] < Davbo> If we didn't have support for Linux the "Free Software Society" would have a riot and probably boycott Uni :p
[16:47] < MS-> "The addition of 16 new faculty members and the on-going graduate site in Abilene"
[16:47] < MS-> Abilene is famous in case you didn't know
[16:47] < MS-> http://en.wikipedia.org/wiki/Abilene_paradox
[16:48] < j_baker> Yeah, I remember one of my professors telling us about that (in my past life as business major).
[16:49] < Davbo> Are you a Computer Science major now j_baker ?
[16:49] < j_baker> Yup.
[16:49] < Davbo> Hurrah!
[16:51] < Davbo> Having said that, i kinda wish i'd chose Philosophy
[16:51] < j_baker> lol
[16:52] < j_baker> I tried Sociology too... It was an easy major, but it just didn't challenge me in the way that I would like.
[16:52] < Davbo> I did Philosophy of the Mind (Cogito ergo sum etc.) last semester
[16:52] < Davbo> We were allowed to pick an extra module from anything though
[16:52] < j_baker> I do better with "Take this, learn it, and apply it" than "Learn this and regurgitate it on the test"
[16:53] < Davbo> Yeah
[16:53] < Davbo> Philosophy is damn difficult though.
[16:54] < Davbo> so easy to get a job though if you have a Phi degree, in the UK at least.
[16:54] < Davbo> not that i'll struggle with Computer Science.
[16:56] < j_baker> Really, what kind of job would you get with a philosophy degree?
[16:56] < MS-> burger inversion specialist
[16:56] < MS-> :-D
[16:56] < Davbo> :P
[16:56] < j_baker> lol
[16:57] < Davbo> You had that prepared didn't you MS- :P
[16:57] < MS-> heh
[16:57] < MS-> I just type fast :)
[16:58] < Davbo> It's not really what you learn from doing the degree j_baker, people with it are usually very intelligent about most things
[16:58] < Davbo> it's very much a scientific subject, depending what part of it you go into
[16:59] < Davbo> depends where you read it though, my lecturer was a Chess Grandmaster :D
[17:00] < j_baker> Heh... that's interesting.
[17:00] < Davbo> plus if you stay on as research in a philosophy department your job description reads : "Think about stuff."
[17:01] < j_baker> I could do that all day.
[17:01] *** j_baker considers changing to philosophy.
[17:01] < Davbo> Hah :)
[17:01] *** j_baker snaps out of it.
[17:02] < Davbo> brb
[17:03] *** Davbo is now known as Davbo-afk
[17:14] *** j_baker goes to class
[17:14] *** j_baker has parted #kamaelia
[17:38] *** Davbo-afk is now known as Davbo
[17:59] < MS-> Chong: Have you done the mini-axon tutorial yet, out of curiosity?
[18:05] < Davbo> Ah, I see what likefile does now
[18:05] < Davbo> it's kinda, cheating.
[18:05] < MS-> Makes a component a bit like a file
[18:05] < MS-> Not really. Kamaelia is about trying to make things easier
[18:05] < MS-> If it makes things easier, it fits :-)
[18:05] < Davbo> You know what i mean though
[18:06] < MS-> I know what you mean
[18:06] < Davbo> it's cheating the paradigm
[18:06] < MS-> Not really - it's actually just doing the same thing the OS does
[18:06] < MS-> When you do
[18:06] < MS-> f = open("some file")
[18:06] < MS-> there's something extraordinarily complex going on behind "open" and friends
[18:06] < MS-> when you stop and think about it
[18:06] < Davbo> Yeah
[18:07] < Davbo> I suppose
[18:07] < MS-> But you're masked from the issue - even though there's actually alot of concurrent behaviour there
[18:08] < MS-> You also have to bear in mind that a good reference for making concurrency easy is biology
[18:08] < MS-> (hence axon...)
[18:08] < Davbo> Yeah
[18:09] < MS-> The body does a huge amount of communication using the nervous system (which in/outboxes is akin to), also hormonal (which the STM & co-ordinating assistant tracker conciously relate to)
[18:09] < MS-> But then there's higher level things as well - like tactile response
[18:09] < Davbo> Interesting
[18:09] < MS-> which is the closest you get
[18:09] < Davbo> Yeah
[18:10] < MS-> My third year project, many moons ago now, related to modelling biological trees in software
[18:10] < MS-> specifically to model growth
[18:10] < MS-> It was unusual in that I included aspects of the hormonal system in there
[18:11] *** Davbo nods
[18:12] < Davbo> My tutor is on the research team for things like that i believe
[18:12] < MS-> Anyhow, underneath it all, LikeFile actually ends up being a wrapper for the usual approaches
[18:13] < MS-> so it's really just a convenience
[18:13] < Davbo> Yeah
[18:13] < MS-> But I can see how you might say it's a cheat
[18:13] < MS-> It *does* mean you can have a P2P swarming system written from scratch in a evening though ;-)
[18:13] < Davbo> I only meant it in the same way in which writing ASM is cheating from Machine Code ;)
[18:13] < MS-> true
[18:14] *** MS- gets dinner
[18:14] < MS-> cya later
[18:14] < Davbo> cya
[18:14] *** MS- is now known as MS-afk
[18:21] *** sadrul has joined #kamaelia
[18:22] *** Lawouach has joined #kamaelia
[18:23] < Lawouach> hello
[18:29] < Davbo> Hi Lawouach
[18:31] < Lawouach> hi Davbo
[19:43] < vmlemon_> Hrm, would Kamaelia be suitable for writing a script intended for parsing files (mostly binary with chunks of text) created by mobile phones (amongst other devices)?
[19:43] < vmlemon_> Or would it be overkill?
[19:43] *** MS-afk is now known as MS-
[19:44] < MS-> vmlemon_: yes, you can do that - I've done that
[19:44] < vmlemon_> Although it has to support a variety of file formats (and variations)
[19:44] < MS-> I was parsing ~400,000 text messages
[19:45] < barrycarlyon> Hey all, I'm trundling through the miniaxon tutorial, and the first part says "into this put any initialisation you might need", I don't know what this means could someone suggest? I know know what I need to init yet? or could this be down after this part?
[19:45] *** barrycarlyon is trying not to look at the answers yet....
[19:45] < barrycarlyon> so Im not sure what commands I need to put in the __init__ method....
[19:46] < barrycarlyon> if any at this point?
[19:46] < MS-> It means "if you use anything in a later method - ie an instance attribute (eg self.foo) - initialise it there"
[19:46] < MS-> eg if you expect to use a list, dict, etc
[19:46] < barrycarlyon> so define and lists or global varibles here?
[19:46] < Davbo> instance variables
[19:46] < barrycarlyon> s/and/any
[19:47] < barrycarlyon> makes sense :-)
[19:47] < vmlemon_> Documentation for the file format I'm working on supporting is non-existant/proprietary, so I have more work to do trying to figure it out
[19:47] < Davbo> What is it vmlemon_ ?
[19:48] < vmlemon_> :(
[19:48] < Davbo> what file format?
[19:49] *** barrycarlyon reads the next page of his book, and has a realisation...
[19:50] < vmlemon_> Of course, I can find out the message content, sender number/name and SMS Service Centre number, but the idiot who thought of the file format decided not to store the destination
[19:50] < vmlemon_> A Symbian/Nokia Series 60 raw SMS saved to a memory card
[19:50] < MS-> Ahhhhh
[19:51] < Davbo> "< MS-> I was parsing ~400,000 text messages" You were getting them from the same file?
[19:51] < MS-> Yep
[19:51] < Davbo> Heh
[19:51] < MS-> They were in an excel spreadsheet with 5 sheets
[19:51] < vmlemon_> The Symbian site has all the utility of a chocolate fireguard
[19:51] < MS-> (1 sheet for one week)
[19:51] < Davbo> Not only can it be done with Kamaelia it's already done :)
[19:52] < MS-> Not the raw format of course
[19:52] < Davbo> Ahh
[19:52] < MS-> But not much difference
[19:52] < MS-> :)
[19:52] *** vmlemon_ doesn't have that luxury
[19:53] < barrycarlyon> Once you have done the first exercise and you run it should it output anything, i was expecting it to output the 'yeild'ed 1....
[19:54] < vmlemon_> Seems stupid to store everything *but* the destination, in my view, unless they didn't plan for people to be shuttling raw files around and running hex editors on them
[19:55] < MS-> barrycarlyon: Assuming you're referring to "standing"...
[19:55] < Davbo> yield doesn't print anything barrycarlyon, it makes the function into a generator which is a kind of iterator from what i gather
[19:56] < MS-> Then the class you've created "microprocess"
[19:56] < barrycarlyon> i am referring to standing
[19:56] < MS-> should behaviour exactly as you see in Discussion
[19:56] < MS-> A generator is a thing that can be run and return a value
[19:56] *** barrycarlyon hadnt clicked answer till just now....
[19:56] < vmlemon_> Still kudos to them for using vanilla ASCII for the readable strings, and not some other encoding
[19:56] < MS-> vmlemon_: indeed
[19:56] < MS-> barrycarlyon: the canonoical example is the fibonacci example:
[19:57] < MS-> >>> def fib():
[19:57] < MS-> ... a,b = 1,1
[19:57] < MS-> ... while 1:
[19:57] < MS-> ... print a
[19:57] < MS-> ... a,b = b, a+b
[19:57] < MS-> >>> fib()
[19:57] < MS-> 1
[19:57] < MS-> 1
[19:57] < MS-> 2
[19:57] < MS-> 3
[19:57] < MS-> 5
[19:57] < MS-> 8
[19:57] < MS-> 13
[19:57] < MS-> 21
[19:57] < MS-> 34
[19:57] < MS-> 55
[19:57] < MS-> 89
[19:58] < MS-> Then as a generator:
[19:58] < MS-> >>> def fib():
[19:58] < MS-> ... a,b = 1,1
[19:58] < MS-> ... while 1:
[19:58] < MS-> ... yield a
[19:58] < MS-> ... a,b = b, a+b
[19:58] < MS-> >>> g = fib()
[19:58] < MS-> >>> g
[19:58] < MS-> < generator object at 0xb7cb9a6c>
[19:58] < MS-> >>> g.next()
[19:58] < MS-> 1
[19:58] < MS-> >>> g.next()
[19:58] < MS-> 1
[19:58] < MS-> >>> g.next()
[19:58] < MS-> 2
[19:58] < MS-> >>> g.next()
[19:58] < MS-> 3
[19:58] < MS-> >>> g.next()
[19:58] < MS-> 5
[19:58] < MS-> >>> g.next()
[19:58] < MS-> 8
[19:59] < barrycarlyon> what do the ... mean at the start of your lines?
[19:59] < MS-> Those are from the python interactive console
[19:59] < MS-> I'm just copying and pasting what I've typed
[19:59] < MS-> Doing a second run:
[19:59] < Davbo> just type "python" into shell and it'll start a console for you, it's awesome.
[19:59] < MS-> >>> h = fib()
[19:59] < MS-> >>> h.next()
[19:59] < MS-> 1
[19:59] < MS-> >>> h.next()
[19:59] < MS-> 1
[19:59] < MS-> >>> h.next()
[19:59] < MS-> 2
[19:59] < barrycarlyon> o, i was writing the code in a text editor, should i do it on the python command line?
[19:59] < MS-> >>> h.next()
[19:59] < MS-> 3
[20:00] < MS-> Mini axon is best in an editor, but the command line is useful
[20:00] < MS-> I'm just using the commandline to show how generators act
[20:00] < MS-> Both retain their intenal state
[20:00] < MS-> so I can do this:
[20:00] < MS-> >>> g.next() , h.next()
[20:00] < MS-> (13, 5)
[20:00] < MS-> >>> g.next() , h.next()
[20:00] < MS-> (21, 8)
[20:00] < MS-> >>> g.next() , h.next()
[20:00] < MS-> (34, 13)
[20:00] < MS-> >>> g.next() , h.next()
[20:00] < MS-> (55, 21)
[20:00] < MS-> or even:
[20:01] < barrycarlyon> so if done in a editor, do python >>> import miniaxon >>>a = microprocess()
[20:01] < Davbo> You can do very similar things with Iterators in Java if you know Java at all
[20:01] < MS-> >>> H = [fib() for x in xrange(5) ]
[20:01] < vmlemon_> Back in a sec
[20:01] < barrycarlyon> i dont know java
[20:01] < MS-> >>> H
[20:01] < MS-> [< generator object at 0xb7cb9fcc>, < generator object at 0xb7cb9dac>, < generator object at 0xb7cb9fec>, < generator object at 0xb7cbc02c>, < generator object at 0xb7cbc04c>]
[20:01] < Davbo> hmm, sorry :(
[20:02] < MS-> barrycarlyon: That's a good thing ;-)
[20:02] < Davbo> lol, zing.
[20:02] < vmlemon_> That coffee? ;)
[20:02] < MS-> anyhow it's that aspect of generators being restartable (essentially)
[20:02] < MS-> that allows this:
[20:02] < MS-> >>> [x.next() for x in H]
[20:02] < MS-> [1, 1, 1, 1, 1]
[20:02] < MS-> >>> [x.next() for x in H]
[20:02] < MS-> [1, 1, 1, 1, 1]
[20:02] < MS-> >>> [x.next() for x in H]
[20:02] < MS-> [2, 2, 2, 2, 2]
[20:02] < MS-> >>> [x.next() for x in H]
[20:02] < MS-> [3, 3, 3, 3, 3]
[20:02] < MS-> >>> [x.next() for x in H]
[20:02] < MS-> [5, 5, 5, 5, 5]
[20:02] < MS-> >>> [x.next() for x in H]
[20:02] < MS-> [8, 8, 8, 8, 8]
[20:02] < MS-> Which is 5 generators "running" in parallel
[20:02] < Davbo> If it weren't for Java vmlemon_ wouldn't be able to talk to us from his phone, so shh! :P
[20:03] < vmlemon_> Hah
[20:03] < MS-> Davbo: Java was invented for other people to write Java applications for vmlemon_ to speak to us from his phone. That's its one good use
[20:03] < MS-> ;-)
[20:03] < MS-> :-)
[20:04] < Davbo> well as far as compiled languages go, it does have some good features imo.
[20:04] < Davbo> for the average programmer though, awful.
[20:04] < vmlemon_> I did think of making a Java knock-off ages ago (Chamomile) ;)
[20:05] < Davbo> I shall brb, I'm gonna go cry for a bit ;-) (need to restart)
[20:05] < MS-> language advocacy arguments are silly at the best of times :)
[20:07] *** vmlemon_ has joined #kamaelia
[20:07] < barrycarlyon> If I have written it in an editor, the import command dosent appear to load the file....it says microprocess is undefined, ive missed something obvious havnt i?
[20:08] *** Davbo has joined #kamaelia
[20:08] < MS-> barrycarlyon: sounds like it
[20:08] < Davbo> Yay, Windows.
[20:08] < Davbo> Now I really am going to go and cry. :P
[20:08] < MS-> A simple hello barry:
[20:08] < MS-> ~> echo "print 'hello barry'" > barry.py
[20:08] < MS-> ~> python
[20:08] < MS-> Python 2.5.1 (r251:54863, Jan 10 2008, 18:01:57)
[20:08] < MS-> [GCC 4.2.1 (SUSE Linux)] on linux2
[20:08] < MS-> Type "help", "copyright", "credits" or "license" for more information.
[20:08] < MS-> >>> import barry
[20:08] < MS-> hello barry
[20:08] < MS-> >>>
[20:08] < MS-> :)
[20:09] < vmlemon_> Hi again
[20:09] < Davbo> Hello!
[20:12] < vmlemon_> If it doesn't make someone want to gouge their eyes out with a stick, I've uploaded a raw dump to http://house404.co.uk/fileparser/00101ed2
[20:12] *** barrycarlyon figured it out then solved a syntax error :-)
[20:13] < barrycarlyon> and crashed :-(
[20:13] < MS-> :)
[20:13] < MS-> Well one step forward at a time
[20:13] < MS-> vmlemon_: That's a "fun" looking file
[20:14] *** vmlemon__ has joined #kamaelia
[20:15] *** vmlemon__ is now known as vmlemon_
[20:16] < barrycarlyon> I used microprocess.__init__(self) as suggested by the book, but it threw a recursion error, and I dont know why?
[20:16] < vmlemon_> Meh, the cat just knocked the USB cable out and killed off my PPP session
[20:16] < vmlemon_> great stuff...
[20:16] < MS-> hah
[20:17] < MS-> ah, sounds like a bad or old book
[20:17] < MS-> not bad for getting there though
[20:17] < MS-> It should be
[20:18] < MS-> class microprocess(object):
[20:18] < MS-> def microprocess(self):
[20:18] < MS-> super(microprocess, self).__init__()
[20:18] < MS-> ... then the rest
[20:18] < barrycarlyon> learning python, 2nd edition covers python 2.3, (hmm not 2.5)
[20:18] < barrycarlyon> using the answer it works :-)
[20:18] < MS-> that book should know better
[20:18] < barrycarlyon> since i import i have to put miniaxon. before microprocess() (miniaxon is the filename of my externally edited)
[20:19] < barrycarlyon> silly leeds library....
[20:19] < MS-> from miniaxon import microprocess
[20:19] < vmlemon_> Bad Book! Now sit in the cupboard under the stairs ;)
[20:19] < MS-> (ie that's valid code - just realised it may sound like english)
[20:20] < MS-> Oh, it's learning python - I have an earlier version of that book
[20:20] < barrycarlyon> ah yes from, i hant considered doing that
[20:20] < MS-> It put me off python for about 4 years
[20:20] < barrycarlyon> i got 2nd edition out from the library....
[20:20] < barrycarlyon> all we have
[20:21] < barrycarlyon> theres an online version, of one of the python books i forget which....
[20:21] < MS-> http://www.greenteapress.com/thinkpython/
[20:21] < MS-> Much better book IMO
[20:21] < MS-> You can skip all the explanations of CS stuff you know
[20:21] < MS-> and get straight to the stuff in context
[20:21] < barrycarlyon> CS stuff?
[20:21] < vmlemon_> Anyone recommend/have anything against Dive Into Python?
[20:22] < barrycarlyon> o computer scientist...
[20:23] < barrycarlyon> when it does a generator object at is that sorta like a resource id when you do a mysql query in php?
[20:24] < MS-> vmlemon_: some people really like it. I didn't particularly like it
[20:24] < MS-> but that's more a matter of taste I think
[20:24] < MS-> I don't do PHP - nasty language
[20:24] *** barrycarlyon is good at php :-(
[20:24] < MS-> had to work with a few PHP systems, but not really enjoyed it
[20:25] < MS-> np
[20:25] < MS-> People should use languages they like
[20:25] < barrycarlyon> agreed
[20:25] < MS-> They should use them *well* and *cleanly* but nonetheless I see little reason to use a language people don't like these days
[20:25] < barrycarlyon> but i like learning new ones :0)
[20:25] < MS-> indeed - people should learn new languages
[20:34] < vmlemon_> Hmm, is it a Bad Idea to use linebreaks in variables?
[20:34] < vmlemon_> NoServiceCentreNumber = "Unable to extract the Service Centre Number from this message\n";
[20:34] < vmlemon_> is one line I have here
[20:34] < MS-> I would generally view the \n as a bad idea
[20:34] < MS-> personally
[20:34] < vmlemon_> Aah
[20:35] < vmlemon_> I can see it breaking something later, for some reason
[20:36] < vmlemon_> Although the script has a ton of Perlisms in it at the moment
[20:36] < vmlemon_> (since it was pretty much a "retargeting")
[20:39] < barrycarlyon> when you do varible.next() does it put the result back it to varible? or should one do varible = varible.next() ??
[20:40] < vmlemon_> o.O "(Always remember to be reasonably polite when sending these emails [no threatening to use the Holy Hand Grenade] and make some effort to find the info on the website before emailing. It's just courteous and makes the whole process flow more smoothly.)"
[20:41] < MS-> barrycarlyon: It's probably quicker just to try things rather than ask that :-)
[20:41] < barrycarlyon> Holy Hand Grenade, I got a secondlife action that does the line....
[20:41] < barrycarlyon> ok :-) will try
[20:41] < MS-> If you consider fib() above...
[20:42] < MS-> >>> a.next() ; a
[20:42] < MS-> 1
[20:42] < MS-> < generator object at 0x8086b4c>
[20:42] < MS-> >>> a.next() ; a
[20:42] < MS-> 1
[20:42] < MS-> < generator object at 0x8086b4c>
[20:42] < MS-> >>> a.next() ; a
[20:42] < MS-> 2
[20:42] < MS-> < generator object at 0x8086b4c>
[20:42] < MS-> >>> a.next() ; a
[20:42] < MS-> 3
[20:42] < MS-> < generator object at 0x8086b4c>
[20:42] < MS-> >>> a.next() ; a
[20:42] < MS-> 5
[20:42] < MS-> < generator object at 0x8086b4c>
[20:42] < MS-> >>> a.next() ; a
[20:42] < MS-> 8
[20:42] < MS-> < generator object at 0x8086b4c>
[20:42] < MS-> a is an instance of the generator defined by
[20:42] < MS-> >>> def fib():
[20:42] < MS-> ... a,b = 1,1
[20:42] < MS-> ... while 1:
[20:42] < MS-> ... yield a
[20:42] < MS-> ... a,b = b, a+b
[20:43] < MS-> and each time you call "next" it runs the generator until the next "yield" and returns the value
[20:44] < barrycarlyon> thats what I thought :-)
[21:06] < MS-> I could give you more detail if you want, but I think that's silly myself :)
[21:15] < barrycarlyon> Its ok :-)
[21:16] < MS-> :)
[22:13] *** MS- has parted #kamaelia
[22:20] *** vmlemon__ has joined #kamaelia
[22:22] *** vmlemon__ is now known as vmlemon_
[22:28] *** vmlemon_ has joined #kamaelia
[22:57] < barrycarlyon> had a break coz i ran in to a glitch fixed it now, and checked my walking code its not that different from the answer, tho using the commands from the discussion i dont get nay output...
[23:07] < barrycarlyon> nm
[23:07] < barrycarlyon> never mind :-)
[23:07] < barrycarlyon> got my code to do the same as the answer, id let a line of code out that caused an infinity loop