Update

As far as I can tell, the problem is at my hosting provider’s end. I’ve opened a ticket and they are working to resolve the issue. It’s clear, however, that today’s post will have to be postponed until I and my hosting provider figure out what’s going on.

Posted in Administrivia | Leave a comment

Trouble Publishing

I’m having trouble pushing my latest post to Irreal. I’m investigating the problem and will publish the post as soon as I can.

Posted in Administrivia, Blogging | Leave a comment

Reasons to Switch to Emacs

The other day I came across this video by Luke Smith challenging the rest of the world to convince him to switch from Vim to Emacs. He was very specific: he wanted videos showing Emacs in action that offer cogent arguments for abandoning Vim and moving to Emacs. He’s not interested in written arguments; he wants a video to convince him.

My immediate reaction was, “Are you kidding me?” You want me to spend a couple of hours making a video so you don’t have to bother researching the issue yourself? The whole thing reminded me of that HomeAdvisor commercial where a couple wants their neighbors to find them a contractor, do a background check, and book them an appointment.

Long time readers know that, even though I’m a hardcore believer in the Emacs way, I used Vim for many years and understand that it’s the right editor for many people. Whether to choose Emacs or Vim depends on your workflow and mindset. It’s not something someone else can decide for you, you have to try both editors out and decide which is best for you.

There are, however, folks less curmudgeonly than me who did offer videos showing why they considered Emacs the right choice. Dawid Eckert (Uncle Dave) provided not one but two videos. Uncle Dave focused mainly on how Emacs makes editing and text manipulation easy and stressed Emacs’ extensibility. He showed how it’s easy to add an editing function that he misses from Vim.

JimKD also offered a video. He stressed writing in \(\mathrm{\LaTeX}\) —important to Smith because he’s getting ready to write his thesis—and the joys of Org mode tables.

Those videos are all great and worth watching for anyone who is or wants to become an Emacs user. I especially liked seeing exwm in action in Uncle Dave’s videos. I wish there was something similar for the Mac.

The final irony is that what Smith wants was already available. If you want to see Emacs in action and some of the excellent packages available for it, Mike Zamansky’s Using Emacs Series is ideal: it’s got several relatively short videos that demonstrates the power of Emacs. If you’re interested in what Org mode can do, Rainer König’s OrgMode tutorial videos cover most of Org’s capabilities. All this is available for the watching; all you have to do is look for them. Or read about them in tweets and blogs.

Posted in General | Tagged | Leave a comment

A Reproducible Research Toolkit

José A. Alonso’s tweet:

led me to this paper by Vikas Rawal. It’s a excellent introduction to using Emacs and Org mode as a toolkit for writing research papers in a reproducible research way. If you want to write papers in Org mode, this is a very valuable resource.

After reading Rawal’s paper, I vaguely recalled something similar so I did a search for his name in my Irreal archives. Sure enough, I had written about the GitHub repository for this work in a post from a couple of years ago. Reading the PDF version of the paper seems like a different experience so I recommend taking a look even if you’ve read my previous post. Having both the finished document and the Org mode source helps to understand some of the features he is demonstrating.

Posted in General | Tagged , | Leave a comment

A Nice Mu4e Configuration

Steckerhalter tweets about configuring his mu4e configuration for multiple accounts.

He even wrote a macro to make things easier. Follow the link on the tweet to see the macro and his his configuration.

Getting mu4e installed and working can be trickly—although I found the mbsync configuration the main problem—but the result is worth the trouble.

Posted in General | Tagged , | Leave a comment

Org Spreadsheet Cheat Sheet

Yesterday, I pointed to Marcin Borkowski’s tip for easily entering formulae in Org mode tables. For most of us, Org tables provide all the spreadsheet functionality we need. I don’t remember the last time I fired up an actual spreadsheet.

The other day, I found this cheat sheet for using Org tables as a spreadsheet. It by no means includes everything or replaces the manual but it’s handy to keep around while you’re learning the basics. If you work with tabular data and want to make some elementary calculations on it, a spreadsheet is the natural solution. But in most cases, using an Org table is a better solution. It’s better because you get all the advantages of Org mode, including plain text, powerful export functions, and the ability to work in a literate way.

