0%

GitHub_Arctic_Code_Vault:_Tech_Tree

Introduction: A Guide To The Tech Tree

What follows, which we call the Tech Tree, is a selection of works intended to describe how the world makes and uses software today, as well as an overview of how computers work and the foundational technologies required to make and use computers. The purpose of the GitHub Archive Program is to preserve open source software for future generations. This implies also preserving the knowledge of other technologies on which open-source software runs, along with a depiction of the open-source movement which brought this software into being.

In addition to this technical documentation, we have also included a selection of artistic, cultural, and historical works, to help describe the overall cultural context in which this archive was created, and a series of dictionaries, to aid translation into several of the world’s most widespread other languages.

This initial version of the Tech Tree will consist almost entirely of copies of pre-existing works, none of which were written for an unknown audience a long way into the future. As such it is not so much a guide as a collection of resources that we hope will be historically interesting and/or useful. We have tried to strike a balance between abstract/theoretical and concrete/practical work, and to provide at least an overview of the entire technical stack on which modern software engineering rests.

Please note that this document is currently a loose “wish list” of works that we may like to include, which we are making public for the purpose of actively soliciting further suggestions and input, rather than a finalized register of selected works. Note also that the prospect of copying works onto microfilm in a human-readable form implies both potential copyright issues and the practical consideration of acquiring a copyable digital version of the work in question. Certain publishers (Packt, O’Reilly, Springer, and Wiley) have indicated they are happy to work with us, while the status for most other publishers and copyright holders remains indeterminate.

The proposed Tech Tree is loosely divided into the following sixteen sections:

  1. Fundamentals of computing and the Internet: the essentials of how computers work, and, at least as important to today’s world, how they are connected together into a single planetary network which includes most of the computers on Earth.
  2. Algorithms and data structures: processes, sets of rules, and methods of arranging data to solve common categories of problems in efficient ways. Metaphorically, algorithms are the intelligence in a software program, and data structures are its storage.
  3. Compilers, assembler, and operating systems: how written source code becomes the machine code which causes the electrical signals inside a computer to change in a controlled manner, and the theory of operating systems, the software which supports a computer’s basic functions and provides the fundamental, low-level functionality that all other software ultimately calls upon.
  4. Programming languages: some of the world’s most popular and widely used programming languages described in detail. While, fundamentally, any program can be written in any language, certain languages are better or worse at particular tasks.
  5. Networking and connectivity: how computers connect to one another, via physical wires and radio signals, both one-on-one and in larger networks. Includes descriptions of the structure of the global “network of networks” known as the Internet, which connects most of the computers on Earth.
  6. Modern software development: the processes and procedures of dealing with software projects, tools, and services at scale, with constant monitoring and communication, at assured levels of quality.
  7. Modern software applications: in-depth description of applications such as Web development (the Web is, essentially, that part of the Internet used to display output and receive input from human beings); scientific research and analysis; image processing; pattern recognition and generation via neural networks; software distributed across many different computers; cryptocurrencies, which can be used as a platform for trustless decentralized software; and the new field of quantum computing.
  8. Hardware architectures: the concepts, structures, and layout of computer hardware. Hardware refers to physical electronic components; hardware architecture refers to how those components are structured and connected in order to run software; and software ultimately becomes ephemeral patterns of electricity within those physical components.
  9. Hardware development: how to build simple computers from collections of electronic components, along with technical descriptions of drones, robots, and digital cameras.
  10. Electronic components, transistors, semiconductor manufacturing: those electronic components which predated computers, along with individual transistors, the component from which computers are made, and an overview of the technologies and processes of fabricating interconnected transistors at scale.
  11. Electricity, radios, and other industrial technologies: fundamental pre-computer technologies, regarding generating usable electrical power, transmitting it over wires, using it to convey information without wires over great distances via radio, and basic industrial metalworking.
  12. Pre-industrial technologies: technologies of eras which predated electricity.
  13. Women and technology: an overview of the oft-erased role of women in the development of software and other technologies.
  14. Languages: a dictionary of English along with translational dictionaries intended to help readers convert from English to Arabic, Chinese, Hindi, and Spanish, the world’s other four most-used languages.
  15. Arts, culture, and history: human histories and changing human cultures, mostly through the lens of celebrated fictional narratives written over the last 150 years.
  16. Cultural context: information about humanity at the time the Tech Tree was created; in particular, a snapshot of Wikipedia, a collectively generated repository of all sorts of information about our world. Due to Wikipedia’s enormous size, this section is provided as encoded data, like the rest of the archive, rather than as visual/readable pages.

