Fun and Games

For those of you living in saner parts of the world who might not know, the Irreal International Headquarters are located in Tampa, Florida, which is recognized as the lightning capital of North America. Indeed, Tampa comes from an Indian word meaning “lightning.” Last night, Tampa was living up to its name with more severe than usual thunderstorms. About 10 PM our time, there was a strike right above our house that sounded more like a large gun than the usual thunder clap. Afterwards, all the TVs, cable boxes, and cable modem for the Internet were DOA. My trusty Apple WiFi router was clearly suffering but I hoped it was just unhappy about not seeing the network.

I spent all day today dealing with just trying to get the Internet up again. First I went to Spectrum to change out the modem. Everybody in Tampa was there doing the same thing and it took at LONG time just to talk to a representative. Once I did, though, it was only a couple of minutes to get a new modem.

Then home to plug in the new modem and get things going again. Sadly, the WiFi router refused to talk to the modem so it was off to Best Buy to get a new WiFi router. I’ve heard great things about the Eero routers and Best Buy did carry them. Of course, when I got there they were out of what I needed so I grabbed a Netgear router and went home to hook it up.

The horrors that followed would take a book to relate so I’ll merely say that after much hair rending and some occasional iffy language I did get the Internet back. I still have some configuration to do but at this point I’m too exhausted to do anything but whine in this post.

Right now, we’re having another storm but it isn’t as severe as yesterday’s. If you don’t hear from me tomorrow morning, you’ll know why.

Posted in General | Tagged | Leave a comment

The Speed of Offlineimap vs. Mbsync

One of the problems faced by those of us who have moved our email operations into Emacs is how to download the emails from the Imap server. There are two popular solutions: offlineimap and mbsync.

Offlineimap is written in Python and has the reputation of being slower than mbsync, which is a C application. Occasionally you see this disputed by someone offering largely anecdotal evidence that there’s no discernible difference. Such claims are invariably met with other anecdotal evidence that mbsync is indeed faster.

Charl Botha, who’s postings on email in Emacs have been excellent, decided to offer some actual scientific evidence so he ran some timing tests. The tests were all run on a single Windows 10 machine so they are by no means a definitive benchmark but they do offer much better information than we had before and probably generalize to the other platforms.

I’ll let you head over to Botha’s site to get the actual results but the TL;DR is that mbsync’s running time for a sync is about 65% that of offlineimap’s normal mode. Offlineimap, however, also has a quick mode that may not detect some message flag changes but that runs at about the same speed—a little faster, actually—as mbsync.

I don’t think any of this matters much. Generally the syncs are happening in the background so you don’t really notice them unless you’re forcing a sync. Even then, the times are not onerous. As for offlineimap’s quick mode, I think life is already uncertain enough without adding additional entropy to solve a problem that has another, better, solution.

I started off using offlineimap but changed to mbsync because I read reports of instability on offlineimap’s part. I never experienced that so it was probably just irrational paranoia. I don’t know if it’s still true—or ever was, for that matter—but I’ve been happy with mbsync and it was difficult enough to get configured that I have no desire to change.

Posted in General | Tagged | Leave a comment

The Gauntlet Is Thrown

I’ve written many times (1, 2, 3, 4, 5) about the open access wars between universities and academic publishers. In a move that almost certainly signals the beginning of the end game, the University of California has refused to renew its Elsevier subscriptions. This isn’t a small matter. Not only does UC spend 11 million dollars a year on Elsevier subscriptions but it is the largest producer of scholarly papers in the U.S. and Elsevier publishes about 18% of them. Other university consortia have done the same and as with UC, Elsevier has cut them off.

The UC, for its part, says that losing access to the journals will be inconvenient but only inconvenient. They already have plans in place to obtain needed papers through interlibrary loans and other means. They didn’t mention Sci-Hub and other illegal sources but you can bet that researchers will be making use of them. They probably already are because it’s easier to get a paper from them even if you have legal access.

The next step would be for the UC to discourage publication in Elsevier journals. No one’s said they’re going to do that but many researchers are already refusing to publish in their journals and the movement appears to be growing.

Elsevier and the other publishers have had a free ride for a long time. Academics write the papers, edit them, and referee them and the publishers then charge them for access to their own work. The UC’s actions are hopeful signs that that disgraceful situation is coming to an end.

Posted in General | Tagged | Leave a comment

Text Based Email Clients

