[06:26] *** salmon_ has joined #kamaelia |
[07:52] *** vmlemon_ has joined #kamaelia |
[08:23] *** Uraeus has joined #kamaelia |
[08:29] *** salmon_ has joined #kamaelia |
[09:33] *** Lawouach has joined #kamaelia |
[10:53] *** Uraeus has joined #kamaelia |
[11:42] *** Uraeus has joined #kamaelia |
[12:54] *** vmlemon_ has joined #kamaelia |
[13:42] *** Uraeus has joined #kamaelia |
[14:05] *** vmlemon__ has joined #kamaelia |
[14:28] *** vmlemon__ is now known as vmlemon_ |
[15:02] < MS-> Ha! Getting to closer to getting this bugger working. It's trying to send messages from the wrong user. |
[15:02] < MS-> Now I just need to figure out *why* that's the case :-/ |
[15:04] < MS-> Oh my. It's *massively* hardcoded it seems. That's why. |
[15:06] < MS-> OK, message still not getting anywhere, but at least identified how to test it better... |
[16:06] < Lawouach> hmm |
[16:06] < Lawouach> I feel you're talking about xmpp :) |
[16:09] *** vmlemon__ has joined #kamaelia |
[16:14] *** vmlemon__ is now known as vmlemon_ |
[17:39] *** vmlemon__ has joined #kamaelia |
[17:45] *** vmlemon__ is now known as vmlemon_ |
[18:46] *** MS- has joined #kamaelia |
[18:51] *** vmlemon__ has joined #kamaelia |
[18:51] < MS-> I've decided to give up on Jason's XMPP code |
[18:51] *** vmlemon__ is now known as vmlemon_ |
[18:53] < MS-> It's all just too painfully tied up. |
[19:00] < MS-> Oh, I think I *may* understand what's going wrong. |
[19:01] < MS-> maybe |
[19:02] < MS-> I think my problem really here with jason's code is the lack of encapsulation |
[19:02] < MS-> Means that things don't hang together cleanly |
[19:04] < MS-> I don't also see how Jason's code could ever have actually worked |
[19:04] < MS-> Unless he was breaking it near the end of GSOC |
[19:04] < MS-> Since the XMPP messages aren't being sent from the "right" user |
[19:05] < MS-> and going astray, I think, as a result |
[19:07] < MS-> If I understand this correctly, it looks like you login to a server. |
[19:07] < MS-> The server then allocates you a jid |
[19:07] < MS-> your messages then have to come *from* that jid in order for things to work |
[19:07] < MS-> Jason's "Interface" component skips that step |
[19:15] < MS-> OK, now found *where* this thing is, in theory, defined. |
[19:15] < MS-> in theory |
[19:39] < MS-> **** And the crowd goes wild **** |
[19:39] < MS-> I *knew* the CAT would be useful, one day |
[19:42] < MS-> OK, whilst slightly annoying I understand the logic of why that happens, and get it working the way it's supposed to. |
[19:45] < MS-> In case anyone's reading this and going "WTF"? The thing that's working here is that I'm completely sidestepping the way headstock is supposed to be used |
[19:45] < MS-> And sidestepping how Jason's code from last year doesn't quite understand headstock |
[19:45] < MS-> By deliberately choosing to create a system global value |
[19:45] < MS-> using the cat |
[19:45] < MS-> ie using this : |
[19:46] < MS-> import Axon |
[19:46] < MS-> from Axon.CoordinatingAssistantTracker import coordinatingassistanttracker as cat |
[19:46] < MS-> if self.dataReady("jid"): |
[19:46] < MS-> self.from_jid = self.recv('jid') |
[19:46] < MS-> print "NEW MYJID", self.from_jid |
[19:46] < MS-> try: |
[19:46] < MS-> cat.getcat().trackValue("MYJID", self.from_jid) |
[19:46] < MS-> except Axon.AxonExceptions.NamespaceClash: |
[19:46] < MS-> cat.getcat().updateValue("MYJID", self.from_jid) |
[19:46] < MS-> print "MYJID", cat.getcat().retrieveValue("MYJID") |
[19:46] < MS-> In order to set the global sender id - since I can guarantee only one sender |
[19:47] < MS-> And inside the sender component, which is guaranteed to be started later |
[19:47] < MS-> I can grab this global value thus: |
[19:47] < MS-> myjid = cat.getcat().retrieveValue("MYJID") |
[19:47] < MS-> self.ThisJID = myjid |
[19:47] < MS-> And thus the system hangs together. |
[19:48] < MS-> At least one way :-) |
[19:50] < MS-> Key thing from my perspective here isn't whether it's clean - it's the fact it IS working, which means it can be made to work, and then cleaner :-) |
[19:52] < MS-> OK, not going to give up now, but I will call that success for tonight :-) |
[19:53] < MS-> tis a remarkably sweet thing to see one of jason's "crosstalk" messages arrive on the other end of the XMPP connection :-) |
[19:53] < vmlemon_> Trying to untangle spaghetti? |
[19:56] < MS-> Yes. |
[19:56] < MS-> And actually getting somewhere too. |
[19:56] < MS-> To be fair also, the vast majority of Jason's code *does* hang together |
[19:56] < MS-> with an internal logic. |
[19:57] < MS-> It's not a logic I would've used, but it is relatively self consistent |
[19:58] < MS-> In case it seems wierd to be trying to figure out this stuff. |
[19:59] < MS-> The nice thing about doing this is that it'd be a potential route for someone to be able to |
[19:59] < MS-> run a google app-engine application locally |
[19:59] < MS-> rather than "in the cloud" |
[19:59] < MS-> but still have it accessible by the rest of the world |
[19:59] < MS-> At least that's one possible direction to extend it to |
[20:00] < MS-> Since it acts as a wsgi host, in the same sort of way app-engine does |
[20:00] < vmlemon_> Aah, cool |
[20:02] < MS-> I think there'd be a need for a lot of simplification in the code/etc based on what I've read etc |
[20:02] < MS-> But it's definitely a good starting point, primarily because I can see it will work :) |