Citing web sites in scholarly publications

Posted by Damien Pollet Sat, 09 Sep 2006 15:25:33 GMT

In scientific articles it’s a problem to cite web material because it is volatile. Lawrence Lessig just blogged about a neat solution to this problem: webcitation.org.

When you need to cite a web page, you can archive it at webcitation.org and get a permanent URL for the archived copy of the material. Why wasn’t this done earlier?

Posted in  | Tags  | no comments | no trackbacks

Design Principles Behind Smalltalk

Posted by Damien Pollet Fri, 21 Oct 2005 20:16:44 GMT

I just read the article by Dan Ingalls on the design principles behind Smalltalk, published in august 1981 in Byte Magazine.

Many of the principles listed in the article would be recognized by today’s programmers as principles of object-orientation: Objects, Messages, Modularity, Classification, Polymorphism, Virtual Machine. Storage Management doesn’t really exist outside Smalltalk, or as rather crude versions (object-relational mappings vs. the Smalltalk image system). And yet some others relate to very current hype and buzz: the pragmatic programmers’ “Don’t Repeat Yourself” (Factoring, Leverage), domain-specific languages (Purpose of Language, Scope).

But the last two were rather funny, in a way:

Operating System: An operating system is a collection of things that don’t fit into a language. There shouldn’t be one.

Natural Selection: Languages and systems that are of sound design will persist, to be supplanted only by better ones.

About that last one, I must have a strange sense of humor… or maybe 25 years just isn’t long enough?

Posted in  | Tags , ,  | no comments

More progress on the 3D side

Posted by Damien Pollet Tue, 06 Sep 2005 20:17:00 GMT

K-3D builds on Mac!

screenshot

And it runs, too ;-) Huge kudos to Romain from the dev team for applying his C++-fu to an initial build of this very promising modeler! I’m currently putting together Portfiles that I’ll release here, soon. (update: portfiles available but not in a usable state)

Metropolis

I’ve also been reading a little about Metropolis Light Transport (MLT), a rendering algorithm using a mutation approach to solve the global illumination problem. Rather than sampling the possible light paths in a recursive way, it tries to discover paths that contribute more to the image by random path mutations. More samples will be taken in the zones of higher contribution, so MLT is really efficient for scenes with difficult lighting conditions: very indirect lighting, complex caustics, etc

Last weekend I’ve thrown together a quick-n-dirty limited version of the algorithm, and while it worked it also demonstrated that metropolis is not exactly interesting to integrate simple math functions like sin(x^2) :-)

Posted in  | Tags , , ,  | 4 comments

A programming language without syntax

Posted by Damien Pollet Wed, 18 May 2005 10:42:00 GMT

Subtext is a programming language where you directly edit the program structures, by copying and linking. The demo explains that better than I could ever write it.

To me it looks very much like the visual dataflow-oriented connect-the-boxes-in-a-patch tools you find in 3D software for expressions and shaders, in Quartz Composer, or in audio software to compose sound effects. However the concise textual representation in Subtext is better suited to complex programs than diagrams.

That paradigm also reminds me of the key-value observing in Apple's Cocoa; I wonder where this dataflow/driven by change stuff will lead us to...

Posted in ,  | Tags ,  | no comments

Ruby traits... nearly

Posted by Damien Pollet Tue, 03 May 2005 23:38:00 GMT

Traits -- the ones à la Stéphane Ducasse -- are mixins done the right way. Basically, it's clear what features the trait relies on, and the including entity has control over what gets included or not : features can be dropped or renamed, Eiffel-style.

Traits rock.

So I wanted to (try to) implement traits in ruby, partly for fun, partly because it would be a pretext to submit to the Dynamic Languages Symposium.

And then I just saw ruby traits in the RAA feed and nearly fell from my seat. It certainly needs a more awake look, but in fact it seems it's just an enhanced version of the attr_* macros. phew.

Posted in  | Tags , ,  | no comments