# Train the trainer archive pt 2 [TOC] # CodeRefinery train the trainer workshop <img src="https://notes.coderefinery.org/uploads/4e14e0a3-7fc5-43e7-a179-a187127fb90a.png" alt="CodeRefinery logo" style="width:20%;"> :::info - Time: Every Tuesday 13.8-3.9 9-12 CEST - This page: https://notes.coderefinery.org/TTT24 - Connection details: https://cscfi.zoom.us/j/67293343928 - Teaching material: https://coderefinery.github.io/train-the-trainer/ - Registration: https://coderefinery.github.io/train-the-trainer/ - [Code of conduct](https://coderefinery.org/about/code-of-conduct/) - Day 1 and 2 collaborative notes archive: https://hackmd.io/@coderefinery/TTT24_archive ::: ## Day 3 - "About teaching and cool things we all would like to share" ### :calendar: Schedule | Time (CEST) | Title | EEST (UTC+3) | BST (UTC+1) | |---------------|---------------------------------------|---------------|---------------| | 8.45 - 9.00 | Connecting time | 9.45 - 10.00 | 7.45 - 8.00 | | 9.00 - 9.15 | Intro and Icebreaker | 10.00 - 10.15 | 8.00 - 8.15 | | 9.15 - 9.45 | Computational thinking | 10.15 - 10.45| 8.15 - 8.45 | | 9.45 - 10.00 | Break | 10.25 - 11.00 | 8.25 - 9.00 | | 10.00 - 10.30| Teaching philosophies | 11.00 - 11.30 | 9.00 - 9.30 | | 10.30 - 11.00 | Co-teaching | 11.30 - 12.00 | 9.30 - 10.00 | | 11.00 - 11.15 | Break | 12.00 - 12.15 | 10.00 - 10.15 | | 11.15 - 11.50 | Sharing teaching gems (voluntary) | 12.15 - 12.50 | 10.15 - 10.50 | | 11.50 - 12.00 | Outro and feedback | 12.50 - 13.00 | 10.50 - 11.00 | ### :icecream: Icebreaker #### Check-in Which emoji best describes your current state of mind? [Emoji cheat sheet](https://www.webfx.com/tools/emoji-cheat-sheet/) - ... - :sleeping: - :coffee:+2 - :robot: - Still little sleeppy :) - đŸ„Ž (:woozy_face: still not converted đŸ€·â€â™‚ïž) - Our planet could be a cube. It has six sides to it. It must be a cube. A cube it is, this Blue Planet ... just wondering ... - đŸŠŸ - :sweat_smile: - computer says no :-) some network trouble - running late, and participating from a :train2: #### Introduction in breakoutrooms Name / Affiliation / Location - Bryn Noel Ubald / British Antarctic Survey / London, UK - Dhanya Pushpadas / University of Bergen /Norway - RaĂșl Ortiz / TU Delft / the Netherlands - BjĂžrn Lindi / NTNU / Trondheim, Norway - Stepas Toliautas / Vilnius University / Lithuania - Sebastian Kuckuk / Erlangen National High Performance Computing Center / Germany - Laura G Ribeiro / VTT / Finland - Yassine Kaddouri / Yellow method / Finland - Stephan Smuts / Aarhus University / Denmark - Ashwin V. Mohanan / ENCCS / Sweden - Francesco Fiusco / ENCCS / Sweden - ptr / louvain-la-neuve / belgium - Priyanka Ojha / Amsterdam UMCT - Nick Bearman / freelance & UCL Geography / travelling (Dorset, UK) - Esther Plomp / TU Delft / the netherlands (only here for the first half, sorry!) - Ilkay Holt/ British Library/ UK #### Best classroom experiences As a learner or teacher; what was the best workshop/lesson/seminar you have attended? What made the experience great? - Room 1 - First summer HPC streamed workshop (as a teacher). Somehow the first felt the best - CSC HPC summer workshop - story telling teaching approach - Room 2 - NVIDIA DLI Course on Deep Learning - very enthusiastic instructor - intuitive and very accessible way of showing technical details and fostering deeper understanding - a lot of hands-on material and smaller coding exercises - Anything as long as its interactive and somehow enjoyable from both teacher and learner sides - Room 4: - EPCC MPI Distributed training workshop. - Lots of hand on coding / experience gained. - Very interactive instructor who also discussed ideas for more personalised cases of distributed computing. - Coderefinery RSE course - relevance of topic to my current work. - Dynamic / friendly / positive teaching style. - Modular Code Development; very instructive - Some CSC courses / LinkedIn learning courses - up to date materials and topics. - Good way to merge theory with practicalities without making learner feel bored (Example: Jonathan Reichental) - Challenging information to learn more and research about the topic - Trainers are the experts in the field :::success #### Episode on teaching gems If you want to share or demo something about tools and techniques you have found helpful in your teaching, please add your name/initials and rough topic below for smooth transition. > Note: It does not have to be your tool or your idea, this episode is meant to share experiences and discover new things. You also do not need any slides or materials, a story will do fine :) > Length of the stories will be depending on interest, but be prepared to fit it into 3 min (shortest possible). - RD: teaching clock - RB: [Containerized teaching setup](https://github.com/bast/teaching-setup) - Isolated home dir is a good idea! - AVM: [Screenkey for showing keyboard shortcuts](https://www.thregr.org/wavexx/software/screenkey) ::: --- ### :question: Questions #### General / Practicalities - What is this document for? - Asking questions, collecting discussion points, taking collaborative notes (Zoom chat deactivated, can only be used for communication with the hosts) - Will the material be made available? - Materials are and will stay available at https://coderefinery.github.io/train-the-trainer/ - Can I share them with a colleague - Yes please :) - Can I resuse them in my own teaching? - Yes please :) - Will these sessions be recorded? - No, but the materials (see above) should include everything needed for self-learning. - Can I get a certificate for this workshop? - You can get a certificate of attendance after the workshop by sending an e-mail to support@coderefinery.org, telling us a bit about what you have learned and which sessions you attended. - How often will we be talking in breakout rooms? - We'll have about one breakoutroom session per episode --- :::info Introductory breakoutrooms until xx:15 Introduce yourself and tell about your best workshop/lesson experience as a teacher/learner. ::: ## Episode 1 : Computational thinking Materials: https://coderefinery.github.io/train-the-trainer/computational-thinking/ (Link to slides in the middle of material) ### Questions to audience How might breaking down a complex problem into smaller parts change your approach to problem-solving in your current projects? - Avoids cognitive overload - I used to give an example about this in workshops of cutting long tree into pieces from top to avoid that it falls and destroy a house bloc. - Easier to start on something small - Each individual part is familiar and can take existing solutions. - Only focus on the new things - One can lose oversight of where is supposed to be getting to due to problems with summation of biases introduced during the solving of the parts. - . Can you think of a research project where identifying patterns in your data led to new insights or breakthroughs? - Multi-targeted drug design where you need to identify both chemical and biological pathways/patterns - Distilling complex physics problems into simpler 1D statistics is very often done. - I used to do bioinformatics, pretty much everything in biology is about patterns in strings of charachters (DNA, proteins). Finding those patterns and using them is the way to go - Pattern recognition DOES NOT lead to new insight, it is new insight which allows for the recognition of a 'pattern', the latter being an allocation of possible bias. - - .. What challenges do you face when trying to simplify complex concepts in your field, and how do you decide which details to focus on? - Absence of a terminology / jargon to describe a new idea. :+1: - Similar to above, when teaching often students know what they want to achive, but don't have the termonology to express it, so working through what they want is helpful, after teaching them some termonology. - Whatever is most useful to the learner first? - I work with researchers in different fields. I don't always fully understand their domain knowledge but I can take the basiscs or generalities and get code that works for them - A very practical problem is trying to resist going for a coffee in the midst of taking a shot at a complex concept, in the hope that the true details are to be found in the coffee. - not all information is easy to find or a lot of conflicting information or even sometimes imformation explosion How do you determine the priority of tasks when designing algorithms for your academic projects, and what criteria do you use to ensure that the most critical tasks are addressed first? - Working chronologically when going through a problem - start at the beginning. - What gives the more insight with the least effort can be a nice start - Talk to colleagues and Subject matter experts to understand various perspective to decide and prioritize. - Logic will get you from A to B. Imagination will take you everywhere. - Albert Einstein. - .. ### Questions from the audience Stephan will answer them later here in the document. (He needed to jump to another teaching event) - About the 4 core concepts, is this based on the model of how human brain works and perceives vision / abstract ideas? - Devil's advocate question: cooking (by recipe) actually employs all four principles outlined here and has done so since before the advent of computers. Why then is this concept presented as "computational"? - Random aside, this is an interesting connection to our "cooking metaphor to HPC" - Devil's answer to the Devil's advocate: Great question, cooking, as far as the act happens in the Devil's kitchen, does not employ numerical algorithms. The Devil introduced the computer precisely to make man lose apetite for that what is cooked in the Devil's kitchen to be served to all. Only then can the Devil eat the cake and keep it too ... - Well, an algorithm without numbers is still an algorithm, i.e. a set of rules :) - Are there other names for this technique? I may have missed something crucial, but it strikes me as 'logical thinking' in a way. - Yes, you could also just see it as problem solving. Most people know how to do it and if you've worked with programming, you've probably applied it. It can be the case that it's very obvious to some, but not to others. - Any chance we can ge a link to the slides? - They are in the course material: https://coderefinery.github.io/train-the-trainer/computational-thinking/ :thumbs_up: :::info Exercises in breakoutrooms until xx:49 ::: ### Exercise questions to discuss 1. Conceptually would the strategies provided by computational thinking help you in completing tasks more efficiently? - Room 1: - divide and conquer technique - We discussed what happens if you *don't* use these, since they are so natural - Room 2: - in some cases yes, if the task is not too small - not sure if more efficiently but it does help at least getting strted - Computational thinking is an extension of what others have called solutionism: the belief that any given problem can be solved by the application of computation. Whatever the practical or social problem we face, there is an app for it. - James Bridle - Room 3: - Helps in starting the task. - For many it is the normal way to do problem solving. Also in Agile & Scrum methodlogies. - Room 4: - Yes, it helped me during my scientific research to manage multiple projects and research publications simultaneously. - 2. Do you think that the effectiveness of computational thinking depends on the person’s personality type? - Room 1: - yes, we agree it's quite different. But good vision and motivation this can be effective - Room 2: - yes, laying out all the steps necessary to achieve an overall goal can be very daunting; some people are not good at/ comfortable with following fine-grained instructions - once the problem is broken down, different personalities might choose different ways to tackle the parts - The degree to which something, that is a result of what one means by 'Computational Thinking,' is successful in producing a desired result, that is success, cannot be a function of personality. - Room 3: - Yes. Different people have different ways to communicate. - Online tools vs pen and paper - Room 4: - We are all agree that it depends on the personality type but it could be learned and trained 3. Would this type of thinking be an option for you to integrate into your current workflow? - Room 1: - Yes; we didn't know the name explicitly; but we use it - It's quite important for - Room 2: - I'm already doing it implicitly :smile: :+1: :+1: - Writing a program is like writing a song, its all about the tune, lyrics are merely the necessary nuisance a coder needs to put up with. The latter can, if so written, result in a lot of noise. - Room 3: - Easy if you are working alone. But different team may have their own ways of working (inertia). One way would be then to gradually show the rest of the team its effectiveness. - https://teamtopologies.com/key-concepts - Room 4: - We are using it in our daily life so it's already an option for us, only the terminologies are a bit new. :::info ## Break until xx:00 ::: ## 2. Episode: Teaching philosophies Materials: https://coderefinery.github.io/train-the-trainer/teaching-philosophies/ :::info Discussion until xx:23 ::: Questionst to discuss: - Share your approach to teaching and your teaching philosophy with your group. - Please share your tricks and solutions in the live document for others. Additional ice-breaker questions: - What is your motivation for taking this training? - How structured or informal are your own teaching needs? - What difference do you notice between the teaching what we (also Carpentries) do and traditional academic teaching? - What other skills need to be taught, but academic teaching isn’t the right setting? ## Breakout Room exercise - Room1 - Motivation - For best practices in teaching, learning from each other, collaboration - Learning applied tech is like an apprecentiship: there is theory, but real learning happens by co-working with others. - Worse is better: teach what can be used more quickly and it can be improved later - - I think there are two bits of teaching - teach the basics and terminology so people know what they want to know, and then teaching how to find out how to do things like Richard said - how to find answers yourself. - Using Jupyter notebooks - good for learning a technique, but not for learning the basics. - Possibly command line usage has a branding problem - "programming other programs"? - the skills we learn in CR training are expected to stay , it is not exam oriented - Room 2 - State objectives clearly and repeat them a few times - Try to keep it informal, interactive, flexible - Helps when having practical tasks in mind for the materials taught - Leave some reasoning to the learner, not always giving full answers - How to deal with frustration though: try some personal approaches, more clues... - The mediocre teacher tells. The good teacher explains. The superior teacher demonstrates. The great teacher inspires. — William Arthur Ward - Teaching kids to count is fine, but teaching them what counts is best. –Bob Talbert - Room 4 - Question 1: What is your motivation for taking this training? - Currently do instruction, wanting to improve as an instructor and helper when conducting software carpentries. - Planning to start some side hustles providing online courses and why not joining the CR in the near future - Question 2: How structured or informal are your own teaching needs? - More recently, follow software carpentries, but look into what aspects can be tailored to keep to different time slots. - I used to be more informal in the past, repetetive practice sessions. Would like to be more structured given the teaching tools. - I've done life-coaching and some teaching but I feel i'm both of them - Question 3: What difference do you notice between the teaching what we (also Carpentries) do and traditional academic teaching? - Smaller size, and more targetted. - Collaborative tools and targeted audience working with small groups - Academic probably focuses on an audience with a more focused/narrow background, while this style encompasses a wider audience. - Academic teaching keeps theory and practical lab sessions very separate, whereas carpentries combine both. - Question 4: What other skills need to be taught, but academic teaching isn’t the right setting? - Public speaking, collaborative meeting skills - Industrial cases and related work skills Your questions/comments here - .. - .. ## Episode 3: Co-teaching Materials: https://coderefinery.github.io/train-the-trainer/co-teaching/ - In general: Co-teaching is a beast with at least two personalities each of which * demand higher preparation requirements * face remarkable complexity in terms of coteacher coordination * in the virtual component face shortcomings related to the technical equipment and the failure of the human factor * Co-teaching requires the framework of co-operative learning. Team teaching does not by default translate into parallel learning, and vice versa. - Re: CodeRefinery in-person beginnings -- I agree with the "didn't work so well in-person", I'm not sure if it's that we weren't as ready for it, or that the different characteristics made it not work so much - How do the downsides compare to a single instructor monologuing? - That's a great question! The main difference is that a single instructor can teach himself to be good (i.e. not just boring monologuing) **alone**, while for teams of 2+ to work well, **everyone** needs to be baseline-competent. So the effort to avoid downsides gets reduced if (and only if) all team members share it. :::info Exercise/Discussion: https://coderefinery.github.io/train-the-trainer/co-teaching/#exercise Questions: - Have you already tried this or similar model in your teaching? - Does it seem natural to apply this model in your subject area (tell what it is)? How could it be adapted to fit best? - Have you tried or seen a different model for two instructors to present? Please share with us how it works. ::: - room 1 - We have tendend to do presenter/interviewer more - challenges are co-teaching with different personalities - room 2 - Main challenge: finding enough personell :smile: - It's not always possible/feasible to have colleagues co-teaching - A combination of both, but presenter and interviewer could be difficult to plan an to follow - Guide and demo-giver with technical / non-technical roles could be nice - How to plan the guide and demo-giver - First guide, then demo - Demo, then guide describes - Alternative model: main presenter + 'technical expert' - main presenter introduces concepts from a birdseye view and passes on to the technical expert for additional details, experiences and answers to questions from the audience - We frequently do a classical division: on person in presenting, one or more are answering questions in the chat; there is rarely any interaction between them however * As has been pointed out by Paolo Freire, in general, ‘education is suffering from narration sickness’ ... ‘The outstanding characteristic of this narrative education, then, is the sonority of words, not their transforming power’. Perhaps one approach could be to rephrase the question after having the answer: It is not apriori about the model implemented, it is about whether that what was implemented was judged aposteriori to have succeeded in becoming, or at least could pretend to have done so, the intended context matched model implementation it probably was computed to be. - room 4 - the co-teaching approach does not seem to be widely practiced - it can be interesting to see "mistakes" which are less likely to happen in solo-teaching? - co-teaching can be nicer for audience but maybe more stress/anxiety for instructors to prepare? more stress in terms of not knowing all the questions in advance. less stress worrying about forgetting something. ## Teaching gems (scroll up to find the green box "Episode on teaching gems") What's your favorite way of teaching? Any nice tools you use? Has anyone found a nice online tool to draw? - I love this tool suite https://excalideck.com/ - For drawing https://excalidraw.com/ - I have seen Miro ... - I think the Code Refineries use something for their graphics that looks a bit 'cartoony' - but I cannot remember what it is called! - Drawn on remarkable and then coloured and tidied up in Inkscape. :+1: - I am a big fan of remarkable. I think sharing option is fairly good. Unfortunately bit expensive tool. - true, for me it was worth it already for the pdf annotation for research papers, cannot read on computer screen - https://webwhiteboard.com/ - https://www.youtube.com/watch?v=4-l8MY5kYGc - Figma and Kahoot are useful as well Screenkey: [Screenkey for showing keyboard shortcuts](https://www.thregr.org/wavexx/software/screenkey) - Is there a Windows version people can recommend? - I found this list of alternative for windows users like me: https://alternativeto.net/software/screenkey/ :+1: - I sometimes use the on-screen keyboard already provided by the OS :+1: ## Wrapup - Next session Tuesday September 3rd 9 CEST: About teaching & cool things we all would like to share - All workshop materials will stay available (and be put on Zenodo right after the workshop, currently other epsisodes are still in development) - CodeRefinery community: https://coderefinery.zulipchat.com/ - If you want to co-teach with us in the upcoming (or any future) CodeRefinery workshop; or just want to learn more about this opportunity: Let us know in chat, send an e-mail to support@coderefinery.org, or join any of the upcoming Monday planning meetings at 14 CEST - Preparations for next week will be sent out by e-mail ## Feedback about todays session What one thing was the most valuable/useful thing you learned today? Or generally one thing you liked about this session: - The co-teaching lesson and experiences from others - Discussions were quite good, had a nice group - Breakout rooms and collaborative tools - Computational thinking and co-teaching are interesting ideas! I have seen it before, but never knew or even recognized it was a method. - Thanks for group discussions working with my chat only interaction! :smile: - .. What one thing would you improve about this session? - Minor point - it would be useful to have the teaching gmes box at the bottom of the document rather than the top - tricky to scroll between! In the end I opened two windows which was easier. - Thanks, yes agree. Also had that problem, but did not want to move it in between. - The meaning of teaching "philosophy" wasn't very clear, felt more like teaching "styles" - Thank you, we will take that into consideration - Some prepared slides to present for an intro about the topics - You mean in addition to the materials? To use in the beginning of each session? - The [*instructor views*](https://coderefinery.github.io/train-the-trainer/teaching-philosophies/#instructor-views) segment could be named as additional material, if it was not meant to be discussed within the course. - Thank you, we will take that into consideration Any other comments? - Keeping it short and sweet: If at first you don't succeed in teaching, try to explain it like you're talking to a room full of cats. Caveat: In a room full of computational thinkers maybe if you tell students that the brain is a computational device that is forbidden, they might get excited and start using it. - .. - .. # CodeRefinery train the trainer workshop <img src="https://notes.coderefinery.org/uploads/4e14e0a3-7fc5-43e7-a179-a187127fb90a.png" alt="CodeRefinery logo" style="width:20%;"> :::info - Time: Every Tuesday 13.8-3.9 9-12 CEST - This page: https://notes.coderefinery.org/TTT24 - Connection details: https://cscfi.zoom.us/j/67293343928 - Teaching material: https://coderefinery.github.io/train-the-trainer/ - Registration: https://coderefinery.github.io/train-the-trainer/ - [Code of conduct](https://coderefinery.org/about/code-of-conduct/) - Day 1 and 2 collaborative notes archive: https://hackmd.io/@coderefinery/TTT24_archive - Day 3 collaborative notes archive: https://hackmd.io/@coderefinery/TTT24_archive_2 ::: ## Day 4 - Session 4 (03.09.24) Streaming and video editing ### :calendar: Schedule | Time (CEST) | Title | EEST (UTC+3) | BST (UTC+1) | |---------------|---------------------------------------|---------------|---------------| | 8.45 - 9.00 | Connecting time | 9.45 - 10.00 | 7.45 - 8.00 | | 9.00 - 9.15 | Intro and Icebreaker | 10.00 - 10.15 | 8.00 - 8.15 | | 9.15 - 10.00 | Why we stream & Behind the scenes | 10.15 - 11.00| 8.15 - 9.00 | | 10.00 - 10.15 | Break | 11.00 - 11.15 | 9.00 - 9.15 | | 10.15 - 10.35 | Video Editing | 11.15 - 11.35 | 9.15 - 9.35 | | 10.35 - 10.55 | Exercise: Video Editing | 11.35 - 11.55 | 9.35 - 9.55 | | 10.55 - 11.10 | Break | 11.55 - 12.10 | 9.55 - 10.10 | | 11.10 - 11.30 | Open Broadcaster Software(OBS) introduction | 12.10 - 12.30 | 10.10 - 10.30 | | 11:30 - 11:50 | OBS setup & what next | 12.30 - 12.50 | 10.30 - 10.50 | | 11.50 - 12.00 | Outro and feedback | 12.50 - 13.00 | 10.50 - 11.00 | ### :icecream: Icebreaker #### Check-in Which emoji best describes your current state of mind? [Emoji cheat sheet](https://www.webfx.com/tools/emoji-cheat-sheet/) - :coffee: + - :runner: - :tired_face: Tired! - :nerd_face:![](https://) - ![](https://notes.coderefinery.org/uploads/58bfdc31-ac86-4172-aef4-b7b4bd762533.png) - :cloud: :tea: #### Introduction ##### Name / Affiliation / Location - BjĂžrn Lindi / NTNU / Trondheim, Norway - Yassine Kaddouri / Yellow method / Helsinki, Finland - Nick Bearman / freelance & UCL Geography / Dorset, UK - RaĂșl Ortiz / TU Delft / the Netherlands - Bryn Noel Ubald / British Antarctic Survey / London, UK - Richard Darst / Aalto University / Helsinki - Michele Mesiti / Karlsruher Institut fĂŒr Technologie / Germany - Ashwin V. Mohanan / ENCCS / Sweden - Dhanya Pushpadas / University of Bergen/ Norway What's the most number of people you have taught to? - 20 at a time, with 1 asleep, 2 fidgiting with some silly device and the rest were... well... staring at their good luck... straight ahead it was of course, right before them. - ~35 - ~80 in a lecture in a previous (lecturer) role, 26 in a training course setting - ~30 - ~50 in training spaces and more than 100 for public audience talk - 35 (software carpentry) - CodeRefinery answer: The biggest ones are maybe 200-300 people. "small" for a stream is ~100 people. What's the most number of people you have taught with? - 5 or so - 2 or 3 in total - 3, as in three, none of them smiling. I wish I could figure out why... it was such fun really... - 7 - 2 or 3 - 3 (helpers, not really co-teaching) - CodeRefinery answer: our biggest workshops are something like 10-20 people helping out in many different roles. How can you divide teaching into separate independent tasks? - By content blocks, having roles like main and assistant... - Having responsibility for different sections of the course. - Wow, now thats what we call a question... bravo... indeed, how does one separate sleeping and snoring into separate independent tasks... - - Course, exercices, resources, tools and forms. - Different people teach different topics - CodeRefinery answer: the big logical blocks are instructors, in-person and breakout room helpers, and Notes-questions answers. What’s the most interesting or useful thing you’ve learned from an online workshop, and how have you applied it/planning to apply in your life or work - Having breaks every hour or so - New approach to screensharing, using the 'portrait' approach - Manage breathing: reduce stress and use silence to let the audience grasp what you're saying - Well, the most interesting or useful thing I’ve learned from online workshops is how not to conduct a workshop, or at least some elements of the same, and I have applied this understanding by engaging in the global effort to discover more about how not to conduct a workshop, or at least some elements of the same, with the motto: That's one small step for a man, one giant leap for mankind.. - ## Session 4 Intro (part) https://coderefinery.github.io/train-the-trainer/session-4-intro/ ## :question: Questions ## Episode 1: [Why we stream](https://coderefinery.github.io/train-the-trainer/why-we-stream/) - If during streaming there is no interaction between the teacher and the audience, why don't we just record the lectures and stream them? So one can do a better job, perhaps? - Streaming it making it a "thing" that's a group experience. It feels good to be a part of it, so we hope that encourages people to actually attend. All the mass Q&A is fun, and the audience helps to make it easier to present. Still, this is a good question. - I really appriciate it being "a thing". If it was just recorded, I would say I would watch it tomorrow, and then I never would. - But then you can just fake it, and still have all the breakout rooms and collaborative document and so on. I appreciate the value of having a proper "event". - I think I follow you, but if you pre-recorded the talking bits, then the presentors couldn't change what they do based on the feedback in the shared document. - true, but I assumed that the teachers were too busy to actually do that. The more (less )division of labor between the teachers and the helpers (or collaborative document editors), the more (less) sense it makes to pre-record - IMHO - What interaction options do 'streamers' use, e.g. on Twitch/YouTube (not Code Refinary)? - I'm besides chat and things that happen in chat, I'm not sure. The Notes-doc is definitely unique to us. - Streaming is a kind of exercise for the movie star type. If you cannot be one, act like one, pretend, fool the listener into thinking you are one, take their brains and emotions under control. And if they don't leave the session with tears of love for learning running down their chubby cheeks you know who to kick for doing a job just that bit worse than it should have been necessary. - Have you kept track of streming stats? like how many people logged in and stayed troughout, how many interacted? - Yes please, it would be good to see the stats - Here is stats [repo](https://github.com/coderefinery/workshop-stats) - Thanks, I get a 404 error, is it private? - No, I don't think so. https://github.com/coderefinery/workshop-stats - Still get 404. Does it work for anyone else? - Yeah I think it's private. We need to fix this... - How big is small (10-15), medium (~30-40)? - I would say below 50 is small. - Have you considered scaling to more events instead of to a larger audience? I mean, this seems the opposite of scaling, but this kind of content would be more useful the more often is it taught ("I need to learn GIT/Python/* in December!") - We would, but right now we simply don't have enough time and people to do more small events. But yes, "scheduling conflict" is a big problem - the best we can do right now is written material+videos to follow up on (and hope it's interesting enough) - [Python for Scientific Computing 5-7/November/2024](https://www.aalto.fi/en/events/python-for-scientific-computing-5-7november2024) - This was just an example. I mean, if I am a PHD student that needs to start working on a topic on Month X which happens to be inconveniently placed in the year, I will not benefit as much from having a workshop at Month X+3 - The materials are open and the videos are publically available on YouTube channel - What's the ratio of people watching videos afterwards vs people attending the event? That ratio can give an idea of the popularity of the two possible approaches. - The more you scale up the less interactive the course / workshop will need to be. It then becomes a question of priorities, and if teaching is a lower priority then learning than I guess there really should be no prizes for guessing which approach should reign the airwaves. - I guess outside Europe / Africa, time zones could be a problem? - yes, that is true - - Sorry, I might have missed this: have you been rehearsing and/or doing dry runs? - With instructors I like to try to do a dry run. I often don't do a live broadcast dry run these days since I'm confidente enough, but when you are just starting, it's a good idea. - Do you always use Zoom for the 'presenter end' or have you tried other things? Teams? Jitsi? etc.? - we use mostly zoom - It was first pioneered using Jitsi. You can probably use others, too. - A comment: for deRSE24 we have been using the [GWDG streaming service](https://docs.gwdg.de/doku.php?id=en:services:mobile_working:live_streaming:start) and OBS, it worked quite well (with a 20s delay or so) - Cool! Yes, there is plenty of livestreaming options. Twitch+our OBS config gives us 2-3s of latency (which is low enough for live Notes interaction). You might be able to tune this if needed. ## Behind the stream - Does OBS take a lot of RAM or CPU? what are the specs on your machine? - Richard have a relatively powerful computer with 8 AMD CPUs. - 4 CPUs are relatively enough for a good OBS setup, most important is a stable internet connection (ideally wired). - An extra monitor is recommended for the setup - See the hardware notesrecommendation [here](https://coderefinery.github.io/train-the-trainer/obs/#hardware-requirements) - Do you do a screenshare from Zoom -> OBS or OBS -> Zoom? - Instructors share to Zoom, OBS captures Zoom, OBS sends to the world. - When I am using OBS sfor a single-person presentation recording, I go the other way: OBS captures my desktop/camera, OBS generates the preview window, and then Zoom captures and broadcasts the preview window. ## [Video editing](https://coderefinery.github.io/train-the-trainer/video-editing/) ### Poll - Have you tried video editing? Add an`o` as answer below - yes: ooooo - no : - Video editing makes all the difference. I have never known a way to avoid this sacred of steps, so to speak. In short, no recording can ever be production ready by default in the books of the wiser among the streamers. In fact, during the editing one can considerably refine and improve the learning experience in great ways. But then one would need to invest both time and effort. - If `yes` Which are the tools you use? - Windows Movie Maker / ClipChamp - (raw stream from Zoom) - I think it was shotcut - I did only basic trimming - Kdenlive - Clipchamp, OpenShot, Sony Vegas - also ffmpeg from command line to cut beginning and end ## :question: Questions - What is Whisper? - Open-source model from OpenAI that converts speech to text transcripts. - this one? https://openai.com/index/whisper/ - curious if anyone has tried it with languages other than english - I heard that one of my spanish colleague try it with another software. I don't remember the tool. But with AI bloom there are many licensed tools that can do it with fifferent language - What do you use to crop the videos? - I see now, ffmpeg - how to merge multiple parts in one? I asked because you edited only the icebreaker part? - you can manage it in input part, see ffmpeg-editlist readme. - Do you generate custom thumbnails for the video? - no, because of the time, but its good to have. If we had a volunteer to manage that, then we should! - Does anyone recommend any other (GUI) tools that work well? ffmpeg is very new to me! - if you want a basic trimming and editing , you can use Quicktime player/imovies on mac - Clipchamp as the Microsoft video editor - Thanks :smile: - How do subtitles get uploaded to YouTube? - You upload the video and subtitles as part of upload. - :+1: - How does codewhisperer compare against youtube's automatically generated subtitles? - by experience, whisper was better couple of years ago. We haven't compared it recently - I guess and advantage is that you can edit whisper subtitles in case something is odd or whatever, probs cannot do that in YouTube :::info ## Break until xx:15 ::: ## [Open Broadcaster Software (OBS) introduction](https://coderefinery.github.io/train-the-trainer/obs/) & [setup](https://coderefinery.github.io/train-the-trainer/obs-config/) ### :question: Questions - Are the profiles public? - Yes, you can see it [here](https://coderefinery.github.io/train-the-trainer/obs-config/#coderefinery-obs-configs) - Does it work in Linux+Wayland? - I think everything we do with OBS would. - . ## Wrapup - All workshop materials will stay available (and be put on Zenodo right after the workshop) - Upcoming Workshops - [CodeRefinery workshop September 10-12, 17-19, 2024](https://coderefinery.github.io/2024-09-10-workshop/) - [Build Systems Course and Hackathon](https://www.kth.se/form/build-systems-course-and-hackathon-part-i) - [Python for Scientific Computing](https://www.aalto.fi/en/events/python-for-scientific-computing-5-7november2024) - CodeRefinery community: https://coderefinery.zulipchat.com/ - If you want to co-teach with us in the upcoming (or any future) CodeRefinery workshop; or just want to learn more about this opportunity: Let us know in chat, send an e-mail to support@coderefinery.org - A summary email will be sent out to all participants ## Feedback about todays session What one thing was the most valuable/useful thing you learned today? Or generally one thing you liked about this session: - ffmpeg seems great, will give a try for fun! - great to see everything in practice! - Very insightful to see what happens behind the scenes. What one thing would you improve about this session? - Some more interactivity would've been nice but since most the group preferred demo instead of exercise perhaps it's only a personal opinion - It would have been good to share the OBS profiles repo beforehand in the setup email - so I could have had it to hand. (https://github.com/coderefinery/obs-config) - +1 good idea, we should do this next time - Perhaps a simpler starter OBS setup? - Good idea... I should have, but basically ran out of time to prepare. -. Any other comments? - Cool to see the switch from RSE to trainer to AV guy, impressive!