Ooooohh!! Swirrlllyyyy!!!!!

I spend more than a little time every year trying to come up with aesthetically pleasing Flash experiments. Then I come across something like this , which makes me want to trade in my computer for a dremel and a stack of sandpaper. This guy does cooler things than I have ever done, but HE does them with wood and springs.

Aargh.

Books (n)

There is an interesting discussion over at Kuro5hin : What books have influenced your life ?

Most of the comments are intelligent but (as always happens when strangers discuss books) there is some literary dick-wagging, and some trolling/flaming. What can you do?

Anyway, here is my (incomplete) list of Books Which Have Influenced My Life:

The Tao Te Ching – my first introduction to non-Western ways of thinking.

Wolf, by Jim Harrison – I never knew writing could be so powerful and so personal at the same time.

Notes From a Bottle Found On the Beach at Carmel, by Evan S. Connell – The first poem/book of poetry which really hit me.

No Boundary, by Ken Wilber – put into perspective all the disparate pieces of philosophy bouncing around in my head.

The Sword of Shannara, by Terry Brooks – the first “serious” fantasy/science fiction novel I read; kind of made it permissible for intelligent people to enjoy genre fiction.

The Sandman, by Neil Gaiman – did the same thing for comics.

Finite and Infinite Games, by James P. Carse – kind of turned the way I thought about things inside-out.

That is all I can think of at the moment. So what about you ?

Fall Down Go Boom

The building in which my place of employment is located was, at one time, a brassworks. Blocks of brass went in, and pipe fitting went out. The brassworks was built next to a pre-existing foundry. Both have been standing, in one form or another, for the better part of a hundred years.

demo-0

Last week a demolition crew began work on the old foundry in order to make room for a new hotel.Their tools range in size from “crowbar” to “tyrannosaurus”. They make a hell of a racket.

demo-1

When the brassworks was built it shared a wall with the foundry. Or rather, an additional layer of wall was built onto the foundry to serve as a wall for the brassworks. The inside of that wall is now the south wall of the studio in which I work.

The process for removing the foundry wall from the brassworks wall is much like removing old dried-on chewing gum from the bottom of a desk, except that instead of a knife the workers are using a sledge, a crowbar, and a pneumatic jackhammer.

demo-2

On a related note, we around the office have been joking about seeing if we can get a new window out of the deal.

You can probably see where this is going.

demo-3

Personally, I was hoping for something a little bigger.

Synchronology

…interesting article over on Kuro5hin : Japanese for Nerds . Basically a primer on looking at linguistics as another flavor of programming.

Despite the articles several flaws — not the least of which is the fact that article seems to be vaguely insulting to its intended audience — it brings up a very interesting point: programming languages and human languages are (surprise!) very similar! They both, at the core, follow strictly logical rule sets made up of syntax and semiotics. Rule sets (grammar) for different languages have points of similarity which can be useful for using one language as the basis of learning another.

Most of the rest is learning the words.

Note that I said at the core languages are similar. Colloquialism can be equated to non-standards-compliance (or genetic drift), and can usually be reverse-engineered to find the original rules from which they sprang.

As an example of how this kind of thing works, try reverse-engineering some “English” words in order to learn a little Latin, Greek, or Anglo-Saxon: economy ecology psychiatry psychology absent abate neologism physiology physiognomy

Perhaps I will explore the interesting interplay between -logos and -nomos and what they imply about the way the words we use have drifted from their original meanings.

Someday.

An Extra Day

Seems like we went and got ourselves a whole ‘nother day, which happened this year to land on a beautiful, lazy Sunday. In that spirit this is Trouble:

trouble

Trouble lives at Argos Books in Eastown. She is in the running for the coveted title of BEST_CAT_EVAR. That is all.

The Rules

I have an unwritten (and unfortunately generally unenforced) rule in all of the classes I teach: don’t be late. For every minute you are late, you owe me a push-up. Five minutes late equals 5 pushups. Half an hour late, 30 pushups. An easy one-to-one relationship.

But lately I have been thinking that this is not quite right. Somehow it makes me out to be the bad guy. Well, that and the fact that 30 pushups for being half an hour late is not nearly enough pushups. It isn’t MY fault that YOU are late. So I have come up with a plan which will pit my students against one another and thus leave them too disorganized for any sort of uprising:

The first student who is late to class will immediately start doing pushups. He/she will continue to do pushups until another student walks into class. Then student 2 will take over for student one, doing pushups. When another student (3) walks in, 3 will take over for two, who will then join the rest of the class.

The last late student will do pushups for the rest of the class period. Good ones. All the way down, touch the chest, all the way up. No fewer than 30 in any one minute.

