The Complete Computer

Rebuild of The Complete Computer 0x01: You Can (Not) Compute

LifeTechEmacsArcology

This is part one of Rebuild of The Complete Computer , a project to build and manage a set of Linux systems using a plain-text web-publishing platform.

You Can (Not) Compute

This document and its related threads are the first part of a text-book or a work-book of sorts to build a computer and computer knowledge management system which could be wielded by a motivated individual or any community including one or two of motivated individuals.

I'll begin with laying out the over-arching theme of the Concept Operating System and the sort of community of computing I see using this operating system. I've developed a software daemon that can extract and process meta-data from a set of documents and use that data to provide higher-level capabilities and semantic understanding. Documents that contain executable code, have embbeded learning quizzes, with powerful task and project management abilities to boot. Over the course of a few thousand words we'll explore the principal ideologies of this system and then in part 0x02 and beyond you'll learn how to build your own and how I build mine.

Sub-chapters:

The Concept Operating system is an attempt to build a future of computing that is built around small communities of mutual aide. If I want to provide a chance for my friends to enjoy vertically-integrated hardware and cloud software which is privacy-preserving and liberty-enhancing, I have to putain that work and show them why it's good and how to use them. The Complete Computing Environment is the prototype of a Concept Operating System which is the off-ramp from the information superhighway of Google and Amazon and FacebbokWhatsAppInstagram.

Massive corporate platforms can solve a happy median for many users and usecases but they have decimated our ability to act and react locally and communally and on the edges of the bell-curves and bath tubs. These self-hosted, offline first, and locally trusted socio-technical systems may not be 10x, but it's a start. Perhaps, in a decade, my Concept Operating System has a dozen users and there are half a dozen other Concept Operating Systems with their own little communities around them, we could call this a success.

A High Level Overview of a Concept Operating System

The Concept Operating System is a set of published plain-text documents that can manage complex stacks of information. It takes documents written in a plain-text markup format called org-mode , extracts information from them and uses that meta-data to give your unique super powers. It lets its users share information with each other and the wider web. It lets its users de-couple from corporations that provide tools that limit choice and flexibility in order to up-sell marketing features. It costs 0$ in subscription fees, but instead costs time and power and privilege that can be amortized across a community.

  • Literally, It's a document operating system designed for quickly storing and recalling esoteric information, including code describing how the Concept Operating System itself is deployed and operated. This information is maintained inside of org-mode documents that document how they're used and how to change them, and you can read them . The code is exported for evaluation as you edit the documents and a single command re-constructs the system's basic state from first-principles. Meanwhile, conceptual information is distilled from documents and ebooks and the web and brought in to a system that is one part todo list, one part project management software, one part anki deck, and three parts esoteric libre software.

  • Figuratively, It's a concept album exploring the limits of literate programming and semi-public or communal thought-work, a collection of tools that fit each user's needs like a glove. Mine looks nearly illegible to most, and if you do it right yours will look nearly illegible to mine, but the underlying documents and knowledge should be accessible and perhaps portable.

  • Ultimately, It's a thinking-tool, external brain, and set of vertically-integrated recommendations whose tools and designs others can pick up and adapt, allowing a community to develop around small servers maintained by those in the community most willing and able to do so.

A Literal Concept Operating System

A decade ago or longer when I was a university student learning for the first time that I couldn't just fit all my problems and my whole life in my head, I encountered the idea "tools for thought" and started to build my own tools for thought moving from Google Tasks to todo.txt to evernote to home-brew [Semantic] MediaWiki install to taskwarrior to finally org-mode, a plain text document outlining format which also has a robust task management system in it anchored to an esoteric software with roots in the 80s.

As a "hardcore freestyle vimmer", a user of a different esoteric software with roots in the 80s, it was a tough transition toward Emacs and Org-mode, and it'll probably be a tough time for you. We can tame the beast though. For a long time I ran vim inside of a terminal embedded in Emacs with the org-mode agenda and task management and time-tracking tools split next to it. Eventually I found Evil Mode which started out basically good enough and ended up much more powerful than any of my hardcore freestyle vim plugins. You can bend Emacs to your will and few tools are as flexible or as powerful as emacs and its org-mode. In fact, I believe it can be made to be quite accessible for any computer user to learn, if your only need is a good Git UI and a "tangle and deploy these files" button. It doesn't have to feel like Emacs or Vim or any other editor but your own. Later, we'll see that this is a double-edged sword.

