Python

Technology

Easy Concurrency in Python

Bad news first. Python is a poor choice for concurrent programming. A principal reason for this is the 'Global Interpreter Lock' or GIL. The GIL ensures that only one thread accesses Python objects at a time, effectively preventing Python from being able to distribute threads onto several CPUs by default.

Read
Technology

Testing Scientific Code - How to Get Away with Bad Code

Scientific code is bad. Programming it often serves as a tool to bridge the gap between mathematical theory and predictive model. As a result, scientific code is frequently of bad quality. I'll show you how to get away with it.

Read
Technology

Learn Programming without a Background in Computer Science

I have been asked repeatedly by friends and colleagues how I learned programming. Having done my Bachelor's Degree in Physics and currently working towards a Master's in Industrial Engineering and Project Management, I do not have an academic Computer Science background at all.

Read