Many people can’t imagine life without a shiny, GUI-based email client. The idea of using a text based client would never occur to them and some probably don’t even know there are such things. Others of us don’t want to waste our time clicking around a GUI app or Web Email page. We like doing things from the keyboard and, if you’re a hardcore Emacser, handling our email from within our editor.

Shreyas Ragavan is in the latter group and has a very nice post on why he thinks text based clients are the best solution. He had three email accounts and wanted to handle them in a unified way. His first step was the get a paid Fastmail account and forward his other accounts through it. That makes dealing with email from separate accounts much easier. I do something similar and have my email client (mu4e) set to respond with a From: address that matches the To: address of the original email.

Ragavan, like me, uses mu/mu4e. He finds that it integrates very well with his workflow. If he’s working in Emacs on some other task and finds he needs to dash off a quick email, mu4e is only a couple of keystrokes away. If he wants to turn an email into a task, that too is only a few keystrokes away. And, of course, he avoids the context switch that invoking a separate email client involves.

Like Ragavan, I love using mu4e. It makes working with email easier, keeps me in Emacs, and I can easily turn an email into an actionable task or put a link to an email into any of my Org files.

Posted in General | Tagged , | Leave a comment

Update to Writing a Thesis With Org Mode

Last year I wrote about Daniel Gomez’s post on writing a PhD thesis with Org-mode. Gomez’s post was an excellent exposition of the workflow that he used to write his thesis using Org. One of the most useful features was how he handled his “research chapters,” which had already been submitted to journals for publication. The journals, of course, had their own formatting requirements and some content in the journal article was not appropriate for the thesis (and vice versa).

Gomez put together a framework to handle all these—and other—issues that he described in his post. He did not, however, include the framework itself, although he did say he was considering making a repository for it. Happily, he has done just that and made it available on GitHub.

Formatting content for a Thesis suffers from the same problems that formatting it for a journal does: every school—indeed, every department—has its own rules and standards rigidly enforced by a little old lady in the graduate school who can hold up acceptance of your thesis until those standards are satisfied. It is, therefore, impossible to provide a single framework that will work for everyone, everywhere but you can take a framework such as Gomez’s and tweak it to work for your situation. Mostly that’s going to involve choosing the proper LaTeX class for your thesis. Gomez uses the mimosis class but says everything will probably work with other classes.

If you’re getting ready to write your thesis and would like to do it in Org-mode, be sure to take a look at Gomez’s original post and the framework itself. Even if you don’t use it, there are plenty of good ideas to make the mechanics of the writing easier.

Posted in General | Tagged , | Leave a comment

Is Emacs an Editor Framework?

Over at the Emacs sub-reddit, yep808 says that he thinks of Emacs not as an editor but as an editor framework that allows you to build the editor you really want. He asks if others share this view. It is, of course, a widely held perspective but as Irreal oldtimers know, not one that I think is precisely accurate.

My view is neatly captured by rhabarba’s comment which posits that, “GNU Emacs is a Lisp machine emulator which can (but does not have to) start a text editor application by default.” I’ve long held that the real power of Emacs comes from that fact: that Emacs is, in fact, a light-weight Lisp Machine.

Sadly, it’s nowhere nearly as powerful (a software system) as the original Lisp Machines but it does allow us to do all sorts of non-editing things like using it as an RSS reader, or music player, or Email client, or any number of other things. And, of course, we can easily build our own applications in Emacs Lisp.

It might seem as if it doesn’t matter how you view Emacs but I believe thinking of it as a Lisp Machine has a definite benefit: it encourages the view that Emacs is a programmable environment in which you can build all sorts of applications that are only peripherally, if at all, related to text editing. Once you adopt that point of view, you can start really tapping into the power of Emacs by writing code to solve your own problems.

Posted in General | Tagged | Leave a comment

Long Lines in Emacs

One of the (legitimate) complaints about Emacs is that it doesn’t do very well with excessively long lines. Happily, this isn’t a problem for me. I write my blog posts with visual line mode enabled and fill disabled so Emacs sees each paragraph as a single line. Despite that, I never run into problems so it’s not a issue for many (or perhaps even most) users.

Still, if it does effect you, it can be a real annoyance: Emacs can take a considerable amount of time to render the text. Happily, help is on the way. A fix for the long lines problem has been added to the 27.1 Master branch. Some early 27.1 adopters are reporting excellent results with the fix.

If you follow the link at the top of reddit link above, you will see the documentation for the changes. It’s worth reading that to get a feel for how the changes will affect working with long lines.

