Shortly after we got our first computer, one summer day I was going through it seeing what all of the various programs did. As I was doing so, I stumbled across a program called 'vi.exe'. (My dad, who worked on Unix systems at AT&T at the time, had installed a Unix tools package onto our machine.) I ran the program, and was presented with a screen full of ~s on the left side, and no other information. No combination of keys seemed to change the state of the screen.
I knew enough at this point to know that if I got stuck, Ctrl-C would get me out of anything. Turns out that this mental note was only partially true -- Ctrl-C won't quit this program. In the end, nothing I could do would fix it, and I was forced to turn the computer off -- *without quitting the program*. I was completely nervous at that time that I had completely destroyed the hard drive, because I *knew* (as we all 'knew' then) that of course you can't turn the computer off with any programs running: it will destroy the hard drive.
When my dad got home, I told him what had happened, and he taught me that vi was an editor; while I didn't learn to do much in it, I did learn that hitting escape, then typing :q!, would get me out of the program.
To this day, I use vi as my daily editor (over its primary competitor, emacs); in part, this is because I still know how to quit vi when I need to, and I *still* can't figure that out in emacs most of the time. In this way, every time I start editing a file -- whether it's a quick shopping list or a configuration file that happens to affect the flow of a huge chunk of traffic over the internet -- I've got a little reminder of things my dad taught me coming along with me.
Thanks, Dad, for everything you've taught me and given me over the years. I can't tell you how much you mean to me. I hope you have a great Father's Day.