Skip to content

Latest commit

 

History

History

hackathon

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 

Hackathon

As part of the MDA UGM2024 we are holding a hackathon for anybody interested in working with a number of MDAnalysis core developers on code --- it can be your own project where you want some help or start building something amazing with a few like-minded hackers!

Discord server: The #hackathon channel on the MDAnalysis Discord server is available for any questions, sharing of ideas and discussion in the lead up to the hackathon, during and after.

Schedule

time (BST) what's happening?
09:00 - 09:30 Registration
09:30 - 10:15 A Bird's Eye View of Contributing to and Maintaining Open Source Software
10:15 - 10:30 Hackathon Introduction & Project Setup
10:30 - 12:30 Hackathon
12:30 - 14:00 Lunch
14:00 - 16:00 Hackathon
16:00 - 17:00 Wrap-up and showcase

Coffee, tea and lunch will be provided.

How do I participate?

Before the hackathon

  • Read the hackathon materials, and read/watch any of the linked resources you're not already familiar with.
  • If you don't already have a GitHub account, make one now! This will allow you to work collaboratively with others, and you'll need one to contribute to the main MDAnalysis codebase.
  • Join the discord to follow the discussion on the #hackathon channel!
  • Look through the ideas below, and start to think how you'd like use your time during the hackathon to contribute to MDAnalysis.
    • If you have a specific project of your own in mind: raise an issue on the UGM Issue Tracker so that you have a dedicated place share and discuss your idea and gather other attendees to help you. Also share your idea (with a link to the issue) on the #hackathon channel.

    • If you see an existing idea (from the MDAnalysis team or another attendee) that interests you, find the associated issue and join the discussion there. Even if you don't intend to work on an issue yourself (or are yet undecided), any questions, comments and thoughts are always useful.

    • If you have suggestions or complaints about MDAnalysis code or documentation, consider raising an issue on the MDAnalysis issue tracker or the User Guide issue tracker! The User Guide has an issue template called "User stories" that follows this template: As a type of user, I want to achieve this goal, so that reason why.

      If there is anything you wanted to do with your simulation and couldn't figure out (easily) how, please leave us a story there so we can improve our docs! We definitely also appreciate contributions to our documentation as well if you have an idea what you would like to see!

At the hackathon

  • Pick an idea and gather a team! Use the associated issues (see below) to find others who expressed interest in a particular project. You can also team up with others to tackle multiple smaller issues together.

    While you can choose to work individually, we strongly encourage you to make use of this opportunity to work alongside like-minded attendees this will both make the experience more fun, and improve your code's quality.

    • Working on a project as a team: Discuss how you could split your project into different tasks. Make a central repository for your code on GitHub, and use issues to keep track of and assign developers to these tasks. Use Pull Requests (and push frequently!) to share your progress with your team and allow them to review or comment - and in turn, review and comment on your teammates' progress. Eventually, these PRs can be merged to combine everyone's work into a greater whole.
  • Update progress on the associated UGM issue (if one doesn't exist yet, make one now) to let other attendees and the MDAnalysis team know how you're going!

  • Continue to use the #hackathon discord channel for any broader discussion, and remember the MDAnalysis team is on hand to help you out!

  • Hack away, make new friends, build something awesome - and have fun!

Showcase

At the end of the session, we will be holding a brief showcase to allow those who wish to share the work they achieved over the hackathon. If you want to present, add a slide to the shared Google slides presentation. A link will be provided beforehand.

This could be advertising a new feature you created or showing off a bug fix you're particularly proud of; and need not be a "finished" product - you can talk about what you got done, what future plans are, and if there's still help wanted.

Depending how many wish to present, time may be short, so have an elevator pitch summary for your work ready!

After the hackathon

It's very possible that you won't "finish" a project within the time limit of the hackathon - and that's ok! Stay in contact with your team on GitHub or Discord - we strongly encourage you to keep working on your project.

No code project is ever truly "finished", and we hope that you'll stick around - whether this is maintaining and improving your new contribution, or finding other ways to contribute the broader MDAnalysis ecosystem. We're always looking for more help!

What should I work on?

The hackathon will give you the opportunity to ask experts for advice and team up with other like-minded people to solve problems. We encourage you to bring your own code along, but we also have two additional focus areas where you can get involved in some current problems of interest to the wider MDAnalysis community.

Bring your own problem

If you are working on your code where you use MDAnalysis and you want to discuss it or need some help or ideas: then bring it and chat with some of the core developers or other users.

Raise an issue on the UGM Issue Tracker; include [project] at the start of the issue title, and share a link to the issue on the #hackathon discord channel to direct discussion there.

Contribute to MDAnalysis!

We are always looking for new contributions to the MDAnalysis library. Why not spend this hackathon fixing one of our many issues or maybe even contributing a fun new enhancement?

This session is particularly geared towards individuals who might not have previous experiences contributing to open-source projects, and dealing with the peculiarities of Github.

For more details, go to the fix-an-issue directory.

Build an MDAKit

MDAKits are standalone packages containing code using MDAnalysis components. They are installed as a separate package from MDAnalysis. An MDAKit can be written by anyone and hosted anywhere.

We built tools to easily package your code into Python packages that users can just install and use alongside MDAnalysis. In this session you can learn how to package and organize your code to reach a wider audience (or just make it easier for your collaborators and team mates to work with your code).

For more details, go to the mdakits directory.

Special session: Parallel analysis

After more than a full year of relentless effort from @marinegor and our amazing contributors, we’ve just merged a brand-new parallel analysis framework into the MDAnalysis develop branch. This is your chance to be among the first to explore this blazingly fast tool. But we’re not done yet—--we need your sharp insights to help us refine it and make it even more user-friendly. It’s also a fantastic opportunity to integrate parallel capabilities into your own analysis code!

Head over to the parallel-analysis directory for all the details and get started!