Experimental Physics and
EPICS Codeathon 2022
SLAC/LCLS hosted the 2022 Spring EPICS Codeathon from Monday May 9th to Friday May 13th, to work on some of the items on the EPICS Core, Java, and Python To Do lists. This was a hybrid event, with both on-site and virtual attendees.
By having developers focus on specific EPICS development tasks they will learn more about how the core software works and should become more profficient at using it. A lab that is looking to both improve their EPICS expertise and to give something back to the collaboration might find this an appropriate way to do both at the same time.
Daniel Flath wrote a report about the event including attendance and work done in the 3 parallel sessions. These were the three presentations included in that report:
Coding Marathons, also called Code Sprints or Hackathons are popular in many open source projects as a way of making progress on certain development efforts, clearing up bug reports and introducing new developers to the project internals. They usually involve design discussions between developers, coding (individually or using techniques like Pair Programming), code testing and debugging, writing documentation, and coaching for developers who are new to the code-base.
Previous EPICS Codeathons have attracted between 8 and 34 attendees from many different labs/sites, and have resulted in many useful advances for EPICS. There are always core developers present to help newcomers get started and suggest answers to any questions that arise. We will also be asking attendees to test and review each others' projects as well as working on their own, further broadening their experience.
Hybrid = In-Person or Virtual
This year the event will be hybrid, meaning that participants may visit SLAC where there will be one or more meeting rooms available for use (subject to any COVID-19 restrictions in place at the Lab), and there will also be an active Zoom (or equivalent TBD) channel for remote participants to connect to that we will also use for whole-group sessions. Outside of the whole-group sessions the Zoom channel will be available for small group meetings and we may be able to set up breakout rooms too for discussions about specific project issues.
We also have a GitHub Discussions forum set up that we will be using for introductions, claiming work projects, requesting reviews and other kinds of general conversation. More details about this are given below.
We are open to the use of any other internet communications technologies that you have access to such as private Zoom channels, Google Meet, MS Teams, BlueJeans, SLAC channels, IRC, or even regular email to facilitate technical conversations — use whatever works for the people who need to be involved in the conversation. The core-talk mailing list might be an appropriate venue for some kinds of discussions.
EPICS Codeathons are intended for EPICS users who wish to contribute towards the future of EPICS, either by writing code or working on various documentation tasks. They are generally not suitable for those just starting to learn EPICS unless you have considerable experience in a related software field and are a self-starter. Several developers from the EPICS Core (C/C++),` CS-Studio/Phoebus (Java) and Python developer groups wlll be available to act as mentors, including members of the team responsible for the epics-controls website.
It isn't necessary to attend all 4 days, but please try to make it for enough time that you'll be able to finish at least one project. You don't have to be a C, Java or Python programmer (although most projects will need those skills), we will have some tasks that involve writing and updating the EPICS documentation, although most tasks will require some understanding of EPICS, C/C++ or Java coding and/or Linux scripting.
How to register?
The event website is now open and has an RSVP link to this form for registration.
If you have questions about projects or EPICS development you are welcome to email the core-talk list with them (you don't have to join that list, the moderators will approve such messages and will CC you on any replies).
Where will it be held?
In-person at SLAC in California (details coming), or online using email, GitHub, Launchpad and other technologies as needed. Registered online participants will be sent details by email. For general messaging conversations we have enabled GitHub Discussions on the epics-base repository with a Codeathon 2022 category, but subgroups are welcome to pick a different medium for discussions if they prefer — please post a message to the Dicussions forum saying what you are using so others can find you.
Where to stay?
Virtual participants can stay in the comfort of their own homes.
In-person participants may book rooms at the Stanford Guest House or the Cardinal Hotel in Palo Alto, details and booking links are here.
See the agenda page.
We have been developing lists of development projects that we would like to see implemented and bugs that could be fixed, of varying levels of complexity. The links below cover work in C/C++ on EPICS Base, and in Java on CS-Studio, Phoebus and related middle layer services, and for the Python track. You can also suggest your own project ideas, but please try to discuss them with an appropriate mentor before the event if you can.
How to Prepare
What can/should you do in advance in order to make life at the event itself easier for you and the other participants? Here are some suggestions, if you have other ideas that you think would help let me know and I'll add them here.
The following well-known developers are planning to attend (some may be virtual) and should be available for consultation. There may be others that we don't yet know about.
Last updated: 2022-05-17
|ANJ, 19 May 2022||
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·