Monthly Archives: August 2007

Phew, back from SIGGRAPH

Well, I’m back. Hope you all didn’t miss me too much. I‘ll try to provide links to some of the papers that I liked, and also some feedback on the conference itself later in the day. Stay tuned.

No SIGGRAPH would be complete without a story or two of how I committed horrible social blunders, so I’ll get this out of the way first thing. But first, some background. Back in the mid 1980s, I was a hapless graduate student at the University of Oregon. I had no particular interest in computer graphics. I’d taken an undergraduate course on the subject, and we had spent pointless weeks deriving and rederiving Bresenham’s algorithm for line drawing, and then showing how we could use it to draw circles. Snooze.Picure from Whitted's classic paper

But then I got a copy of Turner Whitted’s 1980 paper An Improved Illumination Model for Shaded Display. The abstract:

To accurately render a two-dimensional image of a three-dimensional scene, global illumination information that affects the intensity of each pixel of the image must be known at the time the intensity is calculated. In a simplified form, this information is stored in a tree of “rays” extending from the viewer to the first surface encountered and from there to other surfaces and to the light sources. A visible surface algorithm creates this tree for each pixel of the display and passes it to the shader. The shader then traverses the tree to determine the intensity of the light received by the viewer. Consideration of all of these factors allows the shader to accurately simulate true reflection, shadows, and refraction, as well as the effects simulated by conventional shaders. Anti-aliasing is included as an integral part of the visibility calculations. Surfaces displayed include curved as well as polygonal surfaces.

In short, Turner had invented the rendering technique that we know today as ray tracing. And quite frankly, it changed the course of my interests in computer graphics as well as ultimately my career. It’s an amazing thing to realize that just reading a six page paper from someone that you never met can affect the course of one’s life so dramatically.

Luckily, I did ultimately meet Turner.

I’m not sure what year this was, but it was perhaps fifteen years ago that I was attending a SIGGRAPH Birds of a Feather meeting that we used to hold which was called “The Raytracing Roundtable”. Organized by Eric Haines, people interested in raytracing would show up, we’d go around and introduce ourselves, and then pointlessly argue about which acceleration structure was the “one true, fastest” technique. They were fun back then. On this particular year, I introduced myself, saying that I wrote the “MTV raytracer” (which was still rather popular back then) and that I worked at Pixar on rendering technology.

Then, the person to my left introduced himself: Turner Whitted. He mentioned that he now worked primarily on digital design. And the intros moved on.

The odd thing was that I suspect only about one in three people there knew who he was. I was delighted for the chance to talk to him, and we exchanged pleasantries, and he flattered me by saying that he had swiped a chunk of the ray intersection code from my raytracer (quadric ray intersection, if memory serves). I was in heaven.

Fast forward maybe ten years. I’m at SIGGRAPH again, and hadn’t spoken to Turner in all that time. I’m on a bus heading back to my hotel from the Staples Center, and I see Turner board the bus. He calls me by name, somebody he hadn’t talked to in a decade. I’m totally floored. We talk about FPGA design a little bit, something that I keep being interested (but as yet have not found the time to adequately explore) but I’m left again knowing that I’ve been in the presence of a truly great pioneer and a really nice guy.

Fast forward to this SIGGRAPH: I’m at the Disney R&D mixer, and I see Turner again. He comes right up, shakes my hand, what a nice guy. I introduce him to Julian, and we chat again about digital design. Somehow the topic of tools comes up, and Julian talks about Altera’s tools and their support of Linux (the operating system that we both prefer). Without really thinking about it, I blurted out that I had sworn to send Microsoft no more of my money.

Of course the thing you may not know (and which I only remembered hours later) is that Turner heads the graphics division of Microsoft R&D. Doh!

My self-imposed moratorium of sending Microsoft money had begun with this annoying day when I finally deciding to nuke my increasingly lethargic laptop and but Ubuntu on it. It’s still running Ubuntu, and works just fine. I’ve since moved on to using a little cheap Macbook, which I basically love to death. All the nice GUI with the underpinnings of Unix which I love. I don’t really believe that Apple is a more benevolent commercial enterprise than Microsoft, but I think they are more focused on improving customer experience, and it shows. Even when I ultimately bought my son his new Windows Vista box, I couldn’t help but be reminded about how great the out of box experience was with my Macbook, and how by comparison the Vista experience was slow and clunky. So in a sense, I don’t really regret saying what I did: it expresses a very real frustration with their products.

It’s also no secret that I am an enthusiastic supporter of open source. I’ve used FreeBSD since the release of 1.1.5.1 back in 1994, and various distributions of Linux almost as long, now pretty much using Fedora at work and Ubuntu at home. These systems are both capable and represent a philosophy that I support: that society is well served by having a free, user-created computing environment. I suppose it’s a form of idealism that I like to entertain and promote.

But I shouldn’t have acted like an ass. The simple truth is that Microsoft R&D employs some of the greatest minds in computer graphics and I should be intellectually strong enough to separate my frustration with their products from the admiration both the fine work that people like Turner have done and continue to do. I should also work harder to keep my idealism from becoming dogma. I’ll try to keep this tension in mind more clearly when I comment about this stuff in the future.

