Structured learning baby steps

After last week's note, I started thinking about the topics I wanted to learn more about. I was inspired by a fellow Recurser's Learning Sabbatical, which had links to books and other useful resources.

I initially thought of making a similar curriculum (and even made one), but decided to focus on one book after getting started. I found out about Computer Systems: A Programmer's Perspective a year ago - a fellow Recurser was reading through the book and recommended it, and I paired on one of the labs. It's also listed in the Computer Architecture section of the Teach Yourself Computer Science website.

I read the introductory chapter, and I love the book. The language is easy to understand, and I'm finally making sense of terminology I've vaguely heard of but didn't understand properly.

Reading the book in order has proved to be a bad idea in the past, so I'm trying a "choose your adventure" style of reading, where I decide the order of chapters as I go.

I've currently reading a chapter about Linkers, and there's a lot to process. I would ideally like to solidify my knowledge by some combination of code + blog posts, so that's something to think about.

Attempt at installing Linux on a Mac

I've been curious on what it would be like to have Linux as the main OS on a machine, as I mostly use macOS and my usage of Linux is limited to Virtual Machine where I mainly use the CLI.

I've also heard about the concept of a homelab and doing cool networking things with it (things like setting up a firewall or using the machine as a router), and figured it would be better to experiment on a dedicated machine if I have the chance.

I recently got my hands on a 2017 MacBook Pro, and decided to install Ubuntu on it. The installation itself was pretty smooth...however I couldn't connect to the WiFi after rebooting.

Based on some initial searching, I think it didn't install the WiFi driver, which might be causing this.

One of the solutions is to connect an Ethernet cable directly and then install the driver...but my MacBook has no Ethernet port. I'd need to buy an adapter for that, so if anyone has any other ideas let me know!

tuntcp: on hold (again)

This week was supposed to be my last week working on this, but most of my time was spent reading CS:APP, so this got pushed to the side. I revisited the project on the weekend, and had another breakthrough in terms of what the end result should look like. Despite this, I was struggling to write actual code.

Since I am working on stuff I'm more excited about now, this is going on the back burner. I might come back to it whenever I find myself feeling stuck again.