It's two weeks into a new semester at school, and my schedule is horrible. I'm on campus 12 hours a day, four days a week. As usual, the amount of homework in a course is inversely proportional to how much there is to learn. I have two hours left until the three day weekend.
I'll be putting up a new layout and site structure, to take advantage of Movable Type features like categories and comments. As such, I've been titling, categorizing, and occasionally deleting past posts. I get embarrassed looking through my own past work, but I suppose that means I'm getting better at this.
TreeFold - move the mouse around, click to cycle through other structures. Produced with a grammer loosely related to L-Systems. I'm really happy with how it turned out.
Annual Design Review
The best Yayhooray thread ever. Someone asks about the very 90's IE-specific <marquee> tag, setting off a cascade of funny examples. Make sure to check out the last one.
I.D. Magazine has posted the results of the 2002 Annual Design Review. Great work all around, although I'd question a few selections. The Embryo Urn is a particularly good concept — producing a living monument from human remains.
Yet more Proce55ing
Renderings of 3-d strange attractors.
Strange Attractors: Creating Patterns in Chaos is a good introduction in strange attractors. Although the example programs are written in BASIC and use heaps of goto statements, it's well written and free in HTML or PDF format.
I've finished another program with Proce55ing. It's a simple dynamic system where each particle's movement is based on the positions of two other particles. Let it run for a while and zoom in.
As I mentioned in my last post, the implementation of Proce55ing is pretty clever. Code written in Proce55ing is actually in Java; when a program is compiled, its source code is used as the body of a class that extends BApplet. BApplet is the Java class that implements the Proce55ing system. So for example, using the noFill() statement in Proce55ing is actually calling a function implemented in BApplet called noFill().
Since the Proce55ing language is really Java, it inherits all of the abilities and properties of Java: syntax, objects, collections, etcetera. The developers also avoid the drudgery of writing parsers and compilers, leaving them free to work on features and reliability.
I finished my first Proce55ing program last night. It's a little version of Conway's Game of Life. I haven't been able to write Life this quickly since QBasic!
The way in which Proce55ing is implemented is pretty interesting, but I need to think a bit more about it. More on this later tonight.
An alpha version of Proce55ing was released today. "Proce55ing is an environment for creating interactive media. It is a sketchbook for developing ideas and a context for learning the fundamentals of computer programming."
I think it's going to be a great thing. Almost a decade ago, I learned a great deal about programming concepts and math by playing around with QBasic and it' simple graphics functions. Today with languages like C++ and Java, even simple graphics require that you understand object-oriented programming, threads, and a GUI system. Definitely not suitable for kids interested in programming.