| [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 |