The first seven sections are devoted to software, the purpose and content of the GitHub Arctic Code Vault, and its uses and applications. The next five sections describe the technologies required to construct computers on which software might run. The remaining three are intended to illustrate the human context in which these technologies have been developed, the stories the cultures of our era told, the languages in which we told them, and the factual background and descriptions of the world in which we lived.

The Tech Tree is part of the much larger GitHub Arctic Code Vault. As such, it also includes, as an appendix, visual copies of the Guide to the GitHub Code Vault, along with an index of the archive’s fifteen thousand most significant code repositories, including brief descriptions and locations within the archive.

It is perhaps worth noting that our advisory board stressed that ours is likely to be the best-documented era in human history by far, so bundling the Tech Tree with the archive is likely to be more convenient than essential for its inheritors. As such, it is entirely possible – indeed quite likely – that its value will consist largely of providing context regarding the era and culture in which the archive was created, rather than as a source of new and unavailable knowledge, though of course there are imaginable futures in which it plays the latter role.

What follows is a brief summary of each section, describing both the general topics it covers, and the works the Tech Tree includes to document our current understanding of those topics.

Fundamentals of computing and the Internet

These books describe what computers are, from the silicon up – electricity, transistors, binary logic, digital gates, bits, bytes, chips, ALUs, microprocessors, software – as well as introducing what they can do. It also includes books which describe, at a high level, how computers can be connected together, and what that means. The works in question are:

The Pattern On The Stone by W. Daniel Hills (Basic Books)

But How Do It Know? by J. Clark Scott (John C Scott)

Code: The Hidden Language of Computer Hardware and Software by Charles Petzold (Pearson Education)

The Elements of Computing Systems: Building a Modern Computer from First Principles by Noam Nisan (MIT Press)

Tubes: A Journey To The Center Of The Internet by Andrew Blum (HarperCollins)

Introduction to Networking: How the Internet Works by Charles Severance, illustrated by Mauro Toselli and Aimee Andrion (Charles Severance)

Algorithms and data structures

These are the fundamentals of computer science, and hence the foundation of software engineering; describing how data is structured and stored, and the most effective and efficient ways in which it can be processed.

The Art of Computer Programming by Donald Knuth (Pearson)

Sequential and Parallel Algorithms and Data Structures by Peter Sanders, Kurt Mehlhorn, Martin Dietzfelbinger, Roman Dementiev (Springer)

Cryptography by Simon Rubinstein-Salzedo (Springer)

Introduction to Parallel Algorithms and Architectures by F. Thomson Leighton (Elsevier)

Mastering SciPy by Francisco J. Blanco-Silva (Packt)

Everyday Data Structures by William Smith (Packt)

Database Internals by Alex Petrov (O’Reilly)

Understanding MySQL Internals by Sasha Pachev (O’Reilly)

Physical Database Design by Sam S. Lightstone, Toby J. Teorey, and Tom Nadeau (Elsevier)

Learning MySQL and MariaDB by Russell J. T. Dyer (O’Reilly)

PostgreSQL Development Essentials by Manpreet Kaur, Baji Shaik (Packt)

Compilers, assembler, and operating systems

The purpose of the Archive Program is to preserve software, and these are the fundamental building blocks of software. These books help to explain how high-level written software becomes low-level electrical impulses:

Compilers: Principles, Techniques, Tools by Alfred V. Aho, Monica S. Lam, Ravi Sethi, and Jeffrey D. Ullman (Addison Wesley)

Practical Compiler Construction by Des Watson (Springer)

