Mastering Emacs Update

Mickey Petersen’s excellent Mastering Emacs has a new update covering Emacs 26 & 27. If you already have a copy of Mastering Emacs, you’ve probably received an email telling you how to get the update (for free). If you don’t yet have a copy and are an Emacs user, I can’t recommend it enough.

Mickey has long been famous—at least in Emacs circles—for his Mastering Emacs blog that covers the deeper aspects of Emacs in detail and helps Emacs users get the most from their editor. The book is written in the same style but is not merely a collection of old blog posts. No serious Emacser should be without it.

Posted in General | Tagged | Leave a comment

Cover Your Tracks

The EFF has a new version of their Panopticlick browser fingerprinting and tracker awareness tool. It’s now called Cover Your Tracks. The tool doesn’t prevent the malevolent adtech industry from tracking you, it’s merely a testing tool to estimate how vulnerable your browser is to tracking.

You can get the details and run a test against your own browser at the Cover Your Tracks Website. After you run the test, the site presents you with a detailed analysis of your fingerprinting vulnerabilities. They also have a fingerprinting guide that explains what fingerprinting is and why it’s more effective than cookies in tracking you around the Internet.

Visit the site and test your browser. The results are informative and—if you’re like most people—disheartening.

Posted in General | Tagged | Leave a comment

Emacs in the Terminal

Wanderson Ferreira (Bartuka) has a project where the code can’t leave a remote machine at the other end of a slow connection. He’s an Emacser but GUI Emacs is too slow to be practical so he moved to terminal Emacs for the project.

He has a useful post that describes some of the strategies he’s discovered to make working with Emacs in the terminal a bit easier and more pleasant. He’s an Arch Linux user so some of his tips are Linux specific.

First up was to choose a good terminal emulator and get it configured. Bartuka chose RXVT and did some fiddling in his ~/.Xresources to remap some keybindings to what he was used to. If you’re a Mac user, you probably want to use iTerm2. It’s very configurable and you can change most things in the application preferences. The only thing I haven’t been able to figure out for iTerm is how to map the fn key to Hyper.

Next, he runs Emacs as a daemon on the remote machine so that it’s easy to popup an Emacs buffer when he needs one. Finally, he has a few words to say about multiplexing with tmux.

I’ve written before about the advantages of GUI Emacs over terminal Emacs but sometimes circumstances dictate that you have to use the terminal. When that happens, it’s nice to have a post like Bartuka’s to help you along.

Posted in General | Tagged | Leave a comment

Emacs Should Be Emacs Lisp

Back in February at FOSDEM 20, Tom Tromey gave a very interesting talk of how he believes the core of Emacs should evolve. He considers most of the current proposals such as Rmacs, Guile Emacs, and rewriting the core in common Lisp but ultimately rejects them. Emacs, he says, should be written in Elisp, a language that Tromey believes is much better than popularly believed.

He starts by discussing why he rejected the other solutions. The basic problem with them is that they either don’t solve the problems with the C-based core or introduce what he calls impedance mismatches that will introduce bugs and make maintenance harder. Then he notes that Common Lisp implementations are written in Common Lisp and that there’s no reason that Elisp couldn’t be written in Elisp.

Such a step would make solving some of Emacs’ other problems easier to fix. Threading and garbage collection would become much simpler than they are now. Also, packages would be able to affect the core in the same way they affect the rest of Emacs now.

Tromey’s preferred solution is to compile the Elisp into native machine code. He considers a couple of ways of doing that: using a JIT compiler and, my favorite, gccemacs. The benefits of such a system is that you get native code speed while still having the development advantages that he discussed earlier.

It’s a great talk about a future for Emacs that I hope comes to pass: An Emacs that’s faster and easier to hack. What’s not to like? The video is 19 minutes long so it will take some planning but should be easy to fit in.

Posted in General | Tagged | Leave a comment

The Worst Passwords of 2020

We haven’t done this for a while but it’s time, once more, for a survey of the year’s worst passwords. Sadly, the only real question is, as usual, whether 123456 or password heads the list.

This time password has inexplicably dropped to fourth place, leaving 123456 to take the top spot. The full list of 200 passwords reports how many times each password was used, how many times it was exposed, and estimates how long it would take to crack it. It’s interesting to browse through the list. At first glance, some of the more common passwords, like senha at number 10, are not that obvious—although still easy to crack. Senha, it turns out is the Portuguese word for “password” although for some it may refer to a popular Indian actress. Regardless, ten seconds later you’re p0wned. The most “secure” password—estimated to take 12 days to crack—was x4ivygA51F. It’s number 148 on the list and no one knows why it’s so popular (18,267 uses) or where it comes from. There’s some speculation on 4chan if you’re interested.

