Reinvesting time and money into Emacs

I received a wonderful token of appreciation from someone who found my Emacs posts useful. It got me thinking: what would it be like if I made Emacs a large part of my life’s work, and how can I invest even more into it?

Emacs is already a big part of my life. I like the community. I get a lot of positive feedback indicating I might be doing useful things. It’s not like much would change, except perhaps that I’d give myself permission to focus on this, to put more eggs in this basket. I might write about Emacs more often, even if it makes other people boggle. I might tweak the design of my blog to simplify browsing through Emacs-related resources, and maybe come up with an easier-to-spell domain name for that part of my site. Focusing on Emacs is probably low-risk, since my savings give me a decent runway if I need to build up more marketable skills like WordPress or Rails. (Or I could be, like, one of the few Emacs coaches/consultants in the world. ;) )

To make the decision clearer to myself, here’s what would go on the backburner: specializing in a more popular platform (WordPress, Rails, etc.), Quantified Self, helping people with blogging, helping people with sketchnoting, helping people with freelancing/semi-retirement, delegation, and so on. I could probably build up a reputation in those communities later on, but I like Emacs the most right now.

I like focusing on helping people discover the joys of exploring and customizing Emacs: blog posts, tutorials, suggestions, screencasts, maps, and maybe someday those guides and books I’ve been talking about writing. I like helping make Emacs learning slightly more manageable – “if you know about this, you might want to check out that.” I enjoy coding, but I haven’t gotten deeply into the big improvements people are working on for Emacs 24 and later. I’ll probably continue to focus on filling in the gaps instead of pushing Emacs forward.

I’ve been thinking about how I can reinvest money into the Emacs community. There was a recent thread on the Orgmode mailing list about donations – trying to figure out how to put people’s donations to the best use. Sometimes I receive donations too. Since I keep my expenses low and there’s only so much safety you can save up for, how can I put small amounts of money to good use in open source?

Domain name, hosting, etc.: I use a Linode VPS – I switched from Rackspace in 2011. A virtual private server is more expensive than shared hosting providers. I like how I can ssh to it to try different things. I’ve thought about lowering my costs by using DigitalOcean, but I don’t know enough yet about server optimization to properly configure my web server setup so that I’m confident I’d fit into a smaller plan. (Hmm, this might be worth experimenting with someday, especially since I could set up a snapshot and save it…) I’ve budgeted for this and for domain naimes since this is such a big part of what I do, so I don’t mind covering this myself and using donations/unexpected income for other things.

Transcripts for Emacs Chats and other videos: I’ve been outsourcing this instead of doing it myself because transcription is a well-specified chunk of work that I can pass to other people (who can learn a little more along the way). It takes about $35-$60 for a transcript, and then I often edit it a little. The assistant who does my Emacs Chat transcripts is interested in programming, but hasn’t gotten into Emacs specifically. It might be interesting to find someone who’s interested in Emacs and who will get even more out of transcribing videos. (If this describes you, e-mail me!)

Emacs/Org conference? Meeting folks in person was super-awesome. If last year’s conference happened because someone found a venue willing to host us for free, it makes sense for me to pay for a venue. Even if it’s over a thousand dollars, that’s cheaper than a flight and visas and all sorts of other things.

Emacs meetups? Quantified Self Labs supports QS meetups by sponsoring fees ($144 per year), pitching in for video cameras, and paying someone to process videos. They also have people working on blog posts and other community-related projects. Would a similar model make a big difference? Maybe it makes sense to get a few of them off the ground. What’s in the way of my hosting an Emacs meetup here?

Editors / information organizers: I try to make my writing easy to understand, but it can be good to have other people review something to see if it makes sense and to spot the gaps. Volunteers and blog readers help a lot. Still, it might be a good idea to pay people to help me with this. I’m not looking for surface-level editing, but more developmental editing: helping me organize ideas so that they make sense and they’re in a logical order. I’m not sure if looking on the usual freelance writer sites will help me find someone who can do this, but maybe if I can offer a good enough incentive, then maybe a freelance developer/writer will be able to spend some time helping me with this. (Or I can just take longer and I can get better at asking for feedback…)

Bounties? does not seem very popular for Emacs or Org. I’m still not sure how bounties interact with intrinsic motivation and unequal valuing of work, or how to even value a fix.

There’s still so much beyond money that I haven’t yet fully delved into. Aside from re-investing money, I can invest time – and that’s probably more important, more useful.

How can I invest more time into the Emacs community? What do I want to work towards? How can I improve how I learn and share?

