So, it’s done!
I am very proud to say that after about 10 months of work I finished writing my Emacs Lisp book. If you haven’t heard of it yet, it’s called “Hacking your way around in Emacs” and it is an intermediate-level textbook on Emacs Lisp, showing a lot of useful things on about 100 pages.
A bit serendipitously, I’ve just encountered a nice quote on book writing from Brandon Sanderson:
You have to be arrogant to be an author. It’s tough, sometimes, to continue to believe that people should be willing to pay you for your work. You have to keep working, ignoring rejections, soldiering forward. There’s an arrogance to that. Call it self-confidence if you wish, but it’s the same thing.
While I disagree that “self-confidence” and “arrogance” are the same thing, I definitely agree that writing a book is more difficult than just sitting down, thinking and typing. Even when I was applying the finishing touches to the introduction and the afterword, some inner voice kept telling me that my book is bad.
But you know what? It’s not. It’s actually good. Go check it out. Download the first chapter for free, or even just buy the book (you can get a refund without giving any reason anyway within 45 days). Just know what to expect.
And you definitely should not expect a “complete” textbook, covering every important feature of Emacs Lisp. This is what the GNU Emacs Lisp Reference Manual does. What my book does is this:
And that’s it. (Initially, I considered two more chapters about font-lock and macros, but I decided that both are a bit too specialized to include in an intermediate-level book, plus I unfortunately didn’t have enough time to write them. I might write one or both of these in the future, though.) For now, if you study this book and want more, just practice coding in Elisp, and consult the reference whenever you need. I imagine that after working through all the code and explanations I provided, you should be more or less ready to read the sections of reference you need and at least some parts of Emacs source code.
That doesn’t mean that the book could not be expanded. In fact, my plan is to add a few chapters in the future. While I don’t have the time to do it now, one project I’m working on is going to be finished in about half a year, and that will be the moment I could work on Elisp book version 2. I don’t think I’d want to add a lot about Elisp coding itself (unless I decide there is some serious omission, or I find some really cool idea for a small package to write and explain, or someone convinces me to include any of those two chapters I mentioned). My vision is to write about some other stuff useful when coding in Elisp, like debugging or testing. But that is something to consider in the future. For now, here you have version 1. (And by the way, if you tell me about some mistake – be it a typo or an unclear passage – I will definitely be fixing those as I learn about them.) Have a nice time reading it, spread the word, and make Emacs work better for you!
CategoryBlog, CategoryEnglish, CategoryEmacs, CategoryEmacsBook