User:Zero Linden/Office Hours/2007 Jun 21
< User:Zero Linden/Office Hours
Jump to navigation
Jump to search
Revision as of 16:12, 21 June 2007 by Zero Linden (talk | contribs) (New page: Transcript of Zero Linden's office hours: {| |- style="vertical-align:top;background-color:#FFFFFF;" | [7:36] | Saijanai Kuhn: | style="white-space:normal;"|ha...)
Transcript of Zero Linden's office hours:
[7:36] | Saijanai Kuhn: | have you looked at the LSL workarounds that peope use? It is scary |
[7:36] | Tree Kyomoon: | compatiblilty is generally either or, not really a percent |
[7:36] | Rex Cronon: | hello soft, are u zeroes guest for today office hours? |
[7:36] | Zero Linden: | Hello all |
[7:36] | Dr Scofield: | hi all |
[7:36] | Zha Ewry: | Morning, Zero |
[7:36] | Zha Ewry: | Morning, Soft.. |
[7:36] | Tree Kyomoon: | morning zero! |
[7:36] | Saijanai Kuhn: | morning |
[7:36] | Rex Cronon: | hi zero |
[7:37] | Zero Linden: | sorry I'm a bit late - traffic was a bear: The 5 year old wanted poached eggs and the baby needed a bottle.... |
[7:37] | Soft Linden: | Hey hey - nope, just snooping with the rest of ya. |
[7:37] | Saijanai Kuhn: | we've heard it all before... |
[7:37] | Rex Cronon: | ok |
[7:37] | Dr Scofield: | as long as you don't get those two confused |
[7:37] | Dr Scofield: | poached bottles |
[7:37] | Zha Ewry: | Wait till they start demanding to help make the eggs :-) |
[7:37] | Zha Ewry: | That takes three times as long |
[7:37] | Saijanai Kuhn: | baby and poached eggs...? |
[7:38] | Zero Linden: | Ah - I see someone was peeking at the slides |
[7:38] | Zero Linden: | first |
[7:39] | Tree Kyomoon: | now we know what you look like :) |
[7:39] | Zero Linden: | Right - I'm the one curlled up and sleeping in that picture |
[7:39] | Saijanai Kuhn: | ah, the poched egg |
[7:39] | Zha Ewry: | LOL |
[7:39] | Zero Linden: | slide 0 |
[7:40] | Zero Linden: | oops - two slide shows listenting to the same commands! |
[7:40] | Zero Linden: | well - that was a slide show from a talk RobLa and I gave yesterday |
[7:40] | Zero Linden: | at Usenix |
[7:40] | Zero Linden: | went pretty well |
[7:41] | Zero Linden: | It was preceeded by a talk by a a security expert who explained all the ways the WoW client can be hacked |
[7:41] | Zero Linden: | with code examples |
[7:41] | Zero Linden: | So - obligatory disclaimer - everything said here goes on the wiki |
[7:42] | Juliet Ceres: | cool |
[7:42] | Zero Linden: | SirChris and FIO - this is my office hours |
[7:42] | Zero Linden: | please come and be welcome |
[7:42] | Juliet Ceres: | so if I insult LL employees that will be mad public? |
[7:42] | Juliet Ceres: | great! |
[7:42] | Zero Linden: | yes |
[7:42] | Tao Takashi: | Hello! :) |
[7:42] | Tao Takashi: | little late today |
[7:42] | Zero Linden: | but if you are disruptive I'll ask you to leave |
[7:42] | Zero Linden: | :-) |
[7:42] | Tao Takashi: | "ask" ;-) |
[7:42] | Saijanai Kuhn: | sigh |
[7:43] | Zero Linden: | Soft - didn't see you there - welcome |
[7:43] | Tree Kyomoon: | holy radar head batman! |
[7:43] | Tao Takashi: | yes, congratulations to being a Linden, Soft :) |
[7:43] | Soft Linden: | Thanks, Z. Peeking in to see how you run your hours. :) |
[7:43] | Zero Linden: | Favorite Robin quote of all time: "Holy knit-one, perl-two, Batman!" |
[7:43] | Tree Kyomoon: | lol |
[7:44] | Zero Linden: | Okay - let's get started |
[7:44] | Saijanai Kuhn: | Robin, do you think that you're up for a one minute mile...? |
[7:44] | Zero Linden: | First off, did everyone see that we have a scheduled topic for next time: HetGrid? |
[7:44] | Zha Ewry: | Yes |
[7:44] | Zha Ewry: | Are you looking for questoins, on the topcic, Zero? |
[7:45] | Zero Linden: | Good - Sorry, for those of you in Europe, it will be at the later time |
[7:45] | Saijanai Kuhn: | The description onlline seemed kinda different than what you said earlier, Zero |
[7:45] | Zero Linden: | Babbage has promised to come do someting at this time slot too |
[7:45] | Zero Linden: | Zha - If you have advance questions, I'm sure Tess would love to see them -- put them in the wiki page |
[7:45] | Tao Takashi: | when will it be? |
[7:45] | Zha Ewry: | k |
[7:45] | Rex Cronon: | will he do a torpedo game:) |
[7:46] | Zero Linden: | FIO - I'm not sure you're getting the point here |
[7:47] | Saijanai Kuhn: | anyone speak drunken froggy? |
[7:47] | Zero Linden: | Juliet Ceres: ah, sorry for bothering you, I thought this was the place to actually as questions concerning technical questions about issues that SL has at the moment |
[7:47] | Rex Cronon: | the things that copybot is good at, lol |
[7:47] | Zero Linden: | Zero Linden: It is |
[7:47] | Zero Linden: | Juliet Ceres: well then I'm going to inform you that the economy of SL is breaking down at the moment because over 50% of your residents can'T buy Lindens anymore |
[7:48] | Zero Linden: | Juliet Ceres: this is a technical issue with paypal |
[7:48] | Zero Linden: | Juliet - is this a new technicall issue with paypal? |
[7:48] | Juliet Ceres: | no |
[7:48] | Juliet Ceres: | it's a week old |
[7:48] | Zero Linden: | Have you put an issue in the public JIRA? |
[7:48] | Juliet Ceres: | ther eare blog posts about this |
[7:48] | Zero Linden: | If you have technical issues, bugs, etc... then that is the place |
[7:48] | Juliet Ceres: | and I'Ve talked to teeple linden about this, too |
[7:49] | Juliet Ceres: | it'S not MY technical issue |
[7:49] | Juliet Ceres: | it's YOURS |
[7:49] | Rex Cronon: | most of the people find it very hard to post anything to jira |
[7:49] | Zero Linden: | Juliet - you can hardly expect me know or fix it if it isn't reported |
[7:49] | Juliet Ceres: | excuse me, I'm really trying to not yell at you at the moment |
[7:49] | Juliet Ceres: | which is very hard |
[7:50] | Juliet Ceres: | ok |
[7:50] | Zero Linden: | Recognize this about bugs and issues and problems |
[7:51] | Zero Linden: | Now - there are between 600k and 1.6M active residents (depending on how you count) |
[7:51] | Zero Linden: | and there are 180 Lindens, only 35 of which are developers |
[7:51] | Juliet Ceres: | cool |
[7:51] | Juliet Ceres: | griefing attack |
[7:52] | Juliet Ceres: | really awesome |
[7:52] | Avatar ejected. | |
[7:52] | Zha Ewry is impressed with Zero's patience and politeness and expects it is about to end... | |
[7:52] | Juliet Ceres: | I know one thing |
[7:52] | Zero Linden: | bah |
[7:52] | Saijanai Kuhn impressed with stupidity of griefers to attack LInden on his home turf... | |
[7:52] | Zero Linden: | sorry |
[7:52] | Zero Linden: | had to handle that |
[7:52] | Rex Cronon: | i think zero might be a in good mood today. he hasn't crashed like 4-8 times in a row yet |
[7:52] | Zero Linden: | We need to work together to get stuff done |
[7:53] | Juliet Ceres: | I'm NOT going to post this on JIRA because that's just a hassle, my post will get ignored and some developers know about this issue already anyway |
[7:53] | Juliet Ceres: | AND it should be enough for you to act on it since I'm telling that to you now |
[7:53] | Zero Linden: | I'm sorry if helping make this place work is a hassle to you |
[7:53] | Juliet Ceres: | not only you, but Benjamin and Teeple Linden as well |
[7:53] | Zero Linden: | No, Juliet, you haven't told me enough to act at all |
[7:53] | Juliet Ceres: | benjamin through his office hours and Teeple to Live support |
[7:54] | Zero Linden: | the statment "50% of your residents can't buy Lindens because of a bug a paypal" doens't help me identify what in the world you are talking about |
[7:54] | Juliet Ceres: | I'm actually completely in awe that a matter of this magnitude seems to completely have escaped you |
[7:54] | Zero Linden: | on the face of it, the statement is inflamatory |
[7:54] | Tao Takashi: | maybe working at LL makes you being patient... :) |
[7:54] | Juliet Ceres: | paypal doesn'T work |
[7:54] | Juliet Ceres: | at all |
[7:54] | Zero Linden: | is that 50% based on reality? or you sampling of a few people? I'm pretty sure we'd have klaxons in the office going off if 50% of residents coulnd't buy Lindens |
[7:54] | Juliet Ceres: | you can't cash in inworld |
[7:54] | Juliet Ceres: | or via the web |
[7:55] | Juliet Ceres: | people are borrowing money from others and turning to slexchange and other sites to use them |
[7:55] | Soft Linden: | May I offer something, regarding JIRA? |
[7:55] | Juliet Ceres: | only credit cards seem to work |
[7:55] | Rex Cronon: | zero, u do have to realize that people might not know how to get help. and they might be really pissed off because they can't pay for their land and can loose it |
[7:55] | Tao Takashi: | in fact my CC did not work but I wanted to check it first again before filing a bug report |
[7:55] | Juliet Ceres: | yeah |
[7:55] | Juliet Ceres: | credit cards don'T work much either |
[7:55] | Juliet Ceres: | if you were reading your own blog then you would know about that |
[7:55] | Juliet Ceres: | gosh, this is disgusting |
[7:56] | Juliet Ceres: | I'm gonna leave |
[7:56] | Juliet Ceres: | bye |
[7:56] | Soft Linden: | JIRA helps us quite a bit, even if it is a known issue, as other residents with similar issues can see the issue and add details. It helps us to get enough information to narrow down the problem and see exactly what's happening. |
[7:56] | Zero Linden: | Rex - I sympathize with residents having payment problems - but I'm pretty sure that it isn't 50% of residents --- not that I want any residents to not be able to pay |
[7:56] | Dr Scofield: | /lb |
[7:56] | lightbee: Hello Captain. Touch me to put me away. | |
[7:56] | Zero Linden: | but - without detailed reports, by many people, we will have no hope of finding the problem out |
[7:57] | Tao Takashi: | just leaving is not the best way to get things solved... |
[7:57] | Zero Linden: | "paypal just doesn't work" is certainly a gross generalization |
[7:57] | Saijanai Kuhn: | The problem IS mentioned in the BLOG but as something that is semi-resolved. |
[7:57] | Rex Cronon: | maybe some lindens at least should read the blog entries by residents. there were quite a few ones that complained they can't pay |
[7:57] | Tree Kyomoon: | I dont think she wanted to solve anything...she just wanted to have a tantrum |
[7:57] | Zero Linden: | we'd need to know for which accounts so that we could learn what it is about those accounts that fail |
[7:57] | Zha Ewry: | And. 5 seconds ago, credit card payement worked, with no hassle |
[7:57] | Saijanai Kuhn: | http://blog.secondlife.com/2007/06/19/update-in-world-lindex-purchases/ |
[7:58] | Tao Takashi: | you can start with mine and my CC card ;-) |
[7:58] | Zero Linden: | Now - the inworld LindeX issues this weekend were due to this: |
[7:58] | Tao Takashi: | but as said I will test it again first. it says that my payment information is not correct |
[7:58] | Zero Linden: | The transactions were going through but taking over 30seconds |
[7:58] | Tao Takashi: | so I first wanted to update it again |
[7:58] | Zero Linden: | the HTTP request being made by the viewer to make the request was timing out |
[7:58] | Zero Linden: | and so, the viewer thoought the transaction failed, when in fact it went through |
[7:58] | Tao Takashi: | and actually I think it also took quite a bit before that message came, so who knows maybe it's a timeout, too |
[7:59] | Tao Takashi: | just with the wrong error message |
[7:59] | Zero Linden: | Incidentally, this is a curious failure mode of REST |
[7:59] | Zero Linden: | If you get a response, then you know for certain that a transaction went through |
[7:59] | Zero Linden: | BUT, if you don't get a response |
[7:59] | Zero Linden: | you have no clue if the transaction did or did not happen |
[8:00] | Zero Linden: | if the operation is idempotent (like a page GET), then it doesn't matter |
[8:00] | Zero Linden: | but if it is a form POST - say a LindeX buy |
[8:00] | Zha Ewry nods, "Thus the need to keep operations idempotent" | |
[8:00] | Zero Linden: | then this is an issue |
[8:00] | Dr Scofield: | RPC basics |
[8:00] | Tao Takashi: | ok, so maybe need to do polling or whatever to check the state or have some callback |
[8:00] | Zero Linden: | Right - so Pheonix Linden and Which LInden are designing |
[8:00] | Zero Linden: | an layer above HTTP that enables form POSTs to be idempotent |
[8:00] | Zero Linden: | If you post and get no response |
[8:01] | Zero Linden: | you can just post again |
[8:01] | Rex Cronon: | i have question. where can i get more info about what allowed some people to have access to script code that they weren't supposed to be able to see? |
[8:01] | Zero Linden: | if the operation really did go through, you just get the same answer back, without the transaction being double billed |
[8:01] | Dr Scofield: | transaction IDs |
[8:01] | Zha Ewry nods, "Retry, and if it did go through, reject | |
[8:01] | Zero Linden: | This weekend, we turned off LindeX because too many residents were doing it again and again and again |
[8:01] | Zero Linden: | only to discover they had bought several times the Lindens than they had wanted |
[8:02] | Zha Ewry: | The killer with REST, is that you have to be really clear on the retry semantics. |
[8:02] | Dr Scofield: | ouch |
[8:02] | Zero Linden: | It is clear from the blog post - oh - Juliet left in disgust - that folk know about it |
[8:02] | Saijanai Kuhn: | bouncing credit cards are worse than not paying most bills... |
[8:02] | Zero Linden: | inside - |
[8:03] | Zero Linden: | if that is the case, the coming and being alarmist at Lindens doesn't help get the job done any faster |
[8:03] | Zero Linden: | providing data, example cases, from trouble tickets and JIRA entries, does help |
[8:04] | Tree Kyomoon: | thats what I try to tell people...I think its up to the more knowledgeable residents to help less technical folks get their bugs reported |
[8:04] | Zha Ewry: | Its a fine line... It *would* be nice, if when issues like this are open.. there were more frequent updates... but of course, every ten minutes spent updating the blog, is ten minutes not spent fixing stuff |
[8:04] | Tree Kyomoon: | rather than having thousands of ludites storming the linden castle with pitch forks and torches |
[8:04] | Rex Cronon: | but shouldn't those that help get something for their help? |
[8:05] | Tree Kyomoon: | we get the satisfaction of knowing we did the right thing |
[8:05] | Tree Kyomoon: | and we get a better SL |
[8:05] | Saijanai Kuhn: | JIRA has issues as well... |
[8:05] | Rex Cronon: | sadly sometimes that is not enough |
[8:05] | Zero Linden: | Well, compared to every other company I know, we give more udpates than anyone I know |
[8:06] | Saijanai Kuhn: | https://jira.secondlife.com/browse/WEB-153 |
[8:06] | Tree Kyomoon: | well its enough for me |
[8:06] | Tao Takashi: | you even have office hours ;_) |
[8:06] | Zero Linden: | As for what to update - it is a mess - we get slammed when we update with technical details - "what is that techno-babble?!?!?!" |
[8:06] | Saijanai Kuhn: | its an overwhelmingly impressive job considering... |
[8:06] | Saijanai Kuhn: | that said... ;-) |
[8:06] | Zero Linden: | We get slammed when we give quick summary updates "Why don't you tell us what is really going on?" |
[8:07] | Dr Scofield: | just do both :-) |
[8:07] | Zha Ewry: | And get slammed twice ;-) |
[8:07] | Tree Kyomoon: | I know...thats why you need to enable an army of volunteers to help communicate to the masses |
[8:07] | Dr Scofield: | right |
[8:07] | Tao Takashi: | but then I wonder why you have one blog for everything.. |
[8:07] | Soft Linden: | Worth noting too that being active in the community - JIRA, open source, support, etc - is a great asset if you ever go looking for a job at Linden Lab, or with the various companies doing business in SL ;) |
[8:07] | Tao Takashi: | I mean for general updates it's great but if you e.g. want to announce some change in your office hour schedule I hardly notice if not attending regularly |
[8:08] | Zero Linden: | Tao - it has categorized channels |
[8:08] | Zero Linden: | No one uses 'em |
[8:08] | Dr Scofield: | build a castle that people can storm and raid |
[8:08] | Zero Linden: | but we used to have multiple blogs - and then people felt they were missing stuff |
[8:08] | Tree Kyomoon: | we could have a "complaints" island |
[8:08] | Zero Linden: | or had to know enough to read multiple blogs |
[8:08] | Dr Scofield: | right! put the castle on compaints island |
[8:09] | Dr Scofield: | then people can vent their frustrations by storming that one and raiding it |
[8:09] | Tao Takashi: | you could link to more detailed blog posts maybe |
[8:09] | Rex Cronon: | there need to be a way for people to get access fast to lindens. in case of emergencies |
[8:09] | Tao Takashi: | I know it's not easy esp with such a diverse crowd |
[8:09] | Tree Kyomoon: | I am in two island owner advisory groups, and I work hard to ensure my members vritually never have to go to the lindens except to visit and say hi, great job |
[8:09] | Zero Linden: | We generally try to put a "<--more-->" break in them -- or at least I do |
[8:09] | Tao Takashi: | in general though I think you do a great job esp. compared to e.g. one year ago |
[8:10] | Zero Linden: | We really try very hard to be open - it is a corporate value we hold very high |
[8:10] | Tao Takashi: | who would have thought that we would be sitting in-world with a Linden talking highly technical stuff |
[8:10] | Zero Linden: | I'm always amazed how people think we have these giant, secret agendas |
[8:10] | Dr Scofield: | you don't??? |
[8:10] | Tao Takashi: | well, back then it felt all very much top secret |
[8:10] | Zero Linden: | Or that we are lolling about on our yachts sipping MaiTai's.... |
[8:11] | Tao Takashi: | of course it's a bit silly after you go open source anyway ;-) |
[8:11] | Zha Ewry: | Virtual Yachts, Vitual MaiTais |
[8:11] | Zero Linden: | Jeeves, bring more cucumber sandwiches please.... |
[8:11] | Dr Scofield: | aren't you funded by the alliance? |
[8:11] | Zero Linden: | D'oh - wrong window!!!! |
[8:11] | Rex Cronon: | is nice to be able to talk about technical things with a linden |
[8:11] | Tao Takashi: | bring more! :) |
[8:11] | Tree Kyomoon: | again, us knowledgeable members can help by taking every opportunity to dispell myths and offer technical information and help to noobs |
[8:11] | Rex Cronon: | the server code is not open source yet |
[8:12] | Zha Ewry nods "I seem to spend at least 10-15 minutes a day on that task." | |
[8:12] | Couch sit 2(male model setup) RED: Zha Ewry, say '/1 Hide' to hide me, or '/1 Show' to make me show. Or just right-click and sit on me to use me. | |
[8:12] | Tao Takashi: | which reminds me of one rumour which was mentioned, that LL is letting some other people host their own sims. Is this true or just came out of "professional" journalism? |
[8:12] | Zha Ewry: | People have the strangest ideas about how SL works. Sort of techno pagans, it's like magic" |
[8:13] | Dr Scofield: | lol |
[8:13] | Tree Kyomoon: | its like us programmers are that robert de niro character in "Brazil" |
[8:13] | Saijanai Kuhn: | there is a bit of Cargo Cult to building and scripting in SL |
[8:13] | Dr Scofield: | i'm constantly amazed at how you guys at linden lab manage to get all those litte people in there |
[8:13] | Rex Cronon: | i do have a technical question. does ll uses UML? |
[8:14] | Tao Takashi: | probably Zero is crashed ;-) |
[8:14] | Tao Takashi: | or is eating sandwichs ;-) |
[8:14] | Saijanai Kuhn: | quick drag out the copying mchine |
[8:14] | Dr Scofield: | or he poached his laptop |
[8:15] | Saijanai Kuhn: | heh |
[8:15] | Saijanai Kuhn: | I'm trying to devise requests for LSL extensions that fit with the way things work right now. WOuld be nice if we knew more about how things worked... |
[8:16] | Tree Kyomoon: | well they have pretty much everything documented in the wiki |
[8:16] | Zha Ewry: | Saijanai, have you read the transcripts Zero's posted. There's a lot of detail in there |
[8:16] | Zero Linden: | No - we don't use UML at all - though one of the engineers just this week set up a "Linden U" - internal workshop - on the subject |
[8:16] | Dr Scofield: | what are you thinking about? if, i may ask, just curious.... |
[8:16] | Saijanai Kuhn: | will hunt for it |
[8:16] | Tree Kyomoon: | there is nothing about LSL that google cant dig up |
[8:17] | Saijanai Kuhn: | mmmm... I'm pretty esoteric, but I'll look |
[8:17] | Rex Cronon: | so everybody has memorized the c++ code for all the classes and can recall at least all the function each class has? |
[8:17] | Zero Linden: | Rex, no |
[8:17] | Zero Linden: | but I have to admit bias in this case - I don't think UML helps that problem |
[8:17] | Zero Linden: | There are two things that do |
[8:17] | Dr Scofield: | source code & recursive grep |
[8:18] | Zero Linden: | Really well written .h files |
[8:18] | Zero Linden: | and Really well designed classes |
[8:18] | Tree Kyomoon: | what is your comment/ variable/method naming policy in general? |
[8:20] | Rex Cronon: | the problem with header files is that u can declare whole functions in it, and also additional classes. than u have to switch back and forth between the header file and file that has the functions code |
[8:20] | Zero Linden: | Tree - we ahve a coding convention page |
[8:20] | Saijanai Kuhn: | that's where the "really well written" comes in I think |
[8:20] | Zero Linden: | don't know if that is in the public wiki or no, should be |
[8:20] | Soft Linden: | Sure, it is -- https://wiki.secondlife.com/wiki/Coding_standard |
[8:20] | Zha Ewry nods it comes down to disclpline | |
[8:20] | Tree Kyomoon: | thanks! |
[8:21] | Zero Linden: | Rex - abstractly - I think that one should be able to understand the class from the headerfile, from the interface |
[8:21] | Zero Linden: | if you need the implementation to understand it, then the class isn't well designed, or the header isn't well written |
[8:21] | Zero Linden: | in the case of the code base here - indeed it is often that way, sigh |
[8:21] | Zha Ewry: | And culture, if your coding culture encourages good .h files, and penalizes bad ones, you'll be able to read them. |
[8:22] | Dr Scofield: | good code is really about having a good culture and good discipline |
[8:22] | Zha Ewry: | Ick. If you have to look inside the implentation, it isn't a class, is it? It's lost the encapsulation |
[8:22] | Zero Linden: | I believe it is a negative aspect of langauges like Java, Python, Perl, PHP, that they have no explicit sepearation |
[8:22] | Zero Linden: | though to be fair, you can often achieve it with abstract super classes |
[8:22] | Zero Linden: | Zha - yes, exactly |
[8:23] | Tao Takashi: | I mostly use UML diagrams more for quick sketches, not really to define the complate class definition |
[8:23] | Saijanai Kuhn notes there is no obfuscated Smalltalk Code Competition... | |
[8:23] | Rex Cronon: | not all functions are simple, and they declare vars that u have to look in other header files to know what they do. u can have a whole set of functions doing that. this is where uml might help. it would allow u to see the big picture |
[8:23] | Tao Takashi: | more for the overview and interaction between those classes or to actually find them |
[8:23] | goatstone Writer shouts: holllaaaa | |
[8:23] | Zha Ewry: | Well, Saij, you can write good code in any language, and bad... But.. some do make it better, and harder |
[8:24] | Zero Linden: | Rex - are you refering to our code base? If so, I think the problem is that design pattern, not the lack of UML! |
[8:24] | Zero Linden: | though yes, a post-facto UML diagram could help comprehension |
[8:24] | Tree Kyomoon: | how many lines of code in the current sl client roughly? |
[8:25] | Zero Linden: | dunno - lesseeee |
[8:25] | Rex Cronon: | i was talking about the code for the viewer |
[8:25] | Zero Linden: | 1011206 |
[8:25] | Tao Takashi: | well, for us to understand the interactions between sim, databases, viewer and whatnot better, some UML diagram would also help ;-) |
[8:25] | Tree Kyomoon: | omg |
[8:25] | Tree Kyomoon: | wow |
[8:26] | Zero Linden: | hard to say, as there is alot of shared coe |
[8:26] | Tree Kyomoon: | well that puts things into perspective |
[8:26] | Saijanai Kuhn: | written in Ada? |
[8:26] | Zero Linden: | viewer only code: 344814 |
[8:26] | Zero Linden: | sim only code: 173351 |
[8:26] | Tree Kyomoon: | I manage an app that is hovering around 4000 give or take, and its pretty much full time for me |
[8:26] | Zero Linden: | The remainder is various common libs |
[8:26] | Tao Takashi: | remainder is top secret projects ;-) |
[8:27] | Zero Linden: | Ada?.... no, APL! |
[8:27] | Tao Takashi: | Assembler |
[8:27] | Dr Scofield: | funded by the alliance |
[8:27] | Saijanai Kuhn: | designed to give users headaches, those projects... |
[8:27] | Dr Scofield: | lol |
[8:27] | Tree Kyomoon: | so how much of that would an individual developer be responsible for on average? |
[8:27] | Saijanai Kuhn: | Starwars level code |
[8:27] | Zero Linden: | We don't have ownership of code -- which I think is a good thing |
[8:27] | Dr Scofield: | may the source be with you |
[8:27] | Zero Linden: | So developers are not responsible for a section |
[8:28] | Zero Linden: | When I work on the code, I might work on a few thousand lines area for a week or two |
[8:28] | Tree Kyomoon: | so everyone works on everything? |
[8:28] | Dr Scofield: | do you do code reviews? |
[8:28] | Zero Linden: | Though some projects are like a whole week to fix three lines! |
[8:28] | Rex Cronon: | the perils of working with pointers |
[8:28] | Zero Linden: | Well, everyone *could* work on everything - in practice, some people specialize more than others |
[8:28] | Saijanai Kuhn: | that sounds more like design issue than coding issue |
[8:29] | Zero Linden: | I'm a generalist, but I don't work on rendering code at all |
[8:29] | Tree Kyomoon: | hmm thats a good situation to be in, no one is a lynchpin then |
[8:29] | Zero Linden: | We do do code reviews or pair programming |
[8:29] | Zero Linden: | So changes are supposed to be vetted by at least two sets of eyes |
[8:29] | Tree Kyomoon: | man I would love to have that kind of situation at work |
[8:29] | Dr Scofield: | sounds like a fun place to work :-) |
[8:29] | Zero Linden: | Yes - I like to say "No Ego In Code" |
[8:29] | Tree Kyomoon: | I am all alone :) |
[8:29] | Tao Takashi: | are there some open source sprints planned, btw? :) might be nice |
[8:30] | Zero Linden: | Tao - I was just talking to RobLa about some ideas for such things yesterday |
[8:30] | Zero Linden: | but that would be a few months out |
[8:30] | Zha Ewry: | Pair coding, is very good |
[8:30] | Tao Takashi: | cool, just had the best experiences with many of them regarding Plone |
[8:30] | Zero Linden agrees with Rex about pointers.... | |
[8:30] | Zha Ewry: | Having to explain what you're doing, is the best way to find stupdi ugs |
[8:31] | Tao Takashi: | and esp. if Lindens are attending it might be quite productive |
[8:31] | Zha Ewry: | The number of times I've gone "And then we'll iterate across the.." pause. pause "Oh, shoot." |
[8:31] | Dr Scofield agrees, we shuld do more of that at IBM | |
[8:31] | Zha Ewry: | is substantial |
[8:31] | Saijanai Kuhn: | if you caqn't explain it, how can you code it? |
[8:31] | Tree Kyomoon: | absolutely |
[8:31] | Zero Linden: | Zha - actually I like to have the reviewer explain it back to the programmer |
[8:31] | Zha Ewry: | Yeah |
[8:31] | Tree Kyomoon: | I can only dream unfortunately the bosses wont let me hire a doppleganger |
[8:31] | Zha Ewry: | Both ways |
[8:31] | Zero Linden: | That really ferrets out if the code is clear |
[8:31] | Zha Ewry: | Yes |
[8:31] | Zha Ewry: | And, encourages people to avoid P, I, and J for varibale names |
[8:32] | Saijanai Kuhn blushes | |
[8:32] | Zero Linden: | Of course, that is what pair programming is all about - doing that continuously, both ways, as you write the code in the first place |
[8:32] | Tree Kyomoon: | but that gives me a lot more confidence in the stablity of the SL app |
[8:32] | Tao Takashi: | I also like A,B and C more ;_) |
[8:32] | Zero Linden: | I find that it is usually a HUGE hurdle to get programmers to try pair programming - |
[8:32] | Very Susanti: | yes like that way better, explaining your own code is easy and it is too easy for your pair programmer to just listen and not really think about what you are saying |
[8:32] | Zero Linden: | - and that once they really try it - damn, they're hooked |
[8:32] | Zha Ewry: | Zero, it would be interesting, as part of the ongong hetgrid discussion, to have some time talkign about how residents can help testing |
[8:33] | Zha Ewry: | Once you're going to be able to deploy test code in the mainworld.. it should really change the dynamic |
[8:33] | Very Susanti: | that and finding the cycles |
[8:34] | Zero Linden: | Well one idea we've been having is doing one of our next big pieces entirely in the open |
[8:34] | Zero Linden: | Code it open source from day one, in the public eye |
[8:34] | Zero Linden: | I suspect you'd all be very open to this notion? |
[8:34] | Tree Kyomoon: | wow nice |
[8:34] | Rex Cronon: | btw, since the last update i have been crashing like crazy. so i decided to take drastic measures. i deleted all the files from "C:\Documents and Settings\user_name\Application Data\SecondLife\cache\textures" and since i started doing that before each login I no longer crash. i hope that this helps others that are crashing. |
[8:34] | Zha Ewry: | Yeas, tho.. |
[8:34] | Dr Scofield: | nah, nah, keep it secret! |
[8:34] | Dr Scofield: | lol |
[8:34] | Saijanai Kuhn: | need to brush up (learn) MacOS X IDE... |
[8:34] | Tao Takashi: | that's how it should be, shouldn't it? :) |
[8:34] | Zha Ewry: | there are some fun license issue, but yes |
[8:34] | Saijanai Kuhn: | note to self... |
[8:35] | Zero Linden: | It would be a pretty bold step, but I think it will allows the best eyeballs in the industry to help out without lots of "deals" needing to be negotiated |
[8:35] | Tao Takashi: | but I understand of course that not everything is good for such an approach |
[8:35] | Very Susanti: | I know someone who finds closeing IM windows are one major source of her crashing |
[8:35] | Tree Kyomoon: | I would love to just observe it |
[8:35] | Very Susanti: | so she logs out to clear her IMs |
[8:35] | Zero Linden: | Saijanai - most of it would be Unix server stuff - so dust off your Linux desktop |
[8:35] | Dr Scofield: | actually, i think that approach would be terrific, and further establish SL as the leading VW platform |
[8:36] | Saijanai Kuhn: | gcc on Mac wouldn't cutit? |
[8:36] | Tao Takashi: | at discussions on barcamps I noticed always that everybody is just waiting for SL to be replaced by a better platform |
[8:36] | Zero Linden is liking what Saijanai is thinking! | |
[8:36] | Tao Takashi: | because of all the technical shortcomings they mention... |
[8:36] | Zero Linden: | It should, Saijanai, it should |
[8:36] | Saijanai Kuhn: | note to self... |
[8:37] | Tao Takashi: | which always sound as if LL is sleeping |
[8:37] | Zha Ewry: | Well, if you can get to a build environment that is basically gcc |
[8:37] | Zero Linden: | right now you can't compile the simulator on Mac because of Havok.... but that is the only peice that can't be run on a Mac right now |
[8:37] | Very Susanti: | woo hoo develop in eclipse |
[8:37] | Dr Scofield: | emacs |
[8:37] | Zha Ewry: | you'll also get rid of some really odd development environemnt setup pain |
[8:37] | Tree Kyomoon: | Have you guys looked at Microsoft Surface yet? Wondering how that would play into SL |
[8:37] | Zero Linden: | Oh yeah, we're sleeping with those MaiTai's on our Yachts.... |
[8:37] | Tao Takashi: | like decentralized servers, decentralized load balancing maybe and the like.. I just wonder if other VWs will be more into that direction |
[8:37] | Zha Ewry mutters about visual studio setup config files | |
[8:38] | Tree Kyomoon: | as interfaces become generally less mouse/keyboard/monitor - y |
[8:38] | Tao Takashi: | the ones we hear about do not seem to be any more open |
[8:38] | Saijanai Kuhn is ancient Codewarrior-- he even has the T-shirt! | |
[8:38] | Zero Linden: | Tree - there have been several touch screen systems we've seen over the last two years |
[8:38] | Tree Kyomoon: | surface is an entirely new approach to UI, not just touch |
[8:38] | Tao Takashi: | some 3d mouse interface would be nice to move objects around etc. |
[8:38] | Rex Cronon: | have people heard of wonderland, is supposed to be something similar to SL but in java, and no inworld editing |
[8:38] | Zero Linden: | There was this GREAT one out of Stanford I saw this Spring where these grad students had done a really cool space game where you gave orders by drawing tatical maps with your fingers |
[8:38] | Zero Linden: | it was awesome |
[8:38] | Zha Ewry: | So, Zero, if you did a full open source implemntatoin attack, what would you do to document the design approaches, as you |
[8:38] | Zero Linden: | I'd love that for SL |
[8:39] | Zha Ewry: | started up a project? |
[8:39] | Saijanai Kuhn: | Squeak has a baby SL project associated with it |
[8:39] | Zero Linden: | Zha - I don't know - suggestions? |
[8:39] | Zha Ewry: | I'll think about it |
[8:39] | Tao Takashi: | a 3d mouse might be ergonomically problematic though |
[8:39] | Zha Ewry: | You'll have this funny |
[8:39] | Zha Ewry: | period of time, when you don't have enough coded |
[8:39] | Tao Takashi: | imagine having your arm in the air all the time |
[8:39] | Zero Linden: | Wiki? Full time doc. person? Doxygen? |
[8:39] | Zha Ewry: | for people to see where you are going |
[8:39] | Saijanai Kuhn: | Thrack --Theramin-based 3D control device |
[8:39] | Zha Ewry: | But.. you know where you want to go |
[8:40] | Zha Ewry: | Docygen has appeal |
[8:40] | Tree Kyomoon: | is anyone working on an SL client for WII or XBox? |
[8:40] | Zha Ewry: | (even if I can't type it) |
[8:40] | Dr Scofield: | doxygen |
[8:40] | Zero Linden: | Tree - we are not. Don't know about the community. |
[8:40] | Dr Scofield: | document the code as you go |
[8:40] | Tree Kyomoon: | SEems like Microsoft should do one |
[8:40] | Zero Linden: | Alas, I think Doxygen makes one mistake - which is small, but I annoys me to no end: |
[8:40] | Tree Kyomoon: | since they have an island here anyway |
[8:41] | Zero Linden: | It favors commenting before the declarations, not after |
[8:41] | Very Susanti: | how well does that work in practice DR? |
[8:41] | Zero Linden: | I'm a programmer, I read code, let me read the code and then annotate it for me |
[8:41] | Zero Linden: | if the code wasn't clear |
[8:41] | Zha Ewry: | What's sort of fascinating is how to get basic building blocks laid out, in a common space |
[8:41] | Zha Ewry: | early on, and hash out those design decisions in public |
[8:41] | Dr Scofield: | works quite nicely, if you enforce that bit of discipline |
[8:41] | Zha Ewry: | Heh. |
[8:41] | Zero Linden: | Comment before the declaration is: "Let me tell you all in english... then you can see the code" |
[8:41] | Zha Ewry: | If the variable names are good, and the code clearly written |
[8:41] | Zha Ewry: | the comments are about approach and tricks |
[8:42] | Zero Linden: | And yes, Doxygen does support comment after, just a bit more verbose syntax |
[8:42] | Zha Ewry: | And should be lightly sprinkled, if you need a lot of comments to explain the line of code.. then.. you've either |
[8:42] | Tree Kyomoon: | oooh ooh very important question.....I want to bring in a commercial software client, but I would need to be able to disable alt-cam for the project to work, is that a possiblity? |
[8:42] | Zero Linden: | Note: comment after ideas come from "Large-Scale C++ Software Design" by Lakos |
[8:42] | Very Susanti: | I find people have different I deas about what is clearly written |
[8:42] | Zha Ewry: | been *very* clever, and better have a good reason, or you chose bad names |
[8:42] | Zha Ewry: | Oh, John's book. |
[8:43] | Zero Linden: | Zha - I agree 100% --- you know John Lakos? |
[8:43] | Dr Scofield uses the comments before the declaration to document the method | |
[8:43] | Zha Ewry: | John can be a bit of a facist |
[8:43] | Zha Ewry: | but he's very good about the key issues |
[8:43] | Dr Scofield: | normal comments in the code itself |
[8:43] | Zha Ewry: | Yeah, took a large scale C++ implemtatin course from him, back about a decade ago |
[8:43] | Zero Linden: | Tree - not sure what you mean? You want to build a custom viewer for some purpose, but you want to diable the ability for the user to move the camera? |
[8:43] | Zero Linden: | I'm sure that is a simple code change |
[8:44] | Tree Kyomoon: | hmm ok |
[8:44] | Zha Ewry: | Back when he was wrting the book, in fact... |
[8:44] | Tree Kyomoon: | basically gametap needs to be in SL |
[8:44] | Zero Linden: | Well, yes, he is dogmatic - but damn his dogma is practical and effective! |
[8:44] | Zha Ewry: | Yeah |
[8:44] | Zha Ewry: | It is |
[8:44] | Saijanai Kuhn: | would need to disable any calls from LSL also |
[8:44] | Zero Linden: | Remember, of course, that camera moving is mostly entirely viewer-side |
[8:44] | Zha Ewry: | And.. he gets 90% of seperating interface from implemnation right |
[8:45] | Tree Kyomoon: | so a custom viewer could handle it then |
[8:45] | Zero Linden: | (server side is that your camera affects your interest list, which affects what data gets sent to you) |
[8:45] | Zha Ewry: | (He and I come to hammer blows about the last 10%, mind you) |
[8:45] | Rex Cronon: | so u don't want the users to cheat when playing the game:) |
[8:45] | Zero Linden: | Zha - of course 90% is waaaaaay better than most code in the wild |
[8:45] | Zha Ewry: | Well, yeah |
[8:45] | Tree Kyomoon: | but it would be ideal if folks could TP to the game using this viewer |
[8:45] | Tree Kyomoon: | so if there was a way to disable some of their controls it would make this feasable |
[8:45] | Saijanai Kuhn: | could implement the game using special cameras that show the proper view... |
[8:46] | Zero Linden: | Well all - this has been a, er, lively office hours! |
[8:46] | Dr Scofield: | lol |
[8:46] | Zha Ewry: | Very |
[8:46] | Zero Linden: | Again, special guest and topic next Tuesday - |
[8:46] | Saijanai Kuhn nevergot to ask his question... /snif | |
[8:46] | Zero Linden: | if you have questions in advance, please add to wiki and I'll point Tess there |
[8:46] | Rex Cronon: | u can require users to wear scripted attachments that deny some thing |
[8:46] | Zero Linden: | Sorry - Saijanai - is it quick? |
[8:47] | Zha Ewry: | Zero, thanks for hosting as always.. |
[8:47] | Tao Takashi: | can you now fix my credit card problem? ;-) |
[8:47] | Saijanai Kuhn: | just wonmdering if a server side batch process of things like relinking from a list would save much time? |
[8:47] | Tao Takashi: | and yes, thanks for hosting :) |
[8:47] | Tao Takashi: | always great times here |
[8:47] | Zero Linden: | relinking - prims? |
[8:47] | Dr Scofield: | thx for having us |
[8:47] | Saijanai Kuhn: | yes. |
[8:47] | Very Susanti: | sure just give us your number and expriration date (and the pin code) |
[8:47] | Very Susanti: | lol |
[8:47] | Tao Takashi: | it's all on my blog, Very ;-) |
[8:47] | Tao Takashi is so open ;-) | |
[8:48] | Zero Linden: | no - not really- What would save user time would be some sort of "assembly" description - so you can build objects and then have them all reassmbled into things you need |
[8:48] | Tao Takashi: | the web2.0 culture, ya know? :) |
[8:48] | Zero Linden: | but it doesn't really take server time too much to do the linking. |
[8:48] | Zha Ewry: | Nesting |
[8:48] | Zero Linden: | anyhow - till next time |
[8:48] | Zero Linden: | thanks for coming |
[8:48] | Tao Takashi: | cya Zero! |
[8:48] | Zha Ewry: | Yes, and thanks again |
[8:48] | Rex Cronon: | bye |
[8:48] | Dr Scofield: | cu! |
[8:48] | Tree Kyomoon: | thanks zero! |