AW Groupies/Chat Logs/AWGroupies-2008-06-03

From Second Life Wiki
Jump to navigation Jump to search
  • [9:36] Umeko Kawanishi: Hello Zha and Saijanai
  • [9:36] Umeko Kawanishi: We do have a meeting today right?
  • [9:40] Multi Gadget: v1.54.2 by Timeless Prototype
  • [9:40] Zha Ewry: oooh peoples
  • [9:41] Dahlia Trimble: hi :)
  • [9:42] Zha Ewry: did not talk/
  • [9:42] Zha Ewry: me typed
  • [9:42] Movies1963 Beck: Zha what's the chance of me getting say..........$10,000,000 from IBM to do research on a car powered by Mountain Dew soda?
  • [9:43] Dahlia Trimble: lol
  • [9:43] Zha Ewry: Ahm
  • [9:43] Movies1963 Beck: it is in the name of science after all
  • [9:43] Zha Ewry: How many miles per soda can?
  • [9:43] Dahlia Trimble: when IBM stock breaks 200
  • [9:43] Movies1963 Beck: 17 per 12 ounce
  • [9:43] Zha Ewry: /Diet or Real soda?
  • [9:44] Movies1963 Beck: regular
  • [9:44] Zha Ewry: City or highway?
  • [9:44] Movies1963 Beck: we dont want funky after taste
  • [9:44] Zha Ewry: chuckles
  • [9:44] Movies1963 Beck: I'll drive both on the highway and in the city ofcourse
  • [9:44] Saijanai Kuhn: and, linens or US dollars?
  • [9:44] Movies1963 Beck: USD
  • [9:45] Zha Ewry: Well, if IBM stock hits $200 in the next 36 months, I'll not complain
  • [9:45] Movies1963 Beck: this study would ofcourse be related directlt to SL has well
  • [9:45] Saijanai Kuhn: Hey Tao
  • [9:45] Dahlia Trimble: Iwill, I sold mine
  • [9:45] Tao Takashi: Hi everybody
  • [9:45] Dahlia Trimble: Hi :)
  • [9:45] Teravus Ousley: must be related of course..
  • [9:45] Rex Cronon: hi everybody
  • [9:45] Zha Ewry: Hey all
  • [9:45] BlueWall Slade: hi
  • [9:45] Rex Cronon: hiii..
  • [9:45] Zha Ewry: Test harneses today, while I go argue with OpenSim and Region Circuits
  • [9:46] Saijanai Kuhn: OK, the test harness is based on bunches of snippets of code from various peeps and sources: https://wiki.secondlife.com/wiki/AWG_Test_Harness
  • [9:46] Teravus Ousley: haha, region circuits hmm?
  • [9:46] Saijanai Kuhn: The first goal is to gest the new Login protocols
  • [9:46] Teravus Ousley: Sounds like the Linden Server
  • [9:47] Saijanai Kuhn: Enus got a version working the other day (photo at bottom) to get a ruthed avie sitting on the vaak sim which ihe got to via the login
  • [9:47] Saijanai Kuhn: so that use is obvious
  • [9:47] Saijanai Kuhn: spam the server with 50 python bots and see if it breaks
  • [9:48] Saijanai Kuhn: Tao envisions the pygop library to be a Python library like libsl, but with the new protocols only
  • [9:49] Saijanai Kuhn: so the test harnss code will obviously have a lot in common with pygop and may end up being based on pygop or pygop may be based on the test harness, I guess
  • [9:49] Zha Ewry: That uses place avatar and the AD Siaj?
  • [9:49] Saijanai Kuhn: right
  • [9:49] Zha Ewry: Nice
  • [9:50] Saijanai Kuhn: in order to do more than just sit there, its going to need to support the existing UDP and the existing EventQueueGet because the transition to the new protocols is going to be very slow
  • [9:50] Saijanai Kuhn: so, for all practical purposes an functioning test harness bot is going to support all of what the current viewer and libsl does except regular login
  • [9:51] Umeko Kawanishi: Sai, the python bots used are pretty much no different from an avie in terms of loading a server, right?
  • [9:51] Tao Takashi: the idea was to base the actual test code on a library and thus pyogp.lib
  • [9:51] Dahlia Trimble: I doubt they load a sim much
  • [9:51] Tao Takashi: so things can be reused. both tests and lib will be work in profress for a long time anyway
  • [9:51] Saijanai Kuhn: so... ENus and I kind of figured that why not go that extra two inches and let it support the old login and et it be used for, I guess, regression testing as well?
  • [9:52] Tao Takashi: the question is then how much of the old protocol you want to preserve. If it's quite a bit maybe it makes a sense to create a library for the old protocol as well
  • [9:52] Saijanai Kuhn: so, if it works on the old and new protocols, its really a lightweight client
  • [9:53] Tao Takashi: it might actually be nice if both libs could support the same interface ;-)
  • [9:53] Saijanai Kuhn: Tao, right now, the ONLY part of the new protocol that e4xists, is the login. Everything else is "classic"
  • [9:53] Tao Takashi: I know
  • [9:53] Saijanai Kuhn: so, to get anything "useful" out of the bot, we have to supprt all the old protocols anyway
  • [9:53] Dahlia Trimble: python is a cool language but isnt a little on the slow side for handling networking for a full client?
  • [9:54] Saijanai Kuhn: its plenty fast for everythig but 3D drawing, Dahlia
  • [9:54] Tao Takashi: if you want to create bots with a lib now, that's right. But I thought the idea was to create a test harness for new protocol implementations (this might start with just a login and things get added while we go)
  • [9:54] Saijanai Kuhn: in fact, we've been talking about supporting 50 or 500 test bots using a single python script interpreter process
  • [9:54] Rex Cronon: who says u have to use it. once u know the protocol u can choose whatever language u want to implement it
  • [9:54] Tao Takashi: yes, Rex
  • [9:54] Dahlia Trimble: sure but things tend to grow in features
  • [9:55] Tao Takashi: well, hopefully just in features and not in concepts ;-)
  • [9:55] Saijanai Kuhn: I've heard that LL has used as many as 150 libsl bots on a single comp before, so I assume that we can get that many running with python
  • [9:56] Tao Takashi: well, depends on what the clients are doing. as long as they don't do graphics I guess that shouldn't be a problem
  • [9:56] Tao Takashi: eventlet is rather fast compared to the classic lib
  • [9:56] Saijanai Kuhn: right. the lightweight in lightweight client
  • [9:56] Tao Takashi: it maybe depends on how many messages you ignore ;-)
  • [9:57] Saijanai Kuhn: well, if you fail to bring na avie completely into the world, you get about 1/5 to 1/10 the packets per sec
  • [9:57] Tao Takashi: so what about the following process regarding libs: we try out more and more things with sample scripts and then try to make sense out of them in terms of how to build an interface which can be the same for old and new lib
  • [9:58] Saijanai Kuhn: so a phantom avie is less sstressful on a sever, but shouldn't matter if you're ignoring everything in the client
  • [9:58] Tao Takashi: I guess this is sort of what we are doing already
  • [9:58] Tao Takashi: just that login still does not work for me ;-)
  • [9:58] Teravus Ousley: yes, but only *very* slightly less stressful
  • [9:58] Saijanai Kuhn: ah, did you try that raw_login file, Tao?
  • [9:59] Tao Takashi: the question with stress tests is anyway if we can reproduce the same traffic as in a RL situation
  • [9:59] Teravus Ousley: haha, you still get all the prim within your FOV, and request all of the textures for all of the prim in your FOV
  • [9:59] Tao Takashi: the probability is very low I'd say
  • [9:59] Saijanai Kuhn: thinks that peole should cover their ears since we're talking about names of unreleased scripts
  • [9:59] Saijanai Kuhn: licensing issues
  • [9:59] Tao Takashi: Sai: yes, I tried that, get a Forbidden
  • [9:59] BlueWall Slade: hmm, make a mall and have the avatars camp there :D
  • [9:59] Saijanai Kuhn: That's odd. Wonder if it works for me
  • [9:59] Tao Takashi: the camping chair stress test ;-)
  • [10:00] BlueWall Slade: that's pretty SL/RL
  • [10:00] BlueWall Slade: or dance clubs
  • [10:00] Tao Takashi: what version of eventlet did you use? the egg?
  • [10:00] BlueWall Slade: heeh
  • [10:00] Saijanai Kuhn: Holy cow, we can try and get to a sim: Rez avatar cap:
  • [10:00] Saijanai Kuhn: Tao, yeah. Just did easy install
  • [10:01] Tao Takashi: ok
  • [10:01] Tao Takashi: debugging now :)
  • [10:01] Saijanai Kuhn: same with greenlet
  • [10:02] Saijanai Kuhn: so anyway, was thinking that... email names for spam are getting more creative
  • [10:02] Saijanai Kuhn: "bigger copulation organ in 3 weeks" just game into yahoo email
  • [10:02] Saijanai Kuhn: twitches and goe back to his original line of thought
  • [10:02] Teravus Ousley: >.>
  • [10:03] Teravus Ousley: <.<
  • [10:03] Teravus Ousley: >.>
  • [10:03] Saijanai Kuhn: was thinking that we'll be using eventlet for this stuff, which kinda twists the loop mechanism for UDP and other packet handling inside out
  • [10:04] Saijanai Kuhn: Ihaven't a clue how to use that
  • [10:04] Saijanai Kuhn: I'd suggest we get donovan to give us a presentation, but he's moved on... Maybe Which?
  • [10:05] Saijanai Kuhn: so anyway, we'll need support for UDP, and the parsing for that is in my presence code, EventQueueGet, which is simple in theory, but haven't a clue what packets there are, and eventually, reverse http
  • [10:06] Tao Takashi: maybe I can reuse parts of the packet code I once wrote for the old lib
  • [10:06] Tao Takashi: but need to check how things changed actually
  • [10:06] Tao Takashi: as for eventlet, Which is a good idea :)
  • [10:06] Saijanai Kuhn: Enus or someone said that Zero had written a complete packet parser in the indra python module but I haven't found it yet
  • [10:07] Saijanai Kuhn: which leads to another issue. libsl precompiles 70,000+ lines of code for packet handling for maximum speed. WHich makes libsl pretty bloated
  • [10:09] Saijanai Kuhn: I gues the same thing could be done with python, if its not done already. If it IS done already, I wonder if there's some way to like specify code for WHICH packets need to be pre-compilled
  • [10:09] Teravus Ousley: heh
  • [10:09] Saijanai Kuhn: to make the library slimmer. Or, would that matter since we're using one process per x number of avatars?
  • [10:09] Teravus Ousley: A super large enum! :D
  • [10:10] Tao Takashi: so the code for login looks like my own code.. my script gives a error message in XML that auth failed, Enus's script gives a 403: Forbidden
  • [10:10] Tao Takashi: this is strange
  • [10:10] Tao Takashi: the difference is that I run the latter with Python2.5
  • [10:10] Saijanai Kuhn: odd it ran OK for me just now. I'm using 2.5 on Mac OS X
  • [10:11] Tao Takashi: my script runs also with py2.5
  • [10:11] Tao Takashi: that's strange
  • [10:12] Saijanai Kuhn: where did you get the indra library? I think I just grabbed it out of hte latest source code for the viewer
  • [10:13] Tao Takashi: ah, I got it. Actually my script also does not run but I catch the exception and print the contents which is the auth failure
  • [10:13] Saijanai Kuhn: so anyway, the final twist would be to use my idea of a separate script for GUI's sending commands via post, and use reverse http to establish a connection to the command script
  • [10:13] Tao Takashi: maybe I should test it with the Tao account
  • [10:14] Tao Takashi: I guess that logs me out here, right?
  • [10:14] Tao Takashi: well, I take another alt
  • [10:14] Saijanai Kuhn: not ifyou're running it on a separate grid
  • [10:15] Tao Takashi: ok, that worked
  • [10:15] Tao Takashi: now I wonder what's broken with that alt I used
  • [10:15] Saijanai Kuhn: which would test reverse before anything else
  • [10:15] Saijanai Kuhn: how old is the alt? They just did a refersh though
  • [10:15] Saijanai Kuhn: refresh
  • [10:15] BlueWall Slade: Tao, did you set a home?
  • [10:16] BlueWall Slade: i had an alt w/o a home and it would bomb libsl
  • [10:16] Tao Takashi: BlueWall: No idea, never used this av ;-)
  • [10:16] Tao Takashi: ah, maybe that's the problem
  • [10:16] Tao Takashi: will try to login with it later
  • [10:16] Saijanai Kuhn: that could be it. Maybe some first-time processing isn't being handled by the bot
  • [10:16] Tao Takashi: so now it worked until it searches for some message templates
  • [10:16] Tao Takashi: I guess I need to copy something over
  • [10:16] Tao Takashi: Sai: but it already bombs on sending username/pw
  • [10:16] Tao Takashi: maybe the agent domain login is not yet perfect
  • [10:16] Saijanai Kuhn: huh
  • [10:17] Tao Takashi: anyway, I get some caps now
  • [10:17] Saijanai Kuhn: ah, wait, if you've never used it, maybe the refresh didn't carry it over
  • [10:17] Tao Takashi: maybe
  • [10:17] Tao Takashi: so that was my problem all the time then ;-)
  • [10:17] Tao Takashi: my login script worked ;-)
  • [10:18] Saijanai Kuhn: LOL
  • [10:18] Saijanai Kuhn: for future reference, you can use your main on two different grids at the same time
  • [10:18] Tao Takashi: so then I guess I should create another test alt and log it in to have it on the beta grid someday
  • [10:18] Tao Takashi: I prefer to use an alt though so I don't expose my pw by accident ;-)
  • [10:18] Saijanai Kuhn: right
  • [10:18] BlueWall Slade: you can set home to an information hub
  • [10:18] Enus Linden: hush
  • [10:18] Tao Takashi: Hey Enus!
  • [10:18] Enus Linden: exposing password is the best form of security apparently
  • [10:19] Saijanai Kuhn: hey enus, we've been making palns
  • [10:19] Saijanai Kuhn: plans
  • [10:19] Rex Cronon: hello enus
  • [10:19] Enus Linden: makes one change it
  • [10:19] Enus Linden: hi
  • [10:19] BlueWall Slade: haha, good
  • [10:19] Enus Linden: do tell about plans
  • [10:19] Saijanai Kuhn: so, did you get the go on releasing the code?
  • [10:20] Tao Takashi: so where do I get the message templates from?
  • [10:20] Saijanai Kuhn: Tao and I have been discussing it, but no-one else can see it yet
  • [10:20] Saijanai Kuhn: Tao, I just grabbed them from the source code
  • [10:20] Enus Linden: i'm waiting to hear back from hamilton
  • [10:21] Tao Takashi: Enus: you also included the pyogp stuff. We should discuss how we best manage this stuff
  • [10:21] Tao Takashi: trying to find it in the source code :)
  • [10:21] Saijanai Kuhn: my MakePacketDict code uses it. But the regexp assumes everything is done with tabs, not spaces, and there's a few random templates that are formatted with spaces
  • [10:22] Saijanai Kuhn: its message_template I think
  • [10:22] Enus Linden: i threw it in there just to play with hg mostly, u know that everything is subject to change dramatically... i still don't clearly understand the zca stuff, but havent really had time to play except to get that dirty login working-ish
  • [10:22] Saijanai Kuhn: so I reformatted the message_template file to only use tabs in the right spot
  • [10:23] Saijanai Kuhn: for some reason results = re.match("^\t([^\t{}]+.+)",line) fails if there are spaces...
  • [10:23] Tao Takashi: Enus: we should make a session where I can explain things. there isn't too much ZCA in there yet anyway
  • [10:23] Tao Takashi: the main question is how we handle those different packages
  • [10:23] Rex Cronon: u can first replace spaces with tabs
  • [10:24] Tao Takashi: in svn the buildout mainly references the source packages it needs to use with externals
  • [10:24] Saijanai Kuhn: Rex, thats what I did. I had a choice with making the parser obust, or reformatting the entire file.
  • [10:24] Saijanai Kuhn: robust*
  • [10:24] Saijanai Kuhn: reformatting was faster
  • [10:24] Tao Takashi: so they actually should be separate from the buildout package.. I don't know if hg supports something like subrepositories which I guess can be seen as externals
  • [10:24] Tao Takashi: I never used hg ;-)
  • [10:25] Enus Linden: new to me too
  • [10:25] Tao Takashi: I also understand that you cannot export a subfolder of a hg repository
  • [10:25] Tao Takashi: like you can do with svn
  • [10:25] Saijanai Kuhn: I got it working to the point I could run that test file. wheee
  • [10:25] Tao Takashi: so probably we make different repos for the components and write some script to set it up or something like that
  • [10:25] Tao Takashi: buildout could maybe also fetch the hg repos
  • [10:26] Saijanai Kuhn: not even sure what buildout does
  • [10:26] Tao Takashi: basically it's like a Makefile
  • [10:26] Saijanai Kuhn: ah, well I may have bypassed all that, not sure
  • [10:26] Tao Takashi: you can automate the creation of your development environment
  • [10:26] Enus Linden: fwiw, the freehg hosting solution is hopefully a temporary one. Q qould like an externally, moderated LL hosted hg repo in the future.
  • [10:26] Tao Takashi: it doesn't matter for the login script
  • [10:26] Enus Linden: but we can cross that bridge later
  • [10:26] Teravus Ousley: :D
  • [10:27] Saijanai Kuhn: I'm using Eclipse with pydev, so I used hg to grab the files, than refernced them with Elclipse's project stuff
  • [10:27] Tao Takashi: I guess with hg it doesn't matter so much how write access looks like as everybody has a master copy
  • [10:27] Tao Takashi: I just wonder how you keep track of changes
  • [10:27] Tao Takashi: so I hope we do not spend ages on figuring out how to collaborate with hg instead of actually programming things ;-)
  • [10:28] Enus Linden: i'm with you there on hg, i think it's gonna be simple enough tao... i just want to plop a license.txt file and say "hey, look at enus' crappy script that he got from tao and sai and reading code", and "look at tao's inintial framework" and lets go make some noise
  • [10:28] Tao Takashi: CG also mentioned hg to be used someday for the client source. I would be interested on further thoughts about this, e.g. how collaboration can take place in e.g. sending patches in
  • [10:28] Saijanai Kuhn: Enus, were you the one who said there was a packets parser in the indra package?
  • [10:28] Enus Linden: that wasnt me sai
  • [10:29] Saijanai Kuhn: KK. that could explain why I couldn't find it
  • [10:29] Tao Takashi: the thing is, what we do when we work on a script together
  • [10:29] Enus Linden: hg is envisioned my some at ll as where we are headed tao, where that stands, i dunno
  • [10:29] Tao Takashi: I guess this is the main idea behind open source ;-)
  • [10:29] Tao Takashi: or replace "script" by "component" maybe
  • [10:29] Tao Takashi: I don't think so much in scripts ;-)
  • [10:30] Tao Takashi: so I should play around a bit with hg
  • [10:30] Tao Takashi: we probably also need to write down some rules for collaboration
  • [10:30] Tao Takashi: I also tried to setup a trac with hg support but that did not really work
  • [10:31] Tao Takashi: and I again wonder how that can work with hg anyway.. does everybody have their own trac for their repo?
  • [10:32] Tao Takashi: wouldn't make sense.. so there needs to be a master repo and the question might be how people can put patches in there or if they are pulled etc.
  • [10:33] Tao Takashi: now let me search again for the message template ;-)
  • [10:34] Saijanai Kuhn: message_template.msg
  • [10:34] Tao Takashi: ok, seems to work
  • [10:34] Tao Takashi: seems I don#
  • [10:34] Tao Takashi: 't have to change spaces to tabs
  • [10:34] Tao Takashi: I now got a Rez Avatar cap
  • [10:34] Tao Takashi: is there anything more which is supposed to happen?
  • [10:35] Tao Takashi: looks like it.. then establishpresence() seems to hang
  • [10:35] Saijanai Kuhn: think Enus used the presence code loop to keep the avie in-world. Not sure if that is in the latest version
  • [10:35] Saijanai Kuhn: I think that is because the dictionary is missing some entries because the template is in the wrong fromat
  • [10:35] Tao Takashi: right, there is a while 1:
  • [10:35] Saijanai Kuhn: format
  • [10:36] Tao Takashi: ok, it's in that while loop
  • [10:37] Enus Linden: that's latest, i hope to be able to take it further soon (later today maybe?). [1] can be used as a moderately up to date doc
  • [10:37] Saijanai Kuhn: it just grabs any packet that fits the regexp and puts teh header info name, fixed, ID number, etc., into a dictionary
  • [10:38] Saijanai Kuhn: I never got around to adding the packet formatting info to it, so it is only useful to tell you what the name of hte packet is
  • [10:38] Saijanai Kuhn: cant be used to create or decode packets
  • [10:39] Tao Takashi: well, I now have a starting point
  • [10:39] Tao Takashi: so the data in the while loop are the udp packets then I guess
  • [10:39] Saijanai Kuhn: right
  • [10:39] Tao Takashi: Derez failed...
  • [10:39] Saijanai Kuhn: when it works right, it spews out the name, etc for each packet received
  • [10:40] Tao Takashi: if you use the uncommented code?
  • [10:40] Saijanai Kuhn: Yeah, I think. I haven't seen the latest version with prescence code.
  • [10:40] Saijanai Kuhn: presence*
  • [10:40] Tao Takashi: that code looks funky ;-)
  • [10:40] Enus Linden: that code IS funky
  • [10:41] Tao Takashi: that's why I like that UDP stuff so much ;-)
  • [10:41] Saijanai Kuhn: that loop? Pure OMG it worked, ship it
  • [10:41] Teravus Ousley: >.>
  • [10:41] Saijanai Kuhn: jhurliman explained UDP packets in detail to me several times.
  • [10:41] Teravus Ousley: has written a few of those in his lifetime.
  • [10:41] Tao Takashi: did he also write it down? ;-)
  • [10:41] Tao Takashi: because I am a bit out of the loop regarding how packets are constructed
  • [10:41] Saijanai Kuhn: bits and pieces are available on the libsl and LL wiki
  • [10:42] Tao Takashi: and I remember reading lots of source code in libsl and the client back then
  • [10:42] Teravus Ousley: hmm, yes, and the _packets_.cs describes lots of it.. but you also need to investigate the zerocoding routines.
  • [10:42] Saijanai Kuhn: and There's always... https://wiki.secondlife.com/wiki/AW_Groupies#Communications
  • [10:42] Tao Takashi: what's this zerocoding stuff again?
  • [10:42] Saijanai Kuhn: I've got all that covered in the code in that funky format
  • [10:43] Tao Takashi: UDP must die! ;-)
  • [10:43] Saijanai Kuhn: eh, first you must understand that cory was taking at least two mind altering substances when writing this and they created a conflict in his brain
  • [10:43] Teravus Ousley: zerocoding is a method of compression that puts all zeros int o, the format 0 and then the number of times Zeros occur after that
  • [10:43] Saijanai Kuhn: part of the packet is in little endian and part in big endian
  • [10:43] Lillie Yifu: UDP = UnDead Protocol.
  • [10:43] Teravus Ousley: so 000000 would become 06
  • [10:43] Saijanai Kuhn: part is compressed and part isn't
  • [10:44] Saijanai Kuhn: and the parts overlap
  • [10:44] Dahlia Trimble: run-length coding for zeros only?
  • [10:44] Teravus Ousley: right
  • [10:44] Tao Takashi: ah, ok
  • [10:44] Teravus Ousley: haha, yes.. parts are big endian and parts are little endian :D
  • [10:44] Saijanai Kuhn: so yo must decode the packet id number in the header to decide if it is compressed or not
  • [10:44] Teravus Ousley: makes for fun stuff.
  • [10:44] Tao Takashi: so if we keep UDP this will make wide spread adoption not happen ;-)
  • [10:45] Saijanai Kuhn: Oh, most definitely
  • [10:45] Dahlia Trimble: is amazed at all the little tricks they do to save a few bytes here and there and then wrap it all in XML
  • [10:45] BlueWall Slade: so the reverse http - is that supposed to replace UDP?
  • [10:45] Tao Takashi: as I understand only partly
  • [10:45] Teravus Ousley: replace a lot of it, but not all of it.
  • [10:45] Teravus Ousley: Terse updates for example..
  • [10:45] Saijanai Kuhn: don't want to POST keypress info...
  • [10:46] Tao Takashi: it should replace all of it ;)
  • [10:46] Teravus Ousley: Zerocoding really helps on things like the Parcel Overlay.. packet. since it's mostly zeros
  • [10:46] Tao Takashi: ok, so I see the code which decides if it's zerocoded
  • [10:47] Saijanai Kuhn: no doubt, but zeroencoding the packet ID number is just... odd
  • [10:47] Tao Takashi: yes
  • [10:47] Tao Takashi: maybe the packet type should decide whether it's zerocoded or not
  • [10:47] Teravus Ousley: well, the packet has a different value (3rd byte) is zero coded determiner?
  • [10:47] Teravus Ousley: I forgot if it's the third byte..
  • [10:47] Tao Takashi: but I am talking here out of no knowledge of the system ;-)
  • [10:48] Saijanai Kuhn: wait, its not if its encoded, but to see how long it is
  • [10:48] Tao Takashi: it reminds me of a professor we once had teaching object oriented databased. we once had a workshop with him and we were trying to implement some basic db
  • [10:48] Tao Takashi: he knew everything about a C-compiler, actually mostly the internals and knew how to save 1-2 bits here and there quite well
  • [10:48] Saijanai Kuhn: the zero encode is in the first byte, but the length of the packet comes from teh packet ID number, which is encoded, so to determine how long the packet is, yo must first decode teh packet ID number, which tells you how long things will be that need to be decoded
  • [10:48] Tao Takashi: unfortunately this makes write-only code
  • [10:49] Saijanai Kuhn: because the trailing acks are not encoded
  • [10:49] Tao Takashi: ok, so how does a packet look in general?
  • [10:49] Teravus Ousley: haha, that's right :D
  • [10:49] Tao Takashi: as I see byte 6-12 are the packet id?
  • [10:49] Saijanai Kuhn: I told you jhurliman explained many types
  • [10:49] Saijanai Kuhn: *potentially* that yes
  • [10:50] Tao Takashi: that's what I see in the script
  • [10:50] Saijanai Kuhn: afterall, you don't know how long it really is
  • [10:50] Tao Takashi: so what is 0-5? :)
  • [10:50] Saijanai Kuhn: until you decode it
  • [10:50] Tao Takashi: so the packet id is the type?
  • [10:50] Saijanai Kuhn: so I grabbed the longest possible length of the ID and decode it
  • [10:50] Saijanai Kuhn: right
  • [10:51] Tao Takashi: ok, and byte 0 says in the highest bit if it's zeroencoded as I can see here
  • [10:51] Saijanai Kuhn: and the first x bytes that result are the ID and whatever is left is throwaway
  • [10:51] Teravus Ousley: [2]
  • [10:51] Saijanai Kuhn: https://wiki.secondlife.com/wiki/AW_Groupies#Communications
  • [10:51] Tao Takashi: ah, thanks
  • [10:51] Saijanai Kuhn: an index to all tings
  • [10:51] Saijanai Kuhn: and there's no one spot that has all info. A few things are wrong or left out, in each spot
  • [10:52] Tao Takashi: well, here at least I have a working UDP loop and I might try to get my old packet stuff in there
  • [10:52] Saijanai Kuhn: I meant to go back and normalize some documentation on it, but I just wanted to run away from it once I got it working
  • [10:53] Saijanai Kuhn: which probably explains why the docs are incomplete/wrong --everyone has that attitude
  • [10:53] Tao Takashi: I guess the struct python lib can help here, too
  • [10:53] Tao Takashi: for bit shifting
  • [10:53] Tao Takashi: Hi cloudy Tess
  • [10:53] Tess Linden: hey :)
  • [10:54] Saijanai Kuhn: we don't need no stinkin' clouds here
  • [10:54] Rex Cronon: hello tess
  • [10:54] Saijanai Kuhn: did she just log or TP?
  • [10:55] Teravus Ousley: maybe tTP
  • [10:55] Tao Takashi: well, I will have a closer look and try to refactor it a bit
  • [10:55] Enus Linden: i'ma tp-in myself
  • [10:55] Tao Takashi: in the meanwhile I will head to Robin's OH
  • [10:55] Teravus Ousley: thinks maybe her client was set to last
  • [10:55] Saijanai Kuhn: hope that was not anything I said, was joking
  • [10:55] Enus Linden: will let ya know when i hear about licensing,,,
  • [10:55] Saijanai Kuhn: KK
  • [10:55] Teravus Ousley: .. and she crashed.. so she appeared here.
  • [10:55] Tao Takashi: otherwise we pretend to have written it ;-)
  • [10:56] Saijanai Kuhn: Tao, if you need any help understanding feel free to ask...
  • [10:56] Saijanai Kuhn: ...jhurliman ;-)
  • [10:56] Tao Takashi: thanks, Sai, will do :)
  • [10:56] Tao Takashi: heh :)
  • [10:56] Teravus Ousley: hehe
  • [10:56] Dahlia Trimble: has to go... bye all :)
  • [10:56] Tao Takashi: ok, cya later!
  • [10:56] Enus Linden: bye y'all
  • [10:56] Teravus Ousley: take care
  • [10:56] Teravus Ousley: should head over to content to hover also
  • [10:56] Rex Cronon: by dahlia
  • [10:56] BlueWall Slade: g'bye
  • [10:56] Saijanai Kuhn: later all thanks for coming
  • [10:56] Rex Cronon: oh, yes h4 hour
  • [10:56] Rex Cronon: i going to so bye everybody
  • [10:57] Teravus Ousley: take care :D
  • [10:57] BlueWall Slade: thank :)
  • [10:57] Saijanai Kuhn: recalls UDP. Ah those were the days...
  • [10:58] Saijanai Kuhn: OMG, you're kidding!!!
  • [10:58] Saijanai Kuhn: about every thirty seconds