Koen Westendorp

An essay I wrote for my Honours College Academic Writing course

Koen Westendorp
David Beynon
Honours College: English for Academic Writing (HCPL204)
27 May 2020

How Simulation of Life Can Offer Insight Into the Nature of Nature

Insights into the molecular functioning of life have given rise to a view of the living world as merely a certain arrangement of molecules, out of which the properties of life emerge. Over recent decades, our understanding of molecular biology has made big leaps due to increased use of simulation of biological systems, slowly unwrapping the unfathomable complexity of life. However, the applications of biological simulation do not end at fundamental research. For instance, researchers claim they could simulate cancer cells with sufficient fidelity to decide in mere seconds what treatment of the tumor will be most effective in the next decade1. Simulation of life requires capturing the reactive nature of a biological system within a system of programmatic functions2, which could in essence be described as life, in silico. The advancements and questions in ‘executable biology’3, the field concerning the computational simulation of biological systems, give interesting insights into the nature of life itself and pose questions regarding our very reality. This paper will analyse the limitations and some emerging assumptions of the simulation of biological systems, and will subsequently examine the implications of the boundaries that divide biological simulation and the living systems it represents.

Firstly, the most obvious limitation of computational modelling is computing power. For the execution of a simulation a computer is required, which, as a consequence of limited natural resources and the physical rules that govern our universe, will always be limited in its computing power. Thus, the maximum number of calculations and operations that can be executed over a given time span is limited by physical factors4. However, that fact is not unique to the modelled system. Indeed, it is also the case in our natural world, where the matter surrounding us is also bound by fixed parameters: the laws of physics. Besides physical limitation, there is also the problem of our understanding of the systems we attempt to describe. The collective body of knowledge we have gathered throughout history is not, and might never be, complete. Therefore, a simulation of any natural system is also limited by the extent we understand that system. Furthermore, simulation of a biological system will always be less complex than its subject, considering the complexity of a simulation does not scale linearly, but exponentially. This escalating complexity can be attributed to the combinatorial nature5 of interactions within a biological system. Any element in a system interacts with any other element, illustrating how the addition of one more element does not result in a linear increase of complexity, but an exponential growth of the number of possibilities. Because computational resources and our understanding are limited, and the complexity of life endless, it can be argued that the making of assumptions about the behaviour of a system is inescapable. Secondly, the aforementioned limitations imply that assumptions and concessions must be made about the behaviour of the simulation. One assumption is that simplification and approximation are required. Thus, within reason, it can be assumed that a model can be simplified while still retaining sufficient predictive power, because increasing precision will yield diminishing improvements in the accuracy of the outcome. A second assumption could be that simulated systems are deterministic. A computed system will reach the same outcome when presented with the same input parameters. It must be noted, however, that a simulation is not required to be deterministic to be an accurate model for a natural system. On the other hand, it has been argued that no computed system is truly non-deterministic, as long as each and every one of the parameters is known, whereas others suggest that we can never know the true state of the universe the former argument seems to require6. This question surrounding the deterministic nature of simulations exemplifies that a system will represent the factors involved in its creation. Thirdly, whereas nature is the result of natural selection, computational models are consciously designed. The modelling of an emergent system—a phenomenon that cannot simply be viewed as a sum of its effects—is done by human hands, which might carry biases and inaccuracies into the system. As previously established, the limitations of simulations require concessions, which will always be based on incomplete information. Therefore, the creator and the simulation cannot be viewed as separate. In a sense, there is a poetic quality to this property of simulations—the simulation is not exclusively a representation of its subject, but also describes its author. The limits and preconditions surrounding a simulation of a natural system impose inevitable assumptions on the model.