Throughout this time I was experimenting with form-factors of computing and building servers. I had to manage the state of more computers than I could keep in my head. Without the whole lifecycle of a software system in my head or on paper it's hard to come back to projects. I have dozens that I slowly chip away at. So I started writing a lot and I started to learn deployment automation and configuration management tools like Chef, Puppet, Ansible and finally Nix, all of which aimed in one fashion or another to commit something as ephemeral as what a computer ought to be doing to stone, to inscribe the will of the operator as law on a computer system or a few of them.

This penchant for codifying and documenting would extend past computing systems to design and decision-making systems have empowered me in a technology career and given my personal life and hobbies a set of extra powers, and I think it's possible for others to benefit from this. Notion and OneNote do not go far enough, especially when the work involves technical minutiae. You may be able to build a good Concept Operating System with Obsidian or LogSeq, but we're over here firmly in Emacs land, let me know if you do though.

This Concept Operating System gives its users a note-taking system with certain super powers. It lets you document computer systems and systems of knowledge.

A Figurative Concept Operating System

A concept album is an album whose tracks hold a larger purpose or meaning collectively than they do individually. This is typically achieved through a single central narrative or theme, which can be instrumental, compositional, or lyrical. Sometimes the term is applied to albums considered to be of "uniform excellence" rather than an LP with an explicit musical or lyrical motif. There is no consensus among music critics as to the specific criteria for what a "concept album" is.

(Wikipedia)

One of the things about being "the linux nerd" of your social group is that people who are "the linux nerds" of their social group and I hang out in chat rooms where we can all be linux nerds together, and we ask each other linux nerd questions. The Concept Operating System and the Complete Computer arose from a desire to be able to respond to questions with a URL. Even the group of linux nerds have an ur-nerd and I found myself often the person with the needlessly arcane knowledge to share.

And oh what power the URL conceals, the nuance of insight and subtext which Hypertext can reveal. Words, images, and links to other words, images, and links which anyone can author and publish.

How far can we get as a community if we build real hypertext systems? if the wiki could empower its users? if people could share context-rich information with each other safely? What if one or two motivated nerds could enable and support this for a community of dozens? This is a "concept album" of sorts, exploring what happens if a critical mass of personal and communal information is brought in to a system with meta-processing capabilities.

These documents can contain executable source code and their metadata can be extracted and used in other programs. This code and metadata can be used to add functionality to programs, to publish the documents to the web, to create reports and further calculate distilled information. Your documents can be more than text, and they should be more than text.

An Ultimate Concept Operating System

In the Rebuild of the Complete Computer you will learn to build a system which

  • can capture information from pages on the web, ebooks on your computer or ereader, and your brain, and give you tools and protocols to retain and correlate and further distill that information in to knowledge.

  • can build, deploy, and manage other systems, giving you an off-ramp from third party cloud services

  • turn computer reinstalls or the setup of new laptops from a process with a weeks' long tail of "oh right i forgot to install XYZ" in to a handful of terminal commands or buttons to click in documents.

This system has been developed over the course of roughly a decade now, by one Ryan Rix . I'll guide you through building your own and customizing it to your needs, and along the way we'll talk about what a community of free software and communal mutual aide can provide: an off-ramp to a world where computers powerful are user agents once again.

But what is the Concept Operating System

In short, the Concept Operating System is a set of documents that manage a Linux operating system and an Emacs text editor environment, a map and a terrain for you to implement your own. By following along with this document and future documents you'll build and maintain your own computing system built on top of NixOS and Linux. These documents describe a system of documents which will build upon and synthesize the author's existing Concept Operating System "The Complete Computing Environment". In the next section we'll take a look at each component of the Complete Computer and see what it provides and how we can evaluate each layer and ultimately build our own.

Who is a Concept Operating System for?

This system management philosophy was developed by and for someone who has been attracted to the Linux desktop since highschool, more than half a lifetime ago. In my current age, I feel like this is a necessary disclaimer. But you, even a fairly non-technical user, could and should be able to benefit from a Concept Operating System. You just need to find the right friends, and a bit of patience.

