{"title":"INCF\/OCNS Software WG - Python","link":[{"@attributes":{"href":"https:\/\/ocns.github.io\/SoftwareWG\/","rel":"alternate"}},{"@attributes":{"href":"https:\/\/ocns.github.io\/SoftwareWG\/feeds\/tags\/python.atom.xml","rel":"self"}}],"id":"https:\/\/ocns.github.io\/SoftwareWG\/","updated":"2022-11-07T13:50:24+00:00","subtitle":"The INCF\/OCNS Software Working Group","entry":[{"title":"Dev session: Denis Alevi:\u00a0Brian2CUDA","link":{"@attributes":{"href":"https:\/\/ocns.github.io\/SoftwareWG\/2022\/10\/18\/dev-session-denis-alevi-brian2cuda.html","rel":"alternate"}},"published":"2022-10-18T10:38:20+01:00","updated":"2022-10-18T10:38:20+01:00","author":{"name":"Ankur Sinha"},"id":"tag:ocns.github.io,2022-10-18:\/SoftwareWG\/2022\/10\/18\/dev-session-denis-alevi-brian2cuda.html","summary":"<p class=\"first last\"><a class=\"reference external\" href=\"https:\/\/www.sprekelerlab.org\/denis\/\">Denis Alevi<\/a> will introduce the <a class=\"reference external\" href=\"https:\/\/brian2cuda.readthedocs.io\/en\/latest\/\">Brian2CUDA<\/a> tool in this session, and discuss its development. We will also have a discussion on <span class=\"caps\">GPU<\/span> based simulation in neuroscience after the&nbsp;presentation.<\/p>\n","content":"<p><a class=\"reference external\" href=\"https:\/\/www.sprekelerlab.org\/denis\/\">Denis Alevi<\/a> will introduce the <a class=\"reference external\" href=\"https:\/\/brian2cuda.readthedocs.io\/en\/latest\/\">Brian2CUDA<\/a> tool in this session, and discuss its development. We will also have a discussion on <span class=\"caps\">GPU<\/span> based simulation in neuroscience after the&nbsp;presentation.<\/p>\n<ul class=\"simple\">\n<li>Date: Thursday, November 3, 2022, 1600 <span class=\"caps\">UTC<\/span> (Click <a class=\"reference external\" href=\"https:\/\/www.timeanddate.com\/worldclock\/fixedtime.html?msg=Dev+session%3A+Denis+Alevi+Brian2CUDA&amp;iso=20221103T16&amp;p1=136&amp;ah=1\">here<\/a> to see your local&nbsp;time).<\/li>\n<li>Location (Zoom): <a class=\"reference external\" href=\"https:\/\/ucl.zoom.us\/j\/95692778384?pwd=VldIQ3hPTU1zczNpYjQxSSt4Z25xdz09\">Link<\/a> (Zoom login&nbsp;required)<\/li>\n<li><a class=\"reference external\" href=\"\/extras\/ics\/20221103-dev-session-denis-alevi-brian2cuda.ics\">Click here to download the calendar invite to add this meeting your&nbsp;calendar<\/a><\/li>\n<\/ul>\n<p>The abstract for the talk is&nbsp;below:<\/p>\n<p>Graphics processing units (GPUs) are widely available and have been used with\ngreat success to accelerate scientific computing in the last decade. These\nadvances, however, are often not available to researchers interested in\nsimulating spiking neural networks, but lacking the technical knowledge to\nwrite the necessary low-level code. Writing low-level code is not necessary\nwhen using the popular Brian simulator, which provides a framework to generate\nefficient <span class=\"caps\">CPU<\/span> code from high-level model definitions in Python. Here, we\npresent Brian2CUDA, an open-source software that extends the Brian simulator\nwith a <span class=\"caps\">GPU<\/span> backend. Our implementation generates efficient code for the\nnumerical integration of neuronal states and for the propagation of synaptic\nevents on GPUs, making use of their massively parallel arithmetic capabilities.\nWe benchmark the performance improvements of our software for several model\ntypes and find that it can accelerate simulations by up to three orders of\nmagnitude compared to Brian&#8217;s <span class=\"caps\">CPU<\/span> backend. Currently, Brian2CUDA is the only\npackage that supports Brian&#8217;s full feature set on GPUs, including arbitrary\nneuron and synapse models, plasticity rules, and heterogeneous delays. When\ncomparing its performance with Brian2GeNN, another <span class=\"caps\">GPU<\/span>-based backend for the\nBrian simulator with fewer features, we find that Brian2CUDA gives comparable\nspeedups, while being typically slower for small and faster for large networks.\nBy combining the flexibility of the Brian simulator with the simulation speed\nof GPUs, Brian2CUDA enables researchers to efficiently simulate spiking neural\nnetworks with minimal effort and thereby makes the advancements of <span class=\"caps\">GPU<\/span>\ncomputing available to a larger audience of&nbsp;neuroscientists.<\/p>\n<p>References:<\/p>\n<ul class=\"simple\">\n<li>Publication: <a class=\"reference external\" href=\"https:\/\/www.frontiersin.org\/articles\/10.3389\/fninf.2022.883700\/abstract\">Brian2CUDA: flexible and efficient simulation of spiking neural network models on GPUs (Frontiers in&nbsp;Neuroinformatics)<\/a><\/li>\n<li>Documentation: <a class=\"reference external\" href=\"https:\/\/brian2cuda.readthedocs.io\/en\/latest\/\">https:\/\/brian2cuda.readthedocs.io\/en\/latest\/<\/a><\/li>\n<li>Source code: <a class=\"reference external\" href=\"https:\/\/github.com\/brian-team\/brian2cuda\">https:\/\/github.com\/brian-team\/brian2cuda<\/a><\/li>\n<\/ul>\n","category":[{"@attributes":{"term":"Events"}},{"@attributes":{"term":"Brian2CUDA"}},{"@attributes":{"term":"Dev session"}},{"@attributes":{"term":"GPU"}},{"@attributes":{"term":"Python"}},{"@attributes":{"term":"C++"}},{"@attributes":{"term":"CUDA"}},{"@attributes":{"term":"Nvidia"}},{"@attributes":{"term":"Simulation"}},{"@attributes":{"term":"Code generation"}}]},{"title":"Dev session: Joe Graham:\u00a0NetPyNE","link":{"@attributes":{"href":"https:\/\/ocns.github.io\/SoftwareWG\/2022\/04\/04\/dev-session-joe-graham-netpyne.html","rel":"alternate"}},"published":"2022-04-04T18:00:00+01:00","updated":"2022-11-07T13:50:24+00:00","author":{"name":"Joe Graham"},"id":"tag:ocns.github.io,2022-04-04:\/SoftwareWG\/2022\/04\/04\/dev-session-joe-graham-netpyne.html","summary":"<p class=\"first last\"><a class=\"reference external\" href=\"http:\/\/research.joegraham.name\/\">Joe Graham<\/a> will introduce <a class=\"reference external\" href=\"http:\/\/netpyne.org\/\">NetPyNE<\/a> and discuss its development in this dev&nbsp;session.<\/p>\n","content":"<center><div class=\"figure\">\n<a class=\"reference external image-reference\" href=\"http:\/\/netpyne.org\/\">\n<img alt=\"NetPyNE\" class=\"img-responsive\" src=\"https:\/\/ocns.github.io\/SoftwareWG\/images\/20220404-netpyne-logo-white.png\" style=\"width: 50%;\" \/>\n<\/a>\n<\/div>\n<\/center>\n<br \/><p><a class=\"reference external\" href=\"http:\/\/research.joegraham.name\/\">Joe Graham<\/a> will introduce <a class=\"reference external\" href=\"http:\/\/netpyne.org\/\">NetPyNE<\/a> and discuss its development in this dev&nbsp;session.<\/p>\n<ul class=\"simple\">\n<li>Date: April 4, 2022, 1600 <span class=\"caps\">UTC<\/span> (Click <a class=\"reference external\" href=\"https:\/\/www.timeanddate.com\/worldclock\/fixedtime.html?msg=Dev+session%3A+Joe+Graham%3A+NetPyNE&amp;iso=20220404T16&amp;p1=1440\">here<\/a> to see your local&nbsp;time).<\/li>\n<\/ul>\n<\/center>\n<br \/>\n\n<center>\n <iframe width=\"560\" height=\"315\" style=\"height: 315px\" src=\"https:\/\/www.youtube.com\/embed\/V3e_2OSfPsI\" title=\"YouTube video player\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture\" allowfullscreen><\/iframe>\n <\/center>\n<br \/><p>The abstract for the talk is&nbsp;below:<\/p>\n<p><a class=\"reference external\" href=\"http:\/\/netpyne.org\/\">NetPyNE<\/a> is an open-source Python package to facilitate the development, parallel simulation, analysis, and optimization of biological neuronal networks using the <a class=\"reference external\" href=\"https:\/\/neuron.yale.edu\/neuron\/\"><span class=\"caps\">NEURON<\/span><\/a> simulator.  The <a class=\"reference external\" href=\"http:\/\/gui.netpyne.org\/\">NetPyNE <span class=\"caps\">GUI<\/span><\/a> is available from a variety of resources: Neuroscience Gateway Portal (<a class=\"reference external\" href=\"https:\/\/www.nsgportal.org\/\"><span class=\"caps\">NSG<\/span><\/a>); Open Source Brain (<a class=\"reference external\" href=\"https:\/\/www.opensourcebrain.org\/\"><span class=\"caps\">OSB<\/span><\/a>) ; Human Brain Project (<span class=\"caps\">HBP<\/span>) <a class=\"reference external\" href=\"https:\/\/www.humanbrainproject.eu\/en\/hbp-platforms\/ebrains\/\"><span class=\"caps\">EBRAINS<\/span><\/a>; and the <span class=\"caps\">NIH<\/span> <a class=\"reference external\" href=\"https:\/\/commonfund.nih.gov\/Sparc\/\"><span class=\"caps\">SPARC<\/span><\/a> initiative.  The <a class=\"reference external\" href=\"http:\/\/netpyne.org\/\">NetPyNE<\/a> source code is available on <a class=\"reference external\" href=\"https:\/\/github.com\/suny-downstate-medical-center\/netpyne\">GitHub<\/a>.  More information is available on the <a class=\"reference external\" href=\"http:\/\/netpyne.org\/\">NetPyNE<\/a>&nbsp;website.<\/p>\n<p>During this dev session, I will give an overview of NetPyNE, go through an interactive demo using the <a class=\"reference external\" href=\"http:\/\/gui.netpyne.org\/\">NetPyNE <span class=\"caps\">GUI<\/span><\/a>, describe my personal development workflow using virtual environments, and then go through two big dev projects I worked on: (1) documenting code inline and online using docstrings, <a class=\"reference external\" href=\"https:\/\/www.sphinx-doc.org\/en\/master\/\">Sphinx<\/a>, <a class=\"reference external\" href=\"https:\/\/sphinxcontrib-napoleon.readthedocs.io\/en\/latest\/\">Napoleon<\/a>, and <a class=\"reference external\" href=\"https:\/\/autodocsumm.readthedocs.io\/en\/latest\/\">autodocsumm<\/a>, and (2) separating and standardizing analysis and&nbsp;plotting.<\/p>\n","category":[{"@attributes":{"term":"Events"}},{"@attributes":{"term":"NetPyNE"}},{"@attributes":{"term":"Dev session"}},{"@attributes":{"term":"Python"}},{"@attributes":{"term":"Neuroscience"}},{"@attributes":{"term":"Simulations"}},{"@attributes":{"term":"Analysis"}}]},{"title":"Software WG tutorials at CNS*2021 Online: Bash, Git, and\u00a0Python","link":{"@attributes":{"href":"https:\/\/ocns.github.io\/SoftwareWG\/2021\/06\/09\/software-wg-tutorials-at-cns-2021-online-bash-git-and-python.html","rel":"alternate"}},"published":"2021-06-09T10:47:23+01:00","updated":"2021-07-19T16:59:38+01:00","author":{"name":"Ankur Sinha"},"id":"tag:ocns.github.io,2021-06-09:\/SoftwareWG\/2021\/06\/09\/software-wg-tutorials-at-cns-2021-online-bash-git-and-python.html","summary":"<p class=\"first last\">The Software Working Group is holding three beginner\/intermediate level tutorials at the upcoming <span class=\"caps\">CNS<\/span>*2021 Online conference. These will cover using the command line (<a class=\"reference external\" href=\"https:\/\/www.gnu.org\/software\/bash\/\">Bash<\/a>), using <a class=\"reference external\" href=\"https:\/\/git-scm.com\">Git<\/a> and <a class=\"reference external\" href=\"https:\/\/github.com\">GitHub<\/a>, and development in the <a class=\"reference external\" href=\"https:\/\/python.org\">Python<\/a> programming&nbsp;language.<\/p>\n","content":"<p>The Software Working Group is holding three beginner\/intermediate level tutorials at the upcoming <span class=\"caps\">CNS<\/span>*2021 Online conference. These will cover using the command line (<a class=\"reference external\" href=\"https:\/\/www.gnu.org\/software\/bash\/\">Bash<\/a>), using <a class=\"reference external\" href=\"https:\/\/git-scm.com\">Git<\/a> and <a class=\"reference external\" href=\"https:\/\/github.com\">GitHub<\/a>, and development in the <a class=\"reference external\" href=\"https:\/\/python.org\">Python<\/a> programming&nbsp;language.<\/p>\n<p>To attend these, and other tutorials at <a class=\"reference external\" href=\"https:\/\/www.cnsorg.org\/cns-2021\"><span class=\"caps\">CNS<\/span>*2021<\/a>, please register for the conference <a class=\"reference external\" href=\"https:\/\/www.cnsorg.org\/cns-2021-registration-fees\">here<\/a>.<\/p>\n<div class=\"section\" id=\"effective-use-of-bash\">\n<h2>Effective use of Bash<a class=\"headerlink\" href=\"#effective-use-of-bash\" title=\"Permalink to this headline\">\u22c6<\/a><\/h2>\n<ul class=\"simple\">\n<li>Instructor(s): Felix B. Kern (<a class=\"reference external\" href=\"https:\/\/github.com\/kernfel\">&#64;kernfel<\/a>)<\/li>\n<li>Date\/Time: <a class=\"reference external\" href=\"https:\/\/www.timeanddate.com\/worldclock\/fixedtime.html?msg=CNS%2A2021%3A+Effective+use+of+Bash&amp;iso=20210628T08&amp;p1=179&amp;ah=3\">28 June, 2021 1200 <span class=\"caps\">UTC<\/span><\/a><\/li>\n<\/ul>\n<\/center>\n<br \/>\n\n<center>\n <iframe width=\"560\" height=\"315\" style=\"height: 315px;\" src=\"https:\/\/www.youtube.com\/embed\/yQQC-6HnBtU\" title=\"YouTube video player\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture\" allowfullscreen><\/iframe>\n<\/center>\n<br \/><p><strong>Abstract<\/strong><\/p>\n<p>The purpose of this tutorial is to introduce participants to the tools they need in order to comfortably and confidently work with a Unix\/Linux command line terminal.\nUnlike graphical user interfaces, which are often self-explanatory or have obvious built-in help options, the purely text-based nature of a command line terminal can be intimidating and confusing to novice users.\nYet, once mastered, the command line offers more flexibility and smoother workflows for many tasks, while being entirely irreplaceable for things such as cluster&nbsp;access.<\/p>\n<p>In this tutorial, we aim to introduce participants to the concepts and tools they need to confidently operate within a Unix\/Linux command line environment.\nIn particular, the tutorial is developed for Bash (as per the title), which should cover most Linux and MacOS* use cases.\nWe hope to provide participants with a firm understanding of the basics of using a shell, as well as an understanding of the advantages of working from a command&nbsp;line.<\/p>\n<p>The tutorial is aimed not only at novices who have rarely or never used a command line, but also at occasional or even regular users of bash who seek to expand or refresh their repertoire of everyday commands and the kinds of quality-of-life tricks and shortcuts that are rarely covered on StackExchange&nbsp;questions.<\/p>\n<p>* While MacOS has switched&nbsp;from <code>bash<\/code> to <code>zsh<\/code> as its default&nbsp;shell, <code>zsh<\/code><span class=\"quo\">&#8216;<\/span>s operation is sufficiently similar for the purposes of this&nbsp;tutorial.<\/p>\n<p><strong>Prerequisites<\/strong><\/p>\n<p>A working copy of bash; participants on Linux and MacOS are all&nbsp;set.<\/p>\n<p>Participants on Windows have several options to get hold of a bash environment without leaving familiar&nbsp;territory:<\/p>\n<ul class=\"simple\">\n<li>Install <a class=\"reference external\" href=\"https:\/\/gitforwindows.org\/\">Git for Windows<\/a>, which includes a Git Bash emulation with most of the standard tools you might expect in a Linux\/Unix environment, plus of course&nbsp;Git.<\/li>\n<li>Alternatively, <a class=\"reference external\" href=\"https:\/\/docs.microsoft.com\/en-us\/windows\/wsl\/install-win10#install-the-windows-subsystem-for-linux\">enable <span class=\"caps\">WSL2<\/span><\/a> and <a class=\"reference external\" href=\"https:\/\/www.microsoft.com\/en-gb\/p\/ubuntu\/9nblggh4msv6\">install Ubuntu<\/a> as a virtual machine hosted by Windows. Somewhat ironically, this requires at least one use of a command line terminal (though not bash); on the upside, the Linux-on-Windows experience can be a smooth and safe first step into Linux&nbsp;territory.<\/li>\n<\/ul>\n<p><strong>Topics<\/strong><\/p>\n<ul class=\"simple\">\n<li>Basics to refer back to: Operating your bash shell (with key bindings and&nbsp;patience)<\/li>\n<li>The grammar of a shell command&nbsp;line<\/li>\n<li>Getting around: navigating within and beyond your&nbsp;computer: <code>~<\/code>, <code>pwd<\/code>, <code>cd<\/code>, <code>pushd<\/code>\/<code>popd<\/code>, <code>ssh<\/code><\/li>\n<li>Seeing what&#8217;s&nbsp;there: <code>ls<\/code>, globbing, and strategies for naming your&nbsp;files<\/li>\n<li>File system&nbsp;manipulations: <code>mv<\/code>, <code>cp<\/code>\/<code>scp<\/code>, <code>rm<\/code>, <code>mkdir<\/code>, <code>rmdir<\/code>, <code>ln -s<\/code>, <code>touch<\/code><\/li>\n<li>Looking into&nbsp;files: <code>cat<\/code>, <code>head<\/code> <span class=\"amp\">&amp;<\/span> <code>tail<\/code>, <code>more<\/code> or <code>less<\/code>, <code>grep<\/code>, <code>diff<\/code><\/li>\n<li>Text&nbsp;manipulation: <code>sed<\/code>, <code>sort<\/code>, <code>uniq<\/code>, <code>cut<\/code>, <code>column<\/code><\/li>\n<li>Putting things together: piping and&nbsp;redirection<\/li>\n<li>What to do when&nbsp;stuck: <code>man<\/code>, I need&nbsp;some <code>help<\/code> here <code>apropos<\/code> of this&nbsp;command&#8230;<\/li>\n<\/ul>\n<\/div>\n<div class=\"section\" id=\"effective-use-of-git\">\n<h2>Effective use of Git<a class=\"headerlink\" href=\"#effective-use-of-git\" title=\"Permalink to this headline\">\u22c6<\/a><\/h2>\n<ul class=\"simple\">\n<li>Instructor(s): Ankur Sinha (<a class=\"reference external\" href=\"https:\/\/github.com\/sanjayankur31\">&#64;sanjayankur31<\/a>)<\/li>\n<li>Date\/time: <a class=\"reference external\" href=\"https:\/\/www.timeanddate.com\/worldclock\/fixedtime.html?msg=CNS%2A2021%3A+Effective+use+of+Git&amp;iso=20210628T13&amp;p1=179&amp;ah=3\">June 28, 2021 1700 <span class=\"caps\">UTC<\/span><\/a><\/li>\n<li><a class=\"reference external\" href=\"https:\/\/hackmd.io\/&#64;sanjayankur31\/SkpuMdDh_\">Notes<\/a><\/li>\n<\/ul>\n<\/center>\n<br \/>\n\n<center>\n <iframe width=\"560\" height=\"315\" style=\"height: 315px;\" src=\"https:\/\/www.youtube.com\/embed\/CRCtRilX3NA\" title=\"YouTube video player\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture\" allowfullscreen><\/iframe>\n<\/center>\n<br \/><p><strong>Abstract<\/strong><\/p>\n<p>Version control is a necessary skill that users writing any amount of code should possess.\nGit is a popular version control tool that is used ubiquitously in software&nbsp;development.<\/p>\n<p>This hands-on session is aimed at beginners who have little or no experience with version control systems and Git.\nIt will introduce the basics of version control and walk through a common daily Git workflow before moving on to show how Git is used for collaborative development on popular Git forges such as GitHub.\nFinally, it will show some advanced features of Git that aid in debugging code&nbsp;errors.<\/p>\n<p><strong>Prerequisites<\/strong><\/p>\n<p>The session is intended to be a hands-on session, so all attendees will be expected to run Git commands.\nA working installation of Git is, therefore, required for this session.\nWe will use GitHub as our Git remote for forking and pull\/merge requests.\nSo a GitHub account will also be&nbsp;required.<\/p>\n<ul class=\"simple\">\n<li>Linux users can generally install Git from their default package manager:<ul>\n<li>Fedora: <code>sudo dnf install git<\/code><\/li>\n<li>Ubuntu: <code>sudo apt-get install git<\/code><\/li>\n<\/ul>\n<\/li>\n<li>Windows users should use <a class=\"reference external\" href=\"https:\/\/gitforwindows.org\/\">Git for Windows<\/a>.<\/li>\n<li>MacOS users should&nbsp;use <code>brew<\/code> to&nbsp;install <code>git<\/code>: <code>brew install git<\/code>.<\/li>\n<\/ul>\n<p>More information on installing Git can be found on the project website: <a class=\"reference external\" href=\"https:\/\/git-scm.com\/\">https:\/\/git-scm.com\/<\/a><\/p>\n<p><strong>Topics<\/strong><\/p>\n<ul class=\"simple\">\n<li>a brief introduction to Git<ul>\n<li>references,&nbsp;options<\/li>\n<li>where to get&nbsp;help<\/li>\n<\/ul>\n<\/li>\n<li>using Git on a daily basis:<ul>\n<li>creating a new&nbsp;repository <code>init<\/code><\/li>\n<li>adding files and staging&nbsp;files: <code>add, add -i<\/code><\/li>\n<li>ignoring&nbsp;files: <code>.gitingore<\/code><\/li>\n<li>stashing: <code>stash<\/code><\/li>\n<li>viewing&nbsp;changes: <code>diff, log<\/code><\/li>\n<li>committing&nbsp;files: <code>commit<\/code><\/li>\n<li>using branches to organise the development&nbsp;workflow: <code>branch, checkout<\/code><\/li>\n<li>tagging: <code>tag<\/code><\/li>\n<li>creating an&nbsp;archive: <code>archive<\/code><\/li>\n<\/ul>\n<\/li>\n<li>using Git for collaborative development<ul>\n<li>remotes,&nbsp;forks: <code>remote<\/code><\/li>\n<li>pushing and&nbsp;pulling: <code>push, pull<\/code><\/li>\n<li>pull requests and&nbsp;merging: <code>merge<\/code><\/li>\n<li>merge conflicts and resolving&nbsp;them<\/li>\n<\/ul>\n<\/li>\n<li>slightly advanced git<ul>\n<li>Git&nbsp;worktrees: <code>worktree<\/code><\/li>\n<li>interactive&nbsp;rebasing: <code>rebase -i<\/code><\/li>\n<li>cherry-picking: <code>cherry-pick<\/code><\/li>\n<li>debugging with&nbsp;git-bisect: <code>bisect<\/code><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/div>\n<div class=\"section\" id=\"python-for-beginners\">\n<h2>Python for beginners<a class=\"headerlink\" href=\"#python-for-beginners\" title=\"Permalink to this headline\">\u22c6<\/a><\/h2>\n<ul class=\"simple\">\n<li>Instructors: Joe Graham (<a class=\"reference external\" href=\"https:\/\/github.com\/joewgraham\">&#64;joewgraham<\/a>), Shailesh Appukuttan (<a class=\"reference external\" href=\"https:\/\/github.com\/appukuttan-shailesh\">&#64;appukuttan-shailesh<\/a>), Ankur Sinha (<a class=\"reference external\" href=\"https:\/\/github.com\/sanjayankur31\">&#64;sanjayankur31<\/a>)<\/li>\n<li>Date\/time: <a class=\"reference external\" href=\"https:\/\/www.timeanddate.com\/worldclock\/fixedtime.html?msg=CNS%2A2021%3A+Python+for+beginners&amp;iso=20210629T09&amp;p1=179&amp;ah=3\">29 June, 2021 1300 <span class=\"caps\">UTC<\/span><\/a><\/li>\n<li>Jupyter notebooks: <a class=\"reference external\" href=\"https:\/\/github.com\/OCNS\/SoftwareWG-events\/blob\/main\/20210703-CNS2021\/03_python\/\">https:\/\/github.com\/<span class=\"caps\">OCNS<\/span>\/SoftwareWG-events\/blob\/main\/20210703-<span class=\"caps\">CNS2021<\/span>\/03_python\/<\/a><\/li>\n<\/ul>\n<\/center>\n<br \/>\n\n<center>\n <iframe width=\"560\" height=\"315\" style=\"height: 315px;\" src=\"https:\/\/www.youtube.com\/embed\/Z4OohWlehH4\" title=\"YouTube video player\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture\" allowfullscreen><\/iframe>\n<\/center>\n<br \/><p><strong>Abstract<\/strong><\/p>\n<p>Python is amongst the most widely used programming languages today, and is increasingly popular in the scientific domain.\nA large number of tools and simulators in use currently are either implemented in Python, or offer interfaces for their use via Python.\nPython programming is therefore a very sought after skill in the scientific&nbsp;community.<\/p>\n<p>This tutorial is targeted towards people who have some experience with programming languages (e.g. <span class=\"caps\">MATLAB<\/span>, C, C++, etc), but are relatively new to Python.\nIt is structured to have you quickly up-and-running, giving you a feel of how things work in Python.\nWe shall begin by demonstrating how to setup and manage virtual environments on your system, to help you keep multiple projects isolated.\nWe&#8217;ll show you how to install Python packages in virtual environments and how to manage them.\nThis will be followed by a quick overview of very basic Python constructs, leading finally to a neuroscience-themed project that will give you the opportunity to bring together various programming concepts with some hands-on&nbsp;practice.<\/p>\n<p><strong>Prerequisites<\/strong><\/p>\n<ul class=\"simple\">\n<li>shell (participants on Linux and MacOS are all set; see below for Windows&nbsp;users)<\/li>\n<li>Python 3.6.9 or higher (see below for info on&nbsp;installation)<\/li>\n<\/ul>\n<p>Participants on Windows have several options to get hold of a shell environment without leaving familiar&nbsp;territory:<\/p>\n<ul class=\"simple\">\n<li>Install <a class=\"reference external\" href=\"https:\/\/gitforwindows.org\/\">Git for Windows<\/a>, which includes a Git Bash emulation with most of the standard tools you might expect in a Linux\/Unix environment, plus of course&nbsp;Git.<\/li>\n<li>Alternatively, <a class=\"reference external\" href=\"https:\/\/docs.microsoft.com\/en-us\/windows\/wsl\/install-win10#install-the-windows-subsystem-for-linux\">enable <span class=\"caps\">WSL2<\/span><\/a> and <a class=\"reference external\" href=\"https:\/\/www.microsoft.com\/en-gb\/p\/ubuntu\/9nblggh4msv6\">install Ubuntu<\/a> as a virtual machine hosted by Windows. This Linux-on-Windows experience can be a smooth and safe first step into Linux&nbsp;territory.<\/li>\n<\/ul>\n<p>You will find several resources online for info on installing Python. e.g. <a class=\"reference external\" href=\"https:\/\/realpython.com\/installing-python\/\">https:\/\/realpython.com\/installing-python\/<\/a><\/p>\n<p><strong>Topics<\/strong><\/p>\n<ul class=\"simple\">\n<li>Setting up and managing virtual&nbsp;environments<\/li>\n<li>Installing packages using PyPI&nbsp;(<code>pip<\/code>) and from Git repositories (e.g.&nbsp;GitHub)<\/li>\n<li>Quick Python 101 - lists, dicts, if&#8230;else, loops, functions, error handling, import, help, numpy,&nbsp;matplotlib<\/li>\n<li>Short neuroscience-themed project - modularizing the&nbsp;code<\/li>\n<li>Good practices - lint&nbsp;(Flake8)<\/li>\n<\/ul>\n<\/div>\n","category":[{"@attributes":{"term":"Events"}},{"@attributes":{"term":"CNS2021Online"}},{"@attributes":{"term":"Community"}},{"@attributes":{"term":"Linux"}},{"@attributes":{"term":"Python"}},{"@attributes":{"term":"Software development"}},{"@attributes":{"term":"Bash"}},{"@attributes":{"term":"Tutorials"}},{"@attributes":{"term":"Git"}},{"@attributes":{"term":"GitHub"}}]},{"title":"Dev session: Rick Gerkin:\u00a0SciUnit","link":{"@attributes":{"href":"https:\/\/ocns.github.io\/SoftwareWG\/2021\/06\/04\/dev-session-rick-gerkin-sciunit.html","rel":"alternate"}},"published":"2021-06-04T18:00:00+01:00","updated":"2021-06-14T16:21:12+01:00","author":{"name":"Shailesh Appukuttan"},"id":"tag:ocns.github.io,2021-06-04:\/SoftwareWG\/2021\/06\/04\/dev-session-rick-gerkin-sciunit.html","summary":"<p class=\"first last\"><a class=\"reference external\" href=\"https:\/\/sols.asu.edu\/richard-gerkin\">Rick Gerkin<\/a> will introduce the <a class=\"reference external\" href=\"https:\/\/scidash.org\/sciunit.html\">SciUnit<\/a> framework and discuss its development in this dev&nbsp;session.<\/p>\n","content":"<center><div class=\"figure\">\n<a class=\"reference external image-reference\" href=\"https:\/\/github.com\/scidash\/sciunit\">\n<img alt=\"SciUnit\" class=\"img-responsive\" src=\"https:\/\/ocns.github.io\/SoftwareWG\/images\/20210621-sciunit.png\" style=\"width: 50%;\" \/>\n<\/a>\n<\/div>\n<\/center>\n<br \/><p><a class=\"reference external\" href=\"https:\/\/sols.asu.edu\/richard-gerkin\">Rick Gerkin<\/a> will introduce the <a class=\"reference external\" href=\"https:\/\/scidash.org\/sciunit.html\">SciUnit<\/a> framework and discuss its development in this dev&nbsp;session.<\/p>\n<ul class=\"simple\">\n<li>Date: June 21, 2021, 1600 <span class=\"caps\">UTC<\/span> (Click <a class=\"reference external\" href=\"https:\/\/www.timeanddate.com\/worldclock\/fixedtime.html?msg=Dev+session%3A+Rick+Gerkin+%3A+SciUnit&amp;iso=20210621T18&amp;p1=195&amp;ah=1\">here<\/a> to see your local&nbsp;time).<\/li>\n<li>Location (Zoom): <a class=\"reference external\" href=\"https:\/\/ucl.zoom.us\/j\/91246735902?pwd=WVdVK3I5SGdlaDFZdllDQ0w2djVBdz09\">https:\/\/ucl.zoom.us\/j\/91246735902?pwd=WVdVK3I5SGdlaDFZdllDQ0w2djVBdz09<\/a><\/li>\n<\/ul>\n<p>The abstract for the talk is&nbsp;below:<\/p>\n<p><a class=\"reference external\" href=\"https:\/\/scidash.org\/sciunit.html\">SciUnit<\/a> is a discipline-agnostic framework for model validation, handling all of the testing workflow by using a implementation-independent interface to models.\n<a class=\"reference external\" href=\"https:\/\/scidash.org\/sciunit.html\">SciUnit<\/a> also contains code for visualization of model results, and command line tools for incorporating testing into continuous integration&nbsp;workflows.<\/p>\n<p><a class=\"reference external\" href=\"https:\/\/scidash.org\/sciunit.html\">SciUnit<\/a> is used in model validation in neuroscience via <a class=\"reference external\" href=\"http:\/\/sciunit.io\/neuronunit.html\">NeuronUnit<\/a>, which implements an interface to several simulators and model description languages, handles test calculations according to domain standards, and enables automated construction of tests based on data from several major public data&nbsp;repositories.<\/p>\n","category":[{"@attributes":{"term":"Events"}},{"@attributes":{"term":"SciUnit"}},{"@attributes":{"term":"Dev session"}},{"@attributes":{"term":"Python"}},{"@attributes":{"term":"Validation"}},{"@attributes":{"term":"Verification"}},{"@attributes":{"term":"Framework"}}]},{"title":"Dev session: James Knight, Thomas Nowotny:\u00a0GeNN","link":{"@attributes":{"href":"https:\/\/ocns.github.io\/SoftwareWG\/2021\/02\/26\/dev-session-james-knight-thomas-nowotny-genn.html","rel":"alternate"}},"published":"2021-02-26T18:33:55+00:00","updated":"2021-06-03T11:35:23+01:00","author":{"name":"Ankur Sinha"},"id":"tag:ocns.github.io,2021-02-26:\/SoftwareWG\/2021\/02\/26\/dev-session-james-knight-thomas-nowotny-genn.html","summary":"<p class=\"first last\"><a class=\"reference external\" href=\"http:\/\/www.sussex.ac.uk\/profiles\/415734\">James Knight<\/a> and <a class=\"reference external\" href=\"http:\/\/www.sussex.ac.uk\/profiles\/206151\">Thomas Nowotny<\/a> will introduce the <a class=\"reference external\" href=\"http:\/\/genn-team.github.io\/genn\/\">GeNN<\/a> simulation environment and discuss its development in this dev&nbsp;session.<\/p>\n","content":"<center><div class=\"figure\">\n<a class=\"reference external image-reference\" href=\"http:\/\/genn-team.github.io\/genn\/\">\n<img alt=\"The GeNN simulator\" class=\"img-responsive\" src=\"https:\/\/ocns.github.io\/SoftwareWG\/images\/20210304-genn.png\" style=\"width: 50%;\" \/>\n<\/a>\n<\/div>\n<\/center>\n<br \/>\n\n<center>\n <iframe width=\"560\" height=\"315\" style=\"height: 315px;\" src=\"https:\/\/www.youtube.com\/embed\/1ZHpKG41kp8\" title=\"YouTube video player\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture\" allowfullscreen><\/iframe>\n<\/center>\n<br \/><p><a class=\"reference external\" href=\"http:\/\/www.sussex.ac.uk\/profiles\/415734\">James Knight<\/a> and <a class=\"reference external\" href=\"http:\/\/www.sussex.ac.uk\/profiles\/206151\">Thomas Nowotny<\/a> will introduce the <a class=\"reference external\" href=\"http:\/\/genn-team.github.io\/genn\/\">GeNN<\/a> simulation environment and discuss its development in this dev&nbsp;session.<\/p>\n<ul class=\"simple\">\n<li>Date: March 9, 2021, 1700 <span class=\"caps\">UTC<\/span> (Click <a class=\"reference external\" href=\"https:\/\/www.timeanddate.com\/worldclock\/fixedtime.html?msg=Dev+session%3A+James+Knight%2CThomas+Nowotny%3A+GeNN&amp;iso=20210309T17&amp;p1=136&amp;ah=1\">here<\/a> to see your local&nbsp;time).<\/li>\n<li>Location (Zoom): (link no longer&nbsp;valid)<\/li>\n<\/ul>\n<p>The abstract for the talk is&nbsp;below:<\/p>\n<p>Large-scale numerical simulations of brain circuit models are important for identifying hypotheses on brain functions and testing their consistency and plausibility.\nSimilarly, spiking neural networks are also gaining traction in machine learning with the promise that neuromorphic hardware will eventually make them much more energy efficient than classical ANNs.\nIn this dev session, we will present the <a class=\"reference external\" href=\"http:\/\/genn-team.github.io\/genn\/\">GeNN<\/a> (<span class=\"caps\">GPU<\/span>-enhanced Neuronal Networks) framework [1], which aims to facilitate the use of graphics accelerators for computational models of large-scale spiking neuronal networks to address the challenge of efficient simulations.\n<a class=\"reference external\" href=\"http:\/\/genn-team.github.io\/genn\/\">GeNN<\/a> is an open source library that generates code to accelerate the execution of network simulations on <span class=\"caps\">NVIDIA<\/span> GPUs through a flexible and extensible interface, which does not require in-depth technical knowledge from the users.\n<a class=\"reference external\" href=\"http:\/\/genn-team.github.io\/genn\/\">GeNN<\/a> was originally developed as a pure C++ and <a class=\"reference external\" href=\"https:\/\/www.nvidia.com\/en-gb\/geforce\/technologies\/cuda\/\"><span class=\"caps\">CUDA<\/span><\/a> library but, subsequently, we have added a Python interface and <a class=\"reference external\" href=\"https:\/\/www.khronos.org\/opencl\/\">OpenCL<\/a> backend.\nThe Python interface has enabled us to develop a <a class=\"reference external\" href=\"http:\/\/neuralensemble.org\/PyNN\/\">PyNN<\/a> [2] frontend and we are also working on a Keras-inspired frontend for spike-based machine learning&nbsp;[3].<\/p>\n<p>In the session we will briefly cover the history and basic philosophy of <a class=\"reference external\" href=\"http:\/\/genn-team.github.io\/genn\/\">GeNN<\/a> and show some simple examples of how it is used and how it works inside.\nWe will then talk in more depth about its development with a focus on testing for <span class=\"caps\">GPU<\/span> dependent software and some of the further developments such as Brian2GeNN&nbsp;[4].<\/p>\n<ul class=\"simple\">\n<li>[1] <a class=\"reference external\" href=\"https:\/\/github.com\/genn-team\/genn\">https:\/\/github.com\/genn-team\/genn<\/a><\/li>\n<li>[2] <a class=\"reference external\" href=\"https:\/\/github.com\/genn-team\/pynn_genn\">https:\/\/github.com\/genn-team\/pynn_genn<\/a><\/li>\n<li>[3] <a class=\"reference external\" href=\"https:\/\/github.com\/genn-team\/ml_genn\">https:\/\/github.com\/genn-team\/ml_genn<\/a><\/li>\n<li>[4] <a class=\"reference external\" href=\"https:\/\/github.com\/brian-team\/brian2genn\">https:\/\/github.com\/brian-team\/brian2genn<\/a><\/li>\n<\/ul>\n","category":[{"@attributes":{"term":"Events"}},{"@attributes":{"term":"GeNN"}},{"@attributes":{"term":"Dev session"}},{"@attributes":{"term":"GPU"}},{"@attributes":{"term":"Python"}},{"@attributes":{"term":"C++"}},{"@attributes":{"term":"CUDA"}},{"@attributes":{"term":"Nvidia"}},{"@attributes":{"term":"Simulation"}},{"@attributes":{"term":"Code generation"}}]},{"title":"Dev session: Caglar Cakan:\u00a0neurolib","link":{"@attributes":{"href":"https:\/\/ocns.github.io\/SoftwareWG\/2021\/02\/12\/dev-session-caglar-cakan-neurolib.html","rel":"alternate"}},"published":"2021-02-12T20:27:22+00:00","updated":"2021-06-03T11:12:57+01:00","author":{"name":"Ankur Sinha"},"id":"tag:ocns.github.io,2021-02-12:\/SoftwareWG\/2021\/02\/12\/dev-session-caglar-cakan-neurolib.html","summary":"<p class=\"first last\"><a class=\"reference external\" href=\"https:\/\/caglorithm.github.io\/notebooks\/\">Caglar Cakan<\/a> will introduce <a class=\"reference external\" href=\"https:\/\/neurolib-dev.github.io\">neurolib<\/a> and discuss its development in this developer&nbsp;session.<\/p>\n","content":"<center><div class=\"figure\">\n<a class=\"reference external image-reference\" href=\"https:\/\/neurolib-dev.github.io\/\">\n<img alt=\"neurolib\" class=\"img-responsive\" src=\"https:\/\/ocns.github.io\/SoftwareWG\/images\/20210216-neurolib.png\" style=\"width: 75%;\" \/>\n<\/a>\n<\/div>\n<\/center>\n<br \/>\n\n<center>\n    <iframe width=\"500\" height=\"320\" style=\"height: 320px;\" src=\"https:\/\/www.youtube.com\/embed\/ngvVtqiilVk\" title=\"YouTube video player\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture\" allowfullscreen><\/iframe>\n<\/center>\n<br \/><p><a class=\"reference external\" href=\"https:\/\/caglorithm.github.io\/notebooks\/\">Caglar Cakan<\/a> will introduce <a class=\"reference external\" href=\"https:\/\/neurolib-dev.github.io\">neurolib<\/a> and discuss its development in this developer&nbsp;session.<\/p>\n<ul class=\"simple\">\n<li>Date: February 23, 2021. 1700 <span class=\"caps\">UTC<\/span>\/ 1800 Berlin time (Click <a class=\"reference external\" href=\"https:\/\/www.timeanddate.com\/worldclock\/fixedtime.html?msg=Dev+session%3A+Caglar+Cakan%3A+neurolib&amp;iso=20210223T17&amp;p1=136&amp;ah=1\">here<\/a>  to see your local&nbsp;time).<\/li>\n<li>Location (Zoom): (link no longer&nbsp;valid)<\/li>\n<\/ul>\n<p>The abstract for the talk is&nbsp;below:<\/p>\n<p><a class=\"reference external\" href=\"https:\/\/neurolib-dev.github.io\">neurolib<\/a> is a computational framework for whole-brain modelling written in Python.\nIt provides a set of neural mass models that represent the average activity of a brain region on a mesoscopic scale.\nIn a whole-brain network model, brain regions are connected with each other based on structural connectivity data, i.e. the connectome of the brain.\n<a class=\"reference external\" href=\"https:\/\/neurolib-dev.github.io\">neurolib<\/a> can load structural and functional data sets, set up a whole-brain model, manage its parameters, simulate it, and organize its outputs for later analysis.\nThe activity of each brain region can be converted into a simulated <span class=\"caps\">BOLD<\/span> signal in order to calibrate the model to empirical data from functional magnetic resonance imaging (fMRI).\nExtensive model analysis is possible using a parameter exploration module, which allows to characterize the model&#8217;s behaviour given a set of changing parameters.\nAn optimization module allows for fitting a model to multimodal empirical data using an evolutionary algorithm.\nBesides its included functionality, <a class=\"reference external\" href=\"https:\/\/neurolib-dev.github.io\">neurolib<\/a> is designed to be extendable such that custom neural mass models can be implemented easily.\n<a class=\"reference external\" href=\"https:\/\/neurolib-dev.github.io\">neurolib<\/a> offers a versatile platform for computational neuroscientists for prototyping models, managing large numerical experiments, studying the structure-function relationship of brain networks, and for in-silico optimization of whole-brain&nbsp;models.<\/p>\n","category":[{"@attributes":{"term":"Events"}},{"@attributes":{"term":"Dev session"}},{"@attributes":{"term":"neurolib"}},{"@attributes":{"term":"Python"}},{"@attributes":{"term":"Whole-brain modelling"}}]},{"title":"Dev session: Ankur Sinha:\u00a0NeuroFedora","link":{"@attributes":{"href":"https:\/\/ocns.github.io\/SoftwareWG\/2021\/02\/07\/dev-session-ankur-sinha-neurofedora.html","rel":"alternate"}},"published":"2021-02-07T17:27:54+00:00","updated":"2021-06-03T11:33:33+01:00","author":{"name":"Ankur Sinha"},"id":"tag:ocns.github.io,2021-02-07:\/SoftwareWG\/2021\/02\/07\/dev-session-ankur-sinha-neurofedora.html","summary":"<p class=\"first last\"><a class=\"reference external\" href=\"https:\/\/ankursinha.in\">Ankur Sinha<\/a> will introduce the <a class=\"reference external\" href=\"https:\/\/www.fsf.org\/blogs\/community\/user-liberation-watch-and-share-our-new-video\/\">Free\/Open Source Software<\/a> <a class=\"reference external\" href=\"https:\/\/neuro.fedoraproject.org\">NeuroFedora<\/a> project and discuss its development in this developer&nbsp;session.<\/p>\n","content":"<center><div class=\"figure\">\n<a class=\"reference external image-reference\" href=\"https:\/\/neuro.fedoraproject.org\">\n<img alt=\"The NeuroFedora project\" class=\"img-responsive\" src=\"https:\/\/ocns.github.io\/SoftwareWG\/images\/20210207-NeuroFedoraLogo.png\" style=\"width: 25%;\" \/>\n<\/a>\n<\/div>\n<\/center>\n<br \/>\n\n<center>\n <iframe width=\"560\" height=\"315\" style=\"height: 315px;\" src=\"https:\/\/www.youtube.com\/embed\/d8wO-ekFw5M\" title=\"YouTube video player\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture\" allowfullscreen><\/iframe>\n<\/center>\n<br \/><p><a class=\"reference external\" href=\"https:\/\/ankursinha.in\">Ankur Sinha<\/a> will introduce the <a class=\"reference external\" href=\"https:\/\/www.fsf.org\/blogs\/community\/user-liberation-watch-and-share-our-new-video\/\">Free\/Open Source Software<\/a> <a class=\"reference external\" href=\"https:\/\/neuro.fedoraproject.org\">NeuroFedora<\/a> project and discuss its development in this developer&nbsp;session.<\/p>\n<ul class=\"simple\">\n<li>Date: Feb 16, 2021 1700 <span class=\"caps\">UTC<\/span> (Click <a class=\"reference external\" href=\"https:\/\/www.timeanddate.com\/worldclock\/fixedtime.html?msg=Dev+session%3A+Ankur+Sinha%3A+NeuroFedora&amp;iso=20210216T17&amp;p1=136&amp;ah=1\">here<\/a>  to see your local&nbsp;time).<\/li>\n<li>Location (Zoom): (link no longer&nbsp;valid)<\/li>\n<\/ul>\n<p>The abstract for the talk is&nbsp;below:<\/p>\n<p><a class=\"reference external\" href=\"https:\/\/neuro.fedoraproject.org\">NeuroFedora<\/a> is an initiative to provide a ready to use Fedora based Free\/Open source software platform for neuroscience.\nWe believe that similar to Free software, science should be free for all to use, share, modify, and study.\nThe use of Free software also aids reproducibility, data sharing, and collaboration in the research community.\nBy making the tools used in the scientific process easier to use, NeuroFedora aims to take a step to enable this ideal.\nIn this session, I will talk about the deliverables of the <a class=\"reference external\" href=\"https:\/\/neuro.fedoraproject.org\">NeuroFedora<\/a> project and then go over the complete pipeline that we use to produce, test, and disseminate&nbsp;them.<\/p>\n","category":[{"@attributes":{"term":"Events"}},{"@attributes":{"term":"NeuroFedora"}},{"@attributes":{"term":"Linux"}},{"@attributes":{"term":"Free\/Open Source Software"}},{"@attributes":{"term":"Python"}},{"@attributes":{"term":"Neuroscience"}},{"@attributes":{"term":"Computational Neuroscience"}}]},{"title":"Dev session: Marcel Stimberg: Brian\u00a0Simulator","link":{"@attributes":{"href":"https:\/\/ocns.github.io\/SoftwareWG\/2021\/02\/07\/dev-session-marcel-stimberg-brian-simulator.html","rel":"alternate"}},"published":"2021-02-07T16:55:48+00:00","updated":"2021-06-03T11:31:44+01:00","author":{"name":"Ankur Sinha"},"id":"tag:ocns.github.io,2021-02-07:\/SoftwareWG\/2021\/02\/07\/dev-session-marcel-stimberg-brian-simulator.html","summary":"<p class=\"first last\"><a class=\"reference external\" href=\"http:\/\/www.computational-neuroscience-of-sensory-systems.org\/people\/marcel-stimberg\/\">Marcel Stimberg<\/a> will introduce the <a class=\"reference external\" href=\"https:\/\/briansimulator.org\/\">Brian Simulator<\/a> and discuss its development for the first developer session of the year. Please read the full post for the Zoom&nbsp;link.<\/p>\n","content":"<center><div class=\"figure\">\n<a class=\"reference external image-reference\" href=\"https:\/\/briansimulator.org\/\">\n<img alt=\"The Brian Simulator\" class=\"img-responsive\" src=\"https:\/\/ocns.github.io\/SoftwareWG\/images\/20210208-brian-logo.webp\" style=\"width: 25%;\" \/>\n<\/a>\n<\/div>\n<\/center>\n<br \/>\n\n<center>\n    <iframe width=\"560\" height=\"315\" style=\"height: 315px;\" src=\"https:\/\/www.youtube.com\/embed\/fy6Hs5uQ7aQ\" title=\"YouTube video player\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture\" allowfullscreen><\/iframe>\n<\/center>\n<br \/><p><a class=\"reference external\" href=\"http:\/\/www.computational-neuroscience-of-sensory-systems.org\/people\/marcel-stimberg\/\">Marcel Stimberg<\/a> will introduce the <a class=\"reference external\" href=\"https:\/\/briansimulator.org\/\">Brian Simulator<\/a> and discuss its development for the first developer session of the&nbsp;year.<\/p>\n<ul class=\"simple\">\n<li>Date: Feb 11, 2021 1700 <span class=\"caps\">UTC<\/span> (Click <a class=\"reference external\" href=\"https:\/\/www.timeanddate.com\/worldclock\/fixedtime.html?msg=Dev+session%3A+Marcel+Stimberg%3A+Brian+Simulator&amp;iso=20210211T17&amp;p1=136&amp;ah=1\">here<\/a>  to see your local&nbsp;time).<\/li>\n<li>Location (Zoom): (link no longer&nbsp;valid)<\/li>\n<\/ul>\n<p>The abstract for the talk is&nbsp;below:<\/p>\n<p>The <a class=\"reference external\" href=\"https:\/\/briansimulator.org\/\">Brian Simulator<\/a> is a free, open-source simulator for spiking neural networks, written in Python.\nIt provides researchers with the means to express any kind of neural model in mathematical notation and takes care of translating these model descriptions into efficient executable code.\nDuring this dev session I will first give a quick introduction to the simulator itself and its code generation mechanism.\nI will then walk through Brian&#8217;s code structure, our automatic systems for tests and documentation, and demonstrate how we work on its development.\nThe Brian simulator welcome contributions on many levels, hopefully this dev session will give you an idea where to&nbsp;start.<\/p>\n","category":[{"@attributes":{"term":"Events"}},{"@attributes":{"term":"Dev session"}},{"@attributes":{"term":"Brian Simulator"}},{"@attributes":{"term":"Code generation"}},{"@attributes":{"term":"Python"}},{"@attributes":{"term":"Free\/Open Source Software"}},{"@attributes":{"term":"Neuroscience"}},{"@attributes":{"term":"Computational Neuroscience"}},{"@attributes":{"term":"Automation"}},{"@attributes":{"term":"Documentation"}}]}]}