Engineering a Compiler by Keith Cooper and Linda Torczon (Elsevier) or Modern Compiler Design by Dick Grune, Kees van Reeuwijk, Henri E. Bal, Ceriel J.H. Jacobs, Koen Langendoen (Springer)

The Art of Assembly Language by Randall Hyde (No Starch)

Modern Assembly Language Programming with the ARM Processor by Larry D. Pyeatt (Elsevier)

Understanding the Linux Kernel by Daniel P. Bovet and Marco Cesati (O’Reilly)

Mastering Linux Kernel Development by Raghu Bharadwaj (Packt)

Programming languages

There are hundreds of programming languages; the enormous chart visualizing their evolution at the Computer History Museum is worth visiting if you’re a developer, and we don’t intend to document them all. Still, accessible book-length descriptions of a selection of the world’s major languages seems desirable.

Introducing Python by Bill Lubanovic (O’Reilly)

Comprehensive Ruby Programming by Jordan Hudgens (Packt)

LISP, Lore, and Logic by W. Richard Stark (Springer)

The C Programming Language by Kernighan and Ritchie (Pearson)

Learn C The Hard Way by Zed Shaw (Pearson) or Head First C by David Griffiths, Dawn Griffiths (O’Reilly)

The C++ Primer by Stanley B. Lippman, Josée Lajoie, and Barbara E. Moo (Pearson)

Programming Rust by Jim Blandy and Jason Orendorff (O’Reilly)

The Go Programming Language by Alan A. A. Donovan and Brian W. Kernighan (Pearson) or Head First Go by Jay McGavren (O’Reilly)

Learning Java by Patrick Niemeyer and Daniel Leuck (O’Reilly)

The Java Virtual Machine Specification by Tim Lindholm, Frank Yellin, Gilad Bracha, and Alex Buckley (Pearson)

Learning JavaScript by Ethan Brown (O’Reilly)

Mastering JavaScript Functional Programming by Federico Kereki (Packt)

Learning Swift by Jonathon Manning, Paris Buttfield-Addison, and Tim Nugent (O’Reilly)

Introducing Erlang by Simon St. Laurent (O’Reilly)

Clojure Programming by Chas Emerick, Brian Carper, and Christophe Grand (O’Reilly)

Networking and connectivity

Computers are great, but in a way, so 20th century; it’s networked computers which are, at least arguably, the real technical revolution of the 21st. As such our networking protocols and technologies deserve considerable attention. We might hope our inheritors will either have long surpassed our networking, or will have the freedom to design anew rather than be shackled by all the compromises we’ve needed to make for the sake of backwards compatibility but either way, hopefully they can learn something from what we’ve done. Which is described by:

Cabling: The Complete Guide To Copper and Fiber-Optic Networking by Andrew Oliviero and Bill Woodward (Wiley)

Ethernet: The Definitive Guide by Charles E. Spurgeon and Joann Zimmerman (O’Reilly)

Understanding TCP/IP by Alena Kabelová and Libor Dostálek (Packt)

TCP/IP Essentials by Shivendra S. Panwar, Shiwen Mao, Jeong-dong Ryoo, and Yihan Li (Cambridge)

Routing TCP/IP by Jeff Doyle and Jennifer DeHaven Carroll (Pearson)

DNS and BIND by Cricket Liu and Paul Albitz (O’Reilly)

BGP by Iljitsch van Beijnum (O’Reilly)

HTTP: The Definitive Guide by David Gourley, Brian Totty, Marjorie Sayer, Anshu Aggarwal, and Sailu Reddy (O’Reilly)

Implementing SSL / TLS Using Cryptography and PKI by Joshua Davies (Wiley)

Nginx HTTP Server by Martin Fjordvald and Clement Nedelcu (Packt)

sendmail by Bryan Costales, Claus Assmann, George Jansen, and Gregory Neil Shapiro (O’Reilly)

Programming Internet Email by David Wood (O’Reilly)

Computer and Information Security Handbook by John R. Vacca (Elsevier)

Modern software development

The line-by-line act of writing software is quite different from the team-by-team process of developing, testing, integrating, and deploying it. A few key approaches, tools, and roles are described here, including, for obvious reasons, unpacking Git itself.

