Before there was Debian, there was I&J Computer Enterprises

I&J Computer Enterprises 1/2

Jason Balicki:

In the dorms [at Purdue] we had these things called DOV (pronounced “dove”) units, which stood for “data over voice.” It was like pre-DSL, but serial and only went up to 9600bps (I think, could be less). Personal computers weren’t a rare thing at the time, but they also weren’t nearly as ubiquitous as they are today (obviously). Ian saw this as a market. We tried buying old text terminals at the Purdue surplus store and then renting them to students so they could work in the privacy of their own dorms without having to trudge all the way to a lab. I don’t think we ever had any customers, but I’m pretty sure I still owe him money over that (he bought the first terminals, I was supposed to go halvsies).

I had forgotten all about this. As it happens, I found some old flyers for our venture, I&J Computer Enterprises, in that old box (along with the other things, with more on the way). This would have been from either late 1992 or early 1993, more than likely before I found the lab of X terminals in the ENAD building and, thus, also more than likely before I found Linux.

I’m pretty sure Jason is right that we never had any customers. I also think we only ever bought one terminal, which I vaguely recall was an ADM 5.

I’m also pretty sure Jason is right that he still owes me money, now that I think about it…


Comments Off on Before there was Debian, there was I&J Computer Enterprises

Any interest in a FOSS History Project?

Wow. The response to my last post, How I came to find Linux, was simply overwhelming.

Maybe it’s just because I recently reread Stephen Levy’s Hackers for the nth time, but I’m thinking our generation’s story needs to be told. It really was a different time then vs. now—compute and storage were scarce, not abundant; connectivity was rare, not ubiquitous; and the idea of the world’s information being organized and universally accessible was science fiction.

I’m not sure what form this story would ultimately take. It could be a book, a sequel in spirit to Hackers (which would certainly be an appropriate way to think about it, since Hackers ends with a young Richard Stallman founding the GNU Project, while our generation’s story arguably begins there). It could be a podcast, our version of The Glory of Their Times. It could just be a set of essays like the one I wrote. Whatever form it takes, something I’m thinking of as a “FOSS History Project” is starting to take shape.

Before I sink too much time into the idea, though, I thought I’d run it up the flagpole.

Any interest out there?


How I came to find Linux

I saw my first Sun workstation in the winter of 1992, when I was an undergraduate at Purdue University. At the time, I was a student in the Krannert School of Management, and a childhood love of computers had just been reawakened by a mandatory computer programming course I had taken during the fall semester (we were given the choice between COBOL and FORTRAN—which even in 1992 seemed highly dated—and I had picked COBOL because it seemed the more “business” of the two).

Ten years or so earlier, my father, a professor of entomology at Purdue, had replaced his typewriter at work with an Apple II+. Thinking his nine-year-old son might get a kick out of it, he brought it home one weekend along with a Space Invaders-like game he had bought at the local ComputerLand. I spent hours on the computer that weekend. Before long, I was accompanying Dad to the lab at every opportunity so I could spend as much time on the computer as possible.

Being a nine-year-old boy, I was, predictably, attracted by the games at first, and my interest in games led to my first exposure to programming: computer magazines that included code listings of very simple games, which I would laboriously key in to the Apple—and, after hours of toil, hope that I hadn’t made a mistake (the Apple II, at least out of the box, utilized a simple line editor, so going back and making changes was very tedious, not to mention finding the errors in the first place).

Not long after, I met Lee Sudlow while hanging around the lab on weekends. Lee was one of Dad’s graduate students and had begun to use the Apple to assist in his experiments. Lee was always happy to explain what he was doing as I hovered over his shoulder watching, his helpfulness no doubt motivated—at least in part—by the fact that the snot-nosed nine-year-old scrutinizing his every move was his faculty advisor’s son. Oblivious to such things, I watched with fascination as he punched code into the Apple—code that he thought up himself, not code that he was reading from a computer magazine.

