Digital Research – Pacific Grove, California

Gary Kildall and his company Digital Research played a pivotal part in the history of the development of the IBM PC. IBM approached Bill Gates and Paul Allen to provide a number of programming languages for the original IBM PC, and later returned to Microsoft to ask if they could also provide the operating system. Not having anything available at the time, Gates suggested they talk with Gary Kildall at Digital Research, who had developed the CP/M operating system for 8080 based computers at the time.

The history of exactly what happened during the meeting with IBM and Gary’s wife at Digital Research may never be clear, but for whatever reason, Kildall was unavailable to discuss with IBM. When IBM returned to Gates and Allen, they decided to go talk with Rod Brock and Tim Patterson at Seattle Computer Products (SCP) and licensed their QDOS operating system for the 8086 for $10,000 and $15,000 for each company that licensed the product from Microsoft. This became the basis for MS-DOS, The rest, is history.

(If you’re interested, I highly recommend the book Fire in the Valley, a great book which covers the story of the IBM PC in detail, as well as earlier and later history)

The original location of Digital Research is at 801 Lighthouse Ave, in Pacific Grove, California. The building is now a private residence. On a vacation to Pacific Grove earlier this month, I looked up the location where the office was, and as it was only a couple of blocks from where we were staying, so we stopped by:

 

 

 

This IEEE have installed a plaque on the sidewalk outside the building to commemorate the contributions of Gary Kildall, Digital Research and the CP/M operating system:

 

Old computer technology still in regular usage today

I’ll qualify ‘regular usage’ to mean still in daily use, albeit if only by a single person or organization. The usual reason that old tech continues to be used regularly is usually because it still meets some specific need: if it still works, there’s no reason to update or replace it.

