Teach Yourself Emacs in 24 Hours

Authors: Jesper Pederson, Jari Aalto, Charles Curley, Eric Ludlum, Larry Ayers and Jeff Koch
Publisher: SAMS
Price: $24.99 US
ISBN: 0672315947
Reviewer: Ralph Krause
I have been using Linux for about a year now, and in this time, I have used Vim for text editing. I had tried Emacs a few times, but found it difficult to learn. I decided to try learning Emacs again with help from SAMS' Teach Yourself Emacs in 24 Hours.
While I can say I learned enough from the book to use Emacs (I'm using it to write this review), I would hesitate to recommend this book to anyone else. The biggest problem I found was the sheer number of typos it contained. In addition to that, the accompanying CD-ROM is not well-organized, either.
Let me quickly say that the authors seem to know Emacs well, and they have done a good job of selecting the features to present to new users. The examples they give are generally clear and illuminating. They also highlight the differences between Emacs and XEmacs in the examples, so the book is useful no matter which version of Emacs you are using.
If you do purchase this book, the first thing you should do is go to Mr. Pedersen's web site at www.imada.ou.dk/~blackie/emacs and print out the book's errata pages. Unfortunately, even with these, I still couldn't get some of the book's examples to work, such as running the etags command on HTML files.
In addition to the printed errors, I also ran into problems with the accompanying CD. The first was that I couldn't access it on my Linux box unless I was logged in as root. Doing work as root is not a good idea in general, and in some instances, at work for example, it may not even be possible. When I did access the CD, I found that its directory structure left something to be desired.
The CD's root directory contains only two entries: opt and usr. The opt directory contains the Windows and Linux versions of Emacs, while the usr directory contains Emacs Lisp files and add-ons. This layout is a bit confusing, and there are no index or README files to indicate what is where.
For Windows users who don't already have Emacs loaded, the second chapter covers installing and configuring Emacs under Windows. I found the book's suggested directory layout confusing, so I didn't attempt to create it on my Windows 98 system. Instead, I just created an .emacs file in the root directory of my C: drive.
The book implies that the CD will automatically start installing Emacs when inserted in a Windows machine, but it doesn't appear to be set up for this. I ended up installing Emacs using the SETUP.EXE program, and it ran correctly after installation. The CD also contains Zip files if you want to install Emacs manually.
Though the installation instructions are somewhat unclear, the book did provide clear instructions on setting up printing and associating files with Emacs under Windows.
The rest of the book is well-arranged, starting with the basics of Emacs and leading up to its advanced features. I found that each chapter presented enough information to increase a new user's knowledge without drowning them. Examples are given for almost every topic brought up. Each chapter ends with a summary of the material presented followed by a short Q&A section. Finally, a few exercises are given for readers to attempt on their own.
The early chapters cover basic editing, working with buffers and searching. An explanation of the Emacs help and configuration system is in the middle of the book. Next, the special editing modes for C, Java and LaTeX files are discussed. There is a chapter covering the use of Emacs' version-control functions, along with compiling and debugging programs. There are two chapters on Gnus (a news and mail reader that runs under Emacs). Beginning Emacs Lisp, an introduction to key bindings, and how to use add-ons comprise the final chapters of the book.
The book makes several references to add-ons included on the CD, especially the sams-lib.el file which contains a number of specialty functions created by the authors. Some attempt is made to provide brief descriptions and installation instructions for the add-ons, but only a few from the CD are actually covered in the book.
I am amazed at just how powerful Emacs is, and this book does a good job of introducing a new user to the sheer number of features available in it. The authors also did a very good job of choosing the right amount of material to allow someone to use Emacs without overloading them. I wish they had spent a little more time on such things as regular expressions and the Windows installation directions, though.
Unfortunately, the large number of errors contained in the text along with the confusing layout of the accompanying CD almost keep this book from being usable by its target audience: beginners. I would expect that the next release will have corrected these problems, and then it will be an invaluable addition to the beginning Emacs user's bookshelf.
Ralph Krause (rkrause@netperson.net) lives in southeastern Michigan, where he runs a small computer consulting business. In addition to trying to earn a living, he enjoys reading and playing with his dogs, Dakota and Purdy.
Realizing the promise of Apache® Hadoop® requires the effective deployment of compute, memory, storage and networking to achieve optimal results. With its flexibility and multitude of options, it is easy to over or under provision the server infrastructure, resulting in poor performance and high TCO. Join us for an in depth, technical discussion with industry experts from leading Hadoop and server companies who will provide insights into the key considerations for designing and deploying an optimal Hadoop cluster.
Sponsored by AMD
Built-in forensics, incident response, and security with Red Hat Enterprise Linux 6
Every security policy provides guidance and requirements for ensuring adequate protection of information and data, as well as high-level technical and administrative security requirements for a system in a given environment. Traditionally, providing security for a system focuses on the confidentiality of the information on it. However, protecting the data integrity and system and data availability is just as important. For example, when processing United States intelligence information, there are three attributes that require protection: confidentiality, integrity, and availability.
Learn more about catching the bad guy in this free white paper.
Sponsored by DLT Solutions
| Designing Electronics with Linux | May 22, 2013 |
| Dynamic DNS—an Object Lesson in Problem Solving | May 21, 2013 |
| Using Salt Stack and Vagrant for Drupal Development | May 20, 2013 |
| Making Linux and Android Get Along (It's Not as Hard as It Sounds) | May 16, 2013 |
| Drupal Is a Framework: Why Everyone Needs to Understand This | May 15, 2013 |
| Home, My Backup Data Center | May 13, 2013 |
- Designing Electronics with Linux
- New Products
- Linux Systems Administrator
- Senior Perl Developer
- Technical Support Rep
- UX Designer
- Web & UI Developer (JavaScript & j Query)
- Making Linux and Android Get Along (It's Not as Hard as It Sounds)
- Dynamic DNS—an Object Lesson in Problem Solving
- Using Salt Stack and Vagrant for Drupal Development
- Reply to comment | Linux Journal
6 hours 38 min ago - Dynamic DNS
7 hours 12 min ago - Reply to comment | Linux Journal
8 hours 10 min ago - Reply to comment | Linux Journal
9 hours 1 min ago - Not free anymore
13 hours 3 min ago - Great
16 hours 50 min ago - Reply to comment | Linux Journal
16 hours 58 min ago - Understanding the Linux Kernel
19 hours 12 min ago - General
21 hours 42 min ago - Kernel Problem
1 day 7 hours ago
Enter to Win an Adafruit Pi Cobbler Breakout Kit for Raspberry Pi

It's Raspberry Pi month at Linux Journal. Each week in May, Adafruit will be giving away a Pi-related prize to a lucky, randomly drawn LJ reader. Winners will be announced weekly.
Fill out the fields below to enter to win this week's prize-- a Pi Cobbler Breakout Kit for Raspberry Pi.
Congratulations to our winners so far:
- 5-8-13, Pi Starter Pack: Jack Davis
- 5-15-13, Pi Model B 512MB RAM: Patrick Dunn
- 5-21-13, Prototyping Pi Plate Kit: Philip Kirby
- Next winner announced on 5-27-13!
Featured Jobs
| Linux Systems Administrator | Houston and Austin, Texas | Host Gator |
| Senior Perl Developer | Austin, Texas | Host Gator |
| Technical Support Rep | Houston and Austin, Texas | Host Gator |
| UX Designer | Austin, Texas | Host Gator |
| Web & UI Developer (JavaScript & j Query) | Austin, Texas | Host Gator |
Free Webinar: Hadoop
How to Build an Optimal Hadoop Cluster to Store and Maintain Unlimited Amounts of Data Using Microservers
Realizing the promise of Apache® Hadoop® requires the effective deployment of compute, memory, storage and networking to achieve optimal results. With its flexibility and multitude of options, it is easy to over or under provision the server infrastructure, resulting in poor performance and high TCO. Join us for an in depth, technical discussion with industry experts from leading Hadoop and server companies who will provide insights into the key considerations for designing and deploying an optimal Hadoop cluster.
Some of key questions to be discussed are:
- What is the “typical” Hadoop cluster and what should be installed on the different machine types?
- Why should you consider the typical workload patterns when making your hardware decisions?
- Are all microservers created equal for Hadoop deployments?
- How do I plan for expansion if I require more compute, memory, storage or networking?




Comments
The text of this book is avai
The text of this book is available at http://www.emacs.uniyar.ac.ru/doc/em24h/index.htm
Teach Yourself Emacs in 24 Hours
I bought this book and while I have to say it is very helpful I found some of the topics to be confusing or incomplete. For example in the part about setting up emacs for MS Windows there is a discussion of various places to put the equivalent of a unix "home" directory, but missing are the "magic" instructions to make NTEmacs actually look in any directory except c:\ for it's startup files.
Also there is a great reliance on having installed the lisp files on the CD to get even the most simple customisation (e.g. changing the font permanently in NTEmacs). This is OK if you still have a working copy of the CD, but the site listed in the book and both of the sites listed in Ralph Krause's review are long dead, so you can't get a copy of the lisp needed files, even though they are GPLed.
Worse some of the instructions don't actually work, including the very first lisp example in the book (how to detect different versions of Emacs)!
In short this book is a sterling effort by the author, but a shitful effort from the editor and publisher, who seem to have abandoned this title, if not this mortal realm, long ago.