Bibliography#
Daniel A. Almeida, Gail C. Murphy, Greg Wilson, and Mike Hoye. Do Software Developers Understand Open Source Licenses? In Proceedings of the 25th International Conference on Program Comprehension, 1–11. IEEE Press, 2017. Found that developers understand single licenses well, but frequently misunderstand the interactions between multiple licenses. URL: https://doi.org/10.1109/ICPC.2017.7, doi:10.1109/ICPC.2017.7.
Valerie Aurora and Mary Gardiner. How to Respond to Code of Conduct Reports. Frame Shift Consulting LLC, 2018. ISBN 9781386922575. A practical step-by-step guide to handling code of conduct issues.
Alberto Bacchelli and Christian Bird. Expectations, Outcomes, and Challenges of Modern Code Review. In Proc. International Conference on Software Engineering. May 2013. Summarizes more than thirty years of research on the benefits of code review. URL: http://research.microsoft.com/apps/pubs/default.aspx?id=180283.
Michelle Barker, Neil P Chue Hong, Daniel S Katz, Anna-Lena Lamprecht, Carlos Martinez-Ortiz, Fotis Psomopoulos, Jennifer Harrow, Leyla Jael Castro, Morane Gruenpeter, Paula Andrea Martinez, and others. Introducing the fair principles for research software. Scientific Data, 9(1):622, 2022.
Brett A. Becker, Graham Glanville, Ricardo Iwashima, Claire McDonnell, Kyle Goslin, and Catherine Mooney. Effective Compiler Error Message Enhancement for Novice Programming Students. Computer Science Education, 26(2-3):148–175, Jul 2016. Reports that improved error messages helped novices learn faster. doi:10.1080/08993408.2016.1225464.
Gal Beniamini, Sarah Gingichashvili, Alon Klein Orbach, and Dror G. Feitelson. Meaningful Identifier Names: The Case of Single-Letter Variables. In Proc. 2017 International Conference on Program Comprehension ( ICPC'17). Institute of Electrical and Electronics Engineers (IEEE), May 2017. Reports that use of single-letter variable names doesn't affect ability to modify code, and that some single-letter variable names have implicit types and meanings. doi:10.1109/icpc.2017.18.
Gary Bernhardt. A Case Study in Not Being a Jerk in Open Source. 2018. Rewrites a typically abusive message by Linus Torvalds to be less repellant. URL: https://www.destroyallsoftware.com/blog/2018/a-case-study-in-not-being-a-jerk-in-open-source.
Nicolas Bettenburg, Sascha Just, Adrian Schröter, Cathrin Weiss, Rahul Premraj, and Thomas Zimmermann. What Makes a Good Bug Report? In Proc. 16th ACM SIGSOFT International Symposium on Foundations of Software Engineering - (SIGSOFT'08/FSE'16). ACM Press, 2008. Reports a survey of developers on what makes for a good bug report. doi:10.1145/1453101.1453146.
Dave Binkley, Marcia Davis, Dawn Lawrie, Jonathan I. Maletic, Christopher Morrell, and Bonita Sharif. The Impact of Identifier Style on Effort and Comprehension. Empirical Software Engineering, 18(2):219–276, May 2012. Reports that reading and understanding code is fundamentally different from reading prose, and that experienced developers are relatively unaffected by identifier style, but beginners benefit from the use of camel case (versus pothole case). doi:10.1007/s10664-012-9201-4.
David Bollier. Think Like a Commoner: A Short Introduction to the Life of the Commons. New Society Publishers, 2014. ISBN 0865717680. A short introduction to a widely-used model of governance.
Jonathan Borwein and David H. Bailey. The Reinhart-Rogoff Error—Or, How not to Excel at Economics. 2013. Summarizes the now-infamous Reinhart–Rogoff spreadsheet. URL: https://theconversation.com/the-reinhart-rogoff-error-or-how-not-to-excel-at-economics-13646.
Houssem Ben Braiek and Foutse Khomh. On Testing Machine Learning Programs. 2018. Looks at how developers (don't) test machine learning programs. URL: https://arxiv.org/abs/1812.02257.
Stewart Brand. How Buildings Learn: What Happens after They're Built. Penguin USA, 1995. ISBN 0140139966. How buildings evolve and adapt to meet the needs of those who live in them.
Jon Brock. `A Love Letter to Your Future Self': What Scientists Need to Know about FAIR Data. 2019. Accessed November 2019. URL: https://www.natureindex.com/news-blog/what-scientists-need-to-know-about-fair-data.
Stephen D. Brookfield and Stephen Preskill. The Discussion Book: 50 Great Ways to Get People Talking. Jossey-Bass, 2016. ISBN 978-1119049715. Describes fifty different ways to get groups talking productively.
Titus Brown. How I Learned to Stop Worrying and Love the Coming Archivability Crisis in Scientific Software. 2017. URL: http://ivory.idyll.org/blog/tag/futurepaper.html.
Jonathan B. Buckheit and David L. Donoho. WaveLab and Reproducible Research. In Wavelets and Statistics, pages 55–81. Springer New York, 1995. doi:10.1007/978-1-4612-2544-7_5.
John Carroll. Creating Minimalist Instruction. International Journal of Designs for Learning, 5(2):56–65, Nov 2014. A look back on the author's work on minimalist instruction. doi:10.14434/ijdl.v5i2.12887.
Mike Caulfield. Choral Explanations. 2016. URL: https://hapgood.us/2016/05/13/choral-explanations/.
Jason Cohen. Modern Code Review. In Andy Oram and Greg Wilson, editors, Making Software. O'Reilly, 2010.
Theodosius Dobzhansky. Nothing in Biology Makes Sense Except in the Light of Evolution. The American Biology Teacher, 35(3):125–129, Mar 1973. A forceful statement of the central unifying theme of modern biology. doi:10.2307/4444260.
Michael E. Fagan. Design and Code Inspections to Reduce Errors in Program Development. IBM Systems Journal, 15(3):182–211, 1976. An early and influential study of code review. doi:10.1147/sj.153.0182.
Michael E. Fagan. Advances in Software Inspections. IEEE Transactions on Software Engineering, 12(7):744–751, Jul 1986. Summarizes the author's early work on the benefits of code review. doi:10.1109/TSE.1986.6312976.
Karl Fogel. Producing Open Source Software: How to Run a Successful Free Software Project. O'Reilly Media, 2005. ISBN 0596007590. The definite guide to managing open source software development projects.
Jo Freeman. The Tyranny of Structurelessness. The Second Wave, 2(1):20–33, 1972. Points out that every organization has a power structure: the only question is whether it's accountable or not.
Davide Fucci, Hakan Erdogmus, Burak Turhan, Markku Oivo, and Natalia Juristo. A Dissection of the Test-Driven Development Process: Does It Really Matter to Test-First or to Test-Last? IEEE Transactions on Software Engineering, 43(7):597–614, Jul 2017. An evidence-based look at whether writing tests first produces better code faster. doi:10.1109/tse.2016.2616877.
Davide Fucci, Giuseppe Scanniello, Simone Romano, Martin Shepperd, Boyce Sigweni, Fernando Uyaguari, Burak Turhan, Natalia Juristo, and Markku Oivo. An External Replication on the Effects of Test-driven Development Using a Multi-site Blind Analysis Approach. In Proc. 10th ACM/IEEE International Symposium on Empirical Software Engineering and Measurement (ESEM'16). ACM Press, 2016. The latest in a long line of studies to find that test-driven development (TDD) has little or no impact on development time or code quality. doi:10.1145/2961111.2962592.
Yolanda Gil, Cédric H. David, Ibrahim Demir, Bakinam T. Essawy, Robinson W. Fulweiler, Jonathan L. Goodall, Leif Karlstrom, Huikyo Lee, Heath J. Mills, Ji-Hyun Oh, Suzanne A. Pierce, Allen Pope, Mimi W. Tzeng, Sandra R. Villamizar, and Xuan Yu. Toward the Geoscience Paper of the Future: Best Practices for Documenting and Sharing Research from Data to Software to Provenance . Earth and Space Science, 3(10):388–415, 2016. doi:10.1002/2015EA000136.
David Goldberg. What Every Computer Scientist Should Know about Floating-Point Arithmetic. ACM Computing Surveys, 23(1):5–48, Mar 1991. A detailed but accessible explanation of how computer arithmetic actually works. doi:10.1145/103162.103163.
Alyssa Goodman, Alberto Pepe, Alexander W. Blocker, Christine L. Borgman, Kyle Cranmer, Merce Crosas, Rosanne Di Stefano, Yolanda Gil, Paul Groth, Margaret Hedstrom, David W. Hogg, Vinay Kashyap, Ashish Mahabal, Aneta Siemiginowska, and Aleksandra Slavkovic. Ten Simple Rules for the Care and Feeding of Scientific Data. PLoS Computational Biology, 10(4):e1003542, Apr 2014. URL: https://doi.org/10.1371/journal.pcbi.1003542, doi:10.1371/journal.pcbi.1003542.
Jan Goyvaerts and Steven Levithan. Regular Expressions Cookbook. O'Reilly Media, 2nd edition, 2012. ISBN 978-1449327453. An exhaustive collection of useful regular expressions in several programming languages.
Steve Gruenert and Todd Whitaker. School Culture Rewired: How to Define, Assess, and Transform It. ASCD, 2015. ISBN 978-1416619901. The source of a much-quoted observation on culture.
Edmund M. Hart, Pauline Barmby, David LeBauer, Franç ois Michonneau, Sarah Mount, Patrick Mulrooney, Timothée Poisot, Kara H. Woo, Naupaka B. Zimmerman, and Jeffrey W. Hollister. Ten Simple Rules for Digital Data Storage. PLOS Computational Biology, 12(10):e1005097, Oct 2016. URL: https://doi.org/10.1371/journal.pcbi.1005097, doi:10.1371/journal.pcbi.1005097.
missing journal in hong2022fair
D. B. Irving, S. Wijffels, and J. A. Church. Anthropogenic Aerosols, Greenhouse Gases, and the Uptake, Transport, and Storage of Excess Heat in the Climate System. Geophysical Research Letters, 46(9):4894–4903, 2019. URL: https://doi.org/10.1029/2019GL082015.
Jeroen Janssens. Data Science at the Command Line. O'Reilly Media, 2014. ISBN 978-1491947852. How to process data using the Unix shell.
Brian W. Kernighan and Rob Pike. The Practice of Programming. Addison-Wesley, 1999. ISBN 9788177582482. A programming style manual written by two of the creators of modern computing.
Anna-Lena Lamprecht, Leyla Garcia, Mateusz Kuzak, Carlos Martinez, Ricardo Arcila, Eva Martin Del Pico, Victoria Dominguez Del Angel, Stephanie Van De Sandt, Jon Ison, Paula Andrea Martinez, and others. Towards fair principles for research software. Data Science, 3(1):37–59, 2020.
Anna-Lena Lamprecht, Leyla Garcia, Mateusz Kuzak, Carlos Martinez, Ricardo Arcila, Eva Martin Del Pico, Victoria Dominguez Del Angel, Stephanie van de Sandt, Jon Ison, Paula Andrea Martinez, Peter McQuilton, Alfonso Valencia, Jennifer Harrow, Fotis Psomopoulos, Josep Ll. Gelpi, Neil Chue Hong, Carole Goble, and Salvador Capella-Gutierrez. Towards FAIR Principles for Research Software. Data Science, 3(1):37–59, 2020. URL: https://doi.org/10.3233/DS-190026.
Stan Lee. Amazing Fantasy #15. Marvel, 1962. Popularized the phrase, "With great power comes great responsibility.".
Sarah Lin, Ibraheem Ali, and Greg Wilson. Ten Quick Tips for Making Things Findable. PLOS Computational Biology, 16:1–10, 12 2020. How to organize and label information to make it easier to search and discover. URL: https://doi.org/10.1371/journal.pcbi.1008469, doi:10.1371/journal.pcbi.1008469.
Van Lindberg. Intellectual Property and Open Source: A Practical Guide to Protecting Code. O'Reilly Media, 2008. ISBN 978-0596517960. A thorough dive into intellectual property issues related to open source software.
Suvodeep Majumder, Joymallya Chakraborty, Amritanshu Agrawal, and Tim Menzies. Why Software Projects Need Heroes (Lessons Learned from 1000+ Projects). 2019. An evidence-based exploration of the role of core developers in software production. URL: https://arxiv.org/abs/1904.09954.
Ronald Mak. The Martian Principles. Wiley, 2006. ISBN 0471789658. A short, enjoyable guide to software architecture from someone whose code had to deal with Mars.
Stephen Meili. Do Human Rights Treaties Help Asylum-Seekers?: Lessons from the United Kingdom. Minnesota Legal Studies Research Paper, 2015. doi:10.2139/ssrn.2668259.
Stephen Meili. Do Human Rights Treaties Help Asylum-Seekers: Findings from the U.K. 2016. URL: http://www.openicpsr.org/openicpsr/project/100049/version/V2/view, doi:10.3886/E17507V2.
William K. Michener. Ten Simple Rules for Creating a Good Data Management Plan. PLOS Computational Biology, 11(10):e1004525, Oct 2015. URL: https://doi.org/10.1371/journal.pcbi.1004525, doi:10.1371/journal.pcbi.1004525.
George A. Miller. The Magical Number Seven, Plus or Minus Two: Some Limits on Our Capacity for Processing Information. Psychological Review, 63(2):81–97, 1956. The first definitive presentation of limits to human short-term memory. doi:10.1037/h0043158.
Greg Miller. A Scientist's Nightmare: Software Problem Leads to Five Retractions. Science, 314(5807):1856–1857, 2006. doi:10.1126/science.314.5807.1856.
Anne Minahan. Martha's Rules. Affilia, 1(2):53–56, Jun 1986. Describes a lightweight set of rules for consensus-based decision making. doi:10.1177/088610998600100206.
Andrew Morin, Jennifer Urban, and Piotr Sliz. A Quick Guide to Software Licensing for the Scientist-Programmer. PLoS Computational Biology, 8(7):e1002598, Jul 2012. A short introduction to software licensing for non-specialists. doi:10.1371/journal.pcbi.1002598.
Felix Mölder, Kim Philipp Jablonski, Brice Letcher, Michael B Hall, Christopher H Tomkins-Tinch, Vanessa Sochat, Jan Forster, Soohyun Lee, Sven O Twardziok, Alexander Kanitz, and others. Sustainable data analysis with snakemake. F1000Research, 2021.
William Stafford Noble. A Quick Guide to Organizing Computational Biology Projects. PLoS Computational Biology, 5(7):e1000424, Jul 2009. How to organize a small to medium-sized bioinformatics project. doi:10.1371/journal.pcbi.1000424.
Daniel Nüst, Vanessa Sochat, Ben Marwick, Stephen Eglen, Tim Head, Tony Hirst, and Benjamin Evans. Ten Simple Rules for Writing Dockerfiles for Reproducible Data Science. 2020. doi:10.31219/osf.io/fsd7t.
Marian Petre and Greg Wilson. Code Review For and By Scientists. In Proc. Second Workshop on Sustainable Software for Science: Practice and Experience. 2014. Found that effective code review depends on understanding the scientific problem that software is studying. doi:arXiv:1407.5648.
Barney I. Potter, Rebecca Garten, James Hadfield, John Huddleston, John Barnes, Thomas Rowe, Lizheng Guo, Xiyan Xu, Richard A. Neher, Trevor Bedford, and David Wentworth. Evolution and Rapid Spread of a Reassortant A(H3N2) Virus that Predominated the 2017–2018 Influenza Season. Virus Evolution, 5(2):vez046, 2019. URL: https://doi.org/10.1093/ve/vez046.
Joël Quenneville. Code Review. 2018. Guidelines for code review. URL: thoughtbot/guides.
Eric J. Ray and Deborah S. Ray. Unix and Linux: Visual QuickStart Guide. Peachpit Press, 2014. ISBN 978-0321997548. An excellent general introduction to all things Unix.
Sandya Sankarram. Unlearning Toxic Behaviors in a Code Review Culture. 2018. What \emph not to do in code review. URL: https://medium.freecodecamp.org/unlearning-toxic-behaviors-in-a-code-review-culture-b7c295452a3c.
John Scalzi. Straight White Male: The Lowest Difficulty Setting There Is. 2012. URL: https://whatever.scalzi.com/2012/05/15/straight-white-male-the-lowest-difficulty-setting-there-is/.
Andrea Schankin, Annika Berger, Daniel V. Holt, Johannes C. Hofmeister, Till Riedel, and Michael Beigl. Descriptive Compound Identifier Names Improve Source Code Comprehension. In Proc. 26th Conference on Program Comprehension (ICPC'18). ACM Press, 2018. URL: https://doi.org/10.1145/3196321.3196332, doi:10.1145/3196321.3196332.
missing journal in schlauch2018dlr
Judith Segal. When Software Engineers Met Research Scientists: A Case Study. Empirical Software Engineering, 10(4):517–536, 2005. Looks at the chicken-and-egg problem of software review in science. doi:10.1007/s10664-005-3865-y.
Dan Sholler, Igor Steinmacher, Denae Ford, Mara Averick, Mike Hoye, and Greg Wilson. Ten Simple Rules for Helping Newcomers Become Contributors to Open Projects. PLOS Computational Biology, 15(9):e1007296, Sep 2019. URL: https://doi.org/10.1371/journal.pcbi.1007296, doi:10.1371/journal.pcbi.1007296.
Peter Smith. Software Build Systems: Principles and Experience. Addison-Wesley Professional, 2011. ISBN 978-0321717283. A thorough, readable exploration of how software build systems and tools work.
Igor Steinmacher, Igor Scaliante Wiese, Tayana Conte, Marco Aurélio Gerosa, and David Redmiles. The Hard Life of Open Source Software Project Newcomers. In Proc. 7th International Workshop on Cooperative and Human Aspects of Software Engineering (CHASE/14). 2014. An empirical look at newcomers' experiences in open source software projects. doi:10.1145/2593702.2593704.
Morgan Taschuk and Greg Wilson. Ten Simple Rules for Making Research Software More Robust. PLoS Computational Biology, 13(4):e1005412, Apr 2017. A short guide to making research software usable by other people. doi:10.1371/journal.pcbi.1005412.
Nicholas J Tierney and Karthik Ram. A Realistic Guide to Making Data Available alongside Code to Improve Reproducibility. 2020. A guide to what the working scientist can feasibly do to share data. URL: https://arxiv.org/abs/2002.11626.
Chelsea Troy. Why do Remote Meetings Suck so Much? 2018. URL: https://chelseatroy.com/2018/03/29/why-do-remote-meetings-suck-so-much/.
Jake VanderPlas. The Whys and Hows of Licensing Scientific Code. 2014. URL: https://www.astrobetter.com/blog/2014/03/10/the-whys-and-hows-of-licensing-scientific-code/.
Elizabeth Wickes and Ayla Stein. Data Documentation Material. 2016. Source material for our lesson on data sharing. URL: http://hdl.handle.net/2142/91611.
Mark D Wilkinson, Michel Dumontier, IJsbrand Jan Aalbersberg, Gabrielle Appleton, Myles Axton, Arie Baak, Niklas Blomberg, Jan-Willem Boiten, Luiz Bonino da Silva Santos, Philip E Bourne, and others. The fair guiding principles for scientific data management and stewardship. Scientific data, 3(1):1–9, 2016.
Richard A Williams, Jon Timmis, and Eva E Qwarnstrom. Statistical techniques complement uml when developing domain models of complex dynamical biosystems. PloS one, 11(8):e0160834, 2016.
Greg Wilson. Teaching Tech Together. Taylor & Francis, 2019. ISBN 978-0-367-35328-5. How to create and deliver lessons that work and build a teaching community around them.
Greg Wilson, Jennifer Bryan, Karen Cranston, Justin Kitzes, Lex Nederbragt, and Tracy K. Teal. Good Enough Practices in Scientific Computing. PLoS Computational Biology, 13(6):e1005510, Jun 2017. Outlines what a “good enough” research software project should look like. doi:10.1371/journal.pcbi.1005510.
Tianyin Xu, Long Jin, Xuepeng Fan, Yuanyuan Zhou, Shankar Pasupathy, and Rukma Talwadker. Hey, You Have Given Me Too Many Knobs!: Understanding and Dealing with Over-Designed Configuration in System Software. In Proc. 10th Joint Meeting on Foundations of Software Engineering (FSE'2015). ACM Press, 2015. Examines the over-abundance of configuration options in software. doi:10.1145/2786805.2786852.
Letian Zhang. An Institutional Approach to Gender Diversity and Firm Performance . Organization Science, 31(2):439–457, 2020. Shows that inclusivity has economic benefits as well as being a moral necessity. URL: https://doi.org/10.1287/orsc.2019.1297.
Santiago Perez De Rosso and Daniel Jackson. What's Wrong With Git? In Proc. 2013 ACM International Symposium on New Ideas, New Paradigms, and Reflections on Programming and Software ( Onward!'13). 2013. The first in a series exploring what's wrong with Git. doi:10.1145/2509578.2509584.