├── .Rbuildignore ├── .gitignore ├── .travis.yml ├── CODE_OF_CONDUCT.md ├── DESCRIPTION ├── LICENSE ├── README.Rmd ├── README.md ├── README_files └── figure-gfm │ └── map-1.png ├── _config.yml ├── about.md ├── assets ├── image.pptx ├── logo.png ├── reprohack-banner.png ├── reprohack-webad_N8-01.png ├── reprohack_image.pdf ├── reprohack_image.png ├── reprohack_image_high.png └── workflow.png ├── comms.md ├── data └── event-log.csv ├── dev_directions.md ├── faq.md ├── hex └── reprohack.png ├── meeting_minutes.md ├── news.md ├── newsletters └── 2019-10-01.md ├── organiser_instructions ├── README.md ├── logo-hex │ ├── make_hex.R │ ├── reprohack-banner.png │ ├── reprohack-graphic1.png │ ├── reprohack.png │ └── reprohack.svg ├── templates │ ├── CODE_OF_CONDUCT.md │ └── faq.md ├── ways_to_reprohack.md └── workflow.png ├── reprohack-hq.Rproj └── tic.R /.Rbuildignore: -------------------------------------------------------------------------------- 1 | ^README\.Rmd$ 2 | ^\.travis\.yml$ 3 | ^tic\.R$ 4 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | .Rproj.user 2 | .Rhistory 3 | .RData 4 | .Ruserdata 5 | .DS_Store 6 | *~$* 7 | README.html 8 | *.html 9 | assets/reprohack-graphic.* 10 | hex/*landscape* 11 | assets/*gform* 12 | -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- 1 | # tic documentation: https://docs.ropensci.org/tic/dev/ 2 | 3 | # OS --------------------------------------------------------------------------- 4 | os: linux 5 | dist: bionic 6 | 7 | # meta ------------------------------------------------------------------------- 8 | language: r 9 | cache: 10 | - packages 11 | - $HOME/.ccache 12 | latex: false 13 | 14 | env: 15 | global: 16 | - MAKEFLAGS="-j 2" 17 | 18 | # Stages ----------------------------------------------------------------------- 19 | 20 | # DO NOT CHANGE THE CODE BELOW ------------------------------------------------- 21 | before_install: 22 | - R -q -e 'if (!requireNamespace("remotes")) install.packages("remotes")' 23 | - R -q -e 'if (getRversion() < "3.2" && !requireNamespace("curl")) install.packages("curl")' 24 | - R -q -e 'remotes::install_github("ropenscilabs/tic"); print(tic::dsl_load()); tic::prepare_all_stages()' 25 | - R -q -e 'tic::before_install()' 26 | install: R -q -e 'tic::install()' 27 | before_script: R -q -e 'tic::before_script()' 28 | script: R -q -e 'tic::script()' 29 | after_success: R -q -e 'tic::after_success()' 30 | after_failure: R -q -e 'tic::after_failure()' 31 | before_deploy: R -q -e 'tic::before_deploy()' 32 | deploy: 33 | provider: script 34 | script: R -q -e 'tic::deploy()' 35 | on: 36 | all_branches: true 37 | after_deploy: R -q -e 'tic::after_deploy()' 38 | after_script: R -q -e 'tic::after_script()' 39 | # DO NOT CHANGE THE CODE ABOVE ------------------------------------------------- 40 | -------------------------------------------------------------------------------- /CODE_OF_CONDUCT.md: -------------------------------------------------------------------------------- 1 | ReproHack Project Code of Conduct 2 | ============================== 3 | 4 | This code of conduct outlines our expectations for participants within the 5 | ReproHack community, as well as steps to reporting unacceptable behavior. We are 6 | committed to providing a welcoming and inspiring community for all and expect 7 | our code of conduct to be honored. 8 | 9 | Everyone participating in ReproHack activities is required to conform to the Code 10 | of Conduct. This Code of Conduct applies to all spaces managed by the ReproHack 11 | organisation including, but not limited to, events, email lists, and online forums 12 | such as GitHub, Slack and Twitter. Event hosts are expected to assist with the 13 | enforcement of the Code of Conduct. Anyone who violates this code of conduct may 14 | be banned from the community, both online and in-person. 15 | 16 | Our open source community strives to: 17 | 18 | * **Be friendly and patient.** 19 | 20 | * **Be welcoming**: We strive to be a community that welcomes and 21 | supports people of all backgrounds and identities. This includes, but is not 22 | limited to members of any race, ethnicity, culture, national origin, colour, 23 | immigration status, social and economic class, educational level, sex, sexual 24 | orientation, gender identity and expression, age, size, family status, 25 | political belief, religion, and mental and physical ability. 26 | 27 | * **Be considerate**: Your work will be used by other people, and you in turn 28 | will depend on the work of others. Any decision you take will affect users 29 | and colleagues, and you should take those consequences into account when 30 | making decisions. Remember that we're a world-wide community, so you might 31 | not be communicating in someone else's primary language. 32 | 33 | * **Be respectful**: Not all of us will agree all the time, but disagreement is 34 | no excuse for poor behavior and poor manners. We might all experience some 35 | frustration now and then, but we cannot allow that frustration to turn into a 36 | personal attack. It’s important to remember that a community where people 37 | feel uncomfortable or threatened is not a productive one. 38 | 39 | * **Be careful in the words that we choose**: We are a community of 40 | professionals, and we conduct ourselves professionally. Be kind to others. Do 41 | not insult or put down other participants. Harassment and other exclusionary 42 | behavior aren't acceptable. This includes, but is not limited to: Violent 43 | threats or language directed against another person, Discriminatory jokes and 44 | language, Posting sexually explicit or violent material, Posting (or 45 | threatening to post) other people’s personally identifying information 46 | (“doxing”), Personal insults, especially those using racist or sexist terms, 47 | Unwelcome sexual attention, Advocating for, or encouraging, any of the above 48 | behavior, Repeated harassment of others. In general, if someone asks you to 49 | stop, then stop. 50 | 51 | * **Try to understand why we disagree**: Disagreements, both social and 52 | technical, happen all the time. It is important that we resolve disagreements 53 | and differing views constructively. Remember that we’re different. Diversity 54 | contributes to the strength of our community, which is composed of people 55 | from a wide range of backgrounds. Different people have different 56 | perspectives on issues. Being unable to understand why someone holds a 57 | viewpoint doesn’t mean that they’re wrong. Don’t forget that it is human to 58 | err and blaming each other doesn’t get us anywhere. Instead, focus on helping 59 | to resolve issues and learning from mistakes. 60 | 61 | * **We are all here to make Research Better!**: As a participant reviewing authors' work, 62 | be mindful that they are being incredibly brave by sharing their work for review! 63 | Many authors will be self-taught and will have tried their best to make their 64 | work reproducible, often with no formal training or guidance on how to do it. 65 | Yet they are allowing the community to learn from examining their work. Please 66 | appreciate their efforts and make your comments and suggestions in good faith. 67 | 68 | Equally, as authors receiving feedback, please be mindful of the fact that reviewers 69 | may be complete beginners. You may receive suggestions that are simplistic or unworkable. 70 | Please engage with them in good faith and use them to help reviewers learn. 71 | Also, what appears obvious to you the author may well seem cryptic or confusing 72 | to folks outside your project. Embrace any feedback regarding incomplete or 73 | confusing documentation as valuable insight. 74 | 75 | ### Diversity Statement 76 | 77 | We encourage everyone to participate and are committed to building a community 78 | for all. Although we will fail at times, we seek to treat everyone both as 79 | fairly and equally as possible. Whenever a participant has made a mistake, we 80 | expect them to take responsibility for it. If someone has been harmed or 81 | offended, it is our responsibility to listen carefully and respectfully, and do 82 | our best to right the wrong. 83 | 84 | Although this list cannot be exhaustive, we explicitly honor diversity in age, 85 | gender, gender identity or expression, culture, ethnicity, language, national 86 | origin, political beliefs, profession, race, religion, sexual orientation, 87 | socioeconomic status, and technical ability. We will not tolerate 88 | discrimination based on any of the protected characteristics above, including 89 | participants with disabilities. 90 | 91 | ### Reporting Issues 92 | 93 | If you experience or witness unacceptable behavior, or have any other concerns, 94 | please report it by completeing our [CoC Incident Report form](https://forms.gle/ukXPeMPsrp9psJTG6) . All reports will be handled with discretion. 95 | 96 | The ReproHack Code of Conduct Committee is responsible for enforcing the Code of Conduct. It can be contacted by emailing [reprohack-coc@googlegroups.com](mailto:reprohack-coc@googlegroups.com). All reports will be reviewed by the Code of Conduct Committee and will be kept confidential. 97 | 98 | 99 | After filing a report, a representative will contact you personally, review the 100 | incident, follow up with any additional questions, and make a decision as to 101 | how to respond. The respondent will apply measured response to remove harassers 102 | and harassment from this project. 103 | 104 | If the person who is harassing you is part of the response 105 | team, they will recuse themselves from handling your incident. If the complaint 106 | originates from a member of the response team, it will be handled by a 107 | different member of the response team. We will respect confidentiality requests 108 | for the purpose of protecting victims of abuse. 109 | 110 | 111 | ### Attribution & Acknowledgements 112 | 113 | This code of conduct has been adapted from the [Galaxy Project](https://github.com/galaxyproject), and was itself initially based on the Open Code of Conduct from the TODOGroup. -------------------------------------------------------------------------------- /DESCRIPTION: -------------------------------------------------------------------------------- 1 | Type: Compendium 2 | Package: reprohack-HQ 3 | Title: Reprohack HQ repository 4 | Version: 0.0.1 5 | Authors@R: 6 | person(given = "Anna", 7 | family = "Krystalli", 8 | role = c("aut", "cre"), 9 | email = "annakrystalli@googlemail.com", 10 | comment = c(ORCID = "0000-0002-2378-4915")) 11 | Description: Compendium description 12 | License: What license it uses 13 | Depends: 14 | dplyr, 15 | emo, 16 | glue, 17 | here, 18 | knitr, 19 | leaflet, 20 | readr, 21 | rmarkdown 22 | Remotes: 23 | hadley/emo 24 | Encoding: UTF-8 25 | LazyData: true 26 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2019 reprohack 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.Rmd: -------------------------------------------------------------------------------- 1 | --- 2 | title: ReproHack HQ 3 | output: github_document 4 | always_allow_html: yes 5 | --- 6 | 7 | 8 | 9 | ```{r, include = FALSE} 10 | knitr::opts_chunk$set( 11 | collapse = TRUE, 12 | comment = "#>", 13 | echo = FALSE, knitr.kable.NA = '', message = FALSE, warning = FALSE 14 | ) 15 | library(dplyr) 16 | library(leaflet) 17 | ``` 18 | 19 | Welcome to the ReproHack Headquarters! :tada: 20 | 21 | 22 | 23 | 24 | 25 | [![Project Status: WIP – Initial development is in progress, but there has not yet been a stable, usable release suitable for the public.](https://www.repostatus.org/badges/latest/wip.svg)](https://www.repostatus.org/#wip) [![Slack](https://img.shields.io/badge/slack-join%20us-brightgreen)](https://reprohack-autoinvite.herokuapp.com/) 26 | 27 | [![Newsletter](https://img.shields.io/badge/subscribe-newsletter-blueviolet?style=for-the-badge)](https://tinyletter.com/reprohack-hq) 28 | 29 | 30 | *** 31 | 32 |
33 | 34 | > ## `r emo::ji("construction")` NEW HUB UNDER CONSTRUCTION! `r emo::ji("construction")` 35 | > 36 | > _We are building a custom website to facilitate ReproHack activities going forwards. It is still very much under construction and buggy but hoping to have it functional by early next year._ 37 | > 38 | > _You can [check it out](http://annakrystalli.pythonanywhere.com/) or if you have Django skills [contribute](https://github.com/reprohack/reprohack_site)!_ 39 | 40 | *** 41 | 42 | ## What is a ReproHack 43 | ### A one day, hands-on Reproducibility Hackathon 44 | 45 | 46 | We are all excited by the progress made by many authors to **make their papers reproducible by publishing associated code and data**. 47 | 48 | We know how challenging it can be so we **want to showcase the value of the practice**, both for original authors and as a learning experience for those who attempt to reproduce the work. 49 | 50 | 51 | 52 | ## **Event format**: 53 | 54 | During a ReproHack, **participants attempt to reproduce published research of their choice from a list of proposed papers with publicly available associated code and data**. 55 | 56 | Participants get to work with other people's material in a low pressure environment and record their experiences on a number of key aspects, including reproducibility, transparency and reusability of materials. At the end of the day we regroup, share our experiences and give feedback to the authors. 57 | 58 | It's imperative to note that **ReproHacks are by no means an attempt to criticise or discredit work**. We see reproduction as **beneficial scientific activity in itself**, with useful outcomes for authors and valuable learning experiences for the participants and the research community as a whole. 59 | 60 | 61 | ## **Ways to participate** 62 | 63 |
64 | 65 | ### :page_facing_up: **Propose a paper** 66 | 67 | ##### You've put a lot of effort into making your work reproducible. Now let people learn from and engage with it! 68 | 69 | Benefits to authors: 70 | 71 | - **Feedback** on the reproducibility of your work. 72 | 73 | - **Appreciation** for your efforts in making your work reproducible. 74 | 75 | - Opportunity to **engage others with your research**. 76 | 77 |
78 | 79 | ### :arrows_counterclockwise: :white_check_mark: **Reproduce** 80 | 81 | 82 | ##### Join us at the ReproHack and get working with other people's material. 83 | 84 | Benefits to participants: 85 | 86 | - **Practical experience in reproducibility** with real published materials and the opportunity to explore different tools and strategies. 87 | 88 | - **Inspiration** from working with other people’s code and data. 89 | 90 | - An appreciation that **reproducibility is non trivial** but that opening up your work for more people to engage with is the best way to help improve it. 91 | 92 | - An appreciation that **reproducibility has community value beyond just the validation of the results**. For example, access to such materials increases the potential for reuse and understanding of the work. 93 | 94 | **Benefits to the whole research community:** 95 | 96 | - Assessment of how reproducible papers are ‘out of the box’. 97 | 98 | - Evaluation of how successful current practices are and for what purpose. 99 | 100 | - Identification of what works and where the most pressing weaknesses in our approaches are. 101 | 102 | 103 | *** 104 | 105 | ## Contributing 106 | 107 | ### Run a ReproHack! 108 | 109 | Please get in touch if you would like to run a ReproHack. We are working to make materials more reusable and easier to reproduce and also on developing guidance on organising and running an event so that in future folks will be able to run everything independently. 110 | There are currently [reusable materials](https://github.com/reprohack/reprohack-template-shiny) and [instructions for organisers](organiser_instructions.md). However, there are plans to streamline the materials & workflow. At this stage, we also really appreciate contact with organisers in order to both help and to learn from their experiences. 111 | 112 | ### Hack the ReproHack! 113 | 114 | There are a [number of topics](dev_directions.md) we are working on to improve the events and make them reproducible and scalable. Details on the main development directions can be found in the on the 115 | 116 | See [Roadmap]() for more details on milestones 117 | 118 |
119 | 120 | *** 121 | 122 | # Upcoming Reprohacks 123 | 124 | ```{r} 125 | event_log <- readr::read_csv("data/event-log.csv") %>% 126 | mutate(upcoming = date >= Sys.Date()) %>% 127 | mutate(title = glue::glue("[{title}]({url})")) 128 | 129 | event_log %>% 130 | filter(upcoming == TRUE) %>% 131 | select(-lat, - lon, -upcoming, -room, -address, -url) %>% 132 | arrange(date) %>% 133 | knitr::kable() 134 | ``` 135 | 136 | 137 | ## Past Reprohacks 138 | 139 | ```{r} 140 | event_log %>% 141 | filter(upcoming == FALSE) %>% 142 | select(-lat, - lon, -upcoming, -room, -address, -url) %>% 143 | arrange(date) %>% 144 | knitr::kable() 145 | ``` 146 | 147 | ## Map of Reprohacks 148 | 149 | ```{r map} 150 | plot_log <- event_log %>% 151 | mutate(color = case_when(upcoming == TRUE ~ "green", 152 | upcoming == FALSE ~ "orange")) 153 | 154 | 155 | #pal <- colorFactor(c("green", "orange"), c(FALSE, TRUE)) 156 | 157 | icons <- awesomeIcons( 158 | icon = 'ios-close', 159 | iconColor = 'black', 160 | library = 'ion', 161 | markerColor = plot_log$color 162 | ) 163 | 164 | plot_log %>% 165 | leaflet() %>% 166 | addProviderTiles("CartoDB.Positron") %>% 167 | addAwesomeMarkers(icon = icons) #%>% 168 | #addLegend("bottomright", pal = pal, values = ~upcoming, 169 | #opacity = 0.7) 170 | ``` 171 | 172 | *** 173 | 174 | 175 | ## More on the ReproHack: 176 | 177 | - **Blogpost**: [ReproHacking at Opencon London 2017 Doathon](https://rse.shef.ac.uk/blog/opencon-london/) 178 | - **Blogpost**: [Reprohacking at CarpentryConnect Manchester 2019](https://software.ac.uk/blog/2019-08-07-reprohacking-carpentryconnect-manchester-2019) 179 | - **Comunity Call**: Section on ReproHack on [Reproducible Research with R, rOpenSci Community Call](https://vimeo.com/351259131) 180 | - **Blogpost**: [Reproducibility Hackathon Netherlands – the aftermath](https://www.software.ac.uk/blog/2020-01-15-reproducibility-hackathon-netherlands-aftermath) 181 | - **Blogpost**: [N8 CIR ReproHack Northern Tour - Winter 2020](https://n8cir.org.uk/news/reprohacks/) 182 | 183 | 184 | ## Many ways to ReproHack! 185 | 186 | ![](assets/workflow.png) 187 | 188 | 189 | 190 | *** 191 | 192 |
193 | 194 | [![Slack](https://img.shields.io/badge/slack-join%20us-brightgreen)](https://reprohack-autoinvite.herokuapp.com/) 195 | 196 | ### Subscribe to our Newsletter 197 | 198 | [![Newsletter](https://img.shields.io/badge/subscribe-newsletter-blueviolet?style=for-the-badge)](https://tinyletter.com/reprohack-hq) 199 | 200 | ## Team 201 | - [Florencia D’Andrea](https://github.com/flor14) 202 | - [Daniela Gawehns](https://github.com/DanielaGawehns) 203 | - [Anna Krystalli](https://github.com/annakrystalli) 204 | - [Linda Nab](https://github.com/LindaNab) 205 | - [Ricarda Proppert](https://github.com/RicardaP) 206 | - [Paloma Rojas Saunero](https://github.com/palolili23) 207 | 208 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | ReproHack HQ 2 | ================ 3 | 4 | 5 | 6 | Welcome to the ReproHack Headquarters\! :tada: 7 | 8 | 9 | 10 | 11 | 12 | [![Project Status: WIP – Initial development is in progress, but there 13 | has not yet been a stable, usable release suitable for the 14 | public.](https://www.repostatus.org/badges/latest/wip.svg)](https://www.repostatus.org/#wip) 15 | [![Slack](https://img.shields.io/badge/slack-join%20us-brightgreen)](https://reprohack-autoinvite.herokuapp.com/) 16 | 17 | [![Newsletter](https://img.shields.io/badge/subscribe-newsletter-blueviolet?style=for-the-badge)](https://tinyletter.com/reprohack-hq) 18 | 19 | 20 | ----- 21 | 22 |
23 | 24 | > ## :tada: NEW HUB CONSTRUCTION COMPLETE\! :tada: 25 | > 26 | > OUR NEW SITE IS NOW READY! 27 | > 28 | > ## Find us at [reprohack.org](http://reprohack.org) 29 | 30 | ----- 31 | 32 | ## What is a ReproHack 33 | 34 | ### A one day, hands-on Reproducibility Hackathon 35 | 36 | We are all excited by the progress made by many authors to **make their 37 | papers reproducible by publishing associated code and data**. 38 | 39 | We know how challenging it can be so we **want to showcase the value of 40 | the practice**, both for original authors and as a learning experience 41 | for those who attempt to reproduce the work. 42 | 43 | ## **Event format**: 44 | 45 | During a ReproHack, **participants attempt to reproduce published 46 | research of their choice from a list of proposed papers with publicly 47 | available associated code and data**. 48 | 49 | Participants get to work with other people’s material in a low pressure 50 | environment and record their experiences on a number of key aspects, 51 | including reproducibility, transparency and reusability of materials. At 52 | the end of the day we regroup, share our experiences and give feedback 53 | to the authors. 54 | 55 | It’s imperative to note that **ReproHacks are by no means an attempt to 56 | criticise or discredit work**. We see reproduction as **beneficial 57 | scientific activity in itself**, with useful outcomes for authors and 58 | valuable learning experiences for the participants and the research 59 | community as a 60 | whole. 61 | 62 | ## **Ways to participate** 63 | 64 |
65 | 66 | ### :page\_facing\_up: **Propose a paper** 67 | 68 | ##### You’ve put a lot of effort into making your work reproducible. Now let people learn from and engage with it\! 69 | 70 | Benefits to authors: 71 | 72 | - **Feedback** on the reproducibility of your work. 73 | 74 | - **Appreciation** for your efforts in making your work reproducible. 75 | 76 | - Opportunity to **engage others with your 77 | research**. 78 | 79 |
80 | 81 | ### :arrows\_counterclockwise: :white\_check\_mark: **Reproduce** 82 | 83 | ##### Join us at the ReproHack and get working with other people’s material. 84 | 85 | Benefits to participants: 86 | 87 | - **Practical experience in reproducibility** with real published 88 | materials and the opportunity to explore different tools and 89 | strategies. 90 | 91 | - **Inspiration** from working with other people’s code and data. 92 | 93 | - An appreciation that **reproducibility is non trivial** but that 94 | opening up your work for more people to engage with is the best way 95 | to help improve it. 96 | 97 | - An appreciation that **reproducibility has community value beyond 98 | just the validation of the results**. For example, access to such 99 | materials increases the potential for reuse and understanding of the 100 | work. 101 | 102 | **Benefits to the whole research community:** 103 | 104 | - Assessment of how reproducible papers are ‘out of the box’. 105 | 106 | - Evaluation of how successful current practices are and for what 107 | purpose. 108 | 109 | - Identification of what works and where the most pressing weaknesses 110 | in our approaches are. 111 | 112 | ----- 113 | 114 | ## Contributing 115 | 116 | ### Run a ReproHack\! 117 | 118 | Please get in touch if you would like to run a ReproHack. We are working 119 | to make materials more reusable and easier to reproduce and also on 120 | developing guidance on organising and running an event so that in future 121 | folks will be able to run everything independently. There are currently 122 | [reusable 123 | materials](https://github.com/reprohack/reprohack-template-shiny) and 124 | [instructions for organisers](organiser_instructions.md). However, there 125 | are plans to streamline the materials & workflow. At this stage, we also 126 | really appreciate contact with organisers in order to both help and to 127 | learn from their experiences. 128 | 129 | ### Hack the ReproHack\! 130 | 131 | There are a [number of topics](dev_directions.md) we are working on to 132 | improve the events and make them reproducible and scalable. Details on 133 | the main development directions can be found in the on the 134 | 135 | See [Roadmap]() for more details on milestones 136 | 137 |
138 | 139 | ----- 140 | 141 | # Upcoming Reprohacks 142 | 143 | | title | date | start\_time | end\_time | city | country | 144 | | :---- | :--- | :---------- | :-------- | :--- | :------ | 145 | 146 | ## Past Reprohacks 147 | 148 | | title | date | start\_time | end\_time | city | country | 149 | | :-------------------------------------------------------------------------------------------------------------------------- | :--------- | :---------- | :-------- | :---------- | :---------- | 150 | | [ReproHack @ OpenCon Berlin](https://github.com/annakrystalli/OpenConBerlin_ReproHack) | 2016-11-24 | 13:00:00 | 18:00:00 | Berlin | Germany | 151 | | [ReproHack @ OpenCon London](https://github.com/OpenCon-London/OpenCon_London-Doathon/blob/master/README.md) | 2017-11-21 | 09:00:00 | 17:00:00 | London | UK | 152 | | [ReproHack @ CarpentryConnect Mcr](https://sheffield-university.shinyapps.io/ReproHack_CCMcr/) | 2019-06-27 | 09:30:00 | 15:30:00 | Manchester | UK | 153 | | [ReproHack NL](https://www.eventbrite.co.uk/e/reprohack-nl-tickets-73258469053?aff=erelexpmlt) | 2019-11-30 | 10:00:00 | 17:00:00 | Leiden | Netherlands | 154 | | [Reprohack @ PyData LA](https://njnm.shinyapps.io/ReproHack_PDLA19/) | 2019-12-03 | 12:30:00 | 17:30:00 | Los Angeles | USA | 155 | | [N8 CIR ReproHack Newcastle](https://www.eventbrite.co.uk/e/n8-cir-reprohack-newcastle-university-tickets-83584660971) | 2020-01-21 | 10:00:00 | 17:00:00 | Newcastle | UK | 156 | | [N8 CIR ReproHack Leeds](https://www.eventbrite.co.uk/e/n8-cir-reprohack-university-of-leeds-tickets-83582961889) | 2020-02-11 | 10:00:00 | 17:00:00 | Leeds | UK | 157 | | [N8 CIR ReproHack Liverpool](https://www.eventbrite.co.uk/e/n8-cir-reprohack-university-of-liverpool-tickets-83584650941) | 2020-02-25 | 10:00:00 | 17:00:00 | Liverpool | UK | 158 | | [N8 CIR ReproHack Sheffield](https://www.eventbrite.co.uk/e/n8-cir-reprohack-university-of-sheffield-tickets-83581940835) | 2020-03-10 | 10:00:00 | 17:00:00 | Sheffield | UK | 159 | | [N8 CIR ReproHack Manchester](https://www.eventbrite.co.uk/e/n8-cir-reprohack-university-of-manchester-tickets-83583756265) | 2020-03-12 | 10:00:00 | 17:00:00 | Manchester | UK | 160 | 161 | ## Map of Reprohacks 162 | 163 | ![](README_files/figure-gfm/map-1.png) 164 | 165 | ----- 166 | 167 | ## More on the ReproHack: 168 | 169 | - **Blogpost**: [ReproHacking at Opencon London 2017 170 | Doathon](https://rse.shef.ac.uk/blog/opencon-london/) 171 | - **Blogpost**: [Reprohacking at CarpentryConnect 172 | Manchester 2019](https://software.ac.uk/blog/2019-08-07-reprohacking-carpentryconnect-manchester-2019) 173 | - **Comunity Call**: Section on ReproHack on [Reproducible Research 174 | with R, rOpenSci Community Call](https://vimeo.com/351259131) 175 | - **Blogpost**: [Reproducibility Hackathon Netherlands – the 176 | aftermath](https://www.software.ac.uk/blog/2020-01-15-reproducibility-hackathon-netherlands-aftermath) 177 | - **Blogpost**: [N8 CIR ReproHack Northern Tour - 178 | Winter 2020](https://n8cir.org.uk/news/reprohacks/) 179 | 180 | ## Many ways to ReproHack\! 181 | 182 | ![](assets/workflow.png) 183 | 184 | ----- 185 | 186 |
187 | 188 | [![Slack](https://img.shields.io/badge/slack-join%20us-brightgreen)](https://reprohack-autoinvite.herokuapp.com/) 189 | 190 | ### Subscribe to our Newsletter 191 | 192 | [![Newsletter](https://img.shields.io/badge/subscribe-newsletter-blueviolet?style=for-the-badge)](https://tinyletter.com/reprohack-hq) 193 | 194 | ## Team 195 | 196 | - [Florencia D’Andrea](https://github.com/flor14) 197 | - [Daniela Gawehns](https://github.com/DanielaGawehns) 198 | - [Anna Krystalli](https://github.com/annakrystalli) 199 | - [Linda Nab](https://github.com/LindaNab) 200 | - [Ricarda Proppert](https://github.com/RicardaP) 201 | - [Paloma Rojas Saunero](https://github.com/palolili23) 202 | -------------------------------------------------------------------------------- /README_files/figure-gfm/map-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/reprohack/reprohack-hq/46c86a39459ab8d57b237c4438c86464f4f1ae0e/README_files/figure-gfm/map-1.png -------------------------------------------------------------------------------- /_config.yml: -------------------------------------------------------------------------------- 1 | theme: jekyll-theme-cayman -------------------------------------------------------------------------------- /about.md: -------------------------------------------------------------------------------- 1 | # About 2 | 3 | Reprohacks are **reproducibility hackathons** designed to provide space to **celebrate** the value of the practice, and also get **practical experience** of reproducibility. 4 | 5 | The objective of a Reprohack is to **reproduce results from published data AND code**. To develop a candidate paper list, authors are invited to submit their papers for reproduction. This gives participants the opportunity to work with real published materials, understand what different approaches look like and what they achieve and hopefully inspiration to be more open with their work themselves. 6 | 7 | It is also a great opportunity for authors to get useful feedback on the reproducibility, reusability and transparency of their work, recognition for their efforts and and of course, opportunity to engage others with the science itself! 8 | 9 | ### Many ways to join 10 | 11 | You can join as a participant at any ReproHack! See the list of [upcoming events](https://github.com/reprohack/reprohack-hq#upcoming-reprohacks) for details. As an author, you can propose your paper for reproduction! Finally, the project is actively under development, so you can also contribute by furthering the development of the Reprohack framework. See the [development directions](dev_directions.md) and [issue tracker](https://github.com/reprohack/reprohack-hq/issues) for details. 12 | 13 | -------------------------------------------------------------------------------- /assets/image.pptx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/reprohack/reprohack-hq/46c86a39459ab8d57b237c4438c86464f4f1ae0e/assets/image.pptx -------------------------------------------------------------------------------- /assets/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/reprohack/reprohack-hq/46c86a39459ab8d57b237c4438c86464f4f1ae0e/assets/logo.png -------------------------------------------------------------------------------- /assets/reprohack-banner.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/reprohack/reprohack-hq/46c86a39459ab8d57b237c4438c86464f4f1ae0e/assets/reprohack-banner.png -------------------------------------------------------------------------------- /assets/reprohack-webad_N8-01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/reprohack/reprohack-hq/46c86a39459ab8d57b237c4438c86464f4f1ae0e/assets/reprohack-webad_N8-01.png -------------------------------------------------------------------------------- /assets/reprohack_image.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/reprohack/reprohack-hq/46c86a39459ab8d57b237c4438c86464f4f1ae0e/assets/reprohack_image.pdf -------------------------------------------------------------------------------- /assets/reprohack_image.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/reprohack/reprohack-hq/46c86a39459ab8d57b237c4438c86464f4f1ae0e/assets/reprohack_image.png -------------------------------------------------------------------------------- /assets/reprohack_image_high.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/reprohack/reprohack-hq/46c86a39459ab8d57b237c4438c86464f4f1ae0e/assets/reprohack_image_high.png -------------------------------------------------------------------------------- /assets/workflow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/reprohack/reprohack-hq/46c86a39459ab8d57b237c4438c86464f4f1ae0e/assets/workflow.png -------------------------------------------------------------------------------- /comms.md: -------------------------------------------------------------------------------- 1 | Slack 2 | 3 | As part of my SSI fellowship I will be running a series of ReproHacks, one day, hands-on reproducibility hackathons, where participants attempt to reproduce papers from published code and data. The first one is on the 27th of June at Carpentry Connect Manchester so I'm looking for papers with published code and data for participants to choose from. 4 | 5 | The events are a celebration of the practice of making work reproducible and having run two of therse before, I can attest to actual joy from participants as they delve into other's work and manage to reproduce it! 6 | -------------------------------------------------------------------------------- /data/event-log.csv: -------------------------------------------------------------------------------- 1 | title,date,start_time,end_time,city,country,room,address,url,lat,lon 2 | ReproHack NL,2019-11-30,10:00,17:00,Leiden,Netherlands,,,https://www.eventbrite.co.uk/e/reprohack-nl-tickets-73258469053?aff=erelexpmlt,52.1601,4.497 3 | ReproHack @ CarpentryConnect Mcr,2019-06-27,9:30,15:30,Manchester,UK,"Room 2.15, Kilburn Building,","University of Manchester, Oxford Rd, Manchester M13 9PL",https://sheffield-university.shinyapps.io/ReproHack_CCMcr/,53.4670673,-2.2341808 4 | ReproHack @ OpenCon Berlin,2016-11-24,13:00,18:00,Berlin,Germany,"Technical University of Berlin, Centre for Entrepreneurship 5 | ","Hardenbergstraße 38, 10623 Berlin",https://github.com/annakrystalli/OpenConBerlin_ReproHack,52.511268,13.324111 6 | ReproHack @ OpenCon London,2017-11-21,9:00,17:00,London,UK,Digital Science,"The Stables 2 Trematon Walk, Kings Cross, N1 9FN, London",https://github.com/OpenCon-London/OpenCon_London-Doathon/blob/master/README.md,51.509648,-0.099076 7 | Reprohack @ PyData LA,2019-12-03,12:30,17:30,Los Angeles,USA,Golden Eagle Ballroom 3,CSU Los Angeles,https://njnm.shinyapps.io/ReproHack_PDLA19/,34.0673123,-118.1691633 8 | N8 CIR ReproHack Newcastle,2020-01-21,10:00,17:00,Newcastle,UK,,,https://www.eventbrite.co.uk/e/n8-cir-reprohack-newcastle-university-tickets-83584660971,54.9783,-1.6178 9 | N8 CIR ReproHack Leeds,2020-02-11,10:00,17:00,Leeds,UK,,,https://www.eventbrite.co.uk/e/n8-cir-reprohack-university-of-leeds-tickets-83582961889,53.8008,-1.5491 10 | N8 CIR ReproHack Liverpool,2020-02-25,10:00,17:00,Liverpool,UK,,,https://www.eventbrite.co.uk/e/n8-cir-reprohack-university-of-liverpool-tickets-83584650941,53.4084,-2.9916 11 | N8 CIR ReproHack Sheffield,2020-03-10,10:00,17:00,Sheffield,UK,,,https://www.eventbrite.co.uk/e/n8-cir-reprohack-university-of-sheffield-tickets-83581940835,53.3705476,-1.4887006 12 | N8 CIR ReproHack Manchester,2020-03-12,10:00,17:00,Manchester,UK,,,https://www.eventbrite.co.uk/e/n8-cir-reprohack-university-of-manchester-tickets-83583756265,53.4808,-2.2426 13 | -------------------------------------------------------------------------------- /dev_directions.md: -------------------------------------------------------------------------------- 1 | # ReproHack development topics 2 | 3 | - **Reproducible ReproHacks**: One of the goals is to make ReproHacks reproducible, ie develop customisable templates and tools so that hosts can run ReproHacks easily! Taking inspiration from [Carpentries workshop website deployments for event sites](https://carpentries.github.io/lesson-example/02-tooling/), and [rOpenSci management of package reviews ](https://github.com/ropensci/software-review/issues) to manage paper submissions and track reproductions, the plan is to develop a simple framework hosted on online repositories and making use of issue trackers. See [notes](https://hackmd.io/@U2KSpBasRLqM0fN-YALVrw/rJJSSIFhE) from an initial brainstorming sprint on the topic with the Sheffield RSE group. 4 | 5 | 6 | - **Ability to sample from the literature.**: A call for papers doesn’t scale well and biases any data on reproducibility generated. It would be great to have a tool to sample the literature for papers to reproduce. Some useful potential resources: 7 | + Zenodo compendia ist maintained by @nuest : https://zenodo.org/communities/research-compendium/search?page=1&size=20 8 | + [Curate Science](https://curatescience.org/app/): a platform for researchers to label and link the transparency and replication of their research. 9 | 10 | - **ReScience Submission Templates**: Another development avenue, suggested by [Hao Ye](https://haoye.us/) and sketched out in [this repository](https://github.com/annakrystalli/ReScience-reprohack) is the ability to publish reproductions in the [ReScience journal](http://rescience.github.io/). As reproducibility improves it allows for deeper treatment of the materials, engagement with the underlying science and opens the door to assessing replicability. Being able to get recognition for such efforts in journals like ReScience could provide valuable incentive for researchers to engage with materials and the process of reproducibility. 11 | 12 | - **Remote Reprohacks**: [_Discussion Topic_] Another really interesting idea worth exploring, proposed by [Sina Rüeger](https://sinarueeger.github.io/) in the R-Ladies slack, is whether ReproHacks could be run remotely? I've found the co-location of participants in a low pressure environment with the ability to get help and troubleshoot with others worked really well for working through materials and learning. Can we replicate such an environment online, using Zoom for example? 13 | -------------------------------------------------------------------------------- /faq.md: -------------------------------------------------------------------------------- 1 | # Frequently Asked Questions: 2 | 3 | ### 1. Who are ReproHacks aimed at? 4 | 5 | Events are aimed at anyone writing or supporting those writing academic papers that are based on computational analyses and wish to learn more about how to make them more reproducible. It's also aimed at authors who want to showcase they're effort into making their work reproducible. 6 | 7 | ### 2. What happens at these events 8 | 9 | 10 | During a ReproHack, **participants attempt to reproduce published research of their choice from a list of proposed papers with publicly available associated code and data**. Throughout the day, there's opportunity to regroup and discuss progress and participants are encouraged to record their experiences on a number of key aspects, including reproducibility, transparency and reusability of materials and at the end of the session to provide feedback to the authors. 11 | 12 | ### 3. Why people should attend 13 | 14 | ReproHacks offer a low pressure environment to work on real published materials instead of just simplified dummy examples. It also provides a space for authors to put their papers to the reproducibility test and get constructive and feedback on their work. 15 | 16 | 17 | ### 4. What do you learn from the event? 18 | 19 | Participants get practical experience in reproducibility and opportunity to explore what different approaches to reproducibility look like and what they achieve. They'll also get an appreciation that while **reproducibility is non trivial**, opening up work for more people to engage with is the best way to help improve it. They'll also see that **reproducibility has community value beyond just the validation of the results** by increasing engagement with the research itself. 20 | 21 | Authors also stand to benefit from getting feedback on how reproducible, transparent and reusable their work is, **appreciation** for their efforts and opportunity to **engage others with their research**. -------------------------------------------------------------------------------- /hex/reprohack.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/reprohack/reprohack-hq/46c86a39459ab8d57b237c4438c86464f4f1ae0e/hex/reprohack.png -------------------------------------------------------------------------------- /meeting_minutes.md: -------------------------------------------------------------------------------- 1 | # Reprohack meeting minutes 2 | --- 3 | 4 | 1. 2019-06-17 [Notes](https://hackmd.io/@annakrystalli/reprohack-mm01) -------------------------------------------------------------------------------- /news.md: -------------------------------------------------------------------------------- 1 | # news.md 2 | 3 | - New website decided 4 | - Call with Nicolas Rougier: 5 | + discussed reproducibility report 6 | 7 | -------------------------------------------------------------------------------- /newsletters/2019-10-01.md: -------------------------------------------------------------------------------- 1 | 2 | ## ReproHack on the web 3 | 4 | The tail end of summer saw us busy disseminating information about ReproHacks. First was a blogpost on the Software Sustainability Institute (SSI) blog about our experiences at the CarpentryConnect Manchester event, the first one run as part of Anna's SSI Fellowship. 5 | 6 | Anna also did a short presentation on ReproHacks on July's rOpenSci community call on the topic of Reproducble research in R. 7 | 8 | In both, we described what's involved in a ReproHack, what we've learned from the ones we've learned from the ones run so far and future directions we want to take the project in. Have a look and a listen to find out more. 9 | 10 | ## ReproHack NL forges ahead with the first ReproHack outside the UK 11 | 12 | We are extremely excited to be working with a fabulous group of R-Ladies from Leiden University who have taken the concept and really ran with it in their planning for the first ReproHack outside the UK! 13 | 14 | These ladies have been an inspiration! They've created their own themed logos, the first ReproHack twitter account and managed some amazing funding. Aprt from organising what will undoubtebly be a super fun event, it's been really useful to work through the materials and revisit how well the event scales with the materials in their current state. 15 | 16 | Follow @ReproHackNL for updates or even better, register to join us at the event in Leiden! And if you can't, there'll be a blogpost on it! 17 | 18 |

This thing is really happening! pic.twitter.com/d2xnHNo9z2

— ReproHack NL ♻️ (@ReproHackNL) September 20, 2019
19 | 20 | 21 | 22 | ## N8 will support 5 ReproHacks in the North of the UK! 23 | -------------------------------------------------------------------------------- /organiser_instructions/README.md: -------------------------------------------------------------------------------- 1 | # Organiser Instructions 2 | 3 | *** 4 | 5 |
6 | 7 | > ## :construction: NEW HUB UNDER CONSTRUCTION! :construction: 8 | > 9 | > _We are building a custom website to facilitate ReproHack activities going forwards. It is still very much under construction and buggy but hoping to have it functional by early next year. In the meantime you can continue to use the current materials_ 10 | 11 | > 12 | > _You can [check it out](http://annakrystalli.pythonanywhere.com/) or if you have Django skills [contribute](https://github.com/reprohack/reprohack_site)!_ 13 | 14 | ### 1. What kind of Reprohack would you like to host? 15 | 16 | There are multiple ways to organize a Reprohack, depending on who is your target audience. 17 | 18 | - [ ] Check the following flowchart: 19 | 20 | ![](workflow.png) 21 | 22 | - [ ] Choose your Reprohack Flavor! (Choose from [this page]()) 23 | 24 | ### 2. What preparations are necesary before the event? 25 | 26 | - [ ] Create the event, you can use Eventbrite or a similar platform for broader audience. 27 | 28 | - [ ] Collate a paper list for participants to choose from. 29 | + Currently we have this [paper submission form](https://drive.google.com/open?id=1-Q-dQQu47ytCg2Z7F99hzCSxewLCbPUi8UlZWg0JYjI) available. 30 | + Make a list of the papers to reprohack for the event day. 31 | 32 | - [ ] Make a repo for the event. We have built a [**`reprohack-template-shiny`**](https://github.com/reprohack/reprohack-template-shiny) that can be used to create an event. More details below. 33 | 34 | - [ ] Set an [author feedback form](https://drive.google.com/open?id=1KRooOAtbmOzIES1h2T9Gvt7AaPFLDS0BQUZRiimJZSU) where participants can fill details on their experience reproducing a specific paper. 35 | 36 | ### 3. For the event. 37 | 38 | - [ ] You can use these [introductory slides]() as a template for welcoming all participants. 39 | 40 | - [ ] Create a hackpad (eg etherpad, hack.md, googledoc) for collaborative notetaking at the event (optional) 41 | + you can use this [hackmd.io template](https://hackmd.io/@annakrystalli/reprohack-hackpad-tmpl) if you wish 42 | 43 | - [ ] Share the [author feedback form](https://drive.google.com/open?id=1KRooOAtbmOzIES1h2T9Gvt7AaPFLDS0BQUZRiimJZSU) where participants can fill details on their experience reproducing a specific paper. 44 | 45 | ### 4. After the event. 46 | 47 | - [ ] Share the feedback to authors who contributed with their papers! 48 | 49 | + To do this we have created an `r pagedown script` that imports the data from the author feedback form, creates a letter to the author containing all feedback, and it can be shared via email using the `blastula` package. 50 | 51 | + Check [here]() for the script. 52 | 53 | 54 | ## Shiny App 55 | 56 | + This shiny app uses a combination of `Rmarkdown`, `shiny` and googledocs to compile the list of papers and collect feedback for the authors. It also uses a repository on `GitHub` to run the event on the day. This approach comes with limitations: 57 | 58 | + Requirement to authenticate with googledocs 59 | + Requirement to have a shinyapps.io account or access to a shiny server/institutional shinyapps.io account. Although it is easy to set up a shinyapps.io account, there is a cap on the amount of traffic to the app allowed in the free account and upgrading the subscription to run an event might be required. It is also slow to load. 60 | 61 | 62 | [**Example of the Shiny app for: UCL ReproHack - Open Access week**](https://sheffield-university.shinyapps.io/ucl-oa_week-reprohack/) 63 | 64 | #### Instructions to use the Shinny app 65 | 66 | To make use of the current materials and templates to organise a ReproHack, please follow this organiser template. Feel free to reach out if anything is unclear. The workflow is easiest through [Rstudio](https://www.rstudio.com/) 67 | 68 | - [ ] Copy template repository [**`reprohack-template-shiny`**](https://github.com/reprohack/reprohack-template-shiny). Name the repository: `reprohack--YYYY-MM-DD`. 69 | - [ ] Make copies of the two googleforms, one for collecting paper submissions and one for collecting feedback 70 | + [paper submission form](https://drive.google.com/open?id=1-Q-dQQu47ytCg2Z7F99hzCSxewLCbPUi8UlZWg0JYjI) 71 | + [author feedback form](https://drive.google.com/open?id=1KRooOAtbmOzIES1h2T9Gvt7AaPFLDS0BQUZRiimJZSU) 72 | - [ ] Get geographical coordinates for venue (e. g. using [latlong.net](https://www.latlong.net/)). 73 | - [ ] Complete parameters in YAML header of `index.Rmd` & `README.Rmd`. 74 | - [ ] Knit `README.Rmd` and push to GitHub. 75 | - [ ] [Deploy](https://bookdown.org/yihui/rmarkdown/shiny-deploy.html) `index.Rmd` on shinyapps.io. (More on [getting started with shinyapps.io](https://shiny.rstudio.com/articles/shinyapps.html)). Running the document also prompts you to authenticate with google which produces an `.httr-oauth` authorisation token. You will need to deploy: 76 | - `index.Rmd` and 77 | - `.httr-oauth` (required to access the paper list on googlesheets) 78 | - `reprohack-css` 79 | - any other assets used eg if an event banner is being used. 80 | You can also deploy programmatically with the following example code: 81 | ```r 82 | rsconnect::deployApp(appName = "ReproHack_CCMcr", 83 | appTitle = "ReproHack Carpentry Connect Manchester", 84 | account = "annakrystalli", appFiles = c("index.Rmd", ".httr-oauth", "reprohack.css", 85 | "CCmcrlogo.png")) 86 | ``` 87 | - [ ] Edit and upload `slides.md` containing the introductory to [hackmd.io](https://hackmd.io/) and [set to slide view](https://hackmd.io/s/features#Import-Notes). 88 | - [ ] update slides url in the `README.md` agenda 89 | 90 | ### You now have all the materials to run a ReproHack setup! 🎉 91 | 92 |
93 | 94 | **Got suggestions on improving the materials/workflow? Have a look at [our plans so far](https://github.com/reprohack/reprohack-template-shiny/issues) and feel free to contribute your feedback!** 95 | -------------------------------------------------------------------------------- /organiser_instructions/logo-hex/make_hex.R: -------------------------------------------------------------------------------- 1 | # install.packages("hexSticker", "showtext") 2 | 3 | library(hexSticker) 4 | library(showtext) 5 | 6 | font_add_google("Knewave", "knewave") 7 | showtext_auto() 8 | # The reprohack-graphic1.png was made in adobe illustrator (not currently in repo). The 9 | # original fill colour was #18ba99 but was: 10 | # a) too dark according to feedback & 11 | # b) out of gamut for CMYK print so corrected 12 | sticker(here::here("assets", "reprohack-graphic1.png"), 13 | package="ReproHack", p_family = "knewave", 14 | p_size=7, p_color = "#FFFFFF", p_y = 0.6, 15 | s_x=1.0, #s_y=0.8, 16 | s_width=0.7, s_y = 1.2, 17 | l_y = 1.05, l_x = 0.9, 18 | h_fill="#00cc99", h_color="#10735F", 19 | #h_size = 3, 20 | filename="hex/reprohack.png", spotlight = F, asp = 0.7679814, 21 | dpi=2700) 22 | 23 | # svg output. Not currently working very well as reading in the svg version of the 24 | # artwork is super pixelated 25 | sticker(here::here("assets", "reprohack-graphic.svg"), 26 | package="ReproHack", p_family = "knewave", 27 | p_size=7, p_color = "#FFFFFF", p_y = 0.6, 28 | s_x=1.0, #s_y=0.8, 29 | s_width=0.7, s_y = 1.2, 30 | l_y = 1.05, l_x = 0.9, 31 | h_fill="#18ba99", h_color="#10735F", 32 | #h_size = 3, 33 | filename="hex/reprohack.svg", spotlight = F, asp = 0.7679814, 34 | dpi=2700) 35 | 36 | -------------------------------------------------------------------------------- /organiser_instructions/logo-hex/reprohack-banner.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/reprohack/reprohack-hq/46c86a39459ab8d57b237c4438c86464f4f1ae0e/organiser_instructions/logo-hex/reprohack-banner.png -------------------------------------------------------------------------------- /organiser_instructions/logo-hex/reprohack-graphic1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/reprohack/reprohack-hq/46c86a39459ab8d57b237c4438c86464f4f1ae0e/organiser_instructions/logo-hex/reprohack-graphic1.png -------------------------------------------------------------------------------- /organiser_instructions/logo-hex/reprohack.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/reprohack/reprohack-hq/46c86a39459ab8d57b237c4438c86464f4f1ae0e/organiser_instructions/logo-hex/reprohack.png -------------------------------------------------------------------------------- /organiser_instructions/logo-hex/reprohack.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | -------------------------------------------------------------------------------- /organiser_instructions/templates/CODE_OF_CONDUCT.md: -------------------------------------------------------------------------------- 1 | ReproHack Project Code of Conduct 2 | ============================== 3 | 4 | This code of conduct outlines our expectations for participants within the 5 | ReproHack community, as well as steps to reporting unacceptable behavior. We are 6 | committed to providing a welcoming and inspiring community for all and expect 7 | our code of conduct to be honored. 8 | 9 | Everyone participating in ReproHack activities is required to conform to the Code 10 | of Conduct. This Code of Conduct applies to all spaces managed by the ReproHack 11 | organisation including, but not limited to, events, email lists, and online forums 12 | such as GitHub, Slack and Twitter. Event hosts are expected to assist with the 13 | enforcement of the Code of Conduct. Anyone who violates this code of conduct may 14 | be banned from the community, both online and in-person. 15 | 16 | Our open source community strives to: 17 | 18 | * **Be friendly and patient.** 19 | 20 | * **Be welcoming**: We strive to be a community that welcomes and 21 | supports people of all backgrounds and identities. This includes, but is not 22 | limited to members of any race, ethnicity, culture, national origin, colour, 23 | immigration status, social and economic class, educational level, sex, sexual 24 | orientation, gender identity and expression, age, size, family status, 25 | political belief, religion, and mental and physical ability. 26 | 27 | * **Be considerate**: Your work will be used by other people, and you in turn 28 | will depend on the work of others. Any decision you take will affect users 29 | and colleagues, and you should take those consequences into account when 30 | making decisions. Remember that we're a world-wide community, so you might 31 | not be communicating in someone else's primary language. 32 | 33 | * **Be respectful**: Not all of us will agree all the time, but disagreement is 34 | no excuse for poor behavior and poor manners. We might all experience some 35 | frustration now and then, but we cannot allow that frustration to turn into a 36 | personal attack. It’s important to remember that a community where people 37 | feel uncomfortable or threatened is not a productive one. 38 | 39 | * **Be careful in the words that we choose**: We are a community of 40 | professionals, and we conduct ourselves professionally. Be kind to others. Do 41 | not insult or put down other participants. Harassment and other exclusionary 42 | behavior aren't acceptable. This includes, but is not limited to: Violent 43 | threats or language directed against another person, Discriminatory jokes and 44 | language, Posting sexually explicit or violent material, Posting (or 45 | threatening to post) other people’s personally identifying information 46 | (“doxing”), Personal insults, especially those using racist or sexist terms, 47 | Unwelcome sexual attention, Advocating for, or encouraging, any of the above 48 | behavior, Repeated harassment of others. In general, if someone asks you to 49 | stop, then stop. 50 | 51 | * **Try to understand why we disagree**: Disagreements, both social and 52 | technical, happen all the time. It is important that we resolve disagreements 53 | and differing views constructively. Remember that we’re different. Diversity 54 | contributes to the strength of our community, which is composed of people 55 | from a wide range of backgrounds. Different people have different 56 | perspectives on issues. Being unable to understand why someone holds a 57 | viewpoint doesn’t mean that they’re wrong. Don’t forget that it is human to 58 | err and blaming each other doesn’t get us anywhere. Instead, focus on helping 59 | to resolve issues and learning from mistakes. 60 | 61 | * **We are all here to make Research Better!**: As a participant reviewing authors' work, 62 | be mindful that they are being incredibly brave by sharing their work for review! 63 | Many authors will be self-taught and will have tried their best to make their 64 | work reproducible, often with no formal training or guidance on how to do it. 65 | Yet they are allowing the community to learn from examining their work. Please 66 | appreciate their efforts and make your comments and suggestions in good faith. 67 | 68 | Equally, as authors receiving feedback, please be mindful of the fact that reviewers 69 | may be complete beginners. You may receive suggestions that are simplistic or unworkable. 70 | Please engage with them in good faith and use them to help reviewers learn. 71 | Also, what appears obvious to you the author may well seem cryptic or confusing 72 | to folks outside your project. Embrace any feedback regarding incomplete or 73 | confusing documentation as valuable insight. 74 | 75 | ### Diversity Statement 76 | 77 | We encourage everyone to participate and are committed to building a community 78 | for all. Although we will fail at times, we seek to treat everyone both as 79 | fairly and equally as possible. Whenever a participant has made a mistake, we 80 | expect them to take responsibility for it. If someone has been harmed or 81 | offended, it is our responsibility to listen carefully and respectfully, and do 82 | our best to right the wrong. 83 | 84 | Although this list cannot be exhaustive, we explicitly honor diversity in age, 85 | gender, gender identity or expression, culture, ethnicity, language, national 86 | origin, political beliefs, profession, race, religion, sexual orientation, 87 | socioeconomic status, and technical ability. We will not tolerate 88 | discrimination based on any of the protected characteristics above, including 89 | participants with disabilities. 90 | 91 | ### Reporting Issues 92 | 93 | If you experience or witness unacceptable behavior, or have any other concerns, 94 | please report it by completeing our [CoC Incident Report form](https://forms.gle/ukXPeMPsrp9psJTG6) . All reports will be handled with discretion. 95 | 96 | The ReproHack Code of Conduct Committee is responsible for enforcing the Code of Conduct. It can be contacted by emailing [reprohack-coc@googlegroups.com](mailto:reprohack-coc@googlegroups.com). All reports will be reviewed by the Code of Conduct Committee and will be kept confidential. 97 | 98 | 99 | After filing a report, a representative will contact you personally, review the 100 | incident, follow up with any additional questions, and make a decision as to 101 | how to respond. The respondent will apply measured response to remove harassers 102 | and harassment from this project. 103 | 104 | If the person who is harassing you is part of the response 105 | team, they will recuse themselves from handling your incident. If the complaint 106 | originates from a member of the response team, it will be handled by a 107 | different member of the response team. We will respect confidentiality requests 108 | for the purpose of protecting victims of abuse. 109 | 110 | 111 | ### Attribution & Acknowledgements 112 | 113 | This code of conduct has been adapted from the [Galaxy Project](https://github.com/galaxyproject), and was itself initially based on the Open Code of Conduct from the TODOGroup. -------------------------------------------------------------------------------- /organiser_instructions/templates/faq.md: -------------------------------------------------------------------------------- 1 | # Frequently Asked Questions: 2 | 3 | ### 1. Who are ReproHacks aimed at? 4 | 5 | Events are aimed at anyone writing or supporting those writing academic papers that are based on computational analyses and wish to learn more about how to make them more reproducible. It's also aimed at authors who want to showcase they're effort into making their work reproducible. 6 | 7 | ### 2. What happens at these events 8 | 9 | 10 | During a ReproHack, **participants attempt to reproduce published research of their choice from a list of proposed papers with publicly available associated code and data**. Throughout the day, there's opportunity to regroup and discuss progress and participants are encouraged to record their experiences on a number of key aspects, including reproducibility, transparency and reusability of materials and at the end of the session to provide feedback to the authors. 11 | 12 | ### 3. Why people should attend 13 | 14 | ReproHacks offer a low pressure environment to work on real published materials instead of just simplified dummy examples. It also provides a space for authors to put their papers to the reproducibility test and get constructive and feedback on their work. 15 | 16 | 17 | ### 4. What do you learn from the event? 18 | 19 | Participants get practical experience in reproducibility and opportunity to explore what different approaches to reproducibility look like and what they achieve. They'll also get an appreciation that while **reproducibility is non trivial**, opening up work for more people to engage with is the best way to help improve it. They'll also see that **reproducibility has community value beyond just the validation of the results** by increasing engagement with the research itself. 20 | 21 | Authors also stand to benefit from getting feedback on how reproducible, transparent and reusable their work is, **appreciation** for their efforts and opportunity to **engage others with their research**. -------------------------------------------------------------------------------- /organiser_instructions/ways_to_reprohack.md: -------------------------------------------------------------------------------- 1 | # 7 Flavors of Reprohack 2 | --- 3 | 4 | ## What are the Flavors? 5 | 6 | 1: Your team 7 | 2: Your classroom 8 | 3: Your institute or faculty 9 | 4: Your university 10 | 5: Remote #ReproHack 11 | 6: #ReproHack at a (un -) conference 12 | 7: Mix-and-Match 13 | 14 | --- 15 | 16 | ### 1: Your Team 17 | 18 | Options: 19 | 20 | Codecheck each others work (before submission or before sharing code online) 21 | 22 | Codecheck benchmarks (and share the frustration) 23 | 24 | Upside: 25 | Immediate use 26 | Use existing facilities 27 | Could be done before submission 28 | 29 | Challenges: 30 | Convincing colleagues can be difficult 31 | 32 | 33 | 34 | --- 35 | 36 | ## 2: Your classroom 37 | 38 | Options 39 | Coursework or hand-in assignments 40 | Peer reviews amongst students 41 | Assignments submitted binder ready 42 | 43 | Challenges 44 | Lots of work beforehand (is it more though?) 45 | 46 | Upside 47 | Reproducible assignments are easier to handle 48 | Teaching important research skills along with content 49 | 50 | 51 | **Join the discussion:** #TeachingByReprohacking and the dedicated Teaching Channel on our Slack 52 | 53 | 54 | --- 55 | 56 | ## 3: Your institute or faculty 57 | 58 | Upsides: 59 | Stay in one domain (more or less broadly) 60 | 61 | Similar data (size, privacy issues etc) 62 | 63 | Similar scripting and programming languages 64 | 65 | Get to know network with peers outside your lab 66 | 67 | 68 | Challenges: 69 | Requires a bigger organizing team 70 | 71 | 72 | 73 | 74 | --- 75 | 76 | ## 4: Your university 77 | 78 | Upsides: 79 | 80 | Interdisciplinary fun! 81 | 82 | Share with people with similar enthusiasm! 83 | 84 | Meet people that are in different communities (E.g. ReproducibiliTea) 85 | 86 | Challenges: 87 | organize location, finance 88 | communication across disciplines 89 | different levels of skills (Stats, Programming, Open Science things) 90 | 91 | 92 | 93 | --- 94 | 95 | ## 5: Remote #ReproHack 96 | 97 | Upside: 98 | 99 | Accessibility 100 | Expand to international community members 101 | 102 | Challenges: 103 | 104 | Tech - can be expensive 105 | Tech - can fail 106 | Special efforts for networking necessary 107 | 108 | 109 | --- 110 | 111 | ## 6: #ReproHack at a (un -) conference! 112 | 113 | Upside 114 | 115 | Part of a large event 116 | “walk-in” participants 117 | Within field/ specialty 118 | 119 | Challenges: 120 | 121 | Requires additional preparation, may need to be presented in submission process 122 | 123 | 124 | --- 125 | 126 | ## 7: Mix-and-Match 127 | 128 | Options: 129 | Keep it to one programming language and interdisciplinary 130 | 131 | Cluster around one research topic across domains 132 | 133 | 134 | 135 | 136 | --- 137 | 138 | ### Material from last Future Organizers Call 139 | 140 | Slides used for community call: 141 | https://docs.google.com/presentation/d/1dzNo0w1a1Aug7OvkeyZygAuUlHK8dgYyv8X-FXgYj5w/edit?usp=sharing 142 | 143 | Collaborative Notes of the Community Call: 144 | https://hackmd.io/@DGawehns/Sk5K1GYa8/edit 145 | 146 | --- 147 | 148 | ### Thank you! :sheep: 149 | 150 | -------------------------------------------------------------------------------- /organiser_instructions/workflow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/reprohack/reprohack-hq/46c86a39459ab8d57b237c4438c86464f4f1ae0e/organiser_instructions/workflow.png -------------------------------------------------------------------------------- /reprohack-hq.Rproj: -------------------------------------------------------------------------------- 1 | Version: 1.0 2 | 3 | RestoreWorkspace: Default 4 | SaveWorkspace: Default 5 | AlwaysSaveHistory: Default 6 | 7 | EnableCodeIndexing: Yes 8 | UseSpacesForTab: Yes 9 | NumSpacesForTab: 4 10 | Encoding: UTF-8 11 | 12 | RnwWeave: Sweave 13 | LaTeX: pdfLaTeX 14 | -------------------------------------------------------------------------------- /tic.R: -------------------------------------------------------------------------------- 1 | # TODO: Define steps using the tic DSL, see ?DSL 2 | # get_stage("") %>% 3 | # add_step(step_...(...)) 4 | get_stage("before_install") %>% 5 | add_code_step(update.packages(ask = FALSE)) 6 | 7 | get_stage("install") %>% 8 | add_code_step(remotes::install_deps(dependencies = TRUE)) 9 | 10 | if (ci_on_travis()) { 11 | get_stage("deploy") %>% 12 | add_code_step(rmarkdown::render("README.Rmd", run_pandoc = FALSE)) 13 | 14 | if (ci_has_env("id_rsa")) { 15 | get_stage("before_deploy") %>% 16 | add_step(step_setup_ssh()) 17 | 18 | get_stage("deploy") %>% 19 | add_step(step_push_deploy()) 20 | } 21 | } --------------------------------------------------------------------------------