# Rust + Machine Learning: 004

Published in

--

This is part of my participation in the #100DaysOfCode challenge. This round, I’m learning Rust and Machine Learning (ML) and developing violette: a portable ML system and JavaScript API in Rust.

“Always have a plan when you walk into a room.”

This was something my mentor told us when I was training to become a certified personal trainer and yoga instructor. She only ever said it once, but it stuck with me and has served me well ever since.

“DRAW A PICTURE!,” my physics professor would shout at the class in frustration when no suggestion included this after we were asked to set up the problem. It was rule number for problem solving. This, too, has served me well over the years.

Having changed the direction I’m taking to learning machine learning (ML), I needed to reconfigure how I would structure my approach. Learning linear algebra is no small thing — linear algebra is generally an entire semester all on its own, and considered equivalent to a second year of Calculus (Calculus II) in difficulty. With regard to my intended learning path, I want to not only learn some linear algebra, I also plan to dive into probability, all while getting into the nuts and bolts of Rust and ML. Ideally, I want to accomplish this within the next 96 days.

I need a plan.

I spent day four working on a plan. I’ll also need deep focus and a metric fuckton of coffee. The coffee is covered; the focus will be addressed from one day to the next; the planning is in the works, though.

I know, #100DaysOfCode is supposed to be 100 days of back to back code writing. But I consider a strong foundation in knowledge and theory to be as important as the practical aspects of doing, well, anything. So I’m bending the rules for this iteration, as I have a greater purpose in mind. That being said, here’s how I spent my day four:

In my personal Notion workspace, I created a projects database that includes a section for this iteration of #100DaysOfCode:

Within the project, I created sections that will hold notes and links, along with references to the textbooks I’ve added to my personal library database. I also created a calendar to not only help track what I’m working on from one day to the next, but also plan out what content I’ll be consuming and what projects I’ll be working on throughout this challenge:

I’m also reviewing traditional class itineraries to better establish how I’ll approach the course work I’m setting myself up with to concurrently learn all of this shit within the confines of these 100 days. This will be no small feat, as being in unfamiliar territory, I’m going to have to flesh out this plan as I go. I have a preliminary outline of how to move forward — this was drafted from the Table of Contents from each of the books I’ll be reading — but this is cursory: the outline may change as I come to recognize 1) I need to deepen my knowledge in some areas, 2) I can progress rather quickly through other areas, or 3) I can outright skip some things altogether.

004/100