I'm Gene Goykhman, software developer, entrepreneur and principal at Indigo Technologies Ltd. I work on the TimeTiger time and project tracking system and some tasty projects on the side. I have lots of opinions about stuff.
December 10, 2025 This is an update to my post about compiling Emacs 29.4 from source . Emacs has been moving forward but unfortunately my beloved Mitsuharu Emacs Mac Port has not. Happily JD Smith has picked up the mantle and there is an up-to-date (albeit experimental) Emacs 30 fork on GitHub . This post documents the steps I took to build Emacs 30.2 on my M3 MacBook Pro. Remove existing Emacs…
Emacs ibuffer live update
September 14, 2025 Inspired by a a recent post by The Emacs Cat about their ibuffer configuration, I was wondering why the ibuffer didn’t update live as buffers were created and killed. With some help from Prot here is a way to hook into the relevant function in Emacs to update the ibuffer list any time the list of buffers changes. The real-time feedback makes managing a large number of…
Quickly summing up the whole stack in Emacs Calc
February 2, 2025 Here is a nice little improvement to calc-mode that adds up all the numbers on the stack. It’s equivalent to hitting the + key until the stack is exhausted, and it’s more handy than I would have expected. ( defun my/calc-sum-stack () ( interactive ) ( when-let* ( ( stack calc-stack ) ( additions ( - ( length stack ) 2 ) ) ( _ ( > additions 0 ) ) ) ( dotimes ( i…
Speeding up Emacs Lisp functions by disabling garbage collection
August 28, 2024 Emacs Lisp has nice built-in profiling tools but if you’re just curious to see how long a function takes to run, you can call it from inside benchmark-run : ( benchmark-run ( my-slow-function ) ) This will output a list with three elements. The first is total runtime in seconds. The second element is the number of garbage collections required during execution, and finally the…
Failing to share the benefits of using Emacs
August 19, 2024 I’ve become self-conscious about proselyting Emacs to my friends and in public spaces. As enthusiastic as I am about Emacs, I find it difficult to convince others to invest in the learning process. And it is undeniably an investment. I limit my pitch attempts to already technical people that I think could benefit and (more importantly) would enjoy the same things many of us…
Upgrading to Emacs 29.4 on Apple Silicon Macs
August 17, 2024 This is an update to my post about compiling Emacs 29.1 from source . Probably due to shifting dependencies that procedure no longer seems to work for me in Sonoma 14.6.1, and there have also been some important security fixes to Emacs and Org Mode that make it advantageous to update as soon as possible. Unfortunately the Mitsuharu Emacs Mac Port has not yet been tagged and…
Always Yes in Emacs Lisp
June 9, 2024 Some Emacs commands tend to ask too many confirmation questions, or at least it would be nice to have the option to skip the confirmation step. For example, saving and quitting a merge session in ediff requires quitting, confirming the quit, and then confirming the save. I wanted to bind a single keystroke that would unconditionally commit my changes and end ediff. In the process,…
Printing PostScript from Emacs in macOS Sonoma
December 23, 2023 Apple removed support for PostScript in macOS Sonoma , which has broken a number of things in my daily workflow. Here is a quick roundup post of some of my workarounds. Install Ghostscript with Homebrew First, install Homebrew if you don’t already have it. Now, install the Ghostscript PostScript interpreter: brew install ghostscript To confirm that it has installed…
Upgrading to Emacs 29.1 on Apple Silicon Macs
August 13, 2023 This is an update to my post about compiling Emacs 28.1 from source . With the recent release of Emacs 29.1, here are the steps I used to upgrade. Remove existing Emacs Backup and delete /Applications/Emacs.app if you have one. Install/re-install dependencies brew update brew reinstall gcc brew install libgccjit texinfo tree-sitter jansson sudo rm -rf…
Upgrading to Emacs 28.1 on Apple Silicon (M1) Macs
April 10, 2022 This is an update of sorts to my previous Emacs build recipe and late-night Emacs-on-M1 twitter thread . The Emacs Mac Port has been updated for Emacs 28.1 and here are the steps I used to build and install it on my M1 MacBook Air. Overall the process seems much smoother than the pre-release build experience but as always YMMV. Install/re-install dependencies brew reinstall gcc brew…