Things I Use
Emacs is a fantastic environment for writing code, as it lets you reprogram your environment on the fly with whatever functionality you want. I use it for all sorts of things, though not IRC.
One of the more difficult parts of getting started with Emacs is figuring out a robust way to handle third-party packages that extend the editor. I’ve written an article on setting this up called “Bootstrapping an Emacs config with quelpa-use-package”.
My full Emacs configuration is visible on GitHub.