I use this functionality all the time and without it, my workflow would be considerably less efficient. Try it and see. Once you start using Org tables as spreadsheets, you’ll keep finding new uses for them.

Posted in General | Tagged , | Leave a comment

Setting an Org Table Formula

Marcin Borkowski has a useful reminder on how to easily assign a formula to an Org table cell or column. If you use the Org spreadsheet functionality, take a look.

Posted in General | Tagged , | Leave a comment

Video on Searching with Swiper

Those of you who hang around Irreal know that I’m a huge fan of the Ivy/Counsel/Swiper suite. It is, by far, the most important package I have installed1 and has improved my workflow in a major way.

Uncle Dave has a short video on searching with Swiper that shows some Swiper basics. My only problem with the video is that it doesn’t cover some of the best features of Swiper. One example of those features is the way that Swiper does a sort of “automatic regex” searching. A space in the search string is treated as .* so one two will search for any string that starts with “one” and ends with “two”. That sounds a bit odd but turns out to be extraordinarily useful. Once you get used to it, you’ll wonder how you ever lived without it.

Another feature that I use all the time is being able to pop up an occur buffer containing each of the candidate search targets. There’s lots more. Swiper is one of a series of utilities that use the Ivy library to handle its completion features. When you install Swiper, you get all the rest of the functionality too. Check out the Ivy manual to see what else Swiper can do and to investigate the other great functionality that Ivy brings you. Try it out; you won’t, I promise, be sorry.

The video is just a few seconds over 4 minutes so you shouldn’t have a problem finding time for it.

Footnotes:

1

Arguably Org Mode might hold that position but Org is now part of Emacs core even though I keep mine updated through the package system.

Posted in General | Tagged | Leave a comment

Using Multiple Editors

I saw this tweet:

and recoiled in horror. It’s not that I think Mattacchione is doing something wrong or that I doubt he’s a good developer, it’s just that I know I couldn’t work that way.

I appreciate the idea of picking the best tool for the task at hand and it may be that Mattacchione’s choices are exactly that but I keep thinking, “How in the world does he cope with muscle memory?” I’ve been using Emacs for a decade and before that I used Vi/Vim for even longer. Only recently have I stopped doing things like using Ctrl+k to scroll back a line. That’s the result of using only two editors, not even at the same time, over several decades.

I’m sure all this says something uncomplimentary about my flexibility but it is, nevertheless, reality for me. I don’t know what I’d do if I were working in something like Java that requires—I’ve heard—an IDE to use productively.

Anyway, the tweet got me wondering about other people. Do you, like Mattacchione, use several different editors depending on what you’re doing or do you, like me, stick with one editor for all your text-based work? If you use more than one editor, do you find that muscle memory gets in the way? If you have opinions on the matter, leave a comment.

Posted in General | Tagged | 7 Comments

Literate Benchmarking

I’ve written several posts that celebrate Org mode for its ability to document various tasks in a literate way, execute the code, and gather the results. The nice thing about this process is that you have everything together:

  • Documentation of the task;
  • Code to perform the task;
  • Results from running the code.

They’re all in a single file that makes it easy to share and reproduce.

My favorite example of this is Howard Abrams’ post and video on Literate DevOps. His presentation is specialized to DevOps but the techniques he uses are easily adaptable to other types of tasks.

Alex Bennée has a nice example of using these techniques for running benchmarks. The problems with running benchmarks are similar to those encountered in DevOps so the same sort of “literate” solution can be applied. The post doesn’t show the entire benchmarking file but Bennée does provide a pointer to it. The file is on GitHub and therefore gets reformatted so if you want to see what’s really happening, click on the Raw button to see the actual Org file.

If you’ve been a developer for a while, your tendency—or at least mine—is to just run the necessary commands from the command line and be done with it. That’s quick and easy but now you have to remember exactly what you did to share the results or to repeat the task at a later date. I’ve been making a concerted effort to slow down and do these tasks in a literate fashion using Org mode. The extra time and effort pay off in the end and you can even link to the file from your lab notebook—you are keeping one, right?—so that everything is documented.

Posted in General | Tagged , | Leave a comment