Giving presentations with IPython notebook

IPython notebook became a very popular tool for programming short scripts in Python, interactive computing, sharing code, teaching or even demonstrations. Its advantage is the possibility to combine Python code with graphics, HTML, videos or even interactive JavaScript objects in one notebook. With this functionality it may also serve as a great presentation tool.

Continue reading “Giving presentations with IPython notebook”

6 steps to migrate your scientifc scripts to Python 3

Python 3 has been around for some time (the most recent stable version is Python 3.2), but till now it was not widely adopted by scientific community. One of the reason was that the basic scientific Python libraries such as NumPy and SciPy were not ported to Python 3. Since this is no longer the case, there is no reasons anymore to resist migration to Python (you can find the pros and cons on the Python website)

In this guide I am going to describe some tips that I learnt while trying to make my scripts compatible with Python 3. There is nothing to be afraid of – the procedures are actually quite easy and very rewarding (it is like a glimpse into the future of Python!).
Continue reading “6 steps to migrate your scientifc scripts to Python 3”

Scientific computing with GAE and PiCloud

Google App Engine (GAE) is a great platform for learning web programming and testing out new ideas. It is free and offers great functionality, such as Channel API (basically Websockets). Deployment is as easy as clicking a button (on a Mac) on running a Python script (on Linux). The best of all is that you can program in Python and offer an easy end-user web interface without time consuming installation, dependencies and nerves. Continue reading “Scientific computing with GAE and PiCloud”

Generating LaTeX tables from CSV files

I am very committed to the idea of the reproducibility. The way I understand the term is that there should be a close link between the results presented in the paper and the raw data. It happens all too often that some pre-processing step essential for the results presented in the paper is modified slightly during the preparation of the manuscript, but the figures, tables and statistics are not updated accordingly. Continue reading “Generating LaTeX tables from CSV files”

Python Autumn School 2010

Our next school for Advanced Programming in Python will take place in Trento, Italy on October 4th-8th, 2010. Application deadline: August 31st, 2010. Bellow will you find the detailed program:

Day 0 — Software Carpentry & Advanced Python

  • Documenting code and using version control
  • Object-oriented programming, design patterns, and agile programming
  • Exception handling, lambdas, decorators, context managers, metaclasses

Day 1 — Software Carpentry

  • Test-driven development, unit testing & Quality Assurance
  • Debugging, profiling and benchmarking techniques
  • Data serialization: from pickle to databases

Day 2 — Scientific Tools for Python

  • Advanced NumPy
  • The Quest for Speed (intro): Interfacing to C
  • Programming project

Day 3 — The Quest for Speed

  • Writing parallel applications in Python
  • When parallelization does not help: the starving CPUs problem
  • Programming project

Day 4 — Practical Software Development

  • Efficient programming in teams
  • Programming project
  • The Pac-Man Tournament

Bernstein Stammtisch

Today (Wednesday, October 29th) Berstein Master students, PhD students, Postdocs and other people interested in neuroscience are meeting in Buchhandlung at a Stammtisch. This monthly reunion is a great opportuinity to get to know people related to Bernstein Center and exchange some ideas about neuroscience and other current topics. You are all invited!!

Buchhandlung
Tucholskystr., near the corner Auguststr.
October 29th, starting 19 hrs

I hope to meet you there.

MNS 2008/09

The Model of Neural Systems programming course will start on Monday, October 27th. It will be given by Robert Schmidt and me. The first programming assignments are available on the course webpage. See you all on Monday!