Working in Public: The Making and Maintenance of Open Source Software by Nadia Eghbal (Stripe Press)

The Manager’s Path by Camille Fournier (O’Reilly)

Learning Agile by Andrew Stellman and Jennifer Greene (O’Reilly)

Pro Git by Scott Chacon and Ben Straub (Apress)

Professional Git by Brent Laster (Wiley)

Software Testing by Paul C. Jorgensen (CRC Press)

Agile Testing: A Practical Guide for Testers and Agile Teams by Lisa Crispin and Janet Gregory (Addison Wesley)

Refactoring by Martin Fowler with Kent Beck (Addison Wesley)

Patterns of Enterprise Application Architecture by Martin Fowler with Dave Rice, Matthew Foemmel, Edward Hiatt, Robert Mee, and Randy Stafford (Addison Wesley)

Effective DevOps by Jennifer Davis and Ryn Daniels (O’Reilly)

Accelerate: The Science of Lean Software and DevOps by Nicole Forsgren, Jez Humble, and Gene Kim (IT Revolution)

Continuous Delivery by Jez Humble and Dave Farley (Addison Wesley)

The Phoenix Project by Gene Kim, Kevin Behr, and George Spafford (IT Revolution Press)

DevOps Handbook: How to Create World Class Agility, Reliability, & Security in Technology Organizations by Gene Kim, Jez Humble, Patrick Debois, and John Willis (IT Revolution)

Site Reliability Engineering edited by Betsy Beyer, Chris Jone, Jennifer Petoff & Niall Richard Murphy (O’Reilly)

Designing Distributed Systems by Brendan Burns (O’Reilly)

Modern software applications

It would take a tech forest, not a tree, to even try to describe all of the uses to which software is put. However, some depictions of how individual projects and libraries are knit together into powerful networked applications seem valuable, as do overviews of e.g. virtualization, “big data” software, and especially machine learning.

Web development:

Web Development with Node and Express by Ethan Brown (O’Reilly)

Flask Web Development by Miguel Grinberg (O’Reilly)

RESTful Web APIs by Leonard Richardson, Mike Amundsen, Sam Ruby (O’Reilly)

Ruby on Rails Tutorial by Michael Hartl (Pearson)

Scientific computing:

Mastering Scientific Computing with R by Paul Gerrard and Radia M. Johnson (Packt)

Computer Vision and Image Processing by Linda Shapiro (Elsevier)

Image Processing: Principles and Applications by Tinku Acharya and Ajoy K. Ray (Wiley) –

Machine learning:

Deep Learning from Scratch by Seth Weidman (O’Reilly)

Fundamentals of Deep Learning by Nikhil Buduma and Nicholas Locascio (O’Reilly)

Practical Convolutional Neural Networks by Mohit Sewak, Md. Rezaul Karim, and Pradeep Pujari (Packt)

Generative Deep Learning by David Foster (O’Reilly)

Strengthening Deep Neural Networks by Katy Warr (O’Reilly)

Virtualization and containers:

Virtualization Essentials by Matthew Portnoy (Wiley)

Mastering Docker by Scott Gallagher (Packt)

Kubernetes: Up and Running by Brendan Burns, Joe Beda, and Kelsey Hightower (O’Reilly)

Spark: The Definitive Guide by Bill Chambers, Matei Zaharia (O’Reilly)

Pervasive Computing by Ciprian Dobre and Fatos Xhafa (Elsevier)

Reliability and scaling:

Database Reliability Engineering by Laine Campbell and Charity Majors (O’Reilly)

The Art of Capacity Planning by Arun Kejariwal and John Allspaw (O’Reilly)

Economics and sociotechnical systems:

The Economics of Information Technology by Hal Varian, Joseph Farrell and Carl Shapiro (Cambridge University Press)

Hardware architectures

The spectrum of complexity from a single analog transistor to a modern multicore processor is, needless to say, difficult to summarize. This section tries to describe the basics of digital circuits and microprocessors, along with a few key references, before going on to hardware architectures and hardware design languages.

Fundamental electronics and elements:

TTL Cookbook

