Summer Project

There were a lot of questions asked before joining ACS for the summer. Where are you going? What are you working on? What are you even doing? Even I didn't know the answers to these questions when I left.

I joined Shaun and Florian in Paris. We stayed in an Airbnb with Shaun on the sofa bed and Florian and me in separate bedrooms. Immediately, I became ill but they were incredibly supportive and allowed me to spend a lot of time asleep. At the end of the first week, we needed to vacate the Airbnb. With nowhere to sleep the next night, we made plans to spend a few more days in Paris before heading to the south of Switzerland to stay in Florian's parents' vacation home for some time.

The house was magical. It was a stone villa with old-fashioned locks on the doors. The paint was worn and the floor in my room wore away onto my feet as I walked around it. There was no Wifi, microwave (though Florian soon remedied that) nor television. Instead, the downstairs rooms were graced with fireplaces, a record player, and an old-fashioned printer. The kitchen featured intricately hand-painted crockery, along with an array of glasses in various shapes and styles to complement the selection of alcoholic beverages lining the mantelpiece. From the terrace, the view on a clear day was breathtaking—snowy peaks rising behind rocky cliffs, with nearby villages nestled in the foreground. By the time we departed, however, nearly every room had been equipped with whiteboards and stocked with toilet paper.

With minimal distractions, a nearby shop for food, and mountains and rivers stretching as far as I could run, it felt like a paradise for working. I made the most of it, cutting off all modern communication with the outside world, buying food only when my supplies were nearly gone, and clocking miles of running with plenty of elevation. I had never enjoyed running so much - just myself and the mountains. I started running 10-20% more than I had in the past with 10-30x more elevation. From the start, I immersed myself fully and after deciding to run up the steepest path nearby on the first day, I was forced to take a rest, missing my second planned run since September. At some points, I popped up in people's Strava feeds with some ridiculous summits and I had been unaware of Phil's (my coach) messages about serious training.

The main focus of the summer, for Florian and me, was exploring artificial evolution through simulations and mathematical models. We were going to simulate artificial worlds and see what we could notice to try to make discoveries. We didn't distract ourselves with the prior literature but began by discussing the individual progress we'd made before meeting. I had spent some of my Christmas and Easter holidays working on the project and Florian had been running experiments for two weeks before I joined him in Paris. In Paris, we spent a lot of time at the maths department or in cafes discussing ideas on whiteboards.

Soon after arriving in Switzerland, Shaun gave us a process. These were six steps for generating and analysing artificial worlds. The first was the world that allowed artificial evolution to take place and the last was analysing the results. The intermediate stages were for planning and implementing this world, where the artefact produced at each stage was the input to the next one. Being in a process was extremely powerful. Before, it had been difficult to run experiments - there were always decisions that needed thinking through in detail and it never felt quite right to commit to something concrete - so we spent most of the time at whiteboards. With a process, this was removed. Each day, there was a sense of urgency to finish. And while working, we could focus intensely on each stage, ignoring the ones in the past or the future. This was incredible for our skill development and we could look back after a week to see a huge improvement in the quality of what we were producing.

The focus allowed us to develop craft. We would push ourselves and each other, always trying to make the current stage just a bit better before moving on. We would craft pseudocode, for example, sometimes spending decaminutes on variable and function names or coming up with different ways to implement the same two-line function. We converged on a requirement to write everything out at the end of each stage and this could lead to us identifying holes in our reasoning and sometimes writing out everything again at the end. One time when we were writing out an experiment design, we noticed that one of the two variables we were using in the DNA could be removed. It took us an hour to write it out again, discussing whether this would simplify the experiment while keeping its richness or remove the complexity and make the outcome too boring. When we ran it, the behaviour was intriguing, which was delightful to see.

Another part of the craft was the collaboration dynamic. Almost all the collaborations I had had in the past had ended badly and there were many different failure modes. This was different and we managed to create a deep and effective collaboration. We were far from perfect collaborators and it was very bumpy at the start. Our first attempts at pair programming led to me writing all of the code and Florian watching. And it was uncomfortable to talk about. But after we had the courage to discuss it during one of our reflections, we started to experiment. One time, Florian wrote all the code; another time, there were no restrictions on who did what but one of the most effective ways for us to pair program was with a 10-minute timer and alternating whose period it was to type in. As time went on, we began to truly appreciate each other and even in his absence, I felt an inner Florian pushing me to invest more deeply in the craft, focusing on making everything the highest quality rather than good enough.

One of the main reasons for working with Shaun, Florian, and KK over the summer instead of doing an internship was the personal growth I could achieve - I had already come so far during my work with ACS. At the start, Shaun mentioned how emotions block you from discovering things. My immediate response was "What emotions?". When I'm doing maths, I'm thinking about maths, not emotions. The emotions were always there and often so subtle I had rarely noticed them. While KK was with us, we talked a lot about this. He had been researching different schools of therapy and this overlapped a lot with the work on problem-solving. We watched some Couples Therapy to observe and analyse other people overcoming difficult emotions. And watching Florian, I saw how many of his emotions were impacting what we were working on. I knew my emotions were blocking me, even if I couldn't see exactly when.

I remember one time, after talking to Shaun about how past trauma was the basis of many irrational behaviours, trying to apply this to myself. It was surprising. One of the things I noticed was that when I've been debugging for a bit, I start trying things just hoping they will cause the bug will go away. And when I plan to walk away in some time, I don't, leading to a cycle that can cause me to spend hours making minimal progress on a bug. When I finally walked away, I would usually solve it almost immediately, feeling I had wasted hours failing to fix the bug. I realised that this feeling of panic I was experiencing came from school: as a high-achieving student, I was always expected to know the right answer. But when I didn't it was devastating - I felt my value as a person depreciated. During my debugging panic, I was experiencing this feeling of not knowing and that would cause me to be ineffective at finding the bug. It has taken time to begin overcoming this but now this state is incredibly rare and my debugging is more effective. This was just one of the many ways that my emotions were blocking me and I started to notice and begin the unblocking process for others.

Over the summer, I made significant personal development. The self-growth is always strange - I feel like a completely different person who hasn't changed much. Especially as the most powerful developments were internal. I prioritise focusing on one thing at once over having lots going on. My problem-solving feels much more deliberate and calm. The standards I set for myself are much higher, from the requirement for high-quality code to the depth of engagement during reflections. I am much more aware of my emotions and am able to channel them better. And there are many more that I'm less aware of or are only starting to have a noticeable effect, so it'll take a bit longer to see all of those.