Big news on the Wolfram language

Wolfram Alpha has been freely accessible on the Web for some time now. It allows anyone to do some of the work that Mathematica can do, in a browser. Now, it looks like the new Wolfram language, a very ambitious project to open up programming to many more people, is also going to be freely available on the Wolfram “cloud”. Details in this post by Wolfram himself. When I get some time freed up, I want to play with this!

Things to consider when coding

A good speech by dana boyd deserves to be read widely by all software creators. I don’t particularly care for her singling out Google as an example of a company making wasteful use of the “cloud”, especially as she works for Microsoft, but I suppose she had to do this to stay in her employer’s good graces. But do read it, if you have any interest in making software or thinking about the public policy issues relating to software writing and its implications for the environment and other public welfare concerns.

Improving scientific software

For open-source software used heavily in the sciences, there is a problem with giving the proper incentives and recognition to developers. A recent article in SIAM News called Quo Vadis, Scientific Software correctly points out the main problem with current practice.

Current practice involves researchers who use scientific software reinventing the wheel very frequently. As the authors of the article point out, if you try to publish a paper in a journal of mathematics and claim some theorems in your paper, you will not be allowed to omit the proofs. Yet, we often see such things as a paper that uses some mathematical software but does not include the code written for the calculations included in the paper.

I have always insisted that the graduate students whom I advise include any simulation code they wrote and used in the appendix of their dissertations. More people need to do this.

From the problem of not sharing code readily in scientific work there also follows the problem of researchers reinventing the wheel. You may know of a paper that did a simulation you would like to do but don’t know the code for the simulation, so you have to write your own to do something very similar. The article points out some efforts to build open-source libraries of code already written by practicing scientists who use computation in their work but also mentions a related problem: there is no established system for contributors to such libraries to receive professional credit. This problem reduces the incentive for a young scholar to contribute good code to a library that could benefit the entire scientific community.

It seems to me there is a strong argument in favor of solving the credit-giving problem and stopping the current inefficient practice surrounding scientific software. The linked article concludes with some eminently sensible proposed solutions. I highly recommend it.

On the quality of academic software

On the quality of academic software:

Software is eating the world. Despite a poor year, Facebook has a market capitalization of $65 billion. This little company with barely 2000 developers is worth as much as a car marker.

Students should take notice. I would expect countless students to come to college demanding top-notch software training. I would expect graduate students to focus on building gorgeous software programs.

Yet software produced in universities and colleges is awful, and it is not getting better. I have a few explanations:

(Via Daniel Lemire’s blog) Highly recommended. Read all about it at the link on the top.