EPICS Controls Argonne National Laboratory

Experimental Physics and
Industrial Control System

EPICS Codeathon 2009

The NSLS-2 Controls group at Brookhaven National Laboratory will host an EPICS Codeathon from 30th March to the 3rd of April 2009, to work on some of the items on the EPICS To Do list. They will provide a comfortable environment with wireless networking, refreshments and space for up to 20 people to work on EPICS core 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. For security reasons registration is now closed (unless you already have a gate pass for the Brookhaven Lab).

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 Hackathons or Code Sprints, 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 first EPICS Codeathon had 12 attendees from 6 different labs/sites, and worked on a total of 15 different projects.

Who’s invited?

This workshop is intended for experienced EPICS users who wish to contribute towards the future of EPICS Core. Several core developers have already agreed to come, and we have had expressions of interest from several other people; see the participant list below for those who we're currently expecting.

Our numbers are limited by the space available to about 12 people at any one time, but it's not necessary to attend the whole week (preference will be given to those who will however). You don't even have to be a C programmer as we have some tasks that involve documentation, although most tasks do require a good understanding of EPICS and C coding. If you are interested email Andrew Johnson and Bob Dalesio before February 9th to request a place.

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 building 902 at Brookhaven National Laboratory on Long Island, Yew York. On the map of the BNL campus building 902 is on the West side just North of Cornell Avenue. You will of course have to collect a security badge at the main gate first, don't forget to bring your ID/visa documents.

General information about visiting Brookhaven can be found here. Maps and directions to the Lab are here, and other transportation information is here. The Lab also has an accommodations page, but see the next paragraph first.

A block of rooms has been reserved under the name Brookhaven National Laboratory Dalesio Codeathon at the Brookhaven Hampton Inn. This hotel is fairly close to the Long Island Macarthur Airport (ISP) which is served by SouthWest Airlines. JFK and La Guardia are both about an hour's drive away.

Wireless networking will 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). I don't know whether any wired network spigots will be available though, so do make sure your laptop wireless works.

Work Projects

We have a list of development projects of varying levels of complexity that we would like to see implemented. These mostly involve Base, but do include other shared projects such as Asyn and VDCT. Participants can also bring or suggest additional projects (feel free to discuss ideas on core-talk before the event), and will pick the project(s) they work on after discussions 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; core developers will have the final say on the changes and additions being proposed for their areas of expertise. We are open to offers of a few talks about topics that developers should find interesting, and there will probably be beer drinking in the evenings.

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 and a copy of the latest version of Base installed and built if you're interested in working on enhancements to Base. 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 have are currently expected to attend:

  1. Andrew Johnson (Argonne/APS)
  2. Eric Norum (Argonne/APS)
  3. Kazimierz Gofron (Argonne/APS)
  4. Marty Kraimer (Argonne/APS)
  5. Ralph Lange (BESSY)
  6. Bob Dalesio (BNL)
  7. Michael Davidsaver (BNL)
  8. Bernd Schoeneburg (DESY)
  9. Matt Pearson (Diamond)
  10. Nick Rees (Diamond)
  11. Till Strauman (SLAC)
  12. Mark Rivers (UChicago)


See this report for a list of what was worked on.

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