14 April 2010

Apollo 13 anniversary

This week marks the 40th anniversary of Apolo 13. This struck me as interesting for two reasons. One: When all the other kids wanted to be doctors, teachers, lawyers, and the like, I wanted to be an astronaut. And two: QNX Software Systems just celebrated its 30th anniversary.

While the first thought is pretty much moot since I probably won't make the leap from marketer to rocket scientist in my 40s, the latter lead me to wonder about what Apollo 13 had for computerized systems. I mean, if QNX - the first commercially available microkernel RTOS - came into existance some 10 years after Apollo 13 and one year before DOS, what could the space mission possibly have used?

I quickly learned some interesting facts about the Apollo guidance computer (AGC), the principle embedded system aboard the spacecraft:
  • The hardware weighed 29.5 kg
  • Memory cycle time was 11.7 microseconds with a single addition time of 23.4 microseconds
  • Fixed memory (ROM) had a capacity of 67.5K with an erasable memory (RAM) of 3.75K
  • Developing and verifying a software program required a full year
  • The operations plan document was close to 10-cm thick
Commands were entered numerically into the AGC calculator-like UI as two digit verb and noun.codes. A verb code described the type of action to be performed (primarily displaying and loading) and a noun code specified which data was affected.  For example: Verb, V16, Noun, N36, Enter = display current time.


The basic display and keyboard (DSKY) aboard Apollo 13 was the UI for 198 basic verb and noun codes, which were combined for typical "Verb, V1, V2, Noun, N1, N2, Enter" sequences.

Fixed memory was high density core rope; tiny nickel-iron cores woven together with thousands of copper wires. This required developers to create and verify their programs before the rope was woven because the program determined the weaving or wiring sequence. The erasable memory used iron cores as storage devices.


 The AGC used magnetic core rope memory to store its programs, what we now call ROM. It used magnetic core arrays to store its dynamic memory, or RAM. 

The introduction of the integrated circuit is what the Apollo guidance computer is best known for. The integrated circuit was a risky choice at the time as the technology was considered untested, but it was necessary for the computer's digital logic. The AGC used only one type of chip although it used 5,000 of them. Soon therafter, this chip went on to power calculators like the HP-35 by the millions, giving birth to the semi-conductor industry.

As for software, AGC software was written in assembly language. While it was based on a simple real-time executive and batch job-scheduling that could run only eight tasks at a time using cooperative multi-tasking, there was an interrupt-driven component that could schedule multiple timer-driven tasks.

It all sounds very simple, however, the AGC was anything but. I could write a book on it but it appears many others already have. The point is, NASA was on the leading edge of computer science 40 years ago ... as it is today. And today it uses systems based on QNX software. And, quite frankly, it's no wonder.

QNX Software Systems has repeatedly been on the leading edge of innovation throughout the past 30 years. Our industry firsts are too numerous to mention right here and now. The AGC interface alone makes me grateful that QNX introduced the world's first microkernel-based windowing system back in 1994. (Take a look at this video of the AGC interface and you'll be grateful too.) Today, the QNX Neutrino RTOS is the foundation upon which systems in the shuttle and the space station are based.

So while I never did become an astronaut, I can take solace in the fact that a little part of me did make it into space. Granted this is a stretch but I'm stickin' to it.

03 November 2009

Multi-core: Boring is good

Marketing in high tech often involves being ahead of the product; it's not unusual for GA to be months out. This is no insignificant challenge - over promising and under delivering gives the company a bad name while using vacuous high-level descriptors that say little does the same for marketing.

I've recently discovered a new challenge at QNX: Being so ahead of the curve that the company gets "bored" just as the market begins to take notice. Multi-core support is a prime example.

The QNX Neutrino RTOS has been multiprocessor capable since 1997. When multi-core processers came on the market in 2005, we already had a mature solution. Our current offering has award-winning mutli-core tools that not only help developers migrate legacy code but also optimize it for multi-threaded environments.

Sustaining the multi-core message for close to five years has been a big challenge for a company as innovative as QNX. There is always some new shiny pebble to promote. But, as luck would have it, we begin getting bored with multi-core just when the market begins to understand its importance.

So what's a company to do when a product really is years ahead of the competition? Keep on message. Say the same things you said five, ten years ago. It may be boring but it's the repetition that counts.

07 October 2009

QNX CAR drives away with Adobe MAX award

I and my colleagues danced around in our respective kitchens last night as news spread that the QNX CAR Application Platform won an Adobe MAX award. This is so cool not only for the obvious reason that winning is always fun and because, well ... it's Adobe! (C'mon, you dont get much bigger in the graphics world.)

The second and main reason this is so cool is that we won in the mobile category - mobile! Now, who would think that the car is a mobile device? Adobe that's who. Along with millions of people worldwide who are beginning to realize the potential of a connected car.

30 September 2009

Catch the QNX CAR fever

Every marketer's dream in this online era is to work on a project that goes viral. Unfortunately the secret to 'going viral' is one that the marketing gods still have under lock and key.

Take the Adobe MAX Awards for which the QNX CAR application platform is shortlisted in the mobile category. Winners are determined by public online voting, which is unlimited. Fantastic way for Adobe to drive traffic to their site - especially if all finalists tell a hundred friends who tell a hundred friends and so on and so on.

So I'm doing my part. I'm putting buttons on the web site, QNX CAR portal, and intranet, I'm reaching out to PR contacts, tweeting, changing my Facebook and LinkedIn status - hell, I'm even pleading with my family and friends to vote. (Could there be a better time for Grandma to get a hotmail account?)

The question remians. Will it be enough to beat the industry behemoths (Atlantic Records and Sony Ericsson) with whom we are competing? QNX Software Systems has always been the "little company that could" so I think we have a good chance. Plus QNX CAR is doing something that has never been done before: Putting Flash in the driver's seat.

Wish us luck. Better still, cast your vote: http://max.adobe.com/awards/finalists/

24 September 2009

Semi-colon Smack Down

It's National Punctuation Day. This, I'm thinking, is a sign from God to start my blog. And what better way, than with a story about a misplaced semi-colon.
 
Some time ago while working for a multinational telecoms company, I was called into my boss' office. It seems someone in IT found a misplaced semi-colon on the company web site and felt the offense merited a call to the VP of marketing. No word of a lie.

I have since discovered that incidents such as this are not atypical in high tech. People who spend their days immersed in code do not take kindly to misplaced anything.

As it turns out the semi-colon was not misplaced at all; it perfectly separated two distinct but like thoughts.
My greatest wish for my remaining tenure in high-tech: I write the copy; you write the code.