The Automation Hour - 13
Presenter
Section titled âPresenterâ- JATR
Introduction to Advent of Code
Section titled âIntroduction to Advent of Codeâ(4:53) Jakob introduced the Advent of Code, a programming competition that started last year. He mentioned that only he and Kenneth participated last year, solving a few puzzles using Excel and PowerShell. This year, there are more participants and prizes sponsored by Michael Bond.
Advent of Code Leaderboard
Section titled âAdvent of Code Leaderboardâ(8:09) Jakob explained the leaderboard for the LP42 building, where participants can win prizes by solving puzzles. He demonstrated how to join the leaderboard using a QR code and mentioned that the first challenge will appear on December 1st.
Memorization and Programming Skills
Section titled âMemorization and Programming Skillsâ(6:24) Jakob shared his experience with solving puzzles using memorization, recursion, and parallel computing. He emphasized the importance of commenting on code and improving programming skills.
GitHub for Code Storage
Section titled âGitHub for Code Storageâ(10:59) Jakob discussed the importance of storing code on GitHub to avoid losing it. He created a GitHub account and started uploading his code, which he plans to continue doing for future puzzles.
Day 11 Puzzle Explanation
Section titled âDay 11 Puzzle Explanationâ(14:26) Jakob explained the Day 11 puzzle, which involves manipulating stones with numbers engraved on them according to specific rules. He provided examples and detailed the rules for changing the stones.
Initial Approach to Solving the Puzzle
Section titled âInitial Approach to Solving the Puzzleâ(25:16) Jakob described his initial approach to solving the puzzle, which involved importing data, creating arrays for stones and pointers, and iterating through the stones to apply the rules. He encountered challenges with preserving the order of the stones.
Optimizing the Code
Section titled âOptimizing the Codeâ(37:19) Jakob shared his efforts to optimize the code by removing the order pointer and trying different methods for splitting numbers. He eventually used recursion to improve the performance of his code.
PowerShell 7 and Parallel Computing
Section titled âPowerShell 7 and Parallel Computingâ(43:15) Jakob discussed the benefits of using PowerShell 7 and its parallel computing capabilities. He explained how running processes in parallel helped speed up the calculations for the puzzle.
Memorization Technique
Section titled âMemorization Techniqueâ(48:36) Jakob explained the memorization technique, which involves storing previously calculated results to avoid redundant calculations. This significantly improved the performance of his code.
Final Results and Future Plans
Section titled âFinal Results and Future Plansâ(56:05) Jakob shared the final results of his optimized code, which completed the puzzle in a fraction of the time compared to his initial approach. He encouraged others to join the Advent of Code and mentioned the upcoming draw for prizes.