tetron is currently certified at Journeyer level.

Name: Peter Amstutz
Member since: 2000-07-18 20:01:37
Last Login: N/A

FOAF RDF Share This

Homepage: http://www-unix.oit.umass.edu/~tetron


Primary designer and coder behind the Virtual Object System (aka the Interreality project), author of KOTH, joy2key and various other things. Have made contributions to various projects including Crystal Space, MikMod and GGI. Currently a graduating senior but very soon to be a masters student in computer science at the University of Massachusetts, Amherst.


Articles Posted by tetron

Recent blog entries by tetron

Syndication: RSS 2.0

Posted an Advogato entry for the first time. Have lurked on Advogato for a while, but never really got too involved. However I figure I ought to update my info here in case anyone looks :-) Note that my previous diary entries are about a year and a half old. If for some bizzare reason you choose to read them, I just want to mention that references to MOS are talking about a Java-based prototype of of many of the ideas in VOS. Quite a lot has changed since then. Shameless plug: you really want to check out VOS :-)

Anyone who is reading this: don't buy a cheap laptop. That is, unless you enjoy sending it away for two to four weeks every few months or so for repairs 'cause some flimsy little part broke. I've just requested an RMA for this thing, AGAIN, to fix all the silly (and not so silly) little problems that have been accumulating since the LAST time it took a little journey to the shop. The most annoying part is that fact that the expensive/important stuff, eg the CPU, hard disk, and display and work perfectly, and I have troubles with flimsy plastic door to the DVD drive and the power port where I plug the damn thing in. Uhg. ARM Computer - www.armcomputer.com - avoid them. Their customer service sucks, too. I guess I'm glad I didn't buy it from one of the REALLY skechy bargin-basement places.

I'm also kind of peeved that a power hiccup shut down mir (my desktop) in the middle of the morning, ruining a pretty nice uptime of nearly three months. It's a really silly thing to get annoyed at, but then again it also takes a good fifteen to twenty minutes to fsck the three hard disks, so it's a definite inconvenience.

Played around with metaspace a bit. Java3D is, of course, still buggy, which makes development difficult. I wrote a metaobject which is a rotating bar to see how well "naïve" animation works - turns out we have a problem with messages being handled out of order. For some stuff that's not an issue, but for a sequence of property changes like animation frames, this is a big problem. I haven't yet come up with a good way to handle it yet. Sigh. Maybe I'll go back to hacking MIM. At least that won't require my laptop (see above) to work on.

Doing Cannabis Reform Coalition (CRC) stuff too. Crap. I need to make a web page for that. Note to self: WORK ON CRC WEB PAGE!!!

Quick entry -

Made a big API change to MOS. Error reporting takes place using exceptions instead of return values. Not really the sort of change you want to make at this stage of coding with 20,000 lines already written, but it actually only took a couple of nights of tedious combing through compiler errors and adding try/catch blocks around all the affected method calls. Wheew. Except for polymorphic typing (which potentially will be one of MOS's most interesting features) it's getting to be feature-complete, which is VERY good, because that means I'll be able to actually work on making it stable, and more interestingly be able to work on MOS applications (MIM and Metaspace.)

Right then, it's past 5:00am, again, so off to bed...

Whew... Site keys work. This means that most communications (and all that an attacker would actually be interested in) are now fully encrypted in MOS. I don't want to have to do that again. Not that it was particularly hard to implement (actually I was supprised at how little code it actually involved) but it was not fun at all to debug. Then again, I did do the whole thing to two nights, I suppose it could have been much, much worse...

So the upside is that MOS is now (probably) really, really secure. The downside is that all the key negotiations that have to happen before things can talk to other things takes ages. I don't know well this scales, but until MOS gets another order of magnitude faster we may be looking at lengthy login times for complex worlds. We'll see how things pan out, though. The security measures of MOS are one of it's most important features.

Oh, I did get the performance up though by re-writing the message parser. MOS throughput went from 11 messages/sec to about 150 :-) Same XML message format, but parsing overhead is MUCH less now. Good.

Link of the day - Erik Davis's Figments & Inklings. Especially the Corpus Cybermeticum --- wow, it's so nice to find a web page chock full of intellectually stimulating information you can't find anywhere else, with a nice simple layout and lots of plain unadorned text. Reminds me of the web circa 1994 :-)

Spent all day benchmarking MOS. Ouch. It's rather painful to realize the software you've spent the last year working on is only capable of a throughput of 11 messages/second. The problem seems to consist primarily of the fact that XML is very heavyweight: parsing a small message takes about 25 milliseconds, so the current system has a maximum theoretical throughput of only 1000/25 = 40 messages/second! That's really, really bad.

So I guess a couple possibilities present themselves. The first would be to write my own specialized, optimized XML parser. The other would be to create a new, binary-ish encoding that expresses the same information in a tighter and more easily parsed format. It's a tough call, actually, and ironically I expect it would be pretty close to the same amount of work.

Now that I think about it, a binary encoding would also have the advantage of being able to transmit data like numbers much more easily (as such things are presently kept in text encodings and have to be converted back and forth, ouch, I know.) Hmmm Hmmm. This is going to take some thought.

Note to self: to find the whistle in the second quest, walk THROUGH the wall into the center part of the "A" in the second level. Not the first time I've missed that.

Gods. Java AWT graphics performance sucks. Incredible.

4 older entries...


tetron certified others as follows:

  • tetron certified tetron as Apprentice
  • tetron certified cael as Journeyer
  • tetron certified Ricdude as Journeyer
  • tetron certified deekayen as Apprentice
  • tetron certified nymia as Apprentice
  • tetron certified Ankh as Journeyer
  • tetron certified Dacta as Apprentice
  • tetron certified voda as Apprentice
  • tetron certified Mulad as Apprentice
  • tetron certified julian as Journeyer
  • tetron certified ncm as Master
  • tetron certified jhermann as Journeyer
  • tetron certified kimusan as Journeyer
  • tetron certified mathieu as Journeyer
  • tetron certified vicious as Journeyer
  • tetron certified NetHunter as Apprentice
  • tetron certified tladuca as Apprentice
  • tetron certified ian as Apprentice
  • tetron certified zeevon as Apprentice
  • tetron certified djcb as Journeyer
  • tetron certified rbrady as Journeyer
  • tetron certified Daryll as Master
  • tetron certified link as Apprentice
  • tetron certified alastair as Apprentice

Others have certified tetron as follows:

  • tetron certified tetron as Apprentice
  • graydon certified tetron as Apprentice
  • nixnut certified tetron as Apprentice
  • kimusan certified tetron as Journeyer
  • nymia certified tetron as Apprentice
  • voltron certified tetron as Journeyer
  • douglaz certified tetron as Journeyer
  • braden certified tetron as Journeyer
  • jahnke certified tetron as Journeyer
  • mitsue certified tetron as Journeyer
  • sqlguru certified tetron as Journeyer
  • jnewbigin certified tetron as Journeyer
  • casey certified tetron as Journeyer
  • midal certified tetron as Journeyer

[ Certification disabled because you're not logged in. ]

New Advogato Features

New HTML Parser: The long-awaited libxml2 based HTML parser code is live. It needs further work but already handles most markup better than the original parser.

Keep up with the latest Advogato features by reading the Advogato status blog.

If you're a C programmer with some spare time, take a look at the mod_virgule project page and help us with one of the tasks on the ToDo list!

Share this page