This change should—but probably won’t—put to rest the notion that Emacs is an old, moribund editor still alive only because a few gray beards refuse to let go. It shows that development is strong and on-going and even long standing issues are being worked on and resolved.

Posted in General | Tagged | Leave a comment

Reverse i-search With Ivy

As I’ve written many times, one of my most used and useful packages is abo-abo’s Ivy/Counsel/Swiper suite. Happily, he is always tweaking it, making it better with each iteration. He latest tweak rethinks the reverse i-search command (Ctrl+r) used in Bash. The problem, he says, is that you have to invoke Ctrl+r repeatedly while you search for the command you want.

Abo-abo applies the Ivy UI to this action so that you get a list of possible completions that can narrowed in a fuzzy manner. That’s great for when you’re in shell mode but abo-abo, of course, brought the functionality back to Emacs itself so that you can, for instance, use it when opening a file with counsel-find-file.

The updates are already in Melpa so if you’re up-to-date with your packages, you can start using the functionality immediately. You’ll need to set a couple of key bindings but that’s all. Take a look at abo-abo’s post for the details of setting things up.

As I’ve written before—most recently here—if you haven’t yet tried Ivy/Counsel/Swiper, you owe it to yourself to give them a try. Different people like different things, of course, but it’s hard for me to see why anyone wouldn’t like the Ivy/Counsel/Swiper suite. Helm users have basically the same functionality but Ivy and friends are a bit lighter weight and at least one Helm user that I know of switched after trying Ivy out.

Posted in General | Tagged | Leave a comment

Internet Villains: Never Mind

Last Saturday, I wrote about the UK ISP trade group that decided to nominate Mozilla for the annual Internet Villain award for the crime of making DNS lookup safer and more secure. Of course, it also made it harder for the ISPs to spy on their users, build profiles of their interests, and redirect bad DNS requests to a page that tries to sell the mistaken domain. You can see why they were upset.

Don’t worry they say. It was all a joke. Just a little lighthearted humor. And besides, we’ve withdrawn the nomination even though we still think they’re guilty as hell. The Register decided on a bit of lighthearted humor of their own. They were merciless in their ridicule of the group, its behavior, and its inadequate apology. The takedown is worth reading even if you don’t care about the issues.

The piece begins with “The brain-dead Internet Service Providers Association (ISPA) has backtracked on its nomination of Mozilla as an ”internet villain“ for 2019 after online outcry.” and ends with “ISPA is another warm chunk of sloppy garbage floating in the toxic hell soup of the modern internet that’s made the 2010s so joyless and tiresome at times. Ah, oops, there we go again, being all light-hearted and that.”

Sandwiched between those two quotes is a takedown so devastating that I wouldn’t be entirely surprised to see the ISPA disband. Or at least change their name. One thing for sure, no one is going to take them seriously anymore.

Posted in General | Tagged | Leave a comment

The Cool Kids Don’t Use Emacs

I was a bit put off by this tweet:

The problem isn’t LIBRENEITOR, who is, after all, an enthusiastic Emacs user despite what the cool kids say or do. My problem is with the notion that the “cool kids” don’t use Emacs.

I don’t think it’s true. At least not for any reasonable definition of “cool kids.” But suppose it is true. Who, then, are the cool kids? I submit that by and large they are just like the cool kids in high school who ended up pumping gas after graduation. In modern terms, they are the hipsters. Or to put it a third way, they are unserious people.

If you’ve been around Irreal for a while, you know what tools I think serious developers prefer. Maybe that’s just because I’m an older developer and don’t know any better but it seems to me that people who wax rhapsodic about editors like VSCode or Atom always say the same thing: “It’s so much prettier than Emacs.” They never claim that they’re more powerful because, of course, they’re not, just that they’re prettier. I agree with Vivek Haldar: “why should you ever care how your editor looks, unless you’re trying to win a screenshot competition?

Sadly, even Emacs users can be affected by this silliness. Consider this reddit post bemoaning that out-of-the-box Emacs is so ugly. Notice that the complaint isn’t about lack of functionality; it’s about appearance. Experienced Emacs users get rid of as much appearance as they can. They disable the tool bar, the menus, and the scroll bar. They value usable screen real estate over eye candy and they certainly don’t want to have to use the mouse. And by the way, light themes are better; it’s science. You don’t want to be a science denier, do you?

By now many of you probably have a mental image of me waving a cane and yelling at kids to get off my lawn. That’s probably not entirely unjustified but I do wish folks would treat their editors as tools to be valued for their functionality instead of as an extension of their wardrobes.

Posted in General | Tagged | Leave a comment