April 29th 2026 - Things I Worked On

Create earthquakes view in Emacs using philquakes

Create view selection screen

Added basic view selection screen for philquakes data

(defun philquakes-time-view ()
  "Create or switch to the time view version of philquakes data"
  (interactive)
  (message "time view"))

(defun philquakes-location-view ()
  "Create or switch to the location view version of philquakes
 data"
  (interactive)
  (message "location view"))

(defun philquakes-view ()
  "Create the view for philquakes data"
  (interactive)
  (let* ((buffer (get-buffer-create "*philquakes*")))
    (with-current-buffer buffer
      (insert "\n\n")
      (insert "    ")
      (insert-button "Time View"
                     'action '(lambda (_) (philquakes-time-view))
                     'follow-link t)
      (insert "\n")
      (insert "    ")
      (insert-button "Location View"
                     'action '(lambda (_) (philquakes-location-view))
                     'follow-link t))
    (switch-to-buffer buffer)))

Split up hank-rank js file

hand-rank.js was getting too big so I split it up into different files for my Poker Equity Calculator.

Copy name of file currently visiting

I wanted to add a way to copy the name of a file I'm currently visiting in order to make creating links faster for my blog.

I came up with this:

(defun my/copy-file-name ()
  "Copy the current name of the buffer's current file, if
 visiting one, into the kill ring"
  (interactive)
  (if (buffer-file-name)
      (let ((file-name (file-name-nondirectory (buffer-file-name))))
        (kill-new file-name)
        (message "Copied %s to kill ring" file-name))
    (message "Current buffer is not a file")))

Keybinding:

(evil-leader/set-key
  "c f" 'my/copy-file-name)