Emacs Quotes

I don’t have anything interesting to say today so here’s some amusing Emacs quotes for your entertainment. I especially like Sean McGrathi’s.

Posted in General | Tagged | Leave a comment

An Overview of ASCII

Last Wednesday Eric Raymond (ESR) wrote a blog post noticing that younger engineers no longer understood the ASCII code set at the bit level and didn’t understand what many of the non-printable characters were for. He speculated that this was a result of the demise of RS-232 terminals in the early 1990s. When the traditional (not USB) serial interface all but disappeared the meaning of most of those special characters and how to generate them from the keyboard were no longer core knowledge that every hacker had to know.

As a followup to the post, ESR has written a short article on Things Every Hacker Once Knew that tells the story of what the various special characters were used for and describes their hardware context. If you don’t have a bunch of gender benders and a breakout box gathering dust in your (hardware) toolkit, you probably don’t know most of what’s in the article and you should definitely give it a read. Not only is it interesting, it’s a part of our culture and we should all be at least dimly aware of it.

As ESR says, although there are a few vestiges of things like the DLE character still being used mostly it’s not something today’s engineer will need to know. Still, it is worth knowing if only so you don’t have a moment like this

Posted in General | Tagged | 1 Comment

Zamansky 29: Using Shell and Eshell

Mike Zamansky has posted the latest video in his Using Emacs series. This time it’s about using shell and eshell from within Emacs. Like Zamansky, I’m an old time command line user—I even used the MKS toolkit—and before Emacs I did almost all my work directly in the shell. Since coming to Emacs, I’ve tried to train myself to use the shell from within Emacs. I had only partial success until I started using eshell.

While there are still some gotchas with eshell, it mostly works fine and, indeed, is often superior to a plain shell. Most of the problems involve things like cursor addressing but even there eshell can do the right thing by running the application in a term buffer. See this post from October for the details.

As Zamansky notes in his video, an advantage of eshell is that you can run Emacs command directly from the “command line.” There are other advantages as well. Try cding into a remote machine as Zamansky demonstrates and you’ll be convinced. Mickey, of course, has all the details in his excellent Mastering Eshell article. If you’re an eshell user, or would like to become one, you MUST read his article. I reread it periodically and I always learn something new.

Zamansky’s video is 8 and a half minutes so it’s perfect for a coffee break.

Posted in General | Tagged | Leave a comment

Open Offices are Bad for You

Who knew? It turns out, though, that besides the noise and risk of contagion, open offices are also bad for your memory. Research shows that we retain more information when we sit in one spot. That’s because ideas and details become associated with surrounding and often ideas and details cannot be recalled outside of those surroundings.

There’s no longer any excuse for open offices. The research is clear: they’re harmful to productivity, the health and well being of employees, and even communication between them (the most often cited “advantage” of open offices). My suspicion is that they’ve now become a fad that everyone follows because the other guys do. “The startup next door has an open office and so does Facebook; we better have one too.” Any amount of checking into the current research on the would show any manager, no matter how pointy his hair, that they’re a bad idea.

On a related issue, David Tate takes a poleaxe to the usual reasons offered for why you can’t work from home. Again, it’s mostly superstition and ignorance but it’s depressingly wide spread.

Posted in General | Tagged , | Leave a comment

Org Mode 9.0.4

Bastien announced a new version of Org Mode.

At the time I posted this, it had not yet appeared in Melpa.

Posted in General | Tagged , | Leave a comment

Tutorial on Building Reveal.js Slides with Org Mode

Scott Nesbitt has posted a very useful tutorial on making Reveal.js slides with Org mode. There are lots of Reveal.js tutorials, of course, including the excellent video from Mike Zamansky but what sets Nesbitt’s tutorial apart is that he approaches the subject from the point of view of someone who doesn’t have Org mode experience. Actually, he doesn’t even assume the reader has Emacs experience but he offers no help there other than to recommend Mickey’s book.

