4 ms·
Couldn't you solve this by tracking the version of Java (for example) used initially to develop the simulation?
by prawks 12y ago
Couldn't you solve this by tracking the version of Java (for example) used initially to develop the simulation?
- lmm 12y agoSure, but it kind of sucks if your whole program has to remain on Java 1.3 forever because you need a particular RNG.
- TheLoneWolfling 12y agoUntil a required library (or Java itself) has a security flaw and the new version does not support that version of Java.
- cdwhite 12y agoYeah, and this is why I'm very careful about recording the versions I use for a calculation (version number and/or commit for the language, library version numbers, and commit for my code). The thing is, that's not your first step: the first step is to try and get the thing to run on whatever Java (/Julia/Matlab/Mathematica/Fortran) you have installed. If that doesn't work, there are a thousand things it could be (improper usage, some missing file you had no clue you might need, change in libraries, change in OS/distro/CPUarch, out-of-memory with a new set of parameters); installing an old version of your language and trying it on that is not necessarily easy, and certainly not the first bug-finding step. Philip Guo (pgbovine) addressed many of these problems in his thesis work, on Burrito (http://www.pgbovine.net/burrito.html http://www.pgbovine.net/burrito.html ) and CDE (http://www.pgbovine.net/cde.html http://www.pgbovine.net/cde.html ). Both of these look very cool, but I've never managed to get over the hump and actually start playing with them. At this point I should note that I'm actually in favor of fixing a bad standard-library PRNG---I just think it's important to understand (a) what could break, and (b) why users might be unhappy about the breakage. This isn't quite a Chesterton's Fence sort of situation, but it's similar in spirit.