User:Enus Linden/Office Hours/2008 Aug 01
< User:Enus Linden/Office Hours
Jump to navigation
Jump to search
Revision as of 09:33, 1 August 2008 by Saijanai Kuhn (talk | contribs) (New page: * [9:37] Enus Linden: So, let's begin todays office hours with, surprise, talk about pyogp! * [9:37] Sea Urchin: beanbag: Going to next texture. ...)
- [9:37] Enus Linden: So, let's begin todays office hours with, surprise, talk about pyogp!
- [9:37] Sea Urchin: beanbag: Going to next texture.
- [9:37] Sea Urchin: beanbag: Going to next texture.
- [9:37] Sea Urchin: beanbag: Going to next texture.
- [9:37] Sea Urchin: beanbag: Going to next texture.
- [9:37] Sea Urchin: beanbag: Going to next texture.
- [9:37] Tao Takashi: is hungry ;-)
- [9:37] Sea Urchin: beanbag: Going to next texture.
- [9:37] Sea Urchin: beanbag: Going to next texture.
- [9:37] Enus Linden: I'd like to give an overall status of the effort, discuss pyogp and support for the OGP Beta, and what's next
- [9:37] Sea Urchin: beanbag: Going to next texture.
- [9:37] Enus Linden: So.....
- [9:38] Tomiko Magic: gives Tao a sandwich.
- [9:38] Enus Linden: so, pyogp is not moving away from the architectural choices we made early on
- [9:38] Enus Linden: zca and buildout will remain as part of the implementation
- [9:39] Enus Linden: because they are helpful, and because we have ironed out som of the challenges they were presenting us initially
- [9:39] Enus Linden: that said, i think future work like this should require a higher degree of initial planning
- [9:39] Enus Linden: and group investigation
- [9:40] Tomiko Magic: : )
- [9:40] Enus Linden: that there was turmoil made me sad :)
- [9:40] Sindy Tsure: (hiya squirrel!)
- [9:40] Squirrel Wood: Holla!
- [9:40] Enus Linden: so for status on the work, Tao is exploring the event queu, Locklainn UPD, and Enus test scripts
- [9:41] Enus Linden: Tao, what's up with the event queue?
- [9:41] Enus Linden: or Locklainn, what's up with UDP work?
- [9:41] Tao Takashi: basically it's working, I get a cap, post nothing to it and get nothing back after 20 secs, go back to 1)
- [9:41] Enus Linden: we can get back to Tao
- [9:41] Enus Linden: ooh sorry :P
- [9:41] Tomiko Magic: lol
- [9:41] Tao Takashi: tsts
- [9:42] Tao Takashi: I am also working on some docs
- [9:42] Tess Linden: hey, can I request a tutorial for newcomers?
- [9:42] Tomiko Magic: Nuuu
- [9:42] Tao Takashi: see [1]
- [9:42] Locklainn Linden: what sort of tutorial tess?
- [9:42] Tess Linden: is anyone here interested in a code walk through?
- [9:42] Bartholomew Kleiber: me
- [9:42] Enus Linden: I do think that wiki pointers, and more examples in the code base, would be useful. or, pointers to the doc tests
- [9:43] Tomiko Magic: Yuss actualy that would really help people like me, who don't understand this stuff : )
- [9:43] Saijanai Kuhn: me too
- [9:43] Tao Takashi: I hope to cover some of that in those docs
- [9:43] Tess Linden: but I'd like to ask a larger audience, because seems like most of us here have been in this office hours before
- [9:43] Tomiko Magic: Jira issue PYO-3 has some Docs that would help with that, when done. Stuff like requirments etc.
- [9:43] Saijanai Kuhn: I understand the parts, but the structure of the new system is vague to me
- [9:43] Enus Linden: Sai, I think you could start taking a look now if you like. things are 'settling down' :D
- [9:44] Bartholomew Kleiber: same here
- [9:44] Tess Linden: docs don't always replace hands on tutorials, sometimes it helps, *shrug*
- [9:44] Bartholomew Kleiber: with Tess
- [9:44] Tomiko Magic: Oh hands on!
- [9:44] Tomiko Magic: I didn't know that's what you meant, sorry lol
- [9:44] Tao Takashi: I am not saying that I am against a tutorial ;-)
- [9:44] Enus Linden: so I'll work on a newbie guide for the wiki
- [9:44] Tao Takashi: I am just wondering how we can manage to look at the same code at the same time
- [9:44] Saijanai Kuhn: If you need help, let me know, Enus
- [9:44] Tess Linden: screen?
- [9:45] Tomiko Magic: Tess
- [9:45] Saijanai Kuhn: rez an html-on-aprim
- [9:45] Tomiko Magic: There's a great er 'thing'
- [9:45] Tomiko Magic: Where you can share your screen with others, it's been a while since I used it
- [9:45] Estate Shepherd: netmeeting lol
- [9:45] Saijanai Kuhn: but in on an animated scultpy of jellow
- [9:45] Tomiko Magic: But I'll try find the info for you, so you can take a look
- [9:45] Tao Takashi: meet in wonderland ;-)
- [9:45] Enus Linden: html on a prim could work, the svn is available in html :)
- [9:45] Tomiko Magic: lol
- [9:45] Tess Linden: anyway, just a suggestion to get the newly involved gridnauts people working with the test harness
- [9:45] Enus Linden: sure tess
- [9:45] Tao Takashi: we will figure out how to do it
- [9:45] Enus Linden: per testing, i do have this: https://wiki.secondlife.com/wiki/Pyogp/Client_Lib/testing
- [9:46] Saijanai Kuhn: has Flash CS3 that he needs to learn how to use
- [9:46] Enus Linden: which describes the test bits to a degree.
- [9:46] Jumpman Lane: hi
- [9:46] Carduccis Sticky: Green: puff puff pass... the air is full of weed smoke
- [9:46] Sassypants Writer: hi
- [9:46] Tomiko Magic: >.<
- [9:46] Enus Linden: but it needs to include practical examples
- [9:46] Enus Linden: while on the topic of tests, that's been my focus for the past week
- [9:47] Sindy Tsure: at a higher level, what CG is working on over at his place seems like a great way to show how an overall architecture is laid out
- [9:47] Jumpman Lane: h winds angl?
- [9:47] Sindy Tsure: probably a higher level than is being talked about here, tho
- [9:47] Enus Linden: I've gotten things sorted to a point where i'm about ready to point people at them. i've wrestled with test data issues
- [9:48] Enus Linden: Locklainn, how comes the UDP front?
- [9:48] Locklainn Linden: well,l I've been working on the message system
- [9:48] Locklainn Linden: so that it can be used to send and receive udp messages
- [9:48] Locklainn Linden: and send acks if they need be
- [9:49] Locklainn Linden: (essentially, just what is needed to keep presence)
- [9:49] Locklainn Linden: its coming along, think I've got receiving down
- [9:49] Locklainn Linden: and I'm working on sending
- [9:49] Saijanai Kuhn: any questons on athat, I'll be happy to answer as I can
- [9:49] Enus Linden: will that be ready soonish? what sorts of challenges/roadblocks have you encountered?
- [9:49] Locklainn Linden: should be ready soon
- [9:49] Locklainn Linden: hopefully by the end fo the day
- [9:50] Locklainn Linden: only roadblock I can see is testing
- [9:50] Locklainn Linden: have to test real-tiem to see if it works
- [9:50] Locklainn Linden: which means logging in and all that
- [9:50] Locklainn Linden: but that's later
- [9:50] Tao Takashi: I might try to use it at the weekend
- [9:50] Enus Linden: well, i've stubbed out an interop teleport test script
- [9:50] Enus Linden: we can test with that if you like : )
- [9:50] Locklainn Linden: awesome
- [9:51] Locklainn Linden: yea, I'll check it out
- [9:51] Locklainn Linden: fyi, the message system won't contain the loop
- [9:51] Locklainn Linden: it can be used within the loop
- [9:51] Carduccis Sticky: Green: puff puff pass... the air is full of weed smoke
- [9:51] Tao Takashi: I thought so
- [9:51] Locklainn Linden: it is essentially driven by some outside source
- [9:51] Saijanai Kuhn: hooray
- [9:51] Tao Takashi: so I will experiment with some looping
- [9:51] Locklainn Linden: yea
- [9:51] Locklainn Linden: also, it should be used for both udp and http messages
- [9:51] Tao Takashi: and probably eventlet and such things
- [9:51] Locklainn Linden: though only udp is suppoorted right now
- [9:52] Saijanai Kuhn: right, the client actually parses for UDP messages and sends them to the same handler whether they are from EQG or UDP
- [9:52] Tao Takashi: so those are equivalent then?
- [9:52] Locklainn Linden: yea, they use the same message format once they are serialized/deserialed
- [9:52] Saijanai Kuhn: one is in binary and one is in LLSD-XML
- [9:53] Tao Takashi: ok
- [9:53] Tao Takashi: still sounds like a good use for protobufs to me :)
- [9:53] Enus Linden: speaking of the event queue
- [9:53] Locklainn Linden: *udp and llsd are same message format when not serialized, and when deserialized
- [9:53] Enus Linden: Tess: your email to gridnauts included venet queue implementation details that aren't in the OGP docs
- [9:54] Enus Linden: will the docs be updated to include details like these in the future?
- [9:54] Tao Takashi: we should check at Zero's OH how we go in terms of protocol specification process
- [9:54] Tess Linden: Enus: yes. I should also comment on Sai's email
- [9:55] Saijanai Kuhn: sent an email... uh-oh
- [9:55] Tess Linden: Please feel free to add questions/notes into the discussion page on the OGP doc
- [9:55] Enus Linden: pyogp is kind of at the point where we can go to the protocol and craft tests against an implementation based on the details in the docs.
- [9:56] Tess Linden: oops, I meant Tao's
- [9:56] Carduccis Sticky: Green: puff puff pass... the air is full of weed smoke
- [9:56] Enus Linden: my goal is to have tests that cover all the details documented, to reveal holes in docs, or bugs in the implementation in LL and Opensim
- [9:56] Saijanai Kuhn: was thinking that Alzheimer's had set in early this year
- [9:56] Bartholomew Kleiber: lol
- [9:57] Enus Linden: so, Opensim folks, please feel free to take a look at the tests and start running them against your accounts and regions.
- [9:57] Enus Linden: I need to think of a way of separating out client tests vs agent domain tests vs region domain
- [9:57] Saijanai Kuhn: a spec of new business. On gridnauts someone asked about using SLProxy. We should probably set up a PyProxy
- [9:57] Tess Linden: If you guys take a look at OGP, theres lots of nuances that is implemented incorrectly
- [9:57] Tess Linden: within the next month or so, we're going to cleanup all the notes
- [9:57] Saijanai Kuhn: because teh AD stuff isn't woking the same way
- [9:58] Enus Linden: i think simple dnaming the test scripts distinctly, and calling the test harness to run a specific file pattern for each group
- [9:58] Tess Linden: it would be nice to write failing tests against the correct protocol
- [9:58] Enus Linden: I agree tess
- [9:58] Estate Shepherd: corner cases.. lots of those
- [9:58] Estate Shepherd: the nominal uses will be well tested
- [9:58] Tao Takashi: so maybe those workarounds should actually be removed and only added on demand
- [9:59] Tao Takashi: we can make a workarounds.py which you can activate or not maybe
- [9:59] Enus Linden: should protocols go the detail of describing e.g. the valid range of a real in the position returned in the response to rez_avatar/place?
- [9:59] Enus Linden: otherwise, how can we test the boundaries?
- [9:59] Sea Urchin: beanbag: Going to next texture.
- [10:00] Enus Linden: unless we make assumptions about the boundaries?
- [10:00] Tomiko Magic: Assumptions are always not a good idea?
- [10:00] Tomiko Magic: : )
- [10:00] Tao Takashi: good question
- [10:00] Tess Linden: enus: yes if there are restrictions... real is pretty straight forward, but like position for example should be positive
- [10:00] Tao Takashi: maybe a z position does not need to be positive at some point? :)
- [10:00] Tao Takashi: like in the Hell Region Domain
- [10:01] Saijanai Kuhn: basements
- [10:01] Enus Linden: so in practice, LL has a0-256 limit on x and y
- [10:01] Tao Takashi: but this depends on the spec
- [10:01] Carduccis Sticky: Green: puff puff pass... the air is full of weed smoke
- [10:01] Tao Takashi: and it should be defined
- [10:01] Saijanai Kuhn: does OPenSim have the same issues, BTW?
- [10:01] Estate Shepherd: maybe even range checked?
- [10:02] Enus Linden: i'm not familiar enough with OpenSim to know, but i can ssume : )
- [10:02] Tao Takashi: we maybe should make a list of such open questions
- [10:02] Tao Takashi: and go through them in some separate meeting to see what needs to be speced
- [10:03] Enus Linden: so per tests, I'd like to see how we can go about testing against OpenSim regions
- [10:03] Estate Shepherd: test for known failures too?
- [10:03] Enus Linden: good point, yes
- [10:04] Estate Shepherd: graceful failure
- [10:04] Enus Linden: tests should test failures
- [10:04] Tao Takashi: you can have separate test cases for this and configure them to be active
- [10:04] Enus Linden: i have started this in e.g. test_ogplogin
- [10:04] Tao Takashi: so you can even test the workarounds in the AD if you want to
- [10:04] Tao Takashi: then you need a way to configure which tests to run though
- [10:04] Tao Takashi: maybe inside some config
- [10:05] Enus Linden: so far test cases include logging in and rezzing on a sim passes, auth of a known account passes and the response is appropriate, and auth for an unknown account fails and the response is appropriate
- [10:05] Enus Linden: but we also need tests for bad inputs
- [10:05] Tao Takashi: so maybe at some point it would be good to have our own testrunner which is more configurable
- [10:05] Enus Linden: etc etc
- [10:05] Enus Linden: more configurable in what sens etao?
- [10:05] Tao Takashi: what tests to run and which not
- [10:05] Enus Linden: right
- [10:06] Enus Linden: so far, we can filter based on filename patterns
- [10:06] Estate Shepherd: default to complete test suite maybe?
- [10:06] Tao Takashi: looks at the test code
- [10:06] Enus Linden: and that is whats run when no params are based in Estate, all tests
- [10:06] Estate Shepherd: i would prefer to go wtf, and turn off tests of no interest to me.
- [10:06] Tao Takashi: well, I think it would be good to have one configuration file which defines all tests and their parameters
- [10:06] Tao Takashi: so you can save it somewhere and run it again whenever you need to
- [10:06] Enus Linden: testconfig.cfg
- [10:07] Saijanai Kuhn: which could be redirected to a GUI...
- [10:07] Enus Linden: is something along those lines
- [10:07] Tao Takashi: yes, that looks good
- [10:07] Enus Linden: https://wiki.secondlife.com/wiki/Pyogp/Client_Lib/testing#Configuring_Interop_test_data
- [10:07] Tao Takashi: maybe like buildout
- [10:07] Tao Takashi: that you define as first part the tests you want to run
- [10:07] Tao Takashi: then actually every test could first test if it's in that list
- [10:07] Enus Linden: right, we don't have a proper test filter in place at this time
- [10:08] Tao Takashi: but you also need to pass it to the test script somehow
- [10:08] Tao Takashi: but I think something like this could work, shouldn't be too hard to implement
- [10:08] Enus Linden: i believe testrunner has filters we could explore more
- [10:08] Tao Takashi: aaaaand: All those params need documentation
- [10:08] Tao Takashi: maybe you can also pass some parameters, that would be good
- [10:09] Tess Linden: when we fix bugs, we'll try to do it test first. That way the failing test is there for the Opensim stuff too
- [10:09] Tao Takashi: when we implement we should do it as well ;-)
- [10:09] Tao Takashi: (test first)
- [10:09] Saijanai Kuhn: points out the need for an optional GUI to do the same thing
- [10:09] Enus Linden: wanna build it sai?
- [10:09] Enus Linden: :D
- [10:09] Tao Takashi: Sai: the GUI could write the testconfig yep
- [10:09] Saijanai Kuhn: Sure, but need to know what I am targetting for a command structure
- [10:10] Saijanai Kuhn: or just feed it in realtime with the right flag
- [10:10] Tao Takashi: for a start it would be just writing the testconfig.cfg I think
- [10:10] Tao Takashi: and running the testscript
- [10:10] Saijanai Kuhn: K
- [10:11] Tao Takashi: and maybe showing the output
- [10:11] Tao Takashi: might be helpful ;-)
- [10:11] Tao Takashi: the problem might be good reporting so that you also know what's actually wrong
- [10:11] Tao Takashi: but actually it already looks pretty good :)
- [10:12] Enus Linden: fwiw, zope.testing.testrunner doesn't at first glance support filter on test names, just the suites or filename patterns (or directory filtering)
- [10:12] Enus Linden: we can explore down the road though
- [10:12] Saijanai Kuhn: afk
- [10:12] Tao Takashi: shouldn't be too hard to copy and modify it either
- [10:12] Enus Linden: good point
- [10:13] Tao Takashi: as said, you can do the test if a test runs inside the test
- [10:13] Tao Takashi: if "xyz" not in self.config.list: return
- [10:13] Tao Takashi: and you might write a wrapper around the testrunner which sets the location of the testconfig.cfg in the environment
- [10:14] Enus Linden: so I'd like to get to a point where the base test suites are working as expected, if incomplete in test case coverage, in a cpuple of days. i believe that we are nearly there, though i could use a code review to tell me what to improve
- [10:14] Enus Linden: some of the implementation details are a little iffy
- [10:14] Enus Linden: e.g. testconfig.cfg actually contains the data for testing right now
- [10:14] Enus Linden: that should be renamed
- [10:15] Enus Linden: any other topics/questions people haev on pyogp right now?
- [10:15] Tao Takashi: the actual datafiles maybe should be just referenced
- [10:16] Tao Takashi: I hope to have some time to look over it and maybe even run it :)
- [10:16] Enus Linden: try after 5pm today for best results
- [10:16] Tao Takashi: but what I see so far looks good to me :)
- [10:16] Enus Linden: and, fwiw, the data config checked is is purely a template
- [10:16] Tao Takashi: at least ogplogin
- [10:16] Enus Linden: you will need to mock up and swap in your own data
- [10:17] Tao Takashi: yep, guessed so
- [10:17] Enus Linden: (no more enus checking in his passwords)
- [10:17] Tao Takashi: didn't look like the LL passwd ;-)
- [10:17] Tao Takashi: maybe those <256 could also be moved into the config...
- [10:17] Tao Takashi: then you don't have to assume hardcoded ;-)
- [10:17] Enus Linden: i agree there tao
- [10:17] Tomiko Magic: I've gotta tp, Nice seeing you all! And all of your confuzzling chat! Be well. : )
- [10:18] Sindy Tsure: cya, tomiko!
- [10:18] Enus Linden: all data points used in test validation should be moved out
- [10:18] Tomiko Magic: Bye bye grouchy Enus >.<
- [10:18] Tomiko Magic: lol
- [10:18] Tao Takashi: and maybe we can also have some defaults layer so you don't have to specify everything in the config gile
- [10:18] Enus Linden: so that they are dynamic
- [10:18] Tao Takashi: file
- [10:18] Enus Linden: e.g. the login_uri to use
- [10:18] Enus Linden: i realized that last night
- [10:19] Enus Linden: but we can refactor away later : )
- [10:19] Enus Linden: right now i'd like to be able to hand off the framework to gridnauts so folks can test with us this way
- [10:20] Enus Linden: well, unless there are other topics....
- [10:20] Enus Linden: adjourned in
- [10:20] Enus Linden: 3
- [10:20] Enus Linden: 2
- [10:20] Sea Urchin: beanbag: Going to next texture.
- [10:20] Locklainn Linden: wait
- [10:20] Enus Linden: 1
- [10:20] Locklainn Linden: just kidding :)
- [10:20] Dahlia Trimble: lol
- [10:20] Enus Linden: saved by the wait
- [10:20] Bartholomew Kleiber: lol
- [10:20] Enus Linden: crap
- [10:20] Enus Linden: :P
- [10:20] Enus Linden: thanks all!
- [10:20] Estate Shepherd: ty
- [10:20] Locklainn Linden: thanks, bye everyone!
- [10:20] Sindy Tsure: wouldn't mind bears, if tess & locklainn have spares..
- [10:20] Enus Linden: testing awesomeness coming soon to an email near you!
- [10:20] Bartholomew Kleiber: thx and bye
- [10:21] Sindy Tsure: already has an enus bear
- [10:21] Locklainn Linden: :)
- [10:21] Dahlia Trimble: Yes, I'm missing a Locklainn bear
- [10:21] Sindy Tsure: w00ts! ty, locklainn!
- [10:21] Bartholomew Kleiber: I'd like bears too *blushes
- [10:22] Sindy Tsure: you have to follow clues to get enus'!
- [10:22] Enus Linden: i don't give em out for free lol
- [10:22] Enus Linden: one must work!
- [10:22] Bartholomew Kleiber: awww
- [10:22] Tao Takashi: sorry, phone
- [10:22] Tess Linden: thanks Enus
- [10:22] Tao Takashi: but I guess we are through, right?
- [10:23] Sindy Tsure: wonders if tess has a bear
- [10:23] Enus Linden: yeah tao
- [10:23] Tess Linden: flies away to escape
- [10:23] Sindy Tsure: once the bear talk starts, that's usually the end
- [10:23] Tao Takashi: so maybe I will then try tp tonight ;_)
- [10:23] Sindy Tsure: oh! she stiffed me..
- [10:23] Dahlia Trimble: no Locklainn bear? :(
- [10:23] Saijanai Kuhn: yep, think so. Though, I'd like to see about workign up a pySLPRoxy at some point. Tried way back when wehn SLPRoxy wasn't workign on macs, but stopped when it started to
- [10:24] Tao Takashi: what is SLProxy actually doing?
- [10:24] Sindy Tsure: bye, all
- [10:24] Tao Takashi: printing out packets?
- [10:24] Enus Linden: sai, that should be easy enough
- [10:24] Tao Takashi: I guess also intercepting and putting packets in the flow, right?
- [10:24] Enus Linden: right tao
- [10:24] Saijanai Kuhn: its a man in the middle catching all packets and letting you do things with them, either mod or delete or inject, or just display
- [10:24] Tao Takashi: yeah, once we have the loop, that should be no problem
- [10:24] Dahlia Trimble: it can grab, filter, and inject packets
- [10:24] Dahlia Trimble: also interprets them
- [10:24] Tao Takashi: maybe a good first example :)
- [10:24] Saijanai Kuhn: all of which we can do (or almost can do)
- [10:25] Tao Takashi: I will create a pyogp.sandbox folder if that's ok?
- [10:25] Saijanai Kuhn: sure?
- [10:25] Estate Shepherd: inject megaprims to make sure that its nor borked up?
- [10:25] Enus Linden: : )
- [10:26] Tao Takashi: I will also do some other small adjustments like moving the init() and will post about this to the list
- [10:26] Dahlia Trimble: poofs... bye all :)