Between learning by example through studying the code in the magazines and Lee’s occasional tutelage, I was writing games and other simple programs before long, first in Applesoft BASIC and, later, in 6502 assembly language. To encourage my growing interest, Dad eventually bought an Apple IIe for home, and my love affair with the computer continued for several more years. However, as I entered my teenage years, the computer was gradually replaced with more pressing things, like baseball, music, and girls, and by the mid-1980s, the Apple was gathering dust in my bedroom closet alongside my collection of Hardy Boys novels and Star Wars action figures.

My obsession with the computer lay dormant for the next half-dozen years until it was fortuitously reactivated during that COBOL course in the fall of 1992. When the course ended, I naturally lost my account on the IBM 3090 mainframe where we did our assignments and lab work. Fortunately, as a student, I was entitled to a personal account on one of the university computing center’s machines, either the IBM or one of three Sequent Symmetry minicomputers running DYNIX, a variant of the UNIX operating system. A friend convinced me that UNIX was more interesting and had a brighter future than IBM’s VM/CMS, and I took his advice and applied for an account on one of the Sequent machines. The following week, I was the proud owner of an account on, complete with the princely allocation of 500 kilobytes of disk storage. (Yes, I’m being sarcastic—500 kilobytes was a miserly sum, even for 1992. I eventually found ways to circumvent it.)

My appetite for UNIX was ravenous that winter. I spent most evenings in the basement of the MATH building basking in the green phosphorescent glow of the Z-29 terminals, exploring every nook and cranny of the UNIX system upstairs. It was eerily quiet in those terminal rooms, the only sound being the clack clack clack of a few dozen keyboards and the occasional whisper of, “Hey, look at this…” Often, after an evening of exploration, I would exit the building the long way, walking past the plate glass window where the computing center housed its machines, gazing in awe at the refrigerator-sized Sequent Symmetry I had just been using, watching the blinking lights and knowing that hundreds of people were still inside, if only virtually, thanks to the magic of time-sharing, a technique advanced computers used to divide the machine’s computational power among many users, providing the illusion that each user was the only one. Above all, I looked with envy at the system operators privileged enough to sit on the other side of that plate glass window wielding the almighty power of the “superuser” at the system console.

Unsatisfied with the Z-29s, I began prowling around campus after dark with a friend, Jason Balicki, to see what else could be found. Jason had been in the computer science program for a few years, so he knew where to look (though we did our share of new exploration—that was part of the fun—entering buildings at night and trying the doorknobs of rooms that looked like they might hold computers to see if they were unlocked).

The best labs, I learned, were in the engineering administration building (referred to around campus by its unfortunate acronym, ENAD), where several rooms of X terminals offered a grayscale graphical interface to the Sequent and other UNIX machines around campus. Soon, my preferred “hacking” spot (a term Jason had introduced to me) was in one of the X terminal labs, which were technically only for engineering students, a restriction that was not enforced by passwords—and that we dutifully ignored.

But the motherload of the ENAD building was to be found in its labs of Sun workstations. Unlike the lowly Z-29s and even the comparatively advanced X terminals, the Suns were things of beauty, with sleek cases and high-resolution color displays. Furthermore, Jason explained that they ran the best UNIX there was, SunOS, though the Suns were considerably better locked down than the X terminals, requiring an account on the engineering computer network to access them, so I didn’t get a chance to actually get my hands on SunOS until much later.

I was also accessing UNIX from home via my Intel 80286-based PC and a 2400-baud modem, which saved me the trek across campus to the computer lab on particularly cold days. Being able to get to the Sequent from home was great, but I wanted to replicate the experience of the ENAD building’s X terminals, so one day, in January 1993, I set out to find an X server that would run on my PC. As I searched for such a thing on Usenet, I stumbled across something called “Linux.”

