December 21, 2025
The Road
2025 Review
Hardware
I got a new iMac. Apple M4. The only regret. It has 16 gigs of memory. Should have gotten 32. I forgot how Safari and Chrome love memory.
I love the machine. It is quick. The screen is smaller than my 27 inch iMac (mid-2011). I am not missing the screen real estate. I live in Emacs, in full-screen and that is perfect for me.
Tahoe is the OS. That has been a disappointment. Buggy. Ugly. Dumb. Great hardware hobbled by horrible software. That is the state of the Mac today.
Still using the Moonlander. You have no idea how much I love this keyboard. Life-changing. For the first time in 20 years, my hands are pain-free. I must admit though that the Moonlander has made it impossible to use any of the standard staggered layout keyboards. The horizontal layout grows on you and makes it impossible to use any other. That is a bummer, but I carry the Planck around when I have to go places. Use the Moonlander at home, which is almost all the time, I don’t get out much nowadays.
Software
I will break this category down into two parts:
- Writing software, and
- Others.
Writing Software
This category has drastically shrunk for me. I use Emacs, for all of my writing. Readers of this blog will be familiar with the journey. I am all-in on Emacs. It is where I live. It handles all of my writing. Books, notes, lists, outlines, scratch files. Everything is in Emacs.
The effect of this immersion into Emacs is the following:
- My comfort in the program has grown.
- I am learning elisp, in small increments, to be able to customize the program to my needs.
- Learning how to operate in a program this deep is intellectually fulfilling. In other words, I am enjoying life in Emacs.
The other programs which get used once in a while: for specific tasks, or for support when I screw something up in Emacs and everything goes to hell.
- Zed. This is a new editor which is distinguished by being fast, and modern. I prefer it to VSCode.
- BBEdit. The old workhorse still shines in handling large files and being responsive and elegant.
- iA Writer. I find this to be the best Markdown based text editor besides Emacs. It also does a great job telling me that I am using too many adverbs in my writing.
Other Software
This is a list of programs which make my computing life better.
- Alfred. Can’t imagine using a Mac without Alfred. It is my launcher, snippet manager, clipboard manager, and a whole host of other functions.
- Keyboard Maestro. I rely on this multiple times a day to perform repetitive tasks.
- Hazel. I tag a file/folder with some little tag. Hazel moves it to a different folder, removes the tag, and I go on with my life.
- Supercharge. Sindre Sorhus makes a whole slew of useful applications for the Mac. Supercharge is but one example. Full of QOL improvements, it makes using the modern macOS tolerable. I am going to write a review of this program soon. Sindre is prolific and brilliant.
- iStat Menus. Brilliant menu-bar application which lets me keep a lookout on what is going on with the Mac.
- Homerow. Saves me from the mouse/trackpad. Brilliant program which lets me select options on the screen. Keeps my hands on the keyboard, where they belong.
- Choosy. I use Safari and Chrome as my browser. Choosy lets me choose the browser to open a link with. Lets me also define the preferred browser for some URLS (e.g. YouTube URL’s open in Chrome)
- Lulu. Replaced LittleSnitch as my outgoing connections monitor. There was nothing wrong with LittleSnitch, I was trying to save some money and came across a free alternative. Lulu saved me the upgrade price of LittleSnitch. Lulu works great.
- Obsidian Web Clipper. Clips content from the web. Best clipper I have come across. If you are comfortable in the terminal, you might give Gather a go. It also does a great job.
- Ghostty. I have been using Ghostty as my terminal application. It is fast and beautiful. I have also found Kitty to be a great terminal. Haven’t yet decided between the two. Both are better than the stock Terminal application.
The Future
I am looking forward to using and getting to know these two new products:
- Written. A new product in beta from the Literature and Latte folks (they make Scrivener). I like what I see so far.
- iA Presenter. This is a new application from the iA folks. I am using it and learning how to get the best out of it. Will cover the product when I am comfortable with it.
Conclusion
In no particular order:
- macOS 26 is a disgrace.
- Emacs has been awesome for me.
- Small independent developers still do the best work on the macOS platform. They make my life better. Thank you.
Thanks to my readers. They keep me writing.
macosxguru at the gmail thingie.
Note: Thanks to Photo by Took A Snap: https://www.pexels.com/photo/road-among-coniferous-forest-20751943/
macOS
December 11, 2025
Windows
Window Managers? Why?
Window managers don’t make sense to me.
I have tried a whole host of them.
- Moom.
- Rectangle Pro.
- Magnet.
- Yabai.
- Amethyst.
I have used a workflow each in Alfred and Keyboard Maestro to manage my windows.
I don’t get the utility.
In Sublime Text, there was a plugin called Origami which I tried out. It was interesting, but never became essential to me.
I am a one document, one application at a time, kind of guy. Boring, but that is the way my mind works.
I am fond of the following keyboard commands:
- ⌘-tab: to switch between open applications.
- ⌘-`: to move between open windows in an application.
- ⌘-H: Hide the current application and switch to the one last used.
- ⌥⌘-H Hide all the other applications running.
- ⌃-tab: To move to the tab on the right.
- ⇧⌃-tab: To move to the tab on the left.
I rarely use Spaces. I use tabs. Tabs in browsers. Tabs in Emacs. Tabs in iA Writer. Tabs everywhere.
Terminal
I can see the advantages of window managers in the Terminal. If you need to move between open buffers in a terminal based text editor like Neovim, or manage different terminal windows performing different tasks, it might make sense to have a window manager manage that function. I don’t usually use terminal based text editors, so it doesn’t apply to my use-case. On the other hand, when I do use one of those, I am focused on a window at a time and don’t feel the need for a window manager.
BTW, I ran into a new text editor in the terminal called Fresh. It is nice.
Emacs
I use the built-in window manager functions in Emacs, when I need to. Open a buffer window to the right. Look up what I need or make changes to what I need, save the buffer and close it. Get back to where I was. Love the org-capture window which lets me add stuff to other files with a few keyboard commands. Save the additions and move back to the original document. I also like the ability to make a scratch buffer to the right of the document. Comes in handy when I am tweaking my configuration file. Write the elisp in the scratch buffer. Get it working right and move it to the default configuration file.
Definitive Use-case
If you need two or multiple documents open, one to write in, and the others to provide information, I can see the need to have multiple windows accessible and in front of you. I rarely run into this situation. BBEdit spoiled me with its ability to give me a split view into the same document. I have the outline the top of the document and the text of the document in the second split. I can look up at the outline and know where I am going. That seems a better solution to my use-case than multiple windows. In Emacs, I do the same thing but with two windows. the outline to the right of the frame and the editing area to the left. Performs the same function that BBEdit does.
Conclusion
I see a lot of folks who are euphoric about their window managers and who swear that it is integral to their workflow. I must be missing something. I don’t get it. It is a popular product category, I am in the minority. Apple included the feature in Tahoe. Considering how fucked up Tahoe is, I am not sure that is a ringing endorsement of the feature.
macosxguru at the gmail thingie.
Thanks to: Photo by Waldemar Brandt: https://www.pexels.com/photo/closed-white-wooden-framed-glass-windows-2290609/
macOS
November 24, 2025
Quick Bites 013
Tools
Grila
Grila - Calendar for keyboard addicts
This is a free application which does a great job of letting you view your reminders and calendars. It is a smart, little menu bar application which is beautiful to look at and useful to have around.
Grila doesn’t let you edit any of your content from the calendars or your reminders. That is deliberate. This is good for display and not much else.
DamascenoRafael/reminders-menubar: Simple macOS menu bar application to view and interact with reminders. Developed with SwiftUI and using Apple Reminders as a source.
A menu bar application which lets you view and add/edit your reminders. It is an addition to the stock macOS Reminders app and I find it super useful.
The developer lists the following features:
- All interactions through the macOS menu bar
- Keep everything in sync with Apple Reminders
- Create new reminders in your chosen list
- Set a reminder’s due date using natural language
- Mark reminders as completed / uncompleted
- Edit reminders, Remove reminders or Move reminders between lists
- View a list of upcoming reminders
- Filter reminders through lists or through completed status
This is an application which should have been a part of Reminders.
CaffeineMate
CaffeineMate - Keep Your Mac Awake Free Menu Bar App for macOS
CaffeineMate is a menu bar application which prevents your Mac from sleeping. You can choose the amount of time you want your Mac to be awake, and whether you want the display to be able to go to sleep or stay awake. Does one thing and does it well.
Prio.Space
prio.space All-in-one Productivity App
App Store link
I have no need for this application but it is an option in a category which attracts attention. This is a free, productivity application which is full-featured and beautiful.
Try it out. You might like it.
macosxguru at the gmail thingie.
Thanks to: Photo by cottonbro studio from Pexels: https://www.pexels.com/photo/white-red-and-green-floral-textile-4614249/
macOS
November 19, 2025
Road
What Happened to Us?
With malice toward none; with charity for all; with firmness in the right, as God gives us to see the right, let us strive on to finish the work we are in; to bind up the nation’s wounds; to care for him who shall have borne the battle, and for his widow, and his orphan—to do all which may achieve and cherish a just and lasting peace among ourselves, and with all nations.
2nd Inauguration
To this:
Quiet, Quiet Piggy
macosxguru at the gmail thingie.
Thanks to: Photo by TruShotz
life
October 1, 2025
Emacs
Much Ado About Emacs 011
md-capture
md-capture is a package which lets me capture information to a Markdown file like org-capture. Okay, not fully like org-capture with all of its options, but a reasonable solution in the Markdown world.
;; markdown-capture
(use-package md-capture
:load-path "~/.emacs.d/elisp/md-capture.el"
:commands (md-capture)
:init
(setq md-capture-targets '("~/Dropbox/org/markdown files/inbox.md")))
buffer terminator
Buffer-Terminator is a newish package.
At any given point, I have a couple of hundred buffers open in Emacs. In other words, I open a buffer and never kill it. Any buffer I open, stays open. That leads to a state where I get a whole bunch of open buffers. And the list of open buffers keeps growing. It is not a strain on the computer or the program, but it seemed inelegant. Buffer-terminator solves that problem. It automatically kills buffers when you don’t access them for a while. Much neater approach.
You can always use consult-buffer to search through your buffers. I have been trying this for a while and I like it.
(use-package buffer-terminator
:ensure t
:custom
(buffer-terminator-verbose nil)
(buffer-terminator-inactivity-timeout (* 30 60)) ; 30 minutes
(buffer-terminator-interval (* 10 60)) ; 10 minutes
:config
(buffer-terminator-mode 1)
(setq buffer-terminator-rules-alist
(keep-buffer-property . visible)
(kill-buffer-property . inactive)))
Save Your Tab-sets
Tab-sets lets you save a set of tabs. Depending on the project I am working on, it makes sense to have a different set of open tabs leading to particular files relevant to that project. Tab-sets lets me set this up.
;; tab-sets
;; https://github.com/localauthor/tab-sets
(use-package tab-sets
:ensure nil
:vc (:url "https://github.com/localauthor/tab-sets")
:custom
(tab-sets-data-file "~/.emacs.d/tab-sets.eld")
:config
(tab-sets-setup-embark))
Denote
I use the Denote package in Emacs to write. All of my notes, blog-posts, associated scribbling happens in Emacs with Denote. Denote is at its base a file naming convention. Makes it easy to name your files and keeps them searchable. Denote has the ability to handle org files, markdown files, and plain text files. You have the option of choosing a default format, and mine is org-files.
The problem is blot, my blogging platform doesn’t deal with org-files, it only deals with Markdown files. I thus have a mix of org files, Markdown files and plain text scribbles in my notes/writing folder.
I like keeping files in silos. What that means is that I have sub-folders in the main notes/org folder for my organizational needs. The notes in org-mode are all contained in the base folder. I have sub-folders for:
- Book I am writing on macOS.
- Book I am writing on Emacs. (This is a dream of mine. I am far away from realizing it).
- Posts for the blog.
- Inbox to quickly capture ephemeral notes.
- Folder containing assorted Markdown files.
The problem is twofold, the usual denote command:
- Automatically puts all its files in the main org folder.
- Denote also defines the extension as org as that is what I have set as default.
I want to have options. I want the ability to make new files as org-files and save them in the main org folder. In addition, I want the ability to create files which get saved in one of the sub-folders. I also want control over the file-type when I create and save files in these sub-folders.
Denote is well-designed. Prot is brilliant. It lets me do that. I have the usual denote command, it lets me make org files saved in the main org folder. I added this bit of code to let me have an option to choose both the type of file and the location of the file when I don’t want the default behavior.
(defun my/denote-create-note ()
"Create a denote note with file type selection."
(interactive)
(let ((file-type (completing-read "File type: "
'("org" "markdown-yaml" "text"))))
(let ((denote-file-type file-type))
(call-interactively #'denote-subdirectory))))
;; Bind to a key
(global-set-key (kbd "C-c n n") #'my/denote-create-note)
I am sure there are more elegant ways of achieving this, but this works.
Howard Melman improved my function with this iteration:
(defun my/denote-create-note ()
"Create a denote note with file type selection."
(interactive)
(let ((denote-file-type (completing-read "File type: " '("org" "markdown-yaml" "text"))))
(call-interactively #'denote-subdirectory)))
Brilliant. Elegant and saves me from the sin of “nested lets.”
Books on Emacs
Emacs For Writers Version 2 Has Arrived - Chris Maiorana. This is an interesting addition to the resources you can learn from.
cloudstreet-devEmacs-for-Goodness-Sake Emacs for Goodness’ Sake. Another book which adds to your Emacs knowledge.
This Made Me Smile
John Rakestraw Emacs excitement. Some folks write so well.
Note: Thanks to Photo by Jovan Vasiljević: https://www.pexels.com/photo/curious-cat-exploring-a-springtime-tree-33711231/
macosxguru at the gmail thingie.
emacs