Continue what I’m doing, and do more of it: Tweak Emacs and write about it. Be that friendly co-worker or friend you chat with because you know she’s always coming up with the weirdest things to try, and sometimes that leads to surprisingly useful things. Post more screenshots and screencasts, since we could really use those.

Fill in more gaps: Answer newbie questions. Map topics to learn. Write tutorials. Link to resources. Make screencasts. Organize information. Read EmacsWiki and other resources, and organize/edit/fill in as I come across opportunities to improve things.

Guide more people towards Emacs Lisp: Help people make that jump to writing their first custom bit of Emacs Lisp. Learn more about Emacs Lisp style and functionality, and help people improve their packages.

Help inspire and connect people. Bring the community together: Interview people for Emacs Chats, so that other people can get a sense of people like them who are enthusiastic about Emacs and who use Emacs to do interesting things. Set up a regular Emacs show-and-tell series?

On a related note: what would it take to figure out how to do Emacs coaching properly? I’d want to keep track of people’s progress and set up recurring calls, so probably Org, maybe in Google Drive or Git… I have a little bit of an impostor syndrome around this because I don’t know enough about setting up Emacs as a modern IDE, but I can learn. Clojure, Rails are probably good starting points, and there’s Emacs Lisp itself. On the other hand, if I answer questions in newsgroups and mailing lists, I help more people, and it’s easier (and more reliable) to turn those into blog posts. Plus they’re searchable. But sometimes one-on-one real-time helping is what helps me map or understand things better, and it can really make a difference in someone’s confidence or comfort level. So yes, continue to do these, and continue to nudge people to share.

Do these decisions make sense even considering a scenario where, say, Emacs becomes irrelevant? I’ll have learned more about related programming tools and topics. I’ll be a better writer and teacher. I’ll probably know a whole bunch of people who are happy about what I’ve shared and who can help me make the transition to other things as needed, maybe by sharing information or by taking a chance on me. And then there are all the other skills I’ll build on the way: making sense of technical things, learning more about how things learn, and playing with all sorts of other things along the way.

