ERC: The Builtin Emacs IRC Chat Client

Derek Taylor over at DistroTube has a nice video up on ERC, the builtin Emacs IRC chat client. IRC is, of course, invisible to most of the general public and maybe even some of the younger nerds. It’s a very old chat protocol that predates the Web and was popular back when Usenet was still an important way of sharing information. It’s sort of like the old Unix talk application but it’s run on a remote server and supports multiple people.

The #Emacs channel, for example is a place where Emacs users and developers can hang out, ask questions, and discuss matter important to the community. Sort of like Twitter but without the crazy people.

Taylor first gives a demonstration of vanilla ERC without any configuration. It’s surprisingly useful that way and probably more than adequate for occasional users. Then he goes over his, fairly minimal, configuration and shows the difference it makes in a session.

Most of his configuration just involves setting up some useful defaults—such as his nickname, IRC server, and the like—to make signing onto a session a bit simpler. It’s probably easier for new users to simply fire up ERC without worrying about configuration. The configuration can come later when they decide to become regular users.

The video is 14 minutes, 51 seconds so it should be relatively easy to fit in. If you’ve been curious about IRC and are an Emacs user, Taylor’s video is an excellent way to learn enough to try it out.

Update [2022-04-16 Sat 17:45]: pubic → public

Posted in General | Tagged | Leave a comment

Monorepositories

One of the controversies—probably not ascending to the level of holy war—in our field is whether we should keep our version controlled source code in several repositories or a single monorepository. The correct answer is, of course, “it depends”. Still, there’s a widely held belief that monorepositories are not a good thing.

Except that Google, Facebook, and Twitter all use them and love ’em or hate ’em they indisputably have a lot of talented engineers who we can presume know what they’re doing. Dan Luu is another developer who believes that monorepositories can be a good thing.

Luu got tired of explaining why he believes this so he wrote it down in a blog post. In it, he lists the advantages of using a monorepository instead of several repos. These advantages are:

Simplified Organization
That’s pretty much obvious. With per project repos or some similar arrangement it’s hard to know how to structure things. With a monorepository, everything lives in a single repository and many of the structuring problems disappear.
Simplified Dependencies
With separate repositories, it’s hard to keep the versions of separate components in sync. With a monorepository, everything has the same version.
Simplified Tooling
With multiple repositories, build and other tools have to understand the relationship between the code in the individual repositories. That problem is easier in a monorepository.
Cross Project Changes
When there are interproject dependencies, changes can get complicated regardless of whether there is one or many repositories but with a monorepository it’s much easier to coordinate a big change that involves multiple projects.

Luu has much greater detail for each of these so if the matter interests you, be sure to take a look at his post.

Posted in General | Tagged | Leave a comment

A Second Brain in Plain Text

Knowledge workers—which includes engineers, of course—often find they’re trying to hold too much information in their heads. When that happens, they frequently turn to what’s popularly known as a “second brain”. This can take many forms. There are dedicated applications, Zettelkasten implementations, and home brew solutions for it but is can be as simple as a set of notes. Of course, to be useful they have to be searchable, which means the user has to impose some structure on those notes.

Junji Zhi is a software engineer at Gusto Engineering who found himself needing a second brain. He started with the usual assortment of general tools such as Evernote, Apple Notes, Slack, and many others but wasn’t happen with any of them. He finally settled on using a plain text file as a second brain.

He started with a simple text file but quickly discovered that it needed a bit of structure to be usefully searchable. After a while, he moved his notes to an Org file. That brought him an outline structure, better formatting, and even syntax highlighting for his code. The Org file is still plain text so he’s not locked into any particular application. He can, if he feels the need, easily move those notes to any other application.

Although Zhi doesn’t mention it, Org-mode has a template system that can greatly simplify the input of items into the database and handle structuring it by date automatically. If you’re looking for a simple way of implementing a second brain, take a look at Zhi’s post.

Posted in General | Tagged , | Leave a comment

Managers Want An End To Work From Home

It’s no secret that many middle managers recognize the existential risk that working from home represents to their jobs. It’s no surprise, therefore, that they are doing everything they can to put an end to it.

According to an article in Fortune, managers are fed up with work from home and 77% say they will fire or reduce the pay of those who refuse to return to work. That’s a tough position but it may be those managers are whistling past the graveyard. According to a second Fortune article, offices are obsolete and so are the managers who insist employees must return.

Keith Ferrazi and Kian Gohar say that just as companies have come to realize that they can’t dictate how, where, or when then their customers choose to interact with them, they must also realize that the same is true with their employees. They dismiss the notion that work from home is an aberration due to COVID-19 and say that managers are in denial if they believe it will go away once the pandemic ends.

The authors say companies that have had less than satisfactory results from work from home are due to their trying to overlay the digital way of working on the old, analog protocols. Worker, as evidenced by the Great Resignation, are not willing to put up with the old ways of doing things any longer.

Right now, employees are in a position to insist on their demands but as the first article points out, that won’t be the case forever. Sooner or later it will be an employers’ market and job seekers won’t have as much leverage. One hopes that by that time, companies will have adapted to the new realities.

Posted in General | Tagged | Leave a comment

Curved Quotes in *HELP* and *MESSAGES* Buffers

Since Emacs 25, single and double quote in the *HELP* and *MESSAGES* buffers are transliterated to their curved equivalents. This is usually, but not always, what you want. It turns out you can control whether or not the transliteration takes place but it’s not obvious how to do it.