Thirdly, when the limitations and questions surrounding assumptions are taken into account, it becomes clear that despite how complex an executable biological system becomes, we may still be able to reason about its limits and behaviour. One example of such reasoning about a program itself, is ‘static analysis’. Static program analysis within computer science entails the interpretation of a computed system without executing said system, which can also be applied to a program describing a biological simulation3. Therefore, the application of static analysis on biological simulations illustrates how the creation of computational models could, by itself, improve our understanding of the mechanisms that a simulation attempts to describe. The predictions made by a simulation can be considered not to be the only useful outcomes. Furthermore, it can be argued that the value of thinking about models and creating simulation need not merely be the prospect of ever achieving the perfect simulation. In addition, it is a fallacy to assume a simulated system is separate from the system it attempts to represent. Considering a phenomenon within our world is the subject of the simulation and the simulation is carried out in our world, total separation of the systems is non-existent, mirroring the relation between creator and creation. The physical system encloses the simulated system. Additionally, the fact that physical limitations enforce the simplification of simulations can illustrate that life itself is not much more than a machine that executes a biological program, yet life’s complexity is too great for any human to fully comprehend. Therefore, knowledge of the limitations of the systems we create ourselves can force us to reckon with the daunting complexity of life, and subsequently challenge us to create useful abstractions, that we can then apply to nature itself. Moreover, the limitations that govern computational simulation allow us to view our own world from a new vantage point.

In conclusion, the limitations that our physical world abides by are at least the same for any simulated biological system. These limitations and the systems they enclose can tell us about the boundaries of our simulations. Furthermore, they allow us to examine their behaviour, illustrating that the function of simulation is not only to predict outcomes, but also to allow us to better understand the mechanisms of its subject. Establishing the differences between a given simulation and its natural subject, teaches us a great deal about the validity of the simulation’s assumptions, andbut also lets us examine the assumptions that support nature itself. By examining the assumptions and mechanisms of the simulations we use to try to understand nature by prediction, we might concurrently learn more about the nature of nature.


  1. Fisher, J., Harel, D., Henzinger, T. A. Biology as reactivity. Communications of the ACM, 54(10), 72-82 (2011). ↩︎

  2. Kreuzaler, P., Clarke, M. A., Brown et al. Heterogeneity of Myc expression in breast cancer exposes pharmacological vulnerabilities revealed through executable mechanistic modeling. Proceedings of the National Academy of Sciences, 116(44), 22399-22408 (2019). ↩︎

  3. Fisher, J., Henzinger, T. Executable cell biology. Nat Biotechnol 25, 1239–1249 (2007). ↩︎

  4. Horvitz, E., & Zilberstein, S. Computational tradeoffs under bounded resources. Artificial Intelligence, 126(1), 1–4 (2001). ↩︎

  5. Klamt, S., Stelling, J. Combinatorial Complexity of Pathway Analysis in Metabolic Networks. Mol Biol Rep 29, 233–236 (2002). ↩︎

  6. Dürr, D., Goldstein, S., Zanghí, N. Quantum mechanics, randomness, and deterministic reality. Phys. Lett. A, 172(1–2), 6-12 (1992). ↩︎

Arkyve, a new thing I have been working on

Over the past two weeks, I have been working on a project I have named ‘Arkyve’, for the time being. I am quite aware that this name is one ‘-ly’ suffix away from being a 2016 startup, but I guess it’s fine and I can always change it later, let’s just agree it’s a working title.

As somebody who grew up with YouTube videos as one of my main comedic and cultural influences, I often find myself just referencing and talking about videos with friends. Whole afternoons, bus rides and lectures can be spent just recalling videos from the likes of KUD or just creating an IRL ‘Vines that butter my bloody egg roll and have repeatedly saved me from the brink of getting work done’ compilation, right there on the street. And if you happen do be able to connect to this newfangled thing called ‘the inter webs’ you might even be able to actually look up the videos, to see to what extent you were misquoting it, to have it reflect your internal comedic taste.

Considering these videos are often not more than 5 years old, and YouTube is still a stable monopoly-adjacent platform, they are all still there. The biggest trouble you might run into (for the more popular ones at least), is misremembering the video’s title, and having to search by a description of what happens in it. If a video is popular, you can be 99% certain it will be on YouTube for the rest of its days, due to re-uploads, but that is exactly what concerns me.

A look into the Figma file.

A look into the Figma file.