CMOS Cookbook by Don Lancaster and Howard M. Berlin (Elsevier)

Foundations of Analog and Digital Electronic Circuits by Anant Agarwal and Jeffrey Lang (Elsevier)

Electronics Simplified by Ian Sinclair (Elsevier)

Complete Digital Design: A Comprehensive Guide to Digital Electronics and Computer System Architecture by Mark Balch (Wiley) –

Microprocessor Design by Grant McFarland (McGraw-Hill) –

Programming Microcontrollers in C by Ted VanSickle (Elsevier)

Introduction to Microprocessors and Microcontrollers by John Crisp (Elsevier)

Modern hardware architecture:

Fundamentals of Computer Organization and Architecture by Mostafa Abd-El-Barr and Hesham El-Rewini (Wiley) –

Computer Architecture by John L. Hennessy and David A. Patterson (Elsevier)

Microprocessor Architecture by Jean-Loup Baer (Cambridge) –

Hardware and Computer Organization by Arnold Ss. Berger (Elsevier)

Digital Design and Computer Architecture by Sarah Harris and David Harris (Elsevier)

Introduction to Parallel Processing by Behrooz Parhami (Springer)

HDLs:

IEEE Standard VHDL Language Reference Manual (IEEE)

IEEE Standard for SystemVerilog (IEEE)

VHDL 101 by William Kafig (Elsevier)

Example architecture details:

See MIPS Run, 2nd Edition by Dominic Sweetman (Elsevier)

Arduino: A Technical Reference by J. M. Hughes (O’Reilly)

RISC-V Specifications by the RISC-V International Technical Committee

ARM Architecture Reference Manual by ARM

Intel® 64 and IA-32 Architectures Software Developer’s Manuals by Intel

GPUs and FPGAs:

Reconfigurable Computing by Scott Hauck and André DeHon (Elsevier)

Learning FPGAs by Justin Rajewski (O’Reilly) –

Advanced FPGA Design by Steve Kitts (Wiley) –

Multicore and GPU Programming by Gerassimos Barlas (Elsevier)

Hardware development

Here we try to provide some examples and explanations of hardware development beyond that of computer I/O devices; imaging, drones, and robots.

Digital Computer Electronics by Albert P. Malvino and Jerald A Brown (Career Education)

Computer Time Travel by JS Walker (Oldfangled)

High Performance Silicon Imaging by Daniel Durini (Elsevier)

Getting Started With Drones by Terry Kilby and Belinda Kilby (Make)

Theory, Design, and Applications of Unmanned Aerial Vehicles by A.R. Jha (CRC Press)

Modern Robotics by Kevin Lynch and Frank Park (Cambridge University Press)

How to Make a Robot by Gordon McComb (Make)

Mastering ROS for Robotics Programming by Lentin Joseph (Packt)

Electronic components, transistors, semiconductor manufacturing

A more low-level analysis of fundamental electronic components and transistor-based circuitry, along with textbooks describing lithography and chip manufacturing. Obviously such manufacturing is essentially impossible to recreate from scratch (Moore’s lesser-known second law described how fabricator costs increase just as chip density decreases) but these works could conceivably be of historical or even practical significance.

Encyclopedia of Electronic Components by Charles Platt and Fredrik Jansson (Make)

Understanding Modern Transistors and Diodes by David L. Pulfrey (Cambridge)

Principles of Transistor Circuits by S W Amos and Mike James (Elsevier)

System Integration: From Transistor Design to Large Scale Integrated Circuits by Kurt Hoffman (Wiley)

Fundamental Principles of Optical Lithography by Chris Mack (Wiley)

Principles of Lithography by Harry J,. Levinson (SPIE)

Demystifying Chipmaking by Richard F. Yanda, Michael Heynes, and Anne Miller (Elsevier)

Fundamentals of Semiconductor Manufacturing by Gary S. May and Simon M. Sze (Wiley)

Fundamentals of Semiconductor Manufacturing and Process Control by Gary S. May and Costas J. Spanos (Wiley)

Semiconductor Manufacturing Handbook (both editions) by Hwaiyu Geng (McGraw-Hill)

