Sunday, June 1, 2014

Shiny, scalloped iron meteorite on Mars

Last week Curiosity happened upon a fantastic thumbprinted iron meteorite:

(Colors stretched and saturated. Original image: http://mars.jpl.nasa.gov/msl-raw-images/msss/00641/mcam/0641MR0027290200401874E01_DXXX.jpg)
iron meteorite on Martian surface
This might be a single chunk, partially buried. Beyond these exposures lies a similar, more exposed meteorite, undoubtedly from the same source.

(Original image: http://mars.jpl.nasa.gov/msl-raw-images/msss/00641/mcam/0641ML0027290000302784E01_DXXX.jpg)

Sunday, April 20, 2014

Accelerated collaborative programming

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

Looking for sea shells on Mars

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.


Beneath the block sand slips down-slope.


Curiosity's robotic arm and instrument packages are even shinier, smoother and less likely.
"All computers are just carefully organized sand."
This is the position at which the MARDI camera took the top images:






Just before moving to this position, a mast camera took this shot of one face of the arm's instrument package, to check that every thing was in order. Can't get much more ordered.


All Curiosity images that make it back to earth are available at:


Friday, March 14, 2014

Half Tau Day

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:



Wednesday, February 26, 2014

space-time crystals

A space-time crystal is a dynamical system that is periodic in time and space, analogous to a crystal which is periodic in space. Some physicists think that actually atomic scale physical systems can take this form, and be stable long enough to explore their properties. Or perhaps stable enough to survive the heat death of the universe!

"Can matter cycle through shapes eternally?
'Time crystals' idea is challenged but its proponent doubles down."

Here's a 3-D (time x 2-spatial dimensions) space-time crystal, composed of elastic collisions of particles on a plane:

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.]

Wednesday, December 4, 2013

I think I can ...


Opportunity sent this sublime postcard from Solander Point, taken November 12, 2013. [2018 update: The rover is still functioning well, at 13+ years into the mission, about 38 times its design lifetime.]  (source and description)


[2018 update: It is still climbing, looking for a good view of Endeavour crater's rim layering and morphology, and finding a comfortable slope to soak up sun during the coming winter. (source and description)]



Here's a composite pic of Burns Cliff, in Endurance Crater, back in November 2004. (original composite and description, with stretched colors)




Sunday, November 17, 2013

Cover Oregon fail


Software is hard, and large software systems can't be implemented without failure, correction and changes to the specifications.

But this example from Cover Oregon (Oregon's Obamacare implementation) is worse than broken:

Submit online (for IE users only)

Before you start filling out your application for health insurance and financial assistance, here are some
things you should do and know:

1) Use the correct browser
This online application is built and tested for use with Internet Explorer. Using other browsers may cause 
the form to not work properly. Important: The "submit" button does not work when used with the 
Macintosh Safari or Google Chrome browsers. Please do not use Macintosh Safari or Google Chrome
browsers with this application.


Update 1/12/14:

Now there is a more complete explanation of how the site is worse than broken, with the same liberal use of bold:


Important:
  • If you use Internet Explorer as your browser:
    • You will be able to submit your application online via a secure delivery system.
    • You will not be able to save your application or retrieve it after you click SUBMIT. Please print a copy of your application for your records before clicking SUBMIT.
  • If you use Firefox, Chrome, Safari or another browser (not Internet Explorer):
    • You will NOT be able to submit your application online.
    • You must print the application and send it to us by mail or fax (see application for details). Do not click the SUBMIT button on the application, because your information will not be sent and will be lost.
  • We are not able to support the use of this form on iPads (or other tablets) or mobile devices at this time.

Friday, October 25, 2013

Human-Not-Quite-Human




“Professor Bract, although a distinguished botanist, is not in any way an unmanly man. He has, in fact, a wife and seven children. Tall and burly, the hands with which he handles his delicate specimens are as gnarled and powerful as those of a Canadian lumberjack, and when I swilled beer with him in his laboratory, he bawled his conclusions at me in a strong, gruff voice that implemented the promise of his swaggering moustache.”  Dorothy L. Sayers, in “The Human-Not-Quite-Human”1947

[From Things Cory Doctorow saw.]

Tuesday, September 17, 2013

Wayne Morse Free Speech Spot


From The Register-Guard, Eugene, OR
Commissioners approve rules on plaza hours

"As part of the rule change, the county is now calling the area the Wayne Morse Terrace instead of its more commonly used name, the Wayne Morse Free Speech Plaza. A smaller area within the concrete plaza is now the designated free speech area."



"