Sicmutils study group
In the last couple of months, study groups have become a central tool for us at Scicloj, on our path of building a friendly Clojure ecosystem for data science, scientific computing, and data exploration.
We’ve practiced various ways of growing together as users and contributors of the emerging stack of libraries. Our study groups are not considered beginner-friendly yet. However, lots of our attention is about creating an environment where we can support each other. We are looking to create some more beginner-friendly projects in the near future.
In this post, let us talk about a new group we are planning: the Sicmutils study group – Structure and Interpretation of Classical Mechanics in Clojure.
Update (Feb. 19th, 2021): The times are set.
Feb. 24th, 2021
We’ll have 3 weekly meetings, so that you can pick you’re preferred time.
A. Wed 02:00 UTC
B. Wed 19:00 UTC
C. Sat 15:00 UTC
To join, please write about yourself in the form below, and join the #sicmutils stream at the Clojurians Zulip chat (details below).
Preparing for the first meeting
Please start reading the 1st chapter of SICM.
As Sam Ritchie wrote elsewhere:
I think the goal for session 1 is to lay out a great environment, have everyone intro themselves and their background, and make it feel completely FINE to exist at any stage of preparation or background. The fun of computing meets physics is that it is quite unlikely that anyone will be great at both of these tasks, so I would be beyond thrilled if we can encourage folks to help and mentor each other.
Please comment about your preferences
After reading this post, please use this survey to mark your preferences.
What is it about? Why is it so exciting?
Except for suggesting a refreshing way to learn science through Scheme code, they offer a Scheme library with wonderful facilities for symbolic math and numerical computing.
Sicmutils is a Clojure and Clojurescript port of that library by Colin Smith and Sam Ritchie. In their various talks (see below), they explain some of the possibilities that it opens for teaching sciences, for doing science, and for building the Clojure scientific stack.
The idea of making symbolic math simple and powerful through Lisp is not new, of course. But arguably, it has not fulfilled its full potential yet. Nowadays, as Clojure is quickly becoming an all-round platform for scientific computing, we may have the best chance yet to enjoy this potential in practice.
Sicmutils may allow the Clojure ecosystem to complete some of the important missing pieces in its story for scientific computing, such as Automatic Differentiation and the various algorithmic fields that rely on it. The future plans to integrate Sicmutils with fast array-programming and linear algebra libraries such as dtype-next and Neanderthal makes that direction even more promising.
What are we trying to achieve?
The goal of the study group is to learn about Sicmutils, explore some of its applications, and become contributors to the ecosystem around it.
What are we planning?
Let us plan this together – your comments will help a lot. But here is a suggestion to start with.
We will meet every week in one or more groups (depending on individual time constraints). Between the meetings, we will read and explore. At the meetings will catch up and help each other on our individual explorations. We will also discuss the materials in text, on a dedicated stream at the Clojurians Zulip.
We will begin by reading some parts of SICM (maybe only the first chapter), alongside our process of learning Sicmutils.
After that, we will take on some small projects (writing examples, helping with some Sicmutils dev tasks, exploring some applications) and use the meetings to discuss that too.
Then we’ll think together how to continue.
Sam offered his help and may be able to join some of the meetings.
If anything about the format, the pace, etc., seems uncomfortable, then I would love to discuss it and think if we can revise our assumptions or open different groups for different preferences.
Q: Will the meetings beginner-friendly?
A: Currently, our study sessions will not be beginner-friendly. Some of them will be challenging. However, we do assume that nobody in the meetings is an expert. We will seek clarity and will make an effort to help each other.
Q: What knowledge will be assumed?
A: This is not completely clear yet, and we may adapt our expectations to the actual group of people who join. We will probably assume that everybody can read the first chapter of SICM independently.
If you have doubts, let us chat and think together about it.
Q: What platform will we use?
A: We will use Zoom for video meetings.
We will use the Clojurians Zulip chat for our notes and textual discussions. Here is some recommended background about our use of Zulip: SciCloj: Chat streams
Q: How can I prepare for the meetings?
A: It can be nice if you start reading the book and start contemplating about it.
Q: How much time should I spend on the study group?
A: Probably, we will have weekly meetings of at least 2 hours, and assume that people spend about 4 hours exploring between meetings. Again, we will adapt these expectations to the group of people who actually attend. Of course, the pace of learning is different for different individuals. But these materials typically require slow and careful learning.
Q: Will the meetings be recorded?
A: Probably we will record the meetings and share the recordings in private with friends who are interested.
- Physics in Clojure - Colin Smith at Clojure/West, Match. 2017
- SICM-utils - Colin Smith and Sam Ritchie at a Scicloj meetup, Dec. 2020
- Functional Physics in Clojure - Sam Ritchie at re:Clojure, Dec. 2020
- Dynamic Notebooks and Literate Programming – Sam Ritchie at London Clojurians, Jan. 2021
- SICM in Clojure - a notebook by @Markus_Agwin
- Sam Ritchie’s blog