Radio, television, and other industrial technologies

Descriptions of other technologies which have helped to define our era, ranging from electrical power grids to radio and television.

Practical Transformer Handbook by Irving Gottleib (Elsevier)

Electric Power Distribution Handbook by Thomas Allen Short (CRC) –

Inductors and Transformers for Power Electronics by Vencislav Cekov Valchev, Alex Van den Bossche (CRC)

Basic Radio by Ian Poole (Elsevier)

Radio-Frequency Electronics by Jon B Hagen (Cambridge) –

Newnes Guide to Radio and Communications Technology by Ian Poole (Elsevier)

Newnes Guide to Television and Video Technology by K. F. Ibrahim (Elsevier)

Satellite Communications Systems by Gerard Maral, Michel Bousquet, Zhili Sun (Wiley) –

Pre-industrial technologies

These are the works which address the “romantic catastrophe” image of the archive’s inheritors, who seek to reboot all of modern technological civilization from pre-industrial scratch. Such possible futures do exist, although they seem unlikely; furthermore, it seems possible that these works might help fill in gaps which arise in historical knowledge.

The Knowledge by Lewis Dartnell (Penguin)

The Story Of Writing by Andrew Robinson (Thames & Hudson)

Caveman Chemistry by Kevin Dunn (Universal)

The Backyard Blacksmith by Lorelei Sims (Crestine)

Practical Blacksmithing by M.T. Richardson (Weathervane)

Seeds: The Definitive Guide by Peter Loewer (Macmillan General Reference)

Materials Handbook by George S. Brady Henry R. Clauser, and John A. Vaccari (McGraw-Hill)

Build Your Own Metal Working Shop From Scrap Series by David Gingery (David Gingery)

Practical Self-Sufficiency by Dick and James Strawbridge (DK)

Where There Is No Doctor by David Werner (Hesperian)

Where There Is No Dentist by Murray Dickson (Hesperian)

Foxfire Books 1-6 by Eliot Wigginton (Anchor)

Oxford Handbook of Infectious Diseases and Microbiology by Estée Török, Ed Moran, and Fiona Cooke (OUP)

Women and Technology

We believe women’s unique role in founding and shaping computing and technology deserves its own section. Women’s erasure in the field has meant there aren’t always primary sources from the original time of contribution (like books authored by women), and historians are finding that women’s contributions have been quite significant. Including this section allows us to appropriately acknowledge the work. Special thanks to Mar Hicks; many references in this section borrow from their Women in Computing course at the University of Wisconsin-Madison. We also include literature discussing tech’s negative impact on women.

Ada’s Algorithm: How Lord Byron’s Daughter Ada Lovelace Launched the Digital Age by James Essinger (Melville House)

Programmed Inequality: How Britain Discarded Women Technologists and Lost Its Edge in Computing by Mar Hicks (MIT Press)

Saving Bletchley Park by Sue Black with Stevyn Colgan (Random House UK)

Pioneer Programmer: Jean Jennings Bartik and the Computer that Changed the World by Jean Jennings Bartik with editors Jon T. Rickman and Kim D. Todd (Truman University Press)

Hidden Figures: The True Story of Four Black Women and the Space Race by Margot Lee Shetterly (William Morrow Paperbacks)

Grace Hopper and the Invention of the Information Age by Kurt Beyer (MIT Press)

Gender Codes: Why Women are Leaving Computing by Thomas J. Misa (Wiley)

Languages

Our professional linguistic advice was that, contrary to popular belief, the drift of English syntax and grammar has slowed dramatically, and barring some massive catastrophe it’s very likely that English will both survive and be largely recognizable a thousand years from now. To hedge our bets, though, we have included a “Rosetta” guide translated into Arabic, Hindi, Spanish, and Chinese in every reel of the Archive, along with the Universal Declaration of Human Rights in every available written language, and will similarly include dictionaries and a couple of linguistic works here.

The Oxford Dictionary of English (OUP)

Oxford Picture Dictionary English-Arabic Edition (OUP)

Oxford Picture Dictionary English-Chinese Edition (OUP)

