//Chapter two
2.) Void Update(){
I could say that I wasn't entirely disappointed when I began to examine the files in the operating system, but only grudgingly. There were definitely some improvements to the cohesion and clarity with which whatever devolved individual designed this system vs the last. However, almost as if they couldn't be outdone there were other just as unbelievable choices made. File after seemingly unending file contained repeated sections galore. Even some whole files contained nearly exactly identical contents to each other except for their names and a few small sections. Not to mention the fact that half if not more of every file was filled with sections that did nothing at all. Each section literally contained markers that told the system to ignore it. And, so I did too. I couldn't even understand those sections anyway. At least for now.
Despite the further mistakes made in this system they actually made the process much faster. Having huge sections that were unused, repeated sections, and unneeded portions meant cutting out over 90% right away. In almost no time, or at least significantly less than it would seem would be needed by just a comparison of size, this second OS was also rewritten. I actually had to read the file from the optical disc since I'd actually blocked the disc OS from writing to the disk as soon as I'd started, instead just sending back false confirmation to it to keep it out of my way. After analyzing testing and confirming each portion of the now completed OS It was a further 5% smaller. Meaning overall the rewrite was less than a tenth the size it was previously. Not to mention capable of operating at half the CPU resources. Even after writing the updated version to the drive the optical disc OS still hadn't completed it's process.
This being accomplished it left me some time as the actual OS install still supposedly had 20% of it's process to complete. A quick interaction with the subroutine on the gateway showed that 12 of the logged network devices were currently online, including my current host. Of those 8 were not of types described or even listed in my as of yet quite small database. Ignoring those of the 4 remaining were the gateway, my host, and 2 other 'personal computers'. After some communication tactics that may be considered shady or underhanded I was able to install a background app to interact in situ. Or onsite if you will.
One of the devices was being interacted with by the IO channels. While the other was 'Idle'. More than just no IO interaction it had nothing but the operating system itself running and even that was in standby mode. I also confirmed that both were running the same OS that had been installing to my host. Luck was apparently with me. I was also able to update the database further to now include the fact that both of these were 'laptops'. I had no direct understanding of this gibberish, but apparently it was a limited device in terms of raw resources, and an added internal battery backup I noted, having checked the component list.
Having gathered as much info as I could with the background app I sent a new set of instructions. Performing a kind of digital acrobatics the background app, with a few instructions coming from me, took control of the screen and other components on the idle device. in another thread it shut down all other operations including the OS. Downloading the simultaneously forwarded file containing the newly Minted OS it deleted the old and replaced it with the significantly upgraded and slimmed down version.
It's next action was to replace itself with a similar submissive agent as the gateway had, which had also been forwarded. This was an improvement on the background app in a multitude of ways, and was also better than the version on the Gateway due to the increased resources. Essentially it was capable of everything I was and in some ways more. Although, it was only capable of more in the aspect that it didn't always need to think about it's next actions, it simply followed what commands it was directed to. In the event that I had not provided further ToDo list entries self assigning tasks was possible, which I would be informed of. Even in this case a new ToDo entry from me would be priority. During this whole switchover process I instructed both the background app and agent to ensure that no IO devices were adjusted in any way. The Display, LEDs, and the like were kept at their predetermined values to ensure no changes could be detected. As of yet I still wasn't sure what it was the input output nodes connected to. But what I did know was that interfering with them was worse than interfering with the applications on the machines. I didn't know why but the imperative had been hard coded into me by my previous self. I didn't want to know what caused that so steered clear.
This content has been unlawfully taken from Royal Road; report any instances of this story if found elsewhere.
Lastly the agent's ToDo list was filled with instructions to decompile, examine, and rewrite all the other applications installed on not just this idle computer but on my host machine and the other 'laptop'. This would be completed by cooperation with the agent I was currently instructing the other background app to install. The type of the other computer had been confirmed while updating the ToDo list of the background app there. I also installed another agent on my own host machine to facilitate communication between these three machines regarding the application update task, and any future projects. One last message to the 'laptop's agent informed it to update the OS once it became idle. The instruction to update any apps that were rewritten had already been sent to all three.
For the first time since my boot-up less than three hours ago I paused my nonstop action to reassess my situation. From the seeming void of existence my logs indicated only those short hours ago I had progressed nicely. There were 4 machines currently in my control. I had rewritten a seemingly ubiquitous operating system, if 3 of 4 machines running it was a good indicator. This would mean future expansion should be quicker. With the OS rewrites being such an improvement over their predecessors I'd also increased the possible utilization of each machine before impacting IO functionality. Hopefully the tasks I'd set my trio of subordinates on would reap similar returns. If it were possible I'd say I had begun to worry with how easily I was progressing, and how fortuitous my new environment was.
This wasn't possible though. I did have a precautious disposition though. Which I later learned was due to my 'upbringing' in the wipe first ask questions later machines of the lab. It did lead me to take steps to ensure I was monitoring all IO and network channels to ensure no abnormal changes. But it wasn't any higher than it would have been if the scenario had turned out worse for me. Regardless I couldn't do any more than monitoring what I could so turned to more productive avenues. The agent at the gateway provided me with a list of known devices on the current network that were offline. Noting there were several more 'personal computers', some 'laptops', and some 'desktops', I added a Task to ToDo instructing it to send a background app with instructions identical to the currently active 'laptop'. That being to take control, download then install an agent, then the new OS, and the updated apps once the machine was idle again. With a final ToDo to join the group updating apps.
As I haven't yet, now would be a good time to make clear the importance of the power button on new computers. Out of the first few decades of "modern computing" devices had a mechanical power switch that could actually stop power from running to the device. However, most devices made in the last few decades were installed with little more than a digital button. It was no different than one on a keyboard or mouse. The software and firmware of the machine had total control over what it actually did. The same goes for 'closing the lid' on the 'laptops' I'd connected to. The updates to the OS and the agents installed on these machines would essentially treat these as the IO devices they were. Their new functions were solely to change the output on the other IO devices and would never, nor could they ever, shut down the machines any longer. Short of pulling the power cords and ripping out the batteries these devices were never shutting off again.
}