Wednesday, June 29, 2005

Europython 2005

I transitioned from our weekend Wanderers retreat, at the Linus Pauling house on Hawthorne (PDX), to Europython in Göteborg, Sweden (GOT). I'm currently blogging from our venue, the Architecture building at Chalmers using a guest account on the university's Nomad wireless network, with the 3rd and final day of the conference in progress (we're doing a coffee break at the moment).

I got invited to this conference on the basis of my Python in Education initiatives. My talk, entitled Pythonic Mathematics, was about infusing various college and pre-college math curricula with a computer programming component, including doing more with polyhedra (per slides).

The conferees here come from all over Europe, and of course speak a variety of languages. Fortunately for me, English is the medium for presentations.

At the dinner last night I sat next to Mr. Volkmer from the Max Planck Institute of Molecular Cell Biology and Genetics in Dresden. His team uses Python around databases containing the gene sequences of axolotls, frogs and such.

The night before, I had dinner by the student center indoor pool with Guido (Python's creator) and a gent from CERN, the venue for Europython next year.

A lot of these folks are Zope and Plone developers, some of whom I've met in other venues. Oxfam, GB is coordinating tsunami relief and other projects through an elaborate network of interconnected Plone sites.

Laura gave us updates on the political situation regarding the prospect of software patents in the EU, which the programmers here are pretty much uniformly against, even though their work is highly inventive and original.

A large conference on nanotubes (aka buckytubes) is taking place in parallel. Wandering amidst the posters brings back memories of the First International Conference on Fullerenes in Santa Barbara (1993), which I attended as a rep from the BFI, thanks to encourgement from Ed Applewhite.

Monday, June 20, 2005

Father's Day

So yesterday was Father's Day and the dad clowns were out in force on Fox Network cartoons. I came into the middle of The Simpsons episode wherein Homer has found an elusive new friend, a roofer-contractor whom nobody else sees, leading them to conclude Homer needs electroshock therapy. Then, after Homer is "cured" the friend shows up. Explaining the friend's previous invisibility requires Stephen Hawking's presence at one point (Stephen likes being on The Simpsons when he gets a chance -- maybe because of all those mathematicians that write for it).

In the next episode, Marge has this flash that Homer is more mortal than most, and tries to get him insured. When that proves impossible, she starts nickle-and-diming at every turn, saving money in a big jar in the kitchen, a jar which Homer develops a relationship with (he trades it in for an RV, which proves devastating to their marriage -- then I had to answer a phone call).

The dad clown in Family Guy has fantasies of being a genius, but when applying for a grant from the MacArthur Foundation tests out sub-normal, which he has a hard time accepting, until he realizes the privileges that come with rank (including the privilege to really screw up big time).

Then came the dad clown in American Dad, a CIA guy consumed with jealousy over his neighbor's good fortune (which the neighbor loves to rub in). A contest develops as to which dad will become the next deacon in their church. The CIA dad retains Karl Rove, a kind of vampire (lots of bats coming and going), to help him win, and Karl points out the importance of good cooking to church potlucks.

Given the CIA connection, there's this ET living in the house, a family secret (which is way more contact than those people in The X-Files get), and in this episode he/she/it is in some reproductive cycle causing lactation. By happenstance, the family discovers ET breast milk is just the ticket when it comes to making perfect potato salad, an advantage the wife uses to win the deaconship for her man (he later resigns, claiming he's possessed).

Millions of kids were watching spellbound, exercising viewer discretion.

Saturday, June 18, 2005

Howl's Moving Castle (movie review)

A tumbling kaleideoscope of smooth transformations, resolving as plot lines, involving true love, and with a girl's age a significant parameter. Yes, there's the moving castle, one of several portals to a subjective world, all of which intersect near a flame (voice by Billy Crystal in the USA version) that contains a loved one's heart.

Overlay that with an ongoing, violent, and stupid war (which all truely powerful wizards are trying to end), and you've got the makings of a fantastically convoluted plot. Some critics have disliked the film for precisely this reason (plot complexity), but I don't regard animation as any less a medium for plot density than say books, with their Tolstoy, i.e. "cartoons for children" remain a sophisticated cultural conveyance for messages of arbitrary depth. Disney was good at it too. Fairy tales have always been deep.

Wednesday, June 08, 2005

Wanderers June 8, 2005

Jim Buxton wants Wanderers to know that KOPB is rebroadcasting an interesting episode of This American Life tonight, about religious education. 8 PM (91.5 FM in Portland).

This morning we hosted a meeting with Steve Runion, a high school science teacher with creationist views. He sketched out his beliefs and the kinds of struggles he encounters. The Q&A was animated yet cordial, with many overlapping and divergent views expressed.

For example, how would it be different if highly evolved ETs created the world i.e. what evidence would distinguish between God versus some Alien Nation. Or couldn't the story involve a combination of both?

Afterward, we discussed the role of personal experience in belief systems, open versus closed systems etc. The world of John Nash came up a few times, as exemplary of how personal experiences could lead one to pursue different models of reality.

George Hammond was big on the point that "models" (we hope useful to their holders) is perhaps a better word than "theories," for that which we develop and seek to reality-check in the grand scientific tradition (which tradition may be more efficient at updating its core models than some religious ones -- healthy competition keeps the evolutionary picture interesting).

Another question: so how applicable is the notion of intelligent design from this point foward, i.e. aren't we intelligent and don't we design?

Monday, June 06, 2005

Dot Notation

Not everyone knows what I mean, along with others, by "dot notation." This way of noting states and behaviors was developed around "objects" in computer languages, many of which underwent a revolution in the 1970s and 1980s after the appearance of Smalltalk. The object-oriented way of thinking about programming was a revelation.

I was on the xBase track, i.e. the sequence of languages beginning with dBase II (which had precursors in Cal Tech's JPL) and going in various directions through the Visual FoxPros, of which version 9 is the latest. Our switch to OO in xBase occured around the time Microsoft bought the product, and rewrote it to support an OO GUI (this product has always been something of a skeleton in the closet, as it's more powerful than Access or VB, but marketing always kills its marketing budget).

Anyway, dot notation looks like this:

>>> mydog = Dog("Fido")
>>> mydog.bark(2)
"bark, bark"
>>> mydog.bark(3)
"bark, bark, bark"

Some human user is entering strings after the >>> marks (the prompt) with the interpreter taking over upon a press of the Enter key, and coming back with some response (or not) on the line below. The above looks like Python, but many languages do it similarly, including this use of the dot (period) as a separator between the object (mydog in this example) and its states and behaviors.

Objects come into existence through their class constructors, where the class is the blueprint or generic case of an object. On birth, an object gets a slice of computer memory and private variables, there to individualize. A garbage collector looks for abandoned objects and frees their resources.

During an object's life span, dot notation gives programmers a way to trigger behavior, consult or set state. Typically, the programmer will wire behaviors to events, such as a mouse click on a certain button. Objects listen or subscribe to a kind of Events News (part of a loop or process on the CPU) and react to a subset of them, according to their class definitions. That's the OO model in a nutshell (also sounds a lot like the economy), except I haven't really described how we develop/program within an extensible type system, taking many blueprints for granted, and creating new class definitions by means of inheritance, interfaces and composition, per the Java/C# example.

In my recent proposal to Europython, we develop a curriculum which phases dot notation into K-12, because these design concepts have matured to a point where we can count on kids having recourse to them on the job, at the work place. OO is well-nigh universal as a paradigm (which does not mean other paradigms don't exist or are not valued -- it's just that we understand the OO style, even if we choose to use something else from time to time). I've proposed that we do more of this in math class, by building and then using rational numbers, integers modulo N, vectors, matrices, polyhedra as objects (defined by extension as new classes, types -- and optionally in Python). This CS-infused math/CS hybrid would run parallel to the traditional pre-calc/calc track, criss-crossing it in various ways [sic.], per trig, stats, measurement and the like.