How To Increase Your Typing Speed

If you’re a developer, Steve Yegge has some advice: learn to type. Yegge’s posts are always amusing and instructive so if you haven’t already seen his rant on developers who don’t touch type, be sure to take a look.

But, you say, “I already know how to type.” Well then, Ali Abdaal also has some advice: learn to type fast. Abdaal is a really fast typist and describes it as his “superpower.” It turns out that it’s not that hard to increase your speed. Abdaal says that if you spend 10 minutes a day practicing, your speed will increase dramatically.

But why should you bother and what’s the best way to practice? Abdaal says that merely increasing your typing speed can lead to a two times increase in your productivity. At least that’s what he’s found. Yegge’s post suggests the same is true for developers. Of course, Abdaal’s best typing speed is 155 words/minute so if your speed is the more typical 45 words/minute, you have some work to do.

Not to worry though, Abdaal has 10 steps to help you improve. Some of them, like “learn keyboard shortcuts” are givens for people in our business. Emacs and Vim users, in particular, are all about using keyboard shortcuts to speed their typing and editing. Other suggestions are obvious. “Try not to look at the keyboard” is an example of that. Some are not at all obvious: “Make noise when you’re typing.” Lovers of mechanical keyboards will understand that suggestion. Abdaal says that he’s found that a loud keyboard seems to help his typing performance.

His most useful suggestion, I think, is to use sites like 10fastfingers to practice and improve your speed. Abdaal likes 10fastfingers best but also mentions keybr.

Watch the video to see his other suggestions and watch 10fastfingers and keybr in action. The video is 15 minutes, 32 seconds so you’ll probably have to schedule some time. Regardless, watch the video and start working on getting your typing up to speed.

Posted in General | Tagged | Leave a comment

Mickey on Emacs 27.1

The other day, I wrote about Bozhidar Batsov’s TL;DR take on the Emacs 27.1 NEWS file. Batsov’s post hit the highlights but if you want to know everything that’s new, you have to go over the NEWS file itself. Happily, Mickey Petersen has provided his traditional exegesis of the NEWS file. The NEWS file is already quite long so with the added commentary, Petersen’s post is even longer but I find it easier to read than the plain NEWS file.

It’s incredible how much the developers put into this release. A lot of it are things that are mostly of interest to developers rather than end users but even for the average emacser there are a lot of improvements. There are, for instance, some changes that provides better control of the startup process.

Petersen does a good job of explaining what the portable dumper is and why it’s necessary. This has been a long-running problem since the glibc maintainers said they didn’t want to support the capability any longer because Emacs was the only software that used it.

There’s much, much more than I’ve mentioned so you really should read it yourself. A nice thing about Petersen’s post is that it explains why some seemingly uninteresting changes are really a bigger deal for the average user than they appear. It’s a long read but worth going over if you’re a serious Emacs user. It’s divided into sections so you can read it piece-by-piece if you like.

Posted in General | Tagged | Leave a comment

Running Messaging Apps from Emacs

Alain Lafon, who, as I’ve said before, is an Emacs master, has a very interesting post on Emacs and messaging apps such as Skype and Slack and many others. One of the major problems with them from his point of view is that their text entering facilities are terrible. If you’re going to be entering a lot of text—or even a little, actually—the last thing you want is a brain-dead interface with unfamiliar keybindings for editing. What we Emacsers really want is to be able to enter text in Emacs with its powerful and familiar editing commands.

His idea is to link these apps to IRC—and hence to ERC—and deal with them through Emacs. The way to do that is to use BitlBee and libpurple to act as a bridge to IRC. BitlBee is the bridge between IRC and messaging apps and libpurple provides the core of IM apps, dealing with the IM protocols and other low level details. Follow the links if you want more information.

Although you can install BitlBee and libpurple directly, Lafon prefers to run them from a Docker image. His post gives detailed instructions for setting up the Docker image. Once you’ve got things set up with either method, you can conduct your conversations with the IRC client of your choice. If you pick one of the Emacs IRC clients, you’ve moved another function—or perhaps several other functions—inside Emacs.

Posted in General | Tagged | Leave a comment

Video: Emacs Tools for Writers

Derek Taylor has a nice video that talks about Emacs tools for writers. It’s a nice recapitulation of a post by Scott Nesbitt that I wrote about back in May of 2018. Taylor discusses pretty much the same tools as Nesbitt but since it’s a video you get to see them in action. The tools the video considers are:

  • Org-mode
  • Spell Checking with flyspell
  • Word counting with wc-mode
  • Grammar checking with writegood-mode
  • Distraction free writing with writeroom-mode

The word counting package, wc-mode, is a little confusing because there are two packages with that name. Taylor appears to be using this one, which doesn’t seem much different from the built-in count-words command. I prefer to use Benjamin Beckwith’s version, which has a more flexible display and provides a running count. If you’re doing almost any type of (non-coding) writing, you probably need a word counting function.

I’ve never felt the need for a “blank page” writing environment but if you’re the type of writer who doesn’t want to see anything on the screen except the words you write, you should definitely consider writeroom-mode. It gives you a screen with no status bars or other distractions and has the text nicely centered on the screen.

Finally, if you’re pining for your eighth grade English teacher’s nagging about grammar, you can try writegood-mode. I definitely don’t want that but it does have some functions that gauge the “readability” of your prose.

The video is just over 12 minutes—a little less if you skip the shout outs at the end—so plan accordingly. If you use Emacs for writing and aren’t familiar with these tools, it’s definitely something you should watch.