Oxford Picture Dictionary English-Spanish Edition (OUP)

The History Of Languages: An Introduction by Tore Janson (OUP)

Linguistic Diversity by Daniel Nettle (OUP)

Fiction, culture, and history

It is our belief that culture is often best expressed through great works of fiction. As such, we sought to assemble a list of notable literary works (including / beginning with a few books of nonfiction) to convey, on a human level, the history and culture of our time. These are:

Chapman’s Homer

The Complete Works of William Shakespeare

The Tale of Genji by Murasaki Shikibu

Crime and Punishment by Fyodor Dostoevsky

I, Claudius by Robert Graves

Star Maker by Olaf Stapledon

Things Fall Apart by Chinua Achebe (Penguin)

Brave New World by Aldous Huxley (Harper Perennial)

1984 by George Orwell (Signet Classics)

A Canticle For Leibowitz by Walter M. Miller Jr. (Spectra)

The Cairo Trilogy by Naguib Mahfouz (Everyman’s)

Cyberiad by Stanislaw Lem (Mariner)

The Moon is a Harsh Mistress by Robert Heinlein (Ace)

The Dispossessed by Ursula K. Le Guin (HarperCollins)

One Hundred Years Of Solitude by Gabriel García Márquez (Harper Perennial)

Parable of the Sower by Octavia Butler (Grand Central)

Wild Swans by Jung Chang (Simon & Schuster)

The Conservationist by Nadine Gordimer (Penguin)

The Book of the New Sun by Gene Wolfe (Tor)

Midnight’s Children by Salman Rushdie (Random House)

The Famished Road by Ben Okri (Anchor)

Beloved by Toni Morrison (Vintage)

A Place Of Greater Safety by Hilary Mantel (Holt)

Foucault’s Pendulum by Umberto Eco (Mariner)

Alias Grace by Margaret Atwood (Anchor)

Blood Meridian by Cormac McCarthy (Vintage)

The Stone Diaries by Carol Shields (Penguin)

The God of Small Things by Arundhati Roy (Random House)

The Wind-Up Bird Chronicle by Haruki Murakami (Vintage)

Anathem by Neal Stephenson (William Morrow)

2666 by Roberto Bolaño (Picador)

The Goldfinch by Donna Tartt (Little, Brown)

The Peripheral by William Gibson (Berkley)

A Short History of Nearly Everything by Bill Bryson (Broadway)

The Visual Display of Quantitative Information by Edward Tufte (Graphics Press)

Extraordinary Popular Delusions and the Madness Of Crowds by Charles Mackay

Cultural context

This section of the Tech Tree is intended to convey both useful practical information from our culture, and a depiction of what it was like at the time the archive was written. It will consist of encoded data, rather than imaged pages, largely because its centerpiece, a snapshot of Wikipedia, is far too large for the latter format.

Wikipedia, while not without its flaws and omissions, is the most readily available proxy for “a written summary of our world.” Note that this section is by no means intended as a complete depiction of humanity today: as our advisors stressed, this era is likely to be the best documented in all of human history, and such information is very unlikely to be difficult to find. Rather, it is intended as a convenience to indicate to the archive’s inheritors the specific, particular context of the era in which the archive was written.

This section will also include several other data sources recommended by GitHub’s community:

  • Wiktionary
  • Wikispecies
  • The File Formats Archive

The GitHub Arctic Code Vault

As the Tech Tree is a companion piece to the GitHub Arctic Code Vault, it will contain an index with the name, brief description, and film reel number for all of the GitHub repositories stored in the Arctic Code Vault, i.e. every active public GitHub repo as of 02/02/2020.

This index will also highlight the 15,000 GitHub repositories which are the most-starred or most-depended-on at the time the archive was written. (These are also the repositories which will be stored in the two-reel “greatest hits” subsets of the archive, to be kept with partners such as Oxford’s Bodleian Library and others.)

It is worth noting that every individual reel of the Arctic Code Vault also has its own index itemizing its contents, along with all of the instructions and information required to decode the information stored in that reel. This master index will be a superset of all of those indexes, to serve as a backup and a convenience for the archive’s inheritors.