Running a server at home has never been easier, but of course keeping it running over a long stretch of time is still difficult. Most of my systems are now built using a somewhat terrible and difficult to learn programming language that generates heterodox linux systems that laugh in the face of the Filesystem Hierarchy Standard and what little packaging consensus the Linux distros have found. This thing is called Nix and it's generally used with a community-supported package repository called nixpkgs which is just a huge freaking GitHub repository that anyone with a GitHub account can contribute changes to.

But it's hard to learn and the design is subtle, so even high-level computer weirdos were off-put or left with a footgun induced crater rather than a Linux system. Yet it has more packages, more up to date packages, by number, than any other distro. Support for packaging all sorts of languages and package registries, building applications is a breeze once you wrap your head around mkDerivation. We could write a lot of documentation and lean on a lot of tutorial and example code for how to work with nixpkgs, this site is part of a growing corpus of a-priori information.

And for the rest of the world, there are some issues. There is not yet any iPhone app that will give you access to the meta-cognitive tools like ubiquitous Spaced Repetition Study or The Arcology Project 's social-web publishing system, and to expect the average American to dive in to Linux internals is to expect foolish outcomes.

What we do instead is to lean on an idea of a sort of small-scale vertical integration. A Concept Operating System should have a short list of enumerated supported hardware. It should ship a VM image that with minimal fuss and no Terminator Matrix Console Command B.S. which will allow a user access to the Concept Operating System. This requires a sense of community, and support, and mutual trust. We're building micro-communities where you can trust the home-cook to publish cool recipes for their friends and help them get better when the meal turns out wrong. We're building micro-communities that explain how a bike chain is maintained and how to change your car's oil. We're building micro-communities that support a heterodox in-house Linux distribution.

Everyone should have a website of their own, but not everyone needs a web server, or even necessarily a public domain. There has, for the history of the internet, been a constant pendulum swing between hand-written HTML and PHP uploaded via FTP clients -- to WYSIWYG Hypertext editors that try to give you high-level tools with only moderately illegible HTML source -- to static site generators -- to fancy site creation tools like Wix and Squarespace. This project swings us toward a hybrid space, plain text with super-powers shared over private links.

What if your computers joined a sort of social network and if they befriended a certain computer on that network, they could be set up to sync and publish documents and shitpost to the web by simply writing files to the local disk and waiting less than a minute? What if instead of a face-less corporation that dines on data for brunch, your computer talked to your cousin's publishing system over a private network, and you could read and access others' documents over that private network without ever dealing with technobabble like nginx or DNS or SSL certificates yourself?

This is the promise of the Concept Operating System: a system of computing that is vertically-integrated community computing. You buy or receive the hardware that is known to work with the system preinstalled, the hardware is long-lasting and on-site servicable, and receive support and automated updates through a private social computer network, and publish your thoughts and ideas and interesting bits of life to your friends and family in that same fashion. It's a network of systems that one or two motivated nerds can manage for a community of a dozen or two at most, and those nerds can share their heterodoxies and hacks with each other to build more resilient communities.

The Concept Operating System is a systems management philosophy that should allow me to support my family's computing needs for a decade or longer, and perhaps it could support your family's too if you wanted it to. I want to repurpose old hardware from the e-waste renewal shop and give them to my friends so that they can have weird computer powers and a robust and secure way to publish text to the internet.

NEXT The State of the Complete Computer and The Road Ahead

The Arcology self-hosts, the system builds, my machines have run this way for years, but I haven't bootstrapped it from scratch. I can use this thing, but it the configuration presented, especially the Emacs opinions, should be re-evaluated to provide a base system that others could use and build upon.

In the next chapter(s) we will walk through the system components from scratch by starting with a brand new Fedora VM.

More to come...

  • Goals of the Complete Computer will come later as the bootstrap becomes clear.

  • Challenges of the Complete Computer will come later as the bootstrap becomes clear.

  • How you can host communal website networks today

  • More in-depth explanation of the current system -> Rebuild of The Complete Computer 0x02: This Is (Not) Advanced