My aha moment was implementing a bourne-like shell for
a Unix & C course I took in uni.
We were given about 3 weeks to implement the shell from
scratch with a lot of bonus points up for grabs such as
using lex/yacc for parsing, supporting more than one pipe
in a pipeline, backgrounding jobs, advanced i/o redirection,
etc.
It was quite fun, and we got to sort of "prove" how the Unix
shell works and how the fundamental interfaces behave.
- Naveen