More PDF Tool Tips

If you liked my previous post on PDF-tools tips from Ben Maughan and Marcin Borkowski, you should take a look at Maughan’s followup post that includes a few more tips.

If you work with PDFs a lot, it’s definitely worthwhile spending a bit of time honing your workflow. It will pay dividends in reduced friction. As I wrote in that previous post, the more I use PDF-tools, the more I like them.

Posted in General | Tagged | Leave a comment

Ivy Selection Algorithms

Today I learned that a capability I’ve often wished for already exists. As I’ve written many times, I use the Ivy/Counsel/Swiper package for my searching and selection needs. Although it took me a day or two to get used to it, I’ve come to really like the default matching algorithm which essentially turns a space into “.*”. Now I consider it a cache miss if I have to actually enter regex notation.

Ivy supports several matching algorithms and you can choose the one you want to use with each application, such as Swiper. One such algorithm is to search for a target that contains two or more terms without regard to the order they occur in. My use case for that is searching for an old blog post. I’d sometimes like to search for several words without regard to their order. That’s useful when I can remember two or three terms in the post but not the order they appeared in.

Sadly, though, there was no way to choose an algorithm on-the-fly and I normally want to use the default algorithm. Happily abo-abo fixed that problem back in July. You can now cycle through the various matching algorithms. The details are in this Emacs Stack Exchange question. This is a real win for me and makes Swiper and Ivy even more useful for my workflow.

If you aren’t already using Ivy/Counsel/Swiper, you’re missing out and really should give it a try. As I’ve said before, it’s my most useful package.

Posted in General | Tagged | Leave a comment

Xah Lee on Long Term Emacs Productivity

Xah Lee has a nice post on obtaining Long Term Emacs Productivity. It’s 7 tips to help you be more productive with Emacs. Doubtless anyone who is not a complete n00b will disagree with some of his suggestions. I disagree with some of them. The thing is, we probably disagree on different things so the post is a useful thought provoker even if you ultimately dismiss some of its suggestions.

For example, Lee is very interested in ergonomics and has extensively investigated the (for him) optimal key bindings. I, on the other hand, generally avoid remapping keys to existing commands. That probably started when I was a n00b and, not understanding how Emacs eventually becomes an editor customized for each user, avoided remapping commands so that the experience would be the same no matter whose Emacs I was using. Several years on I no longer suffer under that delusion and—even though I still don’t remap existing command’s key sequences—I would find it painful if not impossible to use someone else’s Emacs productively.

Lee likes and recommends ido-mode while I vastly prefer the ivy, swiper, counsel package. Again, this is simply a matter of preference; there is no “correct” answer. I was an ido user before I switched to ivy and liked it a lot but for me the ivy package is probably my biggest productivity booster.

Those are my two quibbles with Lee’s tips. Yours will probably differ. Regardless, the post is worth reading for the ideas it presents. My only addition would be the idea of navigation by searching. That starts with Steve Yegge’s suggestion to use incremental search for navigation but also includes using the excellent avy library (the successor to ace-jump) for finer grained and quicker navigation.

Posted in General | Tagged | 7 Comments

Pandoc 2

There’s a new Pandoc available that has a ton of new features and improvements. You can see the (substantial) list of new features in the Pandoc 2.0 release notes. There’s also a Pandoc 2.0.1 release with a few bug fixes and cleanups.

There are many improvements in the processing of Org files—both reading and writing. If you’re writing in Org you can use ox-pandoc to publish your document in a large number of formats right from Emacs. Even if ox-pandoc doesn’t support your desired format, you can still call Pandoc directly to output in any of the Pandoc supported formats.

Follow the Pandoc 2.0.1 link to get the the latest binary for your platform. If you have Haskell installed and want to build it yourself, there’s also source code available.

Posted in General | Tagged , | 1 Comment

Autocomplete Boilerplate

If you haven’t already, be sure to take a look at Bin Chen’s EACL package. The idea is that if you have some boilerplate in a project, you can type the first few characters and EACL will grep the project looking for matches. It presents the candidates in the usual Ivy way and will insert the candidate of your choice.

The project is available on Melpa. You can see an automated gif of it in action at Chen’s post or the project’s GitHub page.

Posted in General | Tagged | Leave a comment

A New Generation of TOR Onion Services

The TOR project has announced a new generation of Onion services. The project has been ongoing for four years and just released its alpha version. See here for the changes and how to try out the new system.

The new version is intended to improve the security of onion services. It features new crypto algorithms and a new protocol. These changes are intended to prevent data leakage and reduce the attack surface.

The project is looking for coders and testers so if you want to be part of this, follow the link to find out how you can help. If you’re not a coder but still want to help, they also welcome donations.

Posted in General | Tagged | Leave a comment

Bloat? What Bloat?

Via Karl Voit:

Posted in General | Tagged | Leave a comment

Emacs in the Humanities

I stumbled across a link to this post in the Emacs reddit and ignored it but curiosity go the better of me so I went back to it. Like most Irreal readers (I assume) the label nerd or geek can appropriately be applied to me so the question, “Is anybody using emacs in the humanities or divinity?” wouldn’t normally interest me. Except for the Emacs part.

In any event, I did follow the link and found a pretty interesting discussion from folks in the humanities on how they are using Emacs—and often AUCTeX and Org mode—for their work and writing. It’s a tribute to the power and usefulness of Emacs that people so far removed from the technical world that most of us live in nevertheless find it useful and worth the pain of learning it.

These folks deserve our admiration not only for taking the trouble to learn Emacs but also for enduring the friction it adds to their everyday work. Remember that Word stands supreme in the humanities and if you’re using Emacs you have to worry about converting your work to a form that your colleagues can read and work with. As for writing \(\LaTeX\) with Word: shudder.

Posted in General | Tagged | 3 Comments

Association List Library

Back in August, I wrote about a series of libraries for handling hash tables and key/value pairs, and a general library for handling hash tables, alists, and arrays. A little later I came across another library for handling alists by Troy Pracy but forgot to write about it until now.

You might think that there’s not much required for alists other than assoc and assq but Pracy provides a large number of functions that make some of the routine coding associated (heh) with alists a bit easier. The list includes creating, filtering, and mapping functions. Take a look at the README for the complete list and documentation on each.

If you prefer to use libraries for handling data structures and none of the other libraries we’ve discussed meets your needs, perhaps you’ll find Pracy’s useful.

Posted in General | Tagged , | Leave a comment

Emphasize LaTeX Code in an Org Buffer

A couple of months ago, Ben Maughan over at Pragmatic Emacs posted a tip that I pretty much ignored at the time but have since come to embrace. The tip is simple: it’s how to make \(\LaTeX\) markup stand out a bit more in an Org buffer. It doesn’t seem like much but it turns out to be nice for quickly spotting \(\LaTeX\) markup in an Org file.

As usual, the facility is more flexible than just dealing with \(\LaTeX\). You can highlight any of \(\LaTeX\) markup, super- and subscripts, or entities. It’s just a variable taking a list of what you want to highlight so it’s easy to experiment with it and just turn it off (by setting it to nil) if you decide you don’t like it.

Right now, I have it set to highlight \(\LaTeX\) and entities. Highlighting entities makes it easy to pick out UTF-8 characters, which is sometimes useful. In the future, I’ll have to remember not to ignore tips from Maughan.

Posted in General | Tagged , | 1 Comment