samgeo.codes

Day 2 at RC

Day 2 of RC was really interesting. The biggest event of the day was a pairing workshop. But I also attended a couple of group events:

  • a discussion of WebGL,
  • the start of a reading group for Nand2Tetris.

And then in the evening I attended a couple of non-programming talks.

I also finally finished Protohackers day 6 in Rust which felt really good.

Pairing Workshop

I'm really interested in pair programming but I haven't done much of it. I have watched a good number of Rubber Duck Engineering streams and thought "yeah, that seems like some of the most fun I can imagine". The workshop brought me back to earth a little bit: I don't think I am very good at pairing. That being said, I really want to do as much pairing as possible over the next few months.

At the beginning of the workshop, some of the RC staff discussed the benefits of pairing and provided an example of what effective pairing might look like. We then split off into groups to work on implementing Mastermind. As we jumped into groups, I found myself in a group of three. I ended up driving to start out. There are 2 roles in pair programming: the driver who types and the navigator who follows along. Driving is hard. From experiences that I've had, it feels most similar to taking a coding interview with a bit more communication. I got a little carried away and ended up taking 30 minutes instead of 20 minutes for my section of driving. When we switched off, I discovered that navigating is at least as hard as driving. Finding the right time to mention something to the driver is tough and I can get a little bit fixated on tiny issues (as my wife would surely attest). Overall, this was a really valuable session and I'm looking forward to working through some of my discomfort with pairing over the coming weeks.

As an aside, node's blocking-averse design made it surprisingly difficult to read input from the user. Especially when compared with python's input.

WebGL

I've always been kind of curious about graphics programming, but I consistently bounce off. I think the gap between "wow, this is a triangle with a gradient" to "holy smokes, a hand-written shader for a high-fidelity 3D flying sequence" seems insurmountable. I've also always struggled with extemporaneous creativity. Whenever I was called on to improvise in jazz band, I would clam up immediately. I'm curious how I might be able to work through some of my "improv anxiety" and come up with silly ideas to try that might help me work through some of my misgivings with shaders. We'll see.

Nand2Tetris

I recently read Charles Petzold's Code which I thoroughly enjoyed. Slowly building up a stack of abstractions starting from sending signals between neighboring houses was really neat. I bought The Elements of Computing Systems a while ago, but haven't done much aside from the first couple of chapters.

Working through the book seems like it might be a fun way to bolster my mental model of hardware and the hardware/software interface.

Non-programming Talks

These talks were great. I learned a lot about tabletop RPGs and chairmaking. Most of all, it was further proof that the people at RC are awesome.

Protohackers day 6 in Rust

It was really neat to finally finish protohackers day 6 in Rust link.

I'm not handling connections the best and I could definitely use some logging to make debugging easier. But the automated tests passed, and a heck of a lot faster than my python implementation, at that!

That's all for now

Most of these will probably be quick updates with maybe a more in-depth update once every week or two. Thanks for reading!