This is my attempt at doing the Advent of Code 2019 challenge. I started late, on February 22nd, and is only meant for personal practice. I am doing it in Julia because I love it and want to get better at it.
I am hoping to get several things out of this, even if I don't complete all the modules (which is likely, given my work and personal schedules):
- get more experience with Git and GitHub
- get more experience with creating Julia packages and setting up a small Julia codebase
- get more experience writing unit tests and learn test-driven development
- learn how to set up CI/CD pipelines
- learn more about computer algorithms
- get better at coding in general!
I will likely update this README as I go along. Part of the learning process for me is figuring where, when, how and why to use various tools. In my opinion, it's better to start and stumble a little bit at first rather than read forever before embarking on a task. I will make mistakes and that's ok -- this is the place to make them and hopefully learn from them.
A big shout-out to the whole Julia community, a wonderful bunch of intelligent humans. In particular, I'd like to highlight:
- Chris Rackaukas for his Developing Julia Packages tutorial, which also covers unit testing and CI.
- Aurelio Amerio for his blogpost tutorial that covers largely the same material as above, Package Registration and Tests.
- Matt Bauman from Julia Computing, who gave me the push I needed to step up from writing silly little scripts to actually learning how to package up my code, and various other advice.
- And finally, I used Invenia's awesome PkgTemplates package generator to set up my package. (Both Chris, in his video, and Matt, in my session with him, showed how to use it and how it automates the more manual parts of package creation.) So many thanks to them for their contributions to the Julia ecosystem and to the community.
There are probably others I'm not thinking of, so many thanks to the Julia community as a whole.