Linux wasn’t an X server, of course, but it was something much better: A complete UNIX-alike operating system for PCs, something I hadn’t even contemplated could exist. Unfortunately, it required a 386 processor or better, and my PC only had a 286. So, I began to save my pennies for a machine fast enough to run it, and while I did that, I devoured everything I could get my hands on about the object of my desire. A few weeks later, I posted a message to Purdue’s computing interest Usenet group asking if anyone on campus was running Linux—and got one response, from a computer science student named Mike Dickey, who happily invited me over to show me his Linux setup. Inspired, I bought a box of thirty floppy diskettes and began the slow process of downloading Linux to the floppies from a PC lab in the Krannert building, though it would be another month before I could afford an actual computer on which to install it. Finally, I could wait no longer, and Jason and I found an unlocked computer lab in one of the dorms containing a single PC, and in the middle of the night one evening in February, we proceeded to install Linux on that lab PC. I still occasionally wonder what the unfortunate student first to the lab the next morning must have thought.


Linux had been created about a year and a half before by Linus Torvalds, a twenty-one year old computer science undergraduate at Helsinki University. A long-time computer enthusiast, Torvalds had followed a path roughly similar to my own, though he began his programming career on a Commodore Vic-20, and he hadn’t gotten distracted by the more traditional interests of teenage boys as the ’80s progressed. Torvalds’ first exposure to UNIX was in 1990 during a course at the university, and like me, it had been love at first sight.

In the fall of that same year, Torvalds took a course in operating systems that used the textbook Operating Systems: Design and Implementation by Andrew Tanenbaum, a professor of computer science at Amsterdam’s Vrije Universiteit. Tanenbaum’s book taught operating systems by example through a UNIX clone for PCs he had written called MINIX, and his book included the complete source code—the human readable (and editable) programming code—for MINIX along with a set of floppy diskettes so that readers could actually install, use, and modify the operating system.

Intrigued, Torvalds bought a PC in early 1991 and joined the burgeoning MINIX community, tens of thousands strong and largely held together by the Usenet newsgroup comp.os.minix. He began experimenting not only with MINIX but also with the new task-switching capabilities of the Intel 80386 processor that powered his PC. (Task-switching makes it easier to run more than one program on the processor at the same time, one of the requirements of a time-sharing system like the Sequent Symmetry I would discover the following year at Purdue.) By the summer of 1991, Torvalds’ experiments with task-switching were beginning to evolve into a full-blown operating system kernel, the basic piece of software in an operating system that mediates access to the CPU, memory, disks and other devices in the computer and provides a simpler interface to these basic computing functions that allows complex applications to be written more easily.[i]

MINIX was not the only “hobbyist-friendly” operating system project that existed in 1991, though it was one of only a handful that was complete enough to be usable, and one of only a few that would run on the lowly PC. The best-known operating system project by far was GNU, presided over by Richard Stallman. Stallman, who had been programming since the mid-1960s and had been a systems programmer at MIT from 1971 to 1983, was an old school “hacker,” someone who engages in computing for its own sake and believes, militantly in some cases (including Stallman’s), that all information should be freely shared.

The GNU project’s goal was to produce a free operating system (free not only in price, but also free in the sense that it could be freely modified) that was compatible with UNIX (GNU was a so-called recursive acronym for “GNU’s Not UNIX,” so-called because it employed a powerful technique often used by programmers called recursion that involves a computation using itself as one of its inputs). Stallman launched the GNU project in 1983 in response to the growing market for proprietary software, software for which the source code could not be modified and was often not even available.

Proprietary software was a fairly new development in the early 1980s and, to Stallman, a very disturbing one. Up to that point, software had largely been distributed freely with hardware, and hackers often shared copies of its source code along with their own changes and improvements. Stallman considered the growing trend toward proprietary software nothing short of the first step toward a digital 1984 in which computer users, and eventually all of society, would be held captive by greedy corporate interests, and he was determined to stop it.

