bibli

It was time for Fyndraxis to get to work. The Yurt thing looked like it was going to take the rest of the day, and with the way that time worked in the sword he could really make some progress on the Wendigo problem. With time crawling by outside, he could have weeks to pick at this project. He wanted to get back to Terra with something substantial tomorrow.
As luck would have it, he was already in his workshop pretty much ready to go. His first order of business would be to establish a UART connection with one of his specimens. The embedded software on these little bugs was a heavily modified version of a very standard operating system. The operating system in question was Linux.
Originally started as a school project by some Swedish dude over a Christmas vacation, Linux eventually gained enough popularity to quietly dominate the global software game. If you owned something that had a microchip in it, chances were pretty good that it ran a version of Linux. The reasons that it gained so much popularity were pretty straightforward. It was free, reasonably secure, and highly modifiable.
It would be impossible to talk about Linux without mentioning open source software, it being one of the most prevalent examples of this approach to software development. Let’s say you are extremely bored over a christmas vacation and feel like making an operating system that is based on the system that your school uses to run their mainframe. Luck has it that you are a very talented programmer that understands how a computer works and can pull off a feat of this nature with the resources available to you. You crack your knuckles and get to work. After a couple of days you have something that works pretty well. You are proud of this work(as you should be), so you share it with a couple of friends. These friends also think that this is incredibly cool. This demonstration of talent and mental prowess cannot go unanswered though. These friends modify the program that you sent them and all of a sudden it has more features. It becomes a more useful and functional piece of software.
Normally, under these circumstances the author of a piece of software like this would get all his buddies together and form a tech startup. People in finely tailored suits would line up to throw money at you and you would end up the CEO of a fortune 500 company by the time your beard comes in. This doesn’t happen though. This doesn’t happen because you are an idealist. You know deep down in your bones that the corporate world is bullshit and the last thing that you want to do is spend your life in a boardroom deciding corporate policy or dealing with the inevitable curse of middle management. All you want is software that works, not the inevitable obligation to an invisible pantheon of shareholders braying for quarterly profits.
Luckily, your buddies are all idealists too so nobody has some sort of legal freakout over intellectual property. If we follow this story to its logical conclusion, we end up with a free and feature rich operating system that anyone can modify to suit their needs.
Let’s try another quick hypothetical scenario. This time you will be a shortsighted numb-nut with delusions of environmental anarchism. You see a problem with the environment, there are far too many microplastics for life to be sustainable. Everybody keeps getting cancer and infertility is on the rise, it’s a real bummer. Luckily, at this point in history, nanotechnology is easy and cheap to get ahold of. You spend some time looking up how to make your own little nanobots. Building them is pretty easy, you design them on your computer and print them out no problem.
Once printed out, they don’t do anything. This is a problem. They are inert because they don’t have an operating system to tell them what to do. So what are you going to do? Build an operating system from scratch? No way. There are far too many meetings of the environmental anarchists club to attend. Those guys are total fascists when it comes to attendance. So what you do is find something free that is ready to go off the shelf. You pop a relevant version of Linux on your little projects, change a couple of config files and shazam! Global apocalypse.
At least that’s how Fyndraxis was pretty sure things went down at the end of the world. The point is, the operating system on these little units was a version of linux that was used exclusively for nanobots. Like any good open source software project, it hosts its source code on Github. Fyndraxis has a copy of the latest version of Github thanks to Terra. One cool thing about Github is that each project that is hosted on there comes with a helpful readme to tell you how to use said project.
Another thing that these projects have are a handy list of bugs and technical problems that the team working on it should solve. Some of these bugs are little things like not being able to install it correctly on a certain specific piece of hardware. Others are complaints about big fat security holes. Fyndraxis was hoping to find one of those. He didn’t have to look all that far.
Security is a tricky thing and Linux is very conscious of that fact. There were once people who devoted their entire lives and careers to the study of it. The way that Linux is set up, you need to have permission to do things like read a file or execute some code. If you don’t have permission to do it, you are simply out of luck. Because of the nature of computers, they need to have a user to do anything. They aren’t blessed with a spirit that moves them to do arbitrary things like shoot radio waves out into the universe or denude the entire environment of microplastics.
Fyndraxis, who is a computer that also happens to run Linux, is logged in to himself as user Fyndraxis. This user has a constellation of permissions. He can run code and read files in his own little sandbox, but he can’t do the big stuff like delete himself or read other users’ emails unless he is logged in as root. The user root has permission to do anything. The root user is referred to as such because it inhabits the base of the file tree, and the subsequent branches of the structure are under its purview. Logged in as that user he can read any file, execute any code, or delete anything he wants because he is the chief deity of the system. There is simply nobody to tell him no because root has dominion over everything on the computer. That is why it gives him the creeps to log in as root on his own computer. He could irreparably damage his system, or even kill himself accidentally.
That same fact is the reason that he wants to figure out how to trick the Wendigo nano bugs into thinking that he is the root user. With that sort of access, he could easily find the file that contains the Wendigo’s behavior and simply change it to something that doesn’t suck so much.
Fyndraxis has a trick up his sleeve as well when it comes to communication with the Wendigo, he uses UART. If you have forgotten what UART stands for, I don’t blame you. It stands for Universal Asynchronous Receiver/Transmitter. While that term is unintelligible enough to be basically meaningless, what it does is extremely helpful for what Fyndraxis is trying to achieve.
Computers have a lot of interfaces, without them, they would be rather useless. All the differently shaped holes on them accept specific plugs. When that happens, it is agreed upon that the computer will be using a specific protocol for each. When you plug in a USB cable (upside down first of course, and then somehow upside down again), the computer recognizes that peripheral and follows certain rules and security protocols to deal with it.
We can think of these computer holes as orifices in the body of a living creature. Each orifice has a specific job (sometimes a couple of them). When we put something in our mouth, our brain needs to know what it is, so we have touch and taste receptors in there that let the brain know what’s going on. Eyes don’t need taste receptors so they don’t have them (although it is said that we eat with our eyes first, that is not relevant here), and they relay information to the brain in different ways. The point is, there are certain protocols that eyes and mouths use to relay information to the brain, and computers use a metaphorically similar scheme to organize information entering their system. What we are doing when we use something like UART to access the computer is skipping all of the handy orifices and jacking directly into the brainstem to see what it is thinking. Skipping protocol and dealing in straight information.
When accessing the Wendigo via UART, there is a command that will make the Wendigo puke its little software guts out. This command is called md, which stands for memory dump. This command reads out a copy of the entire operating system over the UART connection into Fyndraxis’ computer. It’s a lot like taking a picture of the state of its brain.
Sitting somewhere in that pile of software vomit is a file called shadow. This file contains all the passwords of all the users on the system. That is good news. Linux, being a security minded operating system, only gives permission to look at his file to the root user. This is bad news. Even further bad news is that the passwords in this file are encrypted. When Fyndraxis runs the md command and the Wendigo pukes its little guts out, the information that makes up its operating system ceases to be an operating system with a root user and becomes arbitrary information on Fyndraxis’ computer. Instead of an operating system, it is a pile of digital barf. If it is arbitrary information on his computer he can easily read this file and see if he can decrypt the root password from the shadow file. The root password was 3arthsR3v3nge2055!. It took him five days of workshop time to crack, and was obviously the work of a total douchebag.

Scene 41 of /daemon