Casual Make

Charles Choi is back with another app in his causal suite. This time it’s about making it easier to work with the Make utility. For reasons that I don’t understand, lots of people hate make and complain, in particular, about the significance of tabs in a make script. I love Make and have used it happily for years.

To be sure, it can be a bit fiddly to set up a script—especially in Make’s modern incarnations—but once that’s done, building the program (or whatever) is easy. You simply type make and go out for a coffee. My impression is that make is not used—at least directly—as much anymore. That’s probably because IDEs do a lot of the things that we used to depend on Make for.

Regardless, Choi’s latest offering helps with the hard part: writing and understanding Make scripts. I haven’t installed it yet and it’s a bit hard to figure out how it works from Choi’s announcement but it seems like a really useful addition to our toolkits. One of the worst things about Make scripts are the macros. As Choi says, it’s impossible to remember what they do so Casual Make has a special facility for discovering their meaning. You can get an idea of some of the other functions by looking at the menu in Choi’s announcement.

Like everyone else, I seem to use Make less often these days so I’m glad to have this app to help me remember the details. It’s much easier than reading through the manual.

Update [2025-03-20 Thu 15:27]: Added link.

Posted in General | Tagged | Leave a comment

Romany Gilmour, RIP

After my latest annual happy birthday wishes to Pink Floyd’s iconic Dark Side of the Moon, MarkB sent along a link to David Gilmour and his daughter Romany singing Wish You Were Here at an impromptu appearance at an open mic night in a local pub. That was in September 2024. Shortly after MarkB sent the video, I was telling some friends about it and one asked me how old Romany was. I didn’t know but said I thought she was in her early twenties.

The next day, I decided to look it up and discovered to my horror that Romany had passed away in February 2025. She was only 22. My heart goes out to Gilmour and his wife Polly Samson. I can’t imagine the pain of losing a child like that.

Posted in General | Tagged | Leave a comment

Journelly

Because I’m the way I am, I keep fairly detailed records of my day. My system is loosely based on the NYPD memo books in which officers record every event they respond to as well as other useful data. I record my information in the Apple Notes app because it syncs across all my devices so I can record events on, say, my iPhone and it will appear on my laptop as well so that I can import it into Emacs.

One of the problems is that I have to explicitly record the time for each event. That’s a bit of a pain so I’m always on the lookout for a better way. What I’d like is an app that prepends a time stamp to each entry automatically and that allows me to make an entry orally like the Notes app does.

I’m still looking but I just came across Journelly from Álvaro Ramírez. He doesn’t have a releasable app yet but the prototype looks promising. It’s probably more than I need but seems to check all the boxes for me with the possible exception of entering items orally. I will definitely be trying this when he releases it.

Posted in General | Tagged , | Leave a comment

Calle 24

If you’re an Irreal regular, you’ve probably guessed that I’m a fan of Charles Choi and his work. He even got me to change my mind about using proportional text for writing blogs—an idea I was initially resistant to—and marginally improved my workflow.

One thing that we profoundly disagree on, though, is the use of menus and toolbars in Emacs. That’s because I view any use of a mouse as a failure while Choi is more flexible. He’s offered several suggestions that improve on the Emacs default menuing interface.

His latest offering is Calle 24 that provides a more pleasing set of icons for the Emacs tool bar on the Mac. Choi suggests that the reason virtually everybody recommends disabling the tool bar is because the icons are so ugly. He may be right. Regardless, I have never used the tool bar and always shudder when I see someone using it.

Still, the Emacs tent is a big one and there’s plenty of room for everyone, even those who like tool bars. If you do like tool bars and you are a Mac head, you may appreciate Choi’s package that brings Apple’s recommended tool bar icons to Emacs. Take a look at his post to see the new icons.

If you visit his Github site, you’ll discover where the name “Calle 24” came from.

Posted in General | Tagged | Leave a comment

Happy 52nd Birthday To Dark Side Of The Moon