By mid-1991, Stallman and a loosely-knit group of volunteers had assembled most of the GNU operating system—a compiler, a debugger, an editor, a command interpreter (or “shell”), and a variety of utilities and programming libraries that were just like UNIX, only better—the GNU versions were almost universally held to be superior to their namesakes. The only piece that was missing was the kernel, and a small team had just been created at Stallman’s Free Software Foundation, a non-profit organization he had formed in 1985 to oversee development of GNU and serve as a guardian of sorts for free software, to write that final piece. Hackers around the world believed it would just be a matter of time until GNU was finished and available, and they would finally have an operating system free of corporate encumbrances.

Half a world away, Torvalds’ own operating system kernel was becoming complete enough to release to the world. In a now-famous Usenet posting to comp.os.minix on August 25, 1991, he wrote:

Hello everybody out there using minix –

I’m doing a (free) operating system (just a hobby, won’t be big and professional like gnu) for 386(486) AT clones. This has been brewing since april, and is starting to get ready. I’d like any feedback on things people like/dislike in minix, as my OS resembles it somewhat (same physical layout of the file-system (due to practical reasons) among other things).

The response was immediate and overwhelming. While everyone expected GNU to be done imminently, it was not available yet, at least not in a form that could be used without a UNIX scaffolding underneath. And while MINIX was popular, it was not free, though it was certainly inexpensive compared to the other UNIXes. Perhaps most importantly, though, MINIX was intended primarily as a teaching aid, not production software, so Tanenbaum was loathe to include many of the patches, or changes to the operating system, that extended its capabilities which flowed in daily from hordes of enthusiastic users around the world, fearing their addition would make MINIX too complicated and, thus, harder for his students to understand.

The lure of a UNIX-like operating system for PCs, no matter how imperfect, that was free and could evolve at the speed its community wanted it to evolve was too much for many MINIX users to resist, and they began flocking in droves to Torvalds’ new OS, which in the fall of 1991 would be dubbed “Linux.” But Linux was just a kernel—it required a variety of tools and applications be installed on top of it to make it actually do anything useful. Fortunately, most of these already existed thanks to Stallman’s GNU project.

By 1992, a few intrepid users began to assemble sets of floppy diskette images that combined Linux with the GNU software tool chain to make it easier for new users to get up and running. These collections (later called “distributions”) got progressively better, and by the time I finally got my PC in March of 1993, the Softlanding Linux System (or SLS) distribution had expanded to those thirty diskettes and now included a wealth of applications—and, yes, the very same software that powered the X terminals in the ENAD building.


I never did get around to trying to connect the Linux-based X server now on my PC to the Sequent, which would have been painfully slow at 2400 baud—several thousand times slower than the speeds of today—anyway. Now I had my very own UNIX to explore right there on my desk. And explore I did, in a veritable UNIX crash course. Once I got over the thrill of being the “superuser,” the unspeakable power I had previously seen only behind plate glass, I became enraptured not so much by Linux itself as by the process in which it had been created—hundreds of people hacking away at their own little corner of the system and using the Internet to swap code, slowly but surely making the system better with each change—and set out to make my own contribution to the growing community, a new distribution called Debian that would be easier to use and more robust because it would be built and maintained collaboratively by its users, much like Linux.


Update: Any interest in a FOSS History Project?


[i] Glyn Moody, Rebel Code: Inside Linux and the Open Source Revolution, Basic Books (2002), p. 8, 13, 32-42.

“New release under development; suggestions requested” (Debian announcement, 8/16/1993)

Debian announcement (8/16/1993)

Yes, that’s an actual scanned printout of the Debian announcement. I received such an overwhelming number of responses I had to print them out to avoid filling my 500 kilobyte (!) disk quota on the student Sequent Symmetry. You can find a digital version of the announcement here, thanks to the Google.


Comments Off on “New release under development; suggestions requested” (Debian announcement, 8/16/1993)

Debian’s first logo

For my first contribution to the Debian history project I present… Debian’s first logo:

Debian's first logo (circa 1994)

