MediaMOO Symposium:

Who Sped Up the MOO?


An online panel discussion featuring:
Jay Carlson, Mitre
Ben Jackson
Moderator: Amy Bruckman, Georgia Institute of Technology

January 20th, 1998
7:30 PM ET

Yowie zowie--LambdaMOO 1.8.0r5 is two to three times faster than its predecessors! How'd they do it? Can it be made even faster? Come meet programmers Ben Jackson and Jay Carlson and find out all about what made the new server so speedy, and what technical challenges lie ahead for the future of MOO.

The forum was be held in the back room of the Root Lounge on MediaMOO, telnet://mediamoo.cc.gatech.edu:8888


Event Log:

>l
The Back Room
It's dark in here, with patches of bright light from adjustable halogen lamps. There is a large round table in the middle of the room, containing screens and keyboards, free for anyone to use. This looks like a good place to sit down and code.
You see jonathan@rmit, Violet_Guest, Purple_Guest, Esq., Cyan_Guest, Grommit, Networker [AndyWilson], Mulder, Tari, maddog, Yin_Yang, Ochre_Guest, Guillermo, Ben, Cerulean_Guest, Red_Guest, AaJia, Plaid_Guest, Tom_R, barrym, Jade_Guest, AEnigma, mday [The Rhetronymical], Umber_Guest, Cobblers, and Jay standing about.
You see Pavels View.
Jay returns from MEETING HELL
Grommit woofs happily, the gatech link to here seems much better than the mit one. Maybe, just maybe, I can be here a bit more.
Amy hehs
Tom_R shuts up
Ben [to Jay]: is Hell nice in person?
Tari says, "jay, too."
AEnigma says, "THE REVENGE"
Guillermo says, "That was wonderful guys! Let's do it again sometime!"
Cyan_Guest says, "JAY! JAY! HE'S OUR MAN! er, AS WELL!"
Amy says, "well, I'm really honored to have in our midst two extraordinary hackers: Ben and Jay"
Jay [to Ben]: well, let me leave it at this: the official programming language of hell is powerpoint
nealmcb steps in through the curtain.
Ben laughs.
Grommit grins.
Tom_R smiles and agrees with Grommit re:link speed
Bill sees the metaphysical pepsi going untouched and comes to collect it.
Tom_R says, "laughs at Jay's assesment"
Plaid_Guest has disconnected.
The housekeeper arrives to remove Plaid_Guest.
< disconnected: Plaid_Guest. Total: 45 >
< connected: Hazel_Guest. Total: 46 >
Mr.Zoliparia steps in through the curtain.
Amy says, "the speed up in the server, together with no bugs added and in fact a general increase in reliability is really remarkable"
Ben says, "Magic."
Esq. claps
Amy grins
Jay . o O ( that's our cue )
Ivy steps in through the curtain.
AEnigma . o O ( We cannot escape Bill. )
< disconnected: Azure_Guest. Total: 45 >
Jay says, "OK"
Red_Guest disappears suddenly for parts unknown.
Tari says, "mirrors"
Amy says, "the general plan (flexible of course) is to start by talking a bit about performace issues"
Ben puts up a powerpoint slide that says "Magic" on a blue field with a globe.
Jay [to Ben]: don't forget the gradient fill
Bill sees the Grasshopper going untouched and comes to collect it.
Ivy disappears suddenly for parts unknown.
Amy says, "and the we'll broaden the discussion to talk about other issues about the future of MOO, and other VR platforms--text and graphics based"
< disconnected: Ivy. Total: 44 >
Mulder takes furious notes. 'Magic'
< connected: Pinstriped_Guest. Total: 45 >
Jay nods
Pinstriped_Guest steps in through the curtain.
< disconnected: Fuchsia_Guest. Total: 44 >
Ben says, "Ok, Jay will start by telling us why MOO was slow before."
Grommit checks that it's OK by everyone if he logs this ?
Amy says, "and we except you guys to of course know everything :-)"
Ben says, "We didn't so much add speed as remove slow."
< connected: douglas. Total: 45 >
Amy nods and sits down to listen to Jay
Jay says, "Well, maybe we should step back to the previous two major modifications to the server"
AEnigma [to Ben]: slowplows?
Ben searches madly through his powerpoint slides.
Jay says, "Long long ago we didn't have suspend(); just fork"
< connected: Tamzen. Total: 46 >
< connected: Luna. Total: 47 >
Jay says, "If you spend time rooting around in the innards of LambdaCore you'll notice some...odd constructions by modern standards for getting around the fact that you couldn't resume a task in any way"
< connected: Pink_Guest. Total: 48 >
Bill sees the Pepsi going untouched and comes to collect it.
Luna gently floats in.
Luna waves
Red_Guest materializes out of thin air.
Bill sees the Pepsi going untouched and comes to collect it.
Zachary materializes out of thin air.
Jay says, "The two best examples of this are 1) using an object as a confirmation in make-core-database. My first reaction on seeing this lately was "what were they thinking?""
Pink_Guest steps in through the curtain.
Jay says, "the other is the implementation of editors as rooms"
Red_Guest has disconnected.
The housekeeper arrives to remove Red_Guest.
< disconnected: Red_Guest. Total: 47 >
Jay says, "Neither one of these could read() because of the restriction on resuming tasks"
Tamzen materializes out of thin air.
Jay says, "And the server couldn't resume tasks because internally verbcode was structured as abstract syntax trees, which were simply traversed to execute them"
< disconnected: Guest. Total: 46 >
Jay says, "so around MOO 1.3, we switched to an explicit virtual machine, executing bytecode"
< disconnected: Barry. Total: 45 >
< connected: Guest. Total: 46 >
Jay says, "this allowed the server to resume tasks"
douglas steps in through the curtain.
Jay says, "(we couldn't in the AST model because we needed to save and restore the C stack, which was a huge pain"
Jay )