It’s that time of year again. Once again Irreal pays tribute to the greatest album of all time: The Dark Side of the Moon. It’s no secret that we here at Irreal are serious fans of Pink Floyd and their music. As I write this, it occurs to me that at 52, Dark Side of the Moon is older than many Irreal readers and in some cases older than their parents. It’s a tribute to the album that its appeal has lasted so long.

Every year I link to one of their songs that I really like. Originally, those songs were all from Dark Side of the Moon but lately I’ve been including songs from their other albums. This year I invite you to enjoy One Slip from the A Momentary Lapse of Reason album. That album gets its name from a line in One Slip.

It’s a mysterious song that reminds me of Procol Harum’s A Whiter Shade of Pale. In both songs it’s never entirely clear what the song is actually about. Here for your enjoyment is One Slip.

Posted in General | Tagged | Leave a comment

Age Verification

I often say on Irreal that any time you hear the phrase “think of the children” you should check to make sure you still have your wallet. It’s a favorite locution of scoundrels who want to steal not your wallet but your privacy and freedom.

The EFF has an excellent post on age verfication schemes and how they metastasize. The schemes start out, as these things always do, as a plea to protect the children from, say, porn. It’s
simple and benign: we don’t want to stop you from looking at porn, we only want to protect the children. The next thing you know, you need to verify your age to order skin cream. Yes, really.

Take a look at the EFF post to see how age verification, once established, is expanded to monitor all sorts of behavior. The fact that you are an adult is beside the point. If you want to look at porn, or buy skin cream, or whatever else the nannies think you shouldn’t be doing, you first have to identify yourself to prove you’re an adult. Instant surveillance. All in the name of protecting the children, of course. The EFF post even points to a legislator admitting that “protect the children from porn” was a scam with the purpose of opening a backdoor to go after social media, his real target.

We should resist these nannies in every way possible. We can voice our opposition to age verification bills and we can certainly refuse to give them our information. Maybe if skin care companies notice a drop off in sales they’ll refuse to donate to the offending politicians. Or so we hope.

Posted in General | Tagged , | Leave a comment

The Power Of Elfeed

Yesterday’s Red Meat Friday post on Why Lisp “Lost” has a backstory. As I often do, I wrote it the night before and had it queued up for publication on Friday. But I also like to read through the posts one last time before I upload them to Irreal.

When I did that, I realized that I hadn’t provided a link to Alexander_Selkirk’s original post that anchored the whole discussion. I usually keep whatever site I’m writing about in a browser tab so it should have been easy to add that link. But something was wonky with that tab so I thought I’d just restart Safari and get things straightened out. But, unlike all my other tabs, that one didn’t come back when I restarted Safari.

No problem. My post has a link to the offending comment; I’ll use it to reload Alexander_Selkirk’s post. Except when I tried that I got a totally unrelated post in German. Argh! Next I spent an hour trying to find the post in the Lisp subreddit. That, of course, ended in tears.

Then I remembered that I had first discovered Alexander_Selkirk’s post in my feed. Since my feed reader is Elfeed, I realized that I could recover by simply asking Elfeed to find the post for me. Unlike many feed readers, Elfeed keeps a complete history of everything it shows you and has a powerful search capability so it was surprisingly easy to find the post. I simply looked for any posts discussing Common Lisp in the last six months. I was about to add the additional constraint of mentioning Steve Losh when I noticed that Elfeed was already showing me the desired post.

It’s like having a associative array into every post that’s ever appeared in your feed. If you’re using Emacs and not using Elfeed, you should think about switching. I’ve said before that Elfeed is one of those packages that alone make it worthwhile to use Emacs.

Posted in General | Tagged | Leave a comment

🥩 Red Meat Friday: Why Lisp “Lost”

Back in 2018, Steve Losh wrote a very nice, long post on A Road to Common Lisp. If you’re a Lisper, it’s well worth reading. Recently, Alexander_Selkirk posted, without comment, a link to that post.

The last time I wrote about childish reactions to Lisp I got a bit of push back but, it seems, uninformed opinions about Lisp push my buttons. There’s nothing wrong with Losh’s post—it’s great—or with Alexander_Selkirk posting a link so we can revisit it. No. It’s the comments.

