Simplicity is the Ultimate Sophistication
- Leonardo Da Vinci

I am working on some exciting projects that are mostly driven by personal curiosity and with the goal of learning something new. Here are some of these projects from past and present.

Simulation of the activity of neuronal populations composed of hundreds to thousands of neurons is carried out routinely on software platforms. However, these simulations are extremely slow and far from real-time when the model complexity and/or the number of neurons increases, seriously limiting the applications of such models. One current alternative to overcome this scalability issue is to implement these software models on neuromorphic hardware allowing to run large-scale neural models in real-time independently of the model complexity.

Development of such neuromorphic hardware using highly programmable FPGA (Field Programmable Gate Arrays) is part of on going research has shown great promise in terms of configurability and flexibility. While such hardware exists, it is still very challenging to directly access and configure this hardware from a user stand point. For instance real-time data acquisition and visualization are key to exploit real-time hardware but are currently lacking. In addition, currently one needs expertise with hardware design to be able to use neuromorphic tools, there by limiting access to such state-of-the-art hardware. This project aims to alleviate these limitations and bridge the gap between computational neuro-science and neuromorphic engineering.

HSimSNN - An Event-based Haskell Simulator of Spiking Neural Networks

I have become very intrigued by Haskell, a purely functional programming language, and decided to learn how to Haskell. Functional programming, I discovered is very different from traditional C like programming languages, and has a steep learning curve if you are previously exposed to other non-functional programming languages. I feel like I need to "empty my mind" in order to learn Haskell, and this process has been a very exciting challenge so far. I wanted a project to work on to discover more Haskell by myself. I looked around and found no standard spike based neural network simulators in Haskell. And so HSimSNN was born.

HSimSNN is a Haskell based Simulator of Spiking Neural Networks. This project is brand new and not much thought has been given to witty naming so far. You can follow it on GitHub to check on its progress, and even contribute if you like!

The pyNCS Project

pyNCS is a python based software development project that aims to provide a set of software tools to configure and communicate with neuromorphic AER based devices. A short description of this work can be found here. This is perhaps one of the most well thought of and well worked projects I am actively involved in. I can attribute all my Python skills to this project. The project has multiple contributors and is actively being developed for more than six years as of 2015.


The acoustic SCene ANalysis for Detecting Living Entities is a EU project about scene analysis based on active and passive acoustic signals from the environment. I was funded by this project for most of my PhD.