[08:47] < MS-> aa_: Yes |
[08:48] < MS-> "(21:57:35) aa_: are inbox and outbox the "standard" mesages? |
[08:48] < MS-> (21:57:56) aa_: um, not messages I mean um..well places to get and give messages |
[08:48] < MS-> (21:58:00) aa_: boxes?" |
[08:48] < MS-> .. yes,, they are :) |
[08:48] < MS-> standard inboxes: inbox/control |
[08:48] < MS-> standard outboxes: outbox/signal |
[08:48] < MS-> consider: |
[08:49] < MS-> standard means into a unix process: stdin & kill messages (intended to *control* the unix process |
[08:49] < MS-> standard means of data out from a unix process: stdout, stderr |
[08:49] < MS-> so inbox "inbox" ~~ stdin |
[08:49] < MS-> outbox "outbox" ~~ stdout |
[08:50] < MS-> outbox "signal" ~~ stderr AND like sending kill signals to the next process |
[08:50] < MS-> inbox "control" ~~ place to get the equivalent of kill signals |
[08:50] < aa_> MS-: I see |
[08:51] < aa_> MS-: because I had an instance last night to close a UnixProcess' stdin. Just to tell it that input was complete. |
[08:52] *** vmlemon_ has joined #kamaelia |
[08:52] < aa_> hmm, or maybe not... |
[08:53] < vmlemon_> Hi |
[08:54] < aa_> hi vmlemon_ |
[08:54] < MS-> aa_: Hm, the docs for UnixProcess need a bit of a clean up |
[08:55] < MS-> It's a but cryptic, but the point it tries to convey is "send me a producerFinished and I'll shutdown" |
[08:55] < aa_> MS-: the case was using the shell command html2text for a simple text-only browser. Now I get the outbox of a SimplHTTPClient, and Pipeline it to the inbox of the UnixProcess. But I had no way to tell the UnixProcess that it had ended the input. |
[08:56] < aa_> MS-: ah.. |
[08:56] < aa_> "If a producerFinished message is received on the "control" inbox,.." |
[08:56] < MS-> yeah |
[08:57] < MS-> As I say, the docs suck there |
[08:57] < MS-> Inisde there it actually does this: |
[08:57] < MS-> if self.dataReady("control"): |
[08:57] < MS-> shutdownMessage = self.recv("control") |
[08:57] < MS-> self.send(removeWriter(self,(x.stdin)), "selector") |
[08:57] < MS-> yield 1 |
[08:57] < MS-> x.stdin.close() |
[08:57] < MS-> heh, it's amazing - when code *works* you never go back and look at it |
[08:57] < MS-> That code was written for a deadline, and we know works because we left it running for a year without memory leaks |
[08:58] < MS-> (literally - constant data rate of around 8Mbit/s through it) |
[08:58] < aa_> MS-: something I try to tell my junior developers is "please resist the temptation to fix code that isn't broken" |
[08:58] < MS-> Looking at the code I note all the debugging statements |
[08:58] < MS-> aa_: Indeed, it something you learn :) |
[08:58] < MS-> I appear to have learnt the lesson too well :-) |
[08:59] < MS-> #print self.name,"Mighty Jibble", len(self.inboxes["inbox"]), len(writeBuffer) |
[08:59] < aa_> hmm, ok, so control inbox |
[08:59] < aa_> ahah |
[08:59] < MS-> #print self.name,"Mighty FooBar", len(self.inboxes["inbox"]), len(writeBuffer) |
[08:59] < MS-> I can see what I was doing there :) |
[08:59] < MS-> #print self.name,"Mighty Foo", stdin_ready, stdout_ready, stderr_ready, len(self.inboxes["inbox"]), len(writeBuffer) |
[08:59] < MS-> Mighty Floogly |
[08:59] < MS-> hehehe |
[08:59] < aa_> yeah, but Jibble is a new one on me ;) |
[09:00] < aa_> My series is Banana, Manana, Fanana, then Foo, Bar, Baz, Blah |
[09:00] < MS-> Oh, I've got a whole other sequence for when the foo bar, etc gets run out |
[09:00] < MS-> jibble jabble bibble babble .. |
[09:00] < aa_> hahah |
[09:00] < aa_> what a great interview question... |
[09:01] < aa_> ok brb to try this out |
[09:01] < MS-> actually that would be wouldn't it |
[09:01] < MS-> k |
[09:01] *** vmlemon_ has joined #kamaelia |
[09:02] *** vmlemon__ has joined #kamaelia |
[09:04] *** vmlemon__ is now known as vmlemon_ |
[10:42] *** Davbo has joined #kamaelia |
[11:12] < MS-> 77 downloads of the new release so far, which is pretty nice :) |
[15:19] *** Uraeus has joined #kamaelia |
[16:17] *** vmlemon_ has joined #kamaelia |
[17:29] *** Uraeus has joined #kamaelia |
[17:29] < vmlemon_> Hi |
[17:44] < vmlemon_> kamlogbot: dance |
[17:44] Reply: does the macarena |
[17:52] < MS-> uploaded 0.6.0 rpms to kamaelia website |
[17:53] *** vmlemon_ downloads the freshly baked goodness |
[18:09] < vmlemon_> Can I just install it on top of the Kamaelia I have> |
[18:09] < vmlemon_> ? |
[18:09] < vmlemon_> Or should I rm -rf the old Axon and Kamaelia stuff first? |
[18:19] < vmlemon_> Now to tinker with the examples |
[18:20] < vmlemon_> Meh, |
[18:20] < vmlemon_> [tyson@DoCoMoDake BouncingCatGame]$ ./Simplegame.py |
[18:20] < vmlemon_> Traceback (most recent call last): |
[18:20] < vmlemon_> File "./Simplegame.py", line 61, in < module> |
[18:20] < vmlemon_> cat_pop_wav = pygame.mixer.Sound(cat_pop_wav_file) |
[18:20] < vmlemon_> pygame.error: mixer system not initialized |
[18:27] < MS-> odd |
[18:28] *** vmlemon_ is betting on PyGame not being compiled with support for/configured to use OSS |
[18:28] < MS-> Ah, I see |
[18:29] < vmlemon_> Not sure if that is the issue though |
[18:29] < vmlemon_> Although stranger things have happened |
[18:30] < vmlemon_> (Getting phony errors about missing black ink cartridges and not being able to print earlier until I replaced the power brick for my printer being one of them) |
[18:30] < MS-> ./Simplegame.py works here - so it's probably borked pygame at your end |
[18:31] *** vmlemon_ goes to compile a copy of PyGame |
[18:32] < vmlemon_> Even though it'll end up trampling the Fedora versions |
[18:35] < vmlemon_> Tried it with 1.8.1? |
[19:00] < MS-> I use suse :) |
[19:00] < MS-> Haven't tried a redhat or redhat derived distro in a long while |
[19:01] < MS-> Oooh, that's nice - they've updated this page: http://www.linux-magazin.de/online_artikel/das_python_framework_kamaelia_in_version_0_6 |
[20:23] < vmlemon_> Same error |
[20:23] < vmlemon_> Might be SDL related :( |
[20:23] *** vmlemon_ wonders if there's a wrapper script/a way of abusing libsalsa |
[20:27] < vmlemon_> Cool |
[20:28] < vmlemon_> Shame it's in German though |
[20:28] *** vmlemon_ puts it through Google LangMang/"Translate" |
[20:35] *** Uraeus has joined #kamaelia |
[20:53] < MS-> It's great putting things back and forth both ways |
[20:53] < MS-> you can end up with all sorts of things |
[20:54] *** vmlemon_ remembers a bot in another channel that had a mangle command that passed text between several languages |
[20:55] < vmlemon_> I was rather amused when it managed to derive "Buy this product and praise." from "Thank you for not purchasing this product." somehow |
[20:56] < vmlemon_> Had a special-purpose Dutch mangling feature too, if I remember correctly |
[20:57] *** vmlemon_ wonders how much of the 1GB quota he's used, but has no way of finding out :( |
[20:57] < vmlemon_> Probably not much though |
[21:07] *** vmlemon_ has joined #kamaelia |
[22:06] *** vmlemon_ has joined #kamaelia |
[22:39] *** Ngmgm has joined #kamaelia |
[22:40] *** Jwjgtjg has joined #kamaelia |
[22:48] *** Agqn has joined #kamaelia |
[22:50] *** Mgmgm has joined #kamaelia |
[23:06] *** vmlemon_ has joined #kamaelia |