Job Title: Universe Debugger (the Importance of Implementation)

During a late-night conversation with Austin Russell, he stated that we are living in a simulation. Together, we discussed the job description of a Universe Debugger, and created a fun way to project the world onto coding principles and concepts.

If the universe is a simulation, we can debug the universe.

We can infer the types and scoping of variables and enforce them with conditional actions. This is already the case. We have a scope of acceptable behaviors, defined by law and sociocultural norms. And, if our law enforcement worked in 100% of cases, objects that have unacceptable attributes are collected and assigned to a designated local scope until their behavior has changed.

We are part of a tensor of rank n containing bits. We exist only as information. The notion of self as a constant thing is incorrect, for we are not imaginary anecdotal constants.

Since we exist as part of the simulation, we are in a white-box environment. The only way to be a good white-box tester is to understand the program at a fundamental level. This is why we are scientists. We are universe debuggers. We find problems and create patches. We add features to improve efficiency.

The problem is that we will never be able to fully test the universe. Our unit tests are only applicable within a finite scope.

Fortunately, the universe is empirically tested by actually being run. This allows us to discover new bugs and improve previous patches.

This perspective of existence demonstrates the importance of implementing your ideas. Writing a bug report is useful, but it is only useful for the purpose of writing future patches. The patches are what improve the program, the patches allow it to grow and go on.

We are tempted to abandon uninteresting bugs and ignore bugs that do not directly affect our immediate environment.

As scientists and engineers, it is easy to get trapped in patent wars, or keep our research locked up in our ivory towers. Public bug reports are left unresolved, and patches are hidden away in local closed-source distributions.

We must take initiative in implementing our ideas. We have a responsibility to work through the tedium which inevitably appears in any interesting project: to finish what we’ve started. We must transition from learning to thinking to doing.

It is our duty to debug the universe, one patch at a time.

Written on August 29, 2013