Justin Kiggins


  • April 18, 2016

    Zero Configuration Remote Jupyter Server

    My personal laptop has a modest 4 core CPU, only 4 gigs of RAM and a 256GB hard drive. One of the servers in our lab, on the other hand, has 24 cores, 128GB of RAM, a 20TB file server, two Nvidia Tesla K40s, and one Titan Z GPU.Which would you pre...

  • April 13, 2016

    Moving from Matlab to Python: Where's my IDE?

    It seems that one of the first challenges for Matlab users who want to get started with Python isn’t the language, but simply getting a development environment setup. Matlab eases onboarding through a single self-contained IDE. While there are IDE...

  • April 03, 2016

    Managing a neuroscience data pipeline with airflow

    A few months ago, I found myself with a backlog of data that needed preprocessing before I could start really analyzing it. I decided I need some kind of a scheduler to help push my data through the preprocessing efficiently.I ended up deploying A...

  • July 03, 2015

    Generating Channel Graphs for KlustaKwik Automatically

    In order to build the masks for KlustaKwik, SpikeDetekt2 needs to know the graph of adjacencies between all of the recording sites on a recording array. However, a bad channel for a recording session can drastically change the requirements for a p...

  • July 02, 2015

    Defining Large Array Geometries for Klustakwik

    We’ve started using KlustaKwik for spike sorting in the lab and I’ve been working on getting a data pipeline going. It’s masked EM algorithm is very clever, taking into account the adjacency matrix of an electrode array to determine whether it sho...