by Steven K. Roberts
Microship Status Report #138
January 25, 2001
“What we pass off as depth and breadth of computer knowledge
is really just a pathological fascination with trivia.”
— Ethan Henry, Java instructor
This Microship update is dedicated to Alan Selfridge, who stunned those of us who admired and respected him by passing away suddenly on January 13. His brilliance and vigor were a constant inspiration, not only through countless professional successes in ultrasonics and piezoelectrics, but through his rare ability to dream big and then make it come true. He was a creative man who knew how to play, and his ultimate lab in the Santa Cruz Mountains is surrounded by giant redwood trees, trails, swings, tunnels, high-quality craftsmanship, and a loving extended family of which I am proud to have been a part for 15 years. Alan should have outlived us all… yet now there’s a black hole incongruously filling the space where he belongs.
When someone as alive as Alan can abruptly cease to exist, I feel quite foolish slouched at my desk, websurfing for nothing in particular. I’ve been much more focused on the project this past week… though it should not have taken the demise of one of the people I most respect to trigger such an obvious insight about the value of time.
We’ll miss you, Alan.
MICROSHIP SYSTEM DESIGN
Documentation is famous for being the reluctant product of harried engineers who would much rather make something work than write about how it was done (or worse, explain how to use it). It’s bad enough in industry, where there is manpower a-plenty and a management structure to kick butt when needed; it’s next to hopeless in an understaffed little enterprise like ours where doing one thing means that everything else grinds to a halt. I’ve dreaded doing a complete system configuration drawing for some time even though the need was obvious… largely because it required a tool that didn’t exist.
The problem is that this is live documentation. I’ve done lots of block diagrams in drawing programs like the venerable MacDraw Pro and its descendants, but they don’t behave like CAD files at all: when I want to drag things around, connections break because they’re not really connections. And my favorite design program, Capilano’s DesignWorks, is a spectacular schematic capture tool… but what about random sketches of things like radio front panels and fanciful speech-synthesizing lips? Both classes of apps do what they do very well, but overlap little… and on top of that, I’d like the output to be directly exportable as an HTML image map for use as a front end to the documentation library on our site.
Imagine my joy, then, when issue #553 of TidBITS (always an excellent Mac resource) introduced me to ConceptDraw from CS Odessa on the Black Sea. It’s not intended to replace CAD packages for real engineering, or dedicated illustration programs for pure artwork, but it’s absolutely amazing at solving the multidisciplinary problem of creating a “live” diagram with rubber-banding connections. As a major bonus, individual objects are clickable to open related files, even if that involves launching other apps like Acrobat, a word processor, or a browser. It knows how to export a drawing to HTML, creating an image-mapped GIF or JPEG that can be piped directly to our site. And there’s a lot more, including sophisticated dynamic object behavior defined by tables… you can even use formulas to customize them any way you like or add your own context menus. The program comes with loads of object libraries, knows how to import Visio files, and is available for Windows as well as the Mac. You can download the demo from their site and try it if you need to move beyond static drawings… this tool quickly becomes indispensable!
As you can see, I rather made a project of it… all those front panels and other pictures are reasonably representational of the real things, and it’s as technically accurate as possible, changing as the design matures. At this writing, 17 of the 90 or so objects are linked to pages with additional detail and graphics — including product resources and downloadable datasheets. When I saw over 300 hits in a 2-week period on that irritating little guy shoveling endlessly in the otherwise vacant “Microship Technical Information” part of our site, I knew he had to go…
It’s still based on a “Grand Central Station” of crossbars (audio, video, and serial), a bank of power control bits, and lots of other I/O to perform data collection and knit random subsystems into a homogenous whole — pretty much the plan all along.
No, the big changes are at the high end — the suite of computers that will make the Microship a fun thing to use and render ongoing development as amusing as possible. This calls for careful selection of platforms, emphasis on open-source tools, and choosing languages that are intrinsically entertaining. After lots of consultation with our development team and many hours immersed in research, we have, at last, a plan.
The boat needs something that is on all the time, and frankly, I’d be happiest if that could be the “Big Iron” Debian linux box (most likely a drop-in laptop with remoted keyboard and heads-up display). But power issues always surface in this kind of environment… we can’t afford the continuous drain of a full-scale disk-based PC (though I don’t mind turning it on for navigation and productivity apps). This forces us to have two hardware levels, though that does come with a nice advantage. With Big Iron decoupled from the moment-to-moment operation of the ship, we can be more free with selection of that box, which becomes, essentially, the equivalent of my desktop… right down to USB I/O and the most current software tools.
Given this distinction, we originally viewed the “Hub” processor as a sort of grown-up replacement for the original FORTH Hub developed in 1995. But if the “Server” is usually off, then the Hub needs to be more autonomous… so we started adding more and more functionality to it and leaning toward a need for file storage (preferably Disk-On-Chip), a 32-bit CPU, and fast communication resources. This led us naturally to the “embedded linux” class of boards, providing a robust multitasking environment, familiar tools, open-source community support, and compatibility with our Server code… while not requiring a power-hungry flat-panel display, active cooling, or a spinning hard drive. Raw processor speed beyond 100 MHz or so is not much of an issue, as we’re not running a graphics-intensive GUI. All this suggests that we can get away with something in the 1-2 watt range.
We listed the tasks this little guy has to perform, and came to the conclusion that the object-oriented, tightly integrated world of Squeak makes more sense than dozens of random programs all yakking at each other through sockets and files. Squeak is enchanting… it’s platform-agnostic, object to the core, fun, and amazingly rich with potent development tools and a community of equally amazing developers.
So what will this thing be doing?
- Crossbar control and dynamic Microshipnet configuration
- Device power control
- Security/watch functions
- Live system status display (local or remote)
- Pre-launch and pre-land checklists
- Remote control via DTMF/voice over HT
- Remote GUI and messaging gateway
- Development tools for ongoing tweakage
- Environmental data collection
- Sensor logs and telemetry (wrapped around MySQL)
- APRS beacons and inter-node location tracking
- Random little stuff
Without a normal console, user interface becomes the tricky part — the native Squeak bitmap environment will be viewed via VNC server from the Big Iron when I want to swill Jolt and engage in hackage. At the other end of the spectrum, there’s a dedicated serial LCD that will mount above the power monitor screen on the console, allowing the program to continuously report status, messages, alarms, live sensor channels, and other basics.
But for primary interaction, my current plan is to scatter four Palm OS platforms around the Microship fleet — two hard-wired and sealed into our consoles and two in our backpacks. The latter appear at the distal end of 56kbps spread-spectrum radio links with 25-mile line-of-sight range. While on-board, the control interface is via a hierarchy of mini-apps (like PQAs) in the hardwired Palm that convert pen events to strings and display responses/events either graphically or as text. When I’m off-boat, a local command will transfer this front end to identical code in the remote, waking up the wireless hardware in the process. Most of the smarts here can be at the Palm end, so to Squeak this is a simple text terminal… and the wireless tools also allow boat-to-boat and backpack-to-backpack communication.
This moves just about all the essential Microship operations into the Hub, which begs the question: what is Big Iron useful for besides off-the-shelf apps such as nautical software, database, web browsing, documentation, archiving, MP3, number crunching, software development, email, and so on? Well, it backs up the Hub’s databases any time it’s told to, serves as a coding environment and documentation server, and otherwise provides the services of deep disk space and rich connectivity when we need them. Best o’ both worlds.
The only remaining problem is figuring out where to put the massive pile of I/O ports. If the Hub ends up being a PC/104 board (like the Ampro), there are dozens of stackable products that can give us the 120 digital output and 48 input bits we need, though that approach requires custom drivers. More likely, we’ll go with what Ned has been designing: a very clever PIC 16F877 solution that lets the Hub access all the control bits with serial strings…
So we have a plan! A few component vendors need to be established, but the architecture, OS, and development languages have been chosen. Gee, maybe good documentation IS useful! <grin>
SILICON VALLEY IN MARCH
I have to be careful here, because system issues are much more my native territory than deciding how thick a piece of stainless rod needs to be to handle worst-case landing-gear impulse loads without being too hard on a chunk of quarter-inch vectran-cored line with a 45-degree reversal. (“Ummm….”) I therefore find myself working on system design and learning Squeak, even though there’s a wicked mechanical to-do list that needs to be cleared by March.
Here’s the deal… we’re exhibiting the Microship at the ACM1 expo, with the theme “Beyond Cyberspace.” If the ACM97 show 5 years ago is any indication, this should be GREAT — more a grown-up science fair of interesting research projects than a marketroid-driven trade show. Even the layout of the hall is interesting… curves and indirect lighting instead of aisle after fluorescent-lit aisle of booths and suits. The boat will be on display at the San Jose Convention Center March 10-13; if you want to see her and say hello, please come! The exposition is free, though the concurrent professional conference is not.
Going to all the trouble to drag the 56-foot mothership down the coast for a show strongly suggests that we linger a bit to have some fun, of course, and this is a perfect opportunity to do a serious test sail. I’ve learned painfully not to promise TOO much in the way of detailed plans, but the general idea, assuming we can get Natasha’s pedal drive going in time and take care of the more urgent refinements to my boat, is this: after the ACM expo, we’ll launch in Palo Alto, wander merrily about the SF Bay for a few days, and end up somewhere in the Delta. We’ll see…
In case you were wondering above how I actually sat still long enough to do all that documentation, I should confess that there was one factor in addition to obvious need and the availability of a new tool: I was an invalid during the last couple of months of 2000.
It began innocently enough: we flew to Florida to enjoy another Geek Cruise (after the Perl Whirl in Alaska, we were hooked… in November we did the Java Jam in the western Caribbean, and this coming October we’re doing Linux Lunacy). We spent a week with APRS wizard Steve Dimse K4HG, (photo) immersed ourselves in Key West’s always amusing Fantasy Fest, and otherwise got the adventure off to a delightful start.
The Java Jam was, again, about the most stimulating conference venue imaginable, with a captive cadre of Java-heads widely circumnavigating Cuba… stopping at ports here and there to shuffle with the cruise ship population into the hungry maw of shore-excursion vendors and shops. At Half Moon Cay in the Bahamas, Natasha fell in love with snorkeling, and thereafter endeavored to lure me into the water at every opportunity. In Cozumel I was suffering from a minor cold, but bravely flippered about with her for a half-hour or so, ogling the parrotfish and other astonishing fauna while a docked fisherman did likewise to us (OK, probably more to Natasha than me, but ya never know). All in all, it was a pleasant snorkelation of Mexican waters, but I tired quickly and headed for the beach to sniffle and relax.
With but a few feet to go to beckoning sand, in water maybe two feet deep, I realized I was crossing a rocky area instead of the sandy route I had used to enter. I decided to walk to avoid scratching my belly in the gentle surge of wave action, and struggled clumsily to my feet. I took a step, and the flippers’ resistance to being dragged through the water promptly caused me to trip and fall. Naturally, I extended my hand to catch myself.
The ensuing instant had lifelong implications, and was the most intensely painful physical injury I’ve ever experienced (including a half-dozen or so broken bones, lumbar compression fracture, road rash, torn ligaments, and various other traumatic side-effects of an adventurous life). My right index finger exploded in agony, causing me to scream underwater, and when I pulled it from the depths it was bloody, purple, and deeply perforated by about 25 sea urchin spines… some of which included exit wounds.
I galumphed loudly through the remaining shore break (not unaware of the possibility of more of the evil things lying in wait for my flippered feet) and ran to the little shop where we had rented the gear. The proprietor, Carlos, took one look and said “Oooo, looks bad, man. You need to pees on it.” I gripped my wrist in a vain attempt to tourniquet the agony, while some guys at a taco stand prepared a bowl of hot water to reduce the immediate pain and help break down dangerous neurotoxins. Efforts to extract spines on the beach were useless but for a hefty 1-incher that was protruding enough to grab, so I hopped a cab to port and a tender to the ship. Surely the high-tech medical resources on board would make it all better, I thought, gritting my teeth while getting perverse pleasure out of the retirees staring at my finger in horror.
The ship’s doctor, a pleasant young fellow from Toronto, said, “Uh-oh, that’s amazing, eh? I’ve never seen anything like that. Wow…” A bit of riffling through medical texts turned up an informative chapter on echinoderm envenomation, and armed with this knowledge he squirted it full of lidocaine and spent a frustrating hour digging in futility at the fragile, deeply-embedded spines… managing to extract only one. I finally suggested to his relief that this might call for a shoreside surgeon, and, having read the literature over and over in morbid fascination, requested antibiotics to counteract my multi-site bacterial injection and a splint to prevent fragmentation and internal damage from calciferous spines scraping nerves, tendons, and synovial capsules with every hoisted Wang-Wang (the theme drink of the Geek Cruises, justified now more than ever).
And there things sat for about a week… through the election night fiasco, parties various, a Key West Pub Crawl, a beach day in Fort Lauderdale, a miserable ordeal on United that included an all-time low in airline food (a reeking, greasy, mashed cheeseburger that prompted the guy behind us to use the Little Bag)… all followed by a succession of doctor visits calculated to bootstrap our poor-man’s health insurance from a low-tier primary care provider up to a suitable wizard in the field. After examining soft-tissue x-rays and a CT scan, researching the literature, and consulting with his hand-surgery peers, Dr. Woolley decreed that the situation called for microsurgery… two of the nasty things were embedded in the flexor tendon sheath and a host of others were in danger of becoming granulomas in my ever-less-resilient flesh.
I’ll spare you the grisly details, largely because I was under anesthesia during a 2-hour microscope-aided operation (with follow-up Percoset) and don’t remember a damn thing, but my most-essential finger now sports a Bruner zig-zag scar from tip to base, with another at the A1 pulley in the palm where he inserted a pediatric feeding tube to flush out the tendon sheath (infection in there is a Very Bad Thing, as it migrates easily and is hard to treat). While the finger was disassembled on the bench, he removed a load of spines from the flaps, irrigated profusely with saline and Keflex, then carefully reassembled the unit while making sure that tendons moved smoothly when passively flexed. I am SO glad I was asleep.
The whole contraption remains swollen and stiff, and exercise and related tortures have failed to restore the full range of motion… though my hand therapist assures me there’s hope if I do my stretches. Story of my life…
Basically, what I’ve learned from all this is that one shouldn’t get intimate with sea urchins. Recuperation has been annoyingly protracted; unable to turn a wrench or even solder, I leveraged enforced idleness to create the Microshipnet diagram. Now I’m off to a sushi bar to exact my revenge on a plate of uni! Moo-ha-haaaaa….
THE PERILS OF PHENYLENEDIAMINE
I wasn’t alone in my medical adventure during our tropical break from routine. As a lark one evening in Fort Lauderdale, just before the cruise, my sweetly miniskirted pal decided it would be fun to get one of those temporary henna tattoos — a sort of twining pattern around her left thigh that would wear off in a week or two. Vacation, you know…
The deed was done in a store called New Edition just north of Los Olas, and it was amusing for all concerned. Tasha was delighted with her new toy, and the evening morphed into one of dancing and frolicking in the quintessential beach town of our hazy spring-break fantasies.
We set out on the cruise the next day, however, and the tattoo began swelling, blistering, and becoming exceedingly painful. Within three days it looked like someone had cinched barbed wire around her leg… the tattoo itself was black/red/oozing, the flesh 2 inches on either side puffy and inflamed. Now, 3 months later, there remains a light scar in the original pattern.
I did a bit of web research on this, of course, and discovered that what they called “Black Henna” apparently wasn’t pure henna at all, but included PPD, or Phenylenediamine — a nasty dye with a long and forbidding Material Safety Data Sheet. Some people have an immediate chemical burn reaction, liver damage can result from skin exposure, and heavy gloves and respirators should be worn if you actually need to touch the stuff. The guy who did the job (an independent working in a corner of the store), handled it casually with bare, black-stained hands…
The lesson here is obvious: don’t let strangers apply chemicals to your skin in unfamiliar towns without first doing a quick web search! Sheesh. I notified the local consumer affairs division and they’ve involved the health department and FDA… apparently this is a common fast-buck freelance biz in beach towns around the world, and more and more people, including little kids, are having bad reactions and scarring after they get home from vacation with what was to have been playful temporary body art. As the stuff is sold industrially as a dye concentrate (with proper handling warnings) and the temporary tattoo practitioners are all random individuals, there’s no easy litigation target… so the abuse continues. Be careful out there.
The ham shack here in the lab is becoming more and more a part of the Microship system — it will be one of the key pipes through which data is passed from the boats to the net (via Starband satellite service, which this week will replace our slow island dialup — more on that after we get it working). The current wire antenna is marginal and tuner-dependent; we need something serious.
Thanks to Cushcraft, the N4RVE skyhooks have materialized in the form of two long boxes awaiting installation — the R-8 and MA5B antennas. The first is an 8-band vertical (6 through 40 meters), 28 feet tall. The second is a 5-band beam (10 through 20) with 17-foot elements, great directivity, and an amazing front-to-back ratio on 10/15/20. Together, with switching, these will give the lab’s telemetry gateway station some Very Big Ears. We’re currently spec’ing a tower to support all this (about 50 pounds static, plus wind loading). The lab is about to get a geeky new look, augmented by the Starband 2×3′ dish and a yagi for the data link to the house.
Speaking of big ears, thanks go to AFAB for their Personal Hydrophone, a very nifty unit aimed at the kayak and small-boat market and developed by the creative Robb Nichols. Drop the sensor into the water, plug in your headphones, and you have an audio window on the world of cetaceans and anything else making noise down there. We’ll probably mount ours on the thruster deployment arm along with an underwater camera…
Our most recent new sponsor is an amazing guy named Brion Toss, whom I’ve always admired from afar through his lucid and entertaining writings on rigging. We met him last week at the Seattle Boat Show, hit it off immediately, learned how to splice braided line, and picked up a copy of his substantial new book, The Rigger’s Apprentice, as well as his new Splicing Wand that helps perform topologically impossible feats like making things go inside themselves. If you want to know ANYTHING about working with rope, this is the guy…
Volunteer appreciation this issue continues to feature superstars Ned Konz, our software guru, and Tim Nolan, master of all things PWM-ish. We also welcome Chuck Harrison and Randal Schwartz to our software brainstorming team, bringing the microshipdev discussion list to 15 members. My daughter’s friends Burton and Tim, visiting from Rochester, spent an afternoon building a jig for the new stainless-steel crank assemblies about to be welded by Rick Wesley, who is also fabricating a couple of landing gear replacement parts to improve line and cable interface with the struts. Thanks to all!
Finally, my recent work on the tech section of the website got me curious about the amount of traffic it sees, and the numbers are interesting. The abstracted totals for the last six months of 2000 show an average of 10,400 hits per day, with a total of 9.4 gigabytes transferred during that period. Our heartfelt gratitude goes to Zocalo for hosting our site and carrying all that traffic!
That’s it for this issue… and now that my finger works again, I guess I’m out of excuses! Back to work….