Current working pattern…
See, this is why development servers should be real workhorses. When sh bootstrap; ./configure ; make ; sudo make install ; sudo rm -rf /usr/local/etc/chilli ; sudo cp -r ~/chilli /usr/local/etc ; sudo /usr/local/etc/init.d/chilli restart takes twenty minutes, that’s twenty minutes of paid developer time where the developer can’t do any real work!
Oh well. At least this is debugging infrastructural stuff so I can blog about it later…
/shakes head…
It’s even worse than that.
Software development is primarily cognitive. When we work on software, what we spend most of our actual effort doing is essentially running the code on a CPU in our head. We’re modeling its execution and thinking about how the portion we are working on will respond to different inputs and how it will interact with the rest of the system.
It takes time to “load the program into memory.” This is the real cost of slow development hardware. This is why multiple monitors have always had such a strong productivity improvement on all knowledge work.
Plus, once the program has been flushed from our mental cache, it can be hard not to pursue some other distraction for a few minutes before diving back into the real work.
If you need to find published stuff about this, look at Peopleware by Demarco and Lister, and Software Facts and Fallacies by Robert Glass. I’m sure there are others, but those are the ones I know about.
Scott
Any reason you can’t do a more incremental build process? Are you recompiling *all* of the project?
That is the incremental build process!
That’s the downside of working on infrastructural networking stuff, a lot of the time, it’s all-up testing or very close to it.