Coder Social home page Coder Social logo

needs-love's Introduction

Needs Love

img/needs-love.jpg

https://img.shields.io/badge/rseng-needs--love-purple https://img.shields.io/badge/rseng-project-purple https://good-labs.github.io/greater-good-affirmation/assets/images/badge.svg Gitter

Background

This is an incubating project idea that will match research software engineers with projects. It's a peer-to-peer network for learning by way of doing. There are plenty of avenues for online learning, including tutorials, courses, and documentation. However, sometimes the best way to learn is to have project with one or more explicit goals to accomplish. This is the vision behind needs-love.

What Needs Love?

You might feel overwhelmed or frustrated by a lack of time to finish some of your projects, but have you ever thought about the opportunity that such unfinished work offers?

For research software engineers that don't work in a group, or largely exist in silos, finding consistent sources of challenge is a challenge in and of itself. And guess what - an unfinished project and an RSE hungry to learn is a match made in heaven. If you are submitting a project, you get your project rolling again, and the RSE grows. It's a peer to peer network of matched mentorship that works really well for already very independent and curious engineers.

In a nutshell, both the projects and the RSEs need a little love.

Who is Involved?

Starters

We aren't talking about bread, folks, but the pun is quite lovely. A starter has put some time and thought into a recipe, and very likely started the baking process, but doesn't have the bandwidth to finish the dough and put it in the oven.

What makes a good starter?

A good starter has expertise in some area, or a project started, but doesn't have time to finish up. It's also okay to just have an idea that you want to throw out there for someone to work on. You might not even know what the best implementation might be! Thus, a good starter can also just have a good idea.

Finishers

Finishers are hungry for opportunity, and fun projects. A finisher can be very independent and curious, or ask for a bit more help. The finisher wants to take some project that has been started, and turn it into delicious bread, or an idea that isn't baked yet, and write the recipe.

What makes a good finisher?

The finisher, regardless of skill, should be motivated to take ownership of a project or an idea.

Submitting a Project or Idea

You can submit a project or idea that needs love simply by opening an issue, and selecting the "Project or Idea that needs love" template.

img/needs-love-template.png

Once your idea is submit, it will (each night) render to the interface of projects that need love, which you can see here.

img/needs-love-interface.png

Matching Yourself

When you navigate the web interface to find an issue that looks interesting, if you click the issue to navigate to the GitHub interface, you can have discussion with the author about how you might like to be involved.

What should you discuss?

The match between the starter, both project and individual, and the finisher, is very important! While the criteria might vary by project, it's generally a good idea to open up a discussion on one of the needs-love issues and discuss the following:

  • if expertise is known to be needed, where will it come from?
  • how can both parties best communicate, and ask questions?
  • what kind of time frame do you have in mind?
  • do you have all the resources that you need?

If there is match, great! You can match yourself simply by applying the matched label. A GitHub action will handle removing the needs-love label so that others know that you've taken charge. The interface will update over night.

Updating a Match

If you can no longer work on a project or idea, you should notify the starter (the person that originally submit the issue) about this change, and he or she can remove the matched label. Once this is done, a GitHub action will add back the needs-love label so that others know that the issue is open to be worked on.

What if someone doesn't ask for help?

Asking for help can be hard! In some cases, asking for help can look like labeling an issue with "Good First Issue." For this reason, for the interested folks that want to persue a list of open source, research software engineering efforts, we provide the awesome-rseng awesome list.

How can I contribute?

If you want to find a project to help with, you can browse the issue board or the interface here. It's also very helpful to peruse around some of your projects, or open source projects you contribute to, and look for good "needs love" issues. Many times, you can also have discussion with colleagues to find what they are working on (and wish they had more time to work on).

needs-love's People

Contributors

tabakg avatar vsoch avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Forkers

tabakg kaestnja

needs-love's Issues

[needs-love] "Is it research software" interface

Description

I've been thinking about the question "What is research software" and think it would be fun to create an "Is it research software" interface. It would be akin to Hot or Not, but instead of people, show research software projects. It should work:

  • to render content on GitHub pages from static files in some repository
  • allow for voting to keep track of the totals (this is the hard part, we'd need some database that we can interact with safely on GitHub pages, and this might not be possible, in which case an actual app to run on a cloud would work too!)

This is something I am adding here also to test the "needs-love" interface and automation that I'm currently developing. This will eventually work so people can post projects / ideas like this, and it will update to the web interface over night, and then when someone is assigned / or the matched label is added (meaning someone found it on the interface and wants to help) it will parse on a different spot on the site.

I'll likely be using this issue to test a bunch of stuffs!

Create actions for assigning labels.

An issue cannot have the label needs-love and matched concurrently. We need an action that will remove the second whenever either of the first is assigned.

[needs-love] Exosphere interface to manage cloud compute workloads

Description

Exosphere: is an experimental, researcher-friendly interface for managing cloud compute workloads.

It is a pure client application that uses the same technologies as the popular communication tool Slack (Electron). Instead of JavaScript the software is written in a statically typed, pure functional programming language called Elm (https://elm-lang.org/) which ensures no runtime exceptions, and which makes refactoring a breeze.Exosphere communicates with OpenStack services via open, standard REST (HTTP) APIs. The same codebase is usable in a web browser (https://try.exosphere.app) or as a desktop application (https://try.exosphere.app/packages/).

Exosphere is designed to be used with any OpenStack cloud with zero custom integration. The cloud administrator usually does not need to do anything except provide access to the standard OpenStack APIs.

How can we help?

In collaboration with Jetstream Cloud we launched a prototype of Exosphere that allows users to access their Jetstream resources.We are looking for people who are interested in learning Elm, and who want to help researchers leverage cloud computing resources.Repository: https://gitlab.com/exosphere/exosphere

[needs-love] Singularity Registry Server add contributors to collection

Description

A user has requested that an admin (a super user to be specific) is allowed to add custom users to a collection contributors or owners. This is something that seems reasonable in that it can be done with the manage.py (direct interaction with the container) but this is different from the user interface. For this needs love issue, if someone has some experience with jinja2 and python, we would want to update the view to allow this functionality, and make sure it doesn't break teams. See singularityhub/sregistry#280.

How can we help?

  • Update the shub/apps/main/templates/collections/_collection_settings_users.html and matching views in shub/apps/main/views/collections.py to allow for a super user to add users to be contributors or owners. I also think this should be set to be allowed (or not) as a global environment variable, with the default not allowing it (I don't see it being a pattern for any other registry, although I'm definitely not the super user there!)

Please open up discussion here if you have any questions and would like to work on this issue to learn about Django, containers, or jinja2.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.