Welcome to my blog. Have a look at the most recent posts below, or browse the tag cloud on the right. An archive of all posts is also available.
You'd think with a name like that they'd have better performance.
This is the old Apollo MVP4 chipset used in Super Socket 7 sytems used primarily with AMD K6-2 and K6-III CPUs. It used the Trident Blade3D graphics core, so you know it was full of win.
I just got back from seeing Alice in Wonderland. It was really pretty but largely content free. The high point was the trailer for Tron Legacy (I think this says more about me than about the quality of AiW.). Oh man... I am so stoked for that movie to come out! I'm really hoping there will good Tron swag in the Disney booth at SIGGRAPH this year.
/me crosses his fingers...
I've been taking a design patterns class at Portland State this term. I've been really enjoying and getting a lot out of the material of the class. However, the class is entirely in Java, and each time I sit down to do an assignment, I find myself wonder how people can actually use this steaming pile of a language. Seriously. Let me cite an example of why this language is just worthless.
I have a class hierarchy for expressions in a programming language.
This consists of a base class (Expr), derived classes for different
types of operations (ExprMul, ExprAdd, etc.), a derived class for
variable dereferences (ExprVar), and a derived class for literal
constants (ExprIntLiteral).
I want to use implement the last two as
flyweights. I add a
class ExprFactory to manage the instances of the flyweights. I also
make the constructors of the flyweights private. This is where the
whole thing falls apart. Now that the flyweights' constructors are
private, I have to put all of the classes into a package.
Now that all of the classes are in the same package, they all have visibility into all of the other classes. WTF?!? I wanted to limit the visibility of a couple methods in a couple of classes, but in order to do that I've had to remove all visibility limitations on everything. Fueled by bong hits.
I've also noticed that it's almost impossible to do Java development without using an integrated environment. It appears that once you start using packages, you have to build things in a very precise order. I basically have to fiddle with it until the compiler stops giving me useless messages.
And don't get me started about having to put every public class in a separate file with a matching name. Seriously?
Java is a toy language for making web applets. It is completely useless for anything else.
UPDATE: I have now learned the difference between marking a method
or member explicitly private and leaving it blank. But I'm still
irritated.
GLU3 is now a "real" project with hosting on freedesktop.org! This means that there is a development mailing list, and the GIT repo has moved.
git://anongit.freedesktop.org/git/glu3
My hope is to have a 1.0 release out in the next month or so. I've got some new functionality that I'm working on, but I should be able to finish most of that this weekend.
I updated my presentation camera rig this week with a new camera. I replaced the old Quickcam for Notebooks Deluxe with a Dynex 1.3MP Web Cam. I was hoping that going from 640x480 to 1280x1024 would solve a lot of the problems with the 0.1 setup. Alas, it did not.
I encountered two primary problems. First, Cheese would occasionally turn into a slide show when capturing at full res with a maximized window. It was very annoying. The frame-to-frame lag was long enough for me to write an entire word. The other problem, and this is the deal breaker, is that the camera has a fixed focus distance of about thee feet. If I position the camera three feet from the writing pad, the writing pad occupies about 640x480 of the captured image. Fail.
I guess I need a camera that will stream at 1.3MP (or better) and either automatically focus or a focus adjustment (the old camera had the latter). Cameras that I could find on the net that meet these requirements all cost $70 or more. Meh.
I have an alternate plan, but I'll have to actually write some code. I have an older Canon PowerShot A70 that I don't use. I seem to recall that there are some libraries available that allow real-time capture of single frames directly from the camera. The library basically tells the camera to take a picture, and then it downloads that picture. If I can get it to stream fast enough, say 10fps to 15fps, that should be a usable solution.
Given that nobody has written a V4L driver to stream from these cameras in this manner, I suspect that I may be heading down a road of disappointment. If it wasn't for disappointment, I wouldn't have any appointments.
For years I have been irritated by the lack of white-board space in the classrooms at the Art Institute. When the screen for the projector is pulled down, there is, literally, 4'x4' of white-board space available. As a result, I frequently have to erase drawings, equations, and bits of pseudo-code that I've written on the board. Almost invariably I want to refer back to... oops! It was erased!
Some of the classrooms at PSU have Lumens DC166 presentation cameras. My STAT551 teach uses the one in that classroom, and it's a pretty nice device. Joyous day! I figured I'd get one of those, and all my problems would be solved. I went to eBay to get one, but they're $200.
The hacker in me took over. When it gets down to it, the thing is really just a webcam and a light. It has some other features, like direct VGA / composite video output, but I don't need any of them because I have a laptop. I decided to build one. What did I build it from? Well, version 0.1 is a webcam and a light. Shocking, I know.

I used it this past Tuesday with Cheese. As you can see, the image quality isn't great. However, I was able to flip back to "erased" equations and drawings at will. Not only that, but I didn't get white-board marker smudges on my hands. The 0.1 test was a complete success.

I need to get a new cam, and I need to add a diffuser and a back "bounce" to the light. I also have some ideas for new software to write for it. I'll dish on that later. Once I get the final hardware built, I'll put up a full howto with pictures.
I just finished pitching my fledgling GLU3 library to the ARB, and everybody loved it. Quite a few people said that they've hacked up something similar, but much less complete, to get simple demo apps running. A few of the people had functionality not in the library, and it sounds like I may get a few code contributions. It also sounds like it may be included in the OpenGL SDK. Yay me!
For those interested, the doxygen documentation is at:
http://people.freedesktop.org/~idr/glu3
The GIT tree for the code is available at:
git://anongit.freedesktop.org/~idr/glu3
At some point the tree will probably move somewhere that can allow direct commits by people other than me. I'll cross that bridge when I come to it.
As pointed out in the excellent Real-Time Rendering
blog,
Sony Pictures Imageworks has released the documentation and source code for
their Open Shading Language
compiler. It's a slightly
different take on shading languages than GLSL / HLSL / Cg. The idea is that
instead of generating final colors, as in other SLs, shaders compute
information about how a surface / light / whatever interacts. These shaders
are then connected into a network, and complex global illumination is then
calculated by evaluating the network. At least, that's my understanding from
readin the
introduction
for five minutes. 
Pretty cool stuff.
I finally got my uncle out to fix my rickety basement stairs. You may remember that my wife fell down these stairs last August. My uncle Brad does carpentry for a living, and he came up from Stayton a couple times over the last well to fix them. It's almost done, as you can see from the pictures below. All that's left is to install the handrails on both sides.

You can't see it very well in the pictures, but I also got a new
door. Amazingly, this one actually opens and closes like a normal
door. It doesn't have cracks and holes in it either. 
If you need any work done in the Stayton-Salem-Woodburn area, let me know. I'll put you in contact with my uncle. He does really good work.
That was the last frickin' straw! On my way home, two blocks from my house, I broke another spoke. That's four. The bike I have is large. How big is it? It's big enough that when I hang it on the bike rack on the MAX it touches the ground. I find it hard to believe that a company would sell a big that big that can't take the weight of a 6' man. EPIC FAIL.
So... I'm in the market for a new (to me, anyway) bike, and I'm looking for recommendations. Since I have to ride to school (~14 mile round-trip) twice a week, I need to get something soon. I'm a little bit past "casual commuter", but I'm nowhere near those psychos with the clip-shoes and no brakes.
I need something that can carry me and rack full of books and a laptop. The current bike is an 18 speed, but I never use the lowest gear on the front or back. Seriously... if I need those, I may as well get off and walk!
Thoughts?
This wiki is powered by ikiwiki.