If we stipulate that the reader has an elementary knowledge of Emacs, the tutorial is self contained. Nesbitt shows every step you need to take to put together a slide deck. My only complaint is that he doesn’t provide a complete Org file for a simple two or three slide example.

Everyone says they hate slide decks but everyone uses them. Given that if you gives talks you’re going to need slides, Reveal.js is a nice way of producing them. An added advantage is that the slides don’t require any special presentation software other than a browser. The other nice thing is that it’s very easy to get started and if you follow Nesbitt’s tutorial, there’s virtually no learning curve.

Posted in General | Tagged , | 2 Comments

Saving Keystrokes When Invoking the Agenda

Ben Maughan spent a bit of time getting his Org agenda view just the way he liked it. Evidently, he is more efficient and/or busier than I am because he wanted to shorten the number of keys in the shortcut to invoke the agenda. That turns out to be easy to do as he shows demonstrates at the link.

If you invoke the agenda a lot and are looking for a way to speed things up, be sure to take a look at Maughan’s post.

Posted in General | Tagged , | Leave a comment

The Right Dictionary

A couple of years ago, I wrote about James Somers’ beautiful post on why you are probably using the wrong dictionary. The right dictionary, it turns out, is the 1913 + 1828 Webster’s Revised Unabridged Dictionary. You can read my original post and Somers’ to find out why that’s true.

Sadly, the University of Chicago site that those posts mentioned and that the DuckDuckGo bang shortcut !webster took you to is now offline. It’s even disappeared from DNS so I’m losing hope that it will return. I emailed the responsible folks but have not heard back from them. All we can do is check back with the site once in a while.

Well, actually we can do more. Marcin Borkowski (mbork) was a user of the dictionary and displeased with its demise. Fortunately, he’s figured out a way to download the dictionary and read the StarDict format that it’s encoded in. Even better, he’s figured out how to read it from Emacs. It’s pretty straightforward. You just download the files, unzip them into ~/.stardict/dic, install the sdcv application, and finally install the sdcv-mode package for Emacs. Even if you’re not an Emacs user you can use sdcv as a command line tool.

The only hassle is sdcv. If you’re on a Mac like me it’s hard to get compiled. That’s most likely because I’m using Clang rather than gcc. Happily it’s available with Homebrew and the link even tells you how to load Homebrew if you don’t already have it.

If I learn anything more about the original site, I’ll make a followup post. In the meantime, mbork’s solution is probably better because it’s integrated into Emacs and you have a local copy so you don’t have to worry about sites going offline. If you only occasionally use the dictionary and don’t want to bother loading a local copy, you can find sites offering the 1913 version. Here’s an example. I haven’t found a site offering both versions like the University of Chicago site did.

Posted in General | Tagged , | Leave a comment

Refining Spell Checking in Web-mode

Chen Bin posted some nice Elisp on how to make flyspell at little more useful when dealing with Web-mode buffers. The problem is that many tag elements fail the spell check and you get a lot of spurious misspelling warnings.

Chen’s code fixes this so that only appropriate parts of the HTML are checked. He also shows how to extend this to Javascipt as a way of pointing to ways of extending his methods to other modes. If you do a lot of work in Web-mode or you’re looking for a way of solving the same problem in some other mode, take a look at Chen’s code.

Posted in General | Tagged | Leave a comment

Another Workflow

Regular readers know that I’m fond of seeing other people’s workflows, especially those workflows centered around Emacs. Torstein Johansen has an interesting post on his workflow.

Johansen describes his hardware and OS environment (a Thinkpad with 2 external screens running Debian) and then his most used software. Like me, he mostly lives in either his browser or Emacs. He has one speed key to bring up a terminal but everything else is either started at boot time or started from the terminal as needed. I like the basic minimalism of his setup. The usual full set of applications are available for use when needed but his workflow and setup are centered around Emacs and the browser. Of course, he also has a virtual screen for chat applications and a music player, which he controls with shortcut keys.

If you, too, enjoy seeing how others get their work done, take a look at Johansen’s post. In particular, if you’re running Linux you may like his ideas about key shortcuts.

Posted in General | Tagged | Leave a comment