EPICS Controls Argonne National Laboratory

Experimental Physics and
Industrial Control System

EPICS Codeathon 2011

22-26 August, 2011

The Accelerator/Advanced Technology Group at the Lawrence Berkeley National Laboratory in Berkeley, California will host the 2011 EPICS Codeathon, to work on some of the items on the EPICS To Do list. LBL will provide a comfortable environment with wired and wireless networking and space for up to 20 people to work on EPICS core and related development projects. Attendees will be responsible for their own travel and expenses, and must bring a laptop or notebook computer to work on with all necessary development software.

By taking developers out of their home environment they can be freed up from interruptions and local problems and allowed to concentrate on specific EPICS development tasks. 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.

What Happens?

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.

The three previous EPICS Codeathons have had 12-15 attendees from several different labs/sites, and have resulted in many useful advances for EPICS.

Who's invited?

This workshop is intended for experienced EPICS users who wish to contribute towards the future of EPICS. There are usually several core developers in attendance as well as a number of other people; see the participant list below for the people we're currently expecting to attend this year.

Our numbers will be limited to at most 20 developers by the space available. It's not necessary to attend for the whole week, but preference will be given to those who will. You don't even have to be a C programmer as we have some tasks that involve Perl, Java or LaTeX, although most tasks will require a good understanding of EPICS and C/C++ coding.

If you are interested email Andrew Johnson as soon as possible to reserve a spot. If there are places available we should be able to accept late entries, but we would prefer some notice.

This codeathon is now listed as a sprint on the Launchpad website, registration there is optional but would be nice. If you have a specific project you're planning to work on, it would be good to describe it in a Blueprint for that sprint.

US Department Of Energy Laboratories

If you don't work for a DOE Lab, ignore this section.

DOE Order 110.3A, Conference Management, dated January 25, 2007 requires DOE approval for attendance or hosting of conferences, but lists several exclusions to the approval requirement.

In 2008, the Argonne Conference Office agreed that the Codeathon fell under an exclusion as a (i) DOE technical/business program, project, or peer review and (a) DOE employees traveling to sites where work for DOE is being performed to discuss the status of that work. As a result, if you work for a DOE lab you should be able to quote this exclusion on your travel request and avoid having to get Conference Attendance approval to come.

Where is it being held?

In the following conference rooms at LBNL, from 9am to 5pm:

Day Building Room
Tuesday 2100B

If you get lost, Eric's lab phone number is (510) 486-6958 (but if he's in the conference room with us you might have to leave a message).

LBNL is located on a hill above the campus of the University of California at Berkeley. The Codeathon will take place in a conference room on site which has a panoramic view of the Bay Area. Both wired and wireless networking should be available, with high-speed access to the internet so you should be able to connect back to your home institution for email and any other services (the ability to test software on your own hardware back home may be useful if you're allowed to do that).

Where to stay

The Berkeley Lab Guesthouse is located on the LBL campus. When making a reservation, your host at LBNL is W. Eric Norum.

Work Projects

Our list of development projects comprises tasks of varying levels of complexity that we would like to see implemented. These mostly involve Base, but do include other shared projects such as VDCT. Some other ideas can be found at the list of Launchpad blueprints for EPICS Base; you should contact the author of the blueprint to find out if any work has already been done to implement it though.

Participants can also bring or suggest additional projects themselves, but please try to discuss these ideas on core-talk before the event if possible. You will be able to pick the project or projects you will work on after a discussion with the other participants to avoid duplication of effort.

The core developers who attend will be working on their own projects, but will also be available to provide advice and assitance to others as needed.

The EPICS core developers have to review and approve all changes and additions that can be merged into official releases of EPICS Base. Contributions of code can only be accepted under the terms of a Grant of License which your employer has to sign. Many EPICS sites have already done this, but for others you may be asked to approach your management about this before we can merge your code.

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.

  • Make sure your laptop/notebook computer is prepared for the work that you are capable of doing. You'll need to have all of the necessary compilers and other tools to build the software you're working on, and if you're interested in working on enhancements to Base you will need Python and version 2.x of the Bazaar (bzr) DVCS software installed (there are Bazaar plugins for Eclipse, Windows, MacOS, and Linux users).

    You should also sign up for a Launchpad account which will allow you to publish your results. Instructions for checking out a local copy of Base can be found here.

    Don't forget to bring a mains adapter if you're not from the US.

  • If you're interested in documentation work, ask me in advance to set you up with a Wiki account — this doesn't take long to do, but it will allow you to familiarize yourself with editing Wiki pages.
  • Look through the list of suggested work projects and try to identify which ones you might be interested in working on, and then examine the existing code in base to try and get a feel for what needs to be done to implement them. If you have additional ideas of your own, it is worth posting a message to core-talk describing them in advance of the event.

    This type of preparation work isn't the same as starting early. It's more a matter of getting your brain ready to sit down and tackle some problems. Rather than spending half a day deciding what to do, you'll already have a bit of an idea about where you could do some work and what the bigger picture looks like in that area.


The following people attended:

  1. Andrew Johnson (Argonne)
  2. Michael Davidsaver (Brookhaven)
  3. Jeff Hill (LANL)
  4. W. Eric Norum (LBL)
  5. Kukhee Kim (SLAC)
  6. Murali Shankar (SLAC)
  7. Shantha Condamoor (SLAC)
  8. Till Straumann (SLAC)

Last updated: 2011-08-30

ANJ, 04 Feb 2014 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·