blog.cybershell.xyz/content/posts/debugging-and-life.md

55 lines
4.4 KiB
Markdown

---
title: "Life described as code"
# date: 2024-09-31T19:51:46.389Z
# weight: 1
# aliases: ["/first"]
tags: ["life"]
author: "Andrew"
# author: ["Me", "You"] # multiple authors
showToc: true
TocOpen: false
draft: false
hidemeta: false
comments: false
description: "We are complex beings"
disableHLJS: true # to disable highlightjs
disableShare: false
hideSummary: false
searchHidden: true
ShowReadingTime: true
ShowBreadCrumbs: true
ShowPostNavLinks: true
ShowWordCount: true
ShowRssButtonInSectionTermList: true
UseHugoToc: true
---
We as humans are very amazing. We can drive and eat. We can fall and catch ourselves. We can think and store information. And we have a very special ability: we can reprogram ourselves.
I read a very well-known book titled *The Seven Habits of Highly Effective People*, by Steven Covey. In this book, Covey talks about how we can change our programming and scripting. If you don't know, script is a term that simply means *write*, according to the Oxford Dictionary.
Scripting can be a very powerful tool. To first put scripting in computer terms, consider the following example:
Scripts are code that can be written and interpreted. The following is a script in Bash, a common shell interpreter language used on Unix OSes:
```bash
#!/bin/bash
echo "Hello, World!"
```
Now, this is a very simple script that first has the shebang on line one. This is used to tell the shell, the part the human interacts with, which program to run. In this case, it is the program `/bin/bash`, a common Unix command-line shell. The second line is calling a built-in shell function which will *echo* (in this case) whatever is in quotes. In this instance, `echo` prints `Hello, World!` to the terminal.
There are many other programs that are scripts, and using the most basic definition, your to-do list or plan you wrote today or this week is a script. The web browser you are using to read this very article in its human-modifiable form is a script that is compiled and distributed in its machine-readable form.
In much the same way, we have to take our own scripts and execute them using actions and thoughts. Think about our life systems as background processes that are always running. In the context of our own scripts, there may be problems that are only discovered after running the scripts a few times or after a certain situation comes up. We may have to modify our scripts to handle the situation in the future.
## Debugging our thoughts and mind
There are many parallels I could draw between life and how computers run. I want to propose the idea of live debugging and how we should think.
When debugging a program, there are many ways we could do this. We could add code to print statements to a log of some kind. We may have to enable verbose output and collect data to be analyzed later. We may also have someone else give us input or feedback and use it to modify our scripts. Programmers may even use a debugger that can give the programmer insights into how a program runs. Debuggers can even modify some parts the program while being run through it to make the program run a certain portion of the code. The debugger can set breakpoints at which to stop. Breakpoints allow the programmer to analyze some logic or variable. How our programs are layed out is also important. How our programs interface with other programs is important. There may be some errors or we may misunderstand something or user input is not validated correctly.
The above are many examples of computer programs and their complexities. Now we can apply the same logic to our own thoughts and scripts. We often need to be very aware of how we do things and analyze them in the context of principles. Obviously, our minds are more than just our thoughts and our actions. We also have a subconscious, which may be likened to a "hacker" of sorts injecting memory or even code into our consciousness. We can plan out our actions and day. We can also analyze how it is going. I propose we must take time to analyze how our day is going. How is your program running according to its purposes? How are you doing according to your set of defined principles and values? If you are not doing well, you should examine your logs and fix any issues.
If you are a Christian, as I am, you must guard your mind. This is imperative. 2 Corinthians 10:5 says "We *are* destroying arguments and all arrogance raised against the knowledge of God, and we are taking every thought captive to the obedience of Christ" (NASB).