An aside: as it is, my resolve in my pledge is already weakening: it appears that DirectX 10 allows you to do quite a bit more than the OpenGL support that is accessible from Linux. Support for the latest, fastest stuff always appears for Microsoft before Linux, and much as I might like that to be different, it’s the reality of the situation. I’m in a position where I’m forced to admit that the Windows platform may actually grant more power and capability than Linux.

Okay, enough of that, on with the technical highlights.

As a reminder, you can get most of the papers as links from http://trowley.org/sig2007.html.

The sole exception that I found interesting is Brian Guenter’s paper Efficient Symbolic Differentiation for Graphics Applications. I’ve studied automatic differentiation techniques quite a bit, and while I haven’t dissected the paper yet (I had to leave before it was presented) I’m pretty intrigued by the results. Several computer graphics applications that I am interested in require the differentiation of complex sets of equations, and this promises to evaluate these in a much, much faster way.

Real-time Edge-Aware Image Processing with the Bilateral Grid was pretty cool. Bilateral filtering has many applications, and this technique allowed many previously non-realtime processes to be done interactively. Neat!

Plushie is a system that allows anyone (even kids) to sketch out designs for stuffed animals, and then creates a 2D pattern so that you can cut them out and sew them together.

Photo Clip Art and Scene Completion Using Millions of Photographs harness the power of Flickr and the millions of photos that can be downloaded from there, and harnesses in interesting ways. The first searches for elements (such as cars and peoples) that can be seamlessly incoporated into the picture you are editing, even trying to match the lighting and sizing people accordingly, and the second allows you to replace parts of your image (such as telephone poles) with bits of other, similar pictures. Both very nice papers, and very thought provoking.

Many-Worlds Browsing for Control of Multibody Dynamics is a simulation system that allows you to select very unlikely but physically correct simulations to achieve a goal. If you check out the video, you’ll see that they managed to find an initial position which causes letters falling through a pachinko style maze of pins to form the word “SIGGRAPH’. This system harnesses fast multi-body simulation enable you to direct the action.

Some other good things: panels about the cooperation between Lucasarts and ILM, panels on Happy Feet, Spiderman and Transformers (as well as Ratatouille) and the cool weather and good food of San Diego. Oh, and the girl with the solar panel bikini to charge her iphone.

Technorati Tags: , , ,

Matt Blaze: California voting systems code review now released

Keeping in the entire “hacker” theme, I read today on Bruce Schneier’s blog that code reviews of three voting machines that are proposed for use in California elections has been released. I found that (not surprisingly) someone that I knew had worked on one of them, and now that the report is published, he is free to talk (and blog) about it.

Matt Blaze: California voting systems code review now released

The problems we found in the code were far more pervasive, and much more easily exploitable, than I had ever imagined they would be.

I haven’t read the final reviews, but right now, security for voting machines seems to be a serious problem.

Matt exemplifies the best of the kind of hacker that I mentioned in my previous post, and here is participating in a project of monumental importance. At stake is literally the trust of the American people in the integrity of their democracy. It would be easy to put this control into the hands of a few companies who make millions of dollars selling voting machines, but as the reports that are coming out of this review indicate, they simply have not done a reasonable job of protecting the integrity of our democratic process, despite their assurances that exploits of such systems are impossible.

I’ll probably have some downtime next week, and will try to read more of the reports.

Technorati Tags: ,

Defcon 15: Undercover reporter flees

I proudly accept the label of “hacker”. That word gets tossed around alot, and means different things to different people, but I mean it mostly in the sense that author Steven Levy might have approved of. (I think it is a tremendous shortcoming that Levy’s fine book Hackers is only mentioned in passing on the above Wiki page). To me, a hacker is a person who is fascinated (even obsessed) by the inner workings of complex systems and mechanisms, and in the prospects of manipulating them to produce desired and unexpected effects.

When the media normally mentions hackers, it is in the context of computer crime: individuals who exploit vulnerabilities for either financial gain or simple vandalism. There is, of course, some overlap between these two camps, but I don’t identify myself with criminals of any sort, even those who nominally commit their acts to call attention to software vulnerabilities. After all, if someone kicks in the door of your house to demonstrate how easily a criminal might do it, I don’t think they deserve any special thanks.

But short of committing crimes, I think there is a valid purpose in engaging in exercising the skills that such criminals would employ. Someone doesn’t need to kick in my door, but someone can setup a door, and then show how easily such a door can be kicked in. This kind of information advises the publics on the risk of using weak doors, and the publicity means that door manufacturers are likely to do a better job.

Well, all that is background. This is just a way of saying: I think it would likely be pretty cool to attend DefCon. I’ve read about their goings-on for years, and think it would be a fun way to spend three days, immersed in a world that I’ve mostly seen from the edges. I’ve attended other smaller get-togethers of similar nature, but the sheer size and scope of DefCon is somewhat appealing.

