To help me be more accountable, and also work out how to plan my year and work out what’s important to me, I thought I’d share some of my goals for 2024. Writing it all down is a bit scary, and it makes me think that maybe I might be a bit ambitious here. But I think it’s OK to be ambitious.
Learn JS and Rust
I’d like to try and pick up another programming language for 2024. I don’t really have good fluency with other languages outside of R. I can fumble my way through python and HTML/CSS, a wee bit of C++. But I think it’s important and useful to learn a new language to help broaden your own understanding. I’d like to focus on JS (javascript) and Rust.
I think JS because it has such an enormous influence on the web, and the tools we use every day. I’ve taken a nice course by Garrick Aden Buie (I can’t seem to find the course website) in 2020 (one of the last conferences I went to), but I unfortunately didn’t really use JS that year so it’s sort of all fell out of my head.
To learn JS I was thinking I would start with JavaScript30 by Wes Bos, and then move on to You Don’t Know JS by Kyle Simpson. Hopefully I can learn and understand enough to try incorporating JS into R via quarto or htmlwidgets or something.
Rust seems like a better language to use than C++. My experience with the rustlings course was excellent, and the error messages from rust were like, actually understandable? It was bizarre. Plus with the rextender R package you can bundle up your R code just like you do with cpp11 or Rcpp. It’d be cool to build something fast and fun in Rust and then bundle it into an R package.
It’s hard to learn two languages at the same time, so I think I’ll try and do 6 months on JS, and 6 months on Rust.
- January - June: JS
- July - December: Rust
Read some more programming books
I’d really like to read these three books:
- Statistical Rethinking
- The Pragmatic Programmer
- Structure and Interpretation of Computer Programs (potentially even the JS edition)
Hopefully by saying this out aloud I will be able to actually complete this.
Similar to above, I guess I’ll break this up into 3 parts of the year:
- January - April: Statistical Rethinking (~4 chapters a month)
- May - August: The Pragmatic Programmer (2 chapters a month)
- September - December: Structure and Interpretation of Computer Programs (~1 chapter a month. But oh boy is that book massive…)
Make a contribution to R Core
There is now an R Contribution Working Group, which is focussed on encouraging new contributors to R core, with a focus on diversity and inclusion. I’ve joined the slack team, and put the next two meetings in my calendar.
Courses & books
This year I’m going to be helping deliver a few more courses, the rough plan so far is:
- Feb 7: greta course in Canberra
- March 25/26: quarto for scientists (online)
- June: longitudinal data analysis
- Later in the year: another course - functional programming? Missing data?
Accompanying these courses I’d like to publish little living books, like I’ve done with the Rmarkdown for scientists book.
R packages
- Publish and finish conmat
- Regular releases of greta
- Develop and release new pipeline on generalised stacking in insecticide resistance
- Keep my other R packages updated
Work things
The big goals for work this year are related to the above tasks, but the big ticket items for me are:
- (Finally) release the Tensorflow 2 version of greta
- Establish regular greta releases, create a greta blog
- Develop documentation on the internals of greta
- Develop a culture and community of practice at work with code review
- Win grants for developing software to solve tricky problems in infectious disease modelling
- Publish software as JOSS papers
Other misc tech / ideas
- Blog regularly
- Remember how to use
switch
reliably in R - Become more proficient with
git
- Use lintr in my projects
- Consider doing a livestream of a tidy tuesday data cleaning / EDA
- Condense my internet browsing into an RSS reader
- Focus on getting quality sleep
- Do more running
End
My hope is that I’ll review these goals at the end of 2024. Honestly it’s quite scary to post these plans, and I’m questioning if this is even a good idea to do so publicly. But I think I’ve got the right intention, so let’s leave it at that.