Archive for the ‘More advanced topics’ Category

The basics of SWIG

Monday, May 11th, 2009

[caption id="attachment_535" align="alignleft" width="240" caption="Image from sketch22"][/caption] Simplified Wrapper and Interface Generator, or SWIG for short, is a tool that provides a way to interface C/C++ with a variety of high level programming languages (notably Python, R but not Matlab - which has it's own way of linking to C). It ...

Doing several things at once: types of parallel computing

Tuesday, April 7th, 2009

Image via Wikipedia For decades computers have got faster by increasing the power of a single processing unit but recently chip makers are hitting limits, mainly cost and heat. The results: instead of one processor getting faster, more are being added. At the same time the advent of ...

Things to make you go hmmm …. (laugh then think!)

Monday, February 2nd, 2009

"Many a true word is spoken in jest" is a phrase that has echoed down the centuries from Chaucer, through Jonathan Swift and George Bernard Shaw and into the modern word. While Chaucer would have claimed that programming was witchcraft his immortal words are certainly as true today as they ...

Links to some great articles on programming

Monday, January 19th, 2009

[caption id="attachment_410" align="alignleft" width="300" caption="Photo by Manel"][/caption] The internet is full of smart people writing intelligently on how to write good software. Very few of these articles are from the perspective of a scientist (hence this blog!) but a lot of what they write is useful, interesting and, occasionally, entertaining. This ...

Order notation, or how to tell how good your algorithm is

Monday, January 5th, 2009

[caption id="" align="alignleft" width="300" caption="Photo by Wallula Junction"][/caption] How can you tell if your shiny new algorithm is better than the one you already have? How do you settle an argument between you and your colleague? Order notation will help you choose between algorithms and settle arguments. Order notation, otherwise known as ...