I use emacs. Like almost all of my computing choices, it's rooted idiosyncratically in my early Linux experiences -- I use emacs (probably) because when I was 12, vim was mentioned but not covered by my linux reference and therefore seemed cryptic; emacs, though, had the menus (via F10), even at the terminal, and acted more like programs I was used to, thanks to its control+character sequences. Over time, I've gotten used to having it as my editor. It got me through my nightmarish C++ projects, it's helped me keep my python clean, and it even has a Wiki mode that helped me organize my thesis. Since I started using it, I had a vague idea of how customizable it is, but until recently, everything (reasonable) I've wanted emacs to do, it has done.
Now, however, I'd like to start a project to give a little back to emacs. A few months ago, I came across Steven G Harms's blog entry on the philosophical difference in emacs and vi users. He makes a charmingly insightful point that it's an issue of worldview, and I recommend the entry if you're geeking out. He also claims that "most emacs users will admit, without their custom modifications to the emacs reality ( aka a user�s .emacs file ) emacs doesn�t work like they like it to, or like they expect, it�s much less portable." This seems like a strange problem to have, though; I can store my pictures remotely, take my bookmarks with me, and edit documents online. I should be able to take my .emacs file with me, too. Emacs can even have an integrated web browser, so it seems like it should be a solvable problem.
Although I'll write up a better treatment sometime soon, the basic idea isn't too complicated. I'd like to write a web app that hosts emacs extensions and generates .emacs files for users. A user of this site would select the extensions that s/he wants to use (e.g., Wiki mode, slime, python mode, nxml) and add custom code that should be in the .emacs file to a customization profile. Then, when that user goes to a new computer, s/he could request a bootstrapping .emacs file that would, when emacs loads, contact the web application and download all of the user's extensions and modifications, including an extension to ease resynchronizing. Thus, a user would just need to have an account on my site and download one file and then would have his/her customized emacs, readily available on any computer. In an ideal world, I could provide some version control, bug tracking, and hosting for emacs extenders to develop their work.