Posted in General | Tagged , | Leave a comment

Bozhidar Batsov on Emacs 27.1

For those of you who find NEWS files a little bit TL;DR, Bozhidar Batsov has a nice post that discusses the highlights of the Emacs 27.1 release. It’s a good way to see what’s new and important in the release. If you haven’t upgraded yet, the post should be helpful in your evaluation of the pros and cons.

Batsov feels that most people will find the JSON parsing and associated LSP support the best part of the update. I like support for arbitrary sized integers and the use of lexical binding by default the most. That’s probably because I hardly ever interact with JSON so I’m sure my preferences are a minority opinion.

I’m at one with Batsov in being glad that the developers can now devote all their energies to Emacs 28 with its native compilation. That, I think, will be one of the most significant changes to Emacs in years. It will be much like SBCL Common Lisp and other major Lisp compilers: write in Lisp, have it compiled to native code, and run at speed.

In the mean time, Emacs 27.1 brings many outstanding improvements that will enhance the Emacs experience. These are truly exciting times to be an Emacs user.

Posted in General | Tagged | Leave a comment

Steve Yegge on Emacs and Google

It’s not Friday but Steve Yegge offers us some juicy red meat with a splendid rant on Google’s constant deprecation of their APIs. His main thesis is that backward compatibility is the hallmark of successful software systems that last for decades. He explains in detail how Google fails to provide this and offloads the cost of keeping things running to their customers. It’s a great and entertaining diatribe and you should definitely spend a few minutes reading it.

The reason this is of interest to Irreal—other than that any post by Yegge is worthwhile—is that he proffers Emacs and its developers as an example of doing things right. Emacs, he says, does have the notion of obsolescence but for Emacs that means the old API is inferior in some way and a new, better one has taken its place but that the old API is still available. Your old software keeps working even when Emacs provides a better way of doing things. As Yegge puts it,

“[W]hen [Emacs developers] make an API obsolete, they are basically saying: “You really shouldn’t use this approach, because even though it works, it suffers from various deficiencies which we enumerate here. But in the end it’s your call.”

He also notes that Emacs code he wrote in 1995 is still working.

As a final note, I offer his description of Emacs, which alone makes the post worth reading:

a sort of hybrid between Windows Notepad, a monolithic-kernel operating system, and the International Space Station. It’s a bit tricky to explain, but in a nutshell, Emacs is a platform written in 1976 (yes, almost half a century ago) for writing software to make you more productive, masquerading as a text editor.

Good stuff.

Posted in General | Tagged , | Leave a comment

RMF: Emacs and Vim Are Not Line Editors

Ed is a line editor. QED is a line editor. Even Edlin is a line editor. Vim and Emacs are not: they’re visual or full-screen editors.

This Red Meat Friday offering may not exercise most of you but I find it annoying that people offering advice on technical job hunting can’t get a fundamental distinction like this correct.

Posted in General | Tagged | Leave a comment

Screenshots in Emacs on macOS

Diego Zamboni has a post that describes how to add a screenshot to an Org buffer. The post considers the problem from the point of view of macOS but is easily adapted to other operating systems. He uses the org-download package, which can take screenshots, but he doesn’t use that feature. Zamboni prefers to take the screenshot from outside Emacs and store it in the clipboard. From there he can use org-download to import in into his document.

I seldom need to put a screenshot in a document and if I did, I’d probably just use org-download in the standard way. Still, I imagine it’s pretty easy to make a case for taking the screenshot outside of Emacs. If you have that use case, Zamboni’s post is a useful way to make things as easy as possible.

Posted in General | Tagged , | Leave a comment

PDFs and the Web

The Nielsen Norman Group has an interesting article on PDFs and the Web and why they should never be read online. The article says that the group first reported this conclusion 20 years ago and nothing that’s happened in the mean time has changed their minds.

I was really surprised by their vehemence. They describe PDFs as “unfit for human consumption” and give a long list of reasons why this is so. Their main point is not that PDFs, per se, are bad but that they should never be used when you could use a Web page instead.

I’ve heard that sentiment expressed before and didn’t understand it then either. I’m not arguing that you should build a Web site out of PDFs—of course—but it’s also not true that PDFs have no place on the Web. Some examples: a whole or part of a book, a legal document, formal reports, and theses. I’m sure there are others.

I also don’t think their reasons are well founded. For instance, they claim that PDFs are (very) slow to load and give an example of a restaurant menu that took 3 minutes to load. I’ve loaded entire books in just a few seconds and most PDFs that I’ve looked at load faster than the HTML pages—with all their JavaScript and tracking scripts—that link to them. I don’t find their other reasons any more convincing.

Still, they say that users hate PDFs. That doesn’t sound right to me but maybe that’s because I don’t feel that way. Perhaps I’m wrong. What do you think?

Posted in General | Tagged | Leave a comment

Emacs 27.1 Has Been Released

That was speedy. After only two weeks since the release of the Emacs-27.1-RC1, the final 27.1 is available. I’m happy to say that this post is being written with it and I haven’t experienced any problems at all.

There’s a bunch of new changes—all documented in the NEWS file—but what I like the most is that Emacs Lisp finally has arbitrary precision integers. Your favorite new feature will probably differ.

As usual, thanks the Eli, John, Nico, and all the other developers who made this possible. These guys are really heroes, doing a lot of hard work for no pay. If you meet one of them IRL, be sure to buy them a beer.

Posted in General | Tagged | Leave a comment