This was drawn by Etienne Suvasa of the Free Software Foundation in 1994 and predates the swirl by at least a few years. The idea was Richard Stallman’s—it’s a baby GNU holding a blanket and sucking its thumb a la Linus from the Peanuts (get it?).


Comments Off on Debian’s first logo

Debian, hydroponics, and Edward Snowden

Over the years, I’ve seen Debian used in some pretty amazing places to do some pretty amazing things.

For example, I recently watched Citizenfour, Laura Poitras’ documentary about Edward Snowden and the first days in Hong Kong following the NSA revelations (highly recommended, by the way). As the credits rolled, I happened to look up and see this:

This kind of thing never ceases to make me proud, even after all this time, from the day in 1997 I heard Debian was powering a hydroponics experiment aboard the space shuttle (my first “very cool” moment) to the present day.

Speaking of all this time: It will have been 22 years (!) since Debian was first announced this coming Sunday. I’d love to collect anecdotes, mementos, stories, etc. from others about Debian being used in amazing places to do amazing things and/or just neat pieces of Debian history. Leave them in the comments, and I’ll surface the best of them here on my blog.

Not uncoincidentally, I recently moved, and as often happens when one moves, I used the opportunity to go through some old boxes. In doing so, I found a few things from Debian’s long past I thought were gone forever (i.e., “not uncoincidentally” = I’m feeling a bit nostalgic). And, so, I’ll kick off this little Debian history project with a few items of my own, starting tomorrow.

Watch this space. :-)


hello (again), world

It’s been a very long time since I’ve posted with any regularity—or at all, really. So long, in fact, that the graphs below show smartphone operating system market share then vs. now:

Smartphone OS Market Share (Q1 2009)

Smartphone OS Market Share (Q1 2015)


(Source: Gartner via Wikipedia)

Symbian and Blackberry were still the dominant mobile platforms, iOS wasn’t yet called iOS (the iPad wouldn’t be launched for another year), and Android was just beginning to gain traction. So, yeah, it’s been a long time.

That’s not to say I’ve been idle—I simply stopped blogging with any regularly, then stopped blogging altogether. I have no excuses other than these: First, there was the quiet period following the Sun Oracle acquisition. Then, once the acquisition closed and I got laid off (which, being in the newly formed cloud group at a time when Larry Ellison didn’t have much use for the cloud, was more or less a foregone conclusion), I took a year off to recharge my batteries. Then, by the time I was back to work, blogging (or at least thinking about blogging and not doing it) was no longer part of my daily routine.

So what have I been up to these past few years?

In February 2011, I joined a startup in Indianapolis called ExactTarget. ExactTarget, best known for email marketing, was in the process of expanding to other digital channels like mobile and social. Importantly, it was also wanting to build a platform for digital marketing akin to what Salesforce had built for sales force automation. I was brought in to lead the platform buildout.

We launched that platform in October 2012 and added a marketplace for third-party marketing apps in July 2013. Along the way, we went public (March 2012), were acquired by Salesforce (July 2013), and became the Salesforce Marketing Cloud. It’s been a busy few years.

In any event, after a long blogging hiatus, I’m back at it. I, of course, have plenty of thoughts to share about the state of the world, where I think it’s going, as well as what I’m up to and what I’ll be up to next, and I can’t wait to share them with all of you.



Linux family tree, version 0.90

The latest version of the Linux family tree can always be found at

Linux family tree v0.90

Earlier in the year, I wrote about local artist Mark Alan Miller and said that Mark and I would be collaborating to create a Linux family tree done in a similar style:

And, so, I’ll be posting a few sketches over the coming days, drawing from my recollection (and a bit of Googling) on the history and lineage of the Linux distros—crowdsourcing, as it were, to make sure our depiction is indeed accurate.

Well, the days^Wweeks^Wmonths got away from me, but I finally got around to finishing the first cut. Here, at last, is the Linux family tree, version 0.90 (Graphviz source). Comments very welcome.