Demolition

My place of employment is located in the Wolverine Brassworks building which, once upon a time, was a brassworks. Next to it is a foundry. They share an adjoining wall.

The foundry was still in operation when we moved our offices into the brassworks building three years ago. Sometime since then, it closed down. I imagine it had been in operation for some decades. And, being a foundry, I imagine most of it ha dnot had a thorough cleaning in that time.

This morning, a crew began demolishing the old foundry to make way for one half of a two-building, 20-story-tall hotel.

There were two pieces of machinery slowly crushing the building, looking much like dinosaurs foraging in a blue stone swamp. The smaller of the two machines had a thing like an enormous pair of bolt-cutters which it was using to tear apart the interior walls of the building.

demolishing-1

The larger of the two had an attachment like the claws of an eagle or owl, and it was using this appendage to grab huge chunks of building and pile them for (supposedly) some other machine to load into a dump truck.

demolishing-2

They started when we were in our Monday morning meeting. The first thing we saw was a sudden scattering of bricks, then a dinosaur-like head with a mouth-full of bricks looking for a place to spit them out.

Over the course of the day I began to notice a funny taste in the air, like standing on a road which has too much road-salt. And things around the office began to feel decidedly gritty. Given that the destruction caused huge plumes of black soot to cover the area, I can only assume that I have in me right now an assortment of chemicals which would make Union Carbide file for mining rights to my lungs.

And so it goes.

Building a Better Timeline

I’m a programmer. And I like working in Flash. The timeline is an integral part of Flash, and I hate it. I don’t like touching anything in the development environment, ever.

So I wrote one in Actionscript. It was surprisingly simple.

 // this goes in an external actionscript file
 var frameCounter = 0;
 // position in the timeline
 var loopSize = 200;
 // length of the timeline
 this.onEnterFrame = function() {
 switch(frameCounter) {
 case 1: // something which happens on frame 1
 break;
 case 9: // something which happens on frame 9
 break;
 case 42: // something which happens on frame 42
 break;
 }
 frameCounter = (frameCounter+1) % loopSize;
 }

…and that is all there is to it. The only frames I have to worry about are the ones in which something actually happens. No filler necessary. No more digging through dozens of layers spread across hundreds of frames for a mis-typed variable.

And I did it myyyyyyyy wayyyyyyyyyyyyy!!!!!!

Notes on Artificial Life

To model artificial evolution chromosome for chromosome is impossible. We would have to have an operating system create random strings of digits and try to run them all, and then build upon the successes; e.g. those strings which will perform some function within that hardware.

Instead it is more useful to begin the modeling at a level of sophistication where the beings’ interaction with the environment is obvious – when the being is mobile. Mobility is perhaps the fundamental interaction with the environment; the key word there being “interaction”. Awareness of the environment is tricky, as it assumes a certain level of self-awareness: “I am not that within which I exist.” Interaction and awareness are not quite the same thing.

Interaction begins when there is more than one autonomous being with an environment: There is a thing here which is demonstrably not “I”.

Therefore, in modeling interaction, there seems at the moment to be three levels: awareness, recognition, and reaction.

Awareness: there is a thing here which is not-me
Recognition: that thing is of type “X”
Reaction: X is friend/foe/food

…and perhaps there is some resonance between recognition and reaction.

This begs the question: is existence a pre-requisite for awareness? Is the chain:

Existence – awareness – recognition – reaction?

The answer seems to be “yes”, for (in the realm of AI/ALife) a thing must exist before it can be made aware of any other thing. And it must be aware of a thing for it to recognize that thing. And it must recognize a thing before it can react to that thing.

And here we must make a distinction reflex action and re-action. The action of X is its existence/proximity, and it is to that which I am re-acting.

In modeling an entity we can approximate Awareness with a simple distance calculation: You are this close to me, therefore I am aware of you.

Recognition requires a more refined set of senses, say, sight/smell/hearing. This can be another distance calculation, or combine distance with (say) sight in a particular direction.

Using this as a beginning allows us to add a great many modifiers onto the base behavior:

  • fight/flight
  • arbitrary reaction to different Xs
  • different senses
  • – some senses broadcast (sight) – active
  • – some senses receive (smell) – reactive
  • reflex (pre-recognition) actions at different levels

This brings up another question: Does a thing actively broadcast its existence or do other things become passively aware of its existence?

Could be some of both; call it “signalling”.
Active: noise, colors
Passive: smell, body heat

…all of which allows different senses to react to different stimuli at different levels. It also suggests a slight change to the structure of awareness:

Exist — ?
Awareness — Reflex
Recognition — Reaction

This is a good starting point; the rest is just code.