After >40 years of writing in-countable lines of code in M*/COS/ISOS (and a bunch of archaic languages) I decided for myself to set a **strong signal for the future**. We have **Embedded Python** available (still pre-release)! I just felt it as a sacrilege to ignore this excellent **NEW** opportunity and stay with the old sermon that I had used for decades. **Advent** means the time of waiting and preparing for something important to come.  So to me, it meant **Advent of Embedded Python Code** that finally showed up in time. ALL class methods of 25 exercises + utility are exclusively written using Embedded Python. And I'm proud that it ranked as **#3 completed** by registered members of the Developer Community. For later use I have added also * all full descriptions of the exercises as Day*.md, * a snapshot of the private leaderboard at the time of completion of the exercise, * all test data, exercises input data and alternate exercises input data, * result summaries for all Test examples, all Exercises, and all alternate Exercises. * fully compatible with ZPM and therefore also available without Docker image So you are able to follow in all details. ### Prerequisites Make sure you have git and Docker desktop installed. **ATTENTION:** The Community License of the IRIS preview image expires **12/1/2022** ### Installation Clone/git pull the repo into any local directory git clone https://github.com/isc-at/AoC2021-rcc.git Open the terminal in this directory and build and run the IRIS container with your project: docker-compose up -d --build iris.script will import everything you place under /src into IRIS. ### How to Test it Open IRIS terminal: $ docker-compose exec iris iris session iris USER>do ##class(dc.aoc2021.Day1).Run() * Extended Run parameters: _do ##class(dc.aoc2021.Day3).Run(**part,test**)_ with part = 1,2 ; run only first or second part of example, anything else = both test = 0 ; use alternate input set test = 1..n ; run other tests as provided by example ; to run all exercises use for day=0:1:25 do $classmethod("dc.aoc2021.Day"_day,"Run") ; to run all alteratete exercises use test=0 for day=0:1:25 do $classmethod("dc.aoc2021.Day"_day,"Run",,0) ; to run all first test examples use for day=0:1:25 do $classmethod("dc.aoc2021.Day"_day,"Run",,1) ; to run ALL this with just one line for day=0:1:25 for test=-1:1:1 do $classmethod("dc.aoc2021.Day"_day,"Run",,test) Some exercises have more than 1 example: Day8:2, Day12:3, Day16:15, Day18:10, Day22:3, Day24:none ; to run all test examlpes of day 16 for example=1:1:15 do ##class(dc.aoc2021.Day16).Run(,example) Files /data/ALL*.txt hold all available results [GitHub](https://github.com/isc-at/AoC2021-rcc)