A few notes:

  • This work is licensed under a Creative Commons Attribution 3.0 United States License.
  • References are listed at the end of the Graphviz source. In addition to my own recollection, my primary sources were DistroWatch and Wikipedia.
  • I’m probably missing some distros, particularly the newer ones. Mint, Puppy, Sabayon, PCLinuxOS, Arch, Tiny Core, Zenwalk, Vector, and Damn Small are in the top 20 at DistroWatch, but I’m not familiar enough with them to say whether or not they belong here.
  • The branches are not quite depicted right (e.g., the RHAS node is directly connected to the Red Hat node circa 1994, where it should more properly be an offshoot of the Red Hat trunk sometime in 2001/2002). The point here is to show the relationships, and I’ll be working with Mark to make sure the branches are depicted properly.
  • Some branches, of course, are more divergent than others—for example, the S.u.S.E. branch from Slackware was a complete break, whereas Debian and Ubuntu have an ongoing relationship (and Ubuntu and Kubuntu moreso). We’ll be sure to represent these subtleties as well, perhaps with intertwining branches or some such.
  • Altering the Graphviz output is still a bit of a mystery to me (I put in weight=1000 at some points to force straight lines, which seems to work), and while for the most part the graph is displayed as I would have otherwise envisioned it, I couldn’t get Xandros to display as a straight line to save my life. Any suggestions?

Suggestions? Corrections? Criticisms? Reminiscences? Leave them in the comments or drop me an email.

“It goes to 11”

I’m reading the news from CommunityOne yesterday, and it seems most people missed what I think was the biggest news: That John Fowler revealed that OpenSolaris 2009.06 is “the preview release of the next major release of Solaris”. (Yes, I and others have suggested this would be the path forward for Solaris—eventually—but this, to my knowledge, is the first time it’s been “official”.)

Full quote:

OpenSolaris 2009.06 is more than just something for early adopters and for technology aficionados—it’s also the preview release for the next major release of Solaris which will go to all of our enterprise customers.

Note that he didn’t say “Solaris 11”. For a variety of reasons, it probably won’t be called “11”. But that’s essentially what this is. “Solaris 11” will be based on OpenSolaris.

Personally speaking, this is an extremely gratifying moment. Thinking back to my Purdue days, when I lusted after the Sun workstations only the privileged few had access to, I sometimes have to pinch myself to believe that I, in some small way, had a hand in a change to Sun’s OS platform as profound as the move from SunOS to Solaris in the early 1990s. (The real “through the looking glass” moment was when, early on in the Project Indiana days, I went to the Executive Briefing Center to give my pitch—which included a blow by blow of how Sun had dropped the ball—to a big customer, only to walk into the room and see Scott McNealy sitting at the table. He loved it.)

Note: While Project Indiana was indeed a catalyst for big change in Solaris, I get a lot more credit for the resulting change than is deserved, because a lot of the work that ultimately got folded into Project Indiana was already underway when I came along. David Comay had been tirelessly pushing something he called “Solaris Modernization” internally for about a year. Dave Miner and team were nearing completion of Project Caiman, the rewrite of the Solaris installer. Stephen Hahn was prototyping a new package system. One of the first meetings I attended during my first day on Sun’s Menlo Park campus included Bart Smaalders presenting on “dim sum patching” and how major architectural change was needed in Solaris. Etc. So things were already moving in the right direction. They just needed a unifying theme, a name, something people would rally around.

Project Indiana turned out to be that rally point, an umbrella under which to collect the efforts that were already underway (and the impetus to start a few new ones). It was also a unifying vision under which to present the collective whole to the executives whose support was needed. And, probably most importantly, it provided the momentum (once the media got wind of it, thanks to Jonathan) needed to overcome the inertia that had been hindering progress.

When people thank me for Debian, I like to point out that others did the vast majority of the work—or, as I prefer to put it, “I just gave the first push”.

With OpenSolaris, I guess the right way to think about my role is this: “I just gave the last push”.

Both are equally gratifying, in different but subtle ways.