Archive for January, 2009

The joys of Literate Programming

Monday, January 26th, 2009

[caption id="" align="alignleft" width="300" caption="Photo by timbomb"][/caption] Software code is machine-readable.  But sometimes it's not very human-readable. for i=1:n d = function1(i) f = function2(i) a = function3(d) aa = function4(d) aaa = aa^2 for j=1:nn d(j) -= a d(j) /= aa if aaa > vt, f(j) = TRUE, end end function5(d, i) function6(f, i) end (we've actually seen real code where the author used variable ...

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 ...

Do I need to write software?

Monday, January 12th, 2009

[caption id="" align="alignleft" width="240" caption="Photo by Jan Tik"][/caption] In a previous post, we discussed what our project objectives were and how collect them.  We've also considered how to choose a programming language , as well as how to write pseudocode and build a prototype.  But we've missed something.  We've made an implicit assumption ...

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 ...