Hacker News new | past | comments | ask | show | jobs | submit login
F/OSS Comics: 8. The Origins of Unix and the C Language (fosscomics.com)
141 points by cubix4u 15 days ago | hide | past | favorite | 51 comments



The thing that caught my attention (and nobody else has commented on) is that things we take for granted, most notably a command-line interface, is something that had to be invented.¹ A big part of my first job (at the UIC computing center in the mid-80s) was helping people figure out what was wrong with their JCL jobs they were sending to the MVS half of our IBM mainframe which had a command line (TSO) but which was an unpleasant thing to work with, especially compared to the CMS side of the mainframe which even had nice screen-based interactions. It’s a bit startling to realize that I’m older than the command line.

1. Similarly, the idea of arranging the words in a dictionary by alphabetical order was something that only happened for the first time sometime around the 15th century (plus or minus a century maybe?) if I recall correctly. It seems obvious now, but why not arrange the words by, e.g., what sort of thing they’re about? After all, perhaps what you want from a dictionary is not to find out what a word means, but to find the right word to describe what you want to write about.


Regarding the alphabetical order, I think one of the oldest alphabetically organized dictonaries extant is ‘Alphabetical collection of all words’ by Hesýchios¹. In his preface (written as a letter to a friend named Eulogios), Hesychios writes that quite a few other people in earlier times have made alphabetical collections of words, but always only for a certain subset, e.g. all homeric words, all words found in the tragedies or in the comedies etc. After them a certain Diogenianós was the first (according to Hesychios) to make an alphabetical collection of all words.²

The names of the older lexicographers Hesychios mentions are: Appíon (Ἀππίων – or Ἀπίων?)³, Apollónios son of Archibios (Ἀπολλώνιος ὁ τοῦ Ἀρχιβίου)⁴, Théon (Θέων)⁵, Dídymos (Δίδυμος)⁶.

¹ https://en.wikipedia.org/wiki/Hesychius_of_Alexandria

² https://el.wikisource.org/wiki/Epistula_ad_Eulogium – “κατὰ στοιχεῖον” is the phrase meaning ‘by / according to the letter’, understood as ‘alphabetical(ly)’; “καθʼ ἕκαστον στοιχεῖον” ‘by / according to every letter’.

³ a search turned up https://en.wikipedia.org/wiki/Apion

⁴ certainly https://en.wikipedia.org/wiki/Apollonius_the_Sophist

⁵ I donʼt know, https://en.wikipedia.org/wiki/Aelius_Theon perhaps?

⁶ a search turned up https://en.wikipedia.org/wiki/Didymus_Chalcenterus


> I’m older than the command line.

Many people are. ^_^

> but why not arrange the words by, e.g., what sort of thing they’re about?

Organisation of words by letter is fast indexing for an ordered set of letters.

That said, visual dictionaries exist, such as the Stoddart. [1]

[1] _ https://search.worldcat.org/title/1039974083


What I’m saying is that it wasn’t immediately obvious when the first dictionaries were created that this was the best way to do it.


> ...why not arrange the words by, e.g., what sort of thing they’re about?

I don't know if that exists, but there are rhyming dictionaries.


Some early dictionaries did in fact do this, and this was also the case with Roget’s project with his thesaurus (most contemporary thesauri arrange the main headings in alphabetical order, thus the title, “Roget’s Thesaurus in Dictionary Form”) where he arranged the words in a tree of classifications.

Most rhyming dictionaries are still alphabetical, but I think it was Webster’s that kept a file of headwords alphabetized in reverse order (so order would be sorted as redro, reverse as esrever, etc.) to facilitate the creation of rhyming dictionaries, but a case could be made that this order could be useful on its own.


Isn't this what enciclopedias are? You have animals in one section, you have countries in another, you have every component in a motor vehicle in another, etc.


I’ve never encountered an encyclopedia arranged like that. All that I’ve seen were strictly alphabetical with China next to Chipmunk


Perhaps encyclopaedia is not the word. As a kid I had tons of book like this. I still remember one of my favourites had a whole section on what I believe was housing temperature control and insulation!


A thesaurus - sort of.


The original very much so, actually.


Very cool to see an illustrated version of my favorite software origin story :)

For a more detailed explanation, Brian Kernighan's "UNIX: A History and Memoir" is fantastic, released just a few years ago.


I read that book the last summer (highly recommend it for a beach lecture) and, after years of back and forth between Unix and Windows, I finally ended using Unix as my dailiy driver.

Call me whatever, but by reading the story, everything got aligned in my head. What I saw as complex and dumb decisions, suddenly made sense and I really appreciate how things work.


Too bad Dave Cutler didn’t write a memoir.


The book 'Show Stopper!: The Breakneck Race to Create Windows NT and the Next Generation at Microsoft' is a really great read on Dave Cutler.

I would love more 'tech origin stories'. Next I am planning to read 'Soul of a new machine'. Another one I enjoyed was 'Open: How Compaq Ended IBM's PC Domination and Helped Invent Modern Computing'


judging from how i've read other people describe him, Dave Cutler's personality seems antithecal to memoirs or biographies, from what I've read he seems to be very much like John Carmack in his total lack of sentimentality. Thankfully some enterprising people have managed to get him to sit infront of a camera, but its pretty light on the nitty gritty technical aspects:

- Computer history museum interview: https://www.youtube.com/watch?v=29RkHH-psrY - David Plummer's interview: https://www.youtube.com/watch?v=xi1Lq79mLeE


I'm sure the NT kernel is a marvel but I'm afraid it's too late for me now :-)


It would be nice if they included the part about why they had the PDP-7 in the first place, and what inspired them to start hacking on it: Because Ken Thompson wanted a cool machine to play "Space Travel" on.

