User:Which Linden/Office Hours/2008 May 15

From Second Life Wiki
< User:Which Linden/Office Hours
Revision as of 14:16, 3 July 2008 by Which Linden (talk | contribs) (New page: * [11:04] Saijanai Kuhn: he's a network communcations specialist * [11:04] Saijanai Kuhn: Hey which * [11:04] [[User:joao Mastroianni|joao M...)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search
  • [11:04] Saijanai Kuhn: he's a network communcations specialist
  • [11:04] Saijanai Kuhn: Hey which
  • [11:04] joao Mastroianni: ahhh
  • [11:05] joao Mastroianni: good
  • [11:05] Which Linden: Hey sai
  • [11:05] Which Linden: Hello all
  • [11:05] joao Mastroianni: hello^^
  • [11:05] Suri Iuga: Hi Which
  • [11:05] joao Mastroianni: hi wich,hi squirrel
  • [11:05] joao Mastroianni: ^^
  • [11:05] Squirrel Wood: Yellow!
  • [11:05] Suri Iuga: Hey Squirrel
  • [11:06] joao Mastroianni: ahhh
  • [11:06] joao Mastroianni: eejejheheh
  • [11:06] Which Linden: How's everybody today?
  • [11:06] joao Mastroianni: u are a vase
  • [11:06] joao Mastroianni: camouflage
  • [11:06] joao Mastroianni: ehehehe
  • [11:06] joao Mastroianni: smart move
  • [11:06] joao Mastroianni: ^^
  • [11:06] Suri Iuga: Great, thank you
  • [11:06] joao Mastroianni: im afarmer duck
  • [11:06] Which Linden: I find this helpful when I am gridmonkey
  • [11:07] joao Mastroianni: eheeheheh
  • [11:07] Squirrel Wood: Integrate yourself within Second Life! Be a vase. Be a chair. Be a microwave. Be a plywood box prim!
  • [11:07] joao Mastroianni: how would we call camouflage
  • [11:07] Saijanai Kuhn: I've been a box
  • [11:07] Which Linden: Cube Linden waas just that
  • [11:07] joao Mastroianni: in networking language?
  • [11:10] Which Linden: Quiet today
  • [11:10] joao Mastroianni: ehehehe
  • [11:10] joao Mastroianni: my first time
  • [11:10] Saijanai Kuhn: still trying to grok how to use rhttp
  • [11:10] Squirrel Wood: All I have to say is that I am close to releasing my terraformer :p
  • [11:10] Which Linden: Oh yah, that is an interesting protocol
  • [11:10] Which Linden: What's your terraformer do?
  • [11:10] Squirrel Wood: terraform sims ^^
  • [11:11] Squirrel Wood: generate fractal terrain on the fly
  • [11:11] Saijanai Kuhn: I had this great idea I could POST to my PC over the internet and establish a connection through the firewall. Then I realized, I still don't know how to establish the connection in the first place, so it doens't really give me anything
  • [11:11] Which Linden: Well, your PC has to start the session with the remote host
  • [11:11] Saijanai Kuhn: right, was gong to use the PC as both ends, which is the problem anyway
  • [11:11] Which Linden: It's a long poll protocol just like the others
  • [11:12] Saijanai Kuhn: I wanted to test my remote command processor using the internet instead of local host
  • [11:12] Which Linden: Squirrel: sounds awesome. I bet Philip would approve (one of the few pieces of code he wrote had to do with Perlin noise terrain generation, IIRC)
  • [11:12] Squirrel Wood: ^^
  • [11:12] Squirrel Wood: It is actual perlin noise
  • [11:12] Squirrel Wood: though I had to simplify the prng
  • [11:12] Tao Takashi: is back
  • [11:13] Tao Takashi: Hi Which, Squirrel
  • [11:13] Which Linden: Yo
  • [11:13] Squirrel Wood: Yellow
  • [11:13] Squirrel Wood: and it rocks on Mono ^^
  • [11:14] Which Linden: I expect that we'll see some example code for reverse http sometime
  • [11:14] Saijanai Kuhn: thats right, they fixed the listening issue, right?
  • [11:14] Saijanai Kuhn: Donovant posted some code using eventlet
  • [11:14] Tao Takashi: I for now am happy to get that caps server to run :)
  • [11:14] Saijanai Kuhn: I'm tring to see how to use it for my baby test-harness for login
  • [11:14] Tao Takashi: just need to publish that buildout
  • [11:14] Saijanai Kuhn: Taok, kool
  • [11:14] Squirrel Wood: ptth://... ?
  • [11:15] Which Linden: Actually I would expect ptth to just use http as the protocol identifier
  • [11:15] Tao Takashi: and I wonder who can help me to debug my experimental login script for an agent domain ;_)
  • [11:15] Which Linden: Tao: isn't there, like, a group for that sort of thing? :-)
  • [11:16] Saijanai Kuhn: which, Donovan's sample code: [1]
  • [11:16] Tao Takashi: well, I am testing it against LL's agent domain and it fails
  • [11:16] Tao Takashi: all I get is 400 so there is not much I can do
  • [11:16] Saijanai Kuhn: Tao, I don't start work until after I get my Adobe CS3 upgrade on monday, so...
  • [11:17] joao Mastroianni: im sorry wich ive to leave u dont mind?
  • [11:18] Which Linden: OK, have a good one joaj
  • [11:18] joao Mastroianni: i need to attend something
  • [11:18] Which Linden: *joao
  • [11:18] joao Mastroianni: ty
  • [11:18] Saijanai Kuhn: take care Joao nice meeting you
  • [11:18] Which Linden: thanks for stopping by
  • [11:18] joao Mastroianni: ill com other times if u dont mind
  • [11:18] Which Linden: Sure, it's open to all
  • [11:18] joao Mastroianni: to talk more^^
  • [11:18] joao Mastroianni: ok
  • [11:18] joao Mastroianni: ty^^
  • [11:18] joao Mastroianni: have a good day
  • [11:18] Tao Takashi: cya joao!
  • [11:18] Which Linden: You too
  • [11:18] joao Mastroianni: u guys too
  • [11:18] joao Mastroianni: ^^
  • [11:18] joao Mastroianni: see ya
  • [11:19] Saijanai Kuhn: Groupies meets tuesday mornings Joao See you then
  • [11:19] Which Linden: Hmmm.... a 400 you say? Generally those happen cause you messed up the http request somehow
  • [11:19] Which Linden: I've often seen an ommitted content-length
  • [11:20] Saijanai Kuhn: its a really simple script he's using. I think there's some unpublished thing they're doing right now
  • [11:20] Tao Takashi: let me look if I find it again
  • [11:20] Tao Takashi: [2]
  • [11:21] Tao Takashi: well, I don't set the length
  • [11:21] Saijanai Kuhn: could it just be xml instad of llsd+xml?
  • [11:21] Which Linden: No, llsd+xml is right
  • [11:21] Tao Takashi: that's what the OGP said ;-)
  • [11:21] Which Linden: But why are you sending the body as formencoed?
  • [11:21] Which Linden: Since it's actually llsd
  • [11:21] Tao Takashi: Hm, that's a good question ;-)
  • [11:22] Tao Takashi: guess because I copied the script from somewhere
  • [11:22] Saijanai Kuhn: ah, probably uses the same as the regular login script would
  • [11:22] Tao Takashi: I will check later if that works.. wrong computer at the moment
  • [11:22] Tao Takashi: but thanks for the hint :)
  • [11:22] Which Linden: NP, it just jumped out at me
  • [11:23] Tao Takashi: btw, are there any plans to eggify the indra libs, esp. llsd?
  • [11:23] Which Linden: We try to respect content-types in our services, but sometimes others do not (ran into similar issues with our php libs the other day)
  • [11:23] Which Linden: Well, I think I made it clear on sldev that I don't want to do it as a bundle
  • [11:24] Tao Takashi: I might have missed that but I agree that the whole thing probably does not make sense
  • [11:24] Which Linden: And I'm pretty sure that the llsd will undergo some major api overhaul someday
  • [11:24] Which Linden: But eggifying llsd.py would make more sense
  • [11:24] Tao Takashi: for me it's just easier to depend on eggs than doing svn checkouts in buildouts
  • [11:25] Tao Takashi: well, from configuration it's the same but you never know what might have changed in SVN
  • [11:25] Which Linden: Yeah, convenience is an important factor
  • [11:25] Which Linden: IF I made an egg, I'd want to use that same egg internally
  • [11:25] Tao Takashi: and my buildout now does 3 things: get the indra svn checkout, download my patched version of mulib and install it and use the eventlet egg
  • [11:26] Which Linden: What patch do you make to mulib?
  • [11:26] Tao Takashi: at least I learned along the way how to do all that in a buildout :)
  • [11:26] Saijanai Kuhn: OK, your web login code was urlencoded so it makes sense to assume that this would be too, but I guess it isn't
  • [11:26] Tao Takashi: first I patch that while loop for getting the uuid (as mentioned in my mail)
  • [11:26] Saijanai Kuhn: tao
  • [11:26] Saijanai Kuhn: https://wiki.secondlife.com/wiki/Webpage_login_code_python
  • [11:26] Tao Takashi: and I import SysCallError or what it was called
  • [11:26] Which Linden: Oh yeah
  • [11:26] Tao Takashi: as it's missing somewhere as import
  • [11:26] Tao Takashi: from SSL
  • [11:26] Which Linden: Hm
  • [11:27] Which Linden: If you send me your patch I'll try and integrate it
  • [11:27] Tao Takashi: and I make lists which come out of a query string transport to be strings
  • [11:27] Which Linden: Or did you already
  • [11:27] Tao Takashi: I mentioned it but did not send a patch.
  • [11:27] Tao Takashi: I will do this tomorrow when I pack everything together
  • [11:27] Saijanai Kuhn: That code was wrokign when they used the webpage login. So either they changed it or something else is going on
  • [11:27] Tao Takashi: it would be cool if you then can make a release and tag it :)
  • [11:28] Which Linden: Another thing I noticed about the sample client -- it's hitting login.cgi, but I thought the agent domain was auth.cgi? I might be wrong on that.
  • [11:28] Tao Takashi: then I can make an egg out of it and upload it
  • [11:28] Tao Takashi: well, Enus told me that
  • [11:28] Tao Takashi: but I will keep that in mind
  • [11:28] Which Linden: Sai : well if you send a content-type of urlencoded but the actual encoding is llsd, the parser is gonna hork
  • [11:29] Saijanai Kuhn: sure. Just that Tao's code worked (I think) back when you guys tested teh login page
  • [11:29] Which Linden: Oh, hm
  • [11:29] Which Linden: Well, uh, "it shouldn't work" :-)
  • [11:29] Saijanai Kuhn: Didn't it work then, Tao?
  • [11:29] Saijanai Kuhn: https://wiki.secondlife.com/wiki/Webpage_login_code_python
  • [11:29] Tao Takashi: I think it did, I never produce non-working code
  • [11:29] Tao Takashi:  ;-)
  • [11:30] Tao Takashi: btw, I will want Lindens to come to EuroPython :)
  • [11:30] Saijanai Kuhn: I think we both tested it ithen. BUT, Donovan corrected some bugs in some of the ptyhon code at one point when he was debugging my regular login script, so maybe something changed
  • [11:31] Which Linden: Yeah, could be.
  • [11:32] Which Linden: Another option would be to try actually formencoding the body
  • [11:32] Which Linden: Just match content-type to serialization
  • [11:33] Which Linden: Did the sim die? I got a hicucp just now
  • [11:33] Tao Takashi: well, bad request for me now
  • [11:34] Saijanai Kuhn: was afk didn't sede it
  • [11:34] Saijanai Kuhn: see* it
  • [11:34] Which Linden: Seems to be ok now
  • [11:34] Tao Takashi: I set the content-type to llsd+xml
  • [11:34] Which Linden: application/llsd+xml I assume you mean
  • [11:34] Tao Takashi: yes
  • [11:34] Which Linden: (just to be precise)
  • [11:34] Which Linden: And it still doesn't work
  • [11:34] Tao Takashi: now putting this into a formencode would also mean you need some key, wouldn't it?
  • [11:35] Tao Takashi: and then the server still would not know what it is
  • [11:35] Tao Takashi: could be anything in that field
  • [11:35] Tao Takashi: so I will add content-length now should urllib not do it
  • [11:35] Tao Takashi: same
  • [11:35] Which Linden:  :-(
  • [11:36] Which Linden: Does the body of the response have any more details?
  • [11:36] Tao Takashi: never used that stuff so no idea how to get to the body in an exception
  • [11:36] Tao Takashi: but will find out :)
  • [11:37] Which Linden: Could sniff teh traffic
  • [11:37] Which Linden: I've done that more than I'd care to admit, just to see what's really going over the wire
  • [11:38] Tao Takashi: that's of course an option :)
  • [11:38] Which Linden: I guess the server is apache, so it'll be pretty verbose about that
  • [11:39] Tao Takashi: ok, got it. The exception is file-like
  • [11:39] Tao Takashi: so it says something that the XML-RPC request is invalid
  • [11:40] Saijanai Kuhn: The python module has some code for extracting that stuff if you need to
  • [11:40] Saijanai Kuhn: xml...rpc...
  • [11:40] Which Linden: Hm, that makes sense if login,cgi is still expecting xml-rpc
  • [11:40] Saijanai Kuhn: you must be talking to the wrong server
  • [11:40] Which Linden: Or try auth.cgi
  • [11:40] Tao Takashi: then it's 500 ;-)
  • [11:41] Which Linden: Hah that's how you know it's working
  • [11:41] Saijanai Kuhn: so it works now? Kool. Now to merge it with the presence code and we've got a new bit for the wiki
  • [11:41] Which Linden: No, I'm just kidding about it working
  • [11:42] Saijanai Kuhn: ah, /me is dense
  • [11:42] Which Linden: If it's a 500 though, that means you're hitting something and the server is just barfing
  • [11:42] Saijanai Kuhn: 200 = suces. NM
  • [11:42] Tao Takashi: the complete error at login.cgi is "unexpected error processing XML-RPC request."
  • [11:42] Saijanai Kuhn: cuccess*
  • [11:42] Tao Takashi: yes, it's not a 404 ;-)
  • [11:42] Saijanai Kuhn: sighs, stretches, types: 200 = success
  • [11:42] Tao Takashi: it's just something broken on LL's side ;-)
  • [11:42] Which Linden: Possibly
  • [11:42] Tao Takashi: so I file a bugreport? :)
  • [11:43] Which Linden: Heh, I'll see who's in charge of that bizness
  • [11:43] Tao Takashi: cool, thanks :)
  • [11:43] Tao Takashi: so this might be the first part of an libsl for python
  • [11:43] Squirrel Wood: BUG REPORT!
  • [11:43] Squirrel Wood: Tools > Bug Reporting..
  • [11:43] Squirrel Wood: [3]
  • [11:43] Tao Takashi: but of course it will be an libogp
  • [11:43] Tao Takashi: TMs, you know ;_)
  • [11:44] Tao Takashi: interestingly enough we are hitting the next TM issue with EuroPython and the new logo as we need to check with the PSF if it's ok
  • [11:45] Saijanai Kuhn: taok, the https://wiki.secondlife.com/wiki/Presence_Code_Python is the first part of libsl on python
  • [11:45] Which Linden: Awesome, I love the idea of a python libsl
  • [11:45] Saijanai Kuhn: though, I'd like to see how to use eventlet istead of just a loop
  • [11:46] Tao Takashi: well, that was something I was planning with the old protocol but gave up but when talking about test harness this in the end will also come down to something like that
  • [11:46] Saijanai Kuhn: could have rhttp command process, udp eventqueueget all on the same script
  • [11:47] Saijanai Kuhn: the presence code handles UDP ok as long as you don't need it to DO anything. I can throw EventQueueGet in there no problem, but have no idea how to handle most of the events
  • [11:47] Tao Takashi: and there is more docs now about eventlet, very good :)
  • [11:47] Which Linden: Yeah have you read teh big pdf?
  • [11:47] Tao Takashi: these should be put into the egg aswell
  • [11:47] Saijanai Kuhn: ... ? URL
  • [11:47] Saijanai Kuhn:  ?
  • [11:48] Tao Takashi: I don't see one
  • [11:48] Saijanai Kuhn: https://wiki.secondlife.com/wiki/Eventlet me neither
  • [11:48] Tao Takashi: is eventlet actually finished now? or who will be in charge of it?
  • [11:48] Tao Takashi: I guess nothing is ever finished anyway ;-)
  • [11:48] Which Linden: It's not finished
  • [11:49] Which Linden: We just did a major refactoring that hasn't made its way into trunk
  • [11:49] Tao Takashi: I guess that's what in the mercurial branch?
  • [11:49] Saijanai Kuhn: doyou have a url for the pdf documentation?
  • [11:49] Tao Takashi: repository I mean
  • [11:49] Which Linden: Yeah, holdong
  • [11:49] Which Linden: man I can't type today
  • [11:50] Which Linden: well lists.sl.com isn't responding atm, but this should be helpful: https://lists.secondlife.com/pipermail/eventletdev/2008-March/000057.html
  • [11:50] Saijanai Kuhn: when A web client goes out through port 80, does it keep a separate port on its side for handling responses?
  • [11:51] Tao Takashi: ah, I am not on that list ;_)
  • [11:51] Which Linden: Sai: yes
  • [11:51] Tao Takashi: [4]
  • [11:51] Which Linden: It just picks a random number from some range
  • [11:51] Which Linden: Nice, thanks tao
  • [11:51] Which Linden: [5]
  • [11:51] Which Linden: Take a look at that, it seems as though your credentials structure isn't quite the same as the ones there
  • [11:52] Saijanai Kuhn: so... If I sent a message to a website which would allow me to look back at the isp I'm using, I MIGHT be able to start sending stuff to myself
  • [11:53] Which Linden: Yep, that's the idea. You shouldn't have to worry about the ports though
  • [11:53] Which Linden: TCP works out those details and you just get a bidirectional socket
  • [11:53] Tao Takashi: I was looking at the SLGOGP draft but I will check this as well
  • [11:54] Saijanai Kuhn: I'd like to use my home comp for both ends of the test instead of local host. Just not sure how to get through the router firewall
  • [11:54] Saijanai Kuhn: If I could st up the server (eventually) client to listen tot he right port, I guess I could use another process to POST to that port via the isp instead of lcoalhost
  • [11:54] Which Linden: Shouldn't be an issue actually, since most tcp stacks know how to shortcircuit themselves
  • [11:55] Which Linden: Just use localhost in the url
  • [11:55] Saijanai Kuhn: Well, I know that works. Tested it for my command processor with 300 simultaneous scripts
  • [11:56] Which Linden: Tao: you could look at the way the client does it in this branch: [6]
  • [11:56] Saijanai Kuhn: froze my comp for a sec to start up 300 processes though
  • [11:56] Tao Takashi: so it would be nice to merge the existing eventlet README with the eventlet docs in ReST format and put this into the cheeseshop
  • [11:56] Which Linden: Apparently you do have to hit auth.cgi and not login.cgi
  • [11:56] Which Linden: Tao: agreed. Definitely not finished. :-)
  • [11:56] Tao Takashi: yeah, I like reading C++ ;-)
  • [11:57] Which Linden: Heh, just saying, it's a resource. :-)
  • [11:57] Tao Takashi: I guess I will check it out and use grep ;-)
  • [11:58] Tao Takashi: I used this ressource back then when I was trying to do the py libsl
  • [11:58] Tao Takashi: and I wonder who had the idea to put "ll" in front of everything ;-)
  • [11:59] Saijanai Kuhn: did you call it that, Tao? There's a pylibsl project in sourcefoge that was abandoned almost 6 months ago
  • [11:59] Which Linden: You know, that bothered me at first, apparently it's a C hacker thing to avoid namespace conflicts
  • [11:59] Tao Takashi: no, I uploaded my stuff to google code and it's called pysecondlife
  • [11:59] Tao Takashi: and now a mix of a lot of things ;_)
  • [12:00] Which Linden: But you know what, we don't prefix ll often enough -- one small set of build annoyances on the Mac is caused by the fact that we have a BOOL type of our own, which conflicts with Objective C's BOOL
  • [12:00] Saijanai Kuhn: ah, maybe its that'
  • [12:00] Tao Takashi: should something mature a bit it should probably be moved out to it's own project
  • [12:00] Tao Takashi: Well, I worked on my login and capsserver last time in December
  • [12:01] Tao Takashi: Which: C++.... ;-)
  • [12:01] Tao Takashi: this client should be python anyway ;-)
  • [12:01] Saijanai Kuhn: nopedifferent proect: [7]
  • [12:01] Which Linden: Yah. C++ didn't really exist in its present form when sl was written.
  • [12:02] Saijanai Kuhn:  ? really?
  • [12:02] Tao Takashi: ah, I remember there was some talk a long time ago about such a thing in the libsl chats
  • [12:02] Which Linden: No STL, for one
  • [12:02] Tao Takashi: I have no idea what changes in the C++ world ;-)
  • [12:02] Which Linden: Me neither, I just hear things
  • [12:02] Tao Takashi: I only know that I have a very old book about C++ ;-)
  • [12:03] Saijanai Kuhn: Used to have a port of at7t C++ on MPW for Macs
  • [12:03] Saijanai Kuhn: AT&T C++
  • [12:03] Tao Takashi: yeah, 93
  • [12:03] Saijanai Kuhn: was running an objC-like compiler on Macs in the late 80's called HyperC
  • [12:03] Which Linden: Heh, from what I hear it's a totally different language
  • [12:03] Tao Takashi: so Which, I hope to send you my diffs soon :)
  • [12:03] Which Linden: Cool, thanks tao
  • [12:04] Tao Takashi: and maybe update the readme in the eventlet egg
  • [12:04] Saijanai Kuhn: Tao, we should talk about getting this stuff on the wiki
  • [12:04] Tao Takashi: for eventlet and mulib some proper release soon would be great of course
  • [12:04] Tao Takashi: right now I uploaded svn snapshots to pypi
  • [12:04] Tao Takashi: which is probably not the best thing.. I will update eventlet to use the mercurial stuff though
  • [12:04] Tao Takashi: and include the docs
  • [12:05] Saijanai Kuhn: andIneed to see about how to use eventlet for the meged UDP/EventQueueGet/rhttp in the test harness
  • [12:05] Tao Takashi: I wonder what you want to test harness rhttp against right now ;_)
  • [12:05] Saijanai Kuhn: remote control script
  • [12:06] Which Linden: Once I get some more breathing room on my current project I will absolutely be working on more eventlet stuff
  • [12:06] Which Linden: rhttp? You mean ptth?
  • [12:06] Saijanai Kuhn: test harness posts to control script and reverses itself and becomes server that receives POST commands from control script
  • [12:06] Saijanai Kuhn: ptth yeah
  • [12:06] Tao Takashi: so sort of a dummy server?
  • [12:06] Saijanai Kuhn: right, didn't I show you my faux-POST server script?
  • [12:06] Tao Takashi: lets make rptth ;-)
  • [12:07] Which Linden: Isn't that waht donovan's pastebin was all about?
  • [12:07] Tao Takashi: probably but I was a bit too loaded as having time to look at it
  • [12:07] Saijanai Kuhn: just parses the POST from the control script as a command
  • [12:07] Saijanai Kuhn: ptth would let it work over the internet instead of just in a LAN or localhost
  • [12:07] Tao Takashi: I wanted to setup a sample environment for testing and libogp as a buildout
  • [12:07] Tao Takashi: maybe all the stuff can be integrated then
  • [12:08] Which Linden: Cool. Hey, all, I should probably go.
  • [12:08] Saijanai Kuhn: so your loginscript ha a micro-POST server to process commands from a remote control script
  • [12:08] Tao Takashi: will, tell Enus then
  • [12:08] Tao Takashi: thanks for hosting, Which! :)
  • [12:08] Saijanai Kuhn: so you can handle a jillion test harnesses
  • [12:08] Tao Takashi: and think about EuroPython, make a talk about eventlet and then sprint about OGP :)
  • [12:08] Saijanai Kuhn: take care Which
  • [12:09] Which Linden: Man, eventlet isn't ready for a talk, I learned that at pycon
  • [12:09] Which Linden: But it will be someday
  • [12:09] Tao Takashi: I will talk about OGP
  • [12:09] Which Linden: Anyhoo, take care
  • [12:09] Tao Takashi: do you think this is ready? ;-)
  • [12:09] Which Linden:  :-)