>@who
Member name Connected Idle time Location
----------- --------- --------- --------
Amy (#75) an hour 0 seconds The Back Room
Magenta_Guest (#346) 31 minutes a second A Sitting Room
Polka_Dot_Guest (#320) 18 minutes 2 seconds The Ballroom
taylor (#1354) 26 minutes 3 seconds A Sitting Room
Jay (#909) 8 minutes 8 seconds The Back Room
Luna (#5585) 3 minutes 10 seconds The Back Room
Hazel_Guest (#690) 6 minutes 11 seconds Wordplay [waiting for player
nealmcb (#11388) 2 hours 19 seconds The Back Room
Guest (#113) 37 seconds 24 seconds The Root Lounge
douglas (#5076) 4 minutes 26 seconds The Back Room
Esq. (#10748) an hour 35 seconds The Back Room
Jade_Guest (#701) 9 minutes 59 seconds The Back Room
Caille_Bot (#10842) 27 minutes a minute The Root Lounge
Tamzen (#8782) 3 minutes a minute The Back Room
Zachary (#8806) an hour a minute The Back Room
Pink_Guest (#359) 3 minutes 2 minutes The Back Room
Grommit (#10980) an hour 3 minutes The Back Room
Yin_Yang (#11415) 15 minutes 3 minutes The Back Room
Umber_Guest (#714) 16 minutes 3 minutes The Back Room
Ben (#11325) 14 minutes 4 minutes The Back Room
AEnigma (#9137) 23 minutes 4 minutes The Back Room
Tom_R (#10560) an hour 4 minutes The Back Room
Pinstriped_Guest (#688) 5 minutes 4 minutes The Back Room
Mulder (#11410) 4 hours 5 minutes The Back Room
mday (#1849) an hour 5 minutes The Back Room
Tari (#2921) 21 hours 5 minutes The Back Room
Guillermo (#11385) 5 hours 6 minutes The Back Room
Mr.Zoliparia (#11419) an hour 6 minutes The Back Room
Cyan_Guest (#531) 48 minutes 7 minutes The Back Room
Ochre_Guest (#689) 17 minutes 7 minutes The Back Room
Violet_Guest (#184) an hour 7 minutes The Back Room
Cobblers (#9147) 2 hours 7 minutes The Back Room
Purple_Guest (#345) 17 minutes 8 minutes The Back Room
Cerulean_Guest (#488) an hour 9 minutes The Back Room
barrym (#8850) 15 minutes 9 minutes The Back Room
jaime (#2) an hour 9 minutes [new player registration]
AaJia (#11073) 12 minutes 10 minutes The Back Room
maddog (#9836) an hour 10 minutes The Back Room
jonathan@rmit (#11376) an hour 12 minutes The Back Room
creeper (#11222) 25 minutes 12 minutes Summer Conference Room
JohnT (#11260) an hour 17 minutes The Root Lounge
Bwern (#11027) an hour 30 minutes Summer Conference Room
Gold_Guest (#360) 3 hours 57 minutes Summer Conference Room

Total: 43 members, 23 of whom have been active recently.
There are 3 members invisible to you.
Jay says, "This changed performance a bit, and also got us most of where we are today in terms of environment and constraints that optimizations have to live on top of"
Ben says, "(saving and resuming tasks is still a huge pain, which will have to change as MOO becomes more sophisticated internally)"
< connected: Plaid_Guest. Total: 47 >
Jay says, "Before 1.3 we reconstructed verbcode by doing the obvious unparse on the AST structure"
Jay says, "after 1.3 we hadda decompile the bytecode to get the verb code back, which is...expensive"
Jay says, "Ben'll talk about one particular attack of that pain"
< connected: SLewis. Total: 48 >
Jay says, "later"
Jay says, "OK, a little background on MOO language semantics"
< disconnected: Hazel_Guest. Total: 47 >
Jay says, "(feel free to inject questions about history, I'll blow 'em off if they're not relevant)"
Jay says, "Every value you directly manipulate in MOO is immutable"
Plaid_Guest steps in through the curtain.
Grommit would simply like to applaud the impressiveness of reconstructing syntax from bytecode :)
Jay says, "if you write foo[5] = 7, that's really syntactic sugar for foo = listset(foo, 5, 7)"
Guest materializes out of thin air.
Jay says, "this gets us out of all kinds of fun security and correctness problems when we pass values around"
< connected: Blue_Guest. Total: 48 >
Jay says, "ie, we don't have to worry about people mutating our own data out from under us"
Ben [to Grommit]: It would be more impressive if the bytecode weren't so stilted and unoptimized in order to make that reconstruction easier
Jay says, "Until 1.5, we copied values EVERYWHERE to enforce this"
SLewis materializes out of thin air.
Jay says, "every time a function or verb was called, a deep copy of lists was made"
Jay says, "and then promptly destructed on exit"
Guest has disconnected.
The housekeeper arrives to remove Guest.
< disconnected: Guest. Total: 47 >
Esq. says, "why not save the AST & the bytecodes? (other than storage overhead)"
Jay says, "1.5 (or was it 1.4) added reference counting"
Ben [to Esq.]: storage overhead. ast's are huge
Ben [to Esq.]: Also, decompilation used to be a rare event. Mainly @list and tracebacks.
< connected: Guest. Total: 48 >
Jay says, "that is, we'd just bump up the reference count in most cases we wanted to hold onto a reference to a string"
Esq. nods to Ben
Jay says, "and only free when the ref count showed we had no more references left"
Jay says, "for various reasons, it seemed best to keep the reference counts separate from the actual data being reference counted"
Jay says, "so there was a huge hash table mapping pointers to reference counts"
Grommit says, "so (correct/ignore if I'm wrong) as well as @recycle, MOO now has internal, underlying GC ?"
Ben says, "Yes, basically."
Jay says, "by avoiding all those constructions and frees of objects moo 1.5 (4?) became ENORMOUSLY faster and somewhat more memory efficient"
Grommit nods.
Jay says, "and for a brief shining moment, LambdaMOO stopped lagging"
Blue_Guest steps in through the curtain.
Zachary chuckles.
Mulder grins.
Blue_Guest says, "Hi."
Jay says, "I'd say something about a dawn of a new era in possibilities etc etc etc except we mostly just sat around going "wow, the server is fast""
Zachary chuckles.
Grommit grins, pride before the 'aaaaaaaaaaah
Ben says, "I should mention that the way bytecode is executed (now) causes references to be added and removed quite often without actually doing any work. Just the actions involved in shuffling things to and from the stack and local variables."
Jay says, "the same thing happened when the server moved from Pavel's personal machine to the SS1000 it's on too"
Ben says, "So copying all of those was a significant effort."
Jay nods
Jay says, "OK, enough background to give Ben a chance to become the BRIEFINGMEISTER"
Zachary says, "it all falls down to bcopy() in the end"
Ben says, "No"
Ben says, "MOO implements lots of for loops for copying"
Ben says, "Where it should bcopy() or similar."
Ben says, "So it's even slower."
Zachary says, "ewww"
Ben says, "But enough on that rathole."
Jay says, "bcopy isn't necessarily correct for some situations"
Grommit eeps quietly.
Jay says, "but ANYWAY"
Jay . o O ( when's the last time you tried to run MOO on an AS/400 anyway? )
Ben says, "Since most of you probably have no idea who I am, I'll give you a brief introduction..."
Ben says, "Most of my early mudding was on MUCKs, and I was involved in a rewrite of TinyMUCK (the version which became 2.3)."
Amy mumbles something about how they might've had more idea if Ben had mailed in a bio for the announcement :-)
Ben says, "Of course, once I found MOOs I was hooked and it was inevitable that I would start hacking on the server."
douglas disappears suddenly for parts unknown.

Ben says, "I got interested in verb profiling in October of 1995 (I think) and modified 1.7.9 to do verb profiling."
Ben says, "That was when I started to appreciate the complexity of the server as well as some of its shortcomings."
< disconnected: douglas. Total: 47 >
Jay's bio: Jay showed JoeFeedback TinyMUD and ghond's moo server; JoeFeedback got revenge by introducing Jay to LambdaMOO. Both of them then went around shouting "SLEEP WHEN YOUR DEAD" for a couple of quarters. The End.
< connected: JaniceW. Total: 48 >
Amy grins to Jay. "I woulda put that in the ad if that's what you'd've sent me"

>@who
Member name Connected Idle time Location
----------- --------- --------- --------
Amy (#75) an hour 0 seconds The Back Room
taylor (#1354) 38 minutes 2 seconds Taylor's Office
Polka_Dot_Guest (#320) 31 minutes 7 seconds Guest bedroom
Magenta_Guest (#346) 44 minutes 8 seconds Taylor's Office
JaniceW (#10483) 17 seconds 11 seconds Bungalow
Caille_Bot (#10842) 39 minutes 24 seconds The Root Lounge
Jay (#909) 20 minutes 31 seconds The Back Room
Ben (#11325) 26 minutes 36 seconds The Back Room
Grommit (#10980) 2 hours 60 seconds The Back Room
Guest (#113) 6 minutes a minute The Root Lounge
Plaid_Guest (#122) 11 minutes 2 minutes The Back Room
SLewis (#10122) 10 minutes 2 minutes The Back Room
Zachary (#8806) an hour 2 minutes The Back Room
jonathan@rmit (#11376) an hour 3 minutes The Back Room
Guillermo (#11385) 5 hours 4 minutes The Back Room
Blue_Guest (#106) 8 minutes 4 minutes The Back Room
Pinstriped_Guest (#688) 17 minutes 4 minutes The Back Room
Mulder (#11410) 4 hours 4 minutes The Back Room
AaJia (#11073) 24 minutes 5 minutes The Back Room
Esq. (#10748) an hour 6 minutes The Back Room
Mr.Zoliparia (#11419) an hour 7 minutes The Back Room
Tamzen (#8782) 16 minutes 8 minutes The Back Room
Tom_R (#10560) an hour 8 minutes The Back Room
nealmcb (#11388) 2 hours 9 minutes The Back Room
Umber_Guest (#714) 28 minutes 10 minutes The Back Room
Luna (#5585) 15 minutes 12 minutes The Back Room
Jade_Guest (#701) 22 minutes 13 minutes The Back Room
Pink_Guest (#359) 15 minutes 14 minutes The Back Room
Yin_Yang (#11415) 27 minutes 15 minutes The Back Room
AEnigma (#9137) 36 minutes 16 minutes The Back Room
mday (#1849) an hour 17 minutes The Back Room
Tari (#2921) 21 hours 17 minutes The Back Room
Cyan_Guest (#531) an hour 19 minutes The Back Room
Ochre_Guest (#689) 30 minutes 19 minutes The Back Room
Violet_Guest (#184) an hour 20 minutes The Back Room
Cobblers (#9147) 2 hours 20 minutes The Back Room
Purple_Guest (#345) 30 minutes 20 minutes The Back Room
Cerulean_Guest (#488) an hour 21 minutes The Back Room
barrym (#8850) 28 minutes 22 minutes The Back Room
jaime (#2) an hour 22 minutes [new player registration]
maddog (#9836) an hour 23 minutes The Back Room
creeper (#11222) 37 minutes 25 minutes Summer Conference Room
JohnT (#11260) an hour 29 minutes The Root Lounge
Bwern (#11027) an hour 43 minutes Summer Conference Room
Gold_Guest (#360) 3 hours an hour Summer Conference Room

Total: 45 members, 18 of whom have been active recently.
There are 3 members invisible to you.

Jay shoulda sent that
JaniceW materializes out of thin air.
JaniceW waves.
Esq. grins
Zachary ponders writing @qsend for unix.
JaniceW . o O ( LOTS of guests! )

Amy wonders why now we have no lag but we were lagged to heck n back in the summer conference room wiAmy saysth a similar number of people

>l
The Back Room
It's dark in here, with pAmy saysatches of bright light from adjustable halogen lamps. There is a large round table in the middle of the room, containing screens and keyboards, free for anyone to use. This looks like a good place to sit down and code.
You see jonathan@rmit, Violet_Guest, Purple_Guest, Esq., Cyan_Guest, Grommit, Networker [AndyWilson], Mulder, Tari, maddog, Yin_Yang, Ochre_Guest, Guillermo, Ben, Cerulean_Guest, AaJia, Tom_R (Idle), barrym, Jade_Guest, AEnigma, mday [The Rhetronymical], Umber_Guest, Cobblers (dozing), Jay, nealmcb, Mr.Zoliparia, Pinstriped_Guest, Luna, Zachary, Pink_Guest, Tamzen, Plaid_Guest, SLewis, Blue_Guest, and JaniceW standing about.
You see Pavels View.

Zachary says, "nowait, it's called mail."
Jay [to Ben]: Well, it was pretty scary how much MAS we were seeing about "oh, that verb is making the server slow"
Ben says, "More recently Jay applied some of the principles I'll describe in a second and sped up the server with a verb lookup cache. That got me interesting in speeding up the server and the rest you know..."
Grommit says, "s"
Ken bends reality to his will and pops into being.
Ben says, "ok, without furthur ado, some big pastes"
Violet_Guest [to Amy]: Because Jay wasn't here.
Jay . o O ( whumpf )
Ben says, "MOO was slow for three main reasons:"
Ben says, "1. Previous attempts to speed it up relied on guessing what was slow."
Ben says, "2. Scaled up to handle many more users and much larger databases than implementors originally anticipated."
Ben says, "3. Coded with the notion that "CPU is cheap" and "memory is cheap""
Ben says, "(witness the problems connecting to MediaMOO tonight!)"
Guillermo . o O ( MAS? )
JohnT stumbles in.
Jay [to Ben]: oooo non-canned content in your slide
Ben was composing while you were giving history.
< connected: sammy. Total: 49 >
Ben figured he might as well get ahead.
>:grins
Amy grins
Grommit says, "JIT lecturing."
Ben says, "MAS is point (1)"
AEnigma [to Guillermo]: Male Answer Syndrome - guessing to avoid looking like you don't know.
< disconnected: sammy. Total: 48 >
Jay [to Guillermo]: Male Answer Syndrome, you know, the name given to the not-really-gender-specific need to have explanations for things regardless of level of expertise
< disconnected: Polka_Dot_Guest. Total: 47 >
Ben says, "previous attempts to speed it up (or guess why it was slow while actually not lifting a finger) relied on guesswork."
< connected: sammy. Total: 48 >
< connected: Jeanne. Total: 49 >
Ben says, "so, enter the next paste"
Ben says, "How we made it fast relates directly to why it was slow:"
Ben says, "1a. We used profiling to *measure* what was slow. "
Ben says, "1b. We profiled actual cores doing common operations."
Ben says, "2. Optimizations were made with large databases and large user loads in mind."
Ben says, "3. We measured and considered the CPU and memory impact of operations that take place billions of times a day."
Ben says, "And last but not least, we were able to make these modifications because the original implementors used good abstractions."
sammy [President, SJD fan club] materializes out of thin air.
Ben says, "The most important is (1a) there. We measured what was slow and worked on that."
Jay [to Ben]: I suppose I should tell the "how I got started doing this" story
< connected: GregS. Total: 50 >
Jay [to Ben]: just because I can act snobby and superior
Ben [to Jay]: We don't stand on ceremony here.
GregS materializes out of thin air.
Grommit steps off a small wedding.
Ben says, "while Jay is typing..."
Jay says, "So like some person posted to *core-db-issues on LambdaMOO a bunch of suggestions for some rewrites of core verbs"
Jay says, "things like @create"
JaniceW waves to GregS.
Jay says, "the idea e had was that every tick counts, and that we should "streamline the core""
Jay says, "well, ticks aren't a very good measure of work (they can't be)"
Ben says, "Understandable, since ticks are one of the only measures users have for how long something takes."
< connected: Garth. Total: 51 >
Ben says, "But not all ticks are created equal."
Jay says, "and that @create was called pretty commonly, so making a verb a good deal more obscure would be justified"
Tamzen goes home.
Jay says, "my immediate reaction was that far more time was spent by humans reading and trying to understand @create than it ever used in CPU time, cumulative, since the verb was created"
Ben says, "This follows in the footsteps of the LAG FEATURE OF GODLIKE PROPORTIONS or whatever it's called"
Esq. says, "were there any peephole optimizations performed by that point in time?"
Jay says, "and of course there was a flame war on the subject of performance measurement"
< disconnected: taylor. Total: 50 >
Jay says, "so like Ben said, I took a profiler to the MOO server and managed to chop about 5-10% of the time waste from the server in an afternoon"
Ben [to Esq.]: No, we'll get to those.
Jay says, "and then I sorta realized that maybe there was gold in them thar hills"
Jay says, "so anyway, enough anecdote"
Jay [to Ben]: paste away
Esq. was jumping the gun
Ben says, "Everyone who has ever profiled a C program drools when there's big low-hanging fruit like a function called a hundred million times for 80% of the total time."
Ben [to Jay]: Oh, I'm back to off the cuff.
Violet_Guest has disconnected.
The housekeeper arrives to remove Violet_Guest.
Jay says, "oh ok"
Ben says, "I got involved after Jay's verb cache."
< connected: CG. Total: 50 >
Jay says, "I started drooling when I saw the verb lookup mechanism being called 100M times for etc"
Ben says, "Where Jay noticed that verbcasecmp() was almost all the server did."
< connected: Orange_Guest. Total: 51 >
Ben says, "And since he couldn't make it much faster, he found a way to call it less. Much less."
Ben [to Jay]: post a @verb-c
< disconnected: Tamzen. Total: 50 >
Jay says, "the short of it is that after a few false starts we built a verb lookup hash table"
Ben says, "So I got ahold of a copy of Jay's server and I profiled it and there was all new low-hanging fruit."
Zachary can
Jay says, "ok"
------------------------------------Jay------------------------------------
Hits: 144,959,391, negative hits: 1,036,443, misses: 2,789,348, generations: 895
Ratio: 51.97:1, or 98.08%
Total cached: 12214, max histogram length: 2365
0 1512 *****************************************
1 2365 *****************************************************************
2 1946 *****************************************************
3 1053 ****************************
4 432 ***********
5 140 ***
6 47 *
7 9
8 2
9 1
10 0
11 0
12 0
13 0
14 0
15 0
16 0
On average, 874.52 calls per second, or 3,148,260 per hour.
$maxint verb calls estimated in 26 days, 11 hours, 11 minutes, and 14 seconds.
Average generation lifetime is 188.77 seconds.
------ Jay stops pasting ----------
< connected: Indigo_Guest. Total: 51 >
Jay ticks out
Jay says, "arrrrgh"
Indigo_Guest steps in through the curtain.
------------------------------------Jay------------------------------------
Hits: 144,959,391, negative hits: 1,036,443, misses: 2,789,348, generations: 895
Ratio: 51.97:1, or 98.08%
Total cached: 12214, max histogram length: 2365
0 1512 *****************************************
1 2365 *****************************************************************
2 1946 *****************************************************
3 1053 ****************************
4 432 ***********
5 140 ***
6 47 *
7 9
------ Jay stops pasting ----------
Jay says, "there we go"
Ben says, "It turns out that the reference counting that sped things up so much was now the dominant user of CPU time"
------------------------------------Jay------------------------------------
On average, 874.52 calls per second, or 3,148,260 per hour.
$maxint verb calls estimated in 26 days, 11 hours, 11 minutes, and 14 seconds.
Average generation lifetime is 188.77 seconds.
------ Jay stops pasting ----------
GregS goes home.
< disconnected: GregS. Total: 50 >
Jay says, "that's from lambdamoo btw; you can see it's 52:1 effective at avoiding big expensive linear verb lookup searches"
Ben says, "So if you add up hits, negative hits and misses, that's the number of verb lookups LM has done."
Ben says, "Each verb lookup involves about 50-100 verbcasecmps"
Ben says, "So you can see how that would take a lot of time."
Jay [to Ben]: well, each miss
Ben says, "Before the cache."
Ben says, "Sorry."
Jay says, "on lambdamoo it could be worse because of the deeply nested object hierarchy"
Esq. says, "this sounds a bit like a discussion of designing a Forth implementation, did you look at that language for inspiration?"
Ben says, "(once again, better interject questions or we'll seamroll right through)"
Ben says, "MUCK's builtin language is FORTH-like so I'm always thinking like that, but I don't know that it applied here."
Mr.Zoliparia says, "How was memory usage affected in this? Any?"
Jay [to Esq.]: Well, a long time ago I wrote a pretty nifty optimizing forth compiler, but all the low-hanging fruit in this implementation is way above that level
JaniceW giggles and wiggles her toes.
< connected: kiree. Total: 51 >
Grommit says, "so, to recap, the basic cpu eater in MOO is the inheritance mechanism (pass etc)?"
Grommit says, "as might be expected..."
Jay [to Mr.Zoliparia]: the first iteration of the object cache (thankfully stillborn) woulda chewed up maybe 10% of memory. The second gen is probably in the 1-2% range, if not below. There are cache locality effects that could compensate though.
Ben [to Mr.Zoliparia]: The cache can use quite a bit of memory, but it also avoids having to traverse lists on several objects
Ben says, "So the memory use touches fewer pages of memory, which is the important thing."
Ben says, "That reduces the working set."
Zachary [to Grommit]: it's the verb lookup, which is related to inheritance, yes.
Ben [to Grommit]: The basic CPU eater was calling ANY verb.

Ben says, "Simply locating the program bytecode associated with "player:tell""

Grommit says, "oh, right."
Jay says, "until I got the verb cache in, and then Ben noticed "heyyyyy look at what's at the top of the profiler chart now""
Ben says, "Inheritance means more verbs to search"


Grommit says, "sorry, I'm decaffeinating here :("
Ben says, "Right"

Ben says, "The refcounting mechanism was totally external to the data."
Ben says, "This means if you had a string pointer, you could ask the refcount engine to remember that you had an additional reference to what was at that location."
Mr.Zoliparia steps out through the curtain.
< disconnected: Mr.Zoliparia. Total: 50 >
< connected: lydir. Total: 51 >

>@who
Member name Connected Idle time Location
----------- --------- --------- --------
Amy (#75) an hour 0 seconds The Back Room
lydir (#10925) a second a second presence
kiree (#11194) 2 minutes 9 seconds The Root Lounge
Ben (#11325) 42 minutes 14 seconds The Back Room
Garth (#11374) 10 minutes 18 seconds The NI Salon
Magenta_Guest (#346) an hour 24 seconds Steve's Room
SLewis (#10122) 26 minutes 35 seconds The Back Room
maddog (#9836) an hour 41 seconds The Back Room
Grommit (#10980) 2 hours 52 seconds The Back Room
JaniceW (#10483) 16 minutes 54 seconds The Back Room
Jay (#909) 36 minutes a minute The Back Room
Orange_Guest (#344) 6 minutes a minute The Root Lounge
barrym (#8850) 44 minutes a minute The Back Room
Zachary (#8806) 2 hours a minute The Back Room
CG (#10731) 7 minutes 2 minutes The Root Lounge
AEnigma (#9137) 52 minutes 2 minutes The Back Room
Caille_Bot (#10842) 56 minutes 2 minutes The Root Lounge
Esq. (#10748) an hour 3 minutes The Back Room
Tari (#2921) 21 hours 4 minutes The Back Room
Guest (#113) 23 minutes 4 minutes The Root Lounge
Indigo_Guest (#698) 5 minutes 5 minutes The Back Room
Pinstriped_Guest (#688) 33 minutes 5 minutes The Back Room
AaJia (#11073) 41 minutes 5 minutes The Back Room
JohnT (#11260) 2 hours 5 minutes The Back Room
nealmcb (#11388) 3 hours 5 minutes The Back Room
Plaid_Guest (#122) 27 minutes 7 minutes The Back Room
Umber_Guest (#714) 44 minutes 8 minutes The Back Room
sammy (#8676) 13 minutes 11 minutes The Back Room
mday (#1849) 2 hours 12 minutes The Back Room
Jeanne (#3403) 13 minutes 13 minutes Diversity University, Inc. O
Gold_Guest (#360) 4 hours 13 minutes The Root Lounge
Guillermo (#11385) 5 hours 14 minutes The Back Room
jonathan@rmit (#11376) an hour 19 minutes The Back Room
Blue_Guest (#106) 24 minutes 20 minutes The Back Room
Mulder (#11410) 4 hours 20 minutes The Back Room
Tom_R (#10560) an hour 24 minutes The Back Room
Luna (#5585) 31 minutes 28 minutes The Back Room
Jade_Guest (#701) 38 minutes 29 minutes The Back Room
Pink_Guest (#359) 31 minutes 30 minutes The Back Room
Yin_Yang (#11415) 43 minutes 31 minutes The Back Room
Cyan_Guest (#531) an hour 35 minutes The Back Room
Ochre_Guest (#689) 46 minutes 36 minutes The Back Room
Cobblers (#9147) 3 hours 36 minutes The Back Room
Purple_Guest (#345) 46 minutes 36 minutes The Back Room
Cerulean_Guest (#488) an hour 37 minutes The Back Room
jaime (#2) an hour 38 minutes [new player registration]
creeper (#11222) 54 minutes 41 minutes Summer Conference Room
Bwern (#11027) an hour 59 minutes Summer Conference Room

Total: 48 members, 20 of whom have been active recently.
There are 3 members invisible to you.
Ben says, "The default refcount was 1, so most things were not in the cache most of the time."
Ben says, "(this was a giant hashtable by pointer, by the way)"
Guillermo says, "Profiling at C level, correct? (Forgive me, my sugar and caffeine is wearing off too :) )"
< disconnected: Bwern. Total: 50 >
Grommit nods to guillermo - time for a refuel.
< disconnected: creeper. Total: 49 >
Ben says, "The refcounting hashtable was usually pretty empty even on a big moo, but sine EVERY variable free had to traverse it, it did a lot of work."
lydir materializes out of thin air.
Ben says, "free_var is still one of the most-called functions."
Ben says, "So I replaced the external refcounts with internal refcounts, by using a malloc wrapper that prepended a count to each referenceable variable."
Networker has disconnected.
Ben says, "and modified the type system to handle all variable referencing more efficiently."
Ben says, "(speeding up a bit, hold on)"
Jay says, "Ben also did some peephole optimization in the bytecode engine"
lydir disappears suddenly for parts unknown.
Ben says, "So then, given an easy way to see the refcounts on things, we made operations on objects (lists and strings) which had no other references mutate instead of copy and mutate."
Jay says, "such that comments in moo code could avoid a few steps in the dispatch"
Ben says, "So list appends could be done by adding elements instead of copying and adding elements."
< connected: Janice. Total: 49 >
Jay says, "this was at least significant in benchmarks, since a lot of very commonly called verbs had comments at their start"
Ben says, "And as Jay is describing, since I couldn't peephole optimize the actual bytecode because it had to be decompilable, I modified the interpreter to elide operations that had no effect and shortcut common operations into one step by looking ahead to see what was coming."
Esq. nods
< disconnected: lydir. Total: 48 >
Janice [sheep-herder] materializes out of thin air.
JaniceW grins at Janice [sheep-herder].
Ben says, "I also made some changes to reduce the number of times the MOO allocated and freed memory, which are relatively expensive operations"
Jay says, "oh yeah, at some point I noticed that all of the spiffy new .protect_foo stuff in MOO 1.8.x was now causing a huge pile of property lookups on every builtin; I created a shortcut for that"
< connected: creeper. Total: 49 >
Grommit says, "again, zap me if I'm off topic, but, as background, does the bytecode manipulate objects and methods, in the manner of java bytecode, or does it manage structures and pointers, like machine code ?"
JaniceW whuggles Janice [sheep-herder].
creeper materializes out of thin air.

>@who
Member name Connected Idle time Location
----------- --------- --------- --------
Amy (#75) 2 hours 0 seconds The Back Room
Mulder (#11410) 4 hours a second The Back Room
kiree (#11194) 8 minutes 6 seconds THE CHAMBER OF DEATH
Orange_Guest (#344) 12 minutes 6 seconds Ballroom Foyer
Ben (#11325) 48 minutes 13 seconds The Back Room
creeper (#11222) 42 seconds 14 seconds The Back Room
Jay (#909) 42 minutes 21 seconds The Back Room
Caille_Bot (#10842) an hour 26 seconds The Root Lounge
CG (#10731) 12 minutes 27 seconds The Root Lounge
JaniceW (#10483) 22 minutes 28 seconds The Back Room
Garth (#11374) 16 minutes 32 seconds Curtis Common
Grommit (#10980) 2 hours 37 seconds The Back Room
Janice (#8080) 2 minutes 43 seconds The Back Room
Esq. (#10748) an hour 50 seconds The Back Room
Magenta_Guest (#346) an hour 55 seconds Memorial Drive
barrym (#8850) 49 minutes 59 seconds The Back Room
nealmcb (#11388) 3 hours a minute The Back Room
Ochre_Guest (#689) 51 minutes a minute The Back Room
Pinstriped_Guest (#688) 39 minutes 2 minutes The Back Room
Indigo_Guest (#698) 11 minutes 2 minutes The Back Room
Plaid_Guest (#122) 33 minutes 3 minutes The Back Room
SLewis (#10122) 32 minutes 3 minutes The Back Room
Zachary (#8806) 2 hours 4 minutes The Back Room
jaime (#2) an hour 4 minutes [new player registration]
Guillermo (#11385) 5 hours 5 minutes The Back Room
maddog (#9836) 2 hours 6 minutes The Back Room
AEnigma (#9137) 57 minutes 8 minutes The Back Room
Tari (#2921) 21 hours 10 minutes The Back Room
Guest (#113) 28 minutes 10 minutes The Root Lounge
AaJia (#11073) 46 minutes 11 minutes The Back Room
JohnT (#11260) 2 hours 11 minutes The Back Room
Umber_Guest (#714) 50 minutes 14 minutes The Back Room
sammy (#8676) 19 minutes 17 minutes The Back Room
mday (#1849) 2 hours 17 minutes The Back Room
Jeanne (#3403) 19 minutes 19 minutes Diversity University, Inc. O
Gold_Guest (#360) 4 hours 19 minutes The Root Lounge
jonathan@rmit (#11376) 2 hours 25 minutes The Back Room
Blue_Guest (#106) 30 minutes 26 minutes The Back Room
Tom_R (#10560) an hour 30 minutes The Back Room
Luna (#5585) 37 minutes 34 minutes The Back Room
Jade_Guest (#701) 44 minutes 35 minutes The Back Room
Pink_Guest (#359) 37 minutes 36 minutes The Back Room
Yin_Yang (#11415) 49 minutes 37 minutes The Back Room
Cyan_Guest (#531) an hour 41 minutes The Back Room
Cobblers (#9147) 3 hours 42 minutes The Back Room
Purple_Guest (#345) 52 minutes 42 minutes The Back Room
Cerulean_Guest (#488) an hour 43 minutes The Back Room

Total: 47 members, 24 of whom have been active recently.
There are 2 members invisible to you.
Jay [to Grommit]: The bytecode is phrased in terms of a stack-based virtual machine operating on objects and MOO values
Jay [to Grommit]: so it's relatively high level; I'd in fact say significantly higher level than Java bytecode
The housekeeper arrives to cart Networker off to bed.
Ben says, "As a final optimization, I actually did modify the bytecode to recognize when varibles were being mutated in an assignment, like `x = {@x, y}'. Before, the variable slot x would hold a reference to the list, forcing it to be copied before the y was appended. Now (in r6, unreleased) the bytecode is smart enough to drop that reference before doing the append, so it can actually modify x."
Ben says, "This also makes it possible for `x[y] = z' do do array assignment, rather than copy and do array assignment."
Esq. says, "Did you ever take a look at Juice, which takes compressed AST's and generates native code on the fly?"
< connected: bess. Total: 50 >
Ben has considered generating native code but never got around to it.
Jay [to Grommit]: it's also pretty baroque these days, and it's hard to touch just one part of it without breaking all kinds of things like....resuming tasks between server versions. This might not matter to you or me as moo server admins, but LambdaMOO really doesn't want to kill off all of its long-running tasks for a few changes each rev
Grommit nods, indeed.
>:notes that we have ten minutes left before the party. "I don't want to cut off the conversation prematurely, but would you guys like to comment at all on where you see the server going in the future?"
Amy notes that we have ten minutes left before the party. "I don't want to cut off the conversation prematurely, but would you guys like to comment at all on where you see the server going in the future?"
Cyan_Guest says, "Before we run out of time, a few non-tech questions: Does Erik intend to roll-up the rogue improvements into whatever future releases of the server he has planned?"
Jay says, "the eventual path to native code (if anybody ever bothers) is through a bunch of structural changes to how verbs are representedt that in themselves will allow some other speedups"
Ben says, "in summary, Jay made the server about twice as fast with the verb cache, and together with the rest of the optimizations we made it about twice as fast again, for a total of about 4x the original speed"
< connected: LindaR. Total: 51 >
Jay [to Amy]: man, all my meetings today have been starved for time. OK
Jay says, "Erik is going to release our speedups as part of 1.9"
Ben says, "Also, one of the things that kept us going was the generic vehicle."
Jay LAUGHS
Ben says, "When we got Ken to run r3? r4? on JHM we drove around the MOO"
AEnigma chuckles.
Mulder says, "Is there any timetable for that?"
Ben says, "the generic vehicle walks like a player but as fast as it can"
Zachary chuckles.
LindaR materializes out of thin air.
bess materializes out of thin air.
Mulder says, "1.9, I mean?"
< disconnected: Magenta_Guest. Total: 50 >
Jay [to Mulder]: I wish I had an answer
Ben says, "and when we started it up it was so fast we thought it was broken"
Mulder nods.
Ben says, "instantaneous, even."
Zachary chuckles.
Ben says, "similarly for @d $player: and the like"
Cyan_Guest [to Ben]: Could you briefly discuss what influences your childhood had upon this need you exhibit to make everything faster?
Ochre_Guest wonders what the profile on a Webed MOO would be like (e.g. BioGate)
Jay says, "well, there's one reason to wait for Erik that's hard to argue with"
Jay says, "he's the server pope"
Mulder grins.
< connected: Striped_Guest. Total: 51 >
creeper [to creper]: talking to myself
Jay says, "that is, he's the infallable source of what changes to language and semantics will be official"
Amy chuckles at Cyan
Ben says, "If he makes them..."
Jay says, "right"
Jay says, "for things like what Ben and I have done, well, we can leave him out of the loop"
Guillermo says, "Yes, speak on BioGate based cores if you can."
Jay says, "because people can migrate to our work without any compatibility problems"
Ben says, "1.9 will probably add some exciting new code to the internals to make new types and other features easier to implement"
Zachary says, "what changes to language and/or semantics are you considering ?"
< disconnected: Striped_Guest. Total: 50 >
Cyan_Guest grins "exciting"
Grommit says, "a quick scary question (feel free to anoint yourself with oil or do a few hail marys) - is there any official line on wider portability (to, just say, for example, er, NT?)"
bess goes home.
< disconnected: bess. Total: 49 >
< connected: GregS. Total: 50 >
Guillermo prays for Grommit.
>:oopses. "It's just been brought to my attention that I forgot my trusty sign and usual announcement that this was being logged and will be posted. If anyone has any objects, I'll be happy to edit out your contributions... just email me."
Amy oopses. "It's just been brought to my attention that I forgot my trusty sign and usual announcement that this was being logged and will be posted. If anyone has any objects, I'll be happy to edit out your contributions... just email me."
Ben says, "If you port it to NT we'll probably try not to mess up your work."
GregS materializes out of thin air.
Jay [to Ochre_Guest]: That's a good question. We've primarily used JHcore (out of familiarity) which led to a lot of list operations being sped up due to, for example $pronoun_sub, being in heavy use
Amy apologizes for forgetting her sign
Grommit grins at Ben.
Esq. says, "none at all, its an honor to be part of history."
Jay [to Ochre_Guest]: my first guess would be that the profiles would probably vary wildly between different techniques of serving up web pages
Ben says, "Also, the memory leak (which we actually didn't introduce, but were held responsible for until other evidence was available) was only found under Lambdacore."
< connected: jeff_w. Total: 51 >
jaime materializes out of thin air.
Jay hehs
jaime drops Sign--LOGGING.
jaime . o O ( better late than never )
Grommit giggles.
Esq. chuckles
Guillermo hugs a tree.
Jeanne materializes out of thin air.
Jay [to Grommit]: My official line on NT is that the server works using gcc and cygwin32 with about an hour of minor porting
kiree materializes out of thin air.
Ben says, "And as a final note, with the new server (fast and not leaking memory), LambdaMOO stayed up long enough to execute $maxint verb calls and wrap the verb cache counters"
Jay [to Grommit]: Erik is moving to autoconf2 for the next release so we'll do better
Grommit says, "it does ? coooor."
A Prince riff fills the air, and riding the melody, jeff_w cruises into the room.
Jay says, "one thing I forsee in MOO's future: dictionaries"
Ben says, "Who here runs a moo with r5 or similar as the server?"
Guillermo
Esq. says, "Do you think would be feasible to link in a JVM and support Java byetecodes?"
Mulder does.
< connected: Fuchsia_Guest. Total: 52 >

>@who
Member name Connected Idle time Location
----------- --------- --------- --------
Garth (#11374) 26 minutes 0 seconds 1CC Elevator
Amy (#75) 2 hours 0 seconds The Back Room
Fuchsia_Guest (#685) a second a second purple-crayon.media.mit.edu
Mulder (#11410) 4 hours 4 seconds The Back Room
Caille_Bot (#10842) an hour 6 seconds The Root Lounge
Pinstriped_Guest (#688) 48 minutes 7 seconds The Back Room
Esq. (#10748) 2 hours 9 seconds The Back Room
Guillermo (#11385) 5 hours 11 seconds The Back Room
jeff_w (#10880) a minute 19 seconds The Back Room
JaniceW (#10483) 31 minutes 20 seconds The Back Room
Ben (#11325) 58 minutes 23 seconds The Back Room
Jay (#909) 51 minutes 24 seconds The Back Room
creeper (#11222) 10 minutes 27 seconds The Back Room
Orange_Guest (#344) 22 minutes 46 seconds Ballroom Foyer
SLewis (#10122) 42 minutes 48 seconds The Back Room
Grommit (#10980) 2 hours 51 seconds The Back Room
Janice (#8080) 12 minutes 55 seconds The Back Room
kiree (#11194) 17 minutes 55 seconds The Back Room
Jeanne (#3403) 28 minutes 60 seconds The Back Room
jaime (#2) 2 hours a minute The Back Room
GregS (#2161) 2 minutes 2 minutes The Back Room
nealmcb (#11388) 3 hours 2 minutes The Back Room
Cyan_Guest (#531) an hour 3 minutes The Back Room
Zachary (#8806) 2 hours 3 minutes The Back Room
Ochre_Guest (#689) an hour 4 minutes The Back Room
barrym (#8850) 59 minutes 4 minutes The Back Room
jonathan@rmit (#11376) 2 hours 4 minutes The Back Room
CG (#10731) 22 minutes 4 minutes The Root Lounge
LindaR (#10671) 6 minutes 5 minutes The Back Room
Tari (#2921) 21 hours 5 minutes The Back Room
AEnigma (#9137) an hour 5 minutes The Back Room
Purple_Guest (#345) an hour 5 minutes The Back Room
Blue_Guest (#106) 39 minutes 7 minutes The Back Room
Indigo_Guest (#698) 21 minutes 12 minutes The Back Room
Plaid_Guest (#122) 42 minutes 12 minutes The Back Room
maddog (#9836) 2 hours 15 minutes The Back Room
Guest (#113) 38 minutes 20 minutes The Root Lounge
AaJia (#11073) 56 minutes 21 minutes The Back Room
JohnT (#11260) 2 hours 21 minutes The Back Room
Umber_Guest (#714) an hour 24 minutes The Back Room
sammy (#8676) 29 minutes 26 minutes The Back Room
mday (#1849) 2 hours 27 minutes The Back Room
Gold_Guest (#360) 4 hours 29 minutes The Root Lounge
Tom_R (#10560) 2 hours 39 minutes The Back Room
Luna (#5585) 47 minutes 43 minutes The Back Room
Jade_Guest (#701) 53 minutes 44 minutes The Back Room
Pink_Guest (#359) 47 minutes 45 minutes The Back Room
Yin_Yang (#11415) 59 minutes 47 minutes The Back Room
Cobblers (#9147) 3 hours 51 minutes The Back Room
Cerulean_Guest (#488) an hour 53 minutes The Back Room

Total: 50 members, 28 of whom have been active recently.
There are 2 members invisible to you.

Jay says, "because I'm fed up with stalling on this issue"
nealmcb says, "We run r5"
Grommit has been considering that, ESQ.
Jay pokes Ken
Purple_Guest yays dictionaries.
Mulder needs to compile in FUP, hrm.
Indigo_Guest says, "Midgard run r5."
Jay says, "I think the right thing to do is make sure the set of operations on dictionaries is small enough that the pope isn't likely to contradict us"
Ben says, "I think the important thing to consider for radical changes like Java bytecode is that the strength of MOO is in the cores."
Ben says, "Not in the server."
Purple_Guest: MOO Heretic
GregS wavs jeff
nealmcb says, " (if r5 == p5)"
Jay says, "there are some pretty controversial things like for () iteration over dicts"
Amy . o O ( my kingdom for a dictionary! )
Ben says, "We could write a new mud faster without starting from MOO. But if we give up the core we lose..."
Jay says, "which I don't wanna get dragged down into"
Jay nods to Ben
Ben [to nealmcb]: r5 is the sped up p6
Jay says, "I think two things made MOO win over coldmud"
Jay says, "1) stability"
Jay says, "2) lambdacore"
mday [The Rhetronymical] disappears suddenly for parts unknown.
Grommit nods, something I came to that conclusion on after making a similar attempt.
Jay says, "coldmud really never got either"
Amy says, "I'm doing lots of lookups for in-db parsing in moose, and I could really really really use dictionaries"
< connected: Violet_Guest. Total: 53 >
Mulder says, "moose?"
jeff_w waves gregs
Grommit says, "another thing that struck me recently is the neat support for multiple syntaxes in Guile."
Jay watches Amy get a promotional cue of her own...
>to mulder a scripting language built on top of MOO, used by little kids.
Amy [to Mulder]: a scripting language built on top of MOO, used by little kids.Ken has disconnected.
Amy smiles to Jay
Ben [to Grommit]: if you want that in a mud, get muq
Pinstriped_Guest [to Jay]: Cold is pretty stable these days btw.
Jay [to Grommit]: all of the syntaxes in guile are very much on the surface
Ben says, "jsp planned multiple compilers from the start."
>to mulder http://www.cc.gatech.edu/~asb/moose-crossing/
Amy [to Mulder]: http://www.cc.gatech.edu/~asb/moose-crossing/
Grommit says, "such a low-level syntax hook would be excellent for Amy's lovely Moose."
Pinstriped_Guest [to Jay]: :hasn't seen a crash in long long time .. with places running for months on end.
nealmcb says, "Strength of MOO is the cores, but failing is lack of portability"
Jay [to Grommit]: I haven't seen a really nice virtual machine with significant differences in language model
Esq. says, "with a nice gui for verb and attribute editing"
Jay [to nealmcb]: portability between what?
Ben [to nealmcb]: lack of porloses
< connected: heinrich. Total: 53 >
Jay says, "I mean, a really significant cost of MOO is that I can't just go down to Egghead and buy a copy of _MOO In 21 Days_"
Amy [to Mulder]: a typical moose program looks like this: on tickle this/emote laughs/end
Mulder hmmms.
Mulder says, "Nifty."
Jay says, "mush except in english"
Ben [to j]: we should write one. ;-)
Grommit [to Jay]: have you encountered (rustles through old news articles) ULC (an interpreter construction tool) ?
nealmcb says, "Portability between moos"
Grommit nods, that
LindaR goes home.
Ben [to j]: paste the URL for r5?
Cerulean_Guest has disconnected.
The housekeeper arrives to remove Cerulean_Guest.
< disconnected: Cerulean_Guest. Total: 52 >
Ben says, "For those in the server stone ages. ;-)"
Esq. wonders if Sams.net would be interested
Jay wonders what happened to the Intermetrics people who implemented MOO on top of ObjectStore for CAIDA
Grommit says, "is a significant loss. How I mourn the lack of 21 days books for my favourite topics. Honest."
Jay | ftp://ftp.place.org/pub/moo/unofficial/README.r5
Janice goes home.

Amy says, "I'd like to take a quick vote... we're at the user limit, and it's time for the party. a quick reboot would eliminate the user limit. or we can just cruise as is."
Jay [to Grommit]: saw the announce, filed it away
Amy says, "all in favor of a quick reboot, say aye"
Ben [to Amy]: did you test those command in another window?
Amy says, "all opposed, say nay"
Amy [to Ben]: yup
Mulder says, "User limit?"
>:bonks herself for not knowing about it before
Amy bonks herself for not knowing about it before
jonathan@rmit says, "do a reboot"
sammy says, "huh?"
jonathan@rmit says, "aye"
Esq. says, "reboot"
Jeanne [to Jay]: caida or caite?
SLewis says, "aye"
Ben is going to dinner, so, "Aye!"
Jay [to Jeanne]: caite maaaaaybe
Grommit says, "personally, I think an oreilly book would be good. With an EU minister on the cover."
kiree says, "CAETI"
sammy says, "oh aye"
Jay says, "yeah, CAETI, sorry"
Amy says, "before we go, we have one more order of business"
AEnigma says, "aye"
Jeanne [to Jay]: they lost funding so I was told
Guillermo shudders at the thought of ``MOO for the REST of us''...
Janice [sheep-herder] materializes out of thin air.
Amy says, "it's time to sing happy birthday to Ben!"
Jay says, "where did I pull CAIDA out of"
>:sings. "Happy birthday to you...."
Amy sings. "Happy birthday to you...."
Jeanne [to Jay]: no idea but it's not an easy acronym to remember
Jay [to Ben]: it's your BIRTHDAY?
Ben says, "it is?"
Yin_Yang says, "aye"
Purple_Guest says, "MOO For Dummies"
AEnigma [to Guillermo]: Lambda!
Esq. says, "Happy Birthday to you....."
Grommit is going to have to take a sleepcheck, alas, Amy.
Mulder says, "Not a cow?"
Ben says, "My birthday was on the 5th..."
Ben is going to someone ELSE's birthday party tonight. :-)
SLewis says, "hmmmm"
jonathan@rmit says, "Happy birthday to you, "
Guillermo tunes up. La la la!
Amy says, "oooooooooh!"
jonathan@rmit says, "Hip Hip"
Amy says, "sorry!"
Amy says, "I thought it was YOUR birthday"
Amy hehs
Jay laughs
The housekeeper arrives to cart Ken off to bed.
Jay says, "don't worry, it's Erik's birthday tomorrow"
Esq. says, "mine is Saturday"
kiree says, "Computer Aided Education and Training Initiative. I was involved, but I'm not a techie and am not following most of this"
Pinstriped_Guest has disconnected.
The housekeeper arrives to remove Pinstriped_Guest.
< disconnected: Pinstriped_Guest. Total: 51 >
Amy says, "well guys, I'm sorry to cut this off, cause this was totally fascinating"
Amy says, "and I'd like to thank you not just for coming tonight"
Ben says, "you should see us at parties"
Grommit nods, and constructs a small round of applause to Ben, Jay, and Amy.
Jeanne kicks herself for missing this
Esq. says, "If anyone wants to discuss improving MediaMOO, drop by Happy Hour Friday"
Amy says, "but for the wonderful service you've done for the community with your first-class code"
SLewis applauds
Amy says, "bravo!"
kiree applauds
Amy applauds!
Indigo_Guest claps.
Ben collects the powerpoint slides.
Zachary applauds.
Ochre_Guest applauds!
Jay says, "why thank you"
jonathan@rmit says, "Cheers!"
Guillermo claps.
Purple_Guest says, "Yes, thank you."
maddog nods
Esq. applauds
nealmcb claps
Yin_Yang claps
jonathan@rmit applaudes wildly
jonathan@rmit says, "Thanks."
*** The server will be shut down by jaime (#2) in 2 minutes: back up in five minutes with no userlimit for the party! ***
Guillermo changes his seat color to indicate clapping.
Jay says, "r6 will be out sooooon I hope"
< disconnected: CG. Total: 50 >
jaime says, "please come to the party, starting just after the reboot in the ballroom"
Indigo_Guest says, "woo."
JaniceW [jaime]: is toe wiggling allowed?
Ben says, "we're out of low-hanging fruit, though, unless we go to native code"
JaniceW eyes Zachary warily.
Mulder has disconnected.
Ben says, "Talk about lack of portability, though."
Jeanne [to janic]: are they clean toes?
barrym goes home.
Ben waves.
Ben has disconnected.
Slowly, JCWhite turns a pale shade of purple, his skin appears to be puffed in purple powder, and *PooF* -- He explodes into a cloud of lavender butterflies and flutters away in every direction.
jaime [to JaniceW]: required!
nealmcb waves to jeanne
GregS has disconnected.
JaniceW grins and dances around the room, giggling merrily.
Jay is going after the memory usage low-hanging-fruit actually
Grommit says, "talk to Tim Wilkinson about native code."
Janice has disconnected.
Jeanne waves back to neal
kiree has disconnected.
Umber_Guest has disconnected.
The housekeeper arrives to remove Umber_Guest.
*** The server will be shut down by jaime (#2) in 60 seconds: back up in five minutes with no userlimit for the party! ***
< disconnected: barrym. Total: 43 >
< disconnected: jeff_w. Total: 42 >
Yin_Yang has disconnected.
SLewis says, "thanks Amy"
AEnigma has disconnected.
Amy says, "thanks for coming everyone!"
Blue_Guest has disconnected.
The housekeeper arrives to remove Blue_Guest.
< disconnected: Blue_Guest. Total: 39 >
maddog waves
Zachary says, "bye"
< connected: Contessa_Bot. Total: 40 >
Mulder has connected.
Purple_Guest has disconnected.
The housekeeper arrives to remove Purple_Guest.
< disconnected: Purple_Guest. Total: 40 >
Grommit says, "the whole kaffe native code interface is pretty interesting..."
SLewis has disconnected.
Esq. says, "Thanks for organizing it Amy!"
Cyan_Guest has disconnected.
The housekeeper arrives to remove Cyan_Guest.
< disconnected: Cyan_Guest. Total: 38 >
nealmcb disappears suddenly for parts unknown.
maddog goes home.
Plaid_Guest has disconnected.
The housekeeper arrives to remove Plaid_Guest.
< disconnected: Plaid_Guest. Total: 37 >
*** The server will be shut down by jaime (#2) in 30 seconds: back up in five minutes with no userlimit for the party! ***
Mulder ergs.
Amy says, "please tell your friends about MediaMOO!"
< disconnected: Violet_Guest. Total: 36 >
< disconnected: Contessa_Bot. Total: 35 >
Ochre_Guest has disconnected.
The housekeeper arrives to remove Ochre_Guest.
< disconnected: Ochre_Guest. Total: 34 >
Mulder smiles.
Amy says, "and post about it to appropriate lists"
< disconnected: maddog. Total: 33 >
Indigo_Guest says, "Later people type entities."
Jeanne has disconnected.
Jay always sticks around until the final shutdown message :-P
>:grins
Amy grins
Zachary too!
Guillermo says, "You have 20 seconds to comply."
*** The server will be shut down by jaime (#2) in 10 seconds: back up in five minutes with no userlimit for the party! ***
< disconnected: Orange_Guest. Total: 31 >
>:likes to do that too
Amy likes to do that too
Grommit nods, me too.
Zachary says, "10"
Zachary says, "5"
Guillermo says, "2"
*** Server shutdown by jaime (#2): back up in five minutes with no userlimit for the party! ***
*** Disconnected ***
>