This makes my 11th week with Aeste. I started off by implementing the generation of the RNG key which is to be read from the flash and performing even more trials to make sure it works exactly the way I believed it did, which Dr. Shawn stressed. Because most interns including myself half-ass everything 90% of the time, and the code is just yolo. I believe my half-assed implementation worked, but the Flash and FPGA libraries were still full of flaws, and Dr. Shawn notified me he’d be rewriting them.

I recall it took me quite some time to grasp how the flash works on the PIC32 so that I could get it to do what I want. I spent the next couple of days studying and testing the code Dr. Shawn rewrote for the Flash and FPGA libraries in maybe 2 hours. It was absolutely enlightening to observe the disparities in thinking. When I was still using the old libs, I was asked to rewrite them so they’d mimic the way C file operation functions behave (fopen, fclose… etc.). I worked on it, however, I’m now realizing I never really understood what Dr. Shawn meant by that until I finally saw the image he had in mind, and that’s when I read his version of the code.

It looks just beautiful. Pretty sure if I spent a week just rewriting, it wouldn’t be as flexible and secure. I’ve never read code that manipulates the way memory works in C language in this manner. You can tell Dr. Shawn can think in purely hexadecimal. To cheer me up, he told me this comes with experience, and I need more time in this game.

Anyways, I was then given two tasks for the rest of the week and the upcoming one. I was to rewrite the CORS state machine which Dr. Shawn also helped me with, and now the code is way more neat and efficient. Then I cleaned up the entire program and pushed the code onto release. Because for next week (which’s my last btw), I will be doing purely performance measurements and data collection.