I know I’m yelling at the wrong group but for the love of Cthulhu please, please start using a password manager that generates long random passwords. And tell your Aunt Millie to do so too.

Posted in General | Tagged | Leave a comment

A Free Blog with Org and GitLab

Ravi Sagar has an interesting video that shows you how to publish a free blog to GitLab using Org-mode. The result is a static Web site, of course, and Sagar’s example is very simple but you can use CSS to build out a prettier result if you like. One of the strong points of his approach is that you don’t need anything but Org-mode and GitLab so it’s a minimal solution and avoids the configuration and maintenance of third party software such as Hugo, Jekyll, or one of the other blogging packages.

Sagar’s process starts with Org-publish. He shows how to configure your blog structure and then to generate the blog itself by simply calling publish. That gives him a local copy of his blog that he can check before pushing the results to GitLab to make it publicly available. To do that, Sagar simply uses git but you can, of course, just move it manually.

If you don’t have any CSS skills, you may find Hugo or Jekyll a better bet because you can choose a prebuilt theme. On the other hand, using one of those packages means you have to configure them too and abide by or work around the restrictions that they impose.

Regardless of your choice, Sagar’s video shows you how easy it is set up an Org-based blogging workflow and post to the blog easily all from the comfort of Emacs.

Posted in General | Tagged , | Leave a comment

Coding Fonts

I like looking at programmers’ fonts. Every time I see one announced or mentioned that I didn’t know about, I have to take a look. It’s rather odd, then, that I’ve been using the Inconsolata font since before I became an Emacs user: probably for about 20 years. I originally switched to it because it was an antialiased font and looked much better than the default font on the xterm I was using at the time.

If you also enjoy a bit of programmer font porn, there are a couple of sites you can check out. The first, Coding Fonts, has a collection of 32 fonts for you to browse and enjoy. It has several ways of displaying the fonts:

  • The set of character
  • In some HTML
  • In some CSS
  • In some JavaScript

The second site, Dev Fonts, lists 30 fonts that can displayed in a number of languages and themes. There’s only a little overlap with the Coding Fonts site so it’s worth taking a look at both sites.

If you’re on the lookout for a new coding font or just enjoy looking at and comparing them, these two sites are definitely worth spending some time on. Both sites have links to the font themselves so if you like one, it’s easy to get it.

Posted in General | Tagged | Leave a comment

A Nineteenth Century Emacs

One of the enduring memes in Emacsland is the picture of a huge pipe organ console labeled, “I finally got my Emacs set up the way I like it” or something similar. It keeps reappearing as n00bs discover it and can get a little tiresome.

Here’s a slightly different and perhaps less stale meme: Emacs as a Swiss Army (like) knife. It’s not really red meat but today is Friday so it seems appropriate.

Posted in General | Tagged | Leave a comment

Sudo by Touch ID on Macs

This post is just a quickie for those of you using a Mac with Touch ID. My latest MacBook Pro has Touch ID and I was surprised at how much I like and use it. It’s especially handy for 1Passowrd where I have a long and hard to type password. One place it doesn’t work is when I invoke sudo. Of course, I’ve never been able to invoke sudo with Touch ID so it’s not like anything has been taken away from me but I still irrationally feel like it’s a deprivation. I know, I know. A first-world problem if ever there was one.

Dan Moren to the rescue. Over at Six Colors, Moren has an article that explains how to enable Touch ID for sudo. It turns out that all you have to do is add a line to the sudo file so it’s easy to do. If you’re a spoiled, first-world, Mac user like me, you should take a look at Moren’s article.

Posted in General | Tagged , , | Leave a comment

Batteries Included

One of the frequent complaints you hear about Emacs—generally from people who don’t know what they’re talking about—is that it’s unusable out of the box. I know that’s not true because when I started using Emacs about 13 years ago it was plain old vanilla Emacs without any packages. My first customization was to change the default C-style from kernel style to (I guess) BSD style and I didn’t tweak it much after that for some time. After a while, all that changed, of course, but I was reasonably productive with vanilla Emacs and only slowly made it mine with customizations and packages (my current init.el is 2312 lines long).

It’s a commonplace among Emacs users that you never learn it all and are always discovering something new. After a decade and a half that doesn’t happen as often as it used to so I was surprised by Karthik Chikmagalur’s post, Batteries Included With Emacs. Chikmagalur agrees with me and lists of some little-known, built-in features that he uses. My surprise stems from the fact that I didn’t know about several of the features he lists.

Have you ever heard of pulse? Or View Mode? Or upcase-dwim and downcase-dwim? I hadn’t and there were some others too. Take a look at Chikmagalur’s post. If you know every feature he discusses, you can count yourself an Emacs Wizard.

Posted in General | Tagged | Leave a comment