Payoffs? Tickled brain, happy mastery. Besides, you meet the nicest people using Emacs. =)

  • Bernhard Moser

    My two cents. I really like the way you have diversified your blog. I love Emacs/ org-mode for work. I was looking into ‘other’ possibilities to take notes since 20 years. There are some amazing ideas out there. I started with mind maps went over to something called analog graffiti … and so on. Everything is based on the same idea: expand your mind.
    I see your blog heavily as helpful tool to expand my mind. Sometimes you just need a push in the right direction to gain knowledge. And i get this push inside here.
    For me it’s the sum of all your ideas/work/processes which make this blog a wonderful place to read.
    Thank you for your work.

    • I’m glad it works out for you too! I’m interested in lots of topics, so I mix those posts in as well. I love how I end up having conversations about lots of different topics with people who came to my blog for one reason and then found others. =)

  • I use emacs and org-mode daily, but my use does not even begin to scratch the surface of what you accomplish. I would like to echo the appreciation of others for all the knowledge and guidance you have shared on how to become more productive with emacs. i can’t speak to “life’s work,” but I think every emacs amateur owes you a debt, and maybe the professionals do as well. RMS, take note.

    • It takes a village to raise an Emacs user, and the world is our village. =) I love learning from folks!

  • Raymond Zeitler

    If you have a local chapter of IEEE Computer Society or ACM, you could suggest that they hold a meeting or two (or a series) on Emacs. Certainly if you ever plan to travel through CT, I can set you up with a projector and screen in a university lecture hall with free pizza and soft drinks for all. :)

    • I would love to have an Emacs conference or hackathon for my 32nd birthday party (next August). =D However, I’m not an organizey-type person, at least for in-real-life events… Would anyone like to help make this happen?

      • raymondillo

        I can think of some good musical/code entertainment for that party. Hippy Burpday for this August too. :)

  • Charles Cave

    Looking forward to reading more about Emacs – I am a regular org-mode user and I keep thinking how useful it would be to have more screencasts about org-mode. I will make one about capturing notes. Emacs Lisp is my next big challenge

  • Ciaran_Mulloy

    I’m a regular Org-mode user and love it. I really enjoy finding more useful ways that I can use it in my work! I feel I still have a lot to learn about useful things I can use it for. Like other commenters my next challenge is getting to grips with Lisp!

  • groov

    Hi, I’m looking forward to read more elisp tutos for beginners !
    ps: don’t forget to mention too ;)

  • Mark Lewin

    Sacha, I think emacs is a wonderful topic to focus on, and you’re lady with the chops to do it! I really like how you explain things, and for many people new to Emacs – myself included – having someone say “let’s look at how you can use Emacs to…” and then dive into specific examples is a Godsend.

    There is loads of documentation out there, but scenario-based tutorials showing how to pull the related pieces together seem to be in short supply, and some of them assume just a little too much knowledge IMHO. For example, I was dead set on setting up a web development environment in Emacs. I thought it would be simple. But there are loads of different modes for HTML and Javascript. Which one is the simplest? Which one is the best? And then I discovered I needed extra modes to switch modes between different sections of code on a web page. How do I launch my app in a browser? How do I get code assist? That sort of thing. I’m sad to relate that I eventually gave up, which is a shame, since I find Emacs wonderful for many other editing jobs.

    So, yes! Do it! I for one will be very interested in what you come up with and willing to help wherever you think I can!

    • Heh. I don’t know the answer to that one myself – I tend to just use the basic HTML support, and I haven’t spent a lot of time making Emacs act more like modern IDEs. I’m curious about it, though! I’ll definitely share my notes as I figure things out (or better yet, as I find and interview people who have figured things out)…

  • Mark Lewin

    … and not to mention running Emacs on Windows. Do I need Cygwin? What am I missing if I don’t have it? (I’m comfortable with Linux, but work insists on Windows.)

    • I use the Emacs that’s built for Windows (not Cygwin), but I have Cygwin installed for other useful tools like grep. Seems to be fine, although some tools don’t work for me or are harder to configure than they were on Linux. Ah, life on a minority OS (at least in terms of the Emacs world).

  • I can’t think of a scenario where ” … Emacs becomes irrelevant” :-) But yes, I’d like to add my encouragement and say that what you’re thinking about doing for the Emacs community is great. I’ve already benefited from your generous knowledge sharing about all-things Emacs and I’m eager to see how some of the ideas in your post evolve. I’m a technical writer and I’ve been using Emacs, mainly org-mode, for several years. if you need that editorial and info architecture help you mentioned, I might be able to help.

    • I’d love that. I’ve been trying to figure out a good order for the sections in . I know I need to talk about how to evaluate code, and init.el, and common errors, and a deeper dive into common functions… But oh, the order!

      I like the way games can have a non-linear training structure. I wonder how we can create something similar within an Org document. Maybe use TODOs to help people track which sections they’ve completed and see what they can learn about next…

      • Thanks for the github link–I’ll have a look over the weekend and get back to you.

        I think you’re right to consider a non-linear approach to organizing your content. Reader will have different levels of experience and different questions to answer. You might like to think about a topic-based structure, where each section, or topic, of your content can stand on its own and answer a specific question, be it conceptual or procedural. If you add links to your topic so that readers can find information that’s related to their question, they can expand their research and learning from wherever they happen to be. Anyway, I’ll have a look at the content in github and see if I can offer any suggestions.

  • Raymond Zeitler

    There is already an excellent Introduction to Emacs Lisp. The electronic version is free, licensed under the GNU Free Documentation License. Here is a link to one source:

    But it is quite detailed and lengthy, and perhaps not as friendly and cool as a tutorial from you might be. Besides, it certainly lacks any idiom’s that you might have. And it predates Org-mode.

    I’d read many pages of this book while sitting in doctor’s waiting room. (I’d obtained a PDF version and printed it out.) I finally “get” Lisp, although I’m not as fluent as I’d like to be.

    • Yeah, I’ve directed people to it. I think there’s probably room for a more quick-win-oriented guide to help people get oriented (and excited). The Emacs Lisp Intro and the reference are great things to read through, though! I learn something new each time.

  • Raymond Zeitler

    BTW, one of the initial attractions to Emacs for me was/is its ubiquity. The more I can do in Emacs, the easier it will be for me to eventually switch from Windows to a Linux OS.

    • The more I can do in Emacs, the more I can imagine in Emacs. =) It’s a wonderful, wonderful thing!

  • Thomas

    A “book” on Emacs internals would be great. Time and again I’ve beaten my head against the proverbial wall because the documentation on the inner workings of Emacs is perhaps not the most complete or helpful resource when you need to do some low-level hacking on Emacs (there are times when ELisp just doesn’t cut it, sadly). I’m thinking of something like a guided tour of the Emacs source that goes into all the nitty-gritty details about how the event loop works, how it interacts with different kinds of ELisp code and so on. I know that there’s ultimately no subsitute for reading the code, but manually tracing the flow of events (which heavily depends on all kinds of state scattered throughout the C and ELisp source) is no fun exercise and get’s in the way of gettings things done (which I think Emacs ought to be about at the end of the day). It is my impression that there is already more than enough material for beginners and intermediate users.