I do not know what the future will hold for us, nor do I claim that I do. But I think it can be argued that it is not certain whether all of these comedic snippets will still be there, when I want to tell my kids what comedy was all about bAcK iN mY dAy. At the risk of sounding like an anarchist: YouTube is not your friend, they are a company, and they are here to make money. So when Google at one point decides to pull the plug on this currently beloved product, where will all of its … years of footage go?

For that matter, where will all the wonderful places on the internet be in 10 or 20 years. Seriously, you should ask yourself that question.

Honestly, I realise that I sound like a fucking hoarder. (A data hoarder, one might even say. This is a phenomenal subreddit!) But this question really bothers me, and luckily I am not the only one. The most well-known project trying to conserve and archive the internet is archive.org, the people behind the WayBack Machine among many other truly inspiring archival projects. And this is what my Arkyve project is about: a site my friends can submit cool videos to, so I can archive them for the future.

The for the whom-whomst

For the time being, I want this to be a small-scale project. This is a service I want for myself, and for my friends, and I have no ambitions beside that. The most likely pathway of submission will be using an invite system.

The how to submit

In the end, I think I will end up with a flow that goes something like this:

  • the user pastes a YouTube URL or video ID into the big text field at the top of the homescreen.

Yeah, that’s it. I believe the experience should be as frictionless as possible. Though this system will be terribly, terribly susceptible to malicious minds, I think it will be fine, because this site will, most likely, only be a word-of-mouth thing.

I am also working on implementing a way to submit a list of videos or a YouTube playlist.

Request a video file

All of this would be pretty useless if there was not a robust system in place for requesting a video that has been deleted from YouTube. So I decided on a high-tech ‘hit me up with an email and I will send it to you asap’ system. Suck on that, postal pigeons!!!

The processing of a submission

Once a video has been submitted, the input will first be validated, to ensure it is actually a YouTube URL or video ID. Once the validity is ensured, the further parameters will be inferred from the video ID, by calling YouTube’s API. This will give the title, channel, duration, upload date and other properties. All of this information will make up the video’s object, which will be stored inside of a database, where it will await the downloading.

Every few weeks, I will take a look at the newly submitted entries, and will decide whether it is safe to download them all and, if necessary, filter them for malicious entries. This will probably be a manual process, because this ensures that no mishaps can occur with a hundred 10 hour long videos being downloaded onto a harddrive, because that is not what Arkyve is intended for.

The filtered list of URLs will then be downloaded at a manageable resolution like 720p, onto a drive for safe-keeping. Pretty low, tech and old skool right? Well that is because I am not bothering to create a more robust system and not in the possession of endless amounts off dolla dolla bills because I like it better that way.

The design

Home page progress.

Home page progress.

In its current iteration the site is based around a yellow primary color, typeset in Helvetica Neue (or its fallbacks). The different functional sections like ‘Submit a video’ and ‘Recently submitted’ are divided by big, bold headings and the submission interface consists of large, radiant elements which are implemented to be nice and tab-able, for the pro users (me). This is achieved using robust and visible :focus pseudo-class styling, which I like more than necessary.

Also, I subconsciously designed it to look early like Vox.com, which I only realised after I settled on the design. But this does not bother be at all, because Vox is one of my favourite websites on so many levels, ‘bro’.

The tech

Writing a server application in Xcode?!

Writing a server application in Xcode?!

I am using the Vapor server-side Swift framework, so that’s really cool I think. Vapor compiles into an extremely fast, light-weight, and reliable binary that can run on a Debian-based server. For the styling I am using Sass, which I parse into the assets folder using a cli converter. The database I plan on using is SQLite for no particular reason, I honestly don’t know that much about databases and their merits and my demands are really quite minute, so it probably doesn’t matter a lot.

Honestly, I really like writing CSS! (When it is SCSS at least.)

Honestly, I really like writing CSS! (When it is SCSS at least.)

Currently, it is not on my GitHub page, because I am still trying to make a bare-bones, working prototype. After I have achieved that, I will rewrite it with the power of hindsight and create the actual production implementation.

In summary

Okay, cool thing I am working on etc.

If this thing peaks your interest, please, please email me, so we can work on this together :)

Met vriendelijke ‘de moeder’, Koen