2. We had borrowed a different acquisition system to acquire some data for a research project in an underground coal mine in NSW, Australia. We had some of the data in the supplied format we'd taken that day, I gave it to my boss and he then started to convert it into the format he could use for analysis. However, it was taking a minute to process each file using the supplied dos-based utility to convert the data, but each conversion needed a user to type the input file name, output file name, file type etc. Then wait for the conversion to run. Note that we had in the hundreds of files, so it would have taken hours to convert the data manually. I wrote a bash script to generate a keystroke-input file which I fed into a keyboard simulator running under dosbox to convert the files in one process. It worked first time, so instead of sitting there feeding the conversion program with input, my boss was able to go out to dinner instead...
3&4. Probably not so unusual, but the above was a strange combination: writing a bash script under linux to write a program to run under a keyboard-emulator in dosbox.
If a car (or worse airplane) suddenly died because it was 5 years old, the manufacturer would be out of business in a week.
Well, technically out of business in a week plus five years, but I get your point.
alternative medicine for medicine etc.
Reminds me of the Tim Minchin line: "You know what they call alternative medicine that's been proven to work? Medicine."
Remove the bleepin' WiFi radio switch. You'd cut user-error service calls ("It was working fine yesterday but today I can't get to Facebook!") in 1/2.
...Except that you need the wifi switch to be able to use the laptop on most flights.
You enjoy pumping out those getters/setters, writing that boilerplate main class rubbish, etc... then? These things simply are not needed, and can be avoided by giving the programmer the right language features.
I don't write java, but I have a standard set of bash scripts I use to generate boilerplate for a new set of c,h files from a template. Writing boilerplate in any language is just plain dumb, if it can be scripted (it often can IME).
By lengthening the round trip time from coding to compiling you're decreasing the rate of repetition (and success).
I would argue that by lengthening the round trip time you're encouraging them to think about what they're doing rather than just try random things and see if it works.
Falling back to windows textual find tools is a bit painful.
That's where cygwin is useful. find, grep, sed, awk all there on your windows box - makes navigating projects or library codebases much easier.