See https://en.wikipedia.org/wiki/Space_Travel_(video_game)



Oh, cool!

They don't say in the comic, but it seems like maybe they named it Unix as a cheeky nod to the "Multics" being too complex so a "simpler Multics" would naturally be "Unics"

Am I correct on this?


The project actually started with the name UNICS, which was indeed a pun on MULTICS - after Bell Labs reduced/left involvement in Project MAC and some of the future Unix creators were part of that effort.

UNICS started out on way way way less capable hardware to play with some concepts that were developed on Multics, so while there were some improvements, a lot of things are the way they are because of limitations enforced by 13 bit address space of PDP-7 and later 16bit moby style memory management on PDP-11

The move to PDP-11 was related to how some programs developed for Unix found interest among other teams at Bell Labs, and the budget for PDP-11 came from supporting secretaries working on patent documents with troff and related programs.


In "The Evolution of the Unix Time-sharing System" by Dennis Ritchie, he writes:

> Although it was not until well into 1970 that Brian Kernighan suggested the name ‘Unix,’ in a somewhat treacherous pun on ‘Multics,’ the operating system we know today was born.

I like this paper for its thorough description of the very earliest versions of the operating system.


> in a somewhat treacherous pun on ‘Multics’

It is both fascinating and amusing to note that significant innovation came from talented peoples' frustration with software-development complexity, bureaucracy, and paralysis.

Are we any better, half a century later?


The original Unix people were also - allegedly - aware of the pun on "Eunuchs", and joked about calling it an emasculated or "Eunuch" version of Multics. I'd love a bit of historical information on that, but it certainly is amusing.


The pun is mentioned in the 1979 BLTJ Paper, The Evolution of the Unix Time-sharing System¹.

¹ https://www.bell-labs.com/usr/dmr/www/hist.pdf


I have encountered mentions of discussions where Unics/Unix was purposefully read as "eunuch" as joke reference of "Multics without balls", but nothing that could be attributed/verified.


I chuckled at this. My fingers are firmly crossed now hoping Ken Thompson or some other legend from the good old days jumps in to englighten and maybe even regale us.


This seems very likely, also considering that a/the main Multics dev was involved with Unix.


Pet peeve: when someone calls something comics (a narrative told solely using sequential art) vs. illustrating a blog post.


Reading the comic and reading the exact same words as captions below it was a little annoying.

I hope those were included for accessibility, but think they could be added as an ARIA attribute.


The text in the bubbles may be too small to read on mobile devices, which is why I've added the same text at the bottom of the image. I'm aware of the issue, so I can remove the text for desktop browsers.


The figcaption could just be moved to the alt text. The redundancy serves no purpose to anyone, and the page would be better for it.


I have this dream of a github repo that contains all the historical code along with instructions how to run emulators of the old hardware.

I know there is a hardware accurate PDP-11 emulator, probably someone did a PDP-7 also - I haven’t looked. I’m not sure if all the original source code is publicly available, it ideally should be, hopefully nothing has been lost.

Such a project would be like a digital historian. Preserving for future generations all technical details.


> I’m not sure if all the original source code is publicly available, it ideally should be, hopefully nothing has been lost.

This all already exists! :D TUHS has an FTP with various dumps of the source code

https://www.tuhs.org/


There is also https://github.com/dspinellis/unix-history-repo (Continuous Unix commit history from 1970 until today)


> I know there is a hardware accurate PDP-11 emulator

Better yet, simulator at the schematic or microcode level. The KA11 was the first PDP11 CPU accurately simulated but the KD11 also seems to be working.

https://github.com/aap/pdp11


Making comics about software engineering stuff is a really good idea. I love this, its very charming. As someone who likes drawing and is an SE I'm sort of inspired.


The success of Dilbert is largely due to its accurately documenting the path that Multics followed. ^_^


The path that people think Multics followed.

What is left out is that Project MAC was ridiculously ambitious. As in, most operating systems, and probably all multiuser/interactive ones, have Multics in the "tree of inventions" behind them.

The issue is that Bell Labs wanted something smaller and more immediately usable and ultimately they got it by accident because few programmers had seen the future and started to miss it.


I live in the New Jersey area where all of this happened. I wish someone could recall and mention the actual diner where UTF-8 was supposedly designed :-)


Corner Café in New Providence, New Jersey.

From Rob Pike’s blog: https://commandcenter.blogspot.com/2020/01/utf-8-turned-20-y...



This is awesome. Thank you!


Is there an RSS feed of this at all? Tried a few pages and they don't add to my reader.

Is there a follow-up on Plan 9 OS?


>> Is there a follow-up on Plan 9 OS?

Don't forget about Inferno too:

https://en.wikipedia.org/wiki/Inferno_(operating_system)

A follow-on comic about Plan 9 and Inferno would be welcome, but this appears to be the latest one:

https://fosscomics.com/all_posts/


Inferno was Lucents answer to Sun's Java and was intended as a commercial product. They stopped all Plan 9 development for a year to work on it. The big difference and attraction to me are the pure VM user space and the dual build path where you can build it for bare metal or hosted on a number of operating systems (Plan 9, Windows, BSD, Unix, Linux, web browser, etc.) That way you can run Inferno applications just about anywhere (even microcontrollers). The Limbo language is part of Go's lineage as well: https://seh.dev/go-legacy/


I'm incredibly disappointed that there's no reference to Joe F Ossana in this, given that he's the entire reason AT&T bankrolled UNIX in the first place.


I've added a credit in the comic for Joe Ossanna's contributions to the Multics and Unix development. Thank you!

Hey comics, Thanks for sharing. Here is something I made. https://www.linkedin.com/pulse/introducing-web-designers-dev...



Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: