User:Which Linden/Office Hours/2009 Oct 15
Jump to navigation
Jump to search
- [11:02] Which Linden: Hey there!
- [11:02] Which Linden: Man, this is gonna be awesome
- [11:02] Fisher Linden: hey
- [11:03] Latif Khalifa: hello Which :)
- [11:03] Latif Khalifa: what's going to be awesome?
- [11:03] Latif Khalifa: hello Enkidu, Aimee
- [11:03] Which Linden: Hi!
- [11:03] Aimee Trescothick: lo
- [11:04] Which Linden: I think there is going to be the highest concentration of Lindens here ever
- [11:04] Latif Khalifa: lol attach of the lindens :P
- [11:04] Aimee Trescothick: crikey, we're thoroughly Lindenized
- [11:04] Latif Khalifa: do they self replicate now?
- [11:04] Latif Khalifa: lol
- [11:04] Which Linden: This is how we start taking over this virtual world
- [11:04] Aimee Trescothick: runs off to spend the extra Lindens
- [11:04] Latif Khalifa: hahah
- [11:05] Which Linden: Hi grant, thanks for coming!
- [11:05] Grant Linden: thanks for the invite
- [11:05] Enkidu Linden: what's up guys
- [11:05] Aimee Trescothick: points to the sky
- [11:05] Aimee Trescothick: that way
- [11:05] Fisher Linden: lol
- [11:05] Latif Khalifa: haha
- [11:06] Aimee Trescothick: that joke never gets tired, well, as long as you're the one making it
- [11:06] Which Linden: So yeah, I just stuck Grant's wireframe on WEB-1321
- [11:06] JIRA-helper: http//jira.secondlife.com/browse/WEB-1321:
- [#WEB-1321] Transaction History,: the transaction number should remain a sequential number, not a UID
- [11:06] Which Linden: It is pretty rad
- [11:07] Latif Khalifa: sill on the transaction id? ;)
- [11:07] Which Linden: Yes.... releasing anything here is quite a process
- [11:07] Latif Khalifa: that thing is like so september ;)
- [11:07] Enkidu Linden: sept 2010 at this rate
- [11:08] Enkidu Linden: JOKE
- [11:08] Latif Khalifa: Enkidu, true
- [11:08] Which Linden: On the up side I've also done like 1% of about 10 projects this past week
- [11:08] Which Linden: My throughput is high if my project latency is long
- [11:08] Latif Khalifa: yey!
- [11:08] Latif Khalifa: lol
- [11:09] Which Linden: Actually, Grant, I was curious about what a wireframe actually is -- do you mind explaining?
- [11:09] Grant Linden: a wireframe is like a blueprint for a house
- [11:10] Which Linden: hm good analogy
- [11:10] Grant Linden: it is sometimes used in a spec
- [11:10] Grant Linden: it sometimes is a decent visual representation
- [11:11] Latif Khalifa: hm, there was one thing that always irked me about transactin history
- [11:11] Latif Khalifa: wrt payments from objects
- [11:11] Latif Khalifa: waits 20min required for account page to load....
- [11:12] Latif Khalifa: cannot fint it right now... the new wireframe does not show object payments
- [11:12] Which Linden: You gotta install the "make sl go faster" plugin to make it faster
- [11:13] Enkidu Linden: of course, getting the plugin......
- [11:13] Which Linden: If google can wave away performance problems with plugins, so can we
- [11:13] Latif Khalifa: Which, do you have the download link?
- [11:13] Latif Khalifa: lol
- [11:13] Which Linden: [1]
- [11:13] Which Linden: for the wireframe, I assume you mean
- [11:13] Aimee Trescothick: uninstalling the go-slow plugin more like :D
- [11:14] Latif Khalifa: i don't see object transactions
- [11:14] Latif Khalifa: in that draft
- [11:14] Which Linden: Yes. ... so the wireframe doesn't have any examples of object buys
- [11:14] Latif Khalifa: very important
- [11:15] Grant Linden: this is true
- [11:15] Latif Khalifa: yess now i remember what irked me
- [11:15] Which Linden: there are a few extra fields associated with object buys -- region I think is one of them
- [11:15] Latif Khalifa: Which, when my objet pays
- [11:15] Latif Khalifa: right now i get
- [11:15] Latif Khalifa: Date: 10/15/2009 11:05:34
- Object Pays
- Region: Perun
- Destination: Kristina Deschane
- [11:15] Grant Linden: I need to see an example of that
- [11:16] Latif Khalifa: i have now idea *which object* payed
- [11:16] Which Linden: oh, Latif, yeah, uh, that's a deeper problem
- [11:16] Which Linden: that information is not recorded at the time
- [11:16] Latif Khalifa: example for incoming transaction
- [11:16] Latif Khalifa: so this is my object being payed:
- [11:16] Latif Khalifa: Date: 10/15/2009 10:30:00
- Payment
- Description: KiKi 2009--GaGa Ballet Boots (pink)-panel
- Region: Perun
- Source: Cassandra Quartz
- [11:17] Latif Khalifa: the Description is which object got payed
- [11:17] Latif Khalifa: how come we cannot have that on outgoing payments
- [11:18] Latif Khalifa: it's vital information, if some of your object is paying, to be able to see which object is taking money from your account and giving other avatars
- [11:18] Grant Linden: accepted your inventory offer.
- [11:18] Which Linden: Grant, I just dropped a Fake vendor on ya
- [11:18] Grant Linden: thanks
- [11:18] Which Linden: You can rez it, then click it to generate both payments to objects, and payments from objects
- [11:18] Aimee Trescothick: writes an abuse report citing Which for distributing fake vendors
- [11:19] Latif Khalifa: hahaha
- [11:19] Grant Linden: cool
- [11:19] Which Linden: Latif: yeah it's basically an oversight that we don't record it in one direction
- [11:19] Latif Khalifa: it's fisher's fault
- [11:19] Latif Khalifa: fisher tought which to phish
- [11:20] Which Linden: Give a man a phish.... and he will be stoned
- [11:20] Latif Khalifa: Which, something you could put in the serverv on todo?
- [11:20] Which Linden: Latif: hook me up with a JIRA
- [11:20] Latif Khalifa: jira search is useless
- [11:20] Latif Khalifa: lol
- [11:20] Fake vendor: Got 1
- [11:21] Which Linden: oh crap my fake vendor doesn't work
- [11:21] Which Linden: Forgot to add debit permissions check
- [11:22] Grant Linden: it's a fake fake vendor?
- [11:22] Fake vendor: Got 1
- [11:22] 'Fake vendor',: an object owned by 'Which Linden', located in Beaumont at 150.0, 41.4,22.8, has been granted permission to: Take Linden dollars (L$) from you.
- [11:23] Which Linden: Do you have to grant permission on rez or else it doesn't weork?
- [11:23] Fake vendor: Got 1
- [11:23] 'Fake vendor',: an object owned by 'Which Linden', located in Beaumont at 150.0, 41.4,22.8, has been granted permission to: Take Linden dollars (L$) from you.
- [11:23] Latif Khalifa: heh someone claims he get wrong object name
- [11:23] Latif Khalifa: Which, no you can request it at any time
- [11:23] Unable to: load script. Please try again.
- [11:23] Latif Khalifa: you want a real vendor script lol
- [11:24] Which Linden: hm well there must be a race condition because I requested it right before calling llgivemoney and it still complained that it didn't have perms
- [11:24] Unable to: load script. Please try again.
- [11:24] Unable to: load script. Please try again.
- [11:24] Unable to: load script. Please try again.
- [11:24] Latif Khalifa: you need to wait for to user to click on Grant
- [11:24] Which Linden: ohhhh....
- [11:24] Latif Khalifa: let me setup a vendor that splits profit
- [11:24] Latif Khalifa: i have the script
- [11:24] Which Linden: it's probably easier to just grant on rez I guess
- [11:25] Which Linden: ok!
- [11:25] Latif Khalifa: it will sell you object for$2 and sed $1 to which
- [11:25] Which Linden: mwahahaha
- [11:25] Enkidu Linden: wooden cubes for sale?
- [11:25] Latif Khalifa: Which could you enable scripts for a sec?
- [11:25] Which Linden: I didn't? whoops
- [11:25] Which Linden: yeah...they're enabled
- [11:27] Which Linden: oh and BTW on JIRA search I pretty much gave up on the builtin search and just google site:jira.secondlife.com
- [11:27] Enkidu Linden: google is the balm
- [11:27] Morgaine Dinova: 'Morning all :-)
- [11:28] Which Linden: hi Morgaine!
- [11:28] Morgaine Dinova: How goes Which?
- [11:28] Which Linden: we are messing around with fake vendors again
- [11:28] Morgaine Dinova: Cool
- [11:29] Vendor that: gives half to Which and half to Latif: Sold Object for L$2 to Latif Khalifa. Your share $1.
- [11:29] Morgaine Dinova: Oh, lots of Lindens rezzing, hehe. Hiya Fisher, Grant, Enkidu :-)
- [11:29] Which Linden: yesss
- [11:29] Which Linden: ha ha ha, poppy!
- [11:29] Latif Khalifa: Which, now we are in it for the profit :)
- [11:29] Grant Linden: helloo
- [11:29] Morgaine Dinova: OMG, and Poppy. :-)
- [11:30] Latif Khalifa: gave you Vendor that gives half to Which and half to Latif.
- [11:30] Poppy Linden: whoa snap, did i miss a memo or something?
- [11:30] Morgaine Dinova: Residents outnumbered for a change. :-) Hiya Aimee, Latif , piper :-)
- [11:30] Latif Khalifa: hello
- [11:30] Latif Khalifa: where did grant go
- [11:30] Which Linden: OK now we just need to pull a voltron
- [11:30] Enkidu Linden: we came for a brawl
- [11:30] Which Linden: grant's still here
- [11:30] Grant Linden: I am
- [11:30] Poppy Linden: ARM, ASSEMBLE!
- [11:30] Grant Linden: accepted your inventory offer.
- [11:31] Anton123 Adder: hi Lindens
- [11:31] Grant Linden: thank you
- [11:31] Poppy Linden: is there an agenda today?
- [11:31] Vendor that: gives half to Which and half to Latif is offline.
- [11:31] Aimee Trescothick: hi Morgaine :)
- [11:31] 'Vendor that: gives half to Which and half to Latif', an object owned by 'Which Linden', located in Beaumont at 147.3, 43.6,23.3, has been granted permission to: Take Linden dollars (L$) from you.
- [11:31] Vendor that: gives half to Which and half to Latif: Reading notecard '*KL* Sale Which Linden'.
- [11:31] Vendor that: gives half to Which and half to Latif: Object is for sale for L$2.
- [11:31] Vendor that: gives half to Which and half to Latif: Which Linden receives L$1.
- [11:31] Vendor that: gives half to Which and half to Latif: Latif Khalifa receives L$1.
- [11:31] Vendor that: gives half to Which and half to Latif: IM sale notifications are on.
- [11:31] Vendor that: gives half to Which and half to Latif: Email sale notifications are off.
- [11:31] Vendor that: gives half to Which and half to Latif: Ready (46026 bytes free).
- [11:31] Which Linden: Whoo, a real vendor script!
- [11:31] Aimee Trescothick: hi Poppy! ltns
- [11:31] Latif Khalifa: Poppy, Which and I are making profit on testing
- [11:31] Latif Khalifa: lol
- [11:31] Vendor that: gives half to Which and half to Latif: Sold Object for L$2 to Grant Linden. Your share $1.
- [11:31] Aimee Trescothick: lol
- [11:31] Which Linden: Yeah Poppy, we're discussing the transactions history page and the wireframe that grant designed
- [11:31] Vendor that: gives half to Which and half to Latif: Sold Object for L$2 to Grant Linden. Your share $1.
- [11:32] Latif Khalifa: wee juist made $1, and another ;)
- [11:32] Which Linden: We have these fake vendors for the purposes of generating logs
- [11:32] Grant Linden: wooot
- [11:32] Vendor that: gives half to Which and half to Latif: Panel ready. Permissions granted.
- [11:32] Vendor that: gives half to Which and half to Latif: Panel ready. Permissions granted.
- [11:32] Latif Khalifa: Which is getting the other half :P
- [11:32] Vendor that: gives half to Which and half to Latif: Thank you for your purchase. Your item (Object) is being delivered.
- [11:32] Vendor that: gives half to Which and half to Latif owned by Grant Linden gave you 'Object' ( [2] ).
- [11:32] Vendor that: gives half to Which and half to Latif: Sold Object for L$2 to Which Linden. Your share $1.
- [11:32] Grant Linden: I am buying things called objects
- [11:32] Which Linden: Whoa, those must be rare collectibles
- [11:32] Morgaine Dinova: I've already bought a ton of those ;-)
- [11:32] Latif Khalifa: Grant, and the script pays $1 to me and $1 to Which, right?
- [11:33] Latif Khalifa: that's how vendors with split profit usually work
- [11:33] Grant Linden: yup
- [11:33] Latif Khalifa: you can edit the notecard if you want a cut of the action hahaha
- [11:33] Grant Linden: I do't think I need that many examples
- [11:34] Latif Khalifa: Which, btw. another thing that makes me mad... objects forget that they have debit permission
- [11:34] Latif Khalifa: rarely, but it happens
- [11:34] Which Linden: So...funny story. I bought a submarine to show my military friend how SL can be used for simulation. Of course it had incredibly terrible physics and you could totally send it up into the air. So we were messing around with it in the air, and another friend came by and was all "Oh that's a nice submarine....does it work in the water too?"
- [11:34] Latif Khalifa: loool
- [11:35] Which Linden: Latif: they forget it without a script reset?
- [11:35] Latif Khalifa: yes... its a very rare occurance
- [11:36] Latif Khalifa: but i have about 200 of these vendors in my store
- [11:36] Which Linden: eeesh
- [11:36] Latif Khalifa: and about once every couple of months
- [11:36] Latif Khalifa: 1 or more "forger" they have the debit grant
- [11:37] Latif Khalifa: and they were not reset... i put in a gazillion of checks to try to see where and how
- [11:37] Which Linden: Hmm.... so you could compensate for this yourself by periodically calling llGetPermissions and re-requesting
- [11:37] Which Linden: Which you presumably do already?
- [11:37] Latif Khalifa: origininally this script was changing states so i rewrote it
- [11:37] Latif Khalifa: now it read notecards and does evertyting in the state default
- [11:37] Latif Khalifa: which, no i don't
- [11:38] Latif Khalifa: 1) timer is expensive thing to do, i want to be nice to the sim
- [11:38] Latif Khalifa: this script does nothing until money() event is triggered
- [11:38] Latif Khalifa: 2) you need to be online when it does the request otherwise it has no effect
- [11:38] Which Linden: hm yeah, so you'd need to have an online check too
- [11:39] Latif Khalifa: i'd rather you fix the bug lol
- [11:39] Which Linden: heh, well it's an interesting design philosophy we've taken with lsl
- [11:39] Vendor that: gives half to Which and half to Latif: Sold Object for L$2 to Anton123 Adder. Your share $1.
- [11:40] Enkidu Linden: what's our lsl design philosophy?
- [11:40] Which Linden: We basically write our LSL framework as though we expect scripters to code for a hostile unreliable environment
- [11:40] Latif Khalifa: Enkidu, what makes you thin there is one?
- [11:40] Which Linden: Because it basically is
- [11:40] Enkidu Linden: lsl: now with hazmat
- [11:41] Latif Khalifa: Which, the only way i work around it is to send email "I'm broken, please come reset me the next time you're online"
- [11:41] Which Linden: Well if timers were cheap you'd want it to check itself periodically
- [11:42] Which Linden: Then it could hopefully catch you when you're online and re-requiest perms
- [11:42] Which Linden: So that's lame that timers are not cheap
- [11:42] Latif Khalifa: i have hunderds of these.... adding timers to each would not be nice to the sim
- [11:43] Enkidu Linden: could you do it with one timer?
- [11:43] Latif Khalifa: Enkidy, each panel needs its own script
- [11:43] Which Linden: Or maybe you could have like a few controller scripts that sit and check for you to beonline, and when you are, they could send events to the vendors to check perms, so they'd only check every tiem you log in
- [11:43] Latif Khalifa: Enkidu even, sorry
- [11:43] Which Linden: Enkididdle
- [11:43] Latif Khalifa: hehe
- [11:44] Enkidu Linden: yeah like a mommy script
- [11:44] Latif Khalifa: Which, yes i was thinkind to add listener and have one script to llReagionSay(some_secret_chan", "boys check your debit permission");
- [11:44] Enkidu Linden: it could tell your other scripts to eat their vegetables and stop picking on their sister
- [11:45] Which Linden: But yeah basically currently our design philosophy requires scripters to build pretty elaborate structures; look at what http-in has you do.
- [11:45] Latif Khalifa: yeah
- [11:45] Latif Khalifa: i wrote a whole app for it lol [3]
- [11:46] Which Linden: I don't know how much of it is necessary (as it seems most of http-in is) and how much is just workarounds for bugs
- [11:46] Which Linden: Ossm latif, I remember hearing kelly express hope that someone would rite something liek that
- [11:46] Which Linden: with less typos
- [11:47] Latif Khalifa: i understand the concept... http-in lets you connect directly to the sim host
- [11:47] Latif Khalifa: that way linden lab avoids a central service
- [11:47] Which Linden: Yup, w don't have to worry about scalabiility
- [11:47] Latif Khalifa: and scalability problems that brings (and lets face it, scalability and lindens is like water and oil)
- [11:48] Latif Khalifa: points at group chat
- [11:48] Which Linden: But now you have to worry about scalability mwahaha
- [11:48] Latif Khalifa: well instead of lindens having to worry about scalability
- [11:48] Latif Khalifa: you let every resident worry about saving urls somewhere else ;)
- [11:48] Fisher Linden: sorry, I have to run
- [11:48] Fisher Linden: bye all
- [11:48] Anton123 Adder: bye fisher
- [11:49] Morgaine Dinova: Cyu Fisher
- [11:49] Enkidu Linden: see you fisher
- [11:49] Which Linden: l8rs!
- [11:49] Latif Khalifa: so worry devided around to everyone = scalabilty, fresh approach :P
- [11:49] Which Linden: heh heh
- [11:49] Which Linden: well it is teh REST-ful way
- [11:49] Latif Khalifa: NOOO
- [11:49] Which Linden: Apache's a lot easier to write than Firefox is
- [11:49] Latif Khalifa: rest does not change URI under your feet lol
- [11:50] Which Linden: No, that's true, but one principle of REST is to put the intelligence in the client
- [11:50] Which Linden: And the client in this sense is the script
- [11:50] Which Linden: And the external url service
- [11:50] Latif Khalifa: in case of http-in it needs intelligence + super awesome psychic powers to know where to connect to :)
- [11:51] Which Linden: It's not really restful, that's true, but it's, like, kinda rest-y
- [11:51] Enkidu Linden: restular
- [11:51] Which Linden: I guess I couldn't have thought of a design that had all the same properties but worked differently
- [11:51] Poppy Linden: and truthfully, we don't have anything as sophisticated as appengine internally
- [11:51] Poppy Linden: so, good on you :)
- [11:52] Latif Khalifa: hehe
- [11:52] Latif Khalifa: another thing about http-in
- [11:52] Latif Khalifa: so you can redirect GET request
- [11:52] Latif Khalifa: so this works transparently
- [11:52] Morgaine Dinova: The part of REST that HTTP-in uses is the Really Eclectic Server Technology part. ;-)
- [11:52] Latif Khalifa: but then lindens in their infinite wisdom limit QUERY_STRING to 255 chars
- [11:53] Latif Khalifa: (so internet explorer 3.0 like)
- [11:53] Latif Khalifa: so it forces you to use POST whic his not redirectible
- [11:53] Latif Khalifa: i asked Kelly, did he do it for the purpose of testing pain treshold of SL users lol
- [11:53] Morgaine Dinova: lol
- [11:54] Latif Khalifa: got some explanaiton how something between cap server and sim does not let him pass uri argumetns longer than 255 chars
- [11:55] Which Linden: Really? I'd have guessed it was some sort of DoS deterrernt
- [11:55] Poppy Linden: sounds reasonable for our infra;
- [11:55] Poppy Linden: its like a unix pipeline, i could imagine something along the path having a limit
- [11:55] Poppy Linden: (not that I can verify)
- [11:55] Poppy Linden: (just sounds reasonable)
- [11:56] Which Linden: Yeah...probably it's just in the cap router
- [11:56] Latif Khalifa: no, you can post up to 2MB
- [11:56] Latif Khalifa: but get only 255
- [11:57] Which Linden: It's cause they're treated as headers
- [11:57] Latif Khalifa: for the uninitated query string is the but of the url after question mark that is used to passed params
- [11:57] Latif Khalifa: ie 3.0 had 255 char limit in there too
- [11:57] Latif Khalifa: circe 1998
- [11:57] Poppy Linden: Latif, well, GET and POST are *quite* different :)
- [11:57] Enkidu Linden: i remember that
- [11:58] Latif Khalifa: Poppy, I know
- [11:58] Poppy Linden: does POST have the 255 URL limit too?
- [11:58] Latif Khalifa: that's why it sucks that you need to use POST
- [11:58] Latif Khalifa: Poppy, not for the URL
- [11:58] Latif Khalifa: post has 2MB body size limit
- [11:58] Morgaine Dinova: DoS deterrence by obscurity. :-) It would probably work in that role, except for the fact that normal operation would be broken unless the HTTP-in server tells the world its URL to make it accessible, and by telling the world, there is no more obscurity. ;-)
- [11:58] Latif Khalifa: of course there is no body size in get requests
- [11:59] Latif Khalifa: but the main difference for http-in is that GET can be redirected
- [11:59] Which Linden: Well that makes sense
- [11:59] Which Linden: In HTTP headers are line-delimited
- [12:00] Latif Khalifa: so my appengine app can say, oh you didn't really mean to connect to me, go over tehre to that SL object
- [12:00] Poppy Linden: internally most services are limited to 8K, but we still predominantly use POST instead of GET unless the params are very fixed
- [12:00] Which Linden: Wheras the body has a declared size
- [12:00] Which Linden: So you have to limit your header buffer sizes
- [12:00] Poppy Linden: well, unless it's chunked ;)
- [12:00] Which Linden: But yes agreed taht 255 is kind of a small limit
- [12:01] Which Linden: Even if it's chunked each chunk is a fixed size
- [12:01] Which Linden: Anyway, it's around time we wrapped up
- [12:02] Which Linden: Really appreciate the interesting discussion today
- [12:02] Latif Khalifa: Which, POST allows you to pass 2mb to LSL
- [12:02] Latif Khalifa: it would be only reasonable to allo GET to have that ability to :)
- [12:02] Latif Khalifa: * Linden, take care guys ;)
- [12:02] Poppy Linden: :)
- [12:02] Poppy Linden: you too, Latif
- [12:02] Enkidu Linden: thanks!
- [12:03] Latif Khalifa: Aimee, Morg, have fun
- [12:03] Morgaine Dinova: Cyu Which, and all. TC :-)
- [12:03] Which Linden: /\w+ \w+/, good to see you
- [12:03] Enkidu Linden: bye everyone!
- [12:03] Latif Khalifa: heheh
- [12:03] Which Linden: Laters! Thanks! :-)