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
Preview image

New release: Brian 2.4

In these very particular times, we are nevertheless happy to announce a new release, Brian 2.4. This release fixes a large number of bugs and includes a number of small improvements. As announced with the previous release, Brian 2.4 is the first release that no longer supports Python 2. For a full list of changes, see the release notes. We recommend all users of Brian 2 to update.

Read more…

Getting the timing right (scheduling 1)

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 notebook we will look at its importance for:

  • recording values with a StateMonitor

You can also watch the   screencast video on Youtube.

Read more…

Preview image