1 Jan 2012
0 CommentsDennis MacAlister Ritchie (1941-2011) – My Inspiration by a Great Man Who Quietly Shaped an Industry
NOTE: The intrusion and profusion of projects in my life, has prevented blogging for some time. As 2011 draws to a close, I thought I needed to make an effort to provide my perspective on some important milestones in my world.
Back in October, when Rob Pike posted on Google+:
I just heard that, after a long illness, Dennis Ritchie (dmr) died at home this weekend. I have no more information.
I trust there are people here who will appreciate the reach of his contributions and mourn his passing appropriately.
He was a quiet and mostly private man, but he was also my friend, colleague, and collaborator, and the world has lost a truly great mind.
Although the work of Dennis Ritchie has not been top of my mind for a number of years, Rob’s posting dredged up some pretty vivid early career memories.
As the co-creator of UNIX, along with his collaborator Ken Thompson, as well as the C Programming Language, Dennis had a huge and defining impact on my career, not to mention the entire computer industry. In short, after years as a leader in technology yet market laggard, it looks like in the end, UNIX won. Further, I was blessed with meeting Dennis on numerous occasions and, to that end, some historical narrative is in order.
Back in 1973, I got my first taste of UNIX at the University of Waterloo, serendipitously placing us among a select few who tasted UNIX, outside of Bell Labs, at such an early date. How did this come about? In 1972, Steve Johnson spent a sabbatical at University of Waterloo and brought B Programming Language (successor to BCPL and precursor to C, with all its getchar and putchar idiom) and yacc to the Honeywell 6050 running GCOS that the University’s Math Faculty Computing Facility (MFCF) had installed in the summer of 1972. Incidentally, although my first computer experience was in 1968 using APL on IBM 2741 terminals connected to an IBM 360/50 mainframe, I really cut my “hacker” teeth on “the ‘Bun” by writing many utilities (some in GMAP assembler and a few in B). But, I digress . .
Because of the many connections made by Steve Johnson at that seminal time, University of Waterloo was able to get Version 5 UNIX in 1973 before any real licensing by Western Electric and their descendents by simply asking Ken Thompson to personally make a copy on 9 track magnetic tape. My early work at Computer Communications Networks Group (CCNG) with Dr Ernie Chang attempting to build the first distributed medical database (shades of Personal Health Records and eHealth Ontario?) led me to be among the first to get access to the first Waterloo-based UNIX system.
The experience was an epiphany for me. Many things stood out at the time about how UNIX differed from Operating Systems of the day:
- Compactness: As described by a fellow UNIX enthusiast at the time, Charles Forsyth, it was amazing that the entire operating system was barely 2 inches thick. This compared tot he feet of listings for GCOS or OS/360 made it a wonder of minimalistic compact elegance.
- High Level Languages: The fact that almost 98% of UNIX was coded in C with very little assembler, even back in the days of relatively primitive computing power, was a major breakthrough.
- Mathematical Elegance: With clear inspiration from nearby Princeton and mathematical principles, the team built software that for the day was surprisingly mathematically pure. The notion of a single “flat file” format containing only text, coupled with the powerful notion of connecting programmes via pipes made the modular shell and utility design a real joy to behold.
- Extensible: Although criticized at the time for being disc- and compute-intensive and unable to do anything “real time”, UNIX proved to have longevity because of a simple, elegant and extensible design. Compare the mid-1970’s UNIX implementations supporting 16 simultaneous users, on the 16-bit DEC PDP-11/45 with 512KB (note that this is “KB” not “MB”) with today’s Windows quad-core processors that still lock out typing for users, as if prioritized schedulers had never been invented.
At Waterloo, I led a team of UNIX hackers who took over an underused PDP-11/45 and create Math/UNIX. On that system, many top computer talents of today adopted it as their own, including Dave Conroy, Charles Forsyth, Johann George, Dave Martindale, Ciaran O’Donnell, Bill Pase and many more. We developed such innovations as highly personalized security known as Access Control Lists, Named Pipes, file and printing networked connections to Honeywell 6050 and IBM mainframes and much more. Over time, the purity of UNIX Version 7 morphed into the more complex (and perhaps somewhat less elegant, as we unabashedly thought at the time) Berkeley Systems Distribution (BSD) from University of California at Berkeley. That being said, BSD added all-important networking capabilities using the then nascent TCP/IP stack, preparing UNIX to be a central force in powering the internet and web. As well, BSD added many security and usability features. My first meeting with Dennis Ritchie was in the late 1970’s when he came to speak at the U of W Mathematics Faculty Computer Science Club. Having the nicest car at the time, meant that I got to drive him around. I was pleasantly surprised at how accessible he was to a bunch of (mostly grad) students. In fact, he was a real gentleman. We all went out to a local pub in Heidelberg for the typical German fare of schnitzel, pigtails, beer and shuffleboard. I recall him really enjoying a simple time out with a bunch of passionate computer hackers. I, along with Dave Conroy and Johann George, moved on from University of Waterloo to my first software start up, Mark Williams Company, in Chicago, where I wrote the operating system and many utilities for the UNIX work alike known as Coherent. Mark Williams Company, under the visionary leadership of Robert Swartz, over the years hosted some of the top computer science talen in the world. Having previously worked with Dave Conroy on a never completed operating system (called Vesta), again the intellectual purity and elegance of UNIX beckoned to me to build Coherent as a respectful tribute to the masters at Bell Labs. Other notable luminaries who worked on Coherent are Tom Duff, Ciaran O’Donnell, Robert Welland, Roger Critchlow, Dave Levine, Norm Bartek and many more. Coherent was initially developed on the PDP-11/45 for expediency and was running in just over 10 months from inception. A great architecture and thoughtful design, meant that it was quickly ported to the Intel x86 (including the IBM PC, running multi-user on its non-segmented, maximum of 256KB of memory), Motorola 68000 and Zilog Z8001/2. The last architecture enabled Coherent to power the Commodore 900 which was for a time a hit in Europe and, in fact, used by Linus Torvolds as porting platform used in developing Linux. I got to meet Dennis several times in the context of work at Coherent. First, in January 1981 at the then fledgling UNIFORUM in San Francisco, Dennis and several others from Bell Labs came to the Mark Williams suite to talk to us and hear more about Coherent. I remember Dennis reading the interrupt handler, a particularly delicate piece of assembler code and commenting about how few instructions it took to get through the handler into the OS. Obviously, I was very pleased to hear that, as minimizing such critical sections of the code is what enhanced real time response. The second time was one of my first real lessons in the value of intellectual property. Mark Williams had taken significant measures to ensure that Coherent was a completely new creation and free of Bell Labs code. For example, Dave Conroy‘s DECUS C compiler, written totally in assembler, was used to create the Coherent C compiler (later Let’s C). Also, no UNIX source code was ever consulted or present. I recall Dennis visiting as the somewhat reluctant police inspector working with the Western Electric lawyers, under Al Arms. Essentially, he tried all sorts of documents features (like “date -u” which we subsequently implemented) and found them to be missing. After a very short time, Dennis was convinced that this was an independent creation, but I suspect that his lawyer sidekick was hoping he’d keeping trying to find evidence of copying. Ironically, almost 25 years later, in the SCO v. IBM lawsuit over the ownership of UNIX, Dennis’s visit to Mark Williams to investigate Coherent was cited as evidence that UNIX clone systems could be built. Dennis’s later posting about this meeting is covered in Groklaw. In 1984, I co-founded MKS with Alex White, Trevor Thompson, Steve Izma and later Ruth Songhurst. Although the company was supposed to build incremental desktop publishing tools, our early consulting led us into providing UNIX like tools for the fledgling IBM PC DOS operating environment (this is a charitable description of the system at the time). This led to MKS Toolkit, InterOpen and other products aimed at taking the UNIX zeitgeist mainstream. With first commercial release in 1985, this product line eventually spread to millions of users, and even continues today, surprising even me with both its longevity and reach. MKS, having endorsed POSIX and x/OPEN standards, became an open systems supplier to IBM MVS, HP MPE, Fujitsu Sure Systems, DEC VAX/VMS, Informix and SUN Microsystems.During my later years at MKS, as the CEO, I was mainly business focussed and, hence, I tried to hide my “inner geek”. More recently, coincidentally as geekdom has progressed to a cooler and more important sense of ubiquity, I’ve “outed” my latent geek credentials. Perhaps it was because of this, that I rarely thought about UNIX and the influence that talented Bell Labs team, including Dennis Ritchie, had on my life and career. Now in the second decade of the 21st century, the world of computing has moved on to mobile, cloud, Web 2.0 and Enterprise 2.0. In the 1980’s, after repeated missed expectations that this would (at last) be the “Year of UNIX” we all became resigned to the total dominance of Windows. It was, in my view, a fatally flawed platform with poor architecture, performance and security, yet Windows seemed to meet the needs of the market at the time. After decades of suffering through the “three finger salute” (Ctrl-ALT-DEL) and waiting endlessly for that hourglass (now a spinning circle – such is progress), in the irony of ironies UNIX appears on course to win the battle for market dominance. With all its variants (including Linux, BSD and QNX), UNIX now powers most of the important Mobile and other platforms such as MacOS, Android, iOS (iPhone, iPad, iPod) and even Blackberry Playbook and BB10. Behind the scenes, UNIX largely forms the architecture and infrastructure of the modern web, cloud computing and also all of Google. I’m sure, in his modest and unassuming way, Dennis would be pleased to witness such an outcome to his pioneering work.
The Dennis Ritchie I experienced was a brilliant, yet refreshingly humble and grounded man. I know his passing will be a real loss to his family and close friends. The world needs more self-effacing superstars like him. He will be greatly missed.
I think there is no more fitting way to close this somewhat lengthy blogger’s ramble down memory lane than with a humorous YouTube pæan to Dennis Ritchie Write in C.
22 Nov 2012
0 Comments“How ya gonna keep ‘em away from harm?” – The Sequel
Almost four and a half years ago, I penned what some called the obituary of Blackberry (see “How You Gonna Keep ‘Em Down on the Farm”). My intentions in writing that missive were, in fact, quite the opposite. Back in 2008, a year after the first iPhone, Blackberry didn’t appear to be heeding the threat of major market disruption, let alone making a response. I thought that writing such a post might incite some action. Sadly, while I got loads of reaction from all over the world, the one missing piece was that this was singularly not registering inside the “Faraday Cage” of RIM headquarters at Philip and Columbia in Waterloo.
For many years, to continuously hone my expertise as an investor and participant in the next generation mobile ecosystem at VERDEXUS, I have maintained a “production” device and a “testing” device which allows me to sample the greatest number of new applications and platforms in my daily business and personal life. At the time of the 2008 blog, I switched from Blackberry as production device and iPhone as testing device. At that time, I promoted iPhone to production and introduced an early Android device into the testing status.
The four and one-half years since then, representing four to five mobile device generations at the rapid pace in which these are deployed, has seen a lot of innovation and change in the mobile universe. The first production version of Android occurred one month after the aforementioned post. Today, over nine releases later, Android 4.2, known as Jelly Bean, is a mature and polished mobile platform.
Mobile user experience has, as it were, come up from the Farm and we are now definitely in Paree. It’s hard to imagine how things could get much better, yet an even more exciting future in mobile will undoubtedly unfold. The pace of change has been almost mind boggling, with Android appearing to move almost twice as fast as iOS, the more proprietary Apple platform running iPhone and iPad.
As a young platform, Android has long shown promise. Being an open source operating system primarily developed by Google, but customized by various device manufacturers, not to mention the ever-meddling carriers, has been both a blessing and a curse. Initially, Android seemed “rougher around the edges” and more techie in feel than the uber-polished and legendary iPhone experience, which is produced end to end by Apple.
Conversely, the limitations of the Apple closed ecosystem approach are starting overtake the advantages. There are numerous examples. If you simply want to plug in your device via USB and load music and other files, Android shines by bypassing the need to go through iTunes. While iTunes has its advantages, many of us simply want more control over our cross-device media file deployments. Another even more telling example is the recent debacle in which Apple turfed the tried and true Google Maps application in favour of a badly implemented and incomplete version of their own. This is but a single example of where Apple’s legendary quest for control is wearing thin.
While giving more control to mobile application developers has its challenges, it is clear that no one company, no matter how sainted, can determine, let alone sully serve, the desires and needs of the entire mobile universe.
It is a combination of this clear advantage, coupled with the incredible progress inAndroid and its handset manufacturers, that has led me to promote my newest device to production and render the formerly top-billed iPhone second tier status of my test device.
For me that device is the Samsung Galaxy Note 2, which with its 5.5″ screen is sometimes dubbed a “phablet” (ie. a combination of phone and tablet). Essentially a super-sized Galaxy S3, this phone is nimble, fast in computational processing and with speedy network connectivity. I first saw Europeans use it a few months ago, a cool and capable device, but perhaps an acquired taste for some
Perhaps it is simply my poor vision, but the large screen size is versatile and a joy to work with for all sorts of browsing, content and documents. The S Pen stylus, even for those who don’t want to do handwriting or line drawings, transforms the mobile browsing experience by removing the navigation problems on many sites with menus which are small on mobile screens. Samsung has even developed an SDK around the S Pen which could create a whole new application ecosystem, assuming this next generation stylus gains sufficient market traction.
Is my recent promotion of Android to top device spot the end of my quest for mobile perfection? Absolutely not! In fact, only one week ago, I personally promised my colleague Alec Saunders, the ubitquitous and transformational new VP of Developer Relations for Research In Motion, that I will definitely give the new Blackberry BB10 devices a serious try. And, not just because “Devs, Blackberrry Is Going to Keep on Loving You”. I truly do like much of what I’m hearing about their capabilities.
Stay tuned – the mobile world is a fascinating and ever changing one.