New release: Brian 2.6

It’s been a while since the last release, so we are very happy to announce that Brian 2.6 is finally out 🎉 This release comes with a major new feature to run standalone simulations repeatedly (or in parallel), without recompiling its code. We now also automatically push Docker images to Docker Hub, provide Python wheels for Python 3.12, and build and test on Apple Silicon hardware. The release also fixes various compatibility issues with the upcoming numpy 2.0 release – although we cannot be sure yet whether the ongoing development will not make additional changes neccessary. As always, the new release also fixes a bunch of small bugs and errors, and updates the documentation and the examples.

Read more…

GSoC 2024

We are very happy that the INCF has been again selected to be a mentor organization for the Google Summer of Code (“a global, online program focused on bringing new contributors into open source software development”). As in last years, the Brian simulator project takes part and offers several projects for students/”open source beginners” to work on. The application period for the Google Summer of Code 2024 starts on March 18th (full timeline for GSoC 2024). With this post we give some general information about the ideal contributor application from our point of view. The recommendations we give here hold for all of the proposed projects, but we will also try to give information specific to the respective projects in the corresponding neurostars threads. For a full list of Brian-related projects, see the end of this post.

Read more…

Recommendations for GSoC 2023 applications

The application period for the Google Summer of Code 2023 starts on March 20th (full timeline for GSoC 2023). With this post we give some general information about the ideal contributor application from our point of view. The recommendations we give here hold for all of the proposed projects, but we will also try to give information specific to the respective projects in the corresponding neurostars threads. For a full list of Brian-related projects, see the end of this post.

Read more…

Recommendations for GSoC 2022 applications

The application period for the Google Summer of Code 2022 starts on April 4th (full timeline for GSoC 2022). With this post we give some general information about the ideal contributor application from our point of view. The recommendations we give here hold for all of the proposed projects, but we will also try to give information specific to the respective projects in the corresponding neurostars threads. For a full list of Brian-related projects, see the end of this post.

Read more…

New release: Brian 2.5

It took us a while, but we are very happy to finally announce a new release, Brian 2.5 🎉. This release comes with a large number of bug fixes, various small improvements to the C++ code generation process, new examples and improved documentation, as well as a more powerful “generator syntax” for synapse generation. In particular, it is now possible to generate a fixed number of synapses randomly – either for each pre-synaptic or for each post-synaptic cell. We have also updated our build and testing infrastructure, and now provide binary pip-installable packages for all platforms, including the fancy new Apple hardware. Please let us know if you run into any issues!

Read more…

Bug hunt episode 2: a strange file appears

This is the second article in the “bug hunt” series. In these articles, I go through a recent bug in Brian (or one of its dependencies) and describe all the steps I used to find the source of the bug and how I fixed it.

Today’s bug is about a strangely named file that seemingly appears out of nowhere when running Brian simulations. The final fix for the bug will turn out to be a single character change in the Brian code base 😀!

Read more…

Preview image

Bug hunt episode 1: Broken LaTeX output for equations

This article starts a new series of blog posts about “bug hunts”. In these articles, I will go through a recent bug in Brian (or one of its dependencies) and describe all the steps I used to find the source of the bug and how I fixed it. I will try to not only focus on the Brian-side of things, but also show some general tools like git bisect or “monkey patching” that can be helpful to find the source of these nasty critters (no actual bugs were harmed during the making of this blog post).

Let’s start! Today’s bug will be about equations, and more specifically about their LaTeX representation. As most of you probably know, Brian can represent equations, quantities, etc. in LaTeX. This representation can then either be included in a LaTeX document or directly rendered for example as the output in jupyter notebooks.

Read more…

Preview image

Getting the timing right (scheduling 2)

Quickstart

To run the code below:
  1. Click on the cell to select it.
  2. Press SHIFT+ENTER on your keyboard or press the play button () in the toolbar above
Feel free to create new cells using the plus button (), or pressing SHIFT+ENTER while this cell is selected.

Scheduling”: mechanism to determine the order of operations during a simulation

In this video we will look at its importance for:

  • propagating synaptic activity