Subject: wget: 1 files retrieved with wget https://medium.com/message/705b87339971

From: [email-masked]
Date: Sat, 03 May 2014 03:58:18 -0400

Please report bugs to <[email-masked]>.

#!/bin/sh
# 1 files: '705b87339971' (text/html)
cat << '!EOF!-705b87339971' > '705b87339971'
<!DOCTYPE html><html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1" user-scalable="no"><title>The Great Works of Software — The Message — Medium</title><link rel="canonical" href="https://medium.com/message/705b87339971"><meta name="title" content="The Great Works of Software"><meta name="description" content="Is it possible to propose a software canon? To enumerate great works of software that are deeply influential—that change…"><meta property="og:site_name" content="Medium"><meta property="og:title" content="The Great Works of Software"><meta property="og:url" content="https://medium.com/message/705b87339971"><meta property="og:image" content="https://d262ilb51hltx0.cloudfront.net/max/800/1*UA2ebfw3RASQXPI9oHkoCg.jpeg"><meta property="fb:app_id" content="542599432471018"><meta property="og:description" content="Is it possible to propose a software canon? To enumerate great works of software that are deeply influential—that change…"><meta name="twitter:site" content="@Medium"><link rel="publisher" href="https://plus.google.com/103654360130207659246"><link rel="author" href="https://plus.google.com/+PaulFord"><link rel="author" href="https://medium.com/@ftrain"><meta property="og:type" content="article"><meta name="twitter:card" content="summary_large_image"><meta property="article:publisher" content="https://www.facebook.com/medium"><meta property="article:author" content="https://medium.com/@ftrain"><meta property="article:published_time" content="2014-04-30T13:13:50.284Z"><meta name="twitter:creator" content="@ftrain"><meta name="twitter:app:name:iphone" content="Medium"><meta name="twitter:app:id:iphone" content="828256236"><meta name="twitter:app:url:iphone" content="medium:/message/705b87339971"><meta property="al:ios:app_name" content="Medium"><meta property="al:ios:app_store_id" content="828256236"><meta property="al:ios:url" content="medium:/message/705b87339971"><meta property="al:web:url" content="https://medium.com/message/705b87339971"><script>if (window.top !== window.self) window.top.location = window.self.location.href;var OB_startTime = new Date().getTime(); var OB_fontLoaded = 0; var OB_loadErrors = []; document.addEventListener('error', function (e) { OB_loadErrors.push(e) }, true); function _asyncScript(u) {var d = document, f = d.getElementsByTagName('script')[0], s = d.createElement('script'); s.type = 'text/javascript'; s.async = true; s.src = u; f.parentNode.insertBefore(s, f);}function _asyncStyles(u) {var d = document, f = d.getElementsByTagName('script')[0], s = d.createElement('link'); s.rel = 'stylesheet'; s.href = u; f.parentNode.insertBefore(s, f);}(function() {var config = {kitId: "dta5koc", scriptTimeout: 3000, active: function(){window.requestAnimationFrame && window.requestAnimationFrame(function(){OB_fontLoaded = new Date().getTime(); window._onWebfontLoad&&window._onWebfontLoad();})}, inactive: function(){window._onWebfontError&&window._onWebfontError()}};var h=document.getElementsByTagName("html")[0];h.className+=" wf-loading";var t=setTimeout(function(){h.className=h.className.replace(/( |^)wf-loading( |$)/g,"");h.className+=" wf-inactive";window._onWebfontError&&window._onWebfontError()},config.scriptTimeout);var tk=document.createElement("script");tk.src='//use.typekit.net/'+config.kitId+'.js';tk.type="text/javascript";tk.async="true";tk.onload=tk.onreadystatechange=function(){var a=this.readyState;if(a&&a!="complete"&&a!="loaded")return;clearTimeout(t);try{Typekit.load(config)}catch(b){}};var s=document.getElementsByTagName("script")[0];s.parentNode.insertBefore(tk,s)})();var _gaq = _gaq || []; _gaq.push(['_setAccount', 'UA-24232453-2']); _gaq.push(['_trackPageview']); _asyncScript(('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js');var _kmq = _kmq || []; var _kmk = _kmk || '965ccfe7459a74a1209b1412b24fe962252de6b3'; _asyncScript('//i.kissmetrics.com/i.js'); _asyncScript('//doug1izaerwt3.cloudfront.net/' + _kmk + '.1.js');</script><script>_asyncStyles('\/\/dnqgz544uhbo8.cloudfront.net\/_\/fp\/css\/main-sprites.r_X1aYqr16H7UDITghbtWA.css')</script><link rel="stylesheet" href="//dnqgz544uhbo8.cloudfront.net/_/fp/css/main-base.PNUWwzkspvpmSQnsHqU-YA.css"><!--[if lt IE 9]><script charset="UTF-8" src="//dnqgz544uhbo8.cloudfront.net/_/fp/js/shiv.RI2ePTZ5gFmMgLzG5bEVAA.js"></script><![endif]--><link rel="apple-touch-icon-precomposed" sizes="152x152" href="/apple-touch-icon-precomposed-152.png"><link rel="apple-touch-icon-precomposed" sizes="120x120" href="/apple-touch-icon-precomposed-120.png"><link rel="apple-touch-icon-precomposed" sizes="76x76" href="/apple-touch-icon-precomposed-76.png"><link rel="apple-touch-icon-precomposed" href="/apple-touch-icon-precomposed.png"></head><body itemscope itemtype="http://schema.org/Article" class="template-flex-article os- js-loading "><nav class="site-nav" tabindex="-1"><button class="site-nav-logo distraction-free-component" data-action="open-nav"><span class="icons icons-logo-m"><span class="screen-reader-text">Medium site navigation</span></span><div class="site-nav-activity-flag"></div></button><div class="site-nav-scrollable-container"><ul class="site-nav-list"><li class="site-nav-list-item navigable-list-item site-nav-list-item-home"><a class="site-nav-list-item-btn" title="Go home" href="/" tabindex="-1" ><span class="icons icons-logo-m"></span>Home</a><a class="site-nav-list-item-btn-secondary" title="Search Medium" href="/search" tabindex="-1"><span class="icons icons-search"><span class="screen-reader-text">search</span></span></a></li><li class="site-nav-list-item navigable-list-item"><a class="site-nav-list-item-btn" title="Collections" href="/collections" tabindex="-1"><span class="icons icons-collections"></span>Collections</a></li><li class="site-nav-list-item navigable-list-item"><a class="site-nav-list-item-btn" title="Sign in with Twitter" data-action="sign-in-with-twitter" href="/m/account/authenticate-twitter" tabindex="-1"><span class="icons icons-twitter"></span>Sign in with Twitter</a></li></ul></div></nav><div class="site-nav-overlay"></div><div class="container" id="container"><div class="butter-bar error"></div><div class="surface"><div id="prerendered" class="screen-content"><article class="post-article  lang-tier-1" data-allow-notes="true"><div class="metabar u-clearfix metabar-light metabar-top "><div class="metabar-block align-right"><div><div class="metabar-text">15 min read</div><div class="btn-set "></div></div></div></div><div class="post-field image image-picker-wrap background-size-full picker-layout-fill" data-url="https://d262ilb51hltx0.cloudfront.net/fit/t/1200/960/gradv/29/81/55/1*UA2ebfw3RASQXPI9oHkoCg.jpeg" data-image-id="1*UA2ebfw3RASQXPI9oHkoCg.jpeg" data-width="1962" data-height="903" data-image-style="full"><div class="post-field caption caption-truncated" title="A DEC PDP-11 computer, from Wikipedia Commons. Photo by “Shieldforyoureyes Dave Fischer” under the Creative Commons Attribution-Share Alike 3.0 Unported license. http://commons.wikimedia.org/wiki/File:Pdp-11-70-panel.jpg">A DEC PDP-11 computer, from Wikipedia Commons. Photo by “Shieldforyoureyes Dave Fischer” under the Creative Commons Attribution-Share Alike 3.0 Unported license. http://commons.wikimedia.org/wiki/File:Pdp-11-70-panel.jpg</div><div class="story-cover" data-load-img=".post-header-image-cover"><div class="picker-target-clone"></div><div class="picker-target story-cover-image" style="background-image: url(https://d262ilb51hltx0.cloudfront.net/fit/t/1200/960/gradv/29/81/55/1*UA2ebfw3RASQXPI9oHkoCg.jpeg);"></div><div class="post-preview layout-foreground post-preview-with-image post-preview-unfiltered"><div class="post-preview-content layout-single-column align-middle layout-fill-height"><div class="align-block layout-fill-width"><div class="post-preview-description">Next in trending</div><h3 class="post-preview-title">The Great Works of Software</h3><h4 class="post-preview-subtitle">Is it possible to propose a software canon? To enumerate great works of software that are deeply influential—that changed the nature of the…</h4><ul class="post-item-meta"><li class="post-item-meta-item"><a href="/@ftrain" class="post-item-author link link-secondary" title="Go to the profile of Paul Ford" ><img src="https://d262ilb51hltx0.cloudfront.net/fit/c/64/64/0*5MUGve9BqcUb2vLq.png" class="avatar-icon post-item-meta-avatar" title="Paul Ford"><span >Paul Ford</span></a> in <a href="/message" title="Go to The Message" data-collection-slug="message" data-id="81c7d351c056" class="post-item-collection link link-secondary">The Message</a></li><li class="post-item-meta-item"><span class="reading-time">15 min read</span></li></ul></div></div></div><div class="layout-table-row layout-fill"><div class="picker-content story-cover-content"><div data-scroll="post-cover" ><div class="post-content layout-single-column"><header class="post-header notes-header-source"><h1 itemprop="name" name="title" class="post-title">The Great Works of Software</h1><ul class="post-item-meta"><li class="post-item-meta-item"><a href="/@ftrain" class="post-item-author link link-secondary" title="Go to the profile of Paul Ford" ><img src="https://d262ilb51hltx0.cloudfront.net/fit/c/64/64/0*5MUGve9BqcUb2vLq.png" class="avatar-icon post-item-meta-avatar" title="Paul Ford"><span >Paul Ford</span></a> in <a href="/message" title="Go to The Message" data-collection-slug="message" data-id="81c7d351c056" class="post-item-collection link link-secondary">The Message</a></li></ul></header></div><span class="story-cover-arrow" data-action="scroll-to-post-start"></span></div></div></div></div></div><section class="post-page-wrapper post-page-wrapper-full"><div class="post-page-wrapper-inner"><div class="post-content"><div class="post-content-inner"><div class="notes-source"><div class="post-field body"><section name="cb22"><div class="section-divider layout-single-column"><hr class="section-divider"></div><div class="section-inner layout-single-column"><p name="d74f">Is it possible to propose a <em>software canon</em>? To enumerate great works of software that are deeply influential—that changed the nature of the code that followed?</p><p name="ceb2">Canons emerge over time, as certain works gain in critical appreciation. But software is mutable stuff, quick to obsolesce. Only banks, governments, and your parents run the same programs for more than a couple years at a time; the rest of us are forced to upgrade to new versions every two years or we risk being regarded as backward-minded hill people.</p><p name="bd4a">As far as I can tell, no truly huge world-shifting software product has ever existed in only one version (even <a target="_blank" href="http://en.wikipedia.org/wiki/Flappy_Bird" rel="nofollow"><em>Flappy Bird</em></a><em> </em>had updates). Just about every global software product of longevity grows, changes, adapts, and reacts to other software over time.</p><p name="62c6">So I set myself the task of picking five great works of software. The criteria were simple: How long had it been around? Did people directly interact with it every day? Did people use it to do something meaningful? I came up with the office suite Microsoft Office, the image editor Photoshop, the videogame Pac-Man, the operating system Unix, and the text editor Emacs.</p><p name="16c4">I realized that each one of these technologies set out to help people <em>do </em>something but consequently grew and changed over time. Each ultimately provided a way for large groups of people to talk about and think about very difficult problems:</p><ul class="post-list"><li name="5ddb"><em>Microsoft Office</em>: How do we <em>communicate about work?</em></li><li name="ae01"><em>Photoshop</em>: How do we <em>create and manipulate images?</em></li><li name="2f01"><em>Pac-Man: </em>How do we <em>play?</em></li><li name="389e"><em>Unix: </em>How do we <em>connect abstractions together to solve problems?</em></li><li name="cb93"><em>Emacs: </em>How do we <em>write programs that control computers?</em></li></ul><p name="0f10">Computer people often talk about <em>products. </em>But each of these five have come to represent something else—an engagement with hard problems that are typically thought to be in the domain of philosophy, literature, or art, rather than programming. This software doesn’t just let people do things; it gives them a way to talk about and share what they did.</p><p name="1a66">Other people have made similar lists. Matthew Kirschenbaum, a professor of English at the University of Maryland, wrote in <em>Slate</em> about <a target="_blank" href="http://www.slate.com/blogs/browbeat/2013/07/30/_10_most_influential_software_programs_of_all_time_from_sabre_to_minecraft.html" rel="nofollow">influential programs</a> [see note] <em>(</em>text editor Wordstar,<em> </em>programming environment Hypercard, image editor Photoshop, information manager Lotus Notes<em>) </em>in a list he made last July<em>. </em>Back in 2007, <em>PC World </em>published <a target="_blank" href="http://www.pcworld.com/article/130207/article.html" rel="nofollow">a list of the best tech products of all time</a>, leading off with the first commercial web browser, Netscape Navigator<em>, </em>and ending at #50 with the Northgate Omnikey Ultra keyboard. Recently here on Medium <a href="https://medium.com/tech-talk/a708cda55921">Max Dunn published an appreciation of the desktop publishing program Adobe <em>InDesign</em></a>.</p><p name="abc5">So <em>Slate</em> used “influence” as its criterion; <em>PC World,</em> the more nebulous criterion of “bestness.”</p><p name="7935">I propose a different kind of software canon: Not about specific moments in time, or about a specific product, but rather about works of technology that transcend the upgrade cycle, adapting to changing rhythms and new ideas, often over decades.</p><h2 name="4238"><strong>Microsoft Office</strong></h2><figure name="e44e"><div class="aspect-ratio-placeholder aspect-ratio-locked" style="max-width: 658px; max-height: 420px;"><div class="aspect-ratio-fill" style="padding-bottom: 63.800000000000004%;"></div><img data-image-id="1*fTCXpjN_5oiZ6a0KEma47w.gif" data-width="658" data-height="420" src="https://d262ilb51hltx0.cloudfront.net/max/800/1*fTCXpjN_5oiZ6a0KEma47w.gif"></div><figcaption class="image-caption">In the days before the ribbon.</figcaption></figure><p name="5914">Ten years ago I watched a six-year-old girl catch a misspelling in something she was writing on paper with a pen. She went and got a red pen and underlined the misspelled word with a wavy line, just like Word does.</p><p name="e5e3">I distrust Microsoft Office, because it is a bear to use and expensive, and it has destroyed many drafts by crashing. Yet greatness is not the same as goodness and I must admit that it is a great work of software—powerful, omnipresent, and woven into the culture. It was first announced by Microsoft in 1988, but components had been around far longer—Microsoft Word<em> </em>since 1983. So the original ideas inside of Office have been around for 30 years.</p><p name="b3b6">For all that people discuss teaching kids to code, or how the Web gives people a voice, Microsoft Office is the most <em>empowering</em> software in the world. Word<em> </em>is used to write memos and novels; PowerPoint is used to sell ideas and teach classes; and Excel<em> </em>is used to share budgets for freelancers or giant companies alike. These tools are used to do schoolwork, and to set up billion-dollar deals. While their hegemony is no longer total—Google Docs and the like are nibbling at Office’s heels—the programs in the suite remain the mass instruments of economic power. To use anything else invites suspicion. Who wants to be the person who sends a spreadsheet that doesn’t open in Excel?</p><p name="32e0">Office is emphatically not a singular thing. It changes with Microsoft’s perception of the market. There are many versions for home, office, or web. Sometimes it includes a database program called Access, sometimes it doesn’t. Some bundles might include other tools like Publisher (desktop publishing), Project (project management), and Visio (diagramming). <a target="_blank" href="http://en.wikipedia.org/wiki/Microsoft_Office" rel="nofollow">A fairly complete history is available at Wikipedia</a> if you are so inclined.</p><p name="c674">While Office is a testament to the power of bundling software, the integration between the different applications is still awkward. Decades in, it’s still a risky move to paste a spreadsheet into a word-processing document; to do that gives even the fastest computer pause. The boundaries and borders between Office’s are difficult to cross. In theory, one can turn a Word document into a PowerPoint presentation. In reality, well.</p><p name="56c2">What Office provides is <em>a language for doing office things</em>. You don’t go in front of an audience without a PowerPoint deck. Businesspeople “live” in Excel; its language (it actually <em>is</em> a crypto-programming language) has become the language of money and budgets. People who do work with symbols and language to make a living organize their thoughts into the containers and systems that Office provides. Office is not so much a software product as a dialect that we all speak as we proceed about our labors.</p><h2 name="cb26"><strong>Adobe Photoshop</strong></h2><figure name="f49b"><div class="iframe-container"><iframe data-width="1280" data-height="720" width="700" height="394" src="/media/322d821f0c7d139a80279ffab42d30d7?maxWidth=700" data-media-id="322d821f0c7d139a80279ffab42d30d7" frameborder="0"></iframe></div><figcaption class="image-caption">http://player.vimeo.com/video/81847258</figcaption></figure><p name="c1ad">Development on Photoshop started in 1987, and while it too exists inside a suite of tools (the Adobe Creative Suite), including a huge variety of software products for everything from film production, it is Photoshop that is part of the cultural lexicon, today a verb. None of the other applications in the Creative Suite are as prevalent (no one asks, “Is that <em>Illustrator</em>ed” or “did you <em>InDesign</em> that?”).</p><p name="91bd">To <em>photoshop</em> something is to manipulate an image, sometimes with the intention of making the subject of the photo more aesthetically pleasing than the original source image. It is of particular concern when it comes to women’s bodies; Photoshop has become the tool that we use to trim fat and reduce the effect of aging. Only pregnancy has swelled more breasts.</p><p name="0f6d">Photoshop itself is basically an enormous collection of ideas about images. <a target="_blank" href="http://www.adobe.com/devnet-apps/photoshop/fileformatashtml/" rel="nofollow">The Photoshop file format</a>, the way that its files are arranged and stored on disk drives, is a potted history of everything people have ever thought about images and computers, a fascinating hellish palimpsest. Here’s <a target="_blank" href="https://code.google.com/p/xee/source/browse/XeePhotoshopLoader.m?r=f16763d221dfca6253983824b470adf553a19e06" rel="nofollow">how one programmer described it</a>:</p><pre name="3788">Trying to get data out of a PSD file is like trying to find something in the attic of your eccentric old uncle who died in a freak freshwater shark attack on his 58th birthday. That last detail may not be important for the purposes of the simile, but at this point I am spending a lot of time imagining amusing fates for the people responsible for this Rube Goldberg of a file format.<br><br></pre><p name="63e1">Photoshop also remains the way that professionals communicate about the appearance and behavior of web pages. There are many ways to specify how web pages look, many tools that people use, but more often than not, when it’s time to design a web page or banner ad, it is Photoshop bouncing in the dock.</p><p name="8584">Thus, like Office, it is the de-facto standard, the tool that gives people a language (<em>bounding box, crop, blur, channel ops, layer</em>) for talking about digital images. It’s more than a quarter-century old and it is a verb. It belongs in the canon.</p><h2 name="ff10"><strong>Pac-Man.</strong></h2><figure name="1cf8"><div class="aspect-ratio-placeholder aspect-ratio-locked" style="max-width: 700px; max-height: 266px;"><div class="aspect-ratio-fill" style="padding-bottom: 38%;"></div><img data-image-id="1*4eh1NnclTIEl2w1pmZZ_Vg.png" data-width="1316" data-height="500" data-action="zoom" data-action-value="1*4eh1NnclTIEl2w1pmZZ_Vg.png" src="https://d262ilb51hltx0.cloudfront.net/max/800/1*4eh1NnclTIEl2w1pmZZ_Vg.png"></div><figcaption class="image-caption">From Musescore http://musescore.com/user/85429/scores/107109</figcaption></figure><p name="28a7"><a target="_blank" href="http://en.wikipedia.org/wiki/Toru_Iwatani" rel="nofollow">Pac-Man was created in 1980, written by Toru Iwatani. </a>It’s a small game, running on laughable hardware. But it gave us a shorthand for a specific kind of play—iconographic, silly. The gameplay of Centipede was better, but the story (a gnome that shoots bugs) was vague; the gameplay of Missile Command crawled but the narrative was incredibly bleak.</p><p name="43bd">Pac-Man was a chase, a Tom and Jerry cartoon. It presented a perfect inversion where, upon eating a certain kind of dot, the prey became predator. It took over a year to develop, and a great deal of thought went into the player’s psychology, the fact that they would empathize with the yellow circle of Pac-Man.</p><p name="3931">Here’s <a target="_blank" href="http://programmersatwork.wordpress.com/toru-iwatani-1986-pacman-designer/" rel="nofollow">Iwatani in 1986</a>, talking about ghost attacks:</p><blockquote name="9bfe">When a human being is constantly under attack like this, he becomes discouraged. So we developed the wave-patterned attack–attack then disperse; as time goes by the ghosts regroup and attack again. Gradually the peaks and valleys in the curve of the wave become less pronounced so that the ghosts attack more frequently.</blockquote><p name="9753">The mechanics of the game aligned to some primitive reptile-brain sense of narrative. <em>Run eat run eat run eat KILL EAT KILL EAT KILL EAT KILL run eat run eat run. </em>The music burrowed into the mind, so much so that a whole generation can hear the theme music…</p><blockquote name="2359" class="pullquote">Doo-do-doo-doo-dudla-doop<br>Doo-do-doo-doo-dudla-doop<br>Doo-do-doo-doo-dudla-doop<br>Doodla-doodla-doodla-doodla-doop<br>—Pac-Man Theme Song</blockquote><figure name="55d7"><div class="iframe-container"><iframe data-width="640" data-height="480" width="640" height="480" src="/media/a4f2df3c9e2be2272045fa79eedcb3a8?maxWidth=640" data-media-id="a4f2df3c9e2be2272045fa79eedcb3a8" frameborder="0"></iframe></div><figcaption class="image-caption">https://www.youtube.com/watch?v=BxYzjjs6d1s</figcaption></figure><p name="a720">Pac-Man machines ran on solid-state technology; they had no moving parts and operated for decades. The game itself seeped out into every aspect of pop culture: wind-up toys, watches, rip-offs galore, plush toys, a terrible animated cartoon, featuring a Pac-Baby. It even showed up in <a target="_blank" href="http://www.gocomics.com/bloomcounty/1983/02/27/#.U1ptwuZdVU4" rel="nofollow"><em>Bloom County</em></a><em>.</em></p><p name="9238">It was in every way a fad, but nonetheless people kept plowing quarters into Pac-Man machines for years; they became one of the steadiest earners at arcades. Namco, the game’s distributor, today offers a collected version of Pac-Man games and its derivants, like Ms. Pac Man, bundled together into something called “<a target="_blank" href="http://www.bandainamcogames.com/game/pac-man-museum.html" rel="nofollow">Pac-Man Museum</a>”—its place in the canon has become part of its marketing. Echoes of its gameplay show up anywhere a joystick is used. And the image of a pie missing a slice has become a universal symbol for “video game”; <a target="_blank" href="https://www.youtube.com/watch?v=pIrvpn3k9A4" rel="nofollow">people dress up and run around in Pac-Man costumes</a>. And it’s remained <a target="_blank" href="http://vimeo.com/64586136" rel="nofollow">part of the culture</a> for 34 years.</p><h2 name="272e"><strong>Bell Labs Unix</strong></h2><figure name="39f2"><div class="aspect-ratio-placeholder aspect-ratio-locked" style="max-width: 700px; max-height: 561px;"><div class="aspect-ratio-fill" style="padding-bottom: 80.10000000000001%;"></div><img data-image-id="1*3hGB-r63bpQ7nZ5JbFmxeA.jpeg" data-width="1498" data-height="1200" data-action="zoom" data-action-value="1*3hGB-r63bpQ7nZ5JbFmxeA.jpeg" src="https://d262ilb51hltx0.cloudfront.net/max/800/1*3hGB-r63bpQ7nZ5JbFmxeA.jpeg"></div><figcaption class="image-caption">This became your Mac. Dennis Ritchie (standing) and Ken Thompson at a PDP11 computer in the 1970s. (CC licensed; via: <a target="_blank" href="http://commons.wikimedia.org/wiki/File:Ken_Thompson_%28sitting%29_and_Dennis_Ritchie_at_PDP-11_%282876612463%29.jpg" rel="nofollow">http://commons.wikimedia.org/wiki/File:Ken_Thompson_(sitting)_and_Dennis_Ritchie_at_PDP-11_(2876612463).jpg</a>)</figcaption></figure><p name="e22a">Unix is an operating system, which means it’s a set of programs that run <em>other</em> programs on a computer. It’s part of what’s inside your Macintosh computer running Mac OS X, and it’s what runs many of the servers that you access on the web. It’s also inside billions of phones. The open-source operating system Linux is a kind of Unix, and <a target="_blank" href="http://bellard.org/jslinux/" rel="nofollow">you can run Linux inside of a web browser now</a>, because everything can be everything else in the land of computers. So if you want to take Unix for a spin, <a target="_blank" href="http://bellard.org/jslinux/" rel="nofollow">go to.</a></p><p name="f164">Unix was born at Bell Labs in 1969. What it offered over its predecessors was: As little as possible. It came with a few handfuls of tiny little programs and then assumed that people would want to chain all those programs together (“piping” the output of one program into the input of another). It just didn’t make that many assumptions about what people wanted. (“Perhaps paradoxically,” wrote its creators, “the success of the Unix system is largely due to the fact that it was not designed to meet any predefined objectives.”)</p><p name="2a3e">Unix is best-known for its command-line “shell.” Here’s a Unix shell program that makes a list of the top ten words in this Medium post; it’s okay if your eyes glaze over:</p><pre name="1fc6">cat medium_post.txt | tr &#39; &#39; &#39;\n&#39; | tr -d &#39;[:punct:]&#39;   \<br>| tr &#39;[:upper:]&#39; &#39;[:lower:]&#39; | sort | uniq -c           \<br>| sort -nr | tail -n+10 | head -30                      \<br>| column -c 60</pre><p name="a6e5">It looks like gobbledygook if you’ve never used Unix, but it’s actually a simple set of tools chained together (I placed an explanation in a comment above if you’re curious what it all means). Anyone who takes a week and learns about Unix shells will understand what’s happening here.</p><p name="788e">That’s a ton of power available to users for very little trade-off in time and energy; it’s not <em>easy</em> but it’s extremely <em>powerful </em>and not that hard to learn<em>. </em>Here’s what that command spits out, above:</p><pre name="73f3"> 45 that       17 unix       13 one<br> 33 its        16 on         13 into<br> 33 for        16 has        12 time<br> 27 software   15 was        12 not<br> 26 as         15 office     11 they<br> 25 but        14 this       11 pacman<br> 21 people     14 so         10 world<br> 21 are        14 more       10 photoshop<br> 19 about      14 an         10 language<br> 18 at         13 with       10 ideas</pre><p name="81eb">In 1983, when Pac-Man was three, the Association for Computing Machinery gave Dennis Ritchie and Ken Thompson, the inventors of Unix, the Turing Award, which is the biggest award in computing. <a target="_blank" href="http://amturing.acm.org/award_winners/ritchie_1506389.cfm" rel="nofollow">The ACM wrote</a><a target="_blank" href="http://the%20success%20of%20the%20unix%20system%20stems%20from%20its%20tasteful%20selection%20of%20a%20few%20key%20ideas%20and%20their%20elegant%20implementation.%20the%20model%20of%20the%20unix%20system%20has%20led%20a%20generation%20of%20software%20designers%20to%20new%20ways%20of%20thinking%20about%20programming.%20the%20genius%20of%20the%20unix%20system%20is%20its%20framework%2C%20which%20enables%20programmers%20to%20stand%20on%20the%20work%20of%20others./" rel="nofollow">:</a></p><blockquote name="22cf">The success of the UNIX system stems from its tasteful selection of a few key ideas and their elegant implementation. The model of the Unix system has led a generation of software designers to new ways of thinking about programming. The genius of the Unix system is its framework, which enables programmers to stand on the work of others.</blockquote><p name="c820">True. You read <a target="_blank" href="http://pdos.csail.mit.edu/6.828/2004/readings/ritchie74unix.pdf" rel="nofollow">the documentation for early versions of Unix</a> it’s all very simple and plain-spoken, if pretty wonky. Here’s the original paper from 1974, if you’re interested:</p><figure name="6885"><div class="iframe-container"><iframe data-width="600" data-height="780" width="600" height="780" src="/media/26d8ede03d0c3de78f934e19d11ed6b6?maxWidth=600" data-media-id="26d8ede03d0c3de78f934e19d11ed6b6" frameborder="0"></iframe></div><figcaption class="image-caption"><a target="_blank" href="http://pdos.csail.mit.edu/6.828/2004/readings/ritchie74unix.pdf" rel="nofollow">http://pdos.csail.mit.edu/6.828/2004/readings/ritchie74unix.pdf</a></figcaption></figure><p name="5edd">There’s a sad tendency in most manuals and programming guides to congratulate people simply for thinking. Not here; you’re expected to think. That can be very exciting when you’re used to being patronized, and it’s one of the best things about Unix.</p><p name="7ae8">The people who invented Unix were not trying to teach you how to use a computer as we understand computers today; rather, they were educating professionals as to the best way to operate an incredibly heavy and expensive piece of industrial equipment. The 1974 paper says that you can run Unix on cheap computers, computers that cost as little as $40,000 ($202,000 in 2014.) Right now there are two Unix workstations in my closet that cost $35 each.</p><blockquote name="033a" class="pullquote">The phone company gave birth to Unix. Now there is no phone company and Unix runs on your phone.</blockquote><p name="6cdb">Mass production and cheaper technology have changed almost everything about how we use computers—but not quite. Some fundamental ideas about software are the same, four decades later. Unix made it easy for computer people to talk about computing, and it still does.</p><h2 name="0806"><strong>GNU Emacs</strong></h2><figure name="74a1"><div class="aspect-ratio-placeholder aspect-ratio-locked" style="max-width: 700px; max-height: 440px;"><div class="aspect-ratio-fill" style="padding-bottom: 62.9%;"></div><img data-image-id="1*8-wuASRTy7aIvkXuTCk3pg.png" data-width="2062" data-height="1296" data-action="zoom" data-action-value="1*8-wuASRTy7aIvkXuTCk3pg.png" src="https://d262ilb51hltx0.cloudfront.net/max/800/1*8-wuASRTy7aIvkXuTCk3pg.png"></div><figcaption class="image-caption">Looks like fun!</figcaption></figure><p name="3dcf">Finally, <a target="_blank" href="http://www.gnu.org/software/emacs/" rel="nofollow">GNU Emacs</a>. This is my text editor—meaning that it’s emphatically not a word processor, but rather a tool for dealing with pure text, such as programming languages. There are other text editors, like <a target="_blank" href="http://www.vim.org/" rel="nofollow">Vim</a>, and there are passionate debates over which is best. But it’s not simply in its ability to wrangle words on screen that Emacs excels; it’s that each letter you type is not simply part of a file but rather a dynamic entity that can be manipulated, enhanced, compared, and transformed.</p><p name="ba99">The program’s name is tricky. The “GNU” means that it’s a project of the <a target="_blank" href="http://www.gnu.org/" rel="nofollow">GNU Foundation</a>, and stands for “GNU’s Not Unix” (a recursive acronym—nerds). Explaining <em>why </em>GNU’s Not Unix would ruin your afternoon; just assume it has to do with powerful feelings felt by programmers in the early 1980s.</p><p name="6741">“<em>Emacs</em>” is a contraction of “Editor MACroS.” Macros are little rules, sort of mini-programs. So—stay with me—<em>Emacs</em> started as a set of macros built on top of <em>TECO</em>, which was born in the 1960s and stood for <strong><em>T</em></strong><em>ape </em><strong><em>E</em></strong><em>ditor and </em><strong><em>CO</em></strong><em>rrector</em>, because it let you edit things on magnetic tapes. People used it at MIT.</p><p name="2a4e">People started messing with TECO and adding macros, and then a man named <a target="_blank" href="http://stallman.org/" rel="nofollow">Richard Stallman</a> and another man named <a target="_blank" href="http://en.wikipedia.org/wiki/Guy_L._Steele,_Jr." rel="nofollow">Guy Steele, Jr.</a>, wrapped all of that up into a new program called Emacs. That was in 1976. Later, Emacs was very conspicuously <a target="_blank" href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Distrib.html" rel="nofollow">made freely available to all</a>—one of the first programs to be licensed so that anyone could <em>change</em> the code, but no one could <em>take the code away</em> from the community.</p><figure name="44a8"><div class="aspect-ratio-placeholder aspect-ratio-locked" style="max-width: 700px; max-height: 568px;"><div class="aspect-ratio-fill" style="padding-bottom: 81.10000000000001%;"></div><img data-image-id="1*hnQ8Sep6KacI33b4bjYnrA.png" data-width="1726" data-height="1400" data-action="zoom" data-action-value="1*hnQ8Sep6KacI33b4bjYnrA.png" src="https://d262ilb51hltx0.cloudfront.net/max/800/1*hnQ8Sep6KacI33b4bjYnrA.png"></div><figcaption class="image-caption">Typical emacs working session</figcaption></figure><p name="c8df">What makes Emacs different is that it’s not so much a program as an editor-development toolkit. It provides an entire programming language for doing what it does, called <em>Emacs</em> LISP (elisp). You don’t need to program in elisp to use Emacs, but it’s there if you want to try something new. It’s absolutely, infinitely extensible.</p><p name="3c0a">Since 1976 the community around Emacs has been accreting little elisp programs into its standard library—thousands of them—that perform an extraordinary range of software tasks. When you download and use the program they are already installed, ready to use, and you can get yet more of them on the Internet. There are calendar programs and outliners, a version of Tetris that is perfectly usable, a text adventure, tools for searching and replacing through thousands of files, and on and on, all built up together. As you work, whether writing code or writing prose, <em>Emacs </em>is constantly trying to guess what your text means; it tries to intuit what you want and what you mean. Being as it’s edging on 40 years old, it knows quite a bit.</p><p name="a8a8">There are <em>modes </em>for different languages. You switch from one mode to another depending on what you’re doing. There’s txt-mode for editing text, js2-mode for editing JavaScript code, outline-mode for editing outlines, and modes built <em>atop</em> those. Different commands mean different things in these modes. The nature of editor shifts slightly depending on what you’re doing. But because all of these modes exist and are well understood by hundreds of thousands of people, when new technologies and programming languages arrive, Emacs responds—often very quickly. There are modes for just about every programming language in common use, and for dozens that are not in common use at all.</p><p name="c2c5">You can see all the code that has gone into this because it is open-sourced. The code history of Emacs <a target="_blank" href="https://github.com/mirrors/emacs/commits/master?page=3746" rel="nofollow">goes back 29 years</a> on Github. You can skim over that code (it would take years to read it all) and see programmers coming and going, see how Emacs reacted, as a community and as a piece of software, to the incredible rate of change around it. Emacs provably represents literally decades of continual, community contemplation of a solitary question: <em>What does it mean to create with words and symbols?</em></p><h2 name="4108">Conclusion</h2><figure name="923a"><div class="aspect-ratio-placeholder aspect-ratio-locked" style="max-width: 700px; max-height: 525px;"><div class="aspect-ratio-fill" style="padding-bottom: 75.1%;"></div><img data-image-id="1*3BnE5N-XmKZCK1IzsGHQ_A.jpeg" data-width="710" data-height="533" data-action="zoom" data-action-value="1*3BnE5N-XmKZCK1IzsGHQ_A.jpeg" src="https://d262ilb51hltx0.cloudfront.net/max/800/1*3BnE5N-XmKZCK1IzsGHQ_A.jpeg"></div><figcaption class="image-caption">Planetary, an iPad app acquired by the Cooper Hewitt design (image from <a target="_blank" href="http://www.cooperhewitt.org/object-of-the-day/2013/08/26/planetary-collecting-and-preserving-code-living-object" rel="nofollow">http://www.cooperhewitt.org/object-of-the-day/2013/08/26/planetary-collecting-and-preserving-code-living-object</a>)</figcaption></figure><p name="9449">Canons are tricky things. There are pieces of software—like the <a target="_blank" href="http://en.wikipedia.org/wiki/Internet_protocol_suite" rel="nofollow">TCP/IP stack</a> that allows computers to communicate on the Internet—that have fundamentally changed global culture. The legendary <a target="_blank" href="http://en.wikipedia.org/wiki/TeX" rel="nofollow">programming language TeX</a>, used to prepare typeset documents, has been around for decades and has a massive community. And of course many other massively popular software products that are worthy of consideration. I expect that people will leave comments to that effect.</p><p name="a872">Not long ago <a target="_blank" href="http://www.cooperhewitt.org/object-of-the-day/2013/08/26/planetary-collecting-and-preserving-code-living-object" rel="nofollow">the Cooper-Hewitt Design Museum (part of the Smithsonian) </a>acquired an iPad app called <em>Planetary </em>for its collection:</p><blockquote name="3d1d">With Planetary we are hoping to preserve more than simply the vessel, more than an instantiation of software and hardware frozen at a moment in time: Commit message <a target="_blank" href="https://github.com/cooperhewitt/Planetary/commit/fd247e35de9138f0ac411ea0b261fab21936c6e6" rel="nofollow">fd247e35de9138f0ac411ea0b261fab21936c6e6</a> authored in 2011 and an iPad2 to be specific.</blockquote><p name="d68e">Translated from moon language, this means that goodly museum people acquired this app as an art object—as a set of code and graphical assets and sounds as they were assembled at a specific moment in time (“commit message”) on a specific platform (“iPad2”).</p><p name="7753">Museums have a tricky time of it, because they need to put pins in things, assign names and numbers, and integrate them into larger historical collections. In acquiring Planetary, the Cooper-Hewitt was (very consciously) asking the question: What kind of art is software? How do we name it? Their work is like the work of lexicographers, who must try to encapsulate spoken language into dictionaries, even though language is huge, changing, and ever-moving, like clouds. It’s impossible but also incredibly useful.</p><p name="7797">But software is a unique art because it is so reactive. Not just on the screen but over time, as programs adapt and change with the culture—a culture they help define. Software provides identity (consider the Linux user, the web zealot, the “Unix greybeard”), a sense of affiliation and shared experience. The greatest works of software are not just code, or programs but social, expressive, <em>human </em>languages. They give us a shared set of norms and tools for expressing our ideas about words, or images, or software development. Great software gives us tremendous freedom, as long as we work within its boundaries.</p></div></section></div></div><div class="post-footer-actions post-supplemental layout-single-column"><div class="btn-set"><button class="btn btn-large btn-toggle btn-primary btn-suffix recommend-button no-user-select "data-action="sign-in-prompt"data-requires-token="true"data-popover-type="sign-in"data-redirect="/_/vote/message/705b87339971"data-popover="Sign in to recommend" data-popover-position="bottom" data-popover-signin-type="recommend"title="Recommend this post"><span class="icons icons-heart"></span><span class="btn-label recommend-button-label" data-suffix="ed">Recommend</span></button><div class="vote-widget"></div><div class="post-footer-secondary-actions"><a class="btn btn-chromeless" title="Share this post on Twitter" data-action="share-on-twitter" data-action-value="705b87339971"><i class="icons icons-twitter"></i></a><a class="btn btn-chromeless" title="Share this post on Facebook" data-action="share-on-facebook" data-action-value="705b87339971"><i class="icons icons-facebook"></i></a></div></div></div><div class="post-follow-ups post-supplemental layout-single-column"></div><div class="post-footer-cards post-supplemental layout-single-column"><div class="layout-multi-column-half"><h4 class="cards-heading">Written by</h4><ul class="cards"><li class="card card-user"><div class="card-image"><a href="/@ftrain" title="Go to the profile of Paul Ford" ><img src="https://d262ilb51hltx0.cloudfront.net/fit/c/190/190/0*5MUGve9BqcUb2vLq.png" class="card-avatar" title="Paul Ford"></a></div><div class="card-content"><h3 class="card-name"><a href="/@ftrain" data-id="168dab556633" title="Go to the profile of Paul Ford" rel="author" class="link link-primary">Paul Ford</a></h3><p class="card-description">(1974– ) Writer, editor, programmer. Working on a book about web pages for FSG. Contact <a rel="nofollow" target="_blank" href="mailto:[email-masked]">[email-masked]</a> if you spot a typo.</p><div class="btn-set"><button class="btn btn-small btn-follow btn-toggle btn-suffix btn-primary no-user-select "data-action="sign-in-prompt"data-requires-token="true"data-popover-type="sign-in"data-redirect="/_/subscribe/user/168dab556633"data-popover="Sign in to follow this user" data-popover-position="bottom" data-popover-signin-type=""><span class="btn-label follow-label" data-suffix="ing">Follow</span></button></div><div class="card-additional"><div class="card-description-additional card-published"><span>Published</span> <span><time class="post-date">April 30, 2014</time></span></div><div class="post-collaborators"><span class="post-collaborators-heading" data-tooltip="The following people helped Paul Ford with this post by adding notes to provide feedback before the post was published.">Thanks to:</span> <span class="post-collaborator-item post-collaborator-visible"><a class="post-collaborator-link link " href="/@quinnnorton">Quinn Norton</a></span><span class="post-collaborator-item post-collaborator-visible"><a class="post-collaborator-link link " href="/@katelaurielee">Kate Lee</a></span><span class="post-collaborator-item post-collaborator-visible"><a class="post-collaborator-link link " href="/@waxpancake">Andy Baio</a></span><span class="post-collaborator-item post-collaborator-visible"><a class="post-collaborator-link link " href="/@robinsloan">Robin Sloan</a></span><span class="post-collaborator-item post-collaborator-visible"><a class="post-collaborator-link link " href="/@zeynep">Zeynep Tufekci</a></span><span class="post-collaborator-item post-collaborator-visible"><a class="post-collaborator-link link " href="/@zephoria">danah boyd</a></span></div><div class="post-footer-cover-caption"><span class="post-footer-cover-caption-heading">Cover photo:</span> A DEC PDP-11 computer, from Wikipedia Commons. Photo by “Shieldforyoureyes Dave Fischer” under the Creative Commons Attribution-Share Alike 3.0 Unported license. http://commons.wikimedia.org/wiki/File:Pdp-11-70-panel.jpg</div></div></div></li></ul></div><div class="layout-multi-column-half"><h4 class="cards-heading">Published in</h4><ul class="cards"><li class="card card-collection"><div class="card-image"><a href="/message" title="Go to The Message"><img class="card-collection-image" alt="Go to The Message" src="https://d262ilb51hltx0.cloudfront.net/fit/c/160/160/1*A4gr9zR7s1_L2khTRq94fA.jpeg" /></a></div><div class="card-content"><h3 class="card-name"><a href="/message" title="Go to The Message" data-collection-slug="message" data-id="81c7d351c056" class="link link-primary">The Message</a></h3><p class="card-description">A Pandaemonium Revolver Collection by @anildash @craigmod @fimoculous @ftrain @jomc @page88 @pomeranian99 @quinnnorton @robinsloan @waxpancake @zephoria @zeynep</p><div class="btn-set"><button class="btn btn-small btn-follow btn-toggle btn-suffix btn-primary no-user-select "data-action="sign-in-prompt"data-requires-token="true"data-popover-type="sign-in"data-redirect="/_/subscribe/collection/message"data-popover="Sign in to follow this collection" data-popover-position="bottom" data-popover-signin-type=""><span class="btn-label follow-label" data-suffix="ing">Follow</span></button><button class="btn btn-small btn-link" data-action="show-other-collections">Also in 16 collections</button></div></div></li></ul></div></div></div></div></div></section><footer class="post-footer post-supplemental"></footer></article></div></div></div><div class="loading-bar"></div><script>// <![CDATA[
// ]]></script></body></html>
!EOF!-705b87339971
exit 0