Sunday, October 19, 2014

We are all going to die eventually. So when the time comes that death greets us, embrace it. Accept the death; accept the dark. Or forever be lost and confined in the false glimpse of light. [tyridge77, from Confined]

I wrote a bit about tyridge77 getting me up to speed with collaborative coding tools. Apparently they used similar skills to good effect, collaborating remotely on a very short schedule.The game speaks for itself. Superficially it is a haunted house simulation, in the 'horror' genre -- not in the modern Halloween style, but in a more subtle emotionally laden acknowledgment of uncertainty. Playing it for yourself is its best description. You can find some YouTube play-throughs, but they don't do 'Confined' justice. Some elements went over the heads of the few commentators I watched. Perhaps the players are too young to appreciate their own mortality? In any case they all were expecting specters to jump out at them, and none had presence enough to try flipping a light switch or turning on a lamp. Shadows reign, more real than light.We had no idea that tyridge77 enjoys and writes 'dark' poetry, one short stretch of which informs and narrates 'Confined'.Here's a bit from an informal Skype chat with tyridge77, about the game and literature he enjoys:"The game, and the poem that is [about] how some times we cling onto light, and what we're comfortable with, instead of moving on or adapting to the dark.""Edgar Allan Poe is my personal idol. Him and Nathaniel Hawthorne. I love the free interpretation in poetry. Poe and Hawthorne do this quite well which is why I enjoy them so much. Although Poe does usually give you more factual "down to the point" information with a bit less space for interpretation than Hawthorne."Here's another of tyridge77's poems he graciously shared, "...about an individual who is battling with himself over multiple ambitions (or sides), and being unable to clearly see and set forth on his path of life."

Unity

He stuttered tremulously as his mind decayed. His thoughts failed to evolve into words. The thoughts he craved. He felt lost, helpless, stumbling in vain.

Stumbling into the very grave he made. He needs to change, he wants to try. He's leading astray, his path will die.

And die it did to be reborn again. Back into this world of two foiled kin. Wrong as he is and mundane as night, its purpose lays hindered by his dim casting light.

So yet again it fades before his eyes. He whom has fallen has let the other fly. Yet a force is needed to rebalance these tides. Never so quickly fall the tedious sands of time.

A mend of balance is a mend of light. Illuminance solely fuels such a strife as life. To live with self virtue is to sacrifice.

So quell the threat, let these two foes be undone. Help yourself, let two become one."

[Some parsing of paragraph breaks is mine, apologies if I mangled the intent.]

Sunday, April 20, 2014

Yesterday a couple of friends, Tyler and Matt, wanted me to look at a program they are writing, and they got me up to speed by helping me install software tools they use. It was a mind-blowing experience, not because of any one tool or piece of code but for how much, fast and smoothly many complicated things happened while we communicated remotely.This is not a tutorial, just a high level description of my experience. Using only a laptop and a decent internet connection, we shared code, interactively shared code changes (with ~1s latency), ran modified code immediately, talked about the results (with ~.1s latency), and shared interactive graphic results (a dynamic interactive app -- a game). These programs can be compiled for all common handheld devices.To debug my OS/machine/configuration, Tyler copied and simplified the main loop with a single graphics call ('newLine'), using a physics engine call ('addBody'). I then ran the code on the Corona simulator, showing dynamic feedback of event driven programming. We ran the code on different OS's while at different locations. I didn't have to tell him how my system behaved, because I shared my desktop through Skype.This is what that looked like on my screen, showing almost the complete top level code base for the test app:While I was testing out configuration changes, they could either tell me what buttons to push or were googling for answers and copy-pasting the results into Skype's chat box.I'm a robopsychologist, and from my perspective code is a way to get machines to behave well. While I enjoy programming and keep up with what I need to know at the moment, many of the tasks involved are not what I want to do, just what I need to do to make machines work like I want them to. I want machines to be capable of doing sophisticated things and to show them how to do it in as easy a way as possible.I'm an old coder in the sense that I have used personal checks to acquire floppy disks and paper documentation through snail mail. I use more modern methods now, but I was still blown away by how sophisticated and powerful newer tools have become. I regularly collaborate remotely with a couple colleagues in the next state, using Github, Skype and a cell phone when needed. I've tinkered with mobile telepresence. Still, for solving difficult issues fast and effectively this was a new experience.These friends are relatively young and new to programming, but more sophisticated than me in many respects. They figured out what tools they wanted to use, and showed me how to use them. I learned a new high level language (Lua, an interpreted scripting language), installed LuaEclipse by dragging an HTML based 'install plugin' icon onto a desktop IDE (Eclipse, an Integrated Development Environment), installed and learned how to use a collaborative programming tool (Saros), and configured Eclipse to use the Corona interpreter, SDK and device simulator. And I got schooled in how they structured their program.Many IDEs, including Eclipse, are repositories of feature bloat, opaque and intimidating in many ways. An alternative is to use a text editor with syntax color coding, which is the core of programming and nearly universally available and accessible. But this set of tools running in conjunction with Eclipse was very impressive. In was not easy, but getting past the multitude of issues between strings of bits and a working program was greased by sophisticated tools, particularly those that allowed remote, low latency collaboration.

Tuesday, April 1, 2014

Mars had some warmth and water in it's early existence, but probably not long enough for complex life to evolve. It is not clear if even the simplest life could or did occur.

But that doesn't mean we can't look for seas shells in a previously flooded basin. There's lots to see, and finding pretty pebbles is a noble goal. Unusual shapes catch the eye, and beg for a close look. Would we even recognize a Martian fossil? What would it take to be convinced?

"I do not know what I may appear to the world, but to myself I seem to have been only a boy playing on the sea shore, and diverting myself now and then finding a smoother pebble or a prettier sea shell than ordinary whilst the great ocean of truth lay all undiscovered before me." Isaac Newton

Is unlikely a sea shell. Detail of top-right of image below.

At this location, at the Kimberly, there are lots of shiny pebbles embedded in a sandstone matrix. These are also not a dime-a-dozen on Mars -- it's not obvious how small stones get rounded and polished. Wave action and river transport is usually how it happens on earth.

The side of this sandstone block shows layering with roughly uniform thickness. On earth this would indicate seasonal deposition, perhaps due to annual fluctuations in composition.

Nearby some course grains with angular facets slowed erosion along an edge of a bedding plane.

Friday, March 14, 2014

The circle constant is the ratio of circumference to radius; in a Euclidean space the length of the circumference is identical to tau*radius. This makes for a natural unit of angular measure, the radian. Tau radians is a full turn, an identity function. Any shape rotated by tau radians brings it to its original orientation.

Many interesting patterns are symmetric after a half-tau radian rotation. This one is a black and white inverse after a half-turn about an axis through the center point:

3-D space-time crystal: A 4x4 checkerboard tiling, where each particle's path is a square. Viewed as a cross sections of continuous fibers, it is a three dimensional knit. [Dynamically modelled and rendered in Processing.]