Coding Period 1: Week 4

Week 4 of Coding period 1 is here! Just 2 weeks left for our 1st evaluation😬. As always, it started with the awesome mentor mentee meeting on Google Meet :D

Arnold would be proud

Since the core work for M.A.R.S. was ready and pushed to our github repo, so we showed a little demo to our mentors of how the PDF is generated and a high level view of the workflow.

The generated PDF was satisfying, since the focus-areas tables were now being generated automatically (reference to previous post), and a table of content was also automatically created, 3 levels deep —

We decided that the yml config file deserves it’s own README since it is the only and important input to the scripts, so the user should be pretty clear about it. It can be found here.

Also, the Working Group heading page in the PDF was being displayed empty, not anymore — as we decided to auto generate the focus-areas table belonging to that particular WG, and we were successful for the same —

This focus-areas table is dynamic, and configured based on the input of yml file. Suppose a focus-area has some metrics but not included in the yml file, so that focus-area will also be skipped in this table, which provides us much flexibility than just copying the entire table from GitHub READMEs.

More small yet significant improvements were made like — Till now the naming convention for the focus-areas in the base folder was just focus-area.tex, but since 2 focus-areas could have same name, we decided to put the WG prefix to it — WG_focus-area.tex

Also, we continued with the standardization process of the Working Groups and made PRs for the same, as it would help us to achieve a unified structure for WGs, focus-areas and metrics, and also help us with the PDF release.

Last but not the least, the idea of using Docker for cross platform was approved by the mentors! So most of our the week was spend learning Docker and making images and testing them for Linux, Windows and Mac/OS X. We searched for LaTeX images on Docker hub but most of them were either too big (3~4 GB) with extra software or outdated. So we decided to build one our own. Our image was a bare minimum installation of texlive-xelatex engine and some essential utilities like git, pandoc, python3-pip, etc.

Yes, this did happen with me (:

Our new image size after compression was just ~ 478 MB (the actual download size) while the full image was just 1.32 GB (compared to 4~5 GB previously). We tested the containers on Linux and Windows platform and were successfully able to run the scripts! Mac/OS X is a work in progress for now.

Just finished this awesome trilogy :D

Soon we’ll be working on the documentation for the same. After the discussion with the mentors we decided to use the main README for documentation of Docker as well. We’ll be also continuing on the standardization process and attending Working Group meetings.

Also, since Monday, 5 July, 2021 is a public holiday for Independence Day in the United States, our next meeting stands postponed for now.