Here’s the thing about such conferences though: the people involved are in general pretty cautious about talking about what they do. Much of what they do is circumvent security and copyprotection mechanisms, and the legal climate here in the U.S. makes that a fairly risky thing to admit to. In particular, it’s a bad thing to admit to in front of the general press. The press covers events like this with remarkably little subtlety, usually using interviews merely to confirm the preconceptions that they and the public already have about the hacking community. Such characterizations aren’t helpful, or even truthful.

The net result of this is that press are either denied access to such conferences (such as ones that I have attended) or are required to wear a press badge so that attendees know when they are talking to the press. The press is further required to obtain permission to film any individual in private conference areas, or to film conference sessions. Usually, general sweeps of cameras on the audience are not permitted. Those are rules.

That’s the background.

It appears that there was a bit of a kerfuffel (is that a word) this year as NBC Dateline producer Michelle Madigan showed up at DefCon this year. She apparently registered as an ordinary attendee, had repeatedly rejected the idea of using a press pass, and was reportedly secretly filming the goings on using a hidden camera. In the opening session, it was announced that there was a press person posing as an ordinary attendee, and that she should be found and escorted from the premises. She was told that she would be welcome to return if she used the appropriate press pass.

Link to Hack-a-day coverage, and youtube video of the results:

Defcon 15: Undercover reporter flees – Hack a Day

She obviously is a bit concerned about being photographed and followed as she is leaving. I must admit that I feel a bit of sympathy towards her, which is (upon reflection, and somewhat surprisingly to me) likely due to the fact that she is a woman, placed in a position which might (somewhat reasonably) be considered threatening. Still, I can’t help but think of the irony of this situation: she was photographing people secretly, and, let’s face it, quite likely to publish a report which portrayed the individuals filmed in a less than exemplary light. These people had told her (through the policies of the conference) that if they were to be photographed at the conference, you had to obtain their permission first.

She chose not to obey the rules. When you break the rules and get caught, it leads to some uncomfortable moments.

Frankly, I think that they could have done this better and more politely. They could have simple refused to grant her a pass, and announced that fact in the opening session. The drama of creating a potential mob scene in the opening session, and the risk that it could escalate was simply to great to justify any of the delicious irony of outting her live. Regardless of the intentions of the organizers, it could have rapidly gotten out of hand, and that would have sucked. Let’s face it, if one person is crying that you be tarred and feathered, that’s probably not a big deal, but if a conference room full of hundreds of people are all chanting it, you might have some legitimate reason to be fearful for your personal safety, and nobody should feel that their personal safety is in jeopardy in such a situation.

Be polite, people.

Technorati Tags: , ,

Puppy vs. Kitten

I’ve written before about my cat Scrappy: the partially feral cat who now bitches at me if I don’t pet him enough. He went through a period where he obviously was getting into fights with other cats in the neighborhood (thankfully, which has not happened much lately). I often wondered why he would fight cats where he obviously wasn’t coming out the winner. This video demonstrates why: cats are obviously willing to fight things twice their size. To their credit, they do appear to have a mastery of the sneak attack that dogs seem to be unaware of:

Bugs Bunny, greatest banned player ever

U.S.S. Mariner » Blog Archive » Bugs Bunny, greatest banned player ever

The exclusion of non-human players like Bunny is another shameful example of the long history of injustices done by baseball’s racist policies. That black and rabbit players could only play against white players in non-sanctioned exhibition matches deprived the game of some of the best talent to ever play, and from what we’ve seen, robbed scientists of a chance to better study phenonema with wide applicability to questions of physics that could have greatly benefited all residents of the earth, be they human or Leporidae.

Thanks Dan for the link.

You can watch it on Google Video.

Schneier on Security: Conversation with Kip Hawley

Bruce Schneier was invited to come to Washington to talk with Kip Hawley, head of the TSA. He’s currently putting up a five part article about those conversations on his blog. Part 1 Part 2 and Part 3. What we see is an agency which is trying to put on a better face without actually addressing any of the real concerns that people have. They want us to trust them, but they don’t wish to actually demonstrate that we can trust them. It also demonstrates that the TSA is very interested in behavioral profiling. Quote of the day:

Don’t forget, we see two million people a day, so we know what normal looks like.)

Addendum: Schneier asks about the 3 oz. limit for liquids, asking what’s to keep a terrorist from trying to smuggle a quart of some dangerous liquid on board. After all, if you accidently forget, they just confiscate this stuff and huck the liquid in the bin: they don’t immediately strip search you and put you on a watch list. So, a motivated terrorist could try, multiple times, to get such liquids past security, and given the effectiveness of screening, eventually succeed. Hawley’s response was that “If the TSO throws your liquids in the trash, they don’t find you a threat.”

Well, if that’s the case, then why do they bother throwing your liquids in the trash at all? If I’m not a threat, how about letting me keep my 12 oz. bottle of Paul Mitchell shampoo?

Late night hacking…

I was tired and cranky all day.  My wife is asleep, but I’m hacking on my laptop in the dark.  How lame is that?

This is really just a test to make sure I’ve got the feedburner problem ironed out.  Maybe now I can sleep.