It was my first programming assignment, actually. I was a co-op student, working in a factory. A database used to communicate between the fab area and the order/sales types, suddenly stopped working. The original author was no longer around. I have no idea why I got picked to fix it... desperation, I suppose. I vaguely remember that some poor secretary had to do everything by hand while I figured it out.<p>I plunged around stupidly for a long, long time. I called it a database, but really it was more like a process-- a collection of one-off tools, on a variety of machines, that slowly massaged factory data into a form useable by the front office.<p>Eventually I blundered my way to the solution. Reading the manual for one of the languages used, it mentioned using EBCDIC codes when writing characters. A little bell went off in my head-- somewhere I had read that another machine in the pipeline used ASCII encoding.<p>None of this meant anything to me, but I knew that all the programs assumed a certain line length, and defensively stuck in a line terminator character just to be certain. A little poking around revealed that, sure enough, somehow a single record of the wrong length had got into the original data file.<p>So in the end, changing a single character in a single program made the whole apparatus wheeze back to life.<p>It was a great moment for me, seeing how such a little thing could have such a huge impact. There was also a heady feeling to the fact that nobody around me seemed to have any idea what I was talking about-- they were just happy the thing finally worked again.