The Great Tower of Hanoi
I never thought I’d be here, standing at the end of the Tier 1 section for the P1XT CS guide. It feels good, real good. If you had told me 4 short months from starting this journey I’d be able to solve the whole thing with just a simple 12 line recursion (and a host of support code) I would have slapped you across the mouth.
Yet here I am, standing on the other side of that milestone proud as hell that I could cobble this thing together in a manic 10 hour session one Saturday. Without further adieu, you can view the result at geist-hanoi.surge.sh. The code is hosted here if you’d like to throw some suggestions or refinement in. I’m still having a particular issue with the animation when the speed is adjusted mid-flight.
I learned a ton with this project. First and foremost is the importance not coding plays to coding. So much of this project was actually spent planning, diagraming and walking through steps with pencil and paper, the actual code-writing and revision was maybe 60% of the project. This is one of the most surprising things a few months into this journey, the amount other types of work plays into writing excellent code and creating a program that is impactful and effective. I’m sure I’ll look back on this entry and laugh at how true this statement proves to be over time.
I was also able to use this project as an experiment to get some reps in with Sass. Spoiler it is still as awesome as I thought it was. Additionally, I applied some of the lessons in the effective thinking course to solve the abstract problems associated with this project. trying and learning from mistakes, thinking critically to understand the true goal of each function and abstracting each piece into single, clear targets.
I also employed my first generator ever. WOOOO! They are truly sweet and made the iteration much cleaner after struggling through coordinating timeouts and intervals.
Overall this was a sweet capstone, I really enjoyed it and it brought together a lot of the lessons from the tier. I can’t wait to go through the next one and build bigger more incredible things. See you next time!