"Increasingly, the real limit on what computational scientists
can accomplish is how quickly and reliably they can translate
their ideas into working code."
Greg Wilson, Where's the Real Bottleneck in Scientific Computing?
"programming the complexity telescope for brain-like computing"
2nd-5th April 2007, Heidelberg, Germany

Trends in programming language development and adoption point to Python as the high-level systems integration language of choice. Python leverages a vast developer-base external to the Neuroscience community, and promises leaps in simulation complexity and maintainability to any neural simulator which adopts it. As more and more simulators support Python, model development times can be drastically reduced by promoting code sharing and reuse across simulator communities. As a result, modelers can devote their software development time to innovating new simulation tools such as network topology databases, stimulus programming, analysis and visualization tools, and simulation accounting, to name a few. A multilateral effort to coordinate and organize these development efforts into a larger meta-simulator software system is a natural and alternate approach to incrementally address what is known as the complexity bottleneck, presently a major roadblock for neural modeling. While a solution here is arguably a necessary condition for resolving the present stalemate for understanding the complexities of brain-like computing, a successful initiative could also end up being a major innovation of the field for the larger computing community.
The goal of the CodeJam meeting was to bring together the core group of developers and modelers presently working towards such a common set of meta-simulator tools implemented in Python. As there was much to discuss, the meeting was partly parallelized into "Focus Groups". Code sprints were scheduled to address outstanding developer issues. A small number of technical talks were scheduled to promote discussion on recent innovations. We discussed how software already implemented can be improved and adopted, while trying to avoid arguing about specifications of unimplemented software, leaving this honor to the volunteer who risks to prototype it first. The focus of the meeting was on innovation, communication, convergence, multilateralism, and realization (from the german: Umsetzung).
The original meeting webpage: https://facets.kip.uni-heidelberg.de/tmp_course/course_wiki/index.php/CodeJam_Heidelberg_April2007
The meeting was held at the Kirchhoff Institute for Physics, located at Im Neuenheimer Feld 227 in Heidelberg, Germany. The meeting was organised by Andrew Davison and Eilif Muller.
Mon. 2nd April | ||
| 09:15 | Oral Sessions I: Wisdom Foundations | |
| 09:15 | Karlheinz Meier | Opening remarks |
| 09:30 | Michael Hines | NEURON + Python |
| 10:15 | Stimulating Beverages | |
| 11:00 | Oral Sessions I (continued) | |
| 11:00 | Marc-Oliver Gewaltig | NEST + Python |
| 11:45 | Padraig Gleeson | NeuroML, neuroConstruct and Python |
| 12:30 | Lunch | |
| 14:00 | Jam Sessions I | |
| 14:00 | Focus Group A: Python interfaces and wrapping (NEST, NEURON, PCSIM, Hardware, SPLIT, MONSTER, MVASPIKE) | |
| 14:00 | Focus Group B: PyNN/Python model port sprint | |
| 15:30 | Stimulating Beverages | |
| 16:15-18:15 | Jam Sessions I | |
| 16:15 | Focus Group A: Software Carpentry crash course | |
| 16:15 | Focus Group B: Freestyle discussion and coding | |
| 17:45 | Single track recap of Focus Groups by Chairs | |
Tue. 3rd April | ||
| 09:15 | Oral Sessions II: Insight frameworks | |
| 09:15 | James Bednar | Large-scale modeling of topographic maps in Python |
| 10:00 | Andrew Davison | PyNN |
| 10:45 | Stimulating Beverages | |
| 11:15 | Oral Sessions II (continued) | |
| 11:15 | Nicolas Debeissat | Using a declarative formalism for meta-data |
| 12:00 | Olivier Rochel | Hierarchical representation in DEVS: from neuron, to cortical maps and beyond |
| 12:30 | Lunch | |
| 14:00 | Jam Sessions II | |
| 14:00 | Focus Group A: PyNN backends development | |
| 14:00 | Focus Group B: Freestyle discussion and coding | |
| 15:30 | Stimulating Beverages | |
| 16:15 | Jam Sessions II | |
| 16:15 | Focus Group A: Distributed PyNN | |
| 16:15 | Focus Group B: Freestyle discussion and coding | |
| 17:45 | Single track recap of Focus Groups by Chairs | |
| 19:30- | Banquet dinner | |
Wed. 4th April | ||
| 09:15 | Oral Sessions III: Towards a Meta-Simulator | |
| 09:15 | Thierry Viéville | Meta-Simulator Wisdom |
| 09:30 | Eilif Muller | http://neuralensemble.org - A place to build a multilateral meta-simulator toolchain |
| 10:00 | Raphael Ritz | Developments from Python/Zope regarding packaging/setup/installations |
| 10:45 | Stimulating Beverages | |
| 11:15 | Oral Sessions III (continued) | |
| 11:15 | Jens Kremkow and Laurent Perrinet | Projectfunk |
| 11:40 | Daniel Brüderle | FACETS hardware + Python |
| 12:05 | Dejan Pecevski | PCSIM + Python |
| 12:30 | Lunch | |
| 14:00 | Jam Sessions III | |
| 14:00 | Focus Group A: Collaborative development tools + software normalization | |
| 14:00 | Focus Group B: Freestyle discussion and coding | |
| 15:30 | Stimulating Beverages | |
| 16:15-18:00 | Jam Sessions III | |
| 16:15 | Group discussion: where do we go from here? | |

Unless mentioned otherwise, all the downloadable talks are licenced under a Creative Commons Attribution-Noncommercial-No Derivative Works License.
The meeting organizers gratefully acknowledge the support of the European Union through the FACETS Project (grant no. IST-2005-15879)