I just finished the first half of the Computer Science curriculum at Lambda School. I really enjoyed it; algorithms, data structures, and design patterns have been interests of mine since I first began wading into the world of programming, so it was fun and rewarding to have some structured time dedicated to the topics.
The “build week” of the unit involved implementing Conway’s Game of Life, which I talked about in a recent blog post. I’m planning to clean it up a bit and put it on my portfolio. I probably won’t put it on the App Store, which is already inundated with Game of Life implementations, but at least I’ll make it look nicer and get a better video of it. I may try to implement the Hashlife algorithm… but I also have other, more interesting (to me) projects to get back to.
Next month, after the 1-week break that I’m currently on, we’ll go over hash tables, graphs, and computer architecture. So far I’ve managed to stay a week ahead in the curriculum, which I have to admit I’m rather proud of. I’ve heard graphs week is one of the hardest in the curriculum, which I’m actually rather excited for. A lot of folks seem not to really enjoy Computer Science, but I’ve really been loving its puzzle-esque nature.
WWDC happened last week, which brought a lot of exciting API updates for iOS 14 and macOS 11 (!). I especially enjoyed the SwiftUI updates. I must admit I’m sad that it still can’t do everything that UIKit can, but I think it will take awhile to get to that point, if that is the goal at all.
I’m still holding out hope that at some point in the next couple of years, some updates will come to Swift that will make it appealing to other platforms and areas. For example, I’d love to make a game engine with Swift, but it’s unlikely it’d be able to run on anything but Apple platforms without some stronger support for Linux, Android, and Windows, as well as language-native async support. This “memory ownership manifesto” also provides an interesting look at the potential (hopefully actual) future of Swift. I’m very excited. Having heard the concept compared to Rust, it also has me interested in learning more about that language…
Work continues slowly on side-projects. I keep coming up with other ideas as well and have had to force myself to put them on my “someday/maybe” list. Meditation continues. The pandemic continues, despite the wishful thinking of many. Life continues.