← Back to homepage

Day 2: 🍐 + 🤖

Today

Deploying my personal site

I had 1 hour before the pairing workshop, so my goal was to get this personal blog deployed. I didn’t quite succeed at that. I initially was planning on using Railway because I had used it in the past for deploying some small Rails apps. But I realized that I don’t really need Railway. I basically need something to run hugo --gc --minify to put together all the assets for my personal site and rsync it somewhere. I’ll continue on this… maybe tonight if I feel up to it!

Pairing Workshop

This was great! I didn’t need to be convinced of all the benefits of pairing. But I got to pair with a fellow RCer on an implementation of Mastermind. We paired in Rust which was awesome because they were so much more experienced with Rust than me. I got to ask a lot of dumb questions I usually have to stumble around with on my own.

Caching Experiments

Then I paired with two other RCers on some experiments I’ve been running to better understand the impact of aligning contiguous data to cache lines. I came into this session sorta knowing that CPU caching was complicated, and that my experiments weren’t isolating the right thing correctly. I left this session learning that CPU caching is REALLY complicated, and that there were tons of other things I couldn’t even begin to consider that were impacting my experiments. For example, I completely missed that the M-series chips have a 128 byte cache line, and might have different a different cache architecture than “normal” x86-64 chips. These folks have offered more of their time to continue talking over some of these topics. But to be honest I’m unsure how much further I want to learn about CPU caches without something more practical to motivate me to learn more.

Mechanistic Interpretability Meet and Greet

This was a super surprising part of my day. I decided to join this meeting because I have heard a lot about AI Alignment/Safety/Interpretability recently and I figured this would be a good opportunity to lurk and learn more about what these words mean. But I wasn’t really planning on making any changes to my plans on what to work on during RC. But plans are made to be changed! Apparently someone ran a 2-week speedrun of ARENA a batch or two ago, and one of the people who participated offered to run something similar this time around. The way this speedrun was described is that you can imagine that we all showed up at a national park (RC) and have our choice of some easy/medium trails (our intended projects) to hike. Then someone shows up and asks if we want to climb Mount Everest. Everyone will be starting at the same place every day, and at the end of the day if you don’t make it to the next camp there will be a helicopter to help you up. At the end you will have pushed yourself farther than you thought you could go, and will have learned a lot about AI in the process. This was super attractive to me, especially since I’ve always been drawn towards doing super difficult things that push my abilities with a group of other people. I’ll be joining this effort whenever it begins in the next two weeks, and it will be my sole focus!

End of Day

I ended my day catching up on Zulip and writing this post. I’m exhausted and I have a mild headache. But I’m feeling great about everything RC so far. I was pretty sure that the environment was going to be exactly what I needed and had high expectations going in. In almost all cases high expectations lead to disappointment. But in this case I’m feeling even more excited and satisfied than I could have imagined after just two days.

Tomorrow

  • Actually get my site deployed
  • Actually continue towards wrapping up work with my compiler
  • Learn more about ARENA

On first thought I wondered whether the first two things were “working at the edge of my abilities”. But then I realized while the explicit tasks are not, they are part of two larger ideas which are at the edge of my abilities. Writing/blogging/sharing is the first. Getting the site deployed is a prerequisite to this. The second is “finishing” projects. I have a tendency to start projects but never finish them. I think it will do me some good to see the compiler book to the end.