They all school us on “why Lisp lost”, taking it for granted that Lisp did lose. Sure, there are many, many more Javascript programmers than Lisp programmers but saying that that means Lisp lost to Javascript is like saying Rolls Royce lost to the Ford Fiesta. Mostly, the reason offered for this loss is, of course, parentheses.

That’s to be expected but one comment is so uniformly wrong about everything that it deserves special mention. It makes three claims:

REPL driven programming is not practical
That will be news to those of us who have used it to great advantage. Not every problem is best addressed this way, of course, but many are and it’s far superior to conventional methods. Anyone who’s tried it knows this.
Macros are overrated
That sounds like someone who is mostly familiar with C “macros”. Certainly no one familiar with Lisp macros would make such a claim.
S-exps are unreadable for no noticeable gains and “good” languages avoid them
This is the sort of argument that leads to XML and other monstrosities. Once you get used to them, s-exps are actually easier to read than the conventional notation because, for example, you don’t need to stop and think about operator precedence.

But the best, absolute best, ridiculous claim is that “C#, Java and Typescript are the new Lisp”. I wouldn’t know where to start with that claim so I’ll let you draw your own conclusions.

Posted in General | Tagged , | Leave a comment

EWS: The Talk And The Book

Over at the Emacs subreddit, Hungry-Accountant-99 has an interesting post about Peter Prevos’ Emacs Writing Studio (EWS). I’ve written about EWS before [1, 2, 3] and have always found it an interesting project. Prevos gave a talk at EmacsConf 2024 in which he discusses EWS and the book that he wrote describing it. Naturally, the book was written using EWS.

The idea of EWS is, to quote Prevos, that it’s an Emacs configuration for people who want to work with Emacs not on Emacs. Almost every Emacs user will understand the distinction. Most of us can happily spend hours fiddling around with our Emacs configurations. Prevos is writing for people who just want to use Emacs and not spend time configuring it or even learning how to configure it.

EWS is set up so that writers can just write their text and let Emacs take care of the mechanics. The idea is to write in Org mode and then export to whatever format you need. That’s the normal Org mode workflow, of course, but the idea of EWS is that it just works out of the box.

I haven’t read the book—I just found out about it—but I have watched the video and can recommend it. Its only 13 and a half minutes so you should be able to fit it in fairly easily. I’m planning on reading the book too. If you want to get a good idea about what the book is like, take a look at Hungry-Accountant-99’s post. He gives a good review of the book.

Update [2025-03-06 Thu 19:41]: Added link to Hungry-Accountant-99’s post.

Posted in General | Tagged , | Leave a comment

Remember Mode

One of the things I’m always looking for is an easy way to take quick notes. Currently, I handle this with various Org capture buffers: one for temporary notes and another to capture notes for my journal when I want to keep the notes long term. Naturally, I want everything to end up living in Org mode so that I can easily access it through Emacs.

I’m reasonably happy with my setup—although I’m still looking for a good way to capture notes on my iPhone and easily import them into Emacs—but Jack Baty has an interesting post on using the builtin remember mode for capturing quick notes. He views it as a sort of permanent *scratch* buffer and has even written a bit of Elisp to make that correspondence more explicit.

Remember mode has been around for a long time and was even maintained by Sacha Chua for a while. It has it’s own manual that explains how to use it.

As much as I like it, I think that, barring special circumstances, Org mode is a better solution. Org’s capture templates can fill in a lot of boilerplate data for you and they’re instantly available with a single keystroke from within Emacs. It’s pretty easy to pop up a capture buffer even when you’re not in Emacs. Baty shows you one way to do this—although for remember mode, but the process is the same—and there are many others. Basically you just need some way of binding a key to call emacsclient with the -e parameter specifying what Emacs function to call.

Regardless, If you’re looking for an easy way to capture notes and you can’t or don’t want to deal with Org mode, remember mode seems like a great way of doing so.

Posted in General | Tagged , | Leave a comment