I’ve been mentally putting this list together for a while based on articles I’ve come across. It’s not a comprehensive list, and I’m sure there’s far more examples. As someone who likes to tinker with retro computers, I find the fact that people use old tech for legitimate business reasons (and not just for a hobby) particularly interesting. I’ve also added a few links to other related regular activities that revolve around groups interested in using old tech:

  • DNA synthesis using 68000 based Macs running Mac OS 7.5
  • ICBM missile control systems using 8″ floppy disks
  • (up until just a few years back) ATM machines running IBM OS/2
  • New York Subway MetroCard fare card machines running IBM OS/2 (Blonde Guy lists on his site that he still provides OS/2 support to New York Subway)
  • OS/2 is still sold as commercial product today by eComStation with updated drivers for today’s hardware
  • In 2015, a company called Arca Noae announced they had acquired a license from IBM to sell a new distribution of OS/2, with a new version to be released Q3/2016
  • Warpstock, the OS/2 conference still runs annually both in the US and in Europe
  • The popular virtualization software on the Mac, Parallels, was originally developed to virtualize OS/2 on modern PC hardware so that businesses running OS/2 based systems could continue to run their systems on current day hardware
  • A Commodore Amiga is still running the heating and cooling systems for a school district in Grand Rapids, Michigan
  • A car auto shop in Poland that’s still running it’s business systems on a Commodore 64
  • The article “If it ain’t broke, don’t fix it” on PCWorld lists a number of old computers being used in interesting places, like PDP minicomputers being used for US Navy radar systems and at the UK Atomic Weapons Establishment (there’s no link to sources to confirm if either of these are true, other articles about PDPs being used at either of these only link back to the same article. This article lists 4 known PDP-7s from the 1960s/70s still in existence, but only one is still operational today (as of 2011).

Windows History: DOS vs NT sourcecode heritage

As a software developer, I’m fascinated by computer and IT history. I grew up with 8 bit home computers like the Sinclair ZX Spectrum, and developed my first applications in Sinclair BASIC which most likely kickstarted my interest in software development.

I find it interesting when developers have very little interest or knowledge in even recent history of the tools and platforms that they work with every day. For example, statements like “I’m glad Windows 10 no longer has any dependence on MS-DOS like Windows 8 did”, or “Microsoft completely developed Windows 10 from scratch, you know”, – neither statements which could be further from the truth.

Up until Windows XP, Windows was developed as two parallel code lines, the MS-DOS based code line, Windows 1.x through 3.x, 95, 98, and ME, (95, 98 and ME aimed at home consumers) and the Windows NT code line for enterprise users. After Windows ME, Windows XP was developed based on the NT kernel from Windows 2000, with some features taken from ME and it’s MS-DOS code line.

There’s a great history of the parallel code lines in this article on the History of Microsoft Windows on Wikipedia, and clearly illustrated in this diagram:

(From https://en.wikipedia.org/wiki/Timeline_of_Microsoft_Windows, shared under Creative Commons Attribution-Share Alike 3.0 Unported license).

Windows ME was the last release of the MS-DOS based Windows code line, and Windows 10 is the next release in the Windows NT code line, which as you can see from the timeline above, shares it’s heritage with 8, 7 and Vista before it.

Bob Metcalfe’s prediction about the web browser becoming an Operating System platform

In the book ‘Fire in the Valley‘ covering the history of the development of the PC (which I’m still reading for the first time, I’m down to the last couple of chapters in the 2nd Ed) towards the end of the book discussing The Browser Wars there’s an interesting passing comment about Bob Metcalfe and web browsers. I’m not sure if this was a direct quote from Metcalfe or just dramatization based on known facts, but there’s a passing note that Metcalfe commented that the web browser would become the operating system platform of the future (my paraphrasing).

Metcalfe has made a number of predictions in the past that turned out to be far from the mark, including the prediction in his column in Infoworld, Dec 4th 1995, that the internet would implode in 1996 (for more, see section on his Wikipedia entry):

(Google Books direct link)

His comment about the browser becoming the next operating system platform that was mentioned in Fire in the Valley I think is far more interesting than the above prediction because in early 1995 that would have been an incredibly bold and forward looking statement. Remember in 1995 we had only just seen a year of NCSA Mosaic which was launched in September 1993, and Netscape Communicator had only just been launched in 1994 by Marc Andreessen and company after leaving NCSA. Searching in Google Books (awesome for tracking down quotes in archived magazines and periodicals) I think this column, from February 27 1995, might have been the source referenced in Fire in the Valley. This was written a few months before Microsoft’s Internet Explorer was launched in August 1995.

“At Demo 95, it became clear the Web is our next generation Operating System”


There’s some amazing IT industry history in this column from 21 years ago; about Microsoft Bob, Windows 95 (which was yet to launch later that year) and IBM OS/2, which ” … was demonstrated doing more things at once than I would ever want to do”. However the key feature of this column was commenting on the numerous demos of web browsers and web server products shown as this industry event. From 1995, here is an amazing prediction of the web-based future yet to come:

“… these former web browsers will be euphemized as ‘operating environments’ or some such, and every OS will have one”

… this is from a time before when Windows included Internet Explorer as a pre-installed, default, application for accessing the world wide web (which later led to the anti-trust lawsuit). Continuing:

“… as their APIs mature, they will graduate – like Windows may – to becoming full-fledged OSes all by themselves … Web Browsers and servers are surely our next-generation OS”

Ignoring the possibly intentional dig at Windows becoming a ‘full-fledged OS’, the comment in 1995 that browsers might become “our next-generation OS” from the point of view of the web-enabled everything world of 2016, 21 years later, is quite amazing.

As trends have already shown in the relatively short life of the IT industry so far, these things tend to go round in circles. We’ve had centralized systems, client/server systems, distributed systems. The first versions of web browsers, like Mosaic, had little support to do anything other than retrieve static content from a remote web server and display the content to the user. As cgi-bin scripts were introduced, processing to support dynamically generated content was server-side (centralized). Fast forward to the more recent few years however, browsers have become more capable in executing client-side functionality, to the point where it’s now a common approach to off-load logic previously executed server-side and execute it client-side in the browser, allowing systems to scale to what is now called ‘web-scale’ (e.g. Facebook supporting 1 in 7 of the Earth’s population logging on to Facebook in a single day – yes, that’s 1 billion people).

If at this point today you were to ask if we have already reached the point Metcalfe was predicting where the browser has become a common operating system platform, I think it depends on what aspect of computing you look at. It’s undeniable that pretty much anything and everything is available and accessible online via a browser, from checking your bank balance/paying your bills, to booking a haircut, buying groceries, and not to mention social networking (something that in it’s online form really had no comparison before the internet and the world wide web). From a mobile perspective however, if you think about the prevalence of ‘apps’ on native platform mobile devices like Android and iOS, then the most common computing platforms of today (the majority of people access the internet from a mobile device) do still look like they are still platform specific and native, and not a shared common, browser based runtime. Unknown to your average app user however is the fact that most apps are actually hybrid apps, using a web view to load and embed web-based content within a native app.

If you take a wider view of computer usage across all device types, desktops, laptops, tablets and other mobile devices, then I think it would be a different picture, one where yes, there is a common platform provided by a browser, even if it’s different browser implementations on different devices. I can access my bank account via a web-based application for example using Safari on my Mac, using Chrome on my Android phone, using IE on my work provided Windows laptop. If you add a Chromebook into this picture, now you’ve got a device that can only access sites and applications using a browser, it is a device that is entirely browser based, where the browser is the platform.

The coming of Web Assembly

The main reason Metcalfe’s prediction as mentioned in Fire in the Valley caught my attention is because the idea of a common browser based platform is maybe closer than expected, and with current developments in browser technology, a whole lot better than just standardized support for HTML, CSS and JavaScript. Google have had Native Client (NaCl), the ability to run platform native (as a subset of x86, ARM or MIPS instruction) code within a sandbox in Chrome since around 2011. Platform Native Client (PNaCl) further developed the benefits of native platform performance by adding support for executing platform independent code. Development of asm.js and support in Firefox has been going on for a couple of years, and even gaining support by Microsoft in the Edge browser on Windows 10.

WebAssembly, a W3C standard project with involvement from all the major players, Google, Apple, Mozilla, and Microsoft, aims to define and bring a common binary executable format to the browser. Announced by Brendan Eich back in June 2015, the idea of a common runtime is of course not new. We’ve had Java’s JVM for 20 years. We’ve had .NET’s CLR for around 15 years. While Java code can execute on any platform where you have a JVM installed, Microsoft’s .NET has been more limited to only Windows. Support for other platforms is possible via the non-Microsoft provided open source project Mono. Even with Java though, each browser required the manual installation of a browser plugin.

The difference in approach with WebAssembly is that if every browser already natively supports WebAssembly as an integral part of the browser, has Bob Metcalfe’s prediction of the browser being a common runtime platform … arrived?