EPICS Controls Argonne National Laboratory

Experimental Physics and
Industrial Control System

EPICS Codeathon 2010

The Control Systems Group at the Diamond Light Source in Oxfordshire, England will host the 2010 EPICS Codeathon from 24-28th May, to work on some of the items on the EPICS To Do list. They will provide a comfortable environment with wired and 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.

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 two previous EPICS Codeathons have each had around 12 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 are usually limited by the space available, 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 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 (it's usually easier to cancel than be added at the last minute).

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?

Diamond is on the Harwell campus near Didcot. The Codeathon will take place in a large conference room on site. Both wired and 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).

Where to stay

Diamond have reserved a block of rooms at The Cosener's House (where the June 2003 Collaboration meeting was held) in Abingdon town center, about 20 minutes drive from the Diamond site. Reservations for these rooms need to be made by April 22nd. There are a number of other hotel or B&B options in the area as well.

Subsequent travel to the ITER meeting

The Eurostar and French TGV railway system are a very pleasant way to travel, and are often cheaper than flying; they can take a bit longer, but without the long check-in times, squashed seats with no leg-room or heavy security. If you're interested in this option, the website The Man in Seat 61 has lots of information about travelling from London to France, including timetables, prices, links to booking sites, videos and other travel tips.

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. We are open to a few talks on topics that developers would find interesting, but most EPICS-related presentations should be saved for the ITER collaboration meeting in Aix-en-Provence, France the following week.

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; UK power is 240V at 50Hz and comes from a socket with 3 rectangular pins.

  • 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 are currently expected to attend at least part of the time:

  1. Andrew Johnson (Argonne/APS)
  2. John Hammonds (Argonne/APS)
  3. Bob Dalesio (Brookhaven/NSLS-2)
  4. Michael Davidsaver (Brookhaven/NSLS-2)
  5. James Rowland (Diamond)
  6. Jon Thompson (Diamond)
  7. Matt Pearson (Diamond)
  8. Michael Abbott (Diamond)
  9. Nick Rees (Diamond)
  10. Peter Denison (ex-Diamond)
  11. Jim Chen (Hytec)
  12. Jeff Hill (LANL)
  13. Dirk Zimoch (PSI)
  14. Kukhee Kim (SLAC)
  15. Mark Rivers (UChicago/APS)

Last updated: 2010-02-08

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