Uses This Interview with Chris Wellons

Uses This has an interview with Chris Wellons. I’ve written about Wellons many many times and consider him an outstanding engineer. I especially liked his post on Mutable String and Emacs Buffer Passing Style, which explains a method of dealing with mutable strings in Emacs. I’ve used the technique he describes several times in my own Elisp programming.

His major contribution to my workflow—including finding the Uses This interview—is the excellent RSS reader Elfeed. I use it every day to read the nearly 70 feeds that I’m subscribed to. It has excellent search and stores all the links so you can always go back to them. As I say every time I mention Elfeed, if you’re an Emacs user and have an RSS feed, you should take a look at Elfeed.

For reasons that he explains in the interview, Wellons mostly uses Vim these days except when he’s working on an Emacs project. He’s spent a lot of time working on his configuration and keeps it all under Git (and GitHub) so he can move it to any machine he’s using easily. He even has a live image that boots directly into his preferred environment. That’s really handy when if you find yourself using a temporary machine that runs Windows or some other system that you don’t normally use.

I like Uses This—it’s in my RSS feed so it comes up in Elfeed whenever there’s a new interview—and often find Handy tips from the work flows described in their interviews.

Posted in General | Tagged , , | Leave a comment

A Quick Tutorial on Elisp Macros

Shane Mulligan has an interesting post in which he gives a short tutorial on Elisp macros. He does that by implementing a macro that accepts a Bash shell command and calls the shell to execute it. That boils down to just passing the arguments in the macro call to the shell but there are a few niggling details to deal with.

He starts by building some support macros and functions. He doesn’t explain those until later so if you’re completely new to Elisp macros you can safely skip by the details on first reading. When he starts explaining the macros, he does so by building it up in a series of nonworking versions and explaining what they expand to and why they’re not working.

If you’re new to macros, Mulligan’s post will serve as an easy introduction. It’s by no means a complete exposition but it is a nice start.

Posted in General | Tagged | Leave a comment

The Times They Are A-changin’

Except for you young guys for whom they’re pretty much the same:

If you aren’t a fairly young person you almost certainly have first-hand knowledge of pagers. A colleague once described them to me as an electronic ball and chain. Unless you’re in the pager business, they won’t be missed. At all.

Of course, now cell phones are serving the ball and chain function but somehow it seems much less onerous. Perhaps because we all carry one anyway. I think it’s likely that anyone who doesn’t have a phone today is someone who doesn’t want one for some reason.

I can’t remember the last time I saw a pager in the US. A quick DuckDuckGo check reveals that there are, apparently, still some companies offering service. Who are the customers for these services? Has anyone seen one in the wild recently?

Posted in General | Tagged | Leave a comment

Elisp in Eshell

I’m sure everybody reading this knows that you can invoke elisp commands from the eshell command line but if you’re like me you tend to forget it in the heat of the moment. That’s too bad because it’s often possible to mix a bit of elisp with a “normal” Unix shell command to produce a result more refined than possible with the standard command line alone.

Over at the Emacs subreddit, yubrshen has a nice example. The value in his post is not the specific task he implemented—there are plenty of ways of doing that—but in using elisp to generate intermediate data for the rest of the command. It’s worth taking a look at his example if only to help you remember to make use of it in the future.

Posted in General | Tagged | Leave a comment

Dark Mode

Back in June, I wrote about the light-mode/dark-mode controversy and the article by Adam Engst claiming—and citing substantiating research—that all the claims of dark mode’s superiority are nonsense and, in fact, the opposite of the truth. In particular, dark mode is not easier on the eyes, is not easier to read, and doesn’t lead to better comprehension. Contrariwise, it’s light mode that does all those things.

As a member of the elite despised light mode minority, I found his article gratifying but didn’t take it very seriously. Now, though, it’s time to fire another volley. Over at Gizmodo, Andrew Couts claims that Dark Mode Is for Suckers. You can tell by the title that Couts’ piece is a bit more hyperbolic than Angst’s evenhanded recitation of the research.

Nonetheless, Couts also cites research and backs up his rhetoric with facts. His explanation for the prevalence and preference for dark mode is fashion. People claim that dark mode looks better and who can argue with someone’s subjective judgment on such matters. Couts counters that fashion comes and goes and that what seems trendy today will seem horrible in a few years. He could have illustrated his argument with, say, avocado colored kitchen appliances but chose an even more terrifying example. Follow the link to see what it is. If you dare.

Posted in General | Tagged | Leave a comment

Living Without a Wallet

In my Almost There post, I wrote that my everyday carry was down to just 3 items:

  1. My iPhone
  2. My house (and possibly) car keys
  3. My wallet

and that I was trying to get it down to just my phone. The hardest to get rid of turns out to be my wallet. That’s mostly because I have to depend on others to help enable a walletless life. The State of Florida has been talking about issuing digital drivers licenses for at least 5 years but the usual political nonsense keeps holding that up. Still, other states are moving forward and Florida will, I’m sure, follow sometime soon.

The other problem is some big chains stubbornly refusing to enable Apple Pay. In my life, that mainly means Publix, my neighborhood grocery store. I keep bugging them but I always get PR speak for an answer. If Florida and Publix would join the modern world, I could pretty much leave my wallet at home.

