Week 6:Vicky Steeves and Project Evaluations

Invited Speaker: Vicky Steeves

The main takeaway from Vicky Steeve’s talk, for me, was the importance of reproducibility and security when it comes to our data and code, and what factors we may need to keep in mind in order to maintain those qualities in our work.

As a data librarian, one of Ms. Steeves’ top priorities is reproducibility in research and code. She stressed to us the importance of documenting the development environment used for projects, both hardware and software, as there are many variables in any individual setup that may confound a software package, thereby preventing reproducibility for those non-working setups. Ideally, software and code would be platform agnostic, but the dependencies on certain software suites for many projects means we have to be diligent about our development environments.

A tip Ms. Steeves’ gave us for maintaining reproducibility is to make use of open software rather than closed-source, proprietary software. The “black box” of proprietary software is un-ideal, as it makes it so users have to more-or-less hope that the contents of those black boxes work on their systems due to hidden information. However, open software hardly obfuscates any information from the end-user, so it can be very easy to trace and fix any issues that may arise.

For security, Ms. Steeves focused on making sure we didn’t lose access to our code. When Ms. Steeves’ asked us if any of us have backed up our code outside of GitHub and no one raised their hands, I realized that I had never once thought to do that. When she showed us the story of a PHD student from a foreign country losing access to her thesis files on GitHub as collateral damage to political happenings, I felt dumbfounded that you could just lose that access even though you own what you make. When I got back home, I quickly went to back up important projects and files from GitHub onto a thumb drive.

Project Evaluations

I evaluated two projects this week: freeCodeCamp and libGDX.

  1. freeCodeCamp is a website to learn how to code for, you guessed it, free. The primary curriculum is about teaching full-stack web development, and it’s filled with interactive tutorials that are almost videogame-like.
    • Overall, freeCodeCamp seems like a very friendly and active community that is quite passionate about the project as a whole, and there is even a sizeable amount of beginner-friendly ways to contribute as well.
    • However, freeCodeCamp’s codebase is almost entirely JavaScript, a language I have little to no experience with. So I would not be able to contribute much source code.
  2. libGDX is a cross-platform Java game development framework with many of its own APIs and a focus on rapid prototyping. It allows users to make games without worrying about low-level details.
    • Overall, libGDX has a less active community than freeCodeCamp, and ways to contribute for beginners are rather limited.
    • However, libGDX’s codebase is primarily Java, the language I have the most experience with. So given a little studying of the code base, I should be able to contribute to the source code in some way.

Both of these projects are ones that I am actually pretty interested in using within my daily life, so I’d be okay with working with either one of them. At the very least, I’d be enthusiastic about working with either of them, even if my technical ability may not be up to snuff.

Written before or on March 9, 2020