MiniShell was a sort of rite-of-passage in Computer Systems: making your own shell in C and seeing how much of Bash you can emulate. I went beyond the project specification, adding multiple piping, history, a variable prompt, quotation support, whitespace tolerance, and more.
At the time of this project, I frankly was not an avid terminal user. I found GUI applications faster, but to do well on this project, I forced myself to delve into what Bash offered and implement as much as I could. I became very particular about its behavior, spending hours on small polishes like use of the tilde as an alias for the home directory. It was this project that made me begin to understand the advantages of the console interface, and led to me being comfortable enough with consoles to document my own setup.