The New York Times, through its Wirecutter subsidiary, just published an fascinating article on what it’s like to live without a wallet. In How I Survived a Week Without My Wallet, Sally French describes what happened when she lost her wallet on a trip to Washington DC. She found that, except for a couple of exceptions, it wasn’t too hard to get along with just her iPhone. She got around DC with Uber and and Capital Bikeshare, was able to pay for most meals with Apple Pay, and could easily get cash for those places that didn’t have Apple Pay by using the Bank of America debit card in her iPhone’s wallet. Things like her gym and Airport lounge membership cards had digital versions that she could add to her iPhone wallet.

Even the hard things were possible. Hotels generally require an ID to register but she discovered that her hotel had a digital check-in procedure that allowed her to bypass the front desk entirely and go directly to her room, opening the door with an app on her phone.

The hardest thing, of course, was negotiating the TSA procedures on her flight home. To my surprise, even that was possible if a bit painful. French concludes that living a 100 percent walletless life is not yet feasible, but that we are close. I really enjoyed the article and if you have any interest in such things, you probably will too.

Posted in General | Tagged , , | Leave a comment

You Are Not the User

I stumbled upon a very interesting article from 2016 entitled The Distribution of Users’ Computer Skills: Worse Than You Think. The real point of the article, though, is “You are not the user.” Whatever you think about your users’ assumptions and skills is almost certainly wrong. It follows, therefore, that you shouldn’t use your own assumptions and skills in designing your user interface.

According to the article, the average developer has a higher IQ, higher literacy level, and is probably younger then most of their users. That’s a pretty breathtaking statement but the conclusion is not at all controversial: you can’t develop for yourself because, in technology, you are among the top elite.

A good part of the article is devoted to fleshing out the assertion that developers are in a special class as far as technology is concerned. Here are some of the major findings from a study of a several industrialized countries.

  • 26% of adults can’t use computers at all.
  • 14% of adults can perform only very simple tasks such as deleting an email.
  • 29% of adults can perform only well defined tasks requiring little or no navigation such as finding all emails from John Smith.
  • 26% of adults can perform underspecified tasks that require some interpretation and extra tools. An example of such a task is finding a document on a specific subject sent to you by John Smith in October of last year.
  • 5% of adults can perform more complex, underspecified tasks requiring interpretation, extra tools, and monitoring of results. An example is finding the percentage of emails from John Smith that were about sustainability.

Developers are in that last small group. It’s easy to assume that most people have reasonable computer skills but it’s just not true. As the article points out, “You are not the user” is one of the hardest lessons to learn and accept. It’s an interesting article that expands on the above points and is well worth reading.

Posted in General | Tagged | Leave a comment

The Using Org Mode Features Posts

My post on Wednesday about Karl Voit’s explanation of Org-mode tags and categories is actually part of a series. Voit decided to to curate his posts on how he uses Org-mode into a series he calls “Using Org Mode Features” or UOMF.

The series is, as Voit says, not meant to be a series of tutorials on how to use Org but an exposition of how he uses it to solve his problems. Sometimes, he admits, a post doesn’t even describe a solution, just a problem that he’s trying to solve.

Many of the posts are older offerings that fit into the UOMF theme. Follow the link to see a list of those posts. Voit is an expert on this subject having written his PhD thesis on Personal Information Managers. You’ll probably find that you don’t agree with all of his decisions but will nevertheless come away with several good ideas. It’s definitely worthwhile taking a look at his post to see if one of his discussions covers a topic you’re interested in.

Posted in General | Tagged , | Leave a comment

Hacker Laws

Here’s a quickie that I stumbled on the other day. Dave Kerr has a nice GitHub repository that’s gathered a collection of “laws” and aphorisms that all Geeks know and love. He calls it hacker-laws. Many of the laws, such as Murphy’s Law, Parkinson’s Law, and The Peter Principal, are familiar to the population at large. Others, such as Hanlon’s Razor, are a little less known. Still others, such as the Law of Leaky Abstractions, and the Unix Philosophy are specialized for us geeks.

My favorite, though, is Cunningham’s Law. It has the virtue of being both screamingly funny and true. Cunningham’s Law says that the way to get a question answered correctly on the Internet is not to ask the question but to post the wrong answer. Once you think about it, the truth and humor of the law is obvious.

Kerr’s list contains many examples of humorous wisdom. It’s definitely worth taking a look to see if there are any that you don’t already know.

Posted in General | Tagged , | Leave a comment

Tags and Categories in Org Mode

Karl Voit has a very nice post on Tags versus Categories in Org-mode. I’d completely forgotten about categories, even though I’ve written about them before, so I was glad to get a refresher. Categories, for those who don’t know, are the names in the left of the agenda listing. I always thought of them as just the name of the file the item was from but that’s just the default. It turns out that that name is really the category and you can set it to anything you want.

The question that Voit considers is when to use categories versus when to use tags. There is, of course, no hard and fast rule but Voit explains what he does and why he does it. Generally, he just uses the default category but sometimes he may have several files related to a single “thing” and he uses a single category for the files so that all the items have the same name in the agenda. That’s more important than you might think because you can filter the agenda on a category so you want related items to have the same name.

Whereas each item can have only one category, it can have several tags. Voit recommends using a limited number of tags but emphasizes that that’s just what works best for him. I tend to use tags as a list of keywords to help me find an entry. Thus I might tag a journal entry containing the magic spell to compile Emacs with emacs and compile. I try not to go crazy and use more than, say, five tags per entry but I haven’t found that to be limiting.

The moral here is that there are many systems for tagging and using categories and you should choose one that best fits your workflow. Be sure to take a look at Voit’s post. It covers all the details and is very informative.

Posted in General | Tagged , | Leave a comment