2/2 This "workflows course" was requested by users after our basic #HPC course to see how things fit together and see real examples. It'll be livestream, so no limit of attendance + many helpers welcome.
The idea is examples of the pieces put together, but not going too in-depth to specific topics. Drop-ins welcome.
Want to help? What do you think should be covered? See https://hackmd.io/@coderefinery/workflowsdevday and join #CodeRefinery chat to take part.
1/? A friend recently said "cooking is easy, you just follow the instructions". I think that's not entirely true, there is plenty of 'folk knowledge' and stuff that happens beyond the recipes' instructions and mixing recipes into a meal.
This post isn't about cooking, it's about scientific computing. To solve this, we are working on a "workflows course" which will show how all the individual pieces fit together on computing clusters.
#SciComp #HPC #CodeRefinery
Following #FundResearchSoftware, we (@rvannieuwpoort and I) want to define the roles of #ResearchSoftware. We currently have the attached, and wonder what you might change or add. Please feel free to respond here, or DM me to get a google doc link where you can comment.
Want to know how many people we can reach with a livstream course? Check our stats from #PythonForSciComp: https://github.com/coderefinery/workshop-stats/tree/main/data/python-for-scicomp-2022
Summary for day 2:
~300 uniques on stream, ~150 average
~ 500 Twitch recording views same-day as the course (instant review)
~ 500 unique lesson material viewers
~ #HedgeDoc maxed at ~190 simultaneous engagers
Our most radical invention during #Covid19 was #livestream courses. Why? Well, we could reach more people, make moderation easier, record without privacy risks, and once we scaled we could have far more staff helping. #ParallelChat and #CoTeaching enables us to be even better than a traditional course.
Read more in our blog: https://coderefinery.org/blog/2022/11/14/livestreaming-courses/
Want to know how to edit videos quickly without using a full video editor? Check out ffmpeg-editlist that we made: define edit commands in #YAML, and then run the editing. It's great for distributing the editing work among multiple people via #git!
General feeling was that when #teaching, recording videos was a bad idea (privacy + not useful to others).
But when the cost and risk of making these videos gets lowered enough, it's actually pretty cool: it's an unprecedented way for learners to review and catch up immediately, which makes our course much more useful and accessible.
Read the blog post for more: https://coderefinery.org/blog/2022/11/21/video-publishing/
#AdventOfCode is an algorithmic challenge. If this sounds interesting to you but you don't have anyone to do it with, join the #CodeRefinery / #NordicRSE community in taking a look.
How to join: https://nordic-rse.org/#news
In #PythonForSciComp course, I closely tracked stats this time. For our automatic Twitch videos, we got hundreds of views - almost all the same afternoon after the course (course was in mornings).
This tells me that many people were engaging and using those videos to review in preparation for the next day. I think this is an important and often-missed way to support learners.
Stay tuned to @coderefinery for behind the scenes of these videos.
#Nordic #RSE seminar series is back!
Today at 16:00 CET, Brad Chamberlain from HPE will talk about the Chapel programming language and how it helps making #parallel #programming and working with #supercomputers and #hpc more productive.
Looking forward to seeing you there
#PythonForSciComp And we are done! We'd like to thank the ~10 instructors and ~5-10 other staff who helped make this possible.
> Best course I've taken all year, thanks so much everyone! +2
#teaching #CodeRefinery #Python #SciComp
material for future reading: https://aaltoscicomp.github.io/python-for-scicomp/
@noordsestern I haven't forgotten your question about joining #CodeRefinery:
Because co-instructors work in teams, it's pretty easy to get started and we have practical mentoring. We'd be happy for people to advertise our workshops to local audiences and run local breakout rooms. We have many needs about overall organization, coordination, and communication. If your whole organization want to join, become a partner!
Some ideas are here (join chat and say hi):
https://coderefinery.org/organization/get-involved/
#PythonForSciComp schedule update:
- soon: #packaging python code: #pyproject.toml, #pip, #PyPI
- xx:30: Panel discussion
- xx:50: Outro
#PythonForSciComp is now live on Twitch. Upcoming schedule:
- now: dependencies (#pip, #conda, environments, requirements.txt, environment.yml)
- in about an hour: #BinderHub #reproducibleresearch
#Livestream courses worth it or not? Sample feedback:
> I like livestreaming as you can have multiple levels in the course depending on your background. Like this document, where you can ask also more advanced questions. +1 (livestreaming is so much more flexible. Lecture halls are easily dominated by one or a few students - whose questions others might find not interesting/important)
#PythonForSciComp day 3 has finished, and it went great!
Tomorrow we switch and focus on the big picture of #ReproducibleResearch, using and reusing #python code.
- Dependency management with #pip #conda #mamba #virtualenv - keep your work organized!
- #MyBinder / #BinderHub for making code easy-to-run by others in the cloud
- Packaging and sharing Python libs
- A #PanelDiscussion where you can ask us anything
- Wrap-up and after-party
Tomorrow 9:50 EET / 8:50 CET, https://scicomp.aalto.fi/training/scip/python-for-scicomp-2022/
#PythonForSciComp behind the scenes. This is my #livestream setup that also lets me monitor what all the audience and @coderefinery instructors are communicating. Maybe a bit excessive but it seems to work well!
#OBS for broadcasting, #zoom for instructor studio, @zulip for internal communication, @hedgedoc for audience communication, #twitch for the stream, #github for lessons. #debian of course.
#PythonForSciComp schedule update:
- Now (xx:10), Parallel in #python. #multiprocessing is useful for many people, #MPI is more as a demo. A good 50-min intro if you want to know what's available.
#PythonForSciComp is going well. Coming up:
- Now: #scipy library ecosystem
- xx:15 or so: getting data from web APIs
- In about an hour: #parallel (#multiprocessing #MPI in #Python)
#PythonForSciComp #livestream resumes tomorrow morning 9:50 EET / 8:50 CET, with these four lessons:
- scripts (moving from #jupyter notebooks to reusable interfaces with #CommandLine)
- T+~1h: library ecosystem (#scipy ecosystem)
- T+~1h: Getting data from web APIs with #requests
- T+~2h: Parallel code in Python (#multiprocessing, #MPI, and a bit more)
All are relative basic level, designed to introduce new programmers to the topics.