User:Enus Linden/Office Hours/2008 Aug 01

From Second Life Wiki
< User:Enus Linden/Office Hours
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. ...)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search
  • [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 :)