Thursday, December 21, 2006

I forgot some things!

posted by Joe Ardent @ 12:56 AM

So, some time ago, like a month ago, I happened to have dinner with a small hero of mine, author Rudy Rucker. He had said on his blog that he'd be in New Zealand, and to drop a line if anyone reading was there. So that was neat. He and his wife Sylvia were incredibly nice, and it's humbling to think that at his age (60!) he's thinking the things he's comfortable thinking about. Ain't that a mouthful. But really, he's way way out there, in a completely coherent, rigorous way. Kind of like Philip K. Dick, but happy. He wrote about our dinner, too.

About the whales, I still don't have the photos, but I'll try to get those up before we leave for the South Island tomorrow night. We'll be taking the ferry over with our car. Down there we'll be hanging out with some friends of ours at a beach cottage in a town called Punakaiki ("poon-uh-kye-kee") for a few days, then going down to hike on a glacier. Also, once we get to Punakaiki we'll re-connect with Nikhila and her friend Saman, before parting after the glaciers, until Nikhila comes back to Wellington on the 31st. I'll try to get some pictures of the glacier, especially if we wind up doing a helicopter tour of it.

Finally, someone on a list at work posted a photo of one of these:


I thought it was pretty awesome.

Tuesday, December 12, 2006

I'm a dork

posted by Joe Ardent @ 2:29 AM

First, dang. Dang, man, I been a hermit the past two months. Really withdrawn, but not really in a bad way. At least for me. For anyone who's wanted to get in touch with me, probably not so much. So, if you've written email to me, or called me, I'm really sorry for not writing or calling back.

So, like I said, I've been really withdrawn. Partly due to spending all day every day since early September by myself in an office in the forsaken wing of the building where I work (the hallway where my office is is known as "The Chicken Wing"). It's clearly not part of the original structure, and it's cold, and the bathroom is smelly and has no hot water or mirror. So I haven't had the daily routine of interacting with people, and not having that interaction tends to make me withdrawn. Then, come the weekend, all I've wanted to do is lay around and not have to do anything. Since Nikhila will be here in a few days, it's a good thing I'm starting to come out of my shell a bit. Not that I'll be able to keep up with her, but at least I won't be such a neck-albatross.

On the other hand, starting last week, my job changed, I got an officemate, and I've been working on some really interesting stuff. I'm working on a framework for doing particle effects that Chris Horvath originally wrote, and really getting into the details of how all the stuff used to make special effects works, in addition to some serious leveling-up as a programmer. Plus, because I'm a math and physics geek, it pleases me to no end to be able to send mail like this, AS PART OF MY JOB:


Here are two pictures. In the first one, the "velGain" attribute of the
instancer is set to 1.0 (that is, the velocity multiplier is 1.0), and in the
second, the velGain is 1.1. Notice the streaks in the second. The reason
they're there is that the entire emitter-particle-camera system is moving very,
very fast from the lower left to the upper right. The particles were cached
out with their velocity in world space, and so when the motionblock is
constructed in the instancer, the second position was been calculated thus:

P1 = P0 + (dt * velGain * velocity);

where dt is our deltaTime in seconds from Solid, and velocity is the
per-particle attribute in world-space. Because the emitter-particle-camera
system's velocity, which the particles inherited, is so high, the effect of the
velGain multiplication is dominated by it, and the naively-desired normal
velocity (with respect to the emitter) is completely overwhelmed. In effect,
the second image shows what would happen if velGain were 1.0, and dt were too
high (as was the case in Allen's original issue). We've still got enough rope
here to hang ourselves with, and this shows that for all the good work we've
just done, it could amount to nothing if the instancer writer does the wrong
thing (in this case, set velGain to anything but 1.0).


Super dorky, eh? Here are the two pictures:

The first is how it should look, and the second is how it looked to cause us to spend the last week changing the architecture of the system to behave "correctly". Clearly, we didn't fix it enough, eh? (OK, not really; the system in question is capable of universal computation (that's its biggest feature, in fact!), so it's basically impossible to predict all the ways it will be misused.)

But the email goes on to suggest a way to get people to do the right thing, and to do some fancy math to create a unit vector (or rather, one for each particle, or little blue dot) that points out from the center of the sphere and goes through the particle, then use that to get a new vector to act as a direction for a new velocity, then multiply "velGain" by that new velocity. There would be some linear algebra (hello, cross-product AND dot-product!), which for an irrational reason pleases me greatly. Probably because there's no way I'd have ever needed to use linear algebra in my former career as a sysadmin, and I was ready to shoot myself if I had to keep doing that.

And then around 5:00 today, Kris called me to say that there were killer whales swimming near the shore in the bay that my office is near to. So I rallied some of my coworkers, and we went out there, and followed the whales as they swam along the beach. It was awesome. At least four orcas, swimming along, doing that orca thing where every thirty seconds or so they come up for air as they swim. Everyone kept parking their cars, getting out to look at them, then getting back in and driving another quarter mile up so they could get out and watch the whales swim past, then getting into their car to repeat the process. I took some crappy pictures with my cellphone, but Francisco got some better ones with a borrowed camera. I'll wait to post my pictures for him to get me copies of the ones he took. Then you can see how crappy mine are.

Friday, December 08, 2006

Why I've Been So Busy Lately

posted by Kris Ardent @ 6:38 PM

Last night, Brenda and I catered our first raw foods event for Bikram Yoga Wellington. We've been working our asses off for weeks, figuring out the menu, testing recipes, printing our own business cards (hand cut, for that "rustic" look we're going for) and working on the website so it would be ready for all the new customers we would get from this party.

Check out the two pages we've managed to cobble together, but no making fun of my sad little html skills:

As part of our business, we've teamed up with Excalibur Dehydrators to be their New Zealand distributor. When I got home last night, there was an email from an appliance company requesting our price list and delivery schedule, so they can place an order! Wha?! Seems Excalibur already has us listed on their distributors list! Crazy. This morning, I had a food order on my cell phone. Seems there may be something to this raw food.

We made 8 dishes for the party, but each one had multiple recipes comprising the whole dish. Holler if you want any recipes.

Almond-Tahini Hummus with Sliced Veggies and Sun-dried Tomato Crackers

Lasagna Roll - Zucchini "Noodle" Marinated in Lemon Juice and Olive Oil, Rolled with Sweet Sun-dried Tomato-Spinach Marinara Sauce and Pinenut Ricotta Cheese

Nachos - Flax Corn Chip Topped with Spicy Un-bean Dip, Guacamole and Cashew Sour Cream

Marinated Mushrooms Stuffed with Mushroom Walnut Pate & Pistachio Basil Pesto

"Salmon" Pate Made From Walnuts, Red Pepper and Celery Served on Cucumber Rounds, Topped with Dill

Thai Wraps filled with Mango, Carrots, Red Cabbage, Bean Sprouts, Basil, Cilantro, Mint and Almond-Ginger Dressing

Fruit Skewers are pretty sprinkled with fresh mint.

And finally, Coconut Cashew Divines - Dates, Cashews, Coconut, Vanilla and Agave Syrup

Now, the big sleep.