From SMS to an Org TODO

Many Org-mode users are looking for a way to add notes and TODOs when they aren’t at their computers. Most folks use one of the smart phone apps such as beorg or orgzly or perhaps even organice. Kevin Cunningham has another idea.

Cunningham is mostly concerned with adding TODOs to his GTD files wile he’s out and about so he put together a system to add TODOs with an SMS message. He uses Twilio and Dropbox to handle the messaging and communication between Emacs and his phone.

It’s a cute trick and Cunningham gives a detailed account of how he did it if you’d like to set up such a system yourself. His post is worth reading even if you don’t have an immediate need for such a setup. It’s a great example of snapping together existing technologies and adding to little glue code to produce a useful tool.

Posted in General | Tagged , | Leave a comment

Another Thesaurus for Emacs

It’s really handy to have a thesaurus handy when you’re writing, and of course if you’re writing in Emacs, you want to have that thesaurus available and easily accessible from Emacs. I’ve been using power thesaurus and its Emacs interface, powerthesaurus.el. It’s nice and works well but merely provides a list of synonyms from which you can choose a replacement for the word you’re looking up.

Recently, I saw a pointer to Ag Ibragimov’s mw-thesaurus. It’s an interface to the Merriam-Webster Thesaurus and is also quite nice. It’s strong point is that rather than a just list of synonyms, it provides a copy of the thesaurus page in Org format. That provides a lot of context and helps you zero in on the best substitute. On the downside, there’s no way to automatically substitute your choice in your text. That might seem like an odd omission but given the way it displays its results, it’s not clear how such a substitution would work.

In any event, I have them both installed at the moment. It’s not really much of an inconvenience to replace the word with its synonym manually. It’s certainly no harder than navigating to the proper synonym on the thesaurus page. On the other hand, it is convenient to be able to simply choose the word you want from a list with something like Ivy and have it automatically replace the word you’re looking up.

I’ll use them both until I decide which I like better. Or perhaps I’ll keep both installed and use the one that makes the most sense in a given situation.

Posted in General | Tagged | Leave a comment

The Costs of Mobile Data

I just came across some information that’s not actionable and therefore doesn’t really matter but it is interesting. Cable.co.uk has a fascinating page that describes the cost of mobile data in 228 countries. For each country, they show the cheapest, most expensive, and average cost of a gigabyte of mobile data.

There’s a map that you can hover over to see the results for your country. The big winner is India with an average cost of \$0.09 per GB. If you’re in St. Helena the results aren’t so good: you’ll be paying \$52.50 for that same gigabyte. In general, islands nations don’t fare so well for obvious reasons: they don’t the fibre infrastructure to support mobile data. The 5 most expensive countries are all island nations.

If you’re in the U.S., you’ll be paying an average of \$8.00. The map is color coded so you can see how various areas of the world shape up.

As I said, there’s nothing you can do with this data other than gloat or wail so it’s probably of limited usefulness. Unless, that is, you’re exceptionally mobile and the cost of mobile data is one of the most important desiderata in your choice of location.

Posted in General | Tagged | Leave a comment

Using Multiple Dictionaries for Spellchecking in Emacs

Alain M. Lafon has an interesting post on spellchecking in Emacs. Lafon is Swiss and therefore has to deal with four official languages as well as German and English in his day-to-day life. The Swiss with their usual efficiency handle that just fine but their polyglot ways means that a single document may contain text in two or more languages. The question is: what’s a good way of handling spellchecking in Emacs?

Well, it is Emacs so of course you can do that but it’s a bit trickier than you might expect. Lafon’s post gives step-by-step instructions for setting up spelling checking using multiple dictionaries.

The only potential wrinkle is that you have to use Hunspell if you want to have dictionaries for more than one language. If you’re on macOS (or Linux), you can install hunspell with Homebrew so it’s not much of a problem. Lafon gives the magic spell for apt users. If you use Homebrew, you’ll have to download the dictionaries separately but they’re available from the OpenOffice Extensions page.

Most of you—at least if we’re not Swiss—probably won’t have to worry spellchecking in multiple languages in the same buffer, but if you do, Lafon’s post tells you how to handle it.

UPDATE [2020-08-24 Mon 17:10]: Added link to Lafon’s post.

Posted in General | Tagged | Leave a comment

Gccemacs on Linux

