2019 was the last year of PragPub, but you can now get the whole year in one handy bundle. A few highlights: David Smith on augmented reality, Eric Redmond on AI, Frances Buontempo on machine learning, Jack Woehr on quantum computing, Michael Nygard on coding elegance, Venkat Subramaniam on functional style, Woody Zuill on mob programming, James Grenning on TDD, Michael Feathers on groupthink, Michael Swaine on computer history, plus all the regular columnists. Available now from The Prose Garden.
Month: December 2019
The Age of Mobility
Remember this one?
Embracing the future, Mike goes mobile, as long as his wrists hold out.
More mobility. Must have maximum mobility.
The yoga’s helping, and of course the finger-stretching exercises, but despite all my efforts, the smaller joints are still a tad tight.
The more one embraces mobility—in the form of mobile phones, portable computers, sub-notebook computers, in-car computers, personal digital assistants, MP3 players, pagers, beepers, and other forms of pocket, lap, wrist, head-mounted, strap-on, wrap-around, and surgically implanted technology, the more need one has for mobility—in the form of flexible fingers, willing wrists, and forgiving forearms.
We are tearing headlong into a mobile computing future while leaving our wrists behind, a tortuous image for a torturous technological trend, and that doesn’t even touch on the psychic trauma.
Jacqueline Landman Gay first tagged deja vu as a repetitive motion injury, but I’ll take credit for first identifying the syndrome of psychotechnological whiplash, caused by being rear-ended by rapidly advancing technology.
Mobile computing in its many forms is careening out of control around the cloverleafs (cloverleaves?) of the information superhighway, shaking up the PC and Web development industries like tourists in the Space Needle during Seattle’s recent quake, and provoking even more far-flung figures of speech than these.
Mobile computing calls into question the venerable concept of the desktop personal computer, a concept on which rests an uneasy multi-billion-dollar industry. It raises daunting questions for Web developers, mostly along the lines of: how can I possibly design a reasonable Web page for display on a cell phone? (It would be prudent for us not to dwell here overlong on the fact that the original concept of HTML was that all pages should be display-size independent; it’ll only make us feel bad.) Plus, it gets you in the joints.
Even the language of mobility tests the tendons, although that’s a tendency it shares with pre-post-PC technology. One just gets the PC acronyms memorized and now there’s a whole new set of mobile acronyms. HTML, make way for WML; and wrist get ready to wrap around WAP because acronyms, especially unfamiliar ones, twist the typing hands into painful poses.
Which I’m willing to put up with as part of the cost of the mobile experience. And boy do I want that mobile experience. I want to integrate my voice browsing and audio content aggregation with big honking alerts. I want roaming wireless access, instant connection with everything around me, I want BlueTooth on a BlackBerry. I want streaming video, streaming audio, streaming smells. Give me streaming pixels, unleash the streaming text.
I’m ready to go anywhere, I’m ready for to fade into your enfilade, cast your multidimensional browser spell my way, I promise to go multi-D. But do I go thence on Mike Rosen’s CubicEye browser, which displays five Web pages at a time on the inside walls of a virtual cube? Or do I ride the BroadPage browser, with its tabbed and tiled multi-pane views that let me juggle 100 Web pages at a time? Neither sounds like it would be much fun on a cell phone screen, though. I had a really twisted witticism to insert here about jugglers and flexible wrists, but my editor said it was too much of a stretch.
My desktop computer is a laptop, my LAN is wireless, my office roaming. I’m ripping my britches on the cusp of the curve, beyond the present reach of ergonomic design. And there’s the rub (on the heel of my left hand). The reams of recommendations on the proper position of the ergonomic desk, the shape of the ergonomic chair, the ergonomic posture, the ergonomic forearm angle, are all grist for the shredder when the computer sits on your lap. Time to revive the child-care books? Probably not; not everything that sits on your lap deserves to be treated like a child, just as not everything that sits on that rickety table on the plane deserves to be treated like a barf bag.
Airlines aren’t going to be much help regarding the proper ergonomic placement of that laptop in flight, either: these are the same people who think that it’s perfectly all right to attach the table you eat from to another passenger’s tilt-back seat.
Yet we do more and more of our work in moving vehicles. Trains, planes, and automobiles are the offices of the Twenty-first Century. The offices of Century 21, especially: no realtor really needs to go into an office any more, and other professions are becoming similarly mobilized.
As are we all. I can hardly wait until I get one of inventor Dean Kamen’s revolutionary gyroscopically-stabilized scooters that are going to end pollution and postal worker disgruntlement in our time. We’ll all soon be able to get mobile without Mobil—or Chevron or BP—but Dean, where am I going to put my laptop?
Reprinted from Dr. Dobb’s Journal.
Of Reindeer and Reliability
This guest post comes to us in timely fashion from Friend of the Blog James Bonang.
’Twas the night before Christmas, and Santa’s days were numbered. My daughter had just turned seven and, on Christmas Eve, approached me with the question: “Daddy, is Santa Claus real? The kids at school say that it is actually your parents who place the gifts from Santa under the tree.”
Caught off guard, I paused briefly, then responded “Your parents? Clarisse, are you suggesting that there’s a worldwide conspiracy to deceive children into believing in Santa Claus, that every adult in the world is a co-conspirator, and that they have all managed to maintain this deception for years in the face of questions from clever and ever-inquisitive young children? Have you been listening to Oliver Stone again?”
Blank stare.
I remembered a news broadcast about how NORAD, the North American Aerospace Defense Command, tracks Santa Claus on radar and reports his position for children and said “Let’s go to the Air Force’s website and see where Santa is right now.”
Look of astonishment.
I threw open the computer and stirred the mouse. The machine arose from its long (measured in microseconds) winter’s nap amidst the clatter of the fan motor (suggesting something was the matter), when what to my wondrous eyes should appear, but Google’s minimalist user interface. Over the keyboard my fingers flew like a flash (apologies to Clement Moore, though I do type pretty fast). We looked up the appropriate web address for the “NORAD Santa Tracker” website, which is historically associated with the U.S. Air Force, though maintained by volunteers (at no expense to the taxpayers).
Her brow hinted at deep concentration as she carefully examined the page; her expression signaled “this looks pretty official.”
We read the details concerning the radar cross section of Santa’s sleigh and how Rudolph’s nose is easily detectable due to its pronounced infrared signature. After a little explanation from dad about radar, the electromagnetic spectrum and satellites, her nods indicated “that sounds plausible.”
“OK. It’s time to check his current location,” I said. Her eyes lit up with anticipation. We displayed a page that showed his whereabouts and that plotted each leg of his journey. (I noted the radar track coming down from the North Pole and, having grown up during the Cold War, thought briefly “Hmm, I sure hope that’s Santa.”)
“Where is he? Where is he?” she said, barely able to contain her excitement.
“Well,” I said, pointing to the satellite image of North America, “he appears to be somewhere in Wisconsin.”
“He’s in Wisconsin! He’s in Wisconsin!” she said, jumping up and down. “Where’s Wisconsin?”
“Well, Wisconsin is here and you are over here in California,” I said, tracing out the two states on the computer screen. “The children in Wisconsin are already asleep.”
“Wow! He’s almost here! I’ve got to get ready!” she said, dashing out of the room. Soon thereafter, she too was fast asleep, having carefully prepared a plate of cookies and a large glass of milk.
Santa made his appointed rounds right on time that year, after, of course, receiving his customary Air Force escort.
If there’s a child in your life who may be having doubts, the NORAD Santa Tracker provides everything you need. The Santa Tracker website displays Santa’s current location, where he’s delivered presents, and his next appointed round (using Bing maps, satellite imagery, and impressive CGI graphics no less), which adds to the anticipation of the evening. There’s also a phone line operational on Christmas Eve, as well as email, staffed by sixteen hundred volunteers, including many personnel from the U.S. and Canadian armed forces.
When your child is done chatting with them, the website offers a collection of entertaining holiday-themed games to pass the time (the occasional adult might find several of them inexplicably addictive too). The site also stealthily disguises educational content on Holiday traditions that your child might unwittingly be fascinated by. (In Spain, Christmas dinner is never eaten until after midnight. Who knew?) Of course, your child will be learning geography too as they follow Santa around the world.
There are lessons for programmers in all this too. Consider the unusual nature of the site: unlike amazon.com or wikipedia.org, the Santa Tracker site is dormant for most of the year. Things pick up in December, culminating in a massive burst of traffic on December 24th. This spike in load can’t be allowed to overwhelm it; it just can’t go down. Other sites might see usage profiles similar to this on Black Friday or Cyber Monday, but the Santa Tracker’s operational availability requirements lie in a league of their own. (Michael Nygard explains how difficult this is in his book Release It! Design and Deploy Production-Ready Software, available from The Pragmatic Bookshelf.)
How do they do it? The Santa Tracker site uses a cloud-based solution built on Microsoft’s Azure platform. Microsoft employs three Azure-based data centers, two in the U.S. and one in Europe, to provide scalability and reliability.
By a strange coincidence, the computer hardware and software technologies built into NORAD’s Santa Tracker were pioneered in the 1950’s, by another highly reliable distributed system used by NORAD to track, well, other things.
In 1949, the Soviet Union detonated its first nuclear device, signaling that its bombers would soon be able to deliver nuclear weapons to the continental U.S. by flying over the North Pole. America’s antiquated air defenses, with their manual information processing approach, wouldn’t suffice. A better, largely automated, means had to be found. The Semi-automatic Ground Environment, or SAGE, system, developed and deployed during the 1950’s and up to 1962, not only gave America the air defense system it needed, it advanced computer technology by a generation. SAGE introduced networking and distributed systems, along with cathode ray tube monitors with pointing devices, not to mention reliable magnetic core memory in its AN/FSQ-7, or “Q-7” computers.
Despite the use of vacuum tubes, the SAGE computers achieved remarkable reliability for the time, exceeding the reliability of solid state computers arriving much later. SAGE employed two computers in a duplex configuration at each of its sites: if one computer failed, the other took over. If both computers failed, another site took over, much as is the case with Microsoft’s data centers today. The system achieved 98% operational availability, not quite as good as today’s NORAD Santa Tracker but astounding for the time.
It wasn’t only hardware innovations that contributed to the system’s reliability: SAGE was a large-scale software development effort too. James Wong’s delightful description of his work as a programmer on the SAGE system, available here, will be distressingly familiar to today’s programmers, even though he had to code in assembly language, a rarity today. The reliability techniques pioneered by the SAGE system live on, though their heritage remains largely forgotten. Unlike the traditions that surround Christmas, traditions haven’t formed around these reliability techniques; we often must learn them anew.
Speaking of traditions, it may strike you as a bit odd that a modern, technological Christmas tradition – tracking Santa – has formed around an organization charged with defending North America from nuclear attack. How did that come about?
By accident, how else? In 1955, a child misdialed a number advertised by Sears as a direct line to Santa, and instead reached United States Air Force Colonel Harry Shoup, the duty officer at the Continental Air Defense Command, NORAD’s predecessor organization. The public relations opportunity didn’t go unheeded, and NORAD’s annual reports on Santa’s whereabouts began. It’s a Christmas tradition destined to live on.
Another tradition of the Christmas season is to give thanks, particularly to those whose efforts go unnoticed or unappreciated. In that spirit, my hearty thanks go out to all the volunteers behind NORAD’s Santa Tracker, and to all the volunteers who track those other things and who keep us safe. They let the magic live on for my daughter, if only for a little longer, all those years ago, and much more.
Clarisse is all grown up now, but still returns to the Santa Tracker site. She’s a computer science student at a local university and likes to study the latest web interface enhancements. I can’t help wondering if visiting the site back then might have kindled her interest in the field. Perhaps. And perhaps the efforts of those volunteers will benefit your child as well.
Now, if you’ll excuse me, I need to check the latest reports.
“One unidentified sleigh, red, powered by eight reindeer, altitude 14,000 feet, heading 180 degrees…”
Almost here.
“Moon, Santa Claus, Reindeer Night” by Yuri_B is licensed by Creative Commons 2.0.