{"id":836,"date":"2024-02-13T20:36:15","date_gmt":"2024-02-13T20:36:15","guid":{"rendered":"https:\/\/itp.nyu.edu\/adjacent_dev\/?p=836"},"modified":"2024-02-27T19:38:39","modified_gmt":"2024-02-27T19:38:39","slug":"bug-square","status":"publish","type":"post","link":"https:\/\/itp.nyu.edu\/adjacent\/issue-10\/bug-square\/","title":{"rendered":"Bug Square"},"content":{"rendered":"\n<figure class=\"wp-block-image size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"669\" src=\"https:\/\/itp.nyu.edu\/adjacent_dev\/wp-content\/uploads\/2024\/02\/image-2-1024x669.png\" alt=\"\" class=\"wp-image-837\" style=\"width:649px;height:auto\" srcset=\"https:\/\/itp.nyu.edu\/adjacent\/wp-content\/uploads\/2024\/02\/image-2-1024x669.png 1024w, https:\/\/itp.nyu.edu\/adjacent\/wp-content\/uploads\/2024\/02\/image-2-300x196.png 300w, https:\/\/itp.nyu.edu\/adjacent\/wp-content\/uploads\/2024\/02\/image-2-768x502.png 768w, https:\/\/itp.nyu.edu\/adjacent\/wp-content\/uploads\/2024\/02\/image-2-1536x1003.png 1536w, https:\/\/itp.nyu.edu\/adjacent\/wp-content\/uploads\/2024\/02\/image-2.png 2000w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><figcaption class=\"wp-element-caption\">Illustration by Priyanka Makin<\/figcaption><\/figure>\n\n\n\n<p>The project &#8220;Bug Square&#8221; started in three days.<\/p>\n\n\n\n<p>Day one. It was summer break after my first year of ITP and I was learning Three.js<sup>1<\/sup>&nbsp;for the first time. After hours of setup and debugging, I finally made it work and created a rotating cube.<\/p>\n\n\n\n<p>Day two. I woke up in the afternoon, and my roommates asked me to go upstairs to deal with a lot of real bugs they found in their kitchen.<\/p>\n\n\n\n<p>Day three. I was chatting with my friend Song and coincidentally while I was debugging, my roommates asked me to go upstairs again to capture real bugs. We were both thinking about our ITP thesis at the time, and I mentioned to Song that I wanted mine to be about bugs. &#8220;Bugs have two meanings: biological bugs and programming bugs. I want to explore the relationship between them.&#8221;<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h1 class=\"wp-block-heading\"><strong>As more and more of these microbial archives of different kitchens, and different environments more broadly, were recorded we might be able to start understanding more of the links between the microbial world and our human-scale world.<\/strong><\/h1>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<p>Why are programming bugs called \u201cbugs\u201d? \u201cOn September 9, 1947, a team of computer scientists and engineers reported the world&#8217;s first computer bug. This bug, however, was literally a bug. One of the team members wrote in the logbook, \u2018First actual case of a bug being found.\u2019 The team at Harvard University in Cambridge, Massachusetts found that their computer, the Mark II, was delivering consistent errors. When they opened the computer&#8217;s hardware, they found&#8230;a moth. The trapped insect had disrupted the electronics of the computer.\u201d<sup>2<\/sup><\/p>\n\n\n\n<p>The research process for Bug Square started with \u201cbug collections.\u201d Over the course of two years, I used photography and video to capture both biological bugs and insects and computer\/machine bugs I encountered in my life. To help me keep track of my progress and issues, I started a \u201cbug report\u201d that recorded what went wrong in my daily life. Additionally, I recorded 300 audio files as a form of personal documentation and added them randomly into the virtual world.<\/p>\n\n\n\n<p>In the early stages of development for Bug Square, I took a trip to the Monarch Butterfly Biosphere Reserve in Mexico to see the butterflies. Surrounded by the puffy breezes coming from the large shining wings, I could not interact with the butterflies out of fear that I would harm them. This respect for bugs and insects inspired me to make Bug Square a world where viewers should simply watch the simulated world.<\/p>\n\n\n\n<p>In order to represent abstract computer bugs, I used glitches as a metaphor. Glitches and glitch effects indicate that something has gone wrong in a computer system. In Bug Square, the glitch was anthropomorphized as a creature that intended to cause no harm to the overall computer system, allowing programs to continue to run, with only small, buggy errors.<\/p>\n\n\n\n<p>But what does that world look like? How are the insects placed in the project? What kind of computer bugs do I want to point out here?<\/p>\n\n\n\n<p>My questions about Bug Square\u2019s world brought me to Ian Cheng\u2019s Emissaries Guide To Worlding. Cheng defines worldbuilding in the first paragraph: \u201cA World incentivizes its members to keep it alive. A World is a container for stories of itself. A World expresses itself in many forms, but is always something more.\u201d I thought I would need to find a place for both biological bugs and computer bugs in this world. However, on the contrary, I found a reference that would be harmful to both of them in real life. A reference that makes my Bug Square \u201cexpress itself in its form and something more\u201d. One day, I was dazzled by the flowing Hudson River. It hits me that most insects can\u2019t live under the river and computers will die underwater too. The river is a common adversary for both. I also observed that people sometimes use containers to host insects they find. As a result, I created Bug Square inside a box for viewers to observe, and the cube became the form for Bug Square. The river also creates a perfect spot to conceal the \u201cbug reports\u201d in Bug Square as I hide the sound objects under the water.<br><\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/freight.cargo.site\/w\/700\/q\/75\/i\/90c42ff83647f1841e1b1ca4332017deb411d026713de86382d17de6bc89812c\/bug_incap.JPG\" alt=\"\"\/><\/figure>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/freight.cargo.site\/w\/700\/q\/75\/i\/b5ce2880bd9a7a209d17df413b005cf51e17aeb48f7ad552b4ad587fe508ede8\/view_river2.JPG\" alt=\"\"\/><\/figure>\n\n\n\n<p>The process of building the world was very free-flowing, using cubes, pyramids, and cylinders as insects, to create the first prototype. I had the insects move around a container and above a river. I was aware of the bugs\u2019 movements and the sounds their wings made. The world-building here was not so much about recreating nature from reality, but about simulating the motion and movement of nature in the digital world.<\/p>\n\n\n\n<p>This approach was inspired by Dan Schiffman\u2019s The Nature of Code<sup>3<\/sup>&nbsp;and Gary William Flake&#8217;s The Computational Beauty of Nature<sup>4<\/sup>. Flake mentions in the first chapter,<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p>\u201cOf all the possible rules that could govern the interactions among agents, scientists find that nature often uses the simplest. The same rules are repeatedly used in different places. To understand why, consider the three attributes that describe the interactions of agents:&nbsp;<strong>1) Collections, Multiplicity, and Parallelism; 2) Iteration, Recursion, and Feedback; 3) Adaptation, Learning, and Evolution.<\/strong>\u201d&nbsp;<\/p>\n<\/blockquote>\n\n\n\n<p>Using the simplest rules derived from nature, I applied a flocking algorithm to the code. \u2018Flocking\u2019 is a group animal behavior that is characteristic of many living creatures, such as birds, fish, and insects. In 1986, Craig Reynolds created a computer simulation of flocking behavior<sup>5<\/sup>. With these methods, I had the basic structure of Bug Square.<br><\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/freight.cargo.site\/w\/1500\/q\/75\/i\/f7301ae9daabaabf2dcae277c0f54aadb604e51cb7fde643db76dff4c39e1e47\/project_cap.PNG\" alt=\"\"\/><\/figure>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/freight.cargo.site\/w\/1500\/q\/75\/i\/d7b23818ea6f4a6232996c27ab821b7607bbe0b37bfc20cadfde0fc780960ef2\/project_cap1.PNG\" alt=\"\"\/><\/figure>\n\n\n\n<p>During the process, my attitude toward insects changed dramatically. I used to kill them without hesitation, but later, I began observing their actions. I used to get many mosquito bites, but I stopped trying to capture them. When I initially tried to kill or capture them, it was not just because of the bites, but also because I wanted to protect my territory. Now I don\u2019t feel I own the land, so it&#8217;s okay to share it with insects. With computer\/machine bugs, I often find them in public spaces, and it is enjoyable to discover them.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h1 class=\"wp-block-heading\"><strong>During the process, my attitude toward insects changed dramatically. I used to kill them without hesitation, but later, I began observing their actions.<\/strong><\/h1>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<p>I do not aim to create a perfect virtual representation of nature. Some things in Bug Square should be wrong. In this world, bugs are celebrated features, not just bugs. Or rather they are bugs, but are also features. Creating Bug Square showed me how errors inspire me in my life, and I hope that highlighting bugs will encourage you to be inspired by the bugs in your life. While I can proudly tell you that the final Bug Square is probably bugless from a programming perspective, it is also a product of all the problems I encountered in the development process.<\/p>\n\n\n\n<p>I still want to maintain a distance from real-life biological bugs, but creating a virtual Bug Square allows me to appreciate them. This space is dedicated solely to them. While I dislike the process of debugging, I enjoy the moment that follows. Errors and mistakes are acceptable here, because they lead to change. I may not enjoy sharing my debugging stories with others, but here in Bug Square, if you listen carefully, you will hear 300 of my stories hidden within the virtual world.<\/p>\n\n\n\n<figure class=\"wp-block-embed is-type-rich is-provider-embed-handler wp-block-embed-embed-handler wp-embed-aspect-16-9 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\n<iframe loading=\"lazy\" title=\"Bug square - work in progress\" width=\"500\" height=\"281\" src=\"https:\/\/www.youtube.com\/embed\/cdKfyYYlal0?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe>\n<\/div><\/figure>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<p><small><sup>1&nbsp;<\/sup>https:\/\/threejs.org\/<br><br><sup>2<\/sup>&nbsp;\u201cWorld&#8217;s First Computer Bug.\u201d World&#8217;s First Computer Bug,<a href=\"https:\/\/education.nationalgeographic.org\/resource\/worlds-first-computer-bug\/\" target=\"_blank\" rel=\"noreferrer noopener\">&nbsp;https:\/\/education.nationalgeographic.org\/resource\/worlds-first-computer-bug\/<\/a><br><br><sup>3<\/sup>&nbsp;Shiffman, Daniel. The Nature of Code. S.n., 2012.<br><br><sup>4<\/sup>&nbsp;Flake, William. Computational Beauty of Nature. MIT Press, 2000.<br><br><sup>5&nbsp;<\/sup>\u201cFlocks, Herds, and Schools: A Distributed Behavioral Model.\u201d There are three types of flocking: \u201cSeparation: steer to avoid crowding local flockmates; Alignment: steer towards the average heading of local flockmates; Cohesion: steer to move toward the average position of local flockmates.\u201d<\/small><\/p>\n","protected":false},"excerpt":{"rendered":"<p>The project &#8220;Bug Square&#8221; started in three days. Day one. It was summer break after my first year of ITP and I was learning Three.js1&nbsp;for the first time. After hours of setup and debugging, I finally made it work and [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[4],"tags":[],"class_list":["post-836","post","type-post","status-publish","format-standard","hentry","category-issue-10"],"_links":{"self":[{"href":"https:\/\/itp.nyu.edu\/adjacent\/wp-json\/wp\/v2\/posts\/836"}],"collection":[{"href":"https:\/\/itp.nyu.edu\/adjacent\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/itp.nyu.edu\/adjacent\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/itp.nyu.edu\/adjacent\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/itp.nyu.edu\/adjacent\/wp-json\/wp\/v2\/comments?post=836"}],"version-history":[{"count":2,"href":"https:\/\/itp.nyu.edu\/adjacent\/wp-json\/wp\/v2\/posts\/836\/revisions"}],"predecessor-version":[{"id":857,"href":"https:\/\/itp.nyu.edu\/adjacent\/wp-json\/wp\/v2\/posts\/836\/revisions\/857"}],"wp:attachment":[{"href":"https:\/\/itp.nyu.edu\/adjacent\/wp-json\/wp\/v2\/media?parent=836"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/itp.nyu.edu\/adjacent\/wp-json\/wp\/v2\/categories?post=836"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/itp.nyu.edu\/adjacent\/wp-json\/wp\/v2\/tags?post=836"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}