April 27th 2026 - Things I Worked On

Added keybinding for commenting/uncommenting code

Still doesn't work exactly like I want it to so I'll try comment-dwim-2

(global-set-key (kbd "M-/") 'comment-dwim)

Poker Equity Calculator

Poker input should auto capitalize ranks and suits

When the user of my Poker Equity Calculator enters cards I want the app to auto capitalize the ranks and suits. Here's what I came up with:

for (const char of currentInputValue) {
    if (formattedValue.length === maxChars) break;

    if (expectRank && isRank(char)) {
        formattedValue += char.toUpperCase();
        expectRank = false;
    } else if (!expectRank && isSuit(char)) {
        formattedValue += char.toLowerCase();
        expectRank = true;
    }
}

Pressing an RD button should populate every player above and unpopulate every player below

Added logic to quickly add or remove players from a hand. When pressing the RD button any players below will be removed and any players above will be added to the hand.

initializeRandomButtons() {
    for (let i = 1; i <= MAX_PLAYERS; i++) {
        const button = document.querySelector(`#random-button-${i}`);
        const handInput = document.querySelector(`#hand-input-${i}`);

        button.addEventListener('click', () => {
            if(i === 1) {
                handInput.value = handInput.value == "random" ?
                    "" : "random";
            } else if(i === 2) {
                const thirdHandInput =
                      document.querySelector("#hand-input-3");

                if (thirdHandInput.value != "random") {
                    handInput.value = handInput.value == "random" ?
                        "" : "random";
                }
            } else {
                handInput.value = "random";
            }

            if (i > 1) {
                for(let j = 2; j <= MAX_PLAYERS; j++) {
                    if (j === i) continue;

                    const otherHandInput =
                          document.querySelector(`#hand-input-${j}`);
                    otherHandInput.value = j < i ? "random" : "";
                }
            }
        });
    }
}

Set org-roam node find to ignore case

When searching for an org-roam node I noticed that the search is case sensitive. It turns out the search is using Vertico which I have installed. I want the search to be case insensitive so I added this:

(setq completion-ignore-case t)
(setq read-file-name-completion-ignore-case t)
(setq read-buffer-completion-ignore-case t)