Just a quickie today. Those of you who read yesterday’s post but are running on Linux might find this Reddit post by catsol_v2 on compiling gccemacs on Linux useful. It’s not quite as detailed as Ramírez’s post but has enough information to get gccemacs compiled and running.

Again, this is for people who don’t mind living on the edge or who want to build a separate instance of Emacs to play around with native compilation. The rest of us are going to have to wait for Emacs 28 (at least).

Posted in General | Tagged | Leave a comment

Native Emacs Compilation on macOS

If you’re like me, you’re probably excited about native compilation coming to Emacs. In case you don’t know, the project, gccemacs (started and headed by Andrea Corallo), brings native compilation to Elisp. That means that not just will Elisp code—and hence Emacs—will run faster but also that some of the C code in Emacs can be replaced with Lisp.

Corallo gave a presentation to the European Lisp Symposium, which I’ve written about before, that discusses how things work and gives the results of some benchmarks. The work is ongoing but the system is already usable. As far as I can tell, the plan is to include it in Emacs 28 but if you can’t wait to try it out, the code is in the Emacs git repository.

If you’re on macOS, Álvaro Ramírez has step-by-step instructions for compiling Emacs with the native compilation enabled. You’ll need to load gcc with jit support if you don’t already have it. After that, it’s pretty simple. Ramírez provides a configure script to set everything the way you’ll need it so all you have to do is run the script and call make to build Emacs. See Ramírez’s post for the details.

This project is a great thing for Emacs and even for making Elisp a more general programming language. I’m already inclined to use Elisp when I can for small utilities and one-offs so improving Elisp is a win for me.

Posted in General | Tagged | Leave a comment

Red Meat Friday: WTF

Richard Stallman. Sometimes it’s hard to know what to think. On the one hand, he can be extraordinarily irritating and he holds all sorts of opinions that I and many people don’t agree with. On the other hand, no matter what else you think, the man is a hero of the Free/Open Source Movement and has the annoying habit of being proved right

I remember thinking when the GNU project was first announced that the chances of it gaining any real traction were small. And yet, here we are. We have Linux. We have gcc. We have Emacs. We have virtually all the Unix utilities and a bevy of language implementations. By any measure and no matter your politics, Stallman’s GNU project has been a resounding success.

The latest controversy involving Stallman involves his defense of Marvin Minsky in the Jeffrey Epstein scandal. That defense has, of course, been mischaracterized by a lazy and ignorant press and the usual Twitter mobsters as his supporting Epstein and rape. Reasonable people can, I think, can hold opposing views on Stallman’s support of Minsky but I just came across a take on the controversy that no reasonable person can support.

A random Emacs user asked on the Web asked how he could monetarily support Emacs. That’s great, of course. Not everyone can contribute time or code and helping to support those that do is laudable. But then we have this:

Under normal circumstances, I would donate to the Free Software Foundation, but I personally refuse to donate to them anymore because of Richard Stallman’s “cancellation” (over something petty, in my opinion).

This is childish on many levels but isn’t the worst example of the sort. I’ve even seen people ask if it was all right to use Emacs given Stallman’s alleged sins. Sorry, but these people need to grow up. In the first place, Stallman has virtually nothing to do with the development of Emacs or any other GNU software. Yes, he’s still the head of GNU but he resigned from FSF and his current GNU role is mostly spreading the Free Software message by speaking engagements. As far as I can see, his only connection with development is occasional posts on the devel lists and even those are mostly about maintaining Free Software purity. Regardless, it makes no sense to punish the FSF—and the thousands of developers who depend on its work—for the actions of someone who is no longer affiliated with them.

Actually, it makes no sense even if Stallman were still the president of the FSF. Lots of Apple users hated Steve Jobs and felt his behavior regarding his daughter was reprehensible yet they kept right on buying iPhones because they thought iPhones were the best phones available. It’s not the organization accused of misbehavior but one of its employees. Sensible people can draw that distinction.

Finally, notice that our random user admits that even he doesn’t believe Stallman did anything really egregious. Rather, he’s outsourced his opinion making to a few activists on social media, most of whom probably don’t know who Stallman is or what the controversy is about. People whose analytical abilities are so weak should consider whether they’re in the right profession.

UPDATE [2020-08-21 Fri 17:17]: Renegade offers an alternative interpretation of the comment about not supporting the FSF. It’s much more benign than mine and I hope Renegade is correct. If true, it moves the transgression from the individual to the organization.

Posted in General | Tagged , | Leave a comment

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