2 ms·
Like everyone seems to be mentioning this post is really about "you should have automatic builds" and make is just an incidental. redo[1] is another interesting
by pedrocr 14y ago
Like everyone seems to be mentioning this post is really about "you should have automatic builds" and make is just an incidental. redo[1] is another interesting make replacement that keeps most of the good points of make (e.g., simple and shell based), while having a more powerful dependency mechanism. It's even compatible with make itself allowing you to move a part of a recursively built project to redo, while having it call into make for other subcomponents.
What I've done before when doing data-driven blog posts[2][3] was to write the whole analysis end-to-end in ruby, including branching out to R for stats and graphing[4]. I ended up using rake (ruby's make-like tool) to tie everything together with dependency tracking but I could just as well have written a script that would call everything in order. Doing that gives you a way to quickly reproduce results (what's discussed here) but also, together with version management, a way to go back to previous versions and use things like "git bisect" to figure out when you introduced a bug.
[1] https://github.com/apenwarr/redo/ https://github.com/apenwarr/redo/
[2] http://pedrocr.pt/text/how-much-gnu-in-gnu-linux http://pedrocr.pt/text/how-much-gnu-in-gnu-linux
[3] http://pedrocr.pt/text/preliminary-results-open-source-evolution http://pedrocr.pt/text/preliminary-results-open-source-evolu...
[4] https://github.com/pedrocr/codecomp https://github.com/pedrocr/codecomp