Daily Shaarli
May 5, 2019
You’ve run your batch process with your scientific model, and after hours and hours it spit out a result. And the result is wrong. You suspect there’s a bug in the calculation, you’re not sure what it is, and the slow feedback cycle is making debugging even harder. Wouldn’t it be great if you could debug and speed up your program without having to spend days running it just to reproduce your problem? Now, I’m not a scientist, I’m a software engineer. But I did spend a year and a half working on scientific computing, and based on that experience I’d like to offer a potential solution to this cluster of problems: logging, and in particular a logging library I and my coworkers found very helpful. But before I get to the solution, it’s worth considering where these problems come from: the specific characteristics of scientific computing.
Introduction The first thing we have to understand while dealing with constraint programming is that the way of thinking is very different from our usual way of thinking when we sit down to write code. Constraint programming is an example of the declarative programming paradigm, as opposed to the usual