From 386da517c3134098d4a8541d68a68a5f0f25759a Mon Sep 17 00:00:00 2001 From: Anne Fouilloux Date: Sat, 7 Jul 2018 16:00:18 +0200 Subject: [PATCH 001/189] updated title --- _config.yml | 96 ++++++++++++++++++++++++++--------------------------- 1 file changed, 48 insertions(+), 48 deletions(-) diff --git a/_config.yml b/_config.yml index d79930b54..1a4734eef 100644 --- a/_config.yml +++ b/_config.yml @@ -1,48 +1,48 @@ -#Setup ~~~ -#Follow these 2 steps to set up your site. - -#Step 1: give your study group a name and a short description, -#and choose a language from the options in the _data directory: -title: Our Study Group -description: "A study group." -language: en - -#Step 2: press the green 'Commit Changes' button at the bottom of this page. - -# That's it, your website is all set up! -# You can see it at https://YourUserName.github.io/studyGroup/ -# No need to change anything below this line. -# To make your first event, check out the instructions at https://github.com/mozillascience/studyGroup#how-to-launch-a-new-event -# Having trouble? Open a new issue at https://github.com/mozillascience/studyGroup/issues and we'll help you out ASAP! - -# Optional Configuration -# None of these things need to be changed - but feel free! - -titleBackground: "https://s3-us-west-2.amazonaws.com/webmaker-kits/learning%402x.jpg" -headlineSmall: "Welcome To Our Study Group!" -headlineMain: "Let's Work Together" - -# Setup Google Calendar -# Usage: -# 1. create a new google account; set the calendar to 'public' (see https://support.google.com/calendar/answer/37083?hl=en on how to do this) -# 2. change 'USER' in the example urls below to the username of the google account you made for your calendar -# 3. set calendar_on: True. - -calendar_on: False -calendar_embed_url: "https://www.google.com/calendar/embed?src=USER@gmail.com" -calendar_ical_url: "https://www.google.com/calendar/ical/USER@gmail.com/public/basic.ics" - - -#======================================== -# No touching anything below this line :) -#======================================== -# Color settings (hex-codes without the leading hash-tag) -color: - primary: fed136 - secondary: fec503 - secondary-dark: 333 - -# Build settings -markdown: kramdown -permalink: pretty -future: true +#Setup ~~~ +#Follow these 2 steps to set up your site. + +#Step 1: give your study group a name and a short description, +#and choose a language from the options in the _data directory: +title: UiO Carpentry study Group +description: "Study group for the Carpentries community at University of Oslo." +language: en + +#Step 2: press the green 'Commit Changes' button at the bottom of this page. + +# That's it, your website is all set up! +# You can see it at https://YourUserName.github.io/studyGroup/ +# No need to change anything below this line. +# To make your first event, check out the instructions at https://github.com/mozillascience/studyGroup#how-to-launch-a-new-event +# Having trouble? Open a new issue at https://github.com/mozillascience/studyGroup/issues and we'll help you out ASAP! + +# Optional Configuration +# None of these things need to be changed - but feel free! + +titleBackground: "https://s3-us-west-2.amazonaws.com/webmaker-kits/learning%402x.jpg" +headlineSmall: "Welcome To Our Study Group!" +headlineMain: "Let's Work Together" + +# Setup Google Calendar +# Usage: +# 1. create a new google account; set the calendar to 'public' (see https://support.google.com/calendar/answer/37083?hl=en on how to do this) +# 2. change 'USER' in the example urls below to the username of the google account you made for your calendar +# 3. set calendar_on: True. + +calendar_on: False +calendar_embed_url: "https://www.google.com/calendar/embed?src=USER@gmail.com" +calendar_ical_url: "https://www.google.com/calendar/ical/USER@gmail.com/public/basic.ics" + + +#======================================== +# No touching anything below this line :) +#======================================== +# Color settings (hex-codes without the leading hash-tag) +color: + primary: fed136 + secondary: fec503 + secondary-dark: 333 + +# Build settings +markdown: kramdown +permalink: pretty +future: true From 423d009b6f0e40995035cd9981369af84546c68c Mon Sep 17 00:00:00 2001 From: Anne Fouilloux Date: Sat, 7 Jul 2018 17:08:09 +0200 Subject: [PATCH 002/189] added logo and list of members --- _config.yml | 11 ++++--- _data/members.yml | 42 ++++++++++++++++++++++--- _includes/css/custom.css | 17 ++++++++++ _includes/header.html | 1 + img/logos/uio-carpentry-logo-small.png | Bin 0 -> 15447 bytes 5 files changed, 62 insertions(+), 9 deletions(-) create mode 100644 img/logos/uio-carpentry-logo-small.png diff --git a/_config.yml b/_config.yml index 1a4734eef..565087a6b 100644 --- a/_config.yml +++ b/_config.yml @@ -3,7 +3,7 @@ #Step 1: give your study group a name and a short description, #and choose a language from the options in the _data directory: -title: UiO Carpentry study Group +title: Carpentry@UiO Study Group description: "Study group for the Carpentries community at University of Oslo." language: en @@ -19,8 +19,9 @@ language: en # None of these things need to be changed - but feel free! titleBackground: "https://s3-us-west-2.amazonaws.com/webmaker-kits/learning%402x.jpg" -headlineSmall: "Welcome To Our Study Group!" -headlineMain: "Let's Work Together" +headlineSmall: "Welcome to UiO Carpentry Study Group!" +headlineMain: "Let's Meet and Work Together" +avatar: "img/logos/uio-carpentry-logo-small.png" # Setup Google Calendar # Usage: @@ -38,8 +39,8 @@ calendar_ical_url: "https://www.google.com/calendar/ical/USER@gmail.com/public/b #======================================== # Color settings (hex-codes without the leading hash-tag) color: - primary: fed136 - secondary: fec503 + primary: f42e3a + secondary: e30613 secondary-dark: 333 # Build settings diff --git a/_data/members.yml b/_data/members.yml index 1d1e9f237..c6edfc649 100644 --- a/_data/members.yml +++ b/_data/members.yml @@ -1,6 +1,40 @@ -- name: Bill Mills - affiliation: TRIUMF - github: BillMills +- name: Gladys Nalvarte + affiliation: Simula + github: GladysNalvarte interests: - - Programming + - Python - Open Science + - jupyterhub + - repo2docker + +- name: Ana Costa Conrado + affiliation: + github: anacost + interests: + - Python + - R + - Open Science + - Machine & Deep Learning + +- name: Michel Heeremans + affiliation: University of Oslo + github: heereman + interests: + - Carpentry@UiO + +- name: Anne Bergsaker + affiliation: University of Oslo + github: + interests: + - Carpentry@UiO + +- name: Anne Fouilloux + affiliation: University of Oslo + github: annefou + interests: + - Python + - R + - Fortran + - HPC & Cloud computing + - The Carpentries + diff --git a/_includes/css/custom.css b/_includes/css/custom.css index 164b93f05..098efc76c 100644 --- a/_includes/css/custom.css +++ b/_includes/css/custom.css @@ -4,6 +4,22 @@ .team-member i.fa { font-size: 110px; } +.site-avatar { + float: left; + width: 60px; + height: auto; + margin-right: 15px; + + @include mobile { + float: none; + display: block; + margin: 0 auto; + } + + img { + border-radius: 5px; + } +} @media(max-width: 991px) { ul.events { @@ -16,3 +32,4 @@ white-space: initial; } } + diff --git a/_includes/header.html b/_includes/header.html index 07d5131a3..b4ee07440 100644 --- a/_includes/header.html +++ b/_includes/header.html @@ -3,6 +3,7 @@
diff --git a/_includes/footer.html b/_includes/footer.html index d0e911375..ec4cda823 100644 --- a/_includes/footer.html +++ b/_includes/footer.html @@ -3,7 +3,7 @@ diff --git a/_includes/header_lessons.html b/_includes/header_lessons.html new file mode 100644 index 000000000..e22864a51 --- /dev/null +++ b/_includes/header_lessons.html @@ -0,0 +1,53 @@ + + + +
+
+
+
{{ site.lessons }}
+
+
+
diff --git a/_layouts/page.html b/_layouts/page.html new file mode 100644 index 000000000..f9a8be4e4 --- /dev/null +++ b/_layouts/page.html @@ -0,0 +1,21 @@ + + + + {% include head.html %} + + + {% include header_lessons.html %} + +
+
+

{{ page.title }}

+
+ {{ content }} +
+
+ {% include footer.html %} + {% include js.html %} + + + + diff --git a/book_club/index.html b/book_club/index.html new file mode 100644 index 000000000..acf3813e2 --- /dev/null +++ b/book_club/index.html @@ -0,0 +1,21 @@ +--- +layout: page +title: 'Book Club' +--- + + + +

Our Book Club meets quaterly to discuss on a book we have previously chosen. We also gather a list of books on pedagody, teaching practices, personal development. Feel free to suggest books either for personal reading or for group discussions.

+ +
+
+
+
+ +
+ +
+
+
diff --git a/initiatives/index.html b/initiatives/index.html new file mode 100644 index 000000000..95dc0e3b2 --- /dev/null +++ b/initiatives/index.html @@ -0,0 +1,48 @@ +--- +layout: page +title: 'Initiatives we like' +--- + + + +

We list here other initiatives, ideas and programs that aims at improving programing skills of students, PhDs, postdocs and researchers.

+
+
+
+

The Carpentries

+

+ Teach foundational coding and data science skills to researchers worldwide. +

+ + +
+

NeIC CodeRefinery

+

+ Teach students and researchers how to write better code and provide research groups with software development e-infrastructure tools to collaboratively develop, review, discuss, test, and share their codes. +

+ + +
+

Nordic Research Software Engineer Group

+

+ Bring together the community of people writing and contributing to research software from Nordic universities, research institutes, companies and other organizations to share knowledge, to organize meetings, and raise awareness for the scientific recognition of research software. +

+
+ +
+ +
+ +
+
+
diff --git a/lessons/index.html b/lessons/index.html new file mode 100644 index 000000000..fe961e06a --- /dev/null +++ b/lessons/index.html @@ -0,0 +1,65 @@ +--- +layout: page +title: 'Lesson Material' +--- + + + +
+
+
+

By Topic

+{% for lang in site.languages %} +

{{ lang | capitalize }}

+ +
    + {% assign pages_list = site.pages | sort: 'title' %} + {% for node in pages_list %} + {% if node.title != null %} + {% if node.visible == true %} + {% if node.tags contains lang %} +
  • {{ node.title }}
  • + {% endif %} + {% endif %} + {% endif %} + {% endfor %} +
+{% endfor %} +
+ +
+

By Level

+{% for level in site.levels %} +

{{ level | capitalize }}

+ +
    + {% assign pages_list = site.pages | sort: 'title' %} + {% for node in pages_list %} + {% if node.title != null %} + {% if node.visible == true %} + {% if node.tags contains level %} +
  • {{ node.title }}
  • + {% endif %} + {% endif %} + {% endif %} + {% endfor %} +
+{% endfor %} +
+
+
+ +
+ +

Available Lessons from our partners

+ From 22995c0b9aa166854387796b492ebfdbef0d9982 Mon Sep 17 00:00:00 2001 From: Anne Fouilloux Date: Fri, 13 Jul 2018 20:55:30 +0200 Subject: [PATCH 007/189] added link to UiO@Carpentry workshop and initiative --- _data/en.yml | 1 - _includes/portfolio_grid.html | 11 +++++++++++ initiatives/index.html | 21 ++++++++++++++++++++- 3 files changed, 31 insertions(+), 2 deletions(-) diff --git a/_data/en.yml b/_data/en.yml index 1ae788af4..409ec734b 100644 --- a/_data/en.yml +++ b/_data/en.yml @@ -1,6 +1,5 @@ --- whatWeDo: What We Do -events: Events contact: Contact tellMeMore: Tell Me More diff --git a/_includes/portfolio_grid.html b/_includes/portfolio_grid.html index d9c03b1f8..21578200d 100644 --- a/_includes/portfolio_grid.html +++ b/_includes/portfolio_grid.html @@ -1,5 +1,16 @@
+ +
+
+
diff --git a/initiatives/index.html b/initiatives/index.html index 95dc0e3b2..584ea111c 100644 --- a/initiatives/index.html +++ b/initiatives/index.html @@ -9,6 +9,17 @@

We list here other initiatives, ideas and programs t
+

Carpentry@UiO

+

+ To facilitate sharing and reusing of data among researchers Software Carpentry and Data Carpentry, workshops are offered to PhDs and researchers at UiO and OUS. +

+ + +

The Carpentries

Teach foundational coding and data science skills to researchers worldwide. @@ -42,7 +53,15 @@

Nordic Research Sof


- +

R-Ladies Oslo

+

+ Non-profit, civil society community designed to develop our members' R skills & knowledge through social, collaborative learning & sharing. +

+

From 41943ee74c66c202e61a144372ab00a1b0faed8f Mon Sep 17 00:00:00 2001 From: Anne Fouilloux Date: Mon, 16 Jul 2018 12:01:40 +0200 Subject: [PATCH 008/189] Added pytest lesson as a submodule --- .gitmodules | 3 +++ lessons/pytest-lesson | 1 + 2 files changed, 4 insertions(+) create mode 100644 .gitmodules create mode 160000 lessons/pytest-lesson diff --git a/.gitmodules b/.gitmodules new file mode 100644 index 000000000..e998b7e03 --- /dev/null +++ b/.gitmodules @@ -0,0 +1,3 @@ +[submodule "lessons/pytest-lesson"] + path = lessons/pytest-lesson + url = https://github.com/annefou/pytest-lesson diff --git a/lessons/pytest-lesson b/lessons/pytest-lesson new file mode 160000 index 000000000..0fc9c25dc --- /dev/null +++ b/lessons/pytest-lesson @@ -0,0 +1 @@ +Subproject commit 0fc9c25dc9338f5b568599b257094be00418a7de From 83ac4ef69ba31ae7b7e893e2e687b7bb12d9758d Mon Sep 17 00:00:00 2001 From: Anne Fouilloux Date: Fri, 20 Jul 2018 11:22:07 +0200 Subject: [PATCH 009/189] added new book from Greg --- book_club/index.html | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/book_club/index.html b/book_club/index.html index acf3813e2..79b9eb92b 100644 --- a/book_club/index.html +++ b/book_club/index.html @@ -5,7 +5,21 @@ -

Our Book Club meets quaterly to discuss on a book we have previously chosen. We also gather a list of books on pedagody, teaching practices, personal development. Feel free to suggest books either for personal reading or for group discussions.

+Our Book Club meets quaterly to discuss on a book we have previously chosen. We also gather a list of books on pedagody, teaching practices, personal development. Feel free to suggest books either for personal reading or for group discussions. + +
+
+ +
    +
  1. Teaching Tech Together, Greg Wilson

    +
  2. + +
+ +
+
+
+
From 5e0fdfaf52b82b7ce72f64ebaa7f158af52c5fd2 Mon Sep 17 00:00:00 2001 From: Anne Fouilloux Date: Mon, 20 Aug 2018 10:08:25 +0200 Subject: [PATCH 010/189] add new event for organizer meeting --- _posts/2018-08-31-admin.markdown | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 _posts/2018-08-31-admin.markdown diff --git a/_posts/2018-08-31-admin.markdown b/_posts/2018-08-31-admin.markdown new file mode 100644 index 000000000..74013d2a4 --- /dev/null +++ b/_posts/2018-08-31-admin.markdown @@ -0,0 +1,13 @@ +--- +title: Planning of events for fall 2018 +text: Discuss on possible subjects to plan future events +location: Science Library +link: https://github.com/uio-carpentry/studyGroup/issues/3 +date: 2018-08-31 +startTime: '14:00' +endTime: '15:00' + +--- + +Meeting to plan events and activities for fall 2018. + From bc316c09345694ef0431563898a01e8cdbed906b Mon Sep 17 00:00:00 2001 From: Anne Fouilloux Date: Wed, 29 Aug 2018 21:48:09 +0200 Subject: [PATCH 011/189] added location and time meeting in the main webpage --- _posts/2018-08-31-admin.markdown | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/_posts/2018-08-31-admin.markdown b/_posts/2018-08-31-admin.markdown index 74013d2a4..dc2c45301 100644 --- a/_posts/2018-08-31-admin.markdown +++ b/_posts/2018-08-31-admin.markdown @@ -11,3 +11,7 @@ endTime: '15:00' Meeting to plan events and activities for fall 2018. +- **When**: Friday 31 August, 14-15h: +- **Where**: Niels Henrik Abels hus, room 209 +- **Who**: _Everybody willing to be involved in the organization of the UiO@Carpentry StudyGroup is welcome._ + From 44ec5f298ba61bc92e1ec9e404cd3aa72aaf41bd Mon Sep 17 00:00:00 2001 From: Michel Heeremans Date: Fri, 31 Aug 2018 14:40:01 +0200 Subject: [PATCH 012/189] Update members.yml Added interests for heereman --- _data/members.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/_data/members.yml b/_data/members.yml index 5310ebb6c..a7f5101d6 100644 --- a/_data/members.yml +++ b/_data/members.yml @@ -21,6 +21,8 @@ github: heereman interests: - Carpentry@UiO + - Research Data Management + - Open Science - name: Anne Bergsaker affiliation: University of Oslo From d19b0eb5778b3100f3f0d8e85c8cba72577fa58c Mon Sep 17 00:00:00 2001 From: Anne Fouilloux Date: Sun, 2 Sep 2018 14:42:09 +0200 Subject: [PATCH 013/189] Added a set of events for our studyGroup@UiO --- _posts/2018-09-07-workalong.markdown | 21 +++++++++++++++++++++ _posts/2018-09-14-bookclub.markdown | 22 ++++++++++++++++++++++ _posts/2018-09-21-demo.markdown | 25 +++++++++++++++++++++++++ _posts/2018-10-12-coworking.markdown | 19 +++++++++++++++++++ _posts/2018-10-19-workalong.markdown | 21 +++++++++++++++++++++ _posts/2018-10-26-coworking.markdown | 20 ++++++++++++++++++++ _posts/2018-11-02-demo.markdown | 21 +++++++++++++++++++++ 7 files changed, 149 insertions(+) create mode 100644 _posts/2018-09-07-workalong.markdown create mode 100644 _posts/2018-09-14-bookclub.markdown create mode 100644 _posts/2018-09-21-demo.markdown create mode 100644 _posts/2018-10-12-coworking.markdown create mode 100644 _posts/2018-10-19-workalong.markdown create mode 100644 _posts/2018-10-26-coworking.markdown create mode 100644 _posts/2018-11-02-demo.markdown diff --git a/_posts/2018-09-07-workalong.markdown b/_posts/2018-09-07-workalong.markdown new file mode 100644 index 000000000..d1c92caa8 --- /dev/null +++ b/_posts/2018-09-07-workalong.markdown @@ -0,0 +1,21 @@ +--- +title: Work along session on National data archives +text: how and where to preserve your data on long-term archive +location: Science Library +link: https://github.com/uio-carpentry/studyGroup/issues/4 +date: 2018-09-07 +startTime: '14:00' +endTime: '16:00' + +--- + +**Session leader**: Michael Heeremans + +More and more researchers need to make available their data before being able to publish an article in a scientific journal. During this work-along StudyGroup@ session you will get an overview of the possibilities you have to archive (long-term preservation) your data. This short demo will help you to understand how you can use the available tools. + +**Registration is not necessary but we ask you to come on time.** + +- **When**: 7th September 2018, 14-16h +- **Where**: Niels Henrik Abels hus, room 209 +- **Who**: _everybody willing to learn about National archives_ + diff --git a/_posts/2018-09-14-bookclub.markdown b/_posts/2018-09-14-bookclub.markdown new file mode 100644 index 000000000..97d43ac38 --- /dev/null +++ b/_posts/2018-09-14-bookclub.markdown @@ -0,0 +1,22 @@ +--- +title: Book Club on Teaching Tech together +text: We start reading the first 5 chapters of "Teaching Tech together (Greg Wilson) +location: Science Library +link: https://github.com/uio-carpentry/studyGroup/issues/5 +date: 2018-09-14 +startTime: '' +endTime: '' + +--- + +**Session leader**: Anne Fouilloux + +We do not meet this week but we encourage you start reading and commenting Greg Wilson's book "Teaching Tech together". + +We are using [https://web.hypothes.is/](https://web.hypothes.is/), an online tool to annotate the web, with anyone, anywhere. + +Start reading "Teaching Tech together" using hypothes.is at [https://hypothes.is/groups/mReaNk2e/studygroup-uio](https://hypothes.is/groups/mReaNk2e/studygroup-uio). + +**online material to learn how to use hypothes.is**: +- https://web.hypothes.is/quick-start-guide-for-students/ + diff --git a/_posts/2018-09-21-demo.markdown b/_posts/2018-09-21-demo.markdown new file mode 100644 index 000000000..5781092e0 --- /dev/null +++ b/_posts/2018-09-21-demo.markdown @@ -0,0 +1,25 @@ +--- +title: Demo session on NetworkX python package +text: Learn about NetworkX python package. +location: Science Library +link: https://github.com/uio-carpentry/studyGroup/issues/6 +date: 2018-09-21 +startTime: '14:00' +endTime: '16:00' + +--- + +**Session leader**: Annika Rockenberger + +NetworkX is a Python package for the creation, manipulation, and study of the structure, dynamics, and functions of complex networks. + +During this Coding lightning demo session: + +- Learn about networkX python package +- Get concrete examples on how to use it +- Discuss your use cases + +- **When**: 21st September 2018, 14-16h +- **Location**: Niels Henrik Abels hus, room 209 +- **Who**: _everybody willing to learn about networkX python package_ + diff --git a/_posts/2018-10-12-coworking.markdown b/_posts/2018-10-12-coworking.markdown new file mode 100644 index 000000000..8ecd52715 --- /dev/null +++ b/_posts/2018-10-12-coworking.markdown @@ -0,0 +1,19 @@ +--- +title: Co-working session on "The programming for Historians" +text: Learn how programming can be taught to Historians and what tools they are using +location: Science Library +link: https://github.com/uio-carpentry/studyGroup/issues/7 +date: 2018-10-12 +startTime: '14:00' +endTime: '16:00' + +--- + +**Session leader**: Annika Rockenberger + +Come and meet us for two hours to learn and work on "Programming for Historians" . + +- **When**: 12th October 2018, 14-16h +- **Where**: Niels Henrik Abels hus, room 209 +- **Who**: _everybody willing to learn about "The programming for Historians"._ + diff --git a/_posts/2018-10-19-workalong.markdown b/_posts/2018-10-19-workalong.markdown new file mode 100644 index 000000000..b8753bbb6 --- /dev/null +++ b/_posts/2018-10-19-workalong.markdown @@ -0,0 +1,21 @@ +--- +title: Work along session on deep learning +text: +location: Science Library +link: https://github.com/uio-carpentry/studyGroup/issues/8 +date: 2018-09-07 +startTime: '14:00' +endTime: '16:00' + +--- + +**Session leader**: Ana Costa + +In this session you will learn what is meant by deep-learning. Examples will be given in python and R. + +_Bring your laptop if you want to try it out!_ + +- **When**: 19th October 2018, 14h-16h +- **Location**: Niels Henrik Abels hus, room 209 +- **Who**: _everybody willing to learn about deep learning_ + diff --git a/_posts/2018-10-26-coworking.markdown b/_posts/2018-10-26-coworking.markdown new file mode 100644 index 000000000..4379aba4e --- /dev/null +++ b/_posts/2018-10-26-coworking.markdown @@ -0,0 +1,20 @@ +--- +title: Co-working session on "Internet of Things (IoT) with Arduino" +text: Learn about Internet of Things (IoT) with an arduino +location: Science Library +link: https://github.com/uio-carpentry/studyGroup/issues/9 +date: 2018-10-26 +startTime: '14:00' +endTime: '16:00' + +--- + +**Session leader**: Annika Rockenberger + +Come and meet us for two hours to learn about Internet of Things and work +with an Arduino (demos). + +- **When**: 26th October 2018, 14-16h +- **Where**: Niels Henrik Abels hus, room 209 +- **Who**: _everybody willing to learn about "Internet of Things and Arduino"._ + diff --git a/_posts/2018-11-02-demo.markdown b/_posts/2018-11-02-demo.markdown new file mode 100644 index 000000000..4d11f092b --- /dev/null +++ b/_posts/2018-11-02-demo.markdown @@ -0,0 +1,21 @@ +--- +title: Demo session on openscience framework +text: Learn about openscience and share/discuss your openscience framework with us +location: Science Library +link: https://github.com/uio-carpentry/studyGroup/issues/10 +date: 2018-11-02 +startTime: '14:00' +endTime: '16:00' + +--- + +**Session leader**: Michael Heeremans + +Openscience: come and show your openscience framework. + +Short coding ligthning demo on openscience. If you wish to show your openscience framework, please contact the organizer (comment this issue). + +- **When**: 2nd November 2018, 14-16h +- **Location**: Niels Henrik Abels hus, room 209 +- **Who**: _anyone interested in openscience_ + From f2390a7579c308c257793573674d0f0d6131ce58 Mon Sep 17 00:00:00 2001 From: Anne Fouilloux Date: Sun, 2 Sep 2018 23:33:17 +0200 Subject: [PATCH 014/189] update events --- _posts/2018-10-19-workalong.markdown | 2 +- _posts/2018-11-09-workalong.markdown | 19 +++++++++++++++++++ _posts/2018-11-23-workalong.markdown | 20 ++++++++++++++++++++ _posts/2018-11-30-workalong.markdown | 21 +++++++++++++++++++++ _posts/2018-12-07-bookclub.markdown | 26 ++++++++++++++++++++++++++ _posts/2018-12-14-demo.markdown | 19 +++++++++++++++++++ 6 files changed, 106 insertions(+), 1 deletion(-) create mode 100644 _posts/2018-11-09-workalong.markdown create mode 100644 _posts/2018-11-23-workalong.markdown create mode 100644 _posts/2018-11-30-workalong.markdown create mode 100644 _posts/2018-12-07-bookclub.markdown create mode 100644 _posts/2018-12-14-demo.markdown diff --git a/_posts/2018-10-19-workalong.markdown b/_posts/2018-10-19-workalong.markdown index b8753bbb6..70868b633 100644 --- a/_posts/2018-10-19-workalong.markdown +++ b/_posts/2018-10-19-workalong.markdown @@ -3,7 +3,7 @@ title: Work along session on deep learning text: location: Science Library link: https://github.com/uio-carpentry/studyGroup/issues/8 -date: 2018-09-07 +date: 2018-10-19 startTime: '14:00' endTime: '16:00' diff --git a/_posts/2018-11-09-workalong.markdown b/_posts/2018-11-09-workalong.markdown new file mode 100644 index 000000000..aeb048fb8 --- /dev/null +++ b/_posts/2018-11-09-workalong.markdown @@ -0,0 +1,19 @@ +--- +title: Work along session on "How to use pytest?" +text: Learn about pytest and how to use this python package for testing your codes +location: Science Library +link: https://github.com/uio-carpentry/studyGroup/issues/11 +date: 2018-11-09 +startTime: '14:00' +endTime: '16:00' + +--- + +**Session leader**: Gladys Nalvarte + + + +- **When**: 9th November 2018, 14-16h +- **Where**: Niels Henrik Abels hus, room 209 +- **Who**: _everybody willing to learn about "pytest"._ + diff --git a/_posts/2018-11-23-workalong.markdown b/_posts/2018-11-23-workalong.markdown new file mode 100644 index 000000000..96a68c7f8 --- /dev/null +++ b/_posts/2018-11-23-workalong.markdown @@ -0,0 +1,20 @@ +--- +title: Work along session on "Ally Skills Workshop" +text: Discuss Valerie Aurora's "Ally Skills Workshop" training material. +location: Science Library +link: https://github.com/uio-carpentry/studyGroup/issues/12 +date: 2018-11-23 +startTime: '14:00' +endTime: '16:00' + +--- + +**Session leader**: Gladys Nalvarte + +The goal of this work along session is to go through Valerie Aurora's training material on "Ally skills workshop". The goal of these workshops is to provide training and advice to increase diversity and inclusion in technology-oriented organizations. + + +- **When**: 23nd November 2018, 14-16h +- **Location**: Niels Henrik Abels hus, room 209 +- **Who**: _everybody interested in learning about "Ally Skills workshops"_ + diff --git a/_posts/2018-11-30-workalong.markdown b/_posts/2018-11-30-workalong.markdown new file mode 100644 index 000000000..95395403b --- /dev/null +++ b/_posts/2018-11-30-workalong.markdown @@ -0,0 +1,21 @@ +--- +title: Work along session on Data Management Plan +text: Review of the existing tools to create Data Management Plans +location: Science Library +link: https://github.com/uio-carpentry/studyGroup/issues/13 +date: 2018-11-30 +startTime: '14:00' +endTime: '16:00' + +--- + +**Session leader**: Michael Heeremans + +Everything you need to know to start writing your own Data Management Plan. + +You will learn what tools you can use to help you writing your DMP (Data Management Plan) and what is important to address to manage efficiently your data. + +- **When**: 30th November 2018, 14-16h +- **Location**: Niels Henrik Abels hus, room 209 +- **Who**: _everybody interested in learning about "Data Management Plan"_ + diff --git a/_posts/2018-12-07-bookclub.markdown b/_posts/2018-12-07-bookclub.markdown new file mode 100644 index 000000000..b0cfe61f9 --- /dev/null +++ b/_posts/2018-12-07-bookclub.markdown @@ -0,0 +1,26 @@ +--- +title: Book Club on Teaching Tech together +text: Discuss the first 5 chapters of "Teaching Tech together (Greg Wilson) +location: Science Library +link: https://github.com/uio-carpentry/studyGroup/issues/14 +date: 2018-12-07 +startTime: '14:00' +endTime: '16:00' + +--- + +**Session leader**: Anne Fouilloux + +You read at least 5 chapters of "Teaching Tech together" (Greg Wilson) and would like to discuss and share your thoughts about teaching techniques. + +We are using [https://web.hypothes.is/](https://web.hypothes.is/), an online tool to annotate the web, with anyone, anywhere. + +The StudyGroup@UiO share comments at [https://hypothes.is/groups/mReaNk2e/studygroup-uio.](https://hypothes.is/groups/mReaNk2e/studygroup-uio) + + +**online material to learn how to use hypothes.is**: +- https://web.hypothes.is/quick-start-guide-for-students/ + +**When**: 7th December 2018, 14-16h +**Location**: Niels Henrik Abels hus, room 209 + diff --git a/_posts/2018-12-14-demo.markdown b/_posts/2018-12-14-demo.markdown new file mode 100644 index 000000000..90f1a6d9e --- /dev/null +++ b/_posts/2018-12-14-demo.markdown @@ -0,0 +1,19 @@ +--- +title: Demo session on Github & gitlab best practices +text: Learn about the different software development best practices for researchers +location: Science Library +link: https://github.com/uio-carpentry/studyGroup/issues/15 +date: 2018-12-14 +startTime: '14:00' +endTime: '16:00' + +--- + +**Session leader**: Anne Fouilloux + +During this session, we will present you the main stages of Software Development and what are the main Software development best practices for developing Research programs. + +**When**: 14th December 2018, 14-16h +**Location**: Niels Henrik Abels hus, room 209 + + From dcac1a90af546313e3c2f9449621c7878ef8e25f Mon Sep 17 00:00:00 2001 From: Anne Fouilloux Date: Thu, 6 Sep 2018 11:57:47 +0200 Subject: [PATCH 015/189] added UseR group event; for now manually... --- _posts/2018-09-19-useR.markdown | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 _posts/2018-09-19-useR.markdown diff --git a/_posts/2018-09-19-useR.markdown b/_posts/2018-09-19-useR.markdown new file mode 100644 index 000000000..4a17219d2 --- /dev/null +++ b/_posts/2018-09-19-useR.markdown @@ -0,0 +1,24 @@ +--- +title: useR! group Functions, loops and list-columns: taking control of lists with purrr +text: +location: Microsoft Norge +link: https://github.com/uio-carpentry/studyGroup/issues/17 +date: 2018-10-19 +startTime: '14:00' +endTime: '16:00' + +--- + +**Session leader**: Dmytro Perepolkin + +Are you still writing `for` loops? What are some of the advantages of functional programming in R? What makes a good function? How to take control of nested lists and turn chaos into order? Come and explore a fun world of {purrr} and discover hidden gems in this awesome tidyverse package. Filled with practical examples from author's recently published packages, this talk may help you discover some of the new (and old) functions you may not have used before and encourage you on your journey to becoming a better R programmer. + + +_Bring your laptop if you want to try it out!_ + +- **Level**: beginner to intermediate +- **When**: 19th September 2018 +- **Time**: 17:30-19:30 +- **Location**: Microsoft Norge, Lysaker Torg 45 · Lysaker +- **More information**: https://www.meetup.com/Oslo-useR-Group/events/254422876/ + From 739c97d68550354176ea6c2fa0b9915ae6fe6fa8 Mon Sep 17 00:00:00 2001 From: Anne Fouilloux Date: Fri, 7 Sep 2018 09:09:25 +0200 Subject: [PATCH 016/189] bug fix: do not use : in the title of an event --- _posts/2018-09-19-useR.markdown | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/_posts/2018-09-19-useR.markdown b/_posts/2018-09-19-useR.markdown index 4a17219d2..9509a7ff1 100644 --- a/_posts/2018-09-19-useR.markdown +++ b/_posts/2018-09-19-useR.markdown @@ -1,11 +1,11 @@ --- -title: useR! group Functions, loops and list-columns: taking control of lists with purrr +title: use R! group Functions, loops and list-columns - taking control of lists with purrr text: location: Microsoft Norge link: https://github.com/uio-carpentry/studyGroup/issues/17 -date: 2018-10-19 -startTime: '14:00' -endTime: '16:00' +date: 2018-09-19 +startTime: '17:30' +endTime: '19:30' --- From 6b909c15f59ebfad60bad113c59f93c350ef644e Mon Sep 17 00:00:00 2001 From: Annika Rockenberger Date: Fri, 7 Sep 2018 13:06:42 +0200 Subject: [PATCH 017/189] Update 2018-10-26-coworking.markdown --- _posts/2018-10-26-coworking.markdown | 1 + 1 file changed, 1 insertion(+) diff --git a/_posts/2018-10-26-coworking.markdown b/_posts/2018-10-26-coworking.markdown index 4379aba4e..03d51f9ed 100644 --- a/_posts/2018-10-26-coworking.markdown +++ b/_posts/2018-10-26-coworking.markdown @@ -13,6 +13,7 @@ endTime: '16:00' Come and meet us for two hours to learn about Internet of Things and work with an Arduino (demos). +Annika will bring a couple of Arduino Unos, breadboards, jumper cables, LEDs, resistors, buttons and a selection of sensors (light, distance, temperature, CO2 sensors). We have a take on physical programming with Arduino and micro electronics. It will be fun! - **When**: 26th October 2018, 14-16h - **Where**: Niels Henrik Abels hus, room 209 From 0e63f20593bd8cc211b57cde63fb0758db06bc84 Mon Sep 17 00:00:00 2001 From: Annika Rockenberger Date: Fri, 7 Sep 2018 13:09:34 +0200 Subject: [PATCH 018/189] Update 2018-10-12-coworking.markdown --- _posts/2018-10-12-coworking.markdown | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/_posts/2018-10-12-coworking.markdown b/_posts/2018-10-12-coworking.markdown index 8ecd52715..cf8217e8f 100644 --- a/_posts/2018-10-12-coworking.markdown +++ b/_posts/2018-10-12-coworking.markdown @@ -1,6 +1,6 @@ --- -title: Co-working session on "The programming for Historians" -text: Learn how programming can be taught to Historians and what tools they are using +title: Co-working session on "The Programming Historian" +text: Learn how programming can be taught to Humanities Researchers and what tools they are using location: Science Library link: https://github.com/uio-carpentry/studyGroup/issues/7 date: 2018-10-12 @@ -11,9 +11,11 @@ endTime: '16:00' **Session leader**: Annika Rockenberger -Come and meet us for two hours to learn and work on "Programming for Historians" . +Annika will pick a lesson from [The programming Historian](https://programminghistorian.org/) and give us a little intro on how programming is taught to humanities researchers. + +The Programming Historian publishes novice-friendly, peer-reviewed tutorials that help humanists learn a wide range of digital tools, techniques, and workflows to facilitate research and teaching. - **When**: 12th October 2018, 14-16h - **Where**: Niels Henrik Abels hus, room 209 -- **Who**: _everybody willing to learn about "The programming for Historians"._ +- **Who**: _everybody willing to learn about "Programming for Humanities Researchers"._ From 5a69db8f53f60b1460cb39258802bfabd70d0679 Mon Sep 17 00:00:00 2001 From: Annika Rockenberger Date: Fri, 7 Sep 2018 13:10:53 +0200 Subject: [PATCH 019/189] Update 2018-09-21-demo.markdown --- _posts/2018-09-21-demo.markdown | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/_posts/2018-09-21-demo.markdown b/_posts/2018-09-21-demo.markdown index 5781092e0..fa1a7fa56 100644 --- a/_posts/2018-09-21-demo.markdown +++ b/_posts/2018-09-21-demo.markdown @@ -15,10 +15,12 @@ NetworkX is a Python package for the creation, manipulation, and study of the st During this Coding lightning demo session: -- Learn about networkX python package +- Learn about networkX python package - Get concrete examples on how to use it - Discuss your use cases +For preparation you can read Complex Network Analysis in Python and the networkX documentation (https://networkx.github.io/) + - **When**: 21st September 2018, 14-16h - **Location**: Niels Henrik Abels hus, room 209 - **Who**: _everybody willing to learn about networkX python package_ From 57a2b87911ad3d1ebaef99d18967d98845a85772 Mon Sep 17 00:00:00 2001 From: Anne Fouilloux Date: Fri, 14 Sep 2018 20:29:50 +0200 Subject: [PATCH 020/189] added Arduino workshop at open zone --- _posts/2018-09-18-hive.markdown | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 _posts/2018-09-18-hive.markdown diff --git a/_posts/2018-09-18-hive.markdown b/_posts/2018-09-18-hive.markdown new file mode 100644 index 000000000..f17d0d083 --- /dev/null +++ b/_posts/2018-09-18-hive.markdown @@ -0,0 +1,23 @@ +--- +title: Arduino Workshop +text: Learn about the UiO Hive initiative and how you can contribute +location: Åpen Sone at IFI (room Ada 3407, Ole-Johan Dahls hus, Gaustadalléen 23b) +link: https://github.com/UiOHive/Hive/issues/1 +register: https://docs.google.com/forms/d/e/1FAIpQLScT9qn-J43uDKjzckw4-Q9Jj5nlpeRwSo5rhriHa-EuSO9ttA/viewform?embedded=true +date: 2018-09-18 +startTime: '14:00' +endTime: '18:00' + +--- + + +At the kick-off event, we'll get to know each other, exchange our interests into either using some new technology like IoT, micro-electornics, or looking for interesting application and challenging settings for these technology. The goal is to come together and establish few key projects on which we can learn and collaborate across our own disciplines. + +- When: Tuesday 18 September, 14-18h: + - 14-16h flash presentations (8 min) + - 16-18h hands-on workshop to learn about microcontroller and sensors + - past 18h Pizza and socializing +- Where: Åpen Sone at IFI ([room Ada 3407, Ole-Johan Dahls hus, Gaustadalléen 23b](https://www.uio.no/om/finn-fram/omrader/gaustad/ga06/)) +- Who: students, PhDs, postdocs, researchers, technicians + +Suscribe for a flash presentation or join us for the workshop! From 462bf0870e2e3dfb48597cebe0cac03308759afb Mon Sep 17 00:00:00 2001 From: Anne Fouilloux Date: Fri, 14 Sep 2018 20:51:36 +0200 Subject: [PATCH 021/189] added link to register to arduino workshop --- _posts/2018-09-18-hive.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_posts/2018-09-18-hive.markdown b/_posts/2018-09-18-hive.markdown index f17d0d083..28cc86c6d 100644 --- a/_posts/2018-09-18-hive.markdown +++ b/_posts/2018-09-18-hive.markdown @@ -20,4 +20,4 @@ At the kick-off event, we'll get to know each other, exchange our interests into - Where: Åpen Sone at IFI ([room Ada 3407, Ole-Johan Dahls hus, Gaustadalléen 23b](https://www.uio.no/om/finn-fram/omrader/gaustad/ga06/)) - Who: students, PhDs, postdocs, researchers, technicians -Suscribe for a flash presentation or join us for the workshop! +Register [here](https://docs.google.com/forms/d/e/1FAIpQLScT9qn-J43uDKjzckw4-Q9Jj5nlpeRwSo5rhriHa-EuSO9ttA/viewform?embedded=true) to join us for the workshop! From 0fc0779fa2347b88faa5c7d415abba8ff15fb5ac Mon Sep 17 00:00:00 2001 From: Annika Rockenberger Date: Tue, 18 Sep 2018 13:32:26 +0200 Subject: [PATCH 022/189] Update members.yml --- _data/members.yml | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/_data/members.yml b/_data/members.yml index a7f5101d6..4fa3f3c54 100644 --- a/_data/members.yml +++ b/_data/members.yml @@ -31,12 +31,13 @@ - Carpentry@UiO - name: Annika Rockenberger - affiliation: + affiliation: The National Library of Norway github: arockenberger interests: - - Humanities - - Digital Textology - - Software Carpentries + - Digital Humanities + - Python + - The Carpentries + - Physical Programming - name: Anne Fouilloux affiliation: University of Oslo From bcd57e03a5098889e57dab52e021396fc3d16c0a Mon Sep 17 00:00:00 2001 From: Anne Fouilloux Date: Thu, 20 Sep 2018 12:55:00 +0200 Subject: [PATCH 023/189] added NDA minutes (template only) --- lessons/NDA-minutes/README.md | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 lessons/NDA-minutes/README.md diff --git a/lessons/NDA-minutes/README.md b/lessons/NDA-minutes/README.md new file mode 100644 index 000000000..e88bca882 --- /dev/null +++ b/lessons/NDA-minutes/README.md @@ -0,0 +1,33 @@ +--- +layout: page +title: National data archives +text: +link: https://github.com/uio-carpentry/studyGroup/issues/4 +visible: true +tags: + # languages + - misc + # levels + - beginner +--- + + + + + - **Authors**: Michael Heeremans and Annika Rockenberger + - **Lesson Topic**: National Data Archives + - [![License: CC BY 4.0](https://img.shields.io/badge/License-CC%20BY%204.0-lightgrey.svg)](https://creativecommons.org/licenses/by/4.0/) + + +## How and where to preserve your data on long-term archive? + +More and more researchers need to make available their data before being able to publish an article in a scientific journal. During this work-along StudyGroup@ session you will get an overview of the possibilities you have to archive (long-term preservation) your data. This short demo will help you to understand how you can use the available tools. + + +## Minutes of the studyGroup@UiO work-along session + +**When**: 7th September 2018, 14:00-16:00 + + + + From 80956091f725618871933ecabdbe857712881eca Mon Sep 17 00:00:00 2001 From: Anne Fouilloux Date: Fri, 21 Sep 2018 21:54:57 +0200 Subject: [PATCH 024/189] added draft minutes studyGroup 21st September 2018 --- lessons/NetworkX-minutes/README.md | 101 +++++++++++++++++++++++++++++ 1 file changed, 101 insertions(+) create mode 100644 lessons/NetworkX-minutes/README.md diff --git a/lessons/NetworkX-minutes/README.md b/lessons/NetworkX-minutes/README.md new file mode 100644 index 000000000..7669f8ebb --- /dev/null +++ b/lessons/NetworkX-minutes/README.md @@ -0,0 +1,101 @@ +--- +layout: page +title: Demo session on NetworkX python package +text: +link: https://github.com/uio-carpentry/studyGroup/issues/6 +visible: true +tags: + # languages + - python + # levels + - intermediate +--- + + + + + - **Authors**: Annika Rockenberger and Anne Fouilloux + - **Lesson Topic**: NetworkX python package + - [![License: CC BY 4.0](https://img.shields.io/badge/License-CC%20BY%204.0-lightgrey.svg)](https://creativecommons.org/licenses/by/4.0/) + + +# Minutes of the studyGroup@UiO demo session + +**When**: 21st September 2018, 14:00-16:00 + +### Dataset used for this lesson + +We will be using example datasets from [Easy Linavis](https://ezlinavis.dracor.org/) (Easy Literary Network Analysis and Visualization). +On this website, examples can be found in the tab "examples". + +Easy Linavis (ezlinavis) generates CSV files with network data from simple segmentations of dramatic texts. +In the left column, you can list segments (chapters, acts, scenes, etc.) and characters appearing or speaking in a given segment. +Segments are indicated with a hashtag and they can be hierarchical, e.g.: +~~~ +# First Act +## First Scene +Character 1 +Character 2 +~~~ +{: .language-python} + +This will automatically generate a CSV file with node-node relations (source, type, target, weight) in the column in the centre. Data changes as you type: +as soon as you change something in the first column, the mid-column changes accordingly. The "type" column in the CSV file is always "undirected" here, +but we inserted it so you can directly work with the CSV files in Gephi. The network graph in the right column is also generated live, using a +spring-embedded layout, just to give you a first impression of what your network data looks like. To make it easier to understand how ezlinavis works, we provide some example files which can be accessed via the corresponding drop-down menu in the right upper corner. +ezlinavis was developed in 2017 by Carsten Milling and Frank Fischer, using the React and Sigma JS libraries. It is mainly meant for didactic purposes +(we are mainly resorting to it in our workshops on the network analysis of literary texts), although in principle it is also suited to handle bigger network +data. If you want to contact us, please drop a line to ffischer(at)hse.ru. + +### Other datasets and information + +- [https://textology.hypotheses.org/37](https://textology.hypotheses.org/37) +- [https://github.com/arockenberger/InnsbruckEasterplay](https://github.com/arockenberger/InnsbruckEasterplay) +- [Complex Netowkr Analysis in Python](https://pragprog.com/book/dzcnapy/complex-network-analysis-in-python): based on NetworkX but version 1.X +and not the new version 2.X. Information on how to migrate from 1.X to 2.X can be found at + [https://networkx.github.io/documentation/stable/release/migration_guide_from_1.x_to_2.0.html](https://networkx.github.io/documentation/stable/release/migration_guide_from_1.x_to_2.0.html). + +### Other tools + +Another tool that is freely available [https://gephi.org/](https://gephi.org/). It is a very handy tools for creating nice network plots. To use it, +download one file from Easy Linavis (as a csv file) and use it in Gephi. + + +### Codes used for the demo + +Annika has prepared several jupyter notebooks: + +- [https://github.com/arockenberger/InnsbruckEasterplay/blob/master/CNA_tests.ipynb](https://github.com/arockenberger/InnsbruckEasterplay/blob/master/CNA_tests.ipynb) + +**Facts**: + +- no weight by default (need to ask NetworkX to compute them) +- not directional by default; use DiGraph() and/or MultiGraph() for directional networks. + +In all the examples, csv python package is used. + +- csv.reader() --> add information on how to skip header + +- if you remove a node, it does not removes all the connections; you end up having selfloop node. So you need to clean it. +--> have a look on how to remove connection. + +#### Examples + + +- Add an example with several columns. Choose 2 columns. +- https://github.com/arockenberger/NB_API_Python For visualization +- nbtext library --> will be released so we can use it for plotting. +- Make an example to plot with WordCloud. + +### AOB + +We also discuss on how to write a blog: [https://hypotheses.org/](https://hypotheses.org/) + + + +- Add info on where to buy domain (not take the cheapest one). + + + + + From 106c0bbbf89ad396e0405c5eeecc98864e597742 Mon Sep 17 00:00:00 2001 From: Anne Fouilloux Date: Sat, 22 Sep 2018 17:47:36 +0200 Subject: [PATCH 025/189] added info and example for NetworkX --- lessons/NetworkX-minutes/README.md | 144 ++++++++++++++++-- .../NetworkX-minutes/data/Elizabeth1798.csv | 58 +++++++ .../NetworkX-minutes/fig/Elizabeth_plot.png | Bin 0 -> 52389 bytes .../NetworkX-minutes/fig/networkx_plot.png | Bin 0 -> 5024 bytes 4 files changed, 186 insertions(+), 16 deletions(-) create mode 100644 lessons/NetworkX-minutes/data/Elizabeth1798.csv create mode 100644 lessons/NetworkX-minutes/fig/Elizabeth_plot.png create mode 100644 lessons/NetworkX-minutes/fig/networkx_plot.png diff --git a/lessons/NetworkX-minutes/README.md b/lessons/NetworkX-minutes/README.md index 7669f8ebb..033776177 100644 --- a/lessons/NetworkX-minutes/README.md +++ b/lessons/NetworkX-minutes/README.md @@ -39,7 +39,7 @@ Character 2 ~~~ {: .language-python} -This will automatically generate a CSV file with node-node relations (source, type, target, weight) in the column in the centre. Data changes as you type: +Easy Linavis will automatically generate a CSV file with node-node relations (source, type, target, weight) in the column in the centre. Data changes as you type: as soon as you change something in the first column, the mid-column changes accordingly. The "type" column in the CSV file is always "undirected" here, but we inserted it so you can directly work with the CSV files in Gephi. The network graph in the right column is also generated live, using a spring-embedded layout, just to give you a first impression of what your network data looks like. To make it easier to understand how ezlinavis works, we provide some example files which can be accessed via the corresponding drop-down menu in the right upper corner. @@ -57,7 +57,7 @@ and not the new version 2.X. Information on how to migrate from 1.X to 2.X can b ### Other tools -Another tool that is freely available [https://gephi.org/](https://gephi.org/). It is a very handy tools for creating nice network plots. To use it, +Another tool that is freely available [https://gephi.org/](https://gephi.org/). To be fully ffunctional, you need an up to date version of java. Gephi is a very handy tools for creating nice network plots. To use it, download one file from Easy Linavis (as a csv file) and use it in Gephi. @@ -67,33 +67,145 @@ Annika has prepared several jupyter notebooks: - [https://github.com/arockenberger/InnsbruckEasterplay/blob/master/CNA_tests.ipynb](https://github.com/arockenberger/InnsbruckEasterplay/blob/master/CNA_tests.ipynb) -**Facts**: -- no weight by default (need to ask NetworkX to compute them) -- not directional by default; use DiGraph() and/or MultiGraph() for directional networks. +To make use of NetworkX python package, you need to import it: -In all the examples, csv python package is used. +~~~ +import networkx as nx +~~~ +{: .language-python} + +We use `nx` as a shortcut to avoid writing networkx everytime we call a function from NetworkX python package. + + +- To define a new graph, use Graph method: + +~~~ +G = nx.Graph([("A", "eggs"),]) +~~~ +{: .language-python} + +It defines a new graph with two nodes "A" and "eggs" connected to each other. You need to give a list of connections (one connection is represented by two "nodes"). + +To print all the nodes: +~~~ +print(G.nodes) +~~~ +{: .language-python} + +To print all the connections: +~~~ +print(G.edges) +~~~ +{: .language-python} + +To add new nodes: + +~~~ +G.add_node("spinach") # add a single node +G.add_node("Hg") # add a single node by mistake +G.add_nodes_from(["folates", "asparagus", "liver"]) # add a list of nodes +~~~ +{: .language-python} -- csv.reader() --> add information on how to skip header +To add a new connection between nodes: + +~~~ +G.add_edge("spinach", "folates") # add one edge, both ends exist +G.add_edge("spinach", "heating oil") # add one edge +G.add_edge("liver", "Se") # add one edge, one end does not exist +G.add_edges_from([("folates", "liver"), ("folates", "asparagus")]) # add list of edges +~~~ +{: .language-python} -- if you remove a node, it does not removes all the connections; you end up having selfloop node. So you need to clean it. ---> have a look on how to remove connection. + +> ## **Tips**: +> +> - no weight by default (need to ask NetworkX to compute them) +> - not directional by default; use DiGraph() and/or MultiGraph() for directional networks. +> - when defining new connections( add_edge or add_edges_from), a new node is created +> if it does not exist yet. SO BE CAREFUL WITH THE NAMES OF THE NODES (typos, letter cases, etc.) +> +{: .callout} + +To plot a graph with networkx: +~~~ +nx.draw(G) +~~~ +{: .language-python} + +![networkx_plot](../fig/networkx_plot.png) + +It plots nodes and associated connections. + + +- To delete nodes and connections: + +~~~ +G.remove_node("Hg") # removes this node +G.remove_nodes_from(["Hg",]) # removes a missing node from a list +G.remove_edge("spinach", "heating oil") # removes edge between these nodes +G.remove_edges_from([("spinach", "heating oil"),]) # removes edges from a list +G.remove_node("heating oil") +~~~ +{: .language-python} + +> ## Tips +> +> You get an error if you try to remove a node that does not exist (same with a connection) +> +{: .callout} #### Examples +We will now work with "real" examples i.e. read a network from a csv file. +We are using "Elizabeth Inchbald: Lover's Vows (1798)" from [Easy Linavis](https://ezlinavis.dracor.org/). -- Add an example with several columns. Choose 2 columns. -- https://github.com/arockenberger/NB_API_Python For visualization -- nbtext library --> will be released so we can use it for plotting. -- Make an example to plot with WordCloud. +To read a csv file, the easiest is to use pandas python package: -### AOB +~~~ +import pandas as pd +df = pd.read_csv("data/Elizabeth1798.csv") +df.head() +~~~ +{: .language-python} -We also discuss on how to write a blog: [https://hypotheses.org/](https://hypotheses.org/) +~~~ + Source Type Target Weight +0 Agatha Undirected Amelia 1 +1 Agatha Undirected Anhalt 2 +2 Agatha Undirected Baron 1 +3 Agatha Undirected Cottager 3 +4 Agatha Undirected Countryman 1 +~~~ +{: .output} + + +The file contains quite a large number of rows so we printed only the first rows (5 first rows) using head(). + +- To create a Graph from a pandas dataframe: + +~~~ +# create a graph using Source and Target for connections. +G = nx.from_pandas_edgelist(df, 'Source', 'Target') +nx.draw(G) +~~~ +{: .language-python} +![Elizabeth_plot](../fig/elizabeth_plot.png) +`from_pandas_edgelist` takes a pandas dataframe and the two column names used as "Source" and "Target". + +See documentation online for more information on [from_pandas_edgelist](https://networkx.github.io/documentation/stable/reference/generated/networkx.convert_matrix.from_pandas_edgelist.html). + + +- Have a look at Annicka's jupyter notebook at [https://github.com/arockenberger/NB_API_Python](https://github.com/arockenberger/NB_API_Python) for visualization. + +### AOB + +We also discuss on how to write a blog: [https://hypotheses.org/](https://hypotheses.org/) -- Add info on where to buy domain (not take the cheapest one). +- Add info on where to buy domain (do not take the cheapest one). diff --git a/lessons/NetworkX-minutes/data/Elizabeth1798.csv b/lessons/NetworkX-minutes/data/Elizabeth1798.csv new file mode 100644 index 000000000..ccb366e45 --- /dev/null +++ b/lessons/NetworkX-minutes/data/Elizabeth1798.csv @@ -0,0 +1,58 @@ +Source,Type,Target,Weight +Agatha,Undirected,Amelia,1 +Agatha,Undirected,Anhalt,2 +Agatha,Undirected,Baron,1 +Agatha,Undirected,Cottager,3 +Agatha,Undirected,Countryman,1 +Agatha,Undirected,Farmer,1 +Agatha,Undirected,Frederick,3 +Agatha,Undirected,Girl,1 +Agatha,Undirected,Landlord,1 +Agatha,Undirected,Wife,3 +Amelia,Undirected,Anhalt,5 +Amelia,Undirected,Baron,4 +Amelia,Undirected,Butler,2 +Amelia,Undirected,Count,2 +Amelia,Undirected,Frederick,3 +Amelia,Undirected,Gentleman,1 +Amelia,Undirected,Servant,1 +Anhalt,Undirected,Baron,4 +Anhalt,Undirected,Butler,2 +Anhalt,Undirected,Cottager,1 +Anhalt,Undirected,Count,2 +Anhalt,Undirected,Frederick,3 +Anhalt,Undirected,Gentleman,1 +Anhalt,Undirected,Servant,1 +Anhalt,Undirected,Wife,1 +Baron,Undirected,Butler,2 +Baron,Undirected,Count,3 +Baron,Undirected,Frederick,3 +Baron,Undirected,Gentleman,1 +Baron,Undirected,Servant,1 +Butler,Undirected,Count,1 +Butler,Undirected,Frederick,1 +Cottager,Undirected,Countryman,1 +Cottager,Undirected,Farmer,1 +Cottager,Undirected,Frederick,2 +Cottager,Undirected,Girl,1 +Cottager,Undirected,Landlord,1 +Cottager,Undirected,Wife,3 +Countryman,Undirected,Farmer,1 +Countryman,Undirected,Frederick,1 +Countryman,Undirected,Girl,1 +Countryman,Undirected,Landlord,1 +Countryman,Undirected,Wife,1 +Count,Undirected,Frederick,2 +Count,Undirected,Gentleman,1 +Count,Undirected,Servant,1 +Farmer,Undirected,Frederick,1 +Farmer,Undirected,Girl,1 +Farmer,Undirected,Landlord,1 +Farmer,Undirected,Wife,1 +Frederick,Undirected,Girl,1 +Frederick,Undirected,Landlord,1 +Frederick,Undirected,Wife,2 +Gentleman,Undirected,Servant,1 +Girl,Undirected,Landlord,1 +Girl,Undirected,Wife,1 +Landlord,Undirected,Wife,1 diff --git a/lessons/NetworkX-minutes/fig/Elizabeth_plot.png b/lessons/NetworkX-minutes/fig/Elizabeth_plot.png new file mode 100644 index 0000000000000000000000000000000000000000..bdf78617bf24cdda45491e9966c1b27a86816f7b GIT binary patch literal 52389 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 literal 0 HcmV?d00001 diff --git a/lessons/NetworkX-minutes/fig/networkx_plot.png b/lessons/NetworkX-minutes/fig/networkx_plot.png new file mode 100644 index 0000000000000000000000000000000000000000..43b9060ed55d63241c5c35514d63d12dc7298084 GIT binary patch literal 5024 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 aCXcgT+t6`CiNm`%;PS<5@M^ Date: Wed, 26 Sep 2018 09:54:13 +0200 Subject: [PATCH 026/189] Update README.md --- lessons/NetworkX-minutes/README.md | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/lessons/NetworkX-minutes/README.md b/lessons/NetworkX-minutes/README.md index 033776177..398be968b 100644 --- a/lessons/NetworkX-minutes/README.md +++ b/lessons/NetworkX-minutes/README.md @@ -51,21 +51,22 @@ data. If you want to contact us, please drop a line to ffischer(at)hse.ru. - [https://textology.hypotheses.org/37](https://textology.hypotheses.org/37) - [https://github.com/arockenberger/InnsbruckEasterplay](https://github.com/arockenberger/InnsbruckEasterplay) -- [Complex Netowkr Analysis in Python](https://pragprog.com/book/dzcnapy/complex-network-analysis-in-python): based on NetworkX but version 1.X +- [Complex Network Analysis in Python](https://pragprog.com/book/dzcnapy/complex-network-analysis-in-python): based on NetworkX version 1.X and not the new version 2.X. Information on how to migrate from 1.X to 2.X can be found at [https://networkx.github.io/documentation/stable/release/migration_guide_from_1.x_to_2.0.html](https://networkx.github.io/documentation/stable/release/migration_guide_from_1.x_to_2.0.html). ### Other tools -Another tool that is freely available [https://gephi.org/](https://gephi.org/). To be fully ffunctional, you need an up to date version of java. Gephi is a very handy tools for creating nice network plots. To use it, -download one file from Easy Linavis (as a csv file) and use it in Gephi. +Another tool that is freely available is Gephi [https://gephi.org/](https://gephi.org/). To be fully functional, you need an up to date version of java. Gephi is a very handy tool for creating nice network plots, especially if you want to publish them. To use it, +download a file from Easy Linavis (as a csv file) and use it in Gephi or create your own csv. ### Codes used for the demo Annika has prepared several jupyter notebooks: -- [https://github.com/arockenberger/InnsbruckEasterplay/blob/master/CNA_tests.ipynb](https://github.com/arockenberger/InnsbruckEasterplay/blob/master/CNA_tests.ipynb) +- A follow-along notebook for the textbook on complex network analysis (up tp chapter 5, will be continued) [https://github.com/arockenberger/InnsbruckEasterplay/blob/master/CNA_tests.ipynb](https://github.com/arockenberger/InnsbruckEasterplay/blob/master/CNA_tests.ipynb) +– A notebook for doing cna with material from the Innsbruck Easterplay [https://github.com/arockenberger/InnsbruckEasterplay/blob/master/InnsOS_charnet.ipynb](https://github.com/arockenberger/InnsbruckEasterplay/blob/master/InnsOS_charnet.ipynb) To make use of NetworkX python package, you need to import it: @@ -93,7 +94,7 @@ print(G.nodes) ~~~ {: .language-python} -To print all the connections: +To print all the connections, or edges: ~~~ print(G.edges) ~~~ @@ -103,12 +104,11 @@ To add new nodes: ~~~ G.add_node("spinach") # add a single node -G.add_node("Hg") # add a single node by mistake G.add_nodes_from(["folates", "asparagus", "liver"]) # add a list of nodes ~~~ {: .language-python} -To add a new connection between nodes: +To add a new connection – edge – between nodes: ~~~ G.add_edge("spinach", "folates") # add one edge, both ends exist @@ -121,7 +121,7 @@ G.add_edges_from([("folates", "liver"), ("folates", "asparagus")]) # add list of > ## **Tips**: > -> - no weight by default (need to ask NetworkX to compute them) +> - no weight by default (need to ask NetworkX to compute them, but can be assigned as attributes manually) > - not directional by default; use DiGraph() and/or MultiGraph() for directional networks. > - when defining new connections( add_edge or add_edges_from), a new node is created > if it does not exist yet. SO BE CAREFUL WITH THE NAMES OF THE NODES (typos, letter cases, etc.) @@ -199,13 +199,13 @@ nx.draw(G) See documentation online for more information on [from_pandas_edgelist](https://networkx.github.io/documentation/stable/reference/generated/networkx.convert_matrix.from_pandas_edgelist.html). -- Have a look at Annicka's jupyter notebook at [https://github.com/arockenberger/NB_API_Python](https://github.com/arockenberger/NB_API_Python) for visualization. +- Have a look at Lars Johnson's (National Library of Norway) jupyter notebook at [https://github.com/arockenberger/NB_API_Python](https://github.com/arockenberger/NB_API_Python) for visualization. ### AOB -We also discuss on how to write a blog: [https://hypotheses.org/](https://hypotheses.org/) +We also discussed how to host, write and publish an academic blog on the free to use, open access blog platform Hypotheses.org [https://hypotheses.org/](https://hypotheses.org/). The blogs are indexed by major libraries and journal indexing services and you can apply for an official ISSN. Hypotheses is open for all languages, the four main languages with several thousands of academic blogs are Spanish, French, German and English. -- Add info on where to buy domain (do not take the cheapest one). +- You can host and publish your own blog by using, for example, Wordpress or Drupal (Content Mangement Systems, CMS). The offer a great variety in layouts and templates for a website that has not just static content. If you decide to buy hosting services, there's plenty to choose from. It doesn't have to be costly, but be aware that the cheapest option isn't necessarily the best. You must put a GDPR statement on your site if you use a CMS! From 933b067cb5966df893b504ee7297a4fd7c31dbb6 Mon Sep 17 00:00:00 2001 From: Annika Rockenberger Date: Wed, 26 Sep 2018 10:05:14 +0200 Subject: [PATCH 027/189] Added notes from session --- lessons/NDA-minutes/README.md | 68 +++++++++++++++++++++++++++++++++++ 1 file changed, 68 insertions(+) diff --git a/lessons/NDA-minutes/README.md b/lessons/NDA-minutes/README.md index e88bca882..2aa768736 100644 --- a/lessons/NDA-minutes/README.md +++ b/lessons/NDA-minutes/README.md @@ -28,6 +28,74 @@ More and more researchers need to make available their data before being able to **When**: 7th September 2018, 14:00-16:00 +5 National Infrastructures for storing and archiving data (atm) in Norway + +### NSD +– [http://www.nsd.uib.no/nsd/english/index.html](http://www.nsd.uib.no/nsd/english/index.html) +– Humanities, Social Sciences, Environmental Sciences +– Research Data Archive +– Located at UiB, Norway + +### NIRD / Nordstore +- [https://archive.norstore.no/](https://archive.norstore.no/) +– Research data archive +– National Archive +– Statistics +– Everyone can archive their data, no peer review or quality checking +– Generic, for entire Norway +– Assigns a DOI automatically +– maintained by Uninett / Sigma2 [https://www.uninett.no/sigma](https://www.uninett.no/sigma) + + +### TSD +– [https://www.uio.no/tjenester/it/forskning/sensitiv/](https://www.uio.no/tjenester/it/forskning/sensitiv/) +– Tjenester for siker datalagring +– Hosted by UiO +– Secure data storage for research projects (medicine etc.; personal data), can be shared; more widespread, also beyond Norway + +### Dataverse.no +– [https://dataverse.no/](https://dataverse.no/) +– UiT; now also UiA +– Hosts institutional repositories +– Archiving data for local researchers +– Have developed by institutional review, domain specific +– Must comply to FAIR principles +– UiO researchers can store up to 1 GB data, not more; no formal agreement +– Climate and geo data format https://www.unidata.ucar.edu/software/netcdf/ +– Metadata standard [http://schema.datacite.org/](http://schema.datacite.org/) +– [https://uit.no/forskning/art?p_document_id=521580&dim=236443](https://uit.no/forskning/art?p_document_id=521580&dim=236443) + + +### BIRD +- [https://bird.bibsys.no/jspui/](https://bird.bibsys.no/jspui/) +– BI Oslo +– Research Data Repo +– BibSys + +### General info on research data storage and access in Norway +– [https://www.regjeringen.no/no/dokumenter/nasjonal-strategi-for-tilgjengeliggjoring-og-deling-av-forskningsdata/id2582412/](https://www.regjeringen.no/no/dokumenter/nasjonal-strategi-for-tilgjengeliggjoring-og-deling-av-forskningsdata/id2582412/) + +### Domain specific data archives, incl. Metadata on re-use etc. +– [https://www.re3data.org/](https://www.re3data.org/) +– Look for keyword “Norway” - all Norwegian repos and archives listed +– Incl. European repos + +### Data Norge.no +– [https://data.norge.no/](https://data.norge.no/) +– Open for use + +### Kartverket.no +– topographical data + +### National Library of Norway nb.no +– data in machine readable form from Norwegian publications since 1740, incl. books, newspapers, journals; but also an increasing amount of manuscripts (medieval and modern), photographs, paintings, prints, sheet music; digital sound and music files, digital video files +– [nb.no](https://nb.no) + +### Dataverse Project +– [https://dataverse.org/](https://dataverse.org/) + + + From 0ddb0126670cb946e1b7bd136879390b0e1626d3 Mon Sep 17 00:00:00 2001 From: Annika Rockenberger Date: Wed, 26 Sep 2018 10:09:33 +0200 Subject: [PATCH 028/189] Fixed lists --- lessons/NDA-minutes/README.md | 86 ++++++++++++++++------------------- 1 file changed, 40 insertions(+), 46 deletions(-) diff --git a/lessons/NDA-minutes/README.md b/lessons/NDA-minutes/README.md index 2aa768736..2ce5b2d49 100644 --- a/lessons/NDA-minutes/README.md +++ b/lessons/NDA-minutes/README.md @@ -31,71 +31,65 @@ More and more researchers need to make available their data before being able to 5 National Infrastructures for storing and archiving data (atm) in Norway ### NSD -– [http://www.nsd.uib.no/nsd/english/index.html](http://www.nsd.uib.no/nsd/english/index.html) -– Humanities, Social Sciences, Environmental Sciences -– Research Data Archive -– Located at UiB, Norway +* [http://www.nsd.uib.no/nsd/english/index.html](http://www.nsd.uib.no/nsd/english/index.html) +* Humanities, Social Sciences, Environmental Sciences +* Research Data Archive +* Located at UiB, Norway ### NIRD / Nordstore -- [https://archive.norstore.no/](https://archive.norstore.no/) -– Research data archive -– National Archive -– Statistics -– Everyone can archive their data, no peer review or quality checking -– Generic, for entire Norway -– Assigns a DOI automatically -– maintained by Uninett / Sigma2 [https://www.uninett.no/sigma](https://www.uninett.no/sigma) +* [https://archive.norstore.no/](https://archive.norstore.no/) +* Research data archive +* National Archive +* Statistics +* Everyone can archive their data, no peer review or quality checking +* Generic, for entire Norway +* Assigns a DOI automatically +* maintained by Uninett / Sigma2 [https://www.uninett.no/sigma](https://www.uninett.no/sigma) ### TSD -– [https://www.uio.no/tjenester/it/forskning/sensitiv/](https://www.uio.no/tjenester/it/forskning/sensitiv/) -– Tjenester for siker datalagring -– Hosted by UiO -– Secure data storage for research projects (medicine etc.; personal data), can be shared; more widespread, also beyond Norway +* [https://www.uio.no/tjenester/it/forskning/sensitiv/](https://www.uio.no/tjenester/it/forskning/sensitiv/) +* Tjenester for siker datalagring +* Hosted by UiO +* Secure data storage for research projects (medicine etc.; personal data), can be shared; more widespread, also beyond Norway ### Dataverse.no -– [https://dataverse.no/](https://dataverse.no/) -– UiT; now also UiA -– Hosts institutional repositories -– Archiving data for local researchers -– Have developed by institutional review, domain specific -– Must comply to FAIR principles -– UiO researchers can store up to 1 GB data, not more; no formal agreement -– Climate and geo data format https://www.unidata.ucar.edu/software/netcdf/ -– Metadata standard [http://schema.datacite.org/](http://schema.datacite.org/) -– [https://uit.no/forskning/art?p_document_id=521580&dim=236443](https://uit.no/forskning/art?p_document_id=521580&dim=236443) +* [https://dataverse.no/](https://dataverse.no/) +* UiT; now also UiA +* Hosts institutional repositories +* Archiving data for local researchers +* Have developed by institutional review, domain specific +* Must comply to FAIR principles +* UiO researchers can store up to 1 GB data, not more; no formal agreement +* Climate and geo data format https://www.unidata.ucar.edu/software/netcdf/ +* Metadata standard [http://schema.datacite.org/](http://schema.datacite.org/) +* [https://uit.no/forskning/art?p_document_id=521580&dim=236443](https://uit.no/forskning/art?p_document_id=521580&dim=236443) ### BIRD -- [https://bird.bibsys.no/jspui/](https://bird.bibsys.no/jspui/) -– BI Oslo -– Research Data Repo -– BibSys +* [https://bird.bibsys.no/jspui/](https://bird.bibsys.no/jspui/) +* BI Oslo +* Research Data Repo +* BibSys ### General info on research data storage and access in Norway -– [https://www.regjeringen.no/no/dokumenter/nasjonal-strategi-for-tilgjengeliggjoring-og-deling-av-forskningsdata/id2582412/](https://www.regjeringen.no/no/dokumenter/nasjonal-strategi-for-tilgjengeliggjoring-og-deling-av-forskningsdata/id2582412/) +* [https://www.regjeringen.no/no/dokumenter/nasjonal-strategi-for-tilgjengeliggjoring-og-deling-av-forskningsdata/id2582412/](https://www.regjeringen.no/no/dokumenter/nasjonal-strategi-for-tilgjengeliggjoring-og-deling-av-forskningsdata/id2582412/) ### Domain specific data archives, incl. Metadata on re-use etc. -– [https://www.re3data.org/](https://www.re3data.org/) -– Look for keyword “Norway” - all Norwegian repos and archives listed -– Incl. European repos +* [https://www.re3data.org/](https://www.re3data.org/) +* Look for keyword “Norway” - all Norwegian repos and archives listed +* Incl. European repos ### Data Norge.no -– [https://data.norge.no/](https://data.norge.no/) -– Open for use +* [https://data.norge.no/](https://data.norge.no/) +* Open for use ### Kartverket.no -– topographical data +* topographical data ### National Library of Norway nb.no -– data in machine readable form from Norwegian publications since 1740, incl. books, newspapers, journals; but also an increasing amount of manuscripts (medieval and modern), photographs, paintings, prints, sheet music; digital sound and music files, digital video files -– [nb.no](https://nb.no) +* data in machine readable form from Norwegian publications since 1740, incl. books, newspapers, journals; but also an increasing amount of manuscripts (medieval and modern), photographs, paintings, prints, sheet music; digital sound and music files, digital video files +* [nb.no](https://nb.no) ### Dataverse Project -– [https://dataverse.org/](https://dataverse.org/) - - - - - - +* [https://dataverse.org/](https://dataverse.org/) From 7624c2742bf5c18a59b73c715eb6046d576de288 Mon Sep 17 00:00:00 2001 From: Michel Heeremans Date: Wed, 26 Sep 2018 10:41:33 +0200 Subject: [PATCH 029/189] Update README.md Added NMBU as also being part of Dataverse.no --- lessons/NDA-minutes/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lessons/NDA-minutes/README.md b/lessons/NDA-minutes/README.md index 2ce5b2d49..e7dfcd8f4 100644 --- a/lessons/NDA-minutes/README.md +++ b/lessons/NDA-minutes/README.md @@ -55,7 +55,7 @@ More and more researchers need to make available their data before being able to ### Dataverse.no * [https://dataverse.no/](https://dataverse.no/) -* UiT; now also UiA +* UiT; now also UiA and NMBU * Hosts institutional repositories * Archiving data for local researchers * Have developed by institutional review, domain specific From abc33c8296c901f663f5082b7ecc95d97e90092f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dan=20Michael=20O=2E=20Hegg=C3=B8?= Date: Thu, 18 Oct 2018 17:12:51 +0200 Subject: [PATCH 030/189] Fix link to Github repo --- _data/en.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_data/en.yml b/_data/en.yml index 409ec734b..3acf1bf8f 100644 --- a/_data/en.yml +++ b/_data/en.yml @@ -23,7 +23,7 @@ leadership: How to lead a Study Group session pastEvents: See Our Past Events notification: Want to be notified of our upcoming events? -watching: 'Head over to GitHub and watch our repository, like this:' +watching: 'Head over to GitHub and watch our repository, like this:' watchingCaption: 'Look in the top right-hand corner of our repo, and click "Watching."
You can undo this at any time in the same place.' calendar: Subscribe to our events calendar! From b1a30fadd88acbfcd28aa21ed1cfa920243a78cf Mon Sep 17 00:00:00 2001 From: Anne Fouilloux Date: Fri, 19 Oct 2018 12:33:48 +0200 Subject: [PATCH 031/189] setup for work along session on deep-learning --- lessons/deep-learning-minutes/README.md | 75 +++++++++++++++++++++++++ 1 file changed, 75 insertions(+) create mode 100644 lessons/deep-learning-minutes/README.md diff --git a/lessons/deep-learning-minutes/README.md b/lessons/deep-learning-minutes/README.md new file mode 100644 index 000000000..dda8473f0 --- /dev/null +++ b/lessons/deep-learning-minutes/README.md @@ -0,0 +1,75 @@ +--- +layout: page +title: work along session on deep learning +text: +link: https://github.com/uio-carpentry/studyGroup/issues/8 +visible: true +tags: + # languages + - python + - r + # levels + - intermediate +--- + + + + + - **Leader**: Ana Costa + - **Lesson Topic**: Deep learning with R and python + - [![License: CC BY 4.0](https://img.shields.io/badge/License-CC%20BY%204.0-lightgrey.svg)](https://creativecommons.org/licenses/by/4.0/) + + +# Minutes of the studyGroup@UiO work along session + +**When**: 19th October 2018, 14:00-16:00 + +### Setup + +#### Setup for R + +The following packages need to be install for this work along session: + +~~~ +install.packages("devtools") +install.packages("neuralnet") +install.packages("GGally") +install.packages("tidyverse") +install.packages("car") +install.packages("curl") +install.packages("tensorflow") +~~~ +{: .language-r} + + +For using `tensorflow`, you also need an additional step to initialize it: + +~~~ +library(tensorflow) +install_tensorflow(method = "auto") # if not installed before +~~~ +{: .language-r} + +- To test tensorflow installation + +~~~ +sess = tf$Session() +hello <- tf$constant("Hello, Tensorflow!") +sess$run(hello) +~~~ +{: .language-r} + +#### Setup for python 3 + +The following python packages will be used for this work along session: + +~~~ +numpy +pandas +matplotlib +scikit-learn +tensorflow +~~~ +{: .language-python} + + From ab3173ec427502314256c4316bc22cb6c9e40cfb Mon Sep 17 00:00:00 2001 From: Anne Fouilloux Date: Fri, 19 Oct 2018 12:37:24 +0200 Subject: [PATCH 032/189] added submodule for deep-learning lesson --- .gitmodules | 4 ++++ lessons/deep-learning-minutes/neuralRPy | 1 + 2 files changed, 5 insertions(+) create mode 160000 lessons/deep-learning-minutes/neuralRPy diff --git a/.gitmodules b/.gitmodules index e998b7e03..37309ed5c 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,3 +1,7 @@ [submodule "lessons/pytest-lesson"] path = lessons/pytest-lesson url = https://github.com/annefou/pytest-lesson +[submodule "lessons/deep-learning-minutes/neuralRPy"] + path = lessons/deep-learning-minutes/neuralRPy + url = https://github.com/anacost/neuralRPy + branch = master diff --git a/lessons/deep-learning-minutes/neuralRPy b/lessons/deep-learning-minutes/neuralRPy new file mode 160000 index 000000000..73d291e96 --- /dev/null +++ b/lessons/deep-learning-minutes/neuralRPy @@ -0,0 +1 @@ +Subproject commit 73d291e96385941e0468c533f4b2b0567b0c49b0 From b3da081dfdbd1e06f44b41d6379e93a2b7fef5a8 Mon Sep 17 00:00:00 2001 From: Anne Fouilloux Date: Fri, 19 Oct 2018 15:23:52 +0200 Subject: [PATCH 033/189] added links to jupyter notebooks --- lessons/deep-learning-minutes/README.md | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/lessons/deep-learning-minutes/README.md b/lessons/deep-learning-minutes/README.md index dda8473f0..af1c40e7a 100644 --- a/lessons/deep-learning-minutes/README.md +++ b/lessons/deep-learning-minutes/README.md @@ -73,3 +73,14 @@ tensorflow {: .language-python} +### neuralnet with R + +See jupyter notebook with [neuralnet example](https://github.com/anacost/neuralRPy/blob/master/neuralnet_sensitivity_met_data.ipynb). + +### Tensorflow with python + +See jupyter notebook with [tensorflow in python](https://github.com/anacost/neuralRPy/blob/master/tensorflowPy.ipynb). + +### Other materials + +- [A Beginner's Guide to Neural Networks and Deep Learning](https://skymind.ai/wiki/neural-network) From 8dbc252e90cc5c36496366835bafae39d4ecb75d Mon Sep 17 00:00:00 2001 From: Ana Costa <29195893+anacost@users.noreply.github.com> Date: Fri, 26 Oct 2018 09:40:33 +0000 Subject: [PATCH 034/189] create Oslo useR! group meetup Football on 10 December --- _posts/2018-12-10-useR.markdown | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 _posts/2018-12-10-useR.markdown diff --git a/_posts/2018-12-10-useR.markdown b/_posts/2018-12-10-useR.markdown new file mode 100644 index 000000000..8fc299d65 --- /dev/null +++ b/_posts/2018-12-10-useR.markdown @@ -0,0 +1,25 @@ +--- +title: use R! group How analysing football data made me fall in love with football again +text: +location: Teknologihuset +link: https://www.meetup.com/Oslo-useR-Group/events/255853637/ +date: 2018-09-19 +startTime: '17:30' +endTime: '19:30' + +--- + +**Session leader**: Toju Idowu and Dmytro Perepolkin + +In this talk, I will show you how I’ve used `R` to delve deep into how football works. I’ll work through a simple GLM using some of the new tidymodels packages. + +About the speaker: +Toju is an actuary originally from the UK, living in Oslo. He has been using `R` for about four years ever since he accidentally discovered it while searching for how to do linear regression in Excel. Now he use `R` for almost everything data related both at work and at home on side projects. + + +- **Level**: beginner to intermediate +- **When**: 10th December 2018 +- **Time**: 17:30-19:30 +- **Location**: Teknologihuset, Pilestredet 56 · Oslo +- **More information**: https://www.meetup.com/Oslo-useR-Group/events/255853637/ + From 94d042a95336ea216f9b81669f339a82656a0abc Mon Sep 17 00:00:00 2001 From: Anne Fouilloux Date: Fri, 26 Oct 2018 12:11:44 +0200 Subject: [PATCH 035/189] bug fix: date was not right in file --- _posts/2018-12-10-useR.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_posts/2018-12-10-useR.markdown b/_posts/2018-12-10-useR.markdown index 8fc299d65..58307f702 100644 --- a/_posts/2018-12-10-useR.markdown +++ b/_posts/2018-12-10-useR.markdown @@ -3,7 +3,7 @@ title: use R! group How analysing football data made me fall in love with footba text: location: Teknologihuset link: https://www.meetup.com/Oslo-useR-Group/events/255853637/ -date: 2018-09-19 +date: 2018-12-10 startTime: '17:30' endTime: '19:30' From e656c071e4d2e825609456c8ae4a624fa49d8790 Mon Sep 17 00:00:00 2001 From: Ana Costa <29195893+anacost@users.noreply.github.com> Date: Mon, 29 Oct 2018 11:31:59 +0000 Subject: [PATCH 036/189] created 2018-11-07-userR.markdown --- _posts/2018-11-07-useR.markdown | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 _posts/2018-11-07-useR.markdown diff --git a/_posts/2018-11-07-useR.markdown b/_posts/2018-11-07-useR.markdown new file mode 100644 index 000000000..64fa522a8 --- /dev/null +++ b/_posts/2018-11-07-useR.markdown @@ -0,0 +1,21 @@ +--- +title: Oslo useR! Group, Making tidyverse-friendly packages +text: +location: Teknologihuset +link: https://www.meetup.com/Oslo-useR-Group/events/255931499/ +date: 2018-11-07 +startTime: '17:30' +endTime: '19:30' + +--- + +**Session leader**: Raoul Wolf + +Raoul will share his experience from simplifying a workflow by writing an R package; under the restriction of minimal dependencies, while maintaining full compatibility for tidyverse. In his own words: «I was working on a new project and I noticed I was sourcing dozens of functions from multiple scripts. I thought to myself: “I might as well do what everyone is doing and write a package!» Come and join us in learning how to identify the need for a package, strategically plan the process of writing the package, and to keep track on applicability and usability. + +- **Level**: beginner to intermediate +- **When**: 07th November 2018 +- **Time**: 17:30-19:30 +- **Location**: Teknologihuset, Pilestredet 56 · Oslo +- **More information**: https://www.meetup.com/Oslo-useR-Group/events/255931499/ + From c43871959e59a714478828fd8ee29b71a289694a Mon Sep 17 00:00:00 2001 From: Anne Fouilloux Date: Fri, 2 Nov 2018 12:51:46 +0100 Subject: [PATCH 037/189] event cancelled --- _posts/2018-11-23-workalong.markdown | 20 -------------------- 1 file changed, 20 deletions(-) delete mode 100644 _posts/2018-11-23-workalong.markdown diff --git a/_posts/2018-11-23-workalong.markdown b/_posts/2018-11-23-workalong.markdown deleted file mode 100644 index 96a68c7f8..000000000 --- a/_posts/2018-11-23-workalong.markdown +++ /dev/null @@ -1,20 +0,0 @@ ---- -title: Work along session on "Ally Skills Workshop" -text: Discuss Valerie Aurora's "Ally Skills Workshop" training material. -location: Science Library -link: https://github.com/uio-carpentry/studyGroup/issues/12 -date: 2018-11-23 -startTime: '14:00' -endTime: '16:00' - ---- - -**Session leader**: Gladys Nalvarte - -The goal of this work along session is to go through Valerie Aurora's training material on "Ally skills workshop". The goal of these workshops is to provide training and advice to increase diversity and inclusion in technology-oriented organizations. - - -- **When**: 23nd November 2018, 14-16h -- **Location**: Niels Henrik Abels hus, room 209 -- **Who**: _everybody interested in learning about "Ally Skills workshops"_ - From 9379ab8f8475aed0800961fcef6e19213ca96749 Mon Sep 17 00:00:00 2001 From: Michel Heeremans Date: Fri, 2 Nov 2018 17:04:15 +0100 Subject: [PATCH 038/189] Create minutes.md Minutes for the uioCarpentry Study Group session on the OSF --- lessons/OSF_minutes/minutes.md | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 lessons/OSF_minutes/minutes.md diff --git a/lessons/OSF_minutes/minutes.md b/lessons/OSF_minutes/minutes.md new file mode 100644 index 000000000..098a52b97 --- /dev/null +++ b/lessons/OSF_minutes/minutes.md @@ -0,0 +1,7 @@ +We went through the OSF interface and came up with some points that would be important to go through when organizing an OSF workshop, e.g. at the Research Bazaar: + +- Is it possble to add different accounts for Add-ons e.g. different github accounts for one user? +- Discuss the use of DOI's and Registration. When should you create a DOI? When and why should you register your project +- Show how to generate different ways of citation, e.g. BibTex +- How to create a preprint and connect it to your OSF project? How to find pre-prints and make comments to them? What is the advantage of preprints? +- Discuss advantage of using OSF and/or other public collaboration platforms that can generate DOI in respect to publishing on your own web page. From 4bbef117b968e423b2bd7e05709cab48fbeaa334 Mon Sep 17 00:00:00 2001 From: Michel Heeremans Date: Fri, 2 Nov 2018 17:09:23 +0100 Subject: [PATCH 039/189] Update minutes.md --- lessons/OSF_minutes/minutes.md | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/lessons/OSF_minutes/minutes.md b/lessons/OSF_minutes/minutes.md index 098a52b97..d27d281fc 100644 --- a/lessons/OSF_minutes/minutes.md +++ b/lessons/OSF_minutes/minutes.md @@ -1,3 +1,23 @@ +--- +layout: page +title: Open Science Framework +text: +link: https://github.com/uio-carpentry/studyGroup/issues/10 +visible: true +tags: + # languages + - misc + # levels + - beginner +--- + + + + + - **Authors**: Michael Heeremans and Ana Costa Conrado + - **Lesson Topic**: Open Science Framework + - [![License: CC BY 4.0](https://img.shields.io/badge/License-CC%20BY%204.0-lightgrey.svg)](https://creativecommons.org/licenses/by/4.0/) + We went through the OSF interface and came up with some points that would be important to go through when organizing an OSF workshop, e.g. at the Research Bazaar: - Is it possble to add different accounts for Add-ons e.g. different github accounts for one user? From a6bdab92623973b60a126aa79c550f92907ea7c1 Mon Sep 17 00:00:00 2001 From: Michel Heeremans Date: Fri, 2 Nov 2018 17:15:21 +0100 Subject: [PATCH 040/189] Update minutes.md --- lessons/OSF_minutes/minutes.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lessons/OSF_minutes/minutes.md b/lessons/OSF_minutes/minutes.md index d27d281fc..e84abe322 100644 --- a/lessons/OSF_minutes/minutes.md +++ b/lessons/OSF_minutes/minutes.md @@ -20,7 +20,7 @@ tags: We went through the OSF interface and came up with some points that would be important to go through when organizing an OSF workshop, e.g. at the Research Bazaar: -- Is it possble to add different accounts for Add-ons e.g. different github accounts for one user? +- Is it possble to add different accounts for one specific Add-on e.g. different github accounts for one user? - Discuss the use of DOI's and Registration. When should you create a DOI? When and why should you register your project - Show how to generate different ways of citation, e.g. BibTex - How to create a preprint and connect it to your OSF project? How to find pre-prints and make comments to them? What is the advantage of preprints? From 990cdeca89e25cfc4213401fee879b1bf099b82a Mon Sep 17 00:00:00 2001 From: Anne Fouilloux Date: Fri, 9 Nov 2018 08:57:27 +0100 Subject: [PATCH 041/189] more generic title with coderefinery lesson on automated testing --- _posts/2018-11-09-workalong.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_posts/2018-11-09-workalong.markdown b/_posts/2018-11-09-workalong.markdown index aeb048fb8..52fa7e299 100644 --- a/_posts/2018-11-09-workalong.markdown +++ b/_posts/2018-11-09-workalong.markdown @@ -1,5 +1,5 @@ --- -title: Work along session on "How to use pytest?" +title: Work along session on "Automated testing" text: Learn about pytest and how to use this python package for testing your codes location: Science Library link: https://github.com/uio-carpentry/studyGroup/issues/11 From 2c2e2380254cb439bcd4218fc22ed35d8267f0ab Mon Sep 17 00:00:00 2001 From: Ana Costa <29195893+anacost@users.noreply.github.com> Date: Mon, 12 Nov 2018 09:42:01 +0000 Subject: [PATCH 042/189] created RLadies december 3 --- _posts/2018-12-03-RLadies.markdown | 32 ++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 _posts/2018-12-03-RLadies.markdown diff --git a/_posts/2018-12-03-RLadies.markdown b/_posts/2018-12-03-RLadies.markdown new file mode 100644 index 000000000..05b110a3d --- /dev/null +++ b/_posts/2018-12-03-RLadies.markdown @@ -0,0 +1,32 @@ +--- +title: RLadies Oslo, Topic modelling - what is it, and how does VG use it? +text: +location: Teknologihuset +link: https://www.meetup.com/rladies-oslo/events/256272641/?isFirstPublish=true +date: 2018-12-03 +startTime: '17:00' +endTime: '19:00' + +--- + +**Session leader**: Athanasia Monika Mowinckel + +The next RLadies-Oslo next meetup is set for December 3rd, with the amazing @ZazzValette presenting "Topic modelling - what is it, and how does VG use it?” + +Topic models (TM) are powerful tools to programmatically uncover textual structure in what otherwise appear to be just plain unstructured text. The applications of TM are many, like content analysis, article search, and personalisation of content. Isabelle Valette will take us through what topic models are, the way the algorithm works, and how VG has been using it inside and outside the newsroom. + +Who is Isabelle? +French data nerd, nature lover and week-end hiker, Isabelle works as a data scientist at the media house VG, one of Norway's largest newspaper. Educated as an economist and transformed into an RLady, a computer scientist and data journalist, Isa loves #rstats. She is passionate about empowering women to become awesome coders. + + +There will be some Christmas themed refreshments and spirit! +Come join us! + + + +- **Level**: beginner to intermediate +- **When**: 03th December 2018 +- **Time**: 17:00-19:00 +- **Location**: Teknologihuset, Pilestredet 56 · Oslo +- **More information**: https://www.meetup.com/rladies-oslo/events/256272641/?isFirstPublish=true + From 7344b8d6b791d2a88b474dccd6a72226f48fe665 Mon Sep 17 00:00:00 2001 From: Michel Heeremans Date: Mon, 12 Nov 2018 10:45:06 +0100 Subject: [PATCH 043/189] Few typos --- _posts/2018-11-30-workalong.markdown | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/_posts/2018-11-30-workalong.markdown b/_posts/2018-11-30-workalong.markdown index 95395403b..9ee5710b2 100644 --- a/_posts/2018-11-30-workalong.markdown +++ b/_posts/2018-11-30-workalong.markdown @@ -13,9 +13,9 @@ endTime: '16:00' Everything you need to know to start writing your own Data Management Plan. -You will learn what tools you can use to help you writing your DMP (Data Management Plan) and what is important to address to manage efficiently your data. +You will learn what tools you can use to help you writing your DMP (Data Management Plan) and what is important to address to manage your data efficiently. - **When**: 30th November 2018, 14-16h - **Location**: Niels Henrik Abels hus, room 209 -- **Who**: _everybody interested in learning about "Data Management Plan"_ +- **Who**: _everybody interested in learning about "Data Management Plans"_ From cb5d016d3adbafdf47bc3014d215368231d43ca3 Mon Sep 17 00:00:00 2001 From: Ana Costa <29195893+anacost@users.noreply.github.com> Date: Thu, 15 Nov 2018 09:58:30 +0000 Subject: [PATCH 044/189] created statistrikketreff --- _posts/2018-11-20-statistrikketreff.markdown | 31 ++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 _posts/2018-11-20-statistrikketreff.markdown diff --git a/_posts/2018-11-20-statistrikketreff.markdown b/_posts/2018-11-20-statistrikketreff.markdown new file mode 100644 index 000000000..7592d0e7b --- /dev/null +++ b/_posts/2018-11-20-statistrikketreff.markdown @@ -0,0 +1,31 @@ +--- +title: Statistrikketreff for vaksine (event in Norwegian) +text: +location: Realfagsbiblioteket, Vilhelm Bjerknes' hus +link: https://www.ub.uio.no/kurs-arrangement/arrangementer/ureal/2018/181120Statistrikketreff.html +date: 2018-11-20 +startTime: '16:15' +endTime: '17:00' + +--- + +**Session leader**: Kathrine Frey Frøslie + +(event in Norwegian) + +For to år siden satte statistiker Kathrine Frey Frøslie fart på strikkepinnene og ga seg i kast med den opplagte oppgaven det er å formidle kunnskap om forskning og statistikk gjennom strikkeprosjekter. +Smittespredning og vaksinedekning har vært tema for flere elegante ullkreasjoner og gjesteblogginnlegg av førstelektor Tone Fredsvik Gregers ved UiO. På statistrikketreffet får du høre mer om dette, se plagg som viser kritisk vaksinedekning for ulike sykdommer og lære hvordan du kan strikke en lekker vaksinedekningsklut som du kan gi til din yndlingsvaksinemotstander. + +Velkommen du som strikker, du som synes vaksiner er tøft, og ikke minst velkommen til deg som verken strikker eller vaksinerer deg! + +Enkel servering. + +Arrangementet sendes live + + + +- **Level**: beginner to intermediate +- **When**: 20th November 2018 +- **Time**: 16:15-17:00 +- **Location**: Realfagsbiblioteket, Vilhelm Bjerknes' hus · Oslo +- **More information**: https://www.statistrikk.no/2018/11/14/statistrikketreff-pa-realfagsbiblioteket-pa-tirsdag/ From da0b3635614a56280b6fcb8dfe10bbf324aa06ba Mon Sep 17 00:00:00 2001 From: Ana Costa <29195893+anacost@users.noreply.github.com> Date: Thu, 15 Nov 2018 09:58:39 +0000 Subject: [PATCH 045/189] rd --- _posts/2018-12-03-RLadies.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_posts/2018-12-03-RLadies.markdown b/_posts/2018-12-03-RLadies.markdown index 05b110a3d..922023fd2 100644 --- a/_posts/2018-12-03-RLadies.markdown +++ b/_posts/2018-12-03-RLadies.markdown @@ -25,7 +25,7 @@ Come join us! - **Level**: beginner to intermediate -- **When**: 03th December 2018 +- **When**: 03rd December 2018 - **Time**: 17:00-19:00 - **Location**: Teknologihuset, Pilestredet 56 · Oslo - **More information**: https://www.meetup.com/rladies-oslo/events/256272641/?isFirstPublish=true From b6b00e5494ded9774bcbdb8fa3bd2c7388c9caeb Mon Sep 17 00:00:00 2001 From: Ana Costa <29195893+anacost@users.noreply.github.com> Date: Sat, 17 Nov 2018 10:22:41 +0000 Subject: [PATCH 046/189] created useR2019-01-10 --- _posts/2019-01-10-useR.markdown | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 _posts/2019-01-10-useR.markdown diff --git a/_posts/2019-01-10-useR.markdown b/_posts/2019-01-10-useR.markdown new file mode 100644 index 000000000..d461d7525 --- /dev/null +++ b/_posts/2019-01-10-useR.markdown @@ -0,0 +1,30 @@ +--- +title: Oslo useR! Group, Prepare to be surprised! Visualizing public data from npd.no +text: +location: Microsoft Norge, Lysaker Torg 45, Lysaker +link: https://www.meetup.com/Oslo-useR-Group/events/256437202/ +date: 2019-01-10 +startTime: '17:30' +endTime: '20:00' + +--- + +**Session leader**: Dmytro Perepolkin and Kristijan Bakaric + +“Visualization can surprise, but it doesn’t scale. Modeling scales well, but it can’t fundamentally surprise.” – Hadley Wickham. + +One of the most important phases in the Data Analysis process is data visualization. It is an inherently human activity which relies on our ability to comprehend visual information and make sense of patterns. However, there’s only so much we can spend in visualizing the data, and regardless how many hours we may decide to put into it, it is never going to be enough. Therefore, it is important to be able to build simple custom-purposed visualizations that facilitate sense-making and can trigger new ideas for modelling. + +This project has started as a small-scale proof of concept for using {htmlwidgets} in R markdown. But then, inspired by awesome talk by Matt Dray (@mattdray) at #EARL2018, it took new direction incorporating new interactive features and data filtering. In this talk Kristijan will walk you through the process of thinking through, composing and deploying interactive Rmarkdown reports without help of Shiny server, using DT, leaflet, mapview, plotly, crosstalk and flexdashboard. + +About the speaker: + +Kristijan, originally from Croatia, has a master’s degree in Geology of Mineral Resources and Geophysical Exploration. He has been working as an exploration geologist in the field of oil and gas exploration for almost five years. Majority of the time he spent on the other end of the data analysis tunnel – in the realm of specialized commercial front-ends. There he visualized, analyzed and interpreted the data, within the given software boundaries and with a different hat; completely unaware of what was happening with the data in the background. + +In 2017 he started working in a hybrid data analyst role, and approximately six months ago, mainly in his free time, he started with a new hobby - learning about a toolbox called R and its wealth of packages. After so many years working “indirectly” with the data, R started to empower him to understand the data analysis process. He likes to summarize his R journey so far as mindset changing and simply fun. Main sources he is using for learning R are friendly colleagues (Dmytro), google, https://www.datacamp.com/ and books from https://bookdown.org/). + +- **Level**: beginner to intermediate +- **When**: 10th January 2019 +- **Time**: 17:30-20:00 +- **Location**: Microsoft Norge, Lysaker Torg 45, Lysaker +- **More information**: https://www.meetup.com/Oslo-useR-Group/events/256437202/ From e814e2bc2692e80786b3a964e754bfaaf4e05e8e Mon Sep 17 00:00:00 2001 From: Anne Fouilloux Date: Sat, 17 Nov 2018 15:53:14 +0100 Subject: [PATCH 047/189] changed title of the lesson --- _posts/2018-12-14-demo.markdown | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/_posts/2018-12-14-demo.markdown b/_posts/2018-12-14-demo.markdown index 90f1a6d9e..7952a5460 100644 --- a/_posts/2018-12-14-demo.markdown +++ b/_posts/2018-12-14-demo.markdown @@ -1,5 +1,5 @@ --- -title: Demo session on Github & gitlab best practices +title: Social coding and open software text: Learn about the different software development best practices for researchers location: Science Library link: https://github.com/uio-carpentry/studyGroup/issues/15 @@ -11,7 +11,12 @@ endTime: '16:00' **Session leader**: Anne Fouilloux -During this session, we will present you the main stages of Software Development and what are the main Software development best practices for developing Research programs. +During this session, we will present you: + +- Why software matters in research +- Why open software +- How to do open software +- How to grow a community around your code **When**: 14th December 2018, 14-16h **Location**: Niels Henrik Abels hus, room 209 From 4942337d6ccc85907bc7336caf99c9d123c84286 Mon Sep 17 00:00:00 2001 From: Anne Fouilloux Date: Tue, 20 Nov 2018 08:54:14 +0100 Subject: [PATCH 048/189] moved book club to January 2019 --- ...8-12-07-bookclub.markdown => 2019-01-18-bookclub.markdown} | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) rename _posts/{2018-12-07-bookclub.markdown => 2019-01-18-bookclub.markdown} (94%) diff --git a/_posts/2018-12-07-bookclub.markdown b/_posts/2019-01-18-bookclub.markdown similarity index 94% rename from _posts/2018-12-07-bookclub.markdown rename to _posts/2019-01-18-bookclub.markdown index b0cfe61f9..324264db2 100644 --- a/_posts/2018-12-07-bookclub.markdown +++ b/_posts/2019-01-18-bookclub.markdown @@ -3,7 +3,7 @@ title: Book Club on Teaching Tech together text: Discuss the first 5 chapters of "Teaching Tech together (Greg Wilson) location: Science Library link: https://github.com/uio-carpentry/studyGroup/issues/14 -date: 2018-12-07 +date: 2019-01-18 startTime: '14:00' endTime: '16:00' @@ -21,6 +21,6 @@ The StudyGroup@UiO share comments at [https://hypothes.is/groups/mReaNk2e/studyg **online material to learn how to use hypothes.is**: - https://web.hypothes.is/quick-start-guide-for-students/ -**When**: 7th December 2018, 14-16h +**When**: 18th January 2019, 14-16h **Location**: Niels Henrik Abels hus, room 209 From e9b35ff1d42774d2a7039bd62034388f7710db9e Mon Sep 17 00:00:00 2001 From: Ana Costa <29195893+anacost@users.noreply.github.com> Date: Thu, 29 Nov 2018 22:27:02 +0000 Subject: [PATCH 049/189] created useR event --- _posts/2019-02-06-useR.markdown | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 _posts/2019-02-06-useR.markdown diff --git a/_posts/2019-02-06-useR.markdown b/_posts/2019-02-06-useR.markdown new file mode 100644 index 000000000..a70d9ce5d --- /dev/null +++ b/_posts/2019-02-06-useR.markdown @@ -0,0 +1,25 @@ +--- +title: Oslo useR! Group, Mild introduction to Rcpp: what you need to know about C++ as R user +text: +location: Teknologihuset +link: https://www.meetup.com/Oslo-useR-Group/events/256805098/ +date: 2019-02-06 +startTime: '17:30' +endTime: '19:30' + +--- + +**Session leader**: Dmytro Perepolkin and Øystein Sørensen + +Sometimes R code just isn’t fast enough. You’ve used profiling to figure out where your bottlenecks are, and you’ve done everything you can in R, but your code still isn’t fast enough. In this talk you will learn how you can improve performance by rewriting key functions in C++. Rcpp provides a clean, approachable API that lets you write high-performance code with as little friction as possible. + +About the speaker: +Øystein holds a master's degree in Environmental Physics and Renewable Energy and a PhD in Biostatistics. In addition to his PhD work, Øystein has worked for two years as a data scientist in Storebrand's marketing team and for two year as a data scientist in NextBridge Analytics. Today he is Associate Professor at the University of Oslo. + + +- **Level**: beginner to intermediate +- **When**: 6th February 2019 +- **Time**: 17:30-19:30 +- **Location**: Teknologihuset, Pilestredet 56 · Oslo +- **More information**: https://www.meetup.com/Oslo-useR-Group/events/256805098/ + From a07faed0aed330242e8a075ecd93b44f5a59a6fc Mon Sep 17 00:00:00 2001 From: Anne Fouilloux Date: Fri, 30 Nov 2018 12:22:07 +0100 Subject: [PATCH 050/189] bug fix: do not use column in title for post --- _posts/2019-02-06-useR.markdown | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/_posts/2019-02-06-useR.markdown b/_posts/2019-02-06-useR.markdown index a70d9ce5d..bd28ea53a 100644 --- a/_posts/2019-02-06-useR.markdown +++ b/_posts/2019-02-06-useR.markdown @@ -1,6 +1,6 @@ --- -title: Oslo useR! Group, Mild introduction to Rcpp: what you need to know about C++ as R user -text: +title: Oslo useR! Group, Mild introduction to Rcpp +text: what you need to know about C++ as R user location: Teknologihuset link: https://www.meetup.com/Oslo-useR-Group/events/256805098/ date: 2019-02-06 From 828405d8a08d35e3ef6dae6edf26e5c9394d77c7 Mon Sep 17 00:00:00 2001 From: Anne Fouilloux Date: Tue, 11 Dec 2018 14:56:19 +0100 Subject: [PATCH 051/189] change name to Carpentry Oslo --- _config.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/_config.yml b/_config.yml index 6aae3b511..ec7440f9c 100644 --- a/_config.yml +++ b/_config.yml @@ -3,7 +3,7 @@ #Step 1: give your study group a name and a short description, #and choose a language from the options in the _data directory: -title: Carpentry@UiO Study Group +title: Carpentry@Oslo Study Group description: "Study group for the Carpentries community at University of Oslo." language: en @@ -19,7 +19,7 @@ language: en # None of these things need to be changed - but feel free! titleBackground: "https://s3-us-west-2.amazonaws.com/webmaker-kits/learning%402x.jpg" -headlineSmall: "Welcome to UiO Carpentry Study Group!" +headlineSmall: "Welcome to Oslo Carpentry Study Group!" headlineMain: "Let's Meet and Work Together" avatar: "img/logos/uio-carpentry-logo-small.png" From 8db2d08265469ce0a4227f034dfd2134349dddae Mon Sep 17 00:00:00 2001 From: Anne Fouilloux Date: Thu, 20 Dec 2018 09:57:26 +0100 Subject: [PATCH 052/189] added notes for social coding study group --- lessons/social-coding-minutes/README.md | 28 +++++++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 lessons/social-coding-minutes/README.md diff --git a/lessons/social-coding-minutes/README.md b/lessons/social-coding-minutes/README.md new file mode 100644 index 000000000..1dbc9a5ce --- /dev/null +++ b/lessons/social-coding-minutes/README.md @@ -0,0 +1,28 @@ +--- +layout: page +title: social coding and open software +text: +link: https://github.com/uio-carpentry/studyGroup/issues/15 +visible: true +tags: + # languages + - misc + - git + # levels + - intermediate +--- + + + + + - **Leader**: Anne Fouilloux + - **Lesson Topic**: social coding and open software + - [![License: CC BY 4.0](https://img.shields.io/badge/License-CC%20BY%204.0-lightgrey.svg)](https://creativecommons.org/licenses/by/4.0/) + + +# Minutes of the studyGroup@UiO session + +**When**: 14th December 2018, 14:00-16:00 + +We went through the [CodeRefinery](https://coderefinery.org) lesson [Social coding and open Software](https://cicero.xyz/v3/remark/0.14.0/github.com/coderefinery/social-coding/master/talk.md/#1) and discuss on how we could use it to teach students/researchers about licensing issues and open software. + From e8656dcdf363ab3b9864491de58d7b4f65277347 Mon Sep 17 00:00:00 2001 From: Anne Fouilloux Date: Thu, 17 Jan 2019 13:42:17 +0100 Subject: [PATCH 053/189] corrected location --- _posts/2019-01-18-bookclub.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_posts/2019-01-18-bookclub.markdown b/_posts/2019-01-18-bookclub.markdown index 324264db2..7f168b936 100644 --- a/_posts/2019-01-18-bookclub.markdown +++ b/_posts/2019-01-18-bookclub.markdown @@ -22,5 +22,5 @@ The StudyGroup@UiO share comments at [https://hypothes.is/groups/mReaNk2e/studyg - https://web.hypothes.is/quick-start-guide-for-students/ **When**: 18th January 2019, 14-16h -**Location**: Niels Henrik Abels hus, room 209 +**Location**: Vilhelm Bjerknes' hus, room 123 From 24b78e59a71797e1745c6a56d146ee0c1fcf6534 Mon Sep 17 00:00:00 2001 From: Anne Fouilloux Date: Fri, 18 Jan 2019 15:26:21 +0100 Subject: [PATCH 054/189] added Annika's event on Zotero --- _posts/2019-01-25-work-along.markdown | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) create mode 100644 _posts/2019-01-25-work-along.markdown diff --git a/_posts/2019-01-25-work-along.markdown b/_posts/2019-01-25-work-along.markdown new file mode 100644 index 000000000..8fd231a43 --- /dev/null +++ b/_posts/2019-01-25-work-along.markdown @@ -0,0 +1,16 @@ +--- +title: work along session on Zotero Reference Manager and Research Assistant +text: The goal of this session is to go through exising material and discuss how to build a one-day workshop on Zotero Regerence Manager and Research Assistant +location: Science Library +link: https://github.com/uio-carpentry/studyGroup/issues/31 +date: 2019-01-25 +startTime: '14:00' +endTime: '16:00' + +--- + +**Session leader**: Annika Rockenberger + +**When**: 25th January 2019, 14-16h +**Location**: Vilhelm Bjerknes' hus, room 123 + From 3546d1221192e67557873ae17580cd9f38047371 Mon Sep 17 00:00:00 2001 From: Anne Fouilloux Date: Fri, 18 Jan 2019 15:29:13 +0100 Subject: [PATCH 055/189] added some info about Zotero event --- _posts/2019-01-25-work-along.markdown | 2 ++ 1 file changed, 2 insertions(+) diff --git a/_posts/2019-01-25-work-along.markdown b/_posts/2019-01-25-work-along.markdown index 8fd231a43..b0beff04d 100644 --- a/_posts/2019-01-25-work-along.markdown +++ b/_posts/2019-01-25-work-along.markdown @@ -11,6 +11,8 @@ endTime: '16:00' **Session leader**: Annika Rockenberger +The goal is to discuss how to develop a one-day workshop teaching the Zotero reference management system to novices. During this session, we will walk you through the main features of Zotero in both the browser and the standalone version and show you some of the more advanced features that Zotero provides, too. + **When**: 25th January 2019, 14-16h **Location**: Vilhelm Bjerknes' hus, room 123 From efe2ade56286856c9c377ddf354997417bb47fd6 Mon Sep 17 00:00:00 2001 From: Annika Rockenberger Date: Fri, 18 Jan 2019 15:46:36 +0100 Subject: [PATCH 056/189] Added link to material --- _posts/2019-01-25-work-along.markdown | 2 ++ 1 file changed, 2 insertions(+) diff --git a/_posts/2019-01-25-work-along.markdown b/_posts/2019-01-25-work-along.markdown index b0beff04d..a9aef8b71 100644 --- a/_posts/2019-01-25-work-along.markdown +++ b/_posts/2019-01-25-work-along.markdown @@ -14,5 +14,7 @@ endTime: '16:00' The goal is to discuss how to develop a one-day workshop teaching the Zotero reference management system to novices. During this session, we will walk you through the main features of Zotero in both the browser and the standalone version and show you some of the more advanced features that Zotero provides, too. **When**: 25th January 2019, 14-16h + **Location**: Vilhelm Bjerknes' hus, room 123 +**GitHub**: [Lesson material](https://github.com/arockenberger/zotero_workshop) From bdd9a4f6ea2ccec1c95f0ea2ce2902202495fd6a Mon Sep 17 00:00:00 2001 From: Anne Fouilloux Date: Fri, 18 Jan 2019 15:48:25 +0100 Subject: [PATCH 057/189] added link to new lesson on networkX --- lessons/NetworkX-minutes/README.md | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/lessons/NetworkX-minutes/README.md b/lessons/NetworkX-minutes/README.md index 398be968b..da3996924 100644 --- a/lessons/NetworkX-minutes/README.md +++ b/lessons/NetworkX-minutes/README.md @@ -19,6 +19,10 @@ tags: - [![License: CC BY 4.0](https://img.shields.io/badge/License-CC%20BY%204.0-lightgrey.svg)](https://creativecommons.org/licenses/by/4.0/) +# Network analysis lesson + +A newly created lesson from Annika can be found [here](https://github.com/arockenberger/network_analysis_lesson) + # Minutes of the studyGroup@UiO demo session **When**: 21st September 2018, 14:00-16:00 @@ -192,7 +196,7 @@ nx.draw(G) ~~~ {: .language-python} -![Elizabeth_plot](../fig/elizabeth_plot.png) +![Elizabeth_plot](../fig/Elizabeth_plot.png) `from_pandas_edgelist` takes a pandas dataframe and the two column names used as "Source" and "Target". From df3d87bcea1a11ac0f7518643d6c531a8cc51f2a Mon Sep 17 00:00:00 2001 From: Anne Fouilloux Date: Sun, 20 Jan 2019 11:05:39 +0100 Subject: [PATCH 058/189] added software surgery session --- _posts/2019-02-01-software-surgery.markdown | 33 +++++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 _posts/2019-02-01-software-surgery.markdown diff --git a/_posts/2019-02-01-software-surgery.markdown b/_posts/2019-02-01-software-surgery.markdown new file mode 100644 index 000000000..cac0271b0 --- /dev/null +++ b/_posts/2019-02-01-software-surgery.markdown @@ -0,0 +1,33 @@ +--- +title: Software surgery session on Python +text: Come with your specific Python problem and we will discuss it together and try to find a good solution +location: Science Library +link: https://github.com/uio-carpentry/studyGroup/issues/32 +date: 2019-02-01 +startTime: '14:00' +endTime: '16:00' + +--- + +**Session leader**: Anne Fouilloux + +This is a drop-in session for asking specific problems on Python programming. + +Come with your specific problem: + +- you are stuck with your program and do not understand why it does not work +- you are unsure about which python package to use for solving a specific problem +- you have tried to use a Python package but it does not work as you expected. + +or come and help: + +- you are willing to share your knowledge of Python and help other to better use it + +**It is not a tutorial and does not aim to provide general Python programming training.** + +_This is a knowledge sharing session and if you come with a problem you understand that we do our best to help but there is no guarantee on the outcome of the session._ + +**When**: 1st February 2019, 14-16h + +**Location**: Vilhelm Bjerknes' hus, room 123 + From d67dec6e0f297551bd5c0616f0e12deee589cc23 Mon Sep 17 00:00:00 2001 From: Anne Fouilloux Date: Wed, 23 Jan 2019 09:42:18 +0100 Subject: [PATCH 059/189] no studyGroup this week --- _posts/2019-01-25-work-along.markdown | 20 -------------------- 1 file changed, 20 deletions(-) delete mode 100644 _posts/2019-01-25-work-along.markdown diff --git a/_posts/2019-01-25-work-along.markdown b/_posts/2019-01-25-work-along.markdown deleted file mode 100644 index a9aef8b71..000000000 --- a/_posts/2019-01-25-work-along.markdown +++ /dev/null @@ -1,20 +0,0 @@ ---- -title: work along session on Zotero Reference Manager and Research Assistant -text: The goal of this session is to go through exising material and discuss how to build a one-day workshop on Zotero Regerence Manager and Research Assistant -location: Science Library -link: https://github.com/uio-carpentry/studyGroup/issues/31 -date: 2019-01-25 -startTime: '14:00' -endTime: '16:00' - ---- - -**Session leader**: Annika Rockenberger - -The goal is to discuss how to develop a one-day workshop teaching the Zotero reference management system to novices. During this session, we will walk you through the main features of Zotero in both the browser and the standalone version and show you some of the more advanced features that Zotero provides, too. - -**When**: 25th January 2019, 14-16h - -**Location**: Vilhelm Bjerknes' hus, room 123 - -**GitHub**: [Lesson material](https://github.com/arockenberger/zotero_workshop) From ccc270ee64423ccaf3fa48ab876b30ebd1ca56cf Mon Sep 17 00:00:00 2001 From: Ana Costa <29195893+anacost@users.noreply.github.com> Date: Mon, 28 Jan 2019 14:10:24 +0000 Subject: [PATCH 060/189] create RLadies 2019-02-04 shiny dashboards --- _posts/2019-02-04-RLadies.markdown | 33 ++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 _posts/2019-02-04-RLadies.markdown diff --git a/_posts/2019-02-04-RLadies.markdown b/_posts/2019-02-04-RLadies.markdown new file mode 100644 index 000000000..c7dfa7845 --- /dev/null +++ b/_posts/2019-02-04-RLadies.markdown @@ -0,0 +1,33 @@ +--- +title: RLadies Oslo, Building shiny dashboards - with Aurora and Lene +text: +location: room "Shell", Ole-Johan Dahls hus +link: https://www.meetup.com/rladies-oslo/events/256431595/ +date: 2019-02-04 +startTime: '17:00' +endTime: '19:00' + +--- + +**Session leader**: Lene Norderhaug D., Aurora V., Athanasia Monika Mowinckel, Isabelle V. + +In this workshop, Aurora and Lene will take us through the steps of building a shiny dashboard. We will incrementally build the dashboard, with explanations throughout to help you understand how the components act together. + +At the end of the workshop, you should enough basic understanding of shiny to be able to start building your own shiny dashboard. + +About the Shiny R-ladies: + +Aurora is a diverse data scientist in NextBridge Anlytics. She works with innovative and demanding analytical tasks, and has also worked with system developement. Her background is from physics and she has a PhD in the field of quantum mechanics and condensed matter physics. She has long experience from teaching in academia and began using R some years ago due to a demand for a shiny dashboard. + +Lene is a physicist turned data scientist. After analysing data for LHC injections at CERN she joined Nextbridge Analytics in 2016. She enjoys working on a wide range of projects using data and algorithms. After being introduced to R for the second time and tidyverse for the first time she really got into R and after learning about R-ladies she was a part of starting up R-ladies Oslo. + +How to find us: +Seminar room "Shell", Ground floor. Take the T-bane or trikk to Forskningsparken. + + +- **Level**: beginner to intermediate +- **When**: 04th February 2018 +- **Time**: 17:00-19:00 +- **Location**: Seminar room Shell (ground floor), Ole-Johan Dahls hus, Gaustadalléen 23B · Oslo +- **More information**: https://www.meetup.com/rladies-oslo/events/256431595/ + From 2b14882590323c3b37e3b9c2bacb59ba6247930b Mon Sep 17 00:00:00 2001 From: Ana Costa <29195893+anacost@users.noreply.github.com> Date: Mon, 28 Jan 2019 14:12:55 +0000 Subject: [PATCH 061/189] 2019 --- _posts/2019-02-04-RLadies.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_posts/2019-02-04-RLadies.markdown b/_posts/2019-02-04-RLadies.markdown index c7dfa7845..1090b9f54 100644 --- a/_posts/2019-02-04-RLadies.markdown +++ b/_posts/2019-02-04-RLadies.markdown @@ -26,7 +26,7 @@ Seminar room "Shell", Ground floor. Take the T-bane or trikk to Forskningsparken - **Level**: beginner to intermediate -- **When**: 04th February 2018 +- **When**: 04th February 2019 - **Time**: 17:00-19:00 - **Location**: Seminar room Shell (ground floor), Ole-Johan Dahls hus, Gaustadalléen 23B · Oslo - **More information**: https://www.meetup.com/rladies-oslo/events/256431595/ From d19fddb341b2d7ec99d6190856463df9cfda0300 Mon Sep 17 00:00:00 2001 From: Annika Rockenberger Date: Wed, 30 Jan 2019 11:24:59 +0100 Subject: [PATCH 062/189] Create 2019-02-06.markdown --- _posts/2019-02-06.markdown | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 _posts/2019-02-06.markdown diff --git a/_posts/2019-02-06.markdown b/_posts/2019-02-06.markdown new file mode 100644 index 000000000..f0bfadeff --- /dev/null +++ b/_posts/2019-02-06.markdown @@ -0,0 +1,6 @@ +A short work along trying out alternatives to git bash, especially for Windows users. +Bring your laptop. We want to look at editors like Atom, oXygen XML editor, Sublime and others which have git plugins. The goal is to come up with a handy guide on how to make use of git (on Windows) without having to install and run Git Bash, especially if the user doesn't have admin rights. We can publish the guide and give it out to our workshop participants at UiO-Carpentry workshops. + +**When**: 6th February 2019 +**Time**: 14:00-16:00 +**Location**: National Library of Norway, Henrik Ibsens gate 110, 0254 Oslo From 99d85d8c32e3db97744cedcaaead8a01d5258747 Mon Sep 17 00:00:00 2001 From: Annika Rockenberger Date: Wed, 30 Jan 2019 11:25:42 +0100 Subject: [PATCH 063/189] Rename 2019-02-06.markdown to 2019-02-06-workalong.markdown --- _posts/{2019-02-06.markdown => 2019-02-06-workalong.markdown} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename _posts/{2019-02-06.markdown => 2019-02-06-workalong.markdown} (100%) diff --git a/_posts/2019-02-06.markdown b/_posts/2019-02-06-workalong.markdown similarity index 100% rename from _posts/2019-02-06.markdown rename to _posts/2019-02-06-workalong.markdown From 7a3fbfc9c946d12e0b0ea2ae1d3dc4d5c6f468f6 Mon Sep 17 00:00:00 2001 From: Annika Rockenberger Date: Wed, 30 Jan 2019 11:26:02 +0100 Subject: [PATCH 064/189] Update 2019-02-06-workalong.markdown --- _posts/2019-02-06-workalong.markdown | 3 +++ 1 file changed, 3 insertions(+) diff --git a/_posts/2019-02-06-workalong.markdown b/_posts/2019-02-06-workalong.markdown index f0bfadeff..6a09e8f1c 100644 --- a/_posts/2019-02-06-workalong.markdown +++ b/_posts/2019-02-06-workalong.markdown @@ -1,6 +1,9 @@ A short work along trying out alternatives to git bash, especially for Windows users. + Bring your laptop. We want to look at editors like Atom, oXygen XML editor, Sublime and others which have git plugins. The goal is to come up with a handy guide on how to make use of git (on Windows) without having to install and run Git Bash, especially if the user doesn't have admin rights. We can publish the guide and give it out to our workshop participants at UiO-Carpentry workshops. **When**: 6th February 2019 + **Time**: 14:00-16:00 + **Location**: National Library of Norway, Henrik Ibsens gate 110, 0254 Oslo From 6fd3412972a6567ecc87e2aa8f732ba0cde2319a Mon Sep 17 00:00:00 2001 From: Annika Rockenberger Date: Wed, 30 Jan 2019 11:28:54 +0100 Subject: [PATCH 065/189] Update 2019-02-06-workalong.markdown --- _posts/2019-02-06-workalong.markdown | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/_posts/2019-02-06-workalong.markdown b/_posts/2019-02-06-workalong.markdown index 6a09e8f1c..55d7c195d 100644 --- a/_posts/2019-02-06-workalong.markdown +++ b/_posts/2019-02-06-workalong.markdown @@ -1,9 +1,15 @@ +# Workalong Git without Bash + +**Session leader:** Annika Rockenberger + A short work along trying out alternatives to git bash, especially for Windows users. Bring your laptop. We want to look at editors like Atom, oXygen XML editor, Sublime and others which have git plugins. The goal is to come up with a handy guide on how to make use of git (on Windows) without having to install and run Git Bash, especially if the user doesn't have admin rights. We can publish the guide and give it out to our workshop participants at UiO-Carpentry workshops. -**When**: 6th February 2019 +We meet in the Foyer of the National Library at Solli plass. + +**When:** 6th February 2019 -**Time**: 14:00-16:00 +**Time:** 14:00-16:00 -**Location**: National Library of Norway, Henrik Ibsens gate 110, 0254 Oslo +**Location:** National Library of Norway, Henrik Ibsens gate 110, 0254 Oslo From de9f11cffc512118fc402d432284469bb14790e3 Mon Sep 17 00:00:00 2001 From: Annika Rockenberger Date: Fri, 1 Feb 2019 09:52:59 +0100 Subject: [PATCH 066/189] Update 2019-02-06-workalong.markdown --- _posts/2019-02-06-workalong.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_posts/2019-02-06-workalong.markdown b/_posts/2019-02-06-workalong.markdown index 55d7c195d..c6c2ae34c 100644 --- a/_posts/2019-02-06-workalong.markdown +++ b/_posts/2019-02-06-workalong.markdown @@ -12,4 +12,4 @@ We meet in the Foyer of the National Library at Solli plass. **Time:** 14:00-16:00 -**Location:** National Library of Norway, Henrik Ibsens gate 110, 0254 Oslo +**Location:** National Library of Norway, Henrik Ibsens gate 110, 0254 Oslo, Room "Slottsbibliotek" From da23119b9f9e8a20a2eef70ef010057b2c27a9d3 Mon Sep 17 00:00:00 2001 From: Anne Fouilloux Date: Fri, 1 Feb 2019 14:05:09 +0100 Subject: [PATCH 067/189] no room available --- _posts/2019-02-01-software-surgery.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_posts/2019-02-01-software-surgery.markdown b/_posts/2019-02-01-software-surgery.markdown index cac0271b0..9ae835f17 100644 --- a/_posts/2019-02-01-software-surgery.markdown +++ b/_posts/2019-02-01-software-surgery.markdown @@ -29,5 +29,5 @@ _This is a knowledge sharing session and if you come with a problem you understa **When**: 1st February 2019, 14-16h -**Location**: Vilhelm Bjerknes' hus, room 123 +**Location**: None From e37474363d192f6b730e8aa39234ce6703e28042 Mon Sep 17 00:00:00 2001 From: Anne Fouilloux Date: Tue, 5 Feb 2019 13:39:17 +0100 Subject: [PATCH 068/189] added clear roles for each of us and highlight contributors as they are not only members --- _data/admin.yml | 31 ++++++++++++++++++++++++++++++ _data/en.yml | 2 +- _data/members.yml | 46 ++++++--------------------------------------- _includes/team.html | 36 +++++++++++++++++++++++++++++++++++ 4 files changed, 74 insertions(+), 41 deletions(-) create mode 100644 _data/admin.yml diff --git a/_data/admin.yml b/_data/admin.yml new file mode 100644 index 000000000..07ee17379 --- /dev/null +++ b/_data/admin.yml @@ -0,0 +1,31 @@ +- name: Anne Fouilloux + affiliation: University of Oslo + github: annefou + role: President + interests: + - Python + - R + - Fortran + - HPC & Cloud computing + - The Carpentries + +- name: Ana Costa Conrado + affiliation: University of Oslo + github: anacost + role: Event coordinator + interests: + - Python + - R + - Open Science + - Machine & Deep Learning + +- name: Annika Rockenberger + affiliation: The National Library of Norway + github: arockenberger + role: Marketing and Social Media Coordinator + interests: + - Digital Humanities + - Python + - The Carpentries + - Physical Programming + diff --git a/_data/en.yml b/_data/en.yml index 3acf1bf8f..b7f860fe6 100644 --- a/_data/en.yml +++ b/_data/en.yml @@ -36,7 +36,7 @@ contactSubheading: 'We use GitHub to get coding help, talk about events and shar contact: Talk To Us teamHeadline: Who We Are -teamSubheading: "We're scientists, students and researchers who want to work with you!" +teamSubheading: "We are a diverse group of scientists, students and researchers from multiple departments across the University and beyond who want to share and work with you!" interests: Interests codeOfConduct: Study Group Code of Conduct diff --git a/_data/members.yml b/_data/members.yml index 4fa3f3c54..5a5108659 100644 --- a/_data/members.yml +++ b/_data/members.yml @@ -1,21 +1,3 @@ -- name: Gladys Nalvarte - affiliation: Simula - github: GladysNalvarte - interests: - - Python - - Open Science - - jupyterhub - - repo2docker - -- name: Ana Costa Conrado - affiliation: - github: anacost - interests: - - Python - - R - - Open Science - - Machine & Deep Learning - - name: Michel Heeremans affiliation: University of Oslo github: heereman @@ -24,28 +6,12 @@ - Research Data Management - Open Science -- name: Anne Bergsaker - affiliation: University of Oslo - github: - interests: - - Carpentry@UiO - -- name: Annika Rockenberger - affiliation: The National Library of Norway - github: arockenberger - interests: - - Digital Humanities - - Python - - The Carpentries - - Physical Programming - -- name: Anne Fouilloux - affiliation: University of Oslo - github: annefou +- name: Gladys Nalvarte + affiliation: Simula + github: GladysNalvarte interests: - Python - - R - - Fortran - - HPC & Cloud computing - - The Carpentries + - Open Science + - jupyterhub + - repo2docker diff --git a/_includes/team.html b/_includes/team.html index 96993bc33..859905e6a 100644 --- a/_includes/team.html +++ b/_includes/team.html @@ -7,6 +7,42 @@

{{site.data[site.language].teamHeadline}}

{{site.data[site.language].teamSubheading}}

+

Executive council

+
+ {% for member in site.data.admin %} + {% assign loopindex = forloop.index0 | modulo: 3 %} + {% if loopindex == 0 %} + {% if forloop.first == false %} +
+ {% if forloop.last == false %} +
+ {% endif %} + {% endif %} + {% endif %} +
+
+ {% if member.github %} + +

{{ member.name }}

+ {% else %} + +

{{ member.name }}

+ {% endif %} +

{{ member.role }}

+

{{ member.affiliation }}

+ {% if member.interests %} + {{site.data[site.language].interests}}: +
    + {% for interest in member.interests %} +
  •  {{ interest }}
  • + {% endfor %} +
+ {% endif %} +
+
+ {% endfor %} +
+

Contributors

{% for member in site.data.members %} {% assign loopindex = forloop.index0 | modulo: 4 %} From 6e309930436373589751566d53fab4a9a1cd47c3 Mon Sep 17 00:00:00 2001 From: Ana Costa <29195893+anacost@users.noreply.github.com> Date: Thu, 7 Feb 2019 08:42:26 +0000 Subject: [PATCH 069/189] new RLadies, Bayesian methods --- _posts/2019-03-18-RLadies.markdown | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 _posts/2019-03-18-RLadies.markdown diff --git a/_posts/2019-03-18-RLadies.markdown b/_posts/2019-03-18-RLadies.markdown new file mode 100644 index 000000000..1ab045660 --- /dev/null +++ b/_posts/2019-03-18-RLadies.markdown @@ -0,0 +1,27 @@ +--- +title: RLadies Oslo, Bayesian methods for rank and preference data with Valeria Vitelli +text: +location: Teknologihuset +link: https://www.meetup.com/rladies-oslo/events/256566088/ +date: 2019-03-18 +startTime: '17:00' +endTime: '19:00' + +--- + +**Session leader**: Valeria Vitelli, Lene Norderhaug D., Aurora V., Athanasia Monika Mowinckel, Isabelle V. + +Bayesian methods for rank and preference data - from recommendation systems to cancer genomics + +Ranking items is crucial for collecting information about preferences in many areas, from marketing to politics. The interest often lies both in producing estimates of the consensus ranking of the items, which is shared among users, and in learning individualized preferences of the users, useful for providing personalized recommendations. In the latter task it is particularly relevant to have posterior distributions of individual rankings, since these can provide an evaluation of the uncertainty associated to the estimates, and thus they can avoid unnecessarily spamming the users. + +I will present a statistical model which works well in these situations, and which is able of flexibly handling quite different kind of data. The Bayesian paradigm allows a fully probabilistic analysis, and it easily handles missing data and cluster estimation via augmentation procedures. +Interestingly, this Bayesian framework has also proved to be useful for genomic data integration, since typically heterogeneous microarray data are available from different sources, and their combination allows both to gain statistical power and to strengthen the biological insight. + +Valeria Vitelli holds a PhD in statistics from Politecnico di Milano, Italy. She was a postdoc at Ecole Centrale Paris for a year, within a research group funded by Eléctricité de France working on big data problems in the energy sector. She then moved to the University of Oslo, where after a 5 years postdoc period funded from the Norwegian Cancer Society she became associate professor in September 2018. Her experience spans over several areas of mathematics and statistics, including functional data analysis with applications in physiology, machine learning (describing people mobility in dense urbanized areas from mobile phone data), and finally statistical genomics of cancer. + +- **Level**: beginner to intermediate +- **When**: 18th March 2019 +- **Time**: 17:00-19:00 +- **Location**: Teknologihuset, Pilestredet 56 · Oslo +- **More information**: https://www.meetup.com/rladies-oslo/events/256566088/ From 150faba0fd2de14c327119d512831e7c6005753f Mon Sep 17 00:00:00 2001 From: Ana Costa <29195893+anacost@users.noreply.github.com> Date: Thu, 7 Feb 2019 09:50:08 +0000 Subject: [PATCH 070/189] created CarpentryConnect 2019 --- _posts/2019-06-25-CarpentryConnect.markdown | 35 +++++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 _posts/2019-06-25-CarpentryConnect.markdown diff --git a/_posts/2019-06-25-CarpentryConnect.markdown b/_posts/2019-06-25-CarpentryConnect.markdown new file mode 100644 index 000000000..719572921 --- /dev/null +++ b/_posts/2019-06-25-CarpentryConnect.markdown @@ -0,0 +1,35 @@ +--- +title: Carpentries, CarpentryConnect Manchester conference 2019 +text: +location: Manchester +link: https://software.ac.uk/ccmcr19/programme +date: 2019-06-25 +startTime: '09:00' +endTime: '20:00' + +--- + +Join Us At CarpentryConnect Manchester 2019! +Did you see the recent announcement, that registration is now open for the CarpentryConnect Manchester conference? The event is an opportunity for members of The Carpentries’ global community of instructors and anyone else with an interest in helping researchers to improve their computational skills, to get together for a few days to exchange ideas and learn some new things. With an exciting programme (still under development, no spoilers!) including sessions focussing on developing new and existing curricula, increasing the sustainability of research software, methods and tools for better teaching, and more, the conference will have as much to offer those who are newcomers to The Carpentries as it does to those who have attended a workshop, helped or taught at one or two, or been involved for years. + +Still not sure what to expect? Following the success of the inaugural CarpentryCon in Dublin last summer, several of the attendees wrote about their experiences describing some of the workshops and breakouts, reflecting on their experiences, and generally celebrating the chance to bring such a diverse and dispersed community together +(https://carpentries.org/blog/2018/06/carpentry-con-report/). +The organising taskforce of CarpentryConnect Manchester, chaired by Aleks Nenadic and including several organisers of the event in 2018, has every intention of creating a sister event with a similar atmosphere of creativity, inclusivity and optimism, and a love of using sticky notes for almost everything. + +We hope that the structure of the programme (https://software.ac.uk/ccmcr19/programme), with bursts of lightning talks to spark conversation, long breaks to create space for deeper discussion and networking, and an emphasis on workshops, tutorials and breakout sessions, reflects the importance placed on community building and professional development that I have been so inspired by at previous events of both the Research Software Engineers and Carpentries. The conference offers a chance to learn about and discuss the latest developments and challenges in computational teaching and research software development, to access training in relevant skills, tools, and resources, and to get to know other members of this warm and welcoming community. For more detail on the programme, keep an eye out as we announcement our keynote speakers over the coming weeks. + +We’d love to see plenty of new faces at the conference, as well as bringing together as many +Instructors, Trainers, Mentors, and Maintainers, as possible from the UK, Europe, and across the world. So, if any of the above sounds interesting to you, we’d love for you to go ahead and register. If you do so before 10 April 2019, you’ll be able to take advantage of the Early Bird discount. + +Our call for proposals is still open +(https://software.ac.uk/news/carpentryconnect-manchester-2019-call-proposals). +You can submit an abstract or your suggestions using the submission form until 1 March 2019. The notification of the outcome of your application will be sent out by 1 April 2019. + +We look forward to seeing you in Manchester in June! + +- **Level**: beginner to intermediate +- **When**: 25th June 2019 - 27th June 2019 +- **Time**: 9:00-19:00 +- **Location**: The Studio Manchester on 25th and 26th of June and in the Kilburn Building at the School of Computer Science (University of Manchester) on 27th June +- **More information**: https://software.ac.uk/ccmcr19/programme + From 31f5b3a80191ba7fb0dd4da7d33925ca69babc62 Mon Sep 17 00:00:00 2001 From: Ana Costa <29195893+anacost@users.noreply.github.com> Date: Mon, 11 Feb 2019 16:25:30 +0000 Subject: [PATCH 071/189] created coderefinery --- _posts/2019-06-03-coderefinery.markdown | 26 +++++++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 _posts/2019-06-03-coderefinery.markdown diff --git a/_posts/2019-06-03-coderefinery.markdown b/_posts/2019-06-03-coderefinery.markdown new file mode 100644 index 000000000..c09095ccc --- /dev/null +++ b/_posts/2019-06-03-coderefinery.markdown @@ -0,0 +1,26 @@ +--- +title: CodeRefinery, CodeRefinery workshop in Oslo +text: +location: Auditorium Smalltalk, Ole-Johan Dahls hus, Oslo +link: https://coderefinery.org/workshops/2019-06-03-oslo/ +date: 2019-06-03 +startTime: '09:00' +endTime: '17:00' + +--- + +**Session leader**: Radovan Bast, Anne Fouilloux + +Course goals + +The aim of this course is to demonstrate to and familiarize the workshop participants with best practices and tools in modern research software development. The main focus is on professional tools for efficiently developing and maintaining research software. Since most research code is developed in a collaborative setting, we will discuss tools and workflows which facilitate this process. Most of the content is also relevant to a single developer. + +Who the course is for + +If you are writing code that is used in research, then this course is for you. If you develop research code and you know all the tools already, join us as a helper! It's fun, and you always learn something new about a subject by teaching it. + +- **Level**: intermediate +- **When**: 03th- 05th June 2019 +- **Time**: 09:00-17:00 +- **Location**: Auditorium Smalltalk, Ole-Johan Dahls hus · Oslo +- **More information**: https://coderefinery.org/workshops/2019-06-03-oslo/ From 6dcdb2046e8abfdfd611f9ff1e800de888276f31 Mon Sep 17 00:00:00 2001 From: Ana Costa <29195893+anacost@users.noreply.github.com> Date: Mon, 11 Feb 2019 16:39:05 +0000 Subject: [PATCH 072/189] the rd --- _posts/2019-06-03-coderefinery.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_posts/2019-06-03-coderefinery.markdown b/_posts/2019-06-03-coderefinery.markdown index c09095ccc..7f73ccb57 100644 --- a/_posts/2019-06-03-coderefinery.markdown +++ b/_posts/2019-06-03-coderefinery.markdown @@ -20,7 +20,7 @@ Who the course is for If you are writing code that is used in research, then this course is for you. If you develop research code and you know all the tools already, join us as a helper! It's fun, and you always learn something new about a subject by teaching it. - **Level**: intermediate -- **When**: 03th- 05th June 2019 +- **When**: 03rd - 05th June 2019 - **Time**: 09:00-17:00 - **Location**: Auditorium Smalltalk, Ole-Johan Dahls hus · Oslo - **More information**: https://coderefinery.org/workshops/2019-06-03-oslo/ From 60253dc462030e6ac89a507a8c713a6ecd0c8f38 Mon Sep 17 00:00:00 2001 From: Annika Rockenberger Date: Mon, 18 Feb 2019 10:56:17 +0100 Subject: [PATCH 073/189] Add files via upload --- _posts/2019-03-01-workalong.markdown | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 _posts/2019-03-01-workalong.markdown diff --git a/_posts/2019-03-01-workalong.markdown b/_posts/2019-03-01-workalong.markdown new file mode 100644 index 000000000..93df4baf4 --- /dev/null +++ b/_posts/2019-03-01-workalong.markdown @@ -0,0 +1,20 @@ +--- +title: Do I need my own website as a researcher? +text: +location: Niels Henrik Abels hus, Room 108, University of Oslo +date: 2019-03-01 +startTime: '14:00' +endTime: '16:00' + +--- + +**Session leader**: Annika Rockenberger + +During this session, we will look a couple of examples of websites of researchers and other academics. We will discuss the advantages and disadvantages of hosting your own website, having a website at your research institution or university or using platforms like LinkedIn, ResearchGate, Academia.edu etc. We will also look at alternatives, like creating a professional profile website hosted on GitHub. + +The event is open for anyone! Please bring a laptop or other smart device. + +- **Level**: beginners +- **When**: 1st March 2019 +- **Time**: 14:00-16:00 +- **Location**: Niels Henrik Abels hus, Room 108, Blindern Campus · Oslo From bfdbd6586c317ad49eb8d54c62b2c58c6bef7948 Mon Sep 17 00:00:00 2001 From: arockenberger Date: Mon, 18 Feb 2019 14:43:06 +0100 Subject: [PATCH 074/189] Fixed typos --- _posts/2019-03-01-workalong.markdown | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/_posts/2019-03-01-workalong.markdown b/_posts/2019-03-01-workalong.markdown index 93df4baf4..92bc1ad3c 100644 --- a/_posts/2019-03-01-workalong.markdown +++ b/_posts/2019-03-01-workalong.markdown @@ -10,10 +10,11 @@ endTime: '16:00' **Session leader**: Annika Rockenberger -During this session, we will look a couple of examples of websites of researchers and other academics. We will discuss the advantages and disadvantages of hosting your own website, having a website at your research institution or university or using platforms like LinkedIn, ResearchGate, Academia.edu etc. We will also look at alternatives, like creating a professional profile website hosted on GitHub. +During this session, we will look at a couple of examples of personal websites of researchers and other academics. We will discuss the advantages and disadvantages of hosting your own website, of having a website at your research institution or university or using commercial platforms like LinkedIn, ResearchGate, Academia.edu etc. We will also look at alternatives, e.g. creating a professional profile website hosted on GitHub. The event is open for anyone! Please bring a laptop or other smart device. + - **Level**: beginners - **When**: 1st March 2019 - **Time**: 14:00-16:00 From 0c794c8d82126b351568676bf1d1245211fd7723 Mon Sep 17 00:00:00 2001 From: Ana Costa <29195893+anacost@users.noreply.github.com> Date: Sun, 24 Feb 2019 16:41:00 +0000 Subject: [PATCH 075/189] created workalong, python loops/iteration --- _posts/2019-03-22-workalong.markdown | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100644 _posts/2019-03-22-workalong.markdown diff --git a/_posts/2019-03-22-workalong.markdown b/_posts/2019-03-22-workalong.markdown new file mode 100644 index 000000000..79de37403 --- /dev/null +++ b/_posts/2019-03-22-workalong.markdown @@ -0,0 +1,22 @@ +--- +title: Work along session on looping and iteration in Python +text: +location: Science Library +link: https://github.com/uio-carpentry/studyGroup/issues/39 +date: 2019-03-22 +startTime: '14:00' +endTime: '16:00' + +--- + +**Session leader**: Ana Costa + +In this session you will learn how to write pythonic loops, loops that look like python, and not C-style. +We will also discuss list comprehensions, generators. + +_Bring your laptop if you want to try it out!_ + +- **When**: 22nd March 2019, 14h-16h +- **Location**: Niels Henrik Abels hus, room 209 +- **Who**: _everybody willing to learn how to write pythonic code_ + From cb79293ce61b7405f74934146bde1c6419116e9e Mon Sep 17 00:00:00 2001 From: Ana Costa <29195893+anacost@users.noreply.github.com> Date: Sun, 24 Feb 2019 17:00:01 +0000 Subject: [PATCH 076/189] created useR Workshop: Introduction to Automatic and Scalable Machine Learning with H2O in R --- _posts/2019-03-05-useR.markdown | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 _posts/2019-03-05-useR.markdown diff --git a/_posts/2019-03-05-useR.markdown b/_posts/2019-03-05-useR.markdown new file mode 100644 index 000000000..ad6741d94 --- /dev/null +++ b/_posts/2019-03-05-useR.markdown @@ -0,0 +1,28 @@ +--- +title: use R! group, Workshop: Introduction to Automatic and Scalable Machine Learning with H2O in R +text: +location: Teknologihuset +link: https://github.com/uio-carpentry/studyGroup/issues/40 +date: 2019-03-05 +startTime: '17:00' +endTime: '19:00' + +--- + +**Session leader**: Dmytro Perepolkin + +Choosing best model for your machine learning problem may be daunting task. H2O AutoML simplifies the process of setting up the complex machine learning modeling pipelines to just a few lines of code. You will learn how to make your own stacked ensemble in the first 30 min of the workshop. For those who want to stick around for the rest of the evening, we will go a bit deeper into specification of individual models (GLM, GBM, Neural Networks, etc) and understanding of model performance. + +After attending this workshop, learners will be able to set up their own machine learning pipeline in R from simple data preparation to specification of the classification or regression model, training, evaluation of the model using validation set, and prediction on the test data. Users will be also introduced to the concepts of ensembles and stacking and will be able to specify and run automatic machine learning models, analyze and pick best models and use them for predicting the outcomes. + +This workshop is repeating the session held at recent UiO Research Bazaar. + +About the speaker: +Dmytro is a passionate data educator and data analyst at Equinor. He comes from econometrics and decision analysis background and has particular passion for spreading data literacy and probabilistic thinking in the society. Dmytro co-organizes Oslo UseR! Group and is frequently seen at Caprentry@UiO events at University of Oslo. + + +- **When**: 05th March 2019 +- **Time**: 17:00-19:00 +- **Location**: Teknologihuset, Pilestredet 56, Oslo +- **More information**: https://www.meetup.com/Oslo-useR-Group/events/258988065/ + From 2754d4932de17c3739a88a68a184d4af8bf8cf4b Mon Sep 17 00:00:00 2001 From: Ana Costa <29195893+anacost@users.noreply.github.com> Date: Sun, 24 Feb 2019 17:10:08 +0000 Subject: [PATCH 077/189] created useR event --- _posts/2019-04-02-useR.markdown | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 _posts/2019-04-02-useR.markdown diff --git a/_posts/2019-04-02-useR.markdown b/_posts/2019-04-02-useR.markdown new file mode 100644 index 000000000..4579097a4 --- /dev/null +++ b/_posts/2019-04-02-useR.markdown @@ -0,0 +1,24 @@ +--- +title: use R! group Building websites in R: step-by-step introduction to {blogdown} +text: +location: Teknologihuset +link: https://github.com/uio-carpentry/studyGroup/issues/41 +date: 2019-04-02 +startTime: '17:30' +endTime: '19:30' + +--- + +**Session leader**: Dmytro Perepolkin and Andrea Chi Zhang + +A personal website or blog is a great place to record, share and communicate your thoughts and learning process, however the whole procedure might seem complex to those without relevant experience. An R package developed by Yihui Xie, blogdown, makes it easy to build a website using R Markdown and Hugo. Andrea will talk about what is blogdown and why you should use it, and walk you through the basic steps to publish (for free!) your website using Netlify and rbind.io. + +About the speaker: +Andrea (Chi Zhang) is doing her PhD at Department of Biostatistics, University of Oslo, working on Electronic Health Record data. She is interested in time series data related to health, and is eager to learn new tricks in R and share what she has learnt in her newly built website using blogdown. Outside work she is an active supporter of non profit organisations. + + +- **Level**: intermediate +- **When**: 02nd April 2019 +- **Time**: 17:30-19:30 +- **Location**: Teknologihuset, Pilestredet 56 · Oslo +- **More information**: https://www.meetup.com/Oslo-useR-Group/events/258995744/ From 3d4d258a8ffba7db6c693923427a9518792e3d1f Mon Sep 17 00:00:00 2001 From: Ana Costa <29195893+anacost@users.noreply.github.com> Date: Sun, 24 Feb 2019 17:11:56 +0000 Subject: [PATCH 078/189] fix title --- _posts/2019-03-05-useR.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_posts/2019-03-05-useR.markdown b/_posts/2019-03-05-useR.markdown index ad6741d94..35f8bfa1f 100644 --- a/_posts/2019-03-05-useR.markdown +++ b/_posts/2019-03-05-useR.markdown @@ -1,5 +1,5 @@ --- -title: use R! group, Workshop: Introduction to Automatic and Scalable Machine Learning with H2O in R +title: use R! group Workshop: Introduction to Automatic and Scalable Machine Learning with H2O in R text: location: Teknologihuset link: https://github.com/uio-carpentry/studyGroup/issues/40 From 4a41c0954e5898771340632b1dc354c601b65e91 Mon Sep 17 00:00:00 2001 From: Ana Costa <29195893+anacost@users.noreply.github.com> Date: Sun, 24 Feb 2019 17:14:39 +0000 Subject: [PATCH 079/189] fix title --- _posts/2019-03-05-useR.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_posts/2019-03-05-useR.markdown b/_posts/2019-03-05-useR.markdown index 35f8bfa1f..62eacd407 100644 --- a/_posts/2019-03-05-useR.markdown +++ b/_posts/2019-03-05-useR.markdown @@ -1,5 +1,5 @@ --- -title: use R! group Workshop: Introduction to Automatic and Scalable Machine Learning with H2O in R +title: use R! group - Workshop- Introduction to Automatic and Scalable Machine Learning with H2O in R text: location: Teknologihuset link: https://github.com/uio-carpentry/studyGroup/issues/40 From f7bab9f480d4e0fa893f0b2af5a7159a84e0935f Mon Sep 17 00:00:00 2001 From: Ana Costa <29195893+anacost@users.noreply.github.com> Date: Sun, 24 Feb 2019 17:16:06 +0000 Subject: [PATCH 080/189] fix title --- _posts/2019-04-02-useR.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_posts/2019-04-02-useR.markdown b/_posts/2019-04-02-useR.markdown index 4579097a4..9b91f1fd2 100644 --- a/_posts/2019-04-02-useR.markdown +++ b/_posts/2019-04-02-useR.markdown @@ -1,5 +1,5 @@ --- -title: use R! group Building websites in R: step-by-step introduction to {blogdown} +title: use R! group, Building websites in R, step-by-step introduction to blogdown text: location: Teknologihuset link: https://github.com/uio-carpentry/studyGroup/issues/41 From f8874de00643728c7159657751163f7e09a85df5 Mon Sep 17 00:00:00 2001 From: Anne Fouilloux Date: Sun, 3 Mar 2019 11:59:52 +0100 Subject: [PATCH 081/189] meeting minutes from website discussion --- lessons/website-minutes/README.md | 67 +++++++++++++++++++++++++++++++ 1 file changed, 67 insertions(+) create mode 100644 lessons/website-minutes/README.md diff --git a/lessons/website-minutes/README.md b/lessons/website-minutes/README.md new file mode 100644 index 000000000..f67f131fc --- /dev/null +++ b/lessons/website-minutes/README.md @@ -0,0 +1,67 @@ +--- +layout: page +title: Do I need my own website as a researcher? +text: Open discussion on pros and cons +link: https://github.com/uio-carpentry/studyGroup/issues/6 +visible: true +tags: + # languages + - misc + # levels + - intermediate +--- + + + + + - **Session leader**: Annika Rockenberger + - **Lesson Topic**: e + - [![License: CC BY 4.0](https://img.shields.io/badge/License-CC%20BY%204.0-lightgrey.svg)](https://creativecommons.org/licenses/by/4.0/) + +# Minutes of the studyGroup@UiO discussion session + +**When**: 1st March 2019, 14:00-16:00 + +## Why? + +We discussed about the importance to be visible as a researcher and as a first exercise we searched for our full name in an anonymous browser: + +- How visible are we? +- Do we easily find our professional profile? Or do we first find personal/private profile? +- Does it represent yourself? + +The first hints when searching on internet should be your professional profile (nothing related to your private life!) with a clear introduction of yourself: + +- Your scientific background +- Your research interests +- Your publications + +**Conclusion**: + +- Don't let other talk about yourself! +- If your name is very common, make sure you add information that allows anyone to recognize you (picture, CV, etc.) + +## How? + +Your personal website does not need to be fancy but it needs to be: + +- easy to update: it is important to have up to date information (current affiliation, publications, etc.) +- easy to find: add keywords that illustrate your research interests +- easy to deploy and maintain: don't overdo it! Your website can be as simple as one markdown file in a github repository. + +During the studyGroup, we discussed about different solutions to implement and deploy a personal website: + +- Build a website with [Wordpress](https://wordpress.com/): the best is to first choose the free plan as it offers everything you need to start and set up your website. One inconvenient is that your website name will contain `wordpress.com` (such as `firstname_lastname.wordpress.com`). + +- Build a website and host it with [academia](https://www.academia.edu/): mostly if you plan to stay in academia. One of the main goal of academia is to share publications. There were a few problems with paper ownership and academia is not as popular as before (but still a good reference). + +- Build a website with [github](https://github.com/): create a new repository called username.github.io where `username` is your github username. This will automatically create a personal website. Then you can: + - create a README.md file containing all the information you would like to show. + - take a website template to create a more complete and complex website. For instance using [academicpages](https://github.com/academicpages/academicpages.github.io) template. + +## Buy your domain name + +It is not expensive to buy a domain name for your website (for instance with `firstname.lastname.com`): + +- Check [domene shop](https://domene.shop) + From f7fe2dc436ba295f05a67a11b91ffa69db1b7a3b Mon Sep 17 00:00:00 2001 From: Anne Fouilloux Date: Sun, 3 Mar 2019 12:02:37 +0100 Subject: [PATCH 082/189] bug fix: description for website missing --- lessons/website-minutes/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lessons/website-minutes/README.md b/lessons/website-minutes/README.md index f67f131fc..ab7ffdab1 100644 --- a/lessons/website-minutes/README.md +++ b/lessons/website-minutes/README.md @@ -1,7 +1,7 @@ --- layout: page title: Do I need my own website as a researcher? -text: Open discussion on pros and cons +text: "Open discussion on pros and cons" link: https://github.com/uio-carpentry/studyGroup/issues/6 visible: true tags: From 176eab5b9162093173f07c70665536a72e459d2e Mon Sep 17 00:00:00 2001 From: Anne Fouilloux Date: Sun, 3 Mar 2019 12:05:17 +0100 Subject: [PATCH 083/189] added who wrote minutes --- lessons/website-minutes/README.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/lessons/website-minutes/README.md b/lessons/website-minutes/README.md index ab7ffdab1..ee80b3708 100644 --- a/lessons/website-minutes/README.md +++ b/lessons/website-minutes/README.md @@ -15,7 +15,8 @@ tags: - **Session leader**: Annika Rockenberger - - **Lesson Topic**: e + - **Minute from**: Anne Fouilloux + - **Lesson Topic**: Why and how writing your own website? - [![License: CC BY 4.0](https://img.shields.io/badge/License-CC%20BY%204.0-lightgrey.svg)](https://creativecommons.org/licenses/by/4.0/) # Minutes of the studyGroup@UiO discussion session From e0f3644e7f34171b41f99c16eec4043b9a77df2c Mon Sep 17 00:00:00 2001 From: Anne Fouilloux Date: Sun, 3 Mar 2019 12:09:04 +0100 Subject: [PATCH 084/189] fixed link and added authors --- _posts/2019-06-03-coderefinery.markdown | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/_posts/2019-06-03-coderefinery.markdown b/_posts/2019-06-03-coderefinery.markdown index 7f73ccb57..1e6a708a2 100644 --- a/_posts/2019-06-03-coderefinery.markdown +++ b/_posts/2019-06-03-coderefinery.markdown @@ -9,13 +9,13 @@ endTime: '17:00' --- -**Session leader**: Radovan Bast, Anne Fouilloux +**Session leader**: Radovan Bast, Anne Fouilloux and Sabry Razick. -Course goals +### Course goals The aim of this course is to demonstrate to and familiarize the workshop participants with best practices and tools in modern research software development. The main focus is on professional tools for efficiently developing and maintaining research software. Since most research code is developed in a collaborative setting, we will discuss tools and workflows which facilitate this process. Most of the content is also relevant to a single developer. -Who the course is for +### Who the course is for If you are writing code that is used in research, then this course is for you. If you develop research code and you know all the tools already, join us as a helper! It's fun, and you always learn something new about a subject by teaching it. @@ -23,4 +23,4 @@ If you are writing code that is used in research, then this course is for you. I - **When**: 03rd - 05th June 2019 - **Time**: 09:00-17:00 - **Location**: Auditorium Smalltalk, Ole-Johan Dahls hus · Oslo -- **More information**: https://coderefinery.org/workshops/2019-06-03-oslo/ +- **More information and registration**: [https://coderefinery.org/workshops/2019-06-03-oslo/](https://coderefinery.org/workshops/2019-06-03-oslo/) From 36045901e3862b3951c4ff501db63907fc5a4e47 Mon Sep 17 00:00:00 2001 From: Anne Fouilloux Date: Sun, 3 Mar 2019 12:14:13 +0100 Subject: [PATCH 085/189] bug fix: added links --- _posts/2019-06-25-CarpentryConnect.markdown | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/_posts/2019-06-25-CarpentryConnect.markdown b/_posts/2019-06-25-CarpentryConnect.markdown index 719572921..b1261879a 100644 --- a/_posts/2019-06-25-CarpentryConnect.markdown +++ b/_posts/2019-06-25-CarpentryConnect.markdown @@ -9,27 +9,29 @@ endTime: '20:00' --- -Join Us At CarpentryConnect Manchester 2019! +### Join Us At CarpentryConnect Manchester 2019! + Did you see the recent announcement, that registration is now open for the CarpentryConnect Manchester conference? The event is an opportunity for members of The Carpentries’ global community of instructors and anyone else with an interest in helping researchers to improve their computational skills, to get together for a few days to exchange ideas and learn some new things. With an exciting programme (still under development, no spoilers!) including sessions focussing on developing new and existing curricula, increasing the sustainability of research software, methods and tools for better teaching, and more, the conference will have as much to offer those who are newcomers to The Carpentries as it does to those who have attended a workshop, helped or taught at one or two, or been involved for years. Still not sure what to expect? Following the success of the inaugural CarpentryCon in Dublin last summer, several of the attendees wrote about their experiences describing some of the workshops and breakouts, reflecting on their experiences, and generally celebrating the chance to bring such a diverse and dispersed community together (https://carpentries.org/blog/2018/06/carpentry-con-report/). The organising taskforce of CarpentryConnect Manchester, chaired by Aleks Nenadic and including several organisers of the event in 2018, has every intention of creating a sister event with a similar atmosphere of creativity, inclusivity and optimism, and a love of using sticky notes for almost everything. -We hope that the structure of the programme (https://software.ac.uk/ccmcr19/programme), with bursts of lightning talks to spark conversation, long breaks to create space for deeper discussion and networking, and an emphasis on workshops, tutorials and breakout sessions, reflects the importance placed on community building and professional development that I have been so inspired by at previous events of both the Research Software Engineers and Carpentries. The conference offers a chance to learn about and discuss the latest developments and challenges in computational teaching and research software development, to access training in relevant skills, tools, and resources, and to get to know other members of this warm and welcoming community. For more detail on the programme, keep an eye out as we announcement our keynote speakers over the coming weeks. +We hope that the structure of the programme ([https://software.ac.uk/ccmcr19/programme](https://software.ac.uk/ccmcr19/programme)), with bursts of lightning talks to spark conversation, long breaks to create space for deeper discussion and networking, and an emphasis on workshops, tutorials and breakout sessions, reflects the importance placed on community building and professional development that I have been so inspired by at previous events of both the Research Software Engineers and Carpentries. The conference offers a chance to learn about and discuss the latest developments and challenges in computational teaching and research software development, to access training in relevant skills, tools, and resources, and to get to know other members of this warm and welcoming community. For more detail on the programme, keep an eye out as we announcement our keynote speakers over the coming weeks. We’d love to see plenty of new faces at the conference, as well as bringing together as many Instructors, Trainers, Mentors, and Maintainers, as possible from the UK, Europe, and across the world. So, if any of the above sounds interesting to you, we’d love for you to go ahead and register. If you do so before 10 April 2019, you’ll be able to take advantage of the Early Bird discount. -Our call for proposals is still open -(https://software.ac.uk/news/carpentryconnect-manchester-2019-call-proposals). +**Our call for proposals is still open** +([https://software.ac.uk/news/carpentryconnect-manchester-2019-call-proposals](https://software.ac.uk/news/carpentryconnect-manchester-2019-call-proposals)). + You can submit an abstract or your suggestions using the submission form until 1 March 2019. The notification of the outcome of your application will be sent out by 1 April 2019. -We look forward to seeing you in Manchester in June! +**We look forward to seeing you in Manchester in June!** - **Level**: beginner to intermediate - **When**: 25th June 2019 - 27th June 2019 - **Time**: 9:00-19:00 - **Location**: The Studio Manchester on 25th and 26th of June and in the Kilburn Building at the School of Computer Science (University of Manchester) on 27th June -- **More information**: https://software.ac.uk/ccmcr19/programme +- **More information and registration**: [https://software.ac.uk/ccmcr19/programme](https://software.ac.uk/ccmcr19/programme) From 9f4946a5c6463b76d007aea89b40aa577804c6a0 Mon Sep 17 00:00:00 2001 From: Ana Costa <29195893+anacost@users.noreply.github.com> Date: Thu, 7 Mar 2019 10:20:35 +0000 Subject: [PATCH 086/189] canceled --- _posts/2019-03-22-workalong.markdown | 22 ---------------------- 1 file changed, 22 deletions(-) delete mode 100644 _posts/2019-03-22-workalong.markdown diff --git a/_posts/2019-03-22-workalong.markdown b/_posts/2019-03-22-workalong.markdown deleted file mode 100644 index 79de37403..000000000 --- a/_posts/2019-03-22-workalong.markdown +++ /dev/null @@ -1,22 +0,0 @@ ---- -title: Work along session on looping and iteration in Python -text: -location: Science Library -link: https://github.com/uio-carpentry/studyGroup/issues/39 -date: 2019-03-22 -startTime: '14:00' -endTime: '16:00' - ---- - -**Session leader**: Ana Costa - -In this session you will learn how to write pythonic loops, loops that look like python, and not C-style. -We will also discuss list comprehensions, generators. - -_Bring your laptop if you want to try it out!_ - -- **When**: 22nd March 2019, 14h-16h -- **Location**: Niels Henrik Abels hus, room 209 -- **Who**: _everybody willing to learn how to write pythonic code_ - From 8bbf22b14feb148c6bc3f406f24cf5e5a8cb60cc Mon Sep 17 00:00:00 2001 From: Ana Costa <29195893+anacost@users.noreply.github.com> Date: Thu, 25 Apr 2019 10:54:04 +0000 Subject: [PATCH 087/189] created useR, investing with R --- _posts/2019-05-08-useR.markdown | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 _posts/2019-05-08-useR.markdown diff --git a/_posts/2019-05-08-useR.markdown b/_posts/2019-05-08-useR.markdown new file mode 100644 index 000000000..35ae73082 --- /dev/null +++ b/_posts/2019-05-08-useR.markdown @@ -0,0 +1,24 @@ +--- +title: use R! group, Investing with R +text: +location: Teknologihuset +link: https://github.com/uio-carpentry/studyGroup/issues/43 +date: 2019-05-08 +startTime: '17:30' +endTime: '19:30' + +--- + +**Session leader**: Dmytro Perepolkin and Lars Nygaard + +Most investors still invest through expensive traditional active funds although studies clearly show that cheap index funds do better over time and, modern Nobel-prize winning research shows there are fully automated strategies, or so-called factor-based strategies, that do even better. + +R is today one of the best languages to do prototyping for quantitative investment analysis. Lars will give an introduction on implementing a simple quantitative investing strategy using packages such as quantmod, xts. He will talk about where to get your data, how to import it, and how to generate a report with investment advice. + +Lars has a background in physics and started coding in R about two years ago. He has also been working on a startup company Norquant (www.norquant.no). + +- **Level**: intermediate +- **When**: 08th May 2019 +- **Time**: 17:30-19:30 +- **Location**: Microsoft Norge, Lysaker Torg 45, Lysaker +- **More information**: https://www.meetup.com/Oslo-useR-Group/events/260172902/ From ce06e068c56cc7f8a02c5c1f1388f453d08e1f0c Mon Sep 17 00:00:00 2001 From: Ana Costa <29195893+anacost@users.noreply.github.com> Date: Thu, 25 Apr 2019 17:01:18 +0000 Subject: [PATCH 088/189] closed call, change early bird --- _posts/2019-06-25-CarpentryConnect.markdown | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/_posts/2019-06-25-CarpentryConnect.markdown b/_posts/2019-06-25-CarpentryConnect.markdown index b1261879a..f48551746 100644 --- a/_posts/2019-06-25-CarpentryConnect.markdown +++ b/_posts/2019-06-25-CarpentryConnect.markdown @@ -20,12 +20,7 @@ The organising taskforce of CarpentryConnect Manchester, chaired by Aleks Nenadi We hope that the structure of the programme ([https://software.ac.uk/ccmcr19/programme](https://software.ac.uk/ccmcr19/programme)), with bursts of lightning talks to spark conversation, long breaks to create space for deeper discussion and networking, and an emphasis on workshops, tutorials and breakout sessions, reflects the importance placed on community building and professional development that I have been so inspired by at previous events of both the Research Software Engineers and Carpentries. The conference offers a chance to learn about and discuss the latest developments and challenges in computational teaching and research software development, to access training in relevant skills, tools, and resources, and to get to know other members of this warm and welcoming community. For more detail on the programme, keep an eye out as we announcement our keynote speakers over the coming weeks. We’d love to see plenty of new faces at the conference, as well as bringing together as many -Instructors, Trainers, Mentors, and Maintainers, as possible from the UK, Europe, and across the world. So, if any of the above sounds interesting to you, we’d love for you to go ahead and register. If you do so before 10 April 2019, you’ll be able to take advantage of the Early Bird discount. - -**Our call for proposals is still open** -([https://software.ac.uk/news/carpentryconnect-manchester-2019-call-proposals](https://software.ac.uk/news/carpentryconnect-manchester-2019-call-proposals)). - -You can submit an abstract or your suggestions using the submission form until 1 March 2019. The notification of the outcome of your application will be sent out by 1 April 2019. +Instructors, Trainers, Mentors, and Maintainers, as possible from the UK, Europe, and across the world. So, if any of the above sounds interesting to you, we’d love for you to go ahead and register. If you do so before 18 April 2019, you’ll be able to take advantage of the Early Bird discount. **We look forward to seeing you in Manchester in June!** From 301413b6c32e96dddd7a2bbdd3ea5e2767018374 Mon Sep 17 00:00:00 2001 From: Ana Costa <29195893+anacost@users.noreply.github.com> Date: Fri, 26 Apr 2019 12:59:39 +0000 Subject: [PATCH 089/189] created image processing in R workalong session --- _posts/2019-05-22-workalong.markdown | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 _posts/2019-05-22-workalong.markdown diff --git a/_posts/2019-05-22-workalong.markdown b/_posts/2019-05-22-workalong.markdown new file mode 100644 index 000000000..123df0003 --- /dev/null +++ b/_posts/2019-05-22-workalong.markdown @@ -0,0 +1,20 @@ +--- +title: Work along session on image processing in R +text: +location: Science Library +link: https://github.com/uio-carpentry/studyGroup/issues/44 +date: 2019-05-22 +startTime: '14:00' +endTime: '16:00' + +--- + +**Session leader**: Viviane Girardin + +In this session you will learn image processing in R. + +_Bring your laptop if you want to try it out!_ + +- **When**: 22nd May 2019, 14h-16h +- **Location**: Niels Henrik Abels hus, room 209 +- **Who**: _everybody willing to learn about image processing_ From a748166cde0b39660ca13a4c3235bbfc360cff31 Mon Sep 17 00:00:00 2001 From: Ana Costa <29195893+anacost@users.noreply.github.com> Date: Fri, 26 Apr 2019 14:48:02 +0000 Subject: [PATCH 090/189] update date, rename with date --- ...05-22-workalong.markdown => 2019-05-24-workalong.markdown} | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) rename _posts/{2019-05-22-workalong.markdown => 2019-05-24-workalong.markdown} (89%) diff --git a/_posts/2019-05-22-workalong.markdown b/_posts/2019-05-24-workalong.markdown similarity index 89% rename from _posts/2019-05-22-workalong.markdown rename to _posts/2019-05-24-workalong.markdown index 123df0003..0be57b16d 100644 --- a/_posts/2019-05-22-workalong.markdown +++ b/_posts/2019-05-24-workalong.markdown @@ -3,7 +3,7 @@ title: Work along session on image processing in R text: location: Science Library link: https://github.com/uio-carpentry/studyGroup/issues/44 -date: 2019-05-22 +date: 2019-05-24 startTime: '14:00' endTime: '16:00' @@ -15,6 +15,6 @@ In this session you will learn image processing in R. _Bring your laptop if you want to try it out!_ -- **When**: 22nd May 2019, 14h-16h +- **When**: 24th May 2019, 14h-16h - **Location**: Niels Henrik Abels hus, room 209 - **Who**: _everybody willing to learn about image processing_ From b64df8d07c881eb898db76abdad57b19c45cd2a9 Mon Sep 17 00:00:00 2001 From: Ana Costa <29195893+anacost@users.noreply.github.com> Date: Mon, 29 Apr 2019 16:08:13 +0000 Subject: [PATCH 091/189] changed room to VB room 123 --- _posts/2019-05-24-workalong.markdown | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/_posts/2019-05-24-workalong.markdown b/_posts/2019-05-24-workalong.markdown index 0be57b16d..9968538ae 100644 --- a/_posts/2019-05-24-workalong.markdown +++ b/_posts/2019-05-24-workalong.markdown @@ -1,7 +1,7 @@ --- title: Work along session on image processing in R text: -location: Science Library +location: Vilhelm Bjerknes' hus, room 123 link: https://github.com/uio-carpentry/studyGroup/issues/44 date: 2019-05-24 startTime: '14:00' @@ -16,5 +16,5 @@ In this session you will learn image processing in R. _Bring your laptop if you want to try it out!_ - **When**: 24th May 2019, 14h-16h -- **Location**: Niels Henrik Abels hus, room 209 +- **Location**: Vilhelm Bjerknes' hus, room 123 - **Who**: _everybody willing to learn about image processing_ From e8c4fc3c171b89afe4c917c67d83182349324668 Mon Sep 17 00:00:00 2001 From: Ana Costa <29195893+anacost@users.noreply.github.com> Date: Thu, 23 May 2019 04:45:06 +0000 Subject: [PATCH 092/189] change name leader --- _posts/2019-05-24-workalong.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_posts/2019-05-24-workalong.markdown b/_posts/2019-05-24-workalong.markdown index 9968538ae..a538682e0 100644 --- a/_posts/2019-05-24-workalong.markdown +++ b/_posts/2019-05-24-workalong.markdown @@ -9,7 +9,7 @@ endTime: '16:00' --- -**Session leader**: Viviane Girardin +**Session leader**: Ana Costa In this session you will learn image processing in R. From 5ad98bdd229f05759c4d3675e5d917d149515205 Mon Sep 17 00:00:00 2001 From: Ana Costa <29195893+anacost@users.noreply.github.com> Date: Fri, 31 May 2019 10:11:24 +0000 Subject: [PATCH 093/189] Create 2019-06-05-useR.markdown --- _posts/2019-06-05-useR.markdown | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 _posts/2019-06-05-useR.markdown diff --git a/_posts/2019-06-05-useR.markdown b/_posts/2019-06-05-useR.markdown new file mode 100644 index 000000000..33f195886 --- /dev/null +++ b/_posts/2019-06-05-useR.markdown @@ -0,0 +1,27 @@ +--- +title: Oslo useR! Group, Workshop Straightforward introduction to mixed models +text: +location: IFI Building, University of Oslo +link: https://www.meetup.com/Oslo-useR-Group/events/260303778/ +date: 2019-06-05 +startTime: '17:00' +endTime: '20:00' + +--- + +**Session leader**: Dmytro P. and Athanasia Monika M. + +In this workshop we will be exploring how to use linear mixed models when we have data that repeats over time. These kinds of models are often used in longitudinal studies or with time series data. They are powerful as the used maximum likelihood approximations rather than least squares, meaning they can better handle missing data, and competing models can be compared directly. By the end of the workshop you should have a basic grasp of the linear mixed model, how to specify one, how to compare models and how to plot results. + +This workshop expects participants to have intermediate proficiency in R and is not fully suitable for beginners. The instructor may not have time to thoroughly explain code that is not directly related to mixed models, so if you have little or no experience with R, I think it will be tough to follow as a workshop. + +About the speaker +The workshop is held by Athanasia Monika Mowinckel, or Mo for short, who is a staff scientist at the Center for Lifespan changes in brain and cognition (LCBC: www.oslobrains.no). She has a PhD in psychology, and loves plotting. And cats. She is a co-founder and current head of the R-Ladies Oslo chapter. + +This workshop is brought to you by Centre for Educational Measurement at University of Oslo (https://www.uv.uio.no/cemo/) and Cardo Partners (www.cardopartners.com) in cooperation of Oslo UseR! Group and R-Ladies Oslo + +- **Level**: beginner to intermediate +- **When**: 05th June 2019 +- **Time**: 17:00-20:00 +- **Location**: IFI Building, University of Oslo, Gaustadalléen 23B, Smalltalk Auditorium, Ole Johans Dahls Hus · Oslo +- **More information**: https://www.meetup.com/Oslo-useR-Group/events/260303778/ From c1da15ff396adaf914717fc6b3d34c2a83b28b1f Mon Sep 17 00:00:00 2001 From: Annika Rockenberger Date: Thu, 8 Aug 2019 15:30:11 +0200 Subject: [PATCH 094/189] Updated affiliation for AR --- _data/admin.yml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/_data/admin.yml b/_data/admin.yml index 07ee17379..74e37f342 100644 --- a/_data/admin.yml +++ b/_data/admin.yml @@ -1,4 +1,4 @@ -- name: Anne Fouilloux +y- name: Anne Fouilloux affiliation: University of Oslo github: annefou role: President @@ -20,7 +20,7 @@ - Machine & Deep Learning - name: Annika Rockenberger - affiliation: The National Library of Norway + affiliation: The University of Oslo Library github: arockenberger role: Marketing and Social Media Coordinator interests: @@ -28,4 +28,5 @@ - Python - The Carpentries - Physical Programming + - Digital Literacy From 9c8c1fcd132dce7a0b573d0caae8c3569dc52b39 Mon Sep 17 00:00:00 2001 From: Anne Fouilloux Date: Thu, 22 Aug 2019 11:45:26 +0200 Subject: [PATCH 095/189] bug fix: a y had been inserted by mistake --- _data/admin.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_data/admin.yml b/_data/admin.yml index 74e37f342..48452c482 100644 --- a/_data/admin.yml +++ b/_data/admin.yml @@ -1,4 +1,4 @@ -y- name: Anne Fouilloux +- name: Anne Fouilloux affiliation: University of Oslo github: annefou role: President From ce86d6f228c9dbf308686e706fa45a6dba8bac80 Mon Sep 17 00:00:00 2001 From: Anne Fouilloux Date: Thu, 22 Aug 2019 12:10:52 +0200 Subject: [PATCH 096/189] added planning event for StudyGroup --- _includes/portfolio_grid.html | 4 +++- _posts/2019-08-22-planning.markdown | 21 +++++++++++++++++++++ 2 files changed, 24 insertions(+), 1 deletion(-) create mode 100644 _posts/2019-08-22-planning.markdown diff --git a/_includes/portfolio_grid.html b/_includes/portfolio_grid.html index 21578200d..9a68467b2 100644 --- a/_includes/portfolio_grid.html +++ b/_includes/portfolio_grid.html @@ -4,7 +4,9 @@

Carpentry@UiO

- Upcoming UiO Workshops + Find all upcoming events and workshops organized and/or supported by Carpentry@UiO. +
+
diff --git a/_posts/2019-08-22-planning.markdown b/_posts/2019-08-22-planning.markdown new file mode 100644 index 000000000..98dc89b06 --- /dev/null +++ b/_posts/2019-08-22-planning.markdown @@ -0,0 +1,21 @@ +--- +title: StudyGroup Planning +text: +location: Niels Henrik Abels hus Room 209 +link: +date: 2019-08-22 +startTime: '16:00' +endTime: '18:00' + +--- + +**Session leader**: Annika Rockenberger + +We are having a meeting to plan all our future events for Autumn 2019. + +Come and tell us what events you would be interested to learn or to teach. + +- **Level**: all +- **When**: 22nd August 2019 +- **Time**: 16:00-18:00 +- **Location**: Niels Henrik Abels hus Room 209 From 9c91151435f3c399f7e62cae7d705106018fd134 Mon Sep 17 00:00:00 2001 From: Anne Fouilloux Date: Thu, 22 Aug 2019 12:27:27 +0200 Subject: [PATCH 097/189] added link to issue for planning event --- _posts/2019-08-22-planning.markdown | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/_posts/2019-08-22-planning.markdown b/_posts/2019-08-22-planning.markdown index 98dc89b06..39dcd5814 100644 --- a/_posts/2019-08-22-planning.markdown +++ b/_posts/2019-08-22-planning.markdown @@ -1,8 +1,8 @@ --- title: StudyGroup Planning -text: +text: Help us to plan all Autumn studyGroup events location: Niels Henrik Abels hus Room 209 -link: +link: https://github.com/uio-carpentry/studyGroup/issues/47 date: 2019-08-22 startTime: '16:00' endTime: '18:00' From 7bfdb87c4e8bcd6d7c5711cc146a2fccb7f56ae2 Mon Sep 17 00:00:00 2001 From: Annika Rockenberger Date: Fri, 23 Aug 2019 10:11:47 +0200 Subject: [PATCH 098/189] Create 2019-09-05_bookclub.md --- _posts/2019-09-05_bookclub.md | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 _posts/2019-09-05_bookclub.md diff --git a/_posts/2019-09-05_bookclub.md b/_posts/2019-09-05_bookclub.md new file mode 100644 index 000000000..c6b1aa3fb --- /dev/null +++ b/_posts/2019-09-05_bookclub.md @@ -0,0 +1,26 @@ +--- +title: Book Club +text: Good Enough Practices in Scientific Computing +location: Niels Henrik Abels hus Room 209 +link: https://github.com/uio-carpentry/studyGroup/issues/42 +date: 2019-09-05 +startTime: '16:00' +endTime: '18:00' + +--- + +**Session leader**: Annika Rockenberger + +We are reading the article "Good Enough Practices in Scientific Computing" by Greg Wilson et al. +[fulltext](https://doi.org/10.1371/journal.pcbi.1005510) + +Come and discuss the article with us! + +We want to create a Carpentries-style, half-day workshop based on the article, to be piloted in the fall semester here at UiO. +Please bring the text & your laptop: we will work together brainstorming how to develop a lesson based on the contents of the article, +and start creating a repository for the workshop development using the Carpentries [lesson template](https://github.com/carpentries/styles). + +- **Level**: all +- **When**: 5th September 2019 +- **Time**: 16:00-18:00 +- **Location**: Niels Henrik Abels hus Room 209 From e02fb82500cd324432f27282fa6a130282e8083b Mon Sep 17 00:00:00 2001 From: Annika Rockenberger Date: Fri, 23 Aug 2019 10:12:54 +0200 Subject: [PATCH 099/189] Rename 2019-09-05_bookclub.md to 2019-09-05-bookclub.markdown --- _posts/{2019-09-05_bookclub.md => 2019-09-05-bookclub.markdown} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename _posts/{2019-09-05_bookclub.md => 2019-09-05-bookclub.markdown} (100%) diff --git a/_posts/2019-09-05_bookclub.md b/_posts/2019-09-05-bookclub.markdown similarity index 100% rename from _posts/2019-09-05_bookclub.md rename to _posts/2019-09-05-bookclub.markdown From 0eff1ce379cc65b5705c481dcdd1fcbfed4ff2a4 Mon Sep 17 00:00:00 2001 From: Annika Rockenberger Date: Fri, 23 Aug 2019 10:14:46 +0200 Subject: [PATCH 100/189] Made full link visible --- _posts/2019-09-05-bookclub.markdown | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/_posts/2019-09-05-bookclub.markdown b/_posts/2019-09-05-bookclub.markdown index c6b1aa3fb..48346d787 100644 --- a/_posts/2019-09-05-bookclub.markdown +++ b/_posts/2019-09-05-bookclub.markdown @@ -12,7 +12,8 @@ endTime: '18:00' **Session leader**: Annika Rockenberger We are reading the article "Good Enough Practices in Scientific Computing" by Greg Wilson et al. -[fulltext](https://doi.org/10.1371/journal.pcbi.1005510) + +(https://doi.org/10.1371/journal.pcbi.1005510) Come and discuss the article with us! From b4f83c629d698bde9dc878b3cd670018671ceac9 Mon Sep 17 00:00:00 2001 From: Annika Rockenberger Date: Fri, 23 Aug 2019 12:29:44 +0200 Subject: [PATCH 101/189] Update 2019-09-05-bookclub.markdown --- _posts/2019-09-05-bookclub.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_posts/2019-09-05-bookclub.markdown b/_posts/2019-09-05-bookclub.markdown index 48346d787..554cfd249 100644 --- a/_posts/2019-09-05-bookclub.markdown +++ b/_posts/2019-09-05-bookclub.markdown @@ -13,7 +13,7 @@ endTime: '18:00' We are reading the article "Good Enough Practices in Scientific Computing" by Greg Wilson et al. -(https://doi.org/10.1371/journal.pcbi.1005510) +[https://doi.org/10.1371/journal.pcbi.1005510] Come and discuss the article with us! From e99088a29d1507c013e32f54a0d3f9f458f043d1 Mon Sep 17 00:00:00 2001 From: Annika Rockenberger Date: Fri, 23 Aug 2019 12:40:20 +0200 Subject: [PATCH 102/189] Create 2019-10-31-preview.markdown --- _posts/2019-10-31-preview.markdown | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 _posts/2019-10-31-preview.markdown diff --git a/_posts/2019-10-31-preview.markdown b/_posts/2019-10-31-preview.markdown new file mode 100644 index 000000000..1c3651587 --- /dev/null +++ b/_posts/2019-10-31-preview.markdown @@ -0,0 +1,26 @@ +--- +title: Preview +text: Exploring and Analysing Network Data with Python (for Humanities Researchers) +location: Niels Henrik Abels hus Room 209 +link: https://github.com/uio-carpentry/studyGroup/issues/52 +date: 2019-10-31 +startTime: '16:00' +endTime: '18:00' + +--- + +**Session leader**: Annika Rockenberger + +Walk-through of the pre-prepared lesson on "Exploring and Analysing Network Data with Python" +from [The Programming Historian[(https://programminghistorian.org/en/lessons/exploring-and-analyzing-network-data-with-python) +in order to prepare for a full-day workshop in November or December. + +We will test the setup and installation for the lesson, go through the Jupyter Notebook in the +[lesson repository](https://github.com/arockenberger/network_analysis_lesson) and try out a hands-on excercise. + +Join if you consider being a helper or co-instructor for the workshop! + +- **Level**: all +- **When**: 31st October 2019 +- **Time**: 16:00-18:00 +- **Location**: Niels Henrik Abels hus Room 209 From afc8fd75df77d9653a26050c8b3a1d2f117585be Mon Sep 17 00:00:00 2001 From: Annika Rockenberger Date: Fri, 23 Aug 2019 12:50:00 +0200 Subject: [PATCH 103/189] Create 2019-09-19-lessondev.markdown --- _posts/2019-09-19-lessondev.markdown | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 _posts/2019-09-19-lessondev.markdown diff --git a/_posts/2019-09-19-lessondev.markdown b/_posts/2019-09-19-lessondev.markdown new file mode 100644 index 000000000..9622c1e11 --- /dev/null +++ b/_posts/2019-09-19-lessondev.markdown @@ -0,0 +1,27 @@ +--- +title: Lesson Development +text: Good Enough Practices in Scientific Computing +location: Niels Henrik Abels hus Room 209 +link: https://github.com/uio-carpentry/studyGroup/issues/46 +date: 2019-09-19 +startTime: '16:00' +endTime: '18:00' + +--- + +**Session leader**: Annika Rockenberger + +Picking up from where we left on [5th September 2019] +(https://github.com/uio-carpentry/studyGroup/blob/gh-pages/_posts/2019-09-05-bookclub.markdown), +we continue developing a lesson for a half-day workshop based on the article by +Wilson et al. "Good Enough Practices in Scientific Computing" (2017). +The article focuses not so much on computing but general digital literacy and good routines. + +Join if you are interested in lesson development, digital literacy, and how to improve our daily data and computational habits! + +It's recommended to have read the article by Wilson et al. [https://doi.org/10.1371/journal.pcbi.1005510]. + +- **Level**: all +- **When**: 19th September 2019 +- **Time**: 16:00-18:00 +- **Location**: Niels Henrik Abels hus Room 209 From 47e77b7717bb6ab7e9d326e01043e7a7d6eaf2b6 Mon Sep 17 00:00:00 2001 From: Annika Rockenberger Date: Fri, 23 Aug 2019 12:51:05 +0200 Subject: [PATCH 104/189] Fixed markdown --- _posts/2019-09-19-lessondev.markdown | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/_posts/2019-09-19-lessondev.markdown b/_posts/2019-09-19-lessondev.markdown index 9622c1e11..9a66c397b 100644 --- a/_posts/2019-09-19-lessondev.markdown +++ b/_posts/2019-09-19-lessondev.markdown @@ -11,15 +11,14 @@ endTime: '18:00' **Session leader**: Annika Rockenberger -Picking up from where we left on [5th September 2019] -(https://github.com/uio-carpentry/studyGroup/blob/gh-pages/_posts/2019-09-05-bookclub.markdown), +Picking up from where we left on [5th September 2019](https://github.com/uio-carpentry/studyGroup/blob/gh-pages/_posts/2019-09-05-bookclub.markdown), we continue developing a lesson for a half-day workshop based on the article by Wilson et al. "Good Enough Practices in Scientific Computing" (2017). The article focuses not so much on computing but general digital literacy and good routines. Join if you are interested in lesson development, digital literacy, and how to improve our daily data and computational habits! -It's recommended to have read the article by Wilson et al. [https://doi.org/10.1371/journal.pcbi.1005510]. +It's recommended to have read the article by Wilson et al. [https://doi.org/10.1371/journal.pcbi.1005510](https://doi.org/10.1371/journal.pcbi.1005510). - **Level**: all - **When**: 19th September 2019 From b3f0db4633d1402f94bc38f32412e40dac22067c Mon Sep 17 00:00:00 2001 From: Annika Rockenberger Date: Fri, 23 Aug 2019 12:51:45 +0200 Subject: [PATCH 105/189] Update 2019-09-05-bookclub.markdown --- _posts/2019-09-05-bookclub.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_posts/2019-09-05-bookclub.markdown b/_posts/2019-09-05-bookclub.markdown index 554cfd249..4a9fb0ea0 100644 --- a/_posts/2019-09-05-bookclub.markdown +++ b/_posts/2019-09-05-bookclub.markdown @@ -13,7 +13,7 @@ endTime: '18:00' We are reading the article "Good Enough Practices in Scientific Computing" by Greg Wilson et al. -[https://doi.org/10.1371/journal.pcbi.1005510] +[https://doi.org/10.1371/journal.pcbi.1005510](https://doi.org/10.1371/journal.pcbi.1005510) Come and discuss the article with us! From 2c6ecdb1b4018048b382d4e69aa2c65a04d2dd39 Mon Sep 17 00:00:00 2001 From: Annika Rockenberger Date: Fri, 23 Aug 2019 12:52:36 +0200 Subject: [PATCH 106/189] Fixed parentheses --- _posts/2019-10-31-preview.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_posts/2019-10-31-preview.markdown b/_posts/2019-10-31-preview.markdown index 1c3651587..fa8cd9ac1 100644 --- a/_posts/2019-10-31-preview.markdown +++ b/_posts/2019-10-31-preview.markdown @@ -12,7 +12,7 @@ endTime: '18:00' **Session leader**: Annika Rockenberger Walk-through of the pre-prepared lesson on "Exploring and Analysing Network Data with Python" -from [The Programming Historian[(https://programminghistorian.org/en/lessons/exploring-and-analyzing-network-data-with-python) +from [The Programming Historian](https://programminghistorian.org/en/lessons/exploring-and-analyzing-network-data-with-python) in order to prepare for a full-day workshop in November or December. We will test the setup and installation for the lesson, go through the Jupyter Notebook in the From c2a44fc40296e77b5f45ed1a67ae50541bfacc45 Mon Sep 17 00:00:00 2001 From: Annika Rockenberger Date: Fri, 23 Aug 2019 13:07:52 +0200 Subject: [PATCH 107/189] Create 2018-xx-xx-meeting.md Moved content unchanged from Issue #1 into new folder organisational --- organisational/2018-xx-xx-meeting.md | 32 ++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 organisational/2018-xx-xx-meeting.md diff --git a/organisational/2018-xx-xx-meeting.md b/organisational/2018-xx-xx-meeting.md new file mode 100644 index 000000000..099ae3f0f --- /dev/null +++ b/organisational/2018-xx-xx-meeting.md @@ -0,0 +1,32 @@ +# Meeting Minutes # + +## Attendees ## +**Present**: Gladys Nalvarte, Ana Costa Conrado, Anne Fouilloux + +## Adoption of Agenda ## + +The agenda was adopted. We agreed on the fact that this meeting is fairly informal +and a more formal meeting will be organized after mid-august. + +### What is UiO-Carpentry StudyGroup and what do we expect? ### + +The UiO-Carpentry StudyGroup will complement Uio@Carpentry workshops by offering: + +- Book club discussion: we will gather a list of books that could be of interest and could be discussed. Subjects range from personal development, pedagogy to technical subjects (emerging programming languages, etc.) +- Train the Trainer: short lesson on a subject with an aim to enhance technical skills of our set of Carpentry Instructors +- Study Group Lessons: develop (or re-use existing material available for Study Group Lessons) and teach short lesson on a technical subject that is of interest but cannot be taught as an entire workshop or for which no Carpentries lesson is available. + +### short presentations (5 mn) on possible contributions ### + +- Gladys can contribute on advanced lessons for instance on pytest. She will also participate in the book club discussions. +- Ana can contribute on study Group lessons on machine & deep learning +- Anne can set-up and update the StudyGroup website and help to organize the book club, etc. + +### list of actions ### + +- [x] **Anne**: update studyGroup website with: + * lesson tab: to gather lesson materials and link to Software and Data Carpentry lessons + * Add a tab to nordic-RSE initiative + * Add a tab to Book club +- [ ] **Gladys & Anne**: Develop a short lesson on the advanced usage of pytest. +- [ ] **Ana**: Develop a short introduction on machine & deep learning From f975d64a32a5a451962140eb5e2158ce9f7f2bed Mon Sep 17 00:00:00 2001 From: Annika Rockenberger Date: Fri, 23 Aug 2019 13:08:35 +0200 Subject: [PATCH 108/189] Rename 2018-xx-xx-meeting.md to 2018-07-13-meeting.md Corrected date --- organisational/{2018-xx-xx-meeting.md => 2018-07-13-meeting.md} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename organisational/{2018-xx-xx-meeting.md => 2018-07-13-meeting.md} (100%) diff --git a/organisational/2018-xx-xx-meeting.md b/organisational/2018-07-13-meeting.md similarity index 100% rename from organisational/2018-xx-xx-meeting.md rename to organisational/2018-07-13-meeting.md From 6b74c1b87901f7e70565bc6fa76487254fbd722b Mon Sep 17 00:00:00 2001 From: Annika Rockenberger Date: Fri, 23 Aug 2019 13:14:43 +0200 Subject: [PATCH 109/189] Added topic to template --- _posts/2019-09-19-lessondev.markdown | 2 ++ 1 file changed, 2 insertions(+) diff --git a/_posts/2019-09-19-lessondev.markdown b/_posts/2019-09-19-lessondev.markdown index 9a66c397b..1c8888b82 100644 --- a/_posts/2019-09-19-lessondev.markdown +++ b/_posts/2019-09-19-lessondev.markdown @@ -11,6 +11,8 @@ endTime: '18:00' **Session leader**: Annika Rockenberger +**Topic**: Good Enough Practices in Scientific Computing + Picking up from where we left on [5th September 2019](https://github.com/uio-carpentry/studyGroup/blob/gh-pages/_posts/2019-09-05-bookclub.markdown), we continue developing a lesson for a half-day workshop based on the article by Wilson et al. "Good Enough Practices in Scientific Computing" (2017). From b96a3842f6757fe5b9736c86cf166c2212e515c9 Mon Sep 17 00:00:00 2001 From: Annika Rockenberger Date: Fri, 23 Aug 2019 13:15:09 +0200 Subject: [PATCH 110/189] Update 2019-09-05-bookclub.markdown --- _posts/2019-09-05-bookclub.markdown | 2 ++ 1 file changed, 2 insertions(+) diff --git a/_posts/2019-09-05-bookclub.markdown b/_posts/2019-09-05-bookclub.markdown index 4a9fb0ea0..0216e96dc 100644 --- a/_posts/2019-09-05-bookclub.markdown +++ b/_posts/2019-09-05-bookclub.markdown @@ -11,6 +11,8 @@ endTime: '18:00' **Session leader**: Annika Rockenberger +**Topic**: Good Enough Practices in Scientific Computing + We are reading the article "Good Enough Practices in Scientific Computing" by Greg Wilson et al. [https://doi.org/10.1371/journal.pcbi.1005510](https://doi.org/10.1371/journal.pcbi.1005510) From 6d82b536bbf86812311837842b37794facfe7ae6 Mon Sep 17 00:00:00 2001 From: Annika Rockenberger Date: Fri, 23 Aug 2019 13:15:39 +0200 Subject: [PATCH 111/189] Added topic to template --- _posts/2019-10-31-preview.markdown | 2 ++ 1 file changed, 2 insertions(+) diff --git a/_posts/2019-10-31-preview.markdown b/_posts/2019-10-31-preview.markdown index fa8cd9ac1..447db4c3d 100644 --- a/_posts/2019-10-31-preview.markdown +++ b/_posts/2019-10-31-preview.markdown @@ -11,6 +11,8 @@ endTime: '18:00' **Session leader**: Annika Rockenberger +**Topic**: Exploring and Analysing Network Data with Python (for Humanities Researchers) + Walk-through of the pre-prepared lesson on "Exploring and Analysing Network Data with Python" from [The Programming Historian](https://programminghistorian.org/en/lessons/exploring-and-analyzing-network-data-with-python) in order to prepare for a full-day workshop in November or December. From a666f307cfc669b092f6e135c77b439ae053192c Mon Sep 17 00:00:00 2001 From: Anne Fouilloux Date: Fri, 23 Aug 2019 13:35:11 +0200 Subject: [PATCH 112/189] added autumn events --- _posts/2019-08-29-osip.markdown | 26 ++++++++++++++++++++++++ _posts/2019-09-05-sc.markdown | 20 +++++++++++++++++++ _posts/2019-09-19-sc.markdown | 21 +++++++++++++++++++ _posts/2019-09-26-voila.markdown | 27 +++++++++++++++++++++++++ _posts/2019-10-31-networkx.markdown | 21 +++++++++++++++++++ _posts/2019-12-05-iot.markdown | 23 +++++++++++++++++++++ lessons/folium_minutes/README.md | 31 +++++++++++++++++++++++++++++ 7 files changed, 169 insertions(+) create mode 100644 _posts/2019-08-29-osip.markdown create mode 100644 _posts/2019-09-05-sc.markdown create mode 100644 _posts/2019-09-19-sc.markdown create mode 100644 _posts/2019-09-26-voila.markdown create mode 100644 _posts/2019-10-31-networkx.markdown create mode 100644 _posts/2019-12-05-iot.markdown create mode 100644 lessons/folium_minutes/README.md diff --git a/_posts/2019-08-29-osip.markdown b/_posts/2019-08-29-osip.markdown new file mode 100644 index 000000000..72c553f4b --- /dev/null +++ b/_posts/2019-08-29-osip.markdown @@ -0,0 +1,26 @@ +--- +title: Preview lesson on Open Science +text: Walk-through the lesson and give feedback +location: Niels Henrik Abels hus Room 209 +link: https://github.com/uio-carpentry/studyGroup/issues/49 +date: 2019-08-29 +startTime: '16:00' +endTime: '18:00' + +--- + +**Session leader**: Anne Fouilloux + +Walk-through of the pre-prepared lesson (see [https://coderefinery.github.io/osip/](https://coderefinery.github.io/osip/)) to give feedback. +This lesson will be taught at the [2019 Eurotech Summer School OPEN SCIENCE IN PRACTICE](http://osip2019.epfl.ch/) as a two-hour workshop. + +The plan is also to teach it at UiO next semester or during the Research Bazaar. + +Come and discuss with us how we can improve the lesson. + +Feedback is welcome! + +- **Who**: anyone interested in Open Science +- **When**: 29th August 2019 +- **Time**: 16:00-18:00 +- **Location**: Niels Henrik Abels hus Room 209 diff --git a/_posts/2019-09-05-sc.markdown b/_posts/2019-09-05-sc.markdown new file mode 100644 index 000000000..1eb927f80 --- /dev/null +++ b/_posts/2019-09-05-sc.markdown @@ -0,0 +1,20 @@ +--- +title: Book club on Good Enough Practices in Scientific Computing +text: Read and discuss paper by Wilson et al. (2017) +location: Niels Henrik Abels hus Room 209 +link: https://github.com/uio-carpentry/studyGroup/issues/42 +date: 2019-09-05 +startTime: '16:00' +endTime: '18:00' + +--- + +**Session leader**: Annika Rockenberger + +We will meet to read the paper and discuss it. + +Based on the article by Wilson et al. "Good Enough Practices in Scientific Computing" (2017) I would like to develop a lesson that could be taught Carpentries-style. It's not so much about computing but about general digital literacy and good routines, thus it is widely applicable. + +- **When**: 5th September 2019 +- **Time**: 16:00-18:00 +- **Location**: Niels Henrik Abels hus Room 209 diff --git a/_posts/2019-09-19-sc.markdown b/_posts/2019-09-19-sc.markdown new file mode 100644 index 000000000..70ff3ed02 --- /dev/null +++ b/_posts/2019-09-19-sc.markdown @@ -0,0 +1,21 @@ +--- +title: Good Enough Practices in Scientific Computing +text: Lesson development +location: Niels Henrik Abels hus Room 209 +link: https://github.com/uio-carpentry/studyGroup/issues/ +date: 2019-09-19 +startTime: '16:00' +endTime: '18:00' + +--- + +**Session leader**: Annika Rockenberger + +Based on the article by Wilson et al. "Good Enough Practices in Scientific Computing" (2017) I would like to develop a lesson that could be taught Carpentries-style. It's not so much about computing but about general digital literacy and good routines, thus it is widely applicable. + +We will discuss the content of a new lesson based on the ideas in the article. + +- **Preparation**: read the paper mentioned. +- **When**: 19th September 2019 +- **Time**: 16:00-18:00 +- **Location**: Niels Henrik Abels hus Room 209 diff --git a/_posts/2019-09-26-voila.markdown b/_posts/2019-09-26-voila.markdown new file mode 100644 index 000000000..2a2fbdf61 --- /dev/null +++ b/_posts/2019-09-26-voila.markdown @@ -0,0 +1,27 @@ +--- +title: Voila python package +text: From Jupyter notebooks to standalone web applications and dashboards +location: Niels Henrik Abels hus Room 209 +link: https://github.com/uio-carpentry/studyGroup/issues/48 +date: 2019-09-26 +startTime: '16:00' +endTime: '18:00' + +--- + +**Session leader**: Anne Fouilloux + +Rendering of live Jupyter notebooks with interactive widgets. + +**Voila** serves live Jupyter notebook including Jupyter interactive widgets. + +Unlike the usual HTML-converted notebooks, each user connecting to the Voila tornado application gets a dedicated Jupyter kernel which can execute the callbacks to changes in Jupyter interactive widgets. + +During this two hour session, we plan to explore the **voila** package and learn how to use it. The idea is to understand if it is useful for our researchers. + +We will go through existing **voila** examples and learn to use it ourselves. + + +- **When**: 26th September 2019 +- **Time**: 16:00-18:00 +- **Location**: Niels Henrik Abels hus Room 209 diff --git a/_posts/2019-10-31-networkx.markdown b/_posts/2019-10-31-networkx.markdown new file mode 100644 index 000000000..629015599 --- /dev/null +++ b/_posts/2019-10-31-networkx.markdown @@ -0,0 +1,21 @@ +--- +title: Network Analysis with Python for Humanities Researchers +text: Walk-through the lesson in order to prepare for a workshop in November +location: Niels Henrik Abels hus Room 209 +link: https://github.com/uio-carpentry/studyGroup/issues/52 +date: 2019-10-31 +startTime: '16:00' +endTime: '18:00' + +--- + +**Session leader**: Annika Rockenberger + +Walk-through of the pre-prepared lesson from Programming Historian in order to prep the full workshop in November. + +Join if you want to be helper / co-instructor! + +- **Who**: anyone interested in teaching this lesson (or helping) +- **When**: 31st October 2019 +- **Time**: 16:00-18:00 +- **Location**: Niels Henrik Abels hus Room 209 diff --git a/_posts/2019-12-05-iot.markdown b/_posts/2019-12-05-iot.markdown new file mode 100644 index 000000000..c413af57e --- /dev/null +++ b/_posts/2019-12-05-iot.markdown @@ -0,0 +1,23 @@ +--- +title: Preview lesson on IoT +text: Walk-through the lesson and discuss the way forward +location: Niels Henrik Abels hus Room 209 +link: https://github.com/uio-carpentry/studyGroup/issues/51 +date: 2019-12-05 +startTime: '16:00' +endTime: '18:00' + +--- + +**Session leader**: Anne Fouilloux + +Walk-through of the pre-prepared lesson (see [https://uiohive.github.io/IoT_arduino_nano/](https://uiohive.github.io/IoT_arduino_nano/)) and discuss the way forward. The goal would be to add it in the Carpentries additional curriculum. + +You do not need to know anything about Internet of Things. The main objective is to get feedback on the existing lesson. + +Come and discuss with us how we can include new lesson in the Carpentries. + +- **Who**: anyone interested in IoT +- **When**: 5th December 2019 +- **Time**: 16:00-18:00 +- **Location**: Niels Henrik Abels hus Room 209 diff --git a/lessons/folium_minutes/README.md b/lessons/folium_minutes/README.md new file mode 100644 index 000000000..0eda20678 --- /dev/null +++ b/lessons/folium_minutes/README.md @@ -0,0 +1,31 @@ +--- +layout: page +title: Interactive maps with folium and ipyleaflet in python +text: "Software surgery session on Python" +link: https://github.com/uio-carpentry/studyGroup/issues/32 +visible: true +tags: + # languages + - python + # levels + - advanced +--- + + + + + - **Authors**: Anne Fouilloux + - **Lesson Topic**: How can we create contour plot on interactive maps? + - [![License: CC BY 4.0](https://img.shields.io/badge/License-CC%20BY%204.0-lightgrey.svg)](https://creativecommons.org/licenses/by/4.0/) + +## Introduction + +As part of our studyGroup session "Software surgery session on python", we had a use case for creating contour plot on interactive maps with python. + +After some discussions on which packages to use, we made an example using [folium](https://python-visualization.github.io/folium/). It could be interesting to check it out with [ipyleaflet](https://ipyleaflet.readthedocs.io/en/latest/) as part of a StudyGroup work along session. + +# Data + +Data to display corresponds to surface temperature fields generated by a model called [CAM5](http://www.cesm.ucar.edu/models/cesm1.2/cam/) that is part of [CESM](http://www.cesm.ucar.edu/), a Community Earth System Model developed in US and freely available. + +The initial dataset (from the user) was bigger and contained lots of variables. To ease this lesson, we have extracted the surface temperature (TS) and worked with 2 years of data only (24 months) while originally, the user had 10 years of simulation. From 4104dc7c3396af1f832abe3b045c98bf0482905f Mon Sep 17 00:00:00 2001 From: Anne Fouilloux Date: Fri, 23 Aug 2019 13:37:33 +0200 Subject: [PATCH 113/189] remove redundant events --- _posts/2019-09-05-sc.markdown | 20 -------------------- _posts/2019-09-19-sc.markdown | 21 --------------------- _posts/2019-10-31-networkx.markdown | 21 --------------------- 3 files changed, 62 deletions(-) delete mode 100644 _posts/2019-09-05-sc.markdown delete mode 100644 _posts/2019-09-19-sc.markdown delete mode 100644 _posts/2019-10-31-networkx.markdown diff --git a/_posts/2019-09-05-sc.markdown b/_posts/2019-09-05-sc.markdown deleted file mode 100644 index 1eb927f80..000000000 --- a/_posts/2019-09-05-sc.markdown +++ /dev/null @@ -1,20 +0,0 @@ ---- -title: Book club on Good Enough Practices in Scientific Computing -text: Read and discuss paper by Wilson et al. (2017) -location: Niels Henrik Abels hus Room 209 -link: https://github.com/uio-carpentry/studyGroup/issues/42 -date: 2019-09-05 -startTime: '16:00' -endTime: '18:00' - ---- - -**Session leader**: Annika Rockenberger - -We will meet to read the paper and discuss it. - -Based on the article by Wilson et al. "Good Enough Practices in Scientific Computing" (2017) I would like to develop a lesson that could be taught Carpentries-style. It's not so much about computing but about general digital literacy and good routines, thus it is widely applicable. - -- **When**: 5th September 2019 -- **Time**: 16:00-18:00 -- **Location**: Niels Henrik Abels hus Room 209 diff --git a/_posts/2019-09-19-sc.markdown b/_posts/2019-09-19-sc.markdown deleted file mode 100644 index 70ff3ed02..000000000 --- a/_posts/2019-09-19-sc.markdown +++ /dev/null @@ -1,21 +0,0 @@ ---- -title: Good Enough Practices in Scientific Computing -text: Lesson development -location: Niels Henrik Abels hus Room 209 -link: https://github.com/uio-carpentry/studyGroup/issues/ -date: 2019-09-19 -startTime: '16:00' -endTime: '18:00' - ---- - -**Session leader**: Annika Rockenberger - -Based on the article by Wilson et al. "Good Enough Practices in Scientific Computing" (2017) I would like to develop a lesson that could be taught Carpentries-style. It's not so much about computing but about general digital literacy and good routines, thus it is widely applicable. - -We will discuss the content of a new lesson based on the ideas in the article. - -- **Preparation**: read the paper mentioned. -- **When**: 19th September 2019 -- **Time**: 16:00-18:00 -- **Location**: Niels Henrik Abels hus Room 209 diff --git a/_posts/2019-10-31-networkx.markdown b/_posts/2019-10-31-networkx.markdown deleted file mode 100644 index 629015599..000000000 --- a/_posts/2019-10-31-networkx.markdown +++ /dev/null @@ -1,21 +0,0 @@ ---- -title: Network Analysis with Python for Humanities Researchers -text: Walk-through the lesson in order to prepare for a workshop in November -location: Niels Henrik Abels hus Room 209 -link: https://github.com/uio-carpentry/studyGroup/issues/52 -date: 2019-10-31 -startTime: '16:00' -endTime: '18:00' - ---- - -**Session leader**: Annika Rockenberger - -Walk-through of the pre-prepared lesson from Programming Historian in order to prep the full workshop in November. - -Join if you want to be helper / co-instructor! - -- **Who**: anyone interested in teaching this lesson (or helping) -- **When**: 31st October 2019 -- **Time**: 16:00-18:00 -- **Location**: Niels Henrik Abels hus Room 209 From c55c2e3871cd75db26783407f5f22aaf49c6177c Mon Sep 17 00:00:00 2001 From: Anne Fouilloux Date: Sat, 24 Aug 2019 07:02:11 +0200 Subject: [PATCH 114/189] added buttons for Carpentries and coderefinery events --- _includes/portfolio_grid.html | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/_includes/portfolio_grid.html b/_includes/portfolio_grid.html index 9a68467b2..68452cf0f 100644 --- a/_includes/portfolio_grid.html +++ b/_includes/portfolio_grid.html @@ -4,7 +4,7 @@

Carpentry@UiO

- Find all upcoming events and workshops organized and/or supported by Carpentry@UiO. + Carpentry@UiO teaches foundational coding and data science skills to researchers.
@@ -16,7 +16,21 @@

-

{{site.data[site.language].events}}

+

CodeRefinery

+ CodeRefinery offers training opportunities to researchers from Nordic research groups and projects to learn basic-to-advanced research computing skills and become confident in using state-of-the-art tools and practices from modern collaborative software engineering. + CodeRefinery workshops are recommended to those who already attended Carpentries workshops or researchers who write codes (any programming languages) for conducting their research work. +
+ +
+
+

+
+
+
+
+
+
+

StudyGroup@UiO {{site.data[site.language].events}}

{{site.data[site.language].eventsSubheading}}

From 8404ce37c630d25167446f42d860942db9fb6c69 Mon Sep 17 00:00:00 2001 From: Ana Costa <29195893+anacost@users.noreply.github.com> Date: Sun, 25 Aug 2019 19:02:21 +0000 Subject: [PATCH 115/189] removed anacost --- _data/admin.yml | 10 ---------- 1 file changed, 10 deletions(-) diff --git a/_data/admin.yml b/_data/admin.yml index 48452c482..4d7804d24 100644 --- a/_data/admin.yml +++ b/_data/admin.yml @@ -9,16 +9,6 @@ - HPC & Cloud computing - The Carpentries -- name: Ana Costa Conrado - affiliation: University of Oslo - github: anacost - role: Event coordinator - interests: - - Python - - R - - Open Science - - Machine & Deep Learning - - name: Annika Rockenberger affiliation: The University of Oslo Library github: arockenberger From 86742f71e5c398862a529f1f6e3ef07cd44cd8ce Mon Sep 17 00:00:00 2001 From: Anne Fouilloux Date: Tue, 27 Aug 2019 10:59:52 +0200 Subject: [PATCH 116/189] added Instructor's development events --- _posts/2019-09-12-instructors.markdown | 19 +++++++++++++++++++ _posts/2019-10-10-instructors.markdown | 19 +++++++++++++++++++ _posts/2019-11-14-instructors.markdown | 19 +++++++++++++++++++ _posts/2019-12-12-instructors.markdown | 19 +++++++++++++++++++ 4 files changed, 76 insertions(+) create mode 100644 _posts/2019-09-12-instructors.markdown create mode 100644 _posts/2019-10-10-instructors.markdown create mode 100644 _posts/2019-11-14-instructors.markdown create mode 100644 _posts/2019-12-12-instructors.markdown diff --git a/_posts/2019-09-12-instructors.markdown b/_posts/2019-09-12-instructors.markdown new file mode 100644 index 000000000..cf55e2fb6 --- /dev/null +++ b/_posts/2019-09-12-instructors.markdown @@ -0,0 +1,19 @@ +--- +title: Instructor development and discussion on how to teach +text: Engage with local instructors +location: Niels Henrik Abels hus Room 209 +link: https://github.com/uio-carpentry/studyGroup/issues/22 +date: 2019-09-12 +startTime: '16:00' +endTime: '18:00' + +--- + +**Session leader**: Karin Lagesen + +**Topic**: Instructor development and discussion on how to teach + +- **Who**: all Carpentries@UiO instructors +- **When**: 12nd September 2019 +- **Time**: 16:00-18:00 +- **Location**: Niels Henrik Abels hus Room 209 diff --git a/_posts/2019-10-10-instructors.markdown b/_posts/2019-10-10-instructors.markdown new file mode 100644 index 000000000..ce9a8f353 --- /dev/null +++ b/_posts/2019-10-10-instructors.markdown @@ -0,0 +1,19 @@ +--- +title: Instructor development and discussion on how to teach +text: Engage with local instructors +location: Niels Henrik Abels hus Room 209 +link: https://github.com/uio-carpentry/studyGroup/issues/22 +date: 2019-10-10 +startTime: '16:00' +endTime: '18:00' + +--- + +**Session leader**: Karin Lagesen + +**Topic**: Instructor development and discussion on how to teach + +- **Who**: all Carpentries@UiO instructors +- **When**: 10th October 2019 +- **Time**: 16:00-18:00 +- **Location**: Niels Henrik Abels hus Room 209 diff --git a/_posts/2019-11-14-instructors.markdown b/_posts/2019-11-14-instructors.markdown new file mode 100644 index 000000000..3e022751f --- /dev/null +++ b/_posts/2019-11-14-instructors.markdown @@ -0,0 +1,19 @@ +--- +title: Instructor development and discussion on how to teach +text: Engage with local instructors +location: Niels Henrik Abels hus Room 209 +link: https://github.com/uio-carpentry/studyGroup/issues/22 +date: 2019-11-14 +startTime: '16:00' +endTime: '18:00' + +--- + +**Session leader**: Karin Lagesen + +**Topic**: Instructor development and discussion on how to teach + +- **Who**: all Carpentries@UiO instructors +- **When**: 14th November 2019 +- **Time**: 16:00-18:00 +- **Location**: Niels Henrik Abels hus Room 209 diff --git a/_posts/2019-12-12-instructors.markdown b/_posts/2019-12-12-instructors.markdown new file mode 100644 index 000000000..9cd3c5548 --- /dev/null +++ b/_posts/2019-12-12-instructors.markdown @@ -0,0 +1,19 @@ +--- +title: Instructor development and discussion on how to teach +text: Engage with local instructors +location: Niels Henrik Abels hus Room 209 +link: https://github.com/uio-carpentry/studyGroup/issues/22 +date: 2019-12-12 +startTime: '16:00' +endTime: '18:00' + +--- + +**Session leader**: Karin Lagesen + +**Topic**: Instructor development and discussion on how to teach + +- **Who**: all Carpentries@UiO instructors +- **When**: 12nd December 2019 +- **Time**: 16:00-18:00 +- **Location**: Niels Henrik Abels hus Room 209 From 0029e27c14acd629acfb104e385dbe0800ea7e08 Mon Sep 17 00:00:00 2001 From: Annika Rockenberger Date: Tue, 3 Sep 2019 15:09:07 +0200 Subject: [PATCH 117/189] Create good_enough_practices.md --- lessons/good_enough_practices.md | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 lessons/good_enough_practices.md diff --git a/lessons/good_enough_practices.md b/lessons/good_enough_practices.md new file mode 100644 index 000000000..b3894d3fe --- /dev/null +++ b/lessons/good_enough_practices.md @@ -0,0 +1,13 @@ +# Book Club: Good Enough Practice in Scientic Computing + + - **Authors**: Annika Rockenberger + - **Research field**: Research Data Management, Digital Humanities + - **Lesson Topic**: Developing a short hands-on workshop based on Good Enough Practices + +Write up your lesson here! If you're unsure of markdown, feel free to cut and paste your notes verbatim, and we'll help you format them. + +Be sure to include any data or examples you need in this same directory. + +If you'd like to share your lesson with the wider world, consider sending a pull request or opening an issue at Mozilla Science's collection of lessons: https://github.com/mozillascience/studyGroupLessons + + From 7e75d20680698fc50d1b566238bae941854282b2 Mon Sep 17 00:00:00 2001 From: Annika Rockenberger Date: Thu, 5 Sep 2019 21:28:16 +0200 Subject: [PATCH 118/189] Create notes.md --- lessons/best-practices/notes.md | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 lessons/best-practices/notes.md diff --git a/lessons/best-practices/notes.md b/lessons/best-practices/notes.md new file mode 100644 index 000000000..411e75da0 --- /dev/null +++ b/lessons/best-practices/notes.md @@ -0,0 +1,21 @@ +--- +layout: page +title: Good Enough Practices in Scientific Computing - Lesson Development +text: +link: https://github.com/uio-carpentry/studyGroup/issues/10 +visible: true +tags: + # languages + - misc + # levels + - beginner +--- + + + + + - **Authors**: Annika Rockenberger, Tobias Busch, Eve Zeyl Fiskebeck, Tina Visnovska + - **Lesson Topic**: Lesson Development: Make "Good Enough Practices in Scientific Computing" (Wilsen et al. 2017) into a Carpentry-style workshop + - [![License: CC BY 4.0](https://img.shields.io/badge/License-CC%20BY%204.0-lightgrey.svg)](https://creativecommons.org/licenses/by/4.0/) + + [Image]: https://github.com/arockenberger/rdm-handson/blob/master/whiteboard_notes_rdm-handson-dev.JPG "Notes taken during discussion" From ba7142dbf638fe7f9eb98d2061588b0e07dc9d83 Mon Sep 17 00:00:00 2001 From: Annika Rockenberger Date: Thu, 5 Sep 2019 21:29:21 +0200 Subject: [PATCH 119/189] Update notes.md --- lessons/best-practices/notes.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lessons/best-practices/notes.md b/lessons/best-practices/notes.md index 411e75da0..7c8254135 100644 --- a/lessons/best-practices/notes.md +++ b/lessons/best-practices/notes.md @@ -18,4 +18,4 @@ tags: - **Lesson Topic**: Lesson Development: Make "Good Enough Practices in Scientific Computing" (Wilsen et al. 2017) into a Carpentry-style workshop - [![License: CC BY 4.0](https://img.shields.io/badge/License-CC%20BY%204.0-lightgrey.svg)](https://creativecommons.org/licenses/by/4.0/) - [Image]: https://github.com/arockenberger/rdm-handson/blob/master/whiteboard_notes_rdm-handson-dev.JPG "Notes taken during discussion" + ![Notes taken during discussion](https://github.com/arockenberger/rdm-handson/blob/master/whiteboard_notes_rdm-handson-dev.JPG) From ad3eafe6eab06cacd701844f6744d3dd153afec9 Mon Sep 17 00:00:00 2001 From: Annika Rockenberger Date: Thu, 5 Sep 2019 21:30:55 +0200 Subject: [PATCH 120/189] Added correct link to Issue --- lessons/best-practices/notes.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lessons/best-practices/notes.md b/lessons/best-practices/notes.md index 7c8254135..7438328e8 100644 --- a/lessons/best-practices/notes.md +++ b/lessons/best-practices/notes.md @@ -2,7 +2,7 @@ layout: page title: Good Enough Practices in Scientific Computing - Lesson Development text: -link: https://github.com/uio-carpentry/studyGroup/issues/10 +link: https://github.com/uio-carpentry/studyGroup/issues/42 visible: true tags: # languages From 67197e033d7b9df6dcd29161593f300f044ff870 Mon Sep 17 00:00:00 2001 From: Annika Rockenberger Date: Thu, 5 Sep 2019 21:34:26 +0200 Subject: [PATCH 121/189] Add files via upload --- .../whiteboard_notes_rdm-handson-dev.JPG | Bin 0 -> 1441606 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 lessons/best-practices/whiteboard_notes_rdm-handson-dev.JPG diff --git a/lessons/best-practices/whiteboard_notes_rdm-handson-dev.JPG b/lessons/best-practices/whiteboard_notes_rdm-handson-dev.JPG new file mode 100644 index 0000000000000000000000000000000000000000..2921c67ecaadd3f20b5db1f8383f54651468ae7e GIT binary patch literal 1441606 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�+B6(t4)QL;PFKg z`b%#3U_0AFJU425lXYUE;mg>Z&Oi-+62Fmy&$m9WgN#N)EpZ+z%FW8={wcuHxi9k9 z+oy|Rcn0XNY}H5Kqu3h16upmT7L8nm)X^89Errwe4ac_ao6La_VMbL*P;Nhaa?q?P zcEjTjXVCK3NuHW2-#hDaohY5q>GGM^M-pM-$7ilF)10a;VvD0^L5pxqdg~XPfEB-W zvi|_}=uk!Vy~P84gxHu(M=L_=tZij<)OD5kljSOv22$CR$-Lq}0Efg6Eo+&cTj^L= zO#pAqjob0n>WyXd==YgMr3~`eh~`8f-5CxV+Jz1pIXORvqUmrq4w|W1kNxkg!Ta*M zj6`LHE3-{IoLr_m5*HscWhQ-TxPpB4;mwF_N2rYR#+P!TxFP?3Ji2{wLZB2Nrl;kx zYfT_Y{y`)W@9wB2Hg}jb_?3R3J(0x%VYlT)yPiSMejF!}k??7Y=W7tGhge z8HXuoO!7vHCm7A6><*L7J92yap)A2X0o^}cbwp}H@GRV ze{fR^ne5Jaj&27h4}Nuu4Nxuz|A{meC``TjfVPlu5I_A4V#(C!GDm}PjKcEPBF#h} zCP>j;8QIDMy7$nKqjku(=%e5J;uc(EjYho+rHMAb$Dz`g~Cd zM=nTDw(tAR7+^%qREiCwiYW;fF78VwQw4)$v{# z((++oo#R$QXl^znO&bj>cwVJ4h}~Hx#|N1tw-YhV%gJD4yOF@7u7i@FN_~6O}PG6A;Nbt zyDX0l0bDNuC%Z-D;pYOb#9kM|YpQ=aPP&Y32F@@oI&);qV1)ZB66x@2$q%Q-BXl2j zE?d+e_;`kpVmWrBn!f~|6Di&5-+y>>SX?0gF40y~HXNf_%+mal{TaGA0Z`4W3EH}v ziu9Ip-Wc!S-pSb^4?QYPzIf`;-Lmqc+Il!QF`DXZ4)~|vt=N{yU2`V46CD!RpZ$-& znZ|7Wsqt&){5N(1-6gmY%VT|suJgrnCN+8Bl;|)Pbm!R+T}f;EpB1=v(wa>em+)bt z7SxDuZ8Fe{yF4W7>bfo>iVD~(L+cHHIX~d<}Z)MQThy7u>P5wip?LSRKpAqEtB5uzp{OVDn zZgLzgTdSVPaEjg>dX=WnR$^(SxGaxb;Rb0>z(w!xfjLZC8Y|&M-)L(w=#%yQUmsJO zK!)QRm>$au=jcSg-M1UI>U%YOAgnxZ%s8nmRoW(91Y@VF<2?`8eGM3*sn+#4HI z%WWRZm)M?j)XZZ6Dy*)1u^8%(g6+8!<=@*Tr>=HXjRMf_8Z)Zfv)56{8A6KtJG~!2 zO$uF3`UQEqKM|{@u(tf_g?QMolvcwlXOHL>0^^N4A4?j$dDBFddI||@xI21tZ~;AH z_jDYjs>|?!3DIbSzb^qic4LJ6aTP8YFtJPVDa;l<2}p(Pp#Lr(KQ{>E#U6X~s+BQ0 zM)!oa25?@)$)84ZL|e~0Lbr6MEgQ#rNo2=&c|AmHaQLwD#nV5u*DiAFh8K`KS!Z)o zw<(%8I76+^G|W0#>~%i81qIgNiQVhOO5iufX)zyGs1meC!RS`cZ?scSR8lJPUumz* z0=CJn$;X%UeQdi50wMC25t zq;mJ|W}sfKNu2h-T94O|&r1yDpuwY*M7a%91SuSxo84)Z4y_4~(l1zTG-HM7$A7HD zz7Sh14gSGa`bq1a(~9BHGzAk^VFXGEV@aOc(OEya>|n=~L?R}JA&N$G3uz$K>KS!B zrO)L0?f3n!1Zo&rttv%H6ba9!(CZ6u0ZQaqIG)Nn|E)6l7Dp$66&;+5pX>_%A{P;K zp$PvqC}T_gY|Zq|1k?q8$#jDTBc}x`R9WS@70dWtF3(uWO`MYz!t7@Oot`MaaF4Kg ztV=Le*b5@VR-e$g66{)Q(a4_!ux0_wX#;mW#Kd4S?#g)E)R6S5#ma7x`>b?tp zV5-7==jBN0)L{cR)zpP=kS%;+S9aR5*zvZ+Iyp3zFG+}Tn@SRKBV^YssagMZaQ*$y zfn2ktNBeh_>CHRm73T~BjYkRxCy7f(F-Q>YbHhQs>?*A@080GXzW-+DrN`fE(xst1 z5KrAF4|0ENx(PZU8qxW2rVg(n0(X5t3bxmCncqP|kL??K@8U8X60at|6?1)D+auxF z&}|-Zm-l|P#yvl?JiBR~~rfjNV-ZH2=18IdA z!F^+<`7~PCcJDqx_}!4Nl~gQIjKm3`N11T+S9-JRb(op-`q?&$1ybx+<@NIjuzp>s zOu!wE53iPMaCTif`x`)Ei5YbIzNW{`wDaq5I%g<0`(z zEvw3py-)`88jARFuJ2R@iZ!RZIIRGmw$iD&>&69XZOz63;&?BUjF{Ww>glC*kYVtBZ!MLBE5k0UX9jp- z|CmL$MBb$s8XDrSea=(QuOVjR7Ly_!4s=#*N$c2Y(<*osYssj6ejA@qnkz%TLzLS- zgY<>cwv=n|;JOgn`K$75v$G11kpIg%pQ%X&Z>!hoxyuQ6CaQwzJxkGs@rA0Yw_@(9 zBu|1tO97vZYWEb0FPN+GqEu3jU(;Q%p~GBZoK(ryJ|Ih*ykd+tiv~?XEo~AZ-*N(m zDo2Ja;FffTSXG53w8^el76x)~uIBC$iTNoHQ(V&%FJCjk(d(Izr@+kRxz#t4*;f{p z=GW=>-5ZdHPMGq>v$K5(4q{iO_ZTq5kRu0(UKDJM#;i&HwR;CXn5i-II8>o0LChJ! z)U_p_NMbT1#bxb{^B%%u{K{y&DtGy|!TA`dvq}u@+af(Jn#?Tb7ZMh?xOhE>8h}84 z4KpHp*x^iN#x;bUN-d|9d`G#HT?UY2uhtb-!_Q~?Ib4HFzSB-}z#uic9%H7Mw!BKX z_*v%6qk@Bm8ipYApSS-3_RF-0?X{c+%X#%QT6YtD*XPp73lXUm)=nZ3!i2luG|I?F zzmpb~-MOlmDpr2>Bv;qKT%VmM^xcfz%pr6zai^2S6QK(F^Uae$bcRiwS5ElpUEY;?8_0l^Dy8N2bQ{8#oE6LN{NGBm>i zoU=p*l7XxR8+lK2Uz7`yKcHh{BgMeFBCN847;lW;PCJDMyA*YI3H9~ew8DZfQLGQ1 zMMH{4F_L~i-KwI{A7jKBX*T<}hy_$V{;!WAHpZ5+ctvG9a{mpLwG4Fx52R%pOl3A? zZvaS7R7eoj@)fZ9=_Q(UB#25{@<6zYML!abEST|(5SGz z(X_32j|D46t4n#6w9@fq+4y5vD>2+`M~VuQWZlGygy0NtkXhTYWb4pTk=| z^_iT8X~7XK@ab;WjU@{x|YiG#FhyH?a%-V0Hautqui$wmmb!`skXoy5Rr z7H6=sRg&R74J$;$;JS9w+bNXXTSY0{LfE9=G*QEB$|TWtIh9d^ZWV`xTp-SNm6bn5P`NhuDjW@A)&QTjv@8V4bHi^@R)%OG=Ayrq3)PK=&SDC+=fV|vt~&WX}lb-y%lS!Ge}-I}4l84Ag0(Ix#oRF_&3AD2f2AkJ$tN%iJBK4eJ8 zt;5M-*)UCV#!X>_CCR5+{bLa+`$Q2yHt%9U{}m9kD@mN_Qzp+wI2j3AMjMP}_^iXY zz;GaL_Y9ZuN}E0xiP_?zJd+0b;V>;hjUD`1q!W}P z?T1fY%_dwDOEzK8t6MFS*=aWiAVSHmUL4B0N}91^Y9FeY#}A?xujsUnnPRq#J`Kr5 z#lb@96hjE(ak$Rcyo%qxf&%YyaBQ<1cpS<_Lf1;)h5_wujbf=Ji(CyzGknKzlTiQdsGYoWeatZSu1^lDD145{B3->-oR`7#yNhw!gK)&e6-gmr=wzI*`^;A- z8C&1YH|nOZo|f{5A_a!?m!A>6nko=!rwPP>#07qW?si!`R^*Jn#!TyMHq1~QqhY~U z{9Z;N=|m{I5%Y)W!8S+M?rD#ILmBdK=CMG!YNtR(vSsjyzkLPNEI{y6Jad3<9J4)A zi>@@LZ-${MXIY=?l;RhNGKFk9%MuI0QPyhPG$3H!luRWAo0N4Aod{G`{rpg$Gob85 zJyyvj@!ThjB95}DKE!~>!rJ_jg=1~SYg)Mj~za|+qt-&oOGrL>t#VdPqw1`OI6~x z1oi`5W>#v_k!Im}mj{{kcS&L|7b8c7izI)7qDPx1`Lnh?aclp1Onf+YuBo}$QLdyk zjs>$i@#VQG3>ai%8ZXOEcW1ctJ1(p6`OpnEDHwyBcWr(ft?-vcF4cKqp@c^!T@gI! zJx{~G#^=@W_g_^I^VKs7l;fWw)$}EMOdfHG6n8h9TddmB+@#{3Ox#;YC5M9GBFi(* zP8)XI`8lvA9vOr-w<|*7chCAm=RwIJhkIL&l0%@+TPgw7ozwIuSw@><*Ir5#B+g?0 zn#^GD++Y-%Fu4Oh#%RT8QR5GjV{SkhtExu}!k~P<#R=r}<|&wxMqzwl8uS)y_h&)3 zZ2Sm=j;zm@FqL)Q#GFqaQ}$yQB5k<2E6YVDtM}>pc_PtB)U!lhZYaN#v%+o zY=0Zo!r6J~K{R3L;ZmD%XO)QGW5s;j(g>$vctc{A8S1>61ci(7oc*P84=*5~$K!aR zjp_|L%|!yKqJuO)_PaU_GD!akTgaeUaE^HAVpkiC-@s1sbo-QA$Pqf5`EX~TPPJpLRUQYVSt=Y zzs$SmCPQhcg0j6;S5palv&SYKvDn;Q2V5`pB?L4pIA=cpqtpkL48aWIUQF~*`dIBw z$9A4Bxu9mL4=yz*k^RC;Nb_r3yodiaZR^E#jgp+F$8&^f{uOAxXOI)stZwY`E6Y;? zn&(2m6iOfB15r0@F-@_oh()dHd`MxRE@#XNfs5&+^xf1YhrnM+B`WGRX)m9)eih>x zT!T|_S!8S_Ch_TlM`%1Ibdq#F;%Z>hxjcLH(<#ZRugPsKG9M8>m}QwM{)>ZiYe_`^ zyd`zp6B=Xab5%$~sN&|k*@O|X$*YJfHM}Y=XFnF5LLU2KoZ1O*$j=*dli6{EC7`o4Qa!BfDMSdhmH&e zb3~;$RtmHkwO)uNj)w#EgHof3%@Zb{VZqPOYMGq#A7HXuMndqN>ZhYLA*Sp?&E_uo zi2%?hlU5Vy5MJDuRu@CqFglQMb_(nazabK7p;rC+R~Bx7MxBH~y%EQd63(Ug8o8Ur z45QcSeNC!@`*6(30C!(B+$l8vC%R#Xk19SbT&zCf-@gS;G*<`t1uZpG2WaQ5cDjW5}~i_?7$iJfxFe_a_|B;{4a;*G#fQE7FC663!QZN_>z3+iJ#G6 zT$Ww>zoaR zsYtECbr91@=e|ZOr~}pHz~u~{aKz~#a^)-@98b&!NHTsu8Hj7&fqu8tQ72$Meou|}ardp)&?3kz zKHKoV1LF7j?AIW!14^}xtad%dwTIqjPoCT=p?@YpKWZ$l^Y5#dX2!GVJ^$7Y;8cHM zCHx2|T+IXxbMr0xfMDlsOU0#FosE>(`^yR*nn`%6w%O(Kh@?UG7ze*-%!KjyKh930 z+lfWVce<1C#_xmO*q+)c2{kq2ibz-5T%%3zJgpkhj&`3(*2m5hv z_T-mR8N7{d&w#Eg2=N2B9QU+g8Ugi~_J={(x_5PBs$&gTjdb{qGD+_Uc$G)^8p(7i zu`HS!WXH=WA|A^d@{(1ZoG?@i09?l<>NKvn!n2rlWDrY@;0sg$WVRYBT!{HrD-`S{ z>rxc!s87%LAM6>FSo|y{lDY|s?B)mve)Vm$^z#u-_Tif}tuyH|@W=b4VD?ANCXF79 zC7ZL|ZZ01nwg(Ifz{N6h~?zbVeVgzR%iRfM+2_)I@QfzQ!Guc@%HDc zFM7e}5XNJd-@aJjbwAf!`%6PsmN@MZby8OR%0-r>pzg`em|%RdHl(JC-9}bb9S1|= zR(0+mf)S!sWprLeHW=S75T8Yoxv@Yf$G%S!H3qr;7I$1#QN^t)RkcWMwVwH+|= zpNm62hw&{xzDB1Wy1`q&Lh{SNJxew(*EB6E*~tshTFEzP-V`Bns0}GrcXzCSR;-@L&hhOM|Lw zZ>ptJhHk;-mh|zRVeFliW)X+Uy06rXV%KeGIb`P2F6*qBaeQE~O7=fI$CK$4*cz!H)x(BSVeK$+4almCP>Gh`G%k$k#o60Rg>{;frzrqx*rj_Gc&inYsZB zbzy+UoF~h*j5TghZRtJ3gAJr5`BKyL%QatknSD|)No&^O9WUr!yh^^h&>r9wX8MSY z4xT>PH-=FPaw+V*!PAyo70zL^#F+-v7A6k$zJDU&rHrJr6bD(4WT1 zt&Kxwa$)Y-(90hdT|_5Osk`=cR-wgb>KSR`zgAZT z*m0LqO0MtWmzW*RGP9fw4J3L$66t#|v)wery zCxgf`6`anL%37h>oi3L^!XMA})c^P>8Pm2lD&e+%q}%53XX(l*Gf|j7=jx0D(w=4WeW5 zS?X zNvXbq-)-j1Hdxg@SvAV37h`mwyN`lD`;jeaC`!Tb!W!#UAhs?Vj0Q&C>GF$XKGwa! zV?mejpQ^h#iRVwe zqsTv5^};e%PFCg1{P|aU12`{>!<0kihL?chOR;mDHVWFQXX>t#M5cZXHh=KJwNl!* zwSA>^70qOv8VOPsUR!hz{)-~5s|6nopVib9NtW&y|9V2BhQ$^&*9U<8P5=Jz8sRvt zClNtX&1?@i-+UFOCt@xCJ(t}FDHWXdVWu!886=55%aJIIz|oftCNr2_o$NmOb@`%u z;$zogmUflZyf9Az@4+O8l9S5*MSL2A$EvK#{2(qn)R{6idtAi@$5{L`t#C;Tc#9t4 zDhZ){T8i6wpgkq0v^ux6z4Pi7yuIGYCgJ9?B;y!#s}ee$twAeR9(f+~J4E5J9W3a< z^J7kr(-Fw18)~jW4UN6rGjZO4hdhza9GX*ob{PAlz1klkEA9rE#26A=ERXCTOrcVB z-#xu`G*Xsf{TDD4Z0>GDhOMK7Yg@a!G>_V z*1q%vy=XccH!vd5j+9c91E7F{Gix_WKNe44FAMy|cyX5dT6q1mch5Lse9p9^#$7C` zBR=*C*I-%hRO5#*rS*&F#7neIiAf?B-EYYiTH;fhjyI6p(@(TFy0Y`@3m%oK%tx35 z#`?A1gtE`Xs4gyajOesbW!K2pw4b&2-I*MTykGwaH2D@PSK4_tB0T0hl{7!Qw~Wt3_OCdw12!4>== zw64MZ1TolV!cKBu zXn!Gtp+k=lcSuS%|Ga($uG;o|HzjU2vXFw9t3x=v^q{7)jA+wXy?QvP4in%bF1j2R z9Jad;nh7t3p##-v< z>@8+$;S-F*0_H|+^kx{DoeekyYuPxuUyhu>^kwBL0Ik=t3vO02B&uL^zG+Wu-mO18 zi)uOno0>mMTe!=5^m^i1N_s?yE-H!lZk|5K0>~s|n&?tfm>eE6PE*ISBkB^2p_4uo zOy{?)88yDvqba*_gD<@TquJK@Xh>`?CHvKjhtSM5amg(6#>>|D-8ec{Vv6vuWD~sR zF4OmLDBTG5=*w9z2c0rRWRHJ|Sd$#y#>~Utu6SJVyCG`O(F==m?hvjf$I~)%q;{PW zoA>aUYe^>tH65AAEmSM2?S!sko+1dv9Y#@d4LWXEDDeVlT~|$}8=!7l>#k3Ygtw+Zox#3K561f3%9= zv-BC1P@g?esFP(OIt`V-vD*X)ZLe(Qh%W9-<|QuofkKx}^ybrpNkh*T_x=M6!gQZN zY3)=mcGf@8ySau169ltAtj!6u|N56chNa3rm{?8&!gEK!plI|TvU-$#kbJx7E;rlt z1?5~d1;`)D{ZqQXMT7i8xMx6q#d!5yg}PRF%szCMyWng~9`L!8ayQ?Y)Fr9PHA@(a z-n-^@bMK%+ECx(9^^ZS}L}jN~mwg{IM08FT&(U!~T50$Q1B}YyXrzOr;$mCX(PVAq zqq!hH&gyzoDc`2j36(I;P??)g)ANykCcT^2I_0CTF zTXZU-2{4SBhNE>wj62}A8nn#OACwD;Wc+;8(GtQ&yF&{^O6jTc^$i^sc2P1jn40H6 z0?CU<+|vgWQD?XYPJe-f{p3t-tqD?5m054{$HZQGWMR#WXF*Lmd4ifFETQCP7U zCQi^d#o*=Fnkzr71hbA=pMdi(T^odiYMb>o)qHw~X$MqIFyM#0CsnjR*T(4Si8Uzb zQLC81O$U7E<;snHf)xYP)i=fkTt$y>%t($iZ)Kvx=X3Lhh_vlS1J$y)_gBB8;Tw)| zt%9e?PYY|{h==Cs;}j$Tos!nd;ZsZ2J)wQvpToku<%qOd=_D_y>-ULSewfKoAzoU%jPe#EatzhfmU-ygmr~)$fa2*JJ%hH;zKc+|JVD_gh2z z(n-Apz_yk9NEu69v&%Cm4Zz_9J)5~gcbc{{JWow>8G#TnA$Ov&ap}GE6tp53M>*gG+JVYdoKk;b9K7TuXEnBzl5>-tq1g-RH2`hLU9=iqHZl8 zIEHHcf~>nSU;hViR0Y5PSw+XyNfKhB*Ab#bKnzkDpmA~I&$Zu1!X1t&ev@_g8??Rt ztyV8b_m=S4xP}d|3D>?b#`$0E-KXvh$WPMoj4=?_;|UNoQ;>AGMsnY3={1S}{k5u- zio2+YlPE0aw9b3E z52(c=}U@ z&CR#<7h(#``86wsBx$0%07!{s#mMQ{hI+GO7gK{TA<^i@9LZm)fnfg1Q%l1?ZOS4% z{btwZd*^0U1%F5`+e1ox@+0~n9WmR8B~E_TAlUKNaqH173LdA`a(a!3 zIwsS4_Ynk+8o-0cOAPx8Q7 zLHwa%0w}CbQj1sIrO5IW^tG{ab#_VZ-_)N2G;X+XWBEg}@?3_hRCZ#D7WyTq$vfraKG~YYoUk&mAfWmhG90_W1Yu`+q zw7bhwbSa0QO&o~ts?DBCI-g1-$Wjk?M8ciGTXL3_r202O zAd4RGnuiYH(n1o7)eXBs4r#6jzkL5w)uzx?-YD#SG&?a+r;ji&9%}~qrVswPS-o-j z#_!0(;;sC8H%wu))5z?n(2~M*p$ZvmNZ+Tcnq8@5Q$oxr5;8EtDGi zPPOe6?BonyuV>D7%!*C*?!DG#4>s~&MA3Hl{s)M5|9qtRBlZD@V21u|$V|zS(Vxti z<$)CvL(%eklXjkZ|KVDCJ|b4FG?-sSlMQ$of!Oo z=z7bbw%$K{GiZvY6ez(hIHgFTK?C%Qmg0dHFD}L10~Bcr!L?{{cP&~Rin~jYqQ#4M z^ZW14zS@0pW-^nUOx~Q6^E{vXzAj36$H{u;hm3na)=v+KK;r~Q>SG0*d;bzcJ%3Bb z%Mb41>%M;f01ddYE3_HLIy7Z9Bst$}Od{|VM@4bt2m3K4Y4!N49{8ZQL8Bwzaw8^L zE_RmuknZOwa1NP%VYZrWe>RA-7DMo0YaM9$hl+iRrni8c!!u?{6<-F}1XKR0mHT4L zvyW184RL88llp656JeSE6GG6IZCg2I)kC6=-p_eXlQ!AC>M0Y#os^6RpcTyOzmiOen@OHLp$u3}d5BWo9V+a9WJ`d2D}VMMF8&>z zOn=TQ>x-N4~ZmDL;9X6sM@t1`+ja7yfNna@wi<%KCoHZy>;Ithj8Ioj&}~Y9p|y8z1tLHAe)Amyr*lwk zcSJ*q`}AW}CcUk7f++70Apm^85`NI@zsnH2QN&{X;zFOlnK!>2?MD~rwG-YrWfnd3 zRizHah7-*!JyroIx&7r!eaGc))md{O1!*GMwr!-fbmQTbyCD=nXwzAZr`0}0p}!Wr z7F=6a80~IQRg#qM3#8LsdYh}48u@*Z&EbP`_WJFuvms@BZs~ViDhQ&D6wtp8+|#{G zx%khQV2ZOCboMXRVuOx(4rVRlo|DiA)xnWrL2AV^UoJu7k)JoV^z{Q!i{7O z33Ezx=2}W+>kG_A2o?$dyY3{-g@c1weSv+d7k?|LJJwYKQ_C!(wijsn;(Tk*Z>QEf zdR;xQ3Ql5C@}?iY7!JokB>{T#JQPUDR$;M z;9>0f2Z(w{Bkvsd&hm6doW|cM^_2S__d3Hb*S#Jo`<|p+Y7T;G(q;n4i;7AmLIP{& zqGetReqh0e55)YidRXHn_C3DmIey7a=PB&`jOlBy<>}O+wo~20sb0WnfCzNO+w!%$ z1@Tg#3?>Yf+6w2fMC&8L0x^S6Ui`S02P1$6mzDKqWM=tBksKBk-sqAG5!5r{>$J5i z+nFTU#+FGnM~+{^SMJ1x=~!{{V!M)d)&akgYFagiHwn(Ny6Eei!#J{6k~$d>0m4_R z?!z|;GD2>)`oZ_pEXNr&6mEFo z#>Io>rN#&;qH3q{y)$t+IuvPJEsn0ebH z{xvt#b4d~^M-?HngGjX0r2{M^fa1$vOlYBxe<_(&Tq?EFcQG7ugVGCD^^%x=ORHn3 zaOrg=0dJ@F@;2Oht~5BHNx^+O&WXcNKXN_SE#?q!flFZa36iyg^-(318klYci}Ecf z_O#DmeCz8Ro#2<-EQzShsHeRvcQ`hb-O4z2DV^rN!uie90pgDHjF0{%=UjAogV~tz)^yv+G;1M1th8U$vO2M2blcg>5yM1@6c;YK?N zdnJm@RpODe3yqx;>zYq6*NAYTKzVFJg9bB3#v<{dz(wxULjvcRo>L?Sh|VzW`aROw zwoP#}=7VgTPD2m zWg@lwC@(3rIBry!8PR#G)6}RA*q2IVigInF(>Qv1Lu}co;v|(21a_nMnLUsP%1oxQ z?h7c?%M6%#zwGn3)ec3u@Vv_&W64(pK`Cxx`PiOpn07KGawIHplGxoylR{qwKgG9k z&8`vb;p0+auS06dZcY4x$9~)DI8eJ|MLVzW=35{2@6JXQNVj|!VcA7mrdWc^^uSJPi0Z{6fVR!2vMbc}Pt(<4HW;EA07?_*m6TWQaUFR6>i=tZ-!#WkF^xXZkc z)aJ#objSc>dhkfI%;2x_LjzPHk=oy6_9pX|rYL@pI&n6CrEQc1Z79N}cjIiGM6&c8 zft8fjywa@wI59TuMpJzxYEex9XXPR2qL9vWX6iqxPn1U9)nQHM0fN$g@#+dh`f5jH zYyXfrc-u(NBm0oj*?KX81ys>aVXcSJt&f|_QjktVEM#uJ3|pl;N#X-G^O$J#05-fx z6`w3UPg@maMtw)B;u-cx`b-s<&Sq%+vK0NlU+Dp~L-G~W=sB_9{fzqg9at}hVB5D* z819u9l-!%fl9I#SOqIibvCJj?KL(ol_!~1s?+f8?6wT;Y#CqIfaR|ZyIeAqs+jt?y z*vX_6v8iZf6}<0A&L%v*cWe|>SW8jt@7O4%p^SR4m4ZnW2>_a|=}<5s^E#G|Vq$GE zWR#O=z@6(r#i(wdkkCmoN+eC~qaNUqi|YsGM7hocMwz!G@_AD=)=i*XmhZq<^_G6Q zXIw-+TGrX3@^l`#?CCnzS$d-MBy3F9-eb1!3gX!# z)5dkoei!X66+ztjqltzx3D43!;U05#Nw7}?zu+jxvT%>35C!B^#2do>o zakQovV?uYp^HbDTuDk(jGzE$#i0P{~Im`Rm{Cj34NeJY=*Lxb?vntU`-+E2(|Dm|4>_d zQWl#&rO(`N7O+;hp$jzrS)xzMy^5!~0)FeF7ZnDgWD{?JYdH2T9Uh{59sHt8zzFfDa&t8J$LMji}Oks^BZ857Fs5oqpy*v zWKkha-2Vrlx}HO?Jq%1e%*w8zjo?o!*^bBZy6D9xiP2FwgZ<0trBrC zq?>gJ0MZi4&stKv8YnI2pUUs8j8Vy6p00(WT{lMX-DBJBcoPp5GAb4mWsPj`+?i95ZH`QMHcNuxK&?^M${dzlyDTitye{ z@Sm*=kOajPpC)Xi`4Y&G&Ihq7y z^-VpAGy2gh$awPYK-5N7AAf<`ajrb$2^%D!e!F3~#i2DY)F-Q7-tsihgh8&v>L9-H zqLLR;&BV1AePBe7A(Fu{M6y{NN97ti((lCuUW28XA6P?Fajd4-YQ-OS_5C}}Rst_5 zg)iS!JN{U0*M3N44Xm}pSEW-a>0WqicEQqK#>(Cv21SZTr;lH{L5UTE8R*z53)Nn2Q^U z5?C#N_bNa-iaG{?T?_={fCo$eioEvh+f}Dhel#!pB@mOBj_7nN*__ph9!dz8bv--r zHr_UdA7>?Vp8bAnA(G=Mj7oGci6V|D8yRG36zwm9#2eOMRNHtY)!1@7?1U-VH+)q5 zib?S_K|A+d4U)oh^%^=XoO#bWlYT)g0Q{ex5;BCxW;!_=y07H!zbqccEG&drou!fh84X_Zr9+|%-z$|o@_&29d_Qz8Cl zP;)RPqzDY&7cI|y5g;#E;M!upjJvwHq9nA^Hu03Z*v*0(3~><^?e$m`Ts1Ztid*Cz zA?BT|4LD@!N4RFSt{^Td1lKg)z3y=uGf_w*JtKUsW8Bis8hHhrZ4*-aSY+3zdwLVR zx((4$SAE^G?mCYUN}Kh)kI4Jl;Mst^c-$+|9bt%O}Y4*+);YV*&SmNEJ=X^>NKv!kykuc5>5qFIcjNzowhjC8e`pR1!En zCopa@F#Mvo=XuG*i)^rFfPZrr#04sKvzsu_QnZ{_=F40MOTuemh1}m8OAf074|WwHz9OTfi`y4rWTjYf81vrD zdl6MI;zMA$d%x>gk^6IE9YI=@Jda8*Fts&_SYYgvKaUu({z6@BktwLK+yDR|B6gtu z?K@p7a>Z^K?t&FFvZo=G_x!J1jW!*z86C=IB930S63SAu{iJFrNAV^?@_gi7usDsy zU-=5@0r0J}EZ(XyQ6{O6TiKGg7d5W=8a*nb@KFYsJIXZ^5gCz0kzR9cn5RPBaQg&kRR!%HwtaH8xhuxITZ=0wu^$XG}R}^4V;= z+mOmAGE~5iFDhz4_L6-}HDmfT2<84E(+PME%xukU^+engRCtYPzHfzDI_|t_60{oD z_<>v3#4UMdcR{sbe7M@;gR|KtR~UPh#e&aWq{tTJg!7aDK;P-SXAGw~MS4ofSzOxw zj@=+-Zorc925{Kbgqlrb+HyB()5gRjSLx-QDQ{`T5;^G1V~0SWe0JK;jDy-qGKVeJ zvcwsaZDQO1Y`)WT3<|)tPeEBA?F{NO{;&H1(IiY}L^1S|Fl#DQj;O6@!vBNS64?1{ZsjQxxrM;BS;IH!a~O|1;Gl_h!?R}|(} zn}#vCz>2eI6S(|he718o6+6r?gfT#oLxMzA4&&2p&l3&+j`(Z+mmm+Mo9=&b`=@e>>iFc z@$NA>$)K6=aM7ZB#x~ZU+oK7R0f(Icv%;I*)zg2ycw?IH zbU8g4RqM0Sgf|1|?GjeWx0bC!`*=8+A(MIVQBvmvS?3=fP-;qtSH?AY2*msKnFdIi z+;hqSI?IY&hVXpp9JP9t5*fm_ef$pvs4#@j6i`c=id6!~_~qk*Yn?IfpN358hSDJdlQl8_IeRSYW#LkKw1_)n7y)dk)uQ=oV)^cNRk9&z0rMoO zbYH8+WTK4-*k|(PWJFMef1lGpx6NPdA)DF+;4#i=H5o#N_@8FN5o#)|n5Mno+*W4Q zTd!Qb#2TVigU7c*MUU{?@f4ABt4D7|7{6SA;=YW2kKWdV!xGy)nxmHW=;KXs<@ceC zUDoqs?rSDHeZW(~bmDf9Ugal6uq1aUHAcsBsj+na@oZY+V`>TmjB&P&C!Db87r7H_B@niyTdkI}G2s5Q ziXnSW?xbODlu_$&nAAlfHjPH0^0|{w+H11n(q}$0Bi! zq9yzMxsIrzl3b>EAV586*!?i`@@6Yg`Rs?rWE;n3_n%q&@xWmyIZVg$ zF>%+~UGJ8gvHQz8H2H3UDj^h(+2o|rihO)E^KRbgrdUUEGU4&%W4*@ED^IEV48K4R zP@7FC)YNCzew{(%av(diSCR|PZjue~hF(_mF?`nLDX9FTe^Svfmo*xU3RhffLqG{J zH+wDIped5S$>pvzAD<3jayJrlYD7R{z#@nOJnXX4zH!dgIks(<+MO-YFJUxdNS*x?kOu=q|XI$-)GvY#tqB z?*x>v42o%@kkT=156(ng}lrDx$=#4wDA9gQ$lcqxwd%8TT?XD zF>F|fpmk^?bQE=I#yJkf&H9DDsNl+purhmE9p@3!wcAndkqKDz)5puR&GGoNGPU!` z3N}=c{;Q-AynJi9j2GqNNjIA(4t_ckGF$wHn^R!$Oh7^>xX1$66(y#dmruTR8>Q}z zdm_o*hJKwEq&nLVJ<#cXHWWg4Ij~b?Fi4{^wDp{!74FLSQ%!3?!lmOCVWh$zCG;F+ zhIuxVri<5sZmY?NVIIOXWKUG7$}cUO5^2TKe;P$Ka5 zfD{+6O0i$H=^tRc)aqBLDb|*{F6uqwwsr}G?`=}~(lcym`A7;+NBSIe&O?JcsVUS& zd?5FBHpHv;=eBf~Ze3(wwmqLv=Wc9TD*QiRQF=jkGw9BD3$troiU5{thDF&LFVrYI zoh#?=v|ELp#`W$=mg+~6e}J!U*A|edFn5xhXCzif&z1v56)O6gSsym^lp}aL12?|6 z6E8-cU6;&sKJMxCNp^LXxIE6R;pTFioMJEIIi`H4VvX-w1W;x*d?}pS_mE1`O84tD zTdWWn?>yee^V3;tlb{=6XL7Qn z|B+&W_kMtH&wCjbCHoJ#J*-y8ON0pEqX3CmRAvuoS6x*m7F$vFXp3x)V>fgYNGDC%{hjDtP`jh;N5;5S781W?}kQ?Q-=3FMMF#bTE z;w_hCz>FjDmokXA&tyAdKDPq;CwjC))Ev_x2>JjeU<@UeIc*$m(d?h+bP80Lv`fjl zx|?PrJ@vAjsxz(9o&t%Y$-jcVd6~D;dS5@d{L~yh*-q5<&?Nlf zxprgKl<8UYuYhS(w^S}GaH+E1`{?gc<)(t1*YPV~^=;KXA{Yb>Hf#eK2;A!OmKN5C z=Y*!-sw<5_VQlp^cEbS)wGyeRjACLt27iiRC7fkYzFW!YY;{7_ zsJ_tOBgkiw`=`>seIHHhiLV}2+i_12g6cSyE zMlRGr`*NbJE*w7EP9{sykCm6LHwIRHSXmKCx8&WwAtT% zVC9v6N{PJh*)rh54A##%+)u-MJyjvT`kvyosoA7n7rX(+ovzx(o2t#M7QCNw3E!7W zNZDcc#0NV8a8Cf8zqv{heM&+5&W~odW*raNkEHYM!yOd!@`{XHsjB|B!N868pgR>m zP=t4!SIxBj7;^|84Esst&MoWJIW?aEeqRJ*dRZxR1QFKHW`Bt}5sopT> zz>08_2ha5u&b8KVk#JD{tjZ&D`=LyV5Ezr;_O>ykUKKjV7A8$OV)(egh}&Jc;4TXJ zI3d0A50D+bYdmJ=HQaA$EL!h=PU}LY$Rh3;`CNTKHg?Gxyw7hZDWQQb>T2}2&rmO^ z&=x|#mbjHTrqjZ8EK7k3KVaGAu2%!s8txxo)aU$Y@utjmWM^g8R5-;2(qr(bUH0uF z*YfZ?c&qM&f4t= z5!oio+NB(BiBoIj0gk(|r6DMSu1@IQYBMGKLIT#@r%{BcZ$h`9;s+S zQngj}d7M*@#o`Z-b0VwsGv;j*n5m}bdLL!voOqvDWJyt%)RykHz==m)$15LSo-L6b zrsrsmgMM51i9*D2$}nj{4g30Q#bN3fg9g~30^1o{;Xi`3_c;JQWE`;kD3#IJySaBihy{7kk%Y;X0IJ9C3EO1@!;M&4 zVm2X~oiX`c8V|<+j*HTRlUzfxq<5;L;1fV-uFDqchjOIZzMOb_dHkSSp2h{n?A`D> z@)G*(?rkqkdD0`V$m?mEO69VII0P{)Wn? zr#&j}TA$Mf0n)9i_a-ZPPijt`3LfyWOm`%zxS{m7@q22ie=S`4Z!``C17;psw0%730(AtJeltbbsH$_!I!gSh_u!t99j53t z(m!GnQP}hF8{R>!~(6!rpS($;wtaws%9^1`p;|>p(%RQfh;R zSg2G}1$3ON&J0xx$Zs?My7m-r2zFKc%mk016a2TU>|68~@7*gYzn7a7r+(O>yFP^vaktr_=X=SdERSOe**eKm@4sEg+7~V5S_zHc}X@o9?~4d(3(}@U63I{%)<_# z2lpyy?bdZNP(f?Rf8N?jhw zsFUQ#bIxZZpHoUL${cQbgYJ3OK=OvB^_Ik4VLN=f+kIFP>6fCAyP41v{Le+2^pe-Te%Xn==246QG?4ja2Yv2T_gS~X$+C61exvl& zo5oGlgH$a^pegVzdF@sIiGZ%I5a`7b3aHssu;wK9-zNL2PytlNtbUlm*<=|=Ttfx%#WZ|X|yGCk|7 z-*ubThmBy(-R*VKpXGhyp!kt7zmN~6*shtFo*YXUgqnk+gR)DMK5W1XUvxyZEEFHO z_aS1at@c`b&F(+&();Dr-pfU)Pg?W{I%0pXvQ&5SNY1Vjl{sBTw-~O$o6soH!Y|=3 zFu~C@OWX~hGJI-)HWlU1HS+AgX1d*S$a5Zvo^x%BWQVtOglXQ|{uA+g9}dHeQx6*0 zpE277q41<9lY||I)C-YC=qcp*uYBI)@_Mh!BEO%zInYwsS&^95)SW`I?|f90E z1KGc&_q4Z!O9g(;dSJ0`mutyCKi1$K9!EAiTFtVtBcaNCAsIzj}+1Fw80?UN8#^kMWQTmD?=T= z$a>1jX7Lu%OJ%L+L>R?^M`cAGR(Uq08aGaqq4Vx<`G(Tq{C1)$yf_~H&ScGyh}OkJ zAz10Rvw?Gz;+A_UOo+G|^7qAT0@tW`q;A_g&b(-ryqg7;9wM`%yeBf9d%7M7CoTYB z_9zvasJ!mnE051Tj7>^=mOG4-rALm9GsR?@hL0I#ea5MTQrOcu&wj09T8N)|brg=_ zlN$3QCsVM~!VwfT*9Dp?@Y_qI{y85HZ_vBXFZg3~> zu8^Vr%~MX%Kk`88!cYo|i|i*uL2u7)wZ92WrM>&?mW|s<&n?Fa{-a3tV=6du{h}P; zgcEJ6nLSBLz>u&Hh_)V41OP&mI`bdv0OJChr0J9B^hpm20K!LIY-&$n)LOLfG};GR zNEVB<#$hk#CqsGV?Q^n{Cnj|npeYOq8mD!R=)jdvPL`AX7w6dHQeUxMT( z-pW~H7j+dfBy{xHfRq6$a_GQM5c(MsF+PS)47R~H<6e0O91m%Df zx2Od7Y=WT8Ong-#4NhQMqRfb%4z}EwFbBA+D5$G2WT3$ErH@ORgN%eaRCwH4Stxz# zeDvL$7!u_|b_DwvMQ*;lKQ|_KCE885lh9}@Et4HNi6w)pRolnSlmgyUrb5{jrhFww z)id?`gacxvE?3IvSr61?n1TbVqy0%pz#q&)BW2_9c$i>D*XiplXdr4hb zhV(B+Jif}sSq!0iX3Ld20?15wCY3BzH<5W^u8zHXlE3mtMf9>@9Jh7y{6NEe@;IBo zJGZFluT?o6As`7EK{wUyGj0jZ(o@NtHve0I2uRe$+Gyj<8@$MEET_Wi*@?pp@@D|e zufkDvpEpr$)>sJ`Op=l+u)3)0NHrT9$(fCvPCJ_#`&Jq>kjs*ac@Kk>QINBCjUFi2 znsVWKO#^VL-c!S+DFc~lhNLYB>al(Q)-=&H^Gxi2=l-9AYgh&A|49L{1E71F+HTty zr2q|N0Cg`b3Iinv=IJO21+Ghd#lbd+(@^$|>=(N&6lIK@D zC9@iFAIOvA957dqnRugW#`g)Xu;V{!$Y3C$jsY`yhZp_-gPF#!oDVd!|7Zj)7UJMg z=A@it0BJFBVth3zHx0sMF$jPNwbIU=k=G|8fU{-d)@xY(%^WJ!43 zuermB|MuuUf~we?IsOXR!Ul(&v8%1#-A|MP0EW; zp32xnxT;9n^t%fNAq65y>wSSH{lk?o&<211MO-59Sul&| zycbt^QdyZZ%XlQiJoz{ws9BBYuL$n85<@tZFvP6W|SB z;uAUZ0t{xXBy>mn?Xtet)Pj-_GDbFNj&f$)6TDA~Cbv^g3ix?Uq&Io}^#DSATN7WJ zuhx{@2p<|iRTlq1aXd7vk~>vo#^iMp-vMmB+&*=o7`!a#|l zi|rvn%sXq`=FQ|v<#!zz6`apZd8A&|B@=x9@kj%Js&`?)2fZ5P4e3<`>}eE(yNb1m ziDw0u2{3f0+&*X_Dv^mFp&(f*wPgmqD1Y8BSt^DOg^UAvicD|}+&cW*4l1Ul_9~Pf zZ*q%U1ISLIQ*=MrKNkDn&hb3GN${Q1a(pZ@YkP+8SAIH5lKGlZ;2$7bd+7(Njc3Rn zMX#`7)N$Gc+bmN%F0V5_VIQny(O$k$<@s5BTDx!k4?sXOJU^Qtz-99JOd8tfB1rHL zAa(hT@W`n!o3hxlXN7Ywk%|0Rx)?ca&j=3~75_|A+UoVNUmWm@zsFzkvHp_8Z{`G_ zrF#E80ABzH^?CagGm}uTtHf`Q{%-YaGeATjs9#09;a<5s-7?3|oYcFRbpta&7(dHz z_K_FmsIc38xhT{4TaVLp``LQc8Dg1QW;b)5#OWq!zw5R$c!h}~Qq^0jIGc`#%0t%LL6gl(Z&OJYdCln&Llhxl{nTiV zwA=X?W5cTbs;(qGmdoG52DIaC4Ch6OJ^o7g%zaustv$IM34Qn>t~?^79CaQlomYfr zWp-XFcQ#^}DMaZHILh8=)oD9b-9T5YM_9iwac){0v&mTco-Y zPOzU1+f8Xh3w%^BcteAZRVB4uZ)UJivmRGzpFIbEnDU)6IDPvT#yXBO3V7ftu%nmS zU+?F&Z=3lbe@2S6b>iCfDBo-^yXW|VC3wL|KC+hI1REs~wASX9NfyKhu}e`%+EC`M zQ~5ApiObANjn4Ehg}436Et`aC`3XD=wAA~~XCC^7Q6(^5_xa1j8h#=MNpX!0#lfkZ z!T#ea1sAWK{Di`VZEgQ+OWeDyQ{&9RyEBEOm}{!S4-BPO` z7B2jG^!iiSn`zRSLYsd8#wVbnUQ1a3;8rKG@^(w|OhAKV!e32gYCN0JcTWGKA^eVIM!QTTc~l5n>aQ=5WqTHeuNJ(8>A!4(i`LO^Sc;>-p+I)iVe`n z5JB?@0bHxFgUrhe7vy&fdA5X1vE8(e*ef?}(eC51qF$?-P(dO3E|fo}z9eIEma)+& zibL!PIxRiImM74B0=+B9{#+7?6|CFAnpPJ9rH5wY58N55s*0fStWH>hV=n zl`_0x{4^ubX{zM`R4ac%T;C^1`lOVs@i>JpZoVX6mYI~)OG3LS&@;B*$3)+P+Xp2PU2I3+I8S-Z&V!1wAVFN6CXfZ1$;w>$0g*DH0`m~9qE{y=mS zY(Te1tecDg3^kRx>cqLX8>nbIHe2ny2a+(eOXe<79;{*MN^#AwJKp^5-x-4Cd*cp= zR0n=Oz1FR{2X@ZY8(alpblmN|RtlSvm`G{2)l?_R5YNWimo*Sy0JEQU5|NU5BNrXv z8B0tx6Q(62*~x(;k#^^@fkZW7Dpu{u7WRRBITT)*XxjPoV;qE3a2pa%2ib~_FMg+u z{QAm|a^nS2m(Poi@Ow#zhS{XGpMc?7mk$v*kW8h@50lhVlV36BM$;yH$-mD)^gNA| z#=LAY6GEzdn)cO06Vcq_!}^6vZ?Lf$c$6&pq_;MZ9?CJ z5W^rmqTb*WnbVnNO;PaiugC#KbvA#ezD*xEG=@J^Y3*+@LJzo^JdfK2`2u5#xB>-2Fm|Co!ZT z$|pb=|4tz=jPeP`brj%3lz=g7z*0QrwPI0gJhZ>L54g{BFmrURI}q5=^A*_rm7Mco z(UA3Zlcp++W~bx=W0$kOuV{#pJ9UGUMMNFa;y^1U@Ii) zp1mJ!PCvD#KA{tVy?ktQPjgdjXFFM4SAD6Q**sJQxHI29sieGr$7p>ewP(_+rQN(`#IC1fh2QHJ$PTn2?UkB`;Qa>dJAGWk9Rp|~?L56sS7hkczy2TIjpzd-rEz+U6f zzk#5Nzk+qQ@Gg%qr)=E+`er`H#<@mfElG-bm6({5CjL#atuCd61TaVaR3nj6$}HUA z5Km@hFfqaRu}ZrDo0)SDz5f_4bu;4q4-gg`Si9-9^tU?ZNk3TP)bQY2{v<9^^-6Qd zdCaxf*XGdgqVaY8v#0W=24N~ktkW3Kdui=8Z%F{ld*!^+*K++t1Jn<$1_1@8-b}Lm zIuKL;0cys4k2O4a;D-4gQt_vwDXgs%{8(T24-f*AH^O;1V<>u%i*;#r-P3*veojY&AtU~NI66e>t6N6Fqm|LZ9xLF^PNu7h%EQzB|u9NAdqZ89K4b>#6xO7+}P;TI&6NqlwHJ2wEaG0Y@$voe7u3|+r zDx~3?#^JnzVG?fWd^a7yhtZVMo#L4xV02TP>6jLbwn&&h+Z!{fWq3vtVRxYlocxsm z7gTD-hF)zboTGxoe16oiFVgI!pzHwQ7Y2)|?0rF&iD7{ij3;}(VY0$t(6fqwrSvljtLzstO)bJa>nc;2&8i94{C{YUTu5RUzl#?#om$J zi6lCPjUS2j9D}C0b;sS$)($gDx{Cb7ni}MZuaawceDUG^yU5!JhMDvE1=qRsWUbZi z{v-l{X$?8&jQ<;YBs#W=*$8Z4lYr!p#^;3f{4|%V| z<*_Acj!u94sgus=I6NM_FI~>p;4EsJSXWKR+h$w7EqHQ2m_SVGdz*>(mL)XV)6eyG zZou;&pdOwP6UfnBt88Y__{a2J^P#*F@DaygtD}DAvMy9DjEr=A$^3`xyvdVMG3+P8 zm4c#e33rV4p+KAhrNN6b{mm4C%f%HtwERPr@cfk1_+e`q`i0nYhGqZ?&-<$S&gh`1 zg6*4fb;1UkSWnJGb=e%?x{q%sI(YHsy?5;e>$`=vDEB0u^xf4CuH%1zPavv=!7H_+ z7tDa|RQNQf2mTnGOX(T?(w5kiHUs`8|L^sh9kNEx)hwfb6V6wBcw>Uz#x-H=!Pp|q2UtJXWpmP> zkJ{ZVv_6zdcni2SpGsB1`!?#aov&jJR{kDQZ;F5Ormpwb+xmWdQ?VQI`W}xTrWY(# zEcN>_Mr!U8V1*lh0L+I4_`8KHXD=`4ruIJ0i3I5yWwzPfq%hL@X^ACyJLVzZH1Vu0 zr-vLQL2pfHiebGOIy%Yz3FnCHm#KjQaHcbl*pS#hp}EW%eb9b%3oL(Wjq2KH>`T2q z95@TdMRo^%3BX2#z#=}WllFbQztufgd)XuYt#S3$+RLmK2MgFOfx&cme@hRN<*7ce zT{FUs&y!Re^T3_C3-QQzRa{@XQ@C&~zPG*pXzudJF?ChB`q2q?y1%n@m3vKV?e`;^ zYW_LhM|NTt$)?I((}O;#7jf{^$)B7HU!5H)T%h0=F?iZi!l%K}d_>bxdBYA*NjlBb zN%`@;FBnpa-(AWNcD!!#*0diT zU~uSPIv--o4xED1=tzjpYnma4yRubn12i=|{|_bD@hrR_VNNcc6E_0Vp?jcO#}~|W22?Q)9xGWU5!2LQtAf>xhWEXp2KSnVt42?y8|QU z)GGtqMwOus=hO(ts|IxChLQXG!8YnWjT}PT3D|pDw0sCof+73wmWJ`kx7ZcVnbM}+ ztkZR2A|KALpRyF@PiFYzz% zvBKi}^BCt~IirxDVw<@TJ-dkUUS%4Q;|A9;(24LC7~%S3^k#9hL z^1BjbuSFx;;659D+NSNGiy#qBGKe}II$77VK7_8Liu zdkRn27|5xLW5Zrw84`AbO>;BTca(|oPCua&59h#5~d&@V( zNRsjAgY-W@S+mx|VMU;x=RJ2R>Ti&$%+EgB=;C~@@+}^P8;!l1|BI}*j%xD%tQ;ad%UHSRTse|BlFXCD;}~B=f)uK%JoN$tbO_ukBkGp&aA&+tmg7#ESAd$ zF7~a3-8r#c*kg9Cdy`VdF5n~M@iXQS0Zk@K5o=kLQ(YxCUdbFgEO*Y6VPEGw+S~b_ zf>R;&V<4%h3ggvz|7Ef4D(e@Jx;uq~YJ>5kQSy0dwkJ5{{xj=r6qs|PZd={q#(Kgi+;zC85 zjM%{prmoZfu|v%NtjI7q8%gw3+#}1iY*S%^N{FVo9kwtp6Fvu^#W5cmHpoGm<}Bj`Bxu zC=!u9J?InPp{VKw^^4a`=9D|r_5b^O)S*;lDkf;Qs0NOwPpC?m_myra0m?NsVAD-C zLSDlR^sIE-ORe&J^PQp3s^D*IoE`b!bo~QOeN&cSj~bDJOl|s!k~C^;q0}1I_|6T5 zQ`mo@xL(Gb$A2bF5h`4u!$VM57{`PWJKKfiELJOvyA6(JB%ty`U>BS-bsl|f!xR`5 z@7bHA)a_B91OEq~*1E6OvR1*ROyNG4iV5E5eO4-Vrm50cYo{^QoisLH^wztN1ef4# zkBYPeaH$3L)Rg3PDl@`wTlYThNnbxl))cBPA+(2MsBQ`G7%XWOGdD-n%gj?gmXRnL zF(Y#~m3Ksr-c&isW5ZfmfDy<-d5hPvGUR)MS5~NtNAG4lN-h$GE*!4!?nI{Zkz4_; z?@u`i9T)V^nQ_7i2(dmOrcTL|H?=z;CU5-ykzlGg={V?6Ttyr^Jm;2DAH?2I^To^us8`4KW6~>78?*2LogNMOvBA1{a@#6cG5fnT)Nm!cnKVh@48kvd#%v1y{u543aP28dVb=kLrGC--gzGb-!?~ z!o(iU$S*eTr|SwtcAYUc^lljvcJAZbkX^775x3ckZ$~8cs$DSVGIB)&&q2rV!BOv}^;OrsB3O6J9 zEC1Ie>K}L8nANOk5f*$^G1%YD74_&ONq6T<{N`6>%O)*>{ciR9v{g0xXK^aS^30Zx zcM;ROJ-6-wdHTtGgakh~Pes-Rrh8n9q+E)hbWwM=SRa}w)03>D&hhX@A=mS zyFY9HCV({d7cxo{6BfuyOi>9UJcTA|HJ**|o}l#JdbO|Xut)$YP+2fh3ozl9yEa_`J@vh7QG7vqr*RNt|wlC6}DplA$3Cjyx zm#@Y7C+q9*aRIU}-D@ZEQO8r3KkeYyAikiTen!6ymv_tbo$AOq;+hZP+#(}-0{VyVlSMzB z+M`(2%DbNW>7PTgVib!bGYgn3b=SBh8}|GVxiJb z?j>Tm^t;{KpXv~2MHX?~{bwcBvQByGT;gKwTjQlvaVn*=BTHN3vAGT9MFYK(hFo}V zt@+Y=83q-+gj&-7NM3vBZklRekxzFUw~3XMwwF4{@9MgO-pxzEeLK$zNrAe+1#N?N zw)t*TC}FHS1VZp9`X#->5Z12X~FW&Q2aolZZ*S*jWT4LG$d;O zo^)P@A@=4`=!&nB z&}}$SpU@48R%b#J!&Ry>;+zbCXrZW?S~Y>*W}O6bp%JwNcV)*Wj}y2yzgT&ce7k%h zPF)WDq3#w-I0=^^mjlkA*8Ea>OY++6wF9oeQXWvO;I8IKt{XtNG9E@*xb6jI4B<|~ znQa%gNB9*)jno3{#Y=F!e!)41IdO=Fg!#y1(z-4-qcRjEpK5?NQ!|IfN;PmC@AM6r z&n^q_2B)(EC#}&k;cVb2&3UccQq4tUKm(1X?wBz^FF|=Bom_Mxd|#dyUy4*4KvP2v zdJfgqb^!R&+yS_S35754f(&Ck=?6|6p-$vPG#f(%HsJ`pWGc=5@jSxma2itGF*T35 zVoAX2cm|=@cv>yXbdTVI4<~&AaCV~Cc=Sat4&0c_-GR+B9*5?Pj=o^Le2>Z)hgn>_ z@W@Mt$8z$+T7)n!0KArzajT!rF{-;ECw8E#}wln@L2UG z!QDI^IkUHDrL4Y+T^3CANE(;C0Q2agHdBJ-SfJ6A4XDOWh6q?WOKX9sJV?Ui$mJ0{CZJrl{ z>UA1Ju-utkG$Hyq4L}#mSW@e%5qpJElhAkSl+yo3L(-8nETGkQRsc*FB*S^viI&OD z?*|!C-f$K?PUpkLf}AFBpvECkEwWvGAd=BZLf7km#*q(e2spr|evOiT>rco#)RR&l)i(NxCvPRGNlrih(CVoV)s&{Y*+UdXzd! zoV%L*U?>evgqAecv{H}Lwwd~EbYff3x^m5Z@`$*|W7x@dJ%pQ2ZNZ=EWwSa&_Ng6z z;WUc&z47u7>gVrHk$T;ZR{>t780k9H5A4*^(1acG-_3=`2fuA%=*1ujZTm&!^# zxy#;hv5e9ej;Rqib-jMY1^>h3PZ2no9Q=FQ>i$@dw`XYH9b3TfLOK-`)^ug?WBga# zTL4|2Q>b`1`vNK-kLoepkv-3&$MJ)Q99b@7Q6YZzm_TP-iZ{igRSC|_9C~X*J7}7b zJZkgh7k>yxliu*!57_N9{fH|Y_{kLk10-de>B*nMo_dF_lvw6@)FGuhQ{ph=?oX;CO+=yoGi7eHUpZ4!T-$q^Uq=|z4oL?R*#Bxj-(LY$VbUJ&`TV@J6 zV-903{w;~AMp0wcT89+*9r_3>{}Fsz$hV4$$)=vXElK6jhVp+EJ`g^kHR#sMeb@`n zJNX7>B|IhaY4L@Dt2Su~O4wxj^{s}ibkO0x+W4!kK7=LR-0Y#1gp1YVGhTBtOM;CG zuSeA~k7$pD{5af%+KRl8`EOWx_I2=k%~KATSoJVGVyFB(%h*OdlVTYz`C!p9)wI#A z#6M$T>lu>X2>_@NhS0}}i}(U4;CZLLReTPMW2T64*ylwHY7r&`)TJDbj^^bCM+ts=o@w;Bxwgs8_g_Cz@$ z6HYcW`!FKRBA*xa`9k;2#D}ySx8=a)*}0HR=cFXb?^0gfK7ldhlGY-FBZH^CA}{`a zpvMbQ@-ghCDu$#CcDQ4tc}i>B6gl!mMT47;I|N&J>b^3-=d)LiBUQv1hoPqx&!a0b zH%8^bUSh{)b>x801k!#1AFu6xCz69j7fuMb%*iZbQExv!JQazzIVU9hMjCk* zUo6QnI+mEAjp3k1?@yVHTe4bV`C|VRvkL#p;$V35N4OK^EeS#ZY)msu(IGgjYb_!7 znW^Gu4E=cM%@Wm?zflOTHcYlg3JivOBs}U^ev|cM7x_LI9 zy{*REQkb`N{cfKZvGn?_L*!~pf38BI)z3fqY1FT&657s4JkBe^K99+PRxBVQVlI2$ zss4!piis+b@+Smu7Tx`&y-@CCj?k+FslAR@+5Z8`3)|;hkWbv+maa*z3Z8$oEzD53vft-~<+xDAdvv$ZgA2w|6@G{T^F7Y^2u|!E4wg#m-0c^{Ax|TE}UFYp#meh1RARWbdV{~Ql_w%lG~Wr ztwQ}^O`>m{76mJAnZum#4=?G-gg?`R@7+!)#P}6HEelcnC~qd0)-+=Y;;C!0{hX`f z>qc(y=I2%lu(G#eL;pQ%q)FcInp2Db&!Jg&xD>w2Rs;f@g*bekXYjk0gk6Duf0^z% zj5R7E%ek&;>~5bx+J0~6-7f^e+&s-MoJ~%)q|17I@Y$WCu)%@H#f;IbL={#KM{ahl zO;T7fq%c1a9a9=8@&nK7yTY@_P1SqPDWhE*ciw(S8lN;JYrfRCn*d5T%~$HSC8{6S zWPmA+K-1u2NW z8Xxv1N+KR6H=g2PXeRGqKM&^!79_aVKqvW8=j|*rKI?h0LQBYI<&3vk@h;^SBz`x6Fi=VBZDX5S*C-MvY!zXP zS0nEpvFATMD7`|aaqc~YVjxU>Yd1md}s+ZA#r4cK*U9l;<- zt%2$Y2RvO@mD#}dcE=RH7Ib7Z`cjSk=>^G2UU;dK|KD;@) z%aP!5T!qz2@yilI{rb-)BaPv~i|ab~PMN*%-{LNWbLY-tvP+rJ^WrU~6ZNVF$%JM2 zXpEd1d1k|q2L8>5+O@kb20C+)-1vDdu6y5Rr`AVtMz2V;3U{6 z-t=MgKLGw73(J3i?wc@r%Ypl5BC!3ek+|Qj{=!ECa_1@Wq{_AjxQ8Zqpme9!bFB9baql>_LISRP0*#ZvOZ3vZ(H#5Ri zW6@g?gL)z*?)c-1M=xj_y%qcS?rSWIK8u1`20-QjaNxh4D9){KIJ)ygA$WVf>bSPH z3F>>W%+K*Gd?gCo)GCT(&|GuH2l?4u3;hF-%^de)41kV0{ITb6SiK^NNoOI^Mup~^ zHE5Ama)+nQbrtM+Zpz=d?BO(<8o2yIiSF*oVq&}Sql~F}`@cNGAr&%$0uxTyK1>}x znA-IK<|6$lrRn!;jo)9LV)L$5h-AA@#bhJ4=6>4V7oNGx*B=d?egDdB{s!cKNiDE- zKevyVLUMcO2SN3A z+F9Uz3LoE;dh~8MD2^Zm-=gM3=t5{Oq$>e~=gA{);6LJYcZ|B|pF$|1UCxd?Lw8d@ z8v&VQ77{~5t(UMUbeC2dIr7^fmgQ`hj$s-|noBusL(|}dc4~cOtb*z)NaHv(!f$o) zEney+iErX7P%tIY_U@GrcxKc7)9+_x{<0R0M_Zqs+4#RrrT3+*r{ZdJr|=XPV`DP! z7z~}05mGU95HWiyy+74FsDL~DZnz+8qwAl#bJ~xsH3k=qUrOm8xyRm1ti4i zIvSG^E0^G#nc@#UzjR$$JO6mv!r@;W-<-cBp5u>*E(^-}9NF+=CT znxhE|++h_=!!0n2IhgV%Zeu8@LGD#CA|7W)9uGLA^lBf=r>RzH#494AvGmjFmyHdf zz1VnYKcm`OR|0tL6$h(*a#M-o`51`Msf}Yn}bV z+5B+iTc%$|{{cV`bWkqnv0WNn7VW+&YRmL~rpF?BdJ6^G&c-5iq_MUWR7Wc<+g0=$ zec2MgK)1Y@kE^}9x5*^9AH4sVx?@IZcGKY&+x6v=J znCerRYV6ycU;W8q`Fz~-3>v>RTe4O+e}TRdCwXF~W=|9_kN0u&X1}8SZ?H4wt?xG< zeZ~mlaEei@64c|XI_)Yl+Z4hj1C4{QE-Gm2)R$Sg`-SfpV^;!p+9Fevh^~|_{Jj!n{YzNy5U#NpkB7hF}JOQz2*A%AG+LlrGx?`ib>wUNDy&dPliJytL*Qa zT_$TTvM90)wqqJ&-Iox=BOB>=awgKAs|c4%L01lsx!W&+k;+&g<53UVv)xT*iW70D zWb;1xCQbk~T)zF3n`UGVdn3HnwUf0z%KUAeaJzezjJ$eeiR`K5lYM_ktr4|12l+-N zj&Iw<$`E*Fc+Yb}986rM&br7bV-&#f3?<%crTWil?oQ^I%GXgi*^6$VCeik@bfvPu zS#e`YKE;NtKK4Q=Ftt+IQ&Rg;O;$|3m@pGXhnQBe zeJR4V0=)bTP93ck8zN|^*k;X-BZ^Np2EH}nWofQ|R_Y5`>6t#4Tm~iV{kSV!thcCd z?XsfXTVk%oNh`9go$oDw#I*IMo~fRq>l&{VYk78;jG&8~B?Uf=_K#pJ7&$ukZPS=o zC;@#^v( zRSyj~Dg(n7;`Qb@*d=C;vCg-$;dRX_o@V1`=>Vp9mfu!`ZGP77i8c$%T_q&9M{=@g zxAvo>y08g=Ynx}(=^;Y<9%bmQAo=&rW$VY*S}5W-S%_D_YN?~qtsJ+os)Vpyxr#4& zHZ@MKTPBR|{5s4HhLHajYINOVAWvOo>f=&?Ghzv=sz~;ReKhof-QHf*TlL2mm7YW) zHhyhM&E#O?g7stehB0PJ>$nO#3fY!HmPoa~hCdj1I8KB;ibpSix7NY$T0aiOZH%Gf zb2L9t6#Sv+sB&v{9QksSaB@)Viy)VKtkQK00o;`)S6{td^-i$;)!6bCyl-z-c+>_e zN0CXxYUcp7bwdY`lL^MvHWMWq7+3hu#F`Bo8Hqi zyzibb991T;}h;Qyyk#ER7hxHg?kSd~76jKtM4h8cN1 zukAh`JyBNwwB9}+3E;-*ts@WNA#tePH>XV;dS9Ll7KkH`>j>f}0UTa_9B=vS$PXJC z^fMkw-Q4x)+CT90y4(G-oA97#QL5f}Ec`%!O#l6r=*-B8r7hcRdsVy~0FrqPNl|0M z^N&=rcFbF1f#f>#g+_#rY`|}IRmtSjC9^j#|m=U;&oky9CecRTR!3om?yk((2|jwT$Fe zBR?gR<<^OD$Qs|MLT<3M9cH)lD^y|RJHak|fOL5j(AF5!HtM|2_ zJ0Yu`C}42VCrEhGs8QJaf`jWeGGq2OoXm_{Bk-}C*214@IyGl+cY&+NtLrbGz9e-V z=!{>sN3=j;X_5Xn(-{)bkFK9jgiH1N2Ps&js3kMt%c5@vw&>4G4hyROU9rv=9msMI z?ovP4Iq$J3$n=wwp)<>%Q`l}OwG0bWJ~^t0-Kwxu?w{MIIPqTlZx3xH)~TR1uzjJ- zal6lxcEg8aq`sykT~p{iA7}g8-wX-Es*GNk4z5`_>PT^vAEF z!>Vkf_xS7*30wpd0lESIBoN3yhSZLKqGMKGlLrNz-JF{LTq~0M$t1+Z=6$$t3V1z% z4iYXg=Sb4!QdhKPcrL|-oA!d{X!d>JjKfD`hcB%n_2L6|kLZ*M1mf_;OiJ#usU>{S zFS$a5R5v^(7=IaJUxrO>s~A{sd^uq@aQYW?m_j(Q%hwH&^OHoh-*v>cj>N zeCDK*h*db281J1k$H0J&kRlsXlX@f%)Ltgpg;C|sL6yA6BxE(>M(+`(xZBy4khO4C zb-f4nr?Kb}UGCPp9s**IcZRl$rrprdxkq6MtiY6S7Ir*Y9&&LSlmVd1(c>Xp8Gh_u zt-4ykSBzEqmk#>{rrGH}!~1|sw_kPhOBb3{F*+?=ywuU{A;a+3Tu%nv{mYePdT>Xz zkW@rXr0i4tBB|oLU6t39RvGWWxI$;xofUn|a=o!q{qss?XHEU$ZH2<2_*$uTPx@Fa zYNw(2$?Un)=t<*dq@@07bt8$n94oVS>Rl4TU&S|^?A~I-R4s^1O_D4-b8LQDAS_@M)?}S=vzo~+qj9{Y*G~sq%;2SSrGRo7e zLW1ndUHZ=R=J4%3K#`;fazeBi%K@|g3fV`gbZw#)c#BoJd`;YS-pS-`lA*HX+P4~D zgxY$1fTg<_;aog3VMMp_?x=TO+qP2M7l#9Z11`W89mi7sJq(*3a0Tl&8ru4PVZ|HA zZ!66K-|B~IlOe{ufxjjI@rD%gPeHzbYT45~0m_R-8sTa73ZH5Q2 za7axi3+UGgX+6^u;iG{_jD!8aqj;g_%8q#N0*?&|#=6;Y=%tGnnu(6mw$i0)?zU%j zafGSE!?^jLl5$G;Zn_ZhVVg=h}6T70;Ld*97?LRQTI zII8!w&~;>0bu@4-+9ghMG9B3~$1ND12z@=Bw-pzV3ykLkD$f`<)hM*?Lcy;*&dcHR z`agfiY6TZa>)+fvf1>+G$f#O~{62s4080Kr&!C)_6G)wwXWG*qaX_X5`UplCWtL4S z6MlWBU5GH;FRvFYdK|oUQYM{b!cdYBl*uZfGXpYMNR%rnE}PR(Nl{xXG#M0Sb&kH7 zc6)3FTntf7`Kgr~)yEvAyzDaVYa3(I%q5<;tJ0^Ehv(vn!&uUS70U~om6eIn(02{p zlCDG_Ccn_%XtPK$9i$_WfwddAlXmPkqj;78X(xky6`ILGD%NytBJZN`oUY*0r|lsv z7MB%oNJ02B$QM*kMrl?p|C`MB$b~yKvy-u8TY+C*&a{qtFP1{TfBEAz{W^_tSE8UGA8`he}`{!wlbzBV~w*8_22>0lxKg;VOG{;84g|ud2feyXnnGta{I8<6o z$%|3$#jwJBK0=tWAGVZN35Hk!M(Bj=uNJ!#_2xTde&{D0P+{b3T!^k&(pUD{ErHgRf9Zi@gaHP2wud?w+#91;E5I6e% zZp{urnU1Io52ln?1*&5CJup)eM8@Lwk|O-3o!|#x{a8;?=xRc7(5kP;14ih6S@cnFdpt|#K*C5-CtW^4 zc~v8ye&0~%nRq^MI#QVnFa!|u>E>gQ(mfN-z8S?uY{q%*s{jhgCA4u;`f}1?a`=Fx zxo{3T)^rD8x`S-~%TTUtu=tAZ{ZjImnd3q#cqKy%T!Z|f2GSY}V0R~?`7)7pRwl-t z-jWk(Te;eHo-6bFseJ!thPV@{5-__M_p&HPRc4A=9JdDNsy%<0Oqn6w81UUAmvuZ% zXeke%LrH_9MkxFPD(s3a^<{*aCl3Ukm9=RrJ3M!HAWX-m@ZY~4k^*}dBqV47S;uQ| zpp1^UaRSrdMo)(rHE}J4CeRw_I02n-iOB|x$d4~TB2 zcG-e!9K$W&8~YH79)0IqE35_S6%PNuA&SJIOWR zv5ytF(~}~(57<9G$=i%T=;8{&jTEW%R9Vu=19jJ@sHb|tez`2^WE|sBqGf6ob$Qoh z3bg6IglHT)wV}EnygQEh&0ICqZxEc1uV{F-Gx-WC6l5objj^Y16&^YRIiEsed%I5#l_DaBf8t|$TjbS*ud?64H z&mece8TQBiMvX9NQ8b`YMB1pBd+bFb_8l^Nz)IMBcT7=guvBDfI<8#M)2H86w7AaL zO{gbR7{wqxb;K@@rZY9M42qtdXhOCW>6n|hfj zrs+!Ounwo)iXo0ibg>i`hFJ5ihEZd5;G0vYyBGJ6E3B7?Wvcc1tbEVAoN4uB|EM`N zFh%^XuYAS3qTgfrP(=Fe4FT|e4ibSyT@(Mqwn6-_5#s-OF#R`v@&1=Gw=F%0@;dgd zJbVe_DT{8LN@n8;ljxHV-fkm)ZVI2QnIK_BNv%!L*b5znU(&?IYmEIattc@W0 zp-OY8t0^s ztK{A^7u76Uu)k^;C_0Km4**_`qjja~8vniH|B0AzxNZJ)lJGNgVG`2sb*-I&XPGtc-Yw*o6}@ zG3{q%Us4%`Mx0(eu@@+^#tSs!@wn^_Rq~;=7cUQ0#Jf4w9!j_22lFrXmAA|@=tGn| z;|nNcP}9F0*bEf)G(V#Rg8d!7cKd!|2GpoPW%m+=&dI~LPf8WAT6+HR_2UQXU15eW z%pAK#|9^n1k`ohpf_t<%J`9VpczxxtAdre(LZ<&sXCcl*P#H3Rd6~Mc7|Le$?R4@0=mGKroyAfLtVZj!f_h4`~LDm;!)D!}X z?+SaOq(LrP&ZUspaHty&N|p>KTFX~?Dkoa~^KlQ4!w^`LbU{PqH|f(2DcH&oLyuvl z@y__Qh5h$H!SJ_Q;|)@Rrvk|Hg+V_L!opk_3N(tErGJ`f|JisS!f^!&F-=THHTqnk zzCAEaYy_#tz*Vdo8|>=&Qy)F+!?0H9MPy|*&4`q~HGb{tVP8nGWK!+w?Kz;9kbWdK;s)7jcF_7~ss>M}VO*_s>9JOb)aXS#)Ou?62P1+scV*@_t{%AH~RD$QfNC|ZnuSW9kL;O$eQ#t?Ig1tjmRZ5^}!o$h6m+ueD^$`!abYu9)@&r5^Sa|wdD5jTX6J9Np`9&WF&=pXVBPzy_`CX)eEoj_ zB}cYzuk+r`FlSw{k>iXQpEK%WF1#HEUmu%~eR`339B)= zQ=d3cduR9@5Z}7tt7CZ(mHQxS}l2Jv>=ItK!A|J<1r613F z;`It=as=3tk3L?eklDrR1sz=caA0Z zWAW_mvbn_>c2r8SWiBoIiVvn^0miaqkF@vMPv~WaRz+h2UOfN(xl$o%oSn_*pB&-z zZ_ES3fcj_3_Ei%fWsKJ%vs7R-+YH{$oQdgK@mMC>`b_CbO_>gUn`COMh~52fK5MI7 zr3v3~E!~ZEOQ@XOhtoZwx3JqF|C+-PS@p3Wag={XJcKy42|{;@rLdX2Xp8>uxAds$ zK;tq29$bcocFuGh*H6a{VkQyHhjx5}zQjfF|4^-%E6^8QR76oa+*Lm~aA+pR99|ry_1(wVnapU7LrsD?Nz( zgd(Z72k3#Dk32U#RhVOJ=)p|QS%HRFN-CD*4Buz!KW@;dcNI^l!}ge_KE%|-+FdAn zVrR$DGxJ0g>)>?^F(#>ZLo-s5nzKhD&Qt7s1avoT9=fp1@Ozr+D1AxTNo(yH&rChH zGXyrTzIHdDvBWXCoRkVzLT;S3gJj0dKHZ?c-HRRaiFKQNDmJTNshA9x)#bUiMP1Zf zC3z#8x+EsU&kP%sY;I`egiIH(z^;)lo-*ON^7<-rlJA|3&6kua%%R{DG7*DwisF{7 zb8EjBT;bzAY3DvnlT%bhj@ysbW-7y*<=th^UKpLkzT79quoQ5;7x8;5ue+t4EGX*l znjJ0v&ue0I+O(A+_#N}ygt_M7^YyN+(LHZ)2$}PrrjL`$UN?;p{-cGrL9x31?#ta0 z@cxG5t;ig!Q~$^|ikmAW({O8Y@dLMi)<%x64x~MX^pdP;+3!25Q>;WV`1LVqe&(7g zT~b);6Pn0dJxN@rayEe;Xes!sC=q9j5-rTfxRx-m>yS2BA|1<5*)}CueG_m&x@btmT z`q&6z72i)f{fW5$ky{ZF<0BUml{+W#-|sM7Ybku^Dwq7?4l4$_gw_$My|;>!YWclj zFl6r`*)7cFFuX@M-nn4Q^3iRnBi(<1WjRV`lCb%t6|%A(dLPM{;E?4P#hBS}=j%$y z^JAN$#>r%5RXWA_ctX57A*5T1R4CW6RP3{-NkY$NSFPt00l;VaxE_-cNjHWOiJn-5xKe$;dR>7thT7_`xI%As=@Ir#-p7XQ?BXo&F8HdpWDHf@4H&x zfK1iC?a`2ca#iJfm~M&)8FKQQ%nN^#O%eaCU)*%XyzlF;)N$o4<;2?hhGER4=}Sjp z`>d-K0O_H{)C9j`hDksf@;#A(>HWmkd?!|!&I=iG|f zj(>)fsIuvnw251%0?4;Ajz^q^g|E#fM3TRoR#;ycTFi%OTA_}$x=AY8=*wsP?oa8x zkgpL&La+A!L||>Qt7#dLIJ^=?co|_-^pNvwmS9PA*XvHQo)!OV6)V`J6&fpBF|JiA zhU&G9HHNw?6mQ{0%&@J8I0viGizKJFK}Hh&;LW=YtZmHK`nbW$aDe(m%p6nOlimARU0 zIgwU2Q^w&^$Qx6O9AAVzkcb~Yo%SL2DKL)ddCQ9z;qGpN*W!)bz2Ojn^NOVWE3=Z;rPOEt0dOp~wUDdPfAX!JM|en7ZM5X~_@QW%qO85I z%F@V!@>bWd&*S3W$C)|z*kItH{ znpU(R-8b-M_=YT|V~Sa@LL;N+tRjsazq5ji9wNV&{i?<=@UY1(gM)Q3g5SUO%NfKj z4j;i>z7a78S|68P%e-(Vdon$7DGsoNxkvN{SH(v?_@j@HdR3Lkm{T(4c1Ht|rnh!w z$e1Oj7gYOF(>Qf83xq>E*!B8&;XJglIS!|V%~>esZ$Syq{n|v|atus_&0K1l)~P4H zGYde9g;Z6jAXj@oPP#ZlNpc~^KP_)D2}Vh65;Ouz)Q&rN_RR6BvS`ROj`hIiae2MK zpM(yzBh@(37a^gxWf#YO@Hcd8zv34Bc%ItaTDu0x9cjTElqPcN4&(`Cv$#+E)nUDN z{&JG`_TqQsj%sb`ol~SJUqDS`Rm`jGPNnyd6;C2lewl2zPAQG^z(^MK%Wsp7ROj0m zp-NlML>um-P*Z!<0P4PY&14?&Wk}u(`bS$MJ7QQ1z_`1uGy&0|j~9ouPK;-Gm$%D- z%%>R*I+L%X_s_qvpH}Ez`xTRnf7W4;iH@Nt1bvlBDC*nZkmv8?5cr6 zJQUk28G0brBN1B5Ig$Us)C-r+lO*IiL4;BsyTm6kX7p9X`!;eC1Y($}VHiW&4hU=P zT~&TGD@Q6>%`0>F0IV`s>pigy|9PLu;8WydJw`h)lJ?{1<(D}&brYg@r23&3Hh`)f z7+yGG=+cysKWjHxT3!`g$*g3k5&DP1BF!>lrrcxHXuMEOAppcVjsc-+_rPV>-7S!- z*v+MWhn?l#-)?s_FRu*JWFWgL1LIOuReh`KSgWrbkhO*9pS(4ZSdUX*6(WqB8)KGZ zN`bPxvMicPQ`L(W9D-{c_`BzBYYyK0hB% zL6buybHWU^X7(~TPlb&9IsRf1ePi18V& zXCkXpwqnb?gcb9stu#LVBb$A8aY{h-s6Rt33=H=|%xk`yKTcTD9eICDXxd{WO@BL);eqN%)ZsUN4D4 zmo-T)X!hFXNO|vO%CFugBpVDlub-xCMkYi-qTNbz2b6nt_4NmHvt2$-TK{OnY@5;O zR01GQ%c+{s+IM@u+OkcsL`UM5Odq8@5}7>May^lYL%5H{l%MM(Q~ zOLQtN>7HX)HQEN8krh)*!Y@scFTwfE!pok~*}?&wrR+b7QR?fhWeYS_^Mvl235vN* z(NvZ)4)Al`DujGZfWL?rrPwgSR7bhNfQ;P!V>;DFY;wxGcvs0zkmKcw zRrU;FYSGGv&AqEedN>~UT&fHC3{ReL4nN`)+fEoqLqA+6DAaky6F3nK?^FtmCmNH^ z*3O8iYa7_x>3SMeLRTB8Wx_FYzrMg|=9;W7gq~n)DBhtuL2Y`-e4Fu*M;aFzr9Eu1 zAK;55r`p10%{;@xXe(Di*Oh>T%1%CycnPn4v)>Y#vFq}wa)>K@n6_%KaeFBvRpubU z{a5ZF@1p0E77hl(Fym4WXEwGY6)aHoEiryFLjRv*u|T??tUn6PO3Z-fTb)bDm=4~4 zJODo_7AtE)#v5i-KDs?qYPQJy>wSwxp`|0z!W}_ii&A(+V z{sf3vsoVJU-%ilTNS|0GF`MBJ4U;lOe+jqCX zq*U72i;Dt$@ow)|qS>)+hC*D*b58f@VLz=-I_p|yEGo0DuOOvc#@lf~A&tCv(ymF} z*(Vm*<*u@CnqOU*_C!9*xdiD6cs$<76V$i!{;pDv+U=RPhgmLye#qlSSEtj-aJ ztH_6d3?_7d=fdIVVrrOcY%71Mvp)mLZq(JZvAL;IxZWR3J;=dKi93RMHqdhB`+zSk zyz9OjdSS5hjZI&P_9sP0F0TiZf=bRbX!NhuySbuYm2OIJoxd3!!apqJ`p}gZ(f89& zw3Vs;(=>WgnMLMUrOZrzu5fcOuZbMaSc#v9T0y}x8g7emZ`lHtW7V);ASr>xq`0XL z!H6CnXPsX``wBq?VxPZXI!WN{jz~@6M)_Y>c&2Z_8&@@#G*jLZ2#ReYUxpK^Rrf(B zgfnRg3xcK##ow?Lw+Ukir6y-hkF~@&Kt|S$CWGz50hS~gaiPf{Jm3kS$Z$uGBwb7U zbcI?Y;b%UWh$J;yWP0BGzKXKH2)NUu@o6Ep9C7&hJm|0P3^t>gx*%2ddO zhl47SZ?s7CUcJYA+x0A6Y*tyI1H0u$9-mxc65{r0$b-~6VyV2Qlh`o`%jl3SjBGt( znvm&w6IJryra{^)Msgl>JmO>{)ll7lU>qOqJZWWithk35Z+H#9V)*p@oz|csnUb7k zqDUqbIqTF6fzWgg$kd4A$>B+kBFyq@6=T`$hN1*VAV@WkVJ&W@(J_PY06y)DnKA5c zK(87pUvdIi$MuF#v)C||kvQ=@-j6e)TTw;R@*B)=RH(NOe}F5=)TNb5>=U-}AiRo=JoTM{wt?4+4_|$tO z(j|tFP;fh{sO-r&GHw|Mv>{g~lJu;a1Gzmm9O}JfOnhrZv3g^<{4LOJ+*ycovoW(0 zB$)>96`yj=9CmSvDVD#Y2aI1z(zB6SD^_m;G{RVh0iiHIf0p5Eajg{q$fR(}cbqhb zTX@!!+$vds%NY1UiiM3Cv>_v(j31L>hk%2iJj@DMI`6M&?`IS{kw?WlD%AX7)aL8~ z4G(^X36=|=w;%O$zo6S4EO1K!mw#N(skoy6s`}uRw{6d0=(vPyLY4DQVX0=9k1pbJ z{CSpQYJzuFhP9w<3C?qJSz#8R zTc<*sreVbFvvzBq(%yV)^(|NS)8@&eLK4-z8(v52?$?CdRQoJ1L{?N{*gL)!vaz45 z*r!yzlu+;v7R=1HE$E{{ORvt%*_~%07Afzvoab|(r>=K3UX(#o$WeP191+!Xh~d-bnJv$V7CO<5uG(7fO zw=q2|%uKW5XgWO?aXD|RV{DsqD^MvpzsivBdp`5*eY-#1rkVI#{?m|^k`=@NRl?Hc zpX>=WSDTaIu))v@632=N@p0 z1Q}#_9ZHvQ%GPMt8zCvHko}2KtcBSvHwhJ`9gzN9RCQQm7PH5mMU5>kB)ULE7Epgq zCsW+p-if*$+<6+pZO9RC9=H|yuU2-MK$*DD4l8$Rl@eU#IchrhNHiJ6`p6PV2R@L# zN71RaDlpdbP@KPh065H=h~YUQ!bjb21x!VjYw;;(g9M02f=3=|9)5cTVW1kGZ^WqLHf>HTqJB7i+5q}+Pgr_4=|W=+9V@BuT>!AxkA z&JQPOy*F?rqIleoBSkaaa&f4GZIN9Jx((iyvdWsxv*2lvMkWMCS~Dz|CLx4yE3S#O zJ|H}n1xa>9Gc*ti!Tc9_vrfLqQsORbwb#C1R{=jllcNd6akKb?4OBtDUZ&Sx=w|Sg zf}>E<3feW9Q9@&pwK0fTp54eJBpj9}VF=8>aj&4`v0+*sMuqg-Q%g<|!%=dW&`SfD zL^~bmRvLG^?cE3Mr{aofL;?noVImN&AcDH*O7I;2K+(d0htkwUtqpP&HEYRp=rGfq zG@Et9w7`B)SF$8RfCqFlM?>*}A3I!2G4Us44ShuMbRK=cGBpG{j~M~oZf?0r_-A!L z1*qW`^^sbgzM_?JqzOq?UegT6s?z+W!3W~u00Z+$wwi%dFiKZQPmQPbcYH7?pkU@WNCm_X#>ScX6&EVr!2 zMIc+(FGL6G?NRdiR%dCkZ&vNmVbT+_)>F{Y#fFJ!fWf=E&!pceyGv!|2miH~!R}_w zB)cY)pBju5i?!KxnUez@HLiODCkIJ*OL%b=;Mr1KtPU$;WCshPxwq|uXPql-AA+dz z^LG_cu$q>^d|N@NwAM-~?su3r=J1ouFlH4HGv(GY7h(i@&NGOnkk%mjXFOZ_NbKyX zOQ+Rch>VTipXbIT;6rM?o*s(1B5kh5eDmkt?swjxJzB7_SX8(&{JzOa)cVuT;YE{_ z#qK+bqq`-qc0YH z$ZG;mV$9pl*AbhtQ!|6*F5l8S(0f%e8^1Kfjjs@w+ zS?oX#vUH~!0{~%KUC&N>l)pzjH-KkgEE+$L#ok51_2Gevg- zUOx9wbPWSmRVNyTHdu?(9J3(>)tC2MMmhrIvR@}zd#zUek!}%Vr$jceFuw-fZWISx zcBlXSPTmcP*SO;S>{jiUs}aM>5mYa&<^|~GrCPK0nZUG3JLl!lU2o=AdFZA*hE{r6P zyB4Wz+&z2SLWhIgwj!83nm@m&*7GIck!ynoT~Qpd+J(2c29OLdx9c;$Owgf-`K_skOs8f9BP=H}2Gxr`QRPhwAW@Wje+IK&Bi2Ve(kw zzK%X0(>K@F&w8BJfvRSb2pJTx`{CM7N`>mWy)NCB_YK5%g(7vE^VJHG5&9e|K;OBa9l?T_ce zyK&I>I}ku}zFx(vep%OCedf>JmX@2{GC;ZsWFT@zk$zz@aRXG#e~uXWdi{Ai|8e)% z4vx3@*ZV5EueEBf(dM7s~{0DDg8!p_J`9G6);`?Gd8Sw-b`TC{U zL_75Pa{I)vpBMgij}1&c9ha}(@DuSJG;1%CZ#?~A zw_iagN>lG$qljMPpCDJ~!mo!Yo`>1(&!o;fs*lX8JwD4{-ig<~it5y|>+G1E_V@Px zk)0+`L&c}ch#0KQYz}<*@$jMeH2DNEoXtFTP0C7ec>2P`V8hJSj^%@%7secQ<|HZn ztP)d6Y{L8gq5HX~GCm-fsmAEasFfDgWIA!5HfQB~Dnshd^o+B98KNxQ68YzxhQhSRPtJc1N zVfZ%lN%mWf*CPRqb&}el!^-Dhr#S#cimBS)AN?3gny5Q4d9n`wAUgY^8keGTQZ$h= z{%`B^9Z(9rX7L%9{`97G!sANwTB+dv2j(I7*a~W123FBm4?~nwUO|!mi+I%qG+eS@K5dM^zzadBqzL2!o^6p>8UHRcdF$mueAKxO_4Y?!MTzHIZ}(@V z&5#G{7oqn>bJDDXH?(@r+CYagF2vW}hTN|_vujvUbk0hyow?QlTx5u&WVS=h-*&5{ z*tG0j1ammy?JsmPvsI=)N@Tnwu>@9EWfbin?Mf%yU#Oajt=TAAuH!>cEd2-%-s$Xt z?;escT0a+zJ#}kjcP{fGTgJTPrCPP*^ZiM!Tii2W3~W+fjBbn^OL~iX(68fo|Ba7m z#q%S@jGy|@AG8X>;=T5$2aa;g63MLBLRVAF24FM5GV)o&wa-Z3oGJ-r#CBH|qfv&r z`bCB<@_6xwSZ5hv2}dhz_NzC$C%4}a^PO^sG`6@r@acB0N(j%S)9ucx@ZiJN)1v*CCA zmfZ368AYehh6#J!>;D)*MNG@Z-`!;^j1Tn>c^eFO^*Qbn%@g+F*P?wb*gPBVJf+RN zbog*#o0iCtMfZ&hvd1SAw3Ec$3wkCg`yxK4CIgu&9&LV1E^E0g$GYAx~|5@_mLX z@8Q3b&AUD zTWMWI!Fzr>nP=zM-2Cu`Zn3R07*IKz?;+v_Ckht8;ZSrz z6RNisF*&98$eBd(%O}{Z-B1~;J0Zz7T#}RQV28YZ`eW`(YF&mh?^XVq?cet^!-ErF z{eCtS|3mf4n+5mXNUNqEnFKT_k}Ise!K7wPg2?bb|DWB~hk!|z5n>|Zi{-Te(fQeV zn+G;sQYlHSWDR(bqfDcp!zBMuat%EKqy=qtVqBw9x$ zj?tH%TNoP^KYwb2aOq!m*SWcc{gnLWC9+K3#y*{oBEI_M5L>JVH+Ev?5S3u%SfuBV z0{MAb+L)F!OZ&R1E%MU{FJ)TA@30UTFs7I2B?=%S*IBVA3sFURP-R=I>6dl*83m?Ji+!nB9&*H$Sw<*+t0NcU%V#Hz7;B$!T8F{3dm zO{UKcKI;utofQ#ov%hGD6UjK|BXqpi7I*SHvUHuYX`iZOa}gVR*vW+a z`X^!;XDwN(Kj zj#Z)Bl8MjvX<2nBt+52K?KrRGZXALCQ_PIC-#!UWh4t~N304nACEvT|(}+6sP?CXd z6Yg_?u#l!pPX4EpsdFEaH~X#BpjKBVOdH&fe&4d~fP(0oj^<9I*Vig>(TUlYCBbdh zUQw_Bfeq&kzS%4*7ILNNSG7P36|!%Ywao>W49*nSh-?HOf5iwdmMt`CxR4{cbLD>B z8``IdFK=qw^@cs)ZzNrk)+suR-#(R|pxlPH7mLlqmgZ*!yjILw)>2zpFH2>Wyt@1@ ziqN5A6zi8Xe!VWk$4^%&v4#1}{Yu1|W^4Xf1;Tyy>W4C+LcR1b!kN>bIC^uCD*LLs zLT2YvJ9#~|@#rERHk1XG*ET3f=c`HXsQg-*etcZ}WYiem<4a=C@6y*YPR0YD;NEVj zywe&o$dVFMPqy-rs2@O}qA}Ku`Jr_*GjX-p=C2-AkG(ma{$ydw^O_Iu-toeW!)dC7 z)iUA8mODvSetEpz$_ZBLGRAs=(B?Oe>-NVVJC4_<)x7wiyNNQQyr@hT%8*R#+F#o_ zm+|G(wYgnnk8r`LqXM7mM5zsW>9S9NqW3FO2NIF*{obY8j{48_<8lTCd*^Fy(AfF2 zxTU+HbO8T8otp~|V{coCjO6VxPu*VyUx@NruX_~|`vNS7 z%%Ja>&33Kc^u6hA6=-_Mhg3vaj#Xc+yt|-waT-z-o2T!FFxf}D{x~ntHD0;H#TDSTGs&n6vYs*UKIXN4B?Q-xs-ok}b6xZe#* z3>MR_hTlr)H@{?JMjL=2y86pI1+x|7V6vp~NfgXKc^>oIQU(^qw!}aY2`0Lz-H4o7 zYYF*MKzkimNF>Mhek%;u;44l{B>PQ1Q}o7<+QJks(txxF24f^=)I>5RoakD5q3X1s zDM`<9ypJ%FNoQzbd@=@$kAQe}z@MS{1yWD|QDPuj51Us@)4DrZlMphHsV-xfe;mnk z5PZq@_F?P<11fN~(EVK7Z>tko=}yEYdxQQ)Lx6Mu@aHEreI3jK*(sZ@4D%4caTv*l zy-q~U+ffZLh$Rl`pb96Y1@1<+k^r$uK7M$Nh%j$3$&}{Tj+#Ba3br)9pNxc0Y6~zvNd-Z^Z^x2i8v?td zTz#l_Fgw0x0qm{Qm7}ll?EVbF8r6TcYhu1~m&zRk1fbxrYk(1rC!~WJ)_bNCJIesJHxMEk9&&=v8{!T>{EBO%u1*Fb6(a&E{;IB# zQ+<%z7HNh-&qACmq0cAifXX4#!TeGta5LmcqN|XZNgrfc0u=rH3#8pMT~qn+7-44= zj7uSO8>TyIf{fDty_bUC2sJzyK5uI$RKxeBd4%AqRnVe3T?i>5xNc3Y6zq8c3vlP_ zAqlO!euDFF71#=-K%3Rf%>wnJ`v< z!haL6%fdq04VTSA;1Y6o-mkF~Vt?c0;8Uwb@`>F_^4~dG%bM>}ap4WKG{EY5-$WKY zJ`#SBJD717{VY_2uiI`NwO#hQn(geXIovhR!-!KB5Zq>^OGSLCW5h_-17Y4ufl%h( z{V3SzWMKzu-prZ*aj#QS6)<}1!WhCmaN_8PX`avE>xw+nt}ePRs@+MPDCKi;N$f+7 zy+}psM}*=l;mw;S5l^>bV(rc&r1d24y)?V{G;0zuPR=O)#U{l9Lvq(EPAvZsyA{Z1 zIX*b*mH5`v3@L5E?0lso?YhuLwp)m@Y|Di&t3a#(Dm12ASCKwXZ0Gj&&LG;9U zdoF}{gj81IdyTXn2!Wu~fJV^p4OSI(6OVx{7Ei4gK=+C3S;Cu3I1iB0*wJ82Y!O=2 z?d(e~-OaMcnR)fBuCKvZ_62lw>Bsn(0tVC{BLzSWa|HfkE(ziIRF^ROcSbJqx;2ph zzTt|uKC3}2e`$XDN_3A=XPUkGyWuN%hDm>pX<~vjPH0Hx23oC6l!*a z4w|4+evI2Nzr@b&lMir~X7_PI0u_UdCMS~tRJ)eb{kBkQxF6oRRNut9I+i8a^Fsc;h%ML9 zl9~D{4VeN#bwkp`gJkeCUTvj|a1Bzc;bRLuI`sGiod)DaGmq!K%Ej!*IzVCLR=`m- zf~!%mM{_(G3+Xld{pnLIlBEr4v$A90&jV*}9MTIv#Qe-)3}6$vB5`fdY0Wt zguCBFzBg^ZxQScy)WBJu>spmKJ~`QQ0yXOay%aL)QFx?Y5vum;0;D~y%pv-6J*i?9 z{`5>(m-e%b@OMkdN4u|dzH^$;Cf^uQ%IDAQs4PB_?yLO!AAla%y)k6PJ8N?2R{z{U zLa*w7K%dnWqSus1-tVsSU$)GIN3y)qe``FcHu?W2!w#&4>3L={F-;+1qn@{q)E|cO zSF*fISc6Y(*wTg7k>X-!eI96)OU!s3LJXa9@;vPf;m^R$P(=D3>|uXAn?Y%)(q&3L0N*{x#)B(D3aM{cug%NTnw$32 zEqO5E-RGcWW;mXf-0&w}?1S;P>PXhymy@Dc3i0Wg{{X!UHt$YeFx!T!{w5Zut$!?p zPYEjV^**)in7?58PUK2I^95S;Lc4p*M~U~ZZp!Tho5iTFO7}=6#SPgM;g$XaB0z6z z@)dfT=veq(lh<~|x><)fX!OwBlCtDITQ3m7JAYec{q};uKvzhq%B2fP@;7a4gtl_`QN<9&{yAs>aCncNF2 z{(<{~5=u6ALCC%aI<`FcG8nb2&^<7j$734*0T~z0{IcjJL}tAlE;Ij!wlP#-+H@JMtUN@NM~LNG0hPxuv~h))y`iccb4b-@A98;7lGU zetz)rRG=V2FORO_f)ZG?GZTzC!}`~{opx@|&{SB|t_1g6R<4J>`nMy6&&_Kq6mK1^ zdxF-oL9#czJTA+D*N}PY=i)=5jcN@(+r7@|69tQ@xe{GRFQWeg@PyUvSu6Chkg7MB zly^-vfvgB_|J-&9A(E%0^3%|Fx~{G*=EDTb6ijGT#>QDe z)XAToV(;P2V^l9aZA&n=ZWqL;Kq+q93?$R9CZie`8?rocA)QfDKd3Q$SvZX7wcr1J zQe0%&4@O*|m=s-{G|;6{9=;Hz;PsHN9aZK|iR>nCH@!#Lms*(=J zGssZ0n6ldnE8WzniN3F$*5x?`VSu_-Jd!9905# zPuXpyyu-=N>I_8)y;34j?-@0;bdBz}c5%Qf|2NIyq5jq1V41?nU7;pP;3V7r>||;% zg+Tfp=b4`C&=uzD&9Ht>xhAcAhr)MWdW^Ez;eCu@;X65dR$N}6m84y#@2C)0!mU1c zv9wEcS*uT`K%*On50@+kmO~uDFkGEkS*5Wk7C&6#r#eMR3mu4sm?w`^{jc{B_tj1Y zonVh*cepP%-A7`8vYbh3&AnHTbSp7S_`zFuB-uv(0{Qj;cm?rBCAA8v@EnINd$guG zR)%c0H#diUVxN$W%%P;B=VczYzrt|;5+F9Z!Pf3ut|_b1%3>H%qDXJfsN>sF?(+m$ zAB84fb9@AW557J%&~?O#JX^4MUX74Am_;4%(K*pSQ*Suv zSgzG9U-s0Xnde<{+RBo_$2^>io-PhR^5GJr0#>WCk|qjAP?H?GcL^sCX6z@rCFW>Cm^inSh71D$N|ip)zF2a^Yj#4JN}4oZX2 z05@mmAwhL%smNj|EYj$4p@R4xp)6DFFk3d$u+D({xAdd`*IA6L%dAOWMf?OWYoDbn z298`1iu0&ll5UL&Pl{51Ev=X%FvutK+W?ydSHjaC!JGPPE^Ew1Ls}11?Y=l9vS?2y zGt8Ww)5qLzzoheFLzPvtb_^>tJr*p{Y5c}#v#g}*=%>^5f*u|097otp6zbcu8Y+2_G z=0DFs{F*(K>X6!QR^HxeCL!JS9}pUHGFcC~CJmWAxGZYeO2`CJWpigM%Bg=Y_V!qd zDF&VV3$7Xe-oM$bm8+ZVPPowIaL_H|6NNC_ZE;b>;wsU2()NYg>aKWo$n#Xsf3YQcfVIMCftB4vYV-{1=VuV3TG1g_QxXE znO|PfKfp^UYgIm8C*{^LQg>?|btaD0isL;+^K7SFLt3BoT^yt9hX}6CY`K51 zXluI^Nw)o^Wk3Sw&cAi`!XnV&8vOctBafPt|GlC4?pZDPc%p+!d;PBN0o*FoS3 z)LX(EuV}nEoe8y=Ap>c3Vg@OwSz0V29ml+Bt)*ktd`$(c=P+9$Ux)YBYGoudf*X9o zX6XK$#LnG_X8dQ$3~NHq15LRyEwjZBj+a7z+E#zp9Snku&_!3tMEt4qIJkAI^-rT8_2XV3K9K zkf}?E>CuKI`wqJ{d0}M9{V(PNz?)}-d6XSZlQg0aeXpWA!Lk^6nl`< zS&39fn@7DyY6b&+{E{Oy@en^eC^_+qCP=`x^-6>~4GYHcn7#BH-`KD>K|Jgq--b51 zb^{Jcp#j$TXBUr69^xeSek<5xgWxRQY%B?aiaD)=K}yOB>nVn9e=j;j-#7^EBJk#K zCN_Y2n;efHEIK0GT(C!6HhmI4i`BumY0PZ8KuCW&rPaGBl5HoG=|M{FUtb{SG0<1KsKNn&AO}C2H4Tp z+LZn2t_Rc=R&tNvJrG^1q=dKCH|5lS90(*S_WrcCTnccehA?C4@ud4tZ0+$SJG7MNo7Hqi)d~>pbP_x=X8(8>3(t$jB z05`TxKP~=j{_SW{$MH5OjmsZX1_lz3K-`a`&TJn z-3jJ*qYh+!TH@L3<9viF6P@%Nv`) aZWHH}$+b`YGIhgXgu;SdyGN>WIu%KSaZ5 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

9-H*8Hg20ru5$|45 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 UWVx+o7ig*H_ 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