Over at A Scripter’s Notes there’s a post that describes how to control the transliteration of quotes. It’s not too hard but it is a little fiddly. You won’t have to worry about this unless you’re writing functions or apps that other people are going to be using and then, truth to tell, only if you have a perfectionist approach to the presentation of your text output.

Sadly, I do have that approach so I’m glad to know how to deal with the issue. If you’re like me, take a look at the post.

Posted in General | Tagged | Leave a comment

A Research Work Flow in Emacs and Org-mode

Sam Wallace has an interesting post on how he takes research notes. He’s a Mathematics PhD student so he reads lots of papers that he has to take notes on as well as class notes and his own research projects. The post is an explanation of how he leverages Emacs and Org-mode to organize his notes and workflow.

He mainly uses Org-mode, reinforced with CDLaTeX, to take his notes. His approach was inspired by Gilles Castel’s post, My Mathematics PhD research workflow, which is similar but uses Vim instead of Emacs to tie everything together. I’ve written about Castel and his astounding Mathematics note taking procedures before.

The interesting thing about Wallace’s workflow is that although he uses some external tools and packages, such as Zotero, Org-noter, and ivy-bibtex, it mainly rests on Org-mode. Org is an excellent way of organizing notes and research no matter what field you’re in but Org’s built-in LaTeX support augmented by CDLaTeX for efficient entry makes it particularly well suited for Mathematics.

If you’re a PhD student or researcher, you really should take a look at Wallace’s and Castel’s posts. They’ve both got a lot of good ideas on how to get organized.

Posted in General | Tagged , | Leave a comment

What’s New In Emacs 28

As usual upon a major Emacs release, Mickey Petersen, of Mastering Emacs fame, has an exhaustive listing of what’s new in the release. His post is an annotated version of the NEWS file so it is very long and detailed. It’s much too long to cover in detail here so you should take a look at the post itself.

The big news, of course, is that native compilation is now an official feature of Emacs. That change should speed up almost everything you do in Emacs because it compiles Elisp into native code. You need to specify --with-native-compilation when you run configure prior to compiling Emacs.

Besides native compilation, there are many many smaller changes. One—that isn’t mentioned in the NEWS file—is that they fixed the interaction with macOS Monterey that made Magit interaction run slowly on Macs. It’s a huge relief to me to have that fixed.

Among other interesting changes are the inclusion of the Ctrl+x x keymap that includes functions for buffer actions such as revert-buffer-quick, rename-buffer, clone-buffer, and others. Sadly, it appears that the Bookmark+ package grabs the Ctrl+x x prefix so that’s something that I need to resolve.

I also like the new binding Meta+s Meta+. that starts an isearch for the thing at point.

As I said, there are a huge number of new and changed features. Any given user will find many of them interesting and many of them of no interest at all. A quick reading of Mickey’s post is a good way to discover which changes are interesting to you so that you can investigate them in more detail.

Posted in General | Tagged | Leave a comment

A Linux User Moves to Windows

I used to be a (fiery) Windows hater. I’d tell anyone who’d listen what a terrible OS it was and how using it was the sure sign of a luser. I’m no longer that way. It’s not that I’ve become a convert, it’s just that I’ve stopped thinking about it at all. It’s been easily 20 years since I’ve had to deal with or even be on a Windows machine.

Of course, some intelligent and reasonable folks find themselves forced by circumstances to use Windows. One such person is Duncan Lock, who after using Linux for 15 years, took a new job and found himself in a Windows shop.

He writes about his experience of moving from Linux to Windows and in the same way that it’s hard to look away from a traffic accident, I found myself reading it. I expected that he was going to tell me that Windows had improved and become an OS that a developer could embrace. I needn’t have worried. Not much, it appears, has changed in the last 20 years.

The terminal and shell—even Powershell—are still terrible and basically unusable. Package management is nonexistent. Customization is essentially impossible. There’s much more—Lock has a whole list of inadequacies that you can read about if you’re interested in such things.

I’m not interested. Not even to gloat. For me the value of Lock’s post is that it means I can go back to sleep and not think about Windows for another 20 years. Perhaps by then things will have improved. But probably not.

Posted in General | Tagged | Leave a comment

Red Meat Friday: As I’ve Said Before

Most smart people know that you shouldn’t pay any attention to polls you see on Twitter. Those of us who aren’t as smart can’t help ourselves. Here’s a case in point:

Anyone with an ounce of sense would chuckle and move on. After all, there’s so much that’s just plain silly about it. But, as I mentioned, some of us can’t help ourselves.

As I’ve said before, serious engineers mostly use Emacs or Vim. That opinion always incites blowback but I think it’s more true than not. One thing for sure, not many serious engineers are claiming Kate or Atom are the best editors. Sure, they’re probably okay but no one serious is going to waste time on them.

As longtime readers know, I’m very laissez faire about what editors folks choose to use. Whatever works for you is fine with me but please don’t put up a list of “the best editors” and fail to mention Vi(m) and Emacs. If you do that, you are not serious.

Posted in General | Tagged | Leave a comment

The ACM Backfile

Here’s some good news: the ACM has opened the first 50 years of its backfile. That’s all the articles between 1951 and 2000. That may be even better than it seems because recent papers are more apt to be available on the author(s)’ Website. It’s the old papers that can be hard to find.

Having access to those papers can be very useful for practitioners. For many years, I’ve maintained an ACM Digital Library subscription an found it worthwhile. It’s about $100 over the cost of an ACM membership so may be out of the price range for some. Opening the first 50 years goes a long way towards making these valuable papers available to all.

Kudos to the ACM for taking this step.

Posted in General | Tagged | Leave a comment