test

Intro Resources

Mass file conversion using find and exec

convert mp3 to opus The short solution find ./ -type f -name '*.mp3' -exec sh -c 'ffmpeg -i "{}" -f wav - | opusenc --music - "{}.opus"' \; The full journey to the solution The first trick was just to use ffmpeg to convert to .wav, and then to take that .wav output and feed it to opusenc1 ffmpeg -i input.mp3 -f wav - | opusenc –bitrate 256 - output.opus

Cider error: cider-get-ns-name: Wrong number of arguments

Error The following was posted on github1 Expected behavior cider starts/operates without issue Actual behavior Upon trying to access a Clojure file after cider-jack-in, I cannot proceed past the following error. Steps to reproduce the problem cider-jack-in-clj cider-load-buffer (`C-c C-k`) Error: cider-get-ns-name: Wrong number of arguments: ((clojure-mode-abbrev-table paredit-mode paredit-version paredit-space-for-delimiter-predicates font-lock-end font-lock-beg calculate-lisp-indent-last-sexp t) nil "Return the namespace of the current Clojure buffer. Return the namespace closest to point and above it.

Would you recommend EXWM as daily driver

EXWM is a Glass Cannon Would I recommend EXWM as a daily driver?1 Not really. I say that as someone who has chosen to use exwm exclusively for years2 and tens of thousands of hours. I tried I3 for a while, and have used EXWM under OpenSuse several years and now under Guix, almost always with 3 monitors. I find that exwm is a glass cannon. Like Linux and emacs, it has a learning curve and appeals to those who tolerate or enjoy that.

Javascript to get the OPML of all YouTube subscriptions

Getting OPML for all YouTube subscriptions I just followed the directions here: https://github.com/jeb5/YouTube-Subscriptions-RSS#bookmarklet It scrapes the page and so expects a certain format, so it is brittle and might break; but it only needed to work for me once, and it did great! After pasting the thing I got a “download?” window that even gave me a count and a progress report. The Code (async () => { const dialog = document.

how to disable screen timeouts in guix

Problem: screen timeout in 15 minutes This question was originally posted on the guix subreddit1 My problem is that my screens timeout in 15 minutes if I’m watching something, which is problematic. It seems like the answer is my xorg settings, and I am trying to apply this: https://wiki.archlinux.org/title/Display_Power_Management_Signaling which calls for editing of my .xorg.conf.d file. It seems like it should be according to these directions: https://guix.gnu.org/manual/en/html_node/X-Window.html However, I want to make sure my syntax is correct.

orgmode warning on repeating events

Beware “DONE” shifts on repeating events In orgmode you have several ways to make a repeating event. One of the ways is to simply incude an active date under a headline, and include a repeating directive in it like so: <2023-09-18 Mon 12:30-13:30 +1w> This is fine, for example, when noting someone’s class schedule (not my own where I would need notes for each individual class). * TODO Bill's Schedule this semester <2023-09-18 Mon 12:30-13:30 +1w> <2023-09-19 Tue 11:00-16:00 +1w> <2023-09-20 Wed 12:30-13:30 +1w> <2023-09-21 Thu 11:00-15:00 +1w> <2023-09-22 Fri 11:00-16:00 +1w> However, if you ever make these under a TODO item, and then mark it “DONE,” be aware that it shifts the times of every one of these entries by the +1w, not just the one for today that you probably meant.

Emacs Tip: org-clone-subtree-with-time-shift with negative shifts

org-clone-subtree-with-time-shift with negative shifts This post is at the weekly Emacs Tips Reddit thread1. I use org-clone-subtree-with-time-shift (C-c C-x c on an org heading) sometimes when I need richer agenda entries than using a repeater like <2023-09-25 Mon +1w>. This allows for better notes upon individual dates, as well as more nuanced control like “except those three Mondays”. This morning I accidentally started my clones a couple weeks in the future, meaning I missed today and next week.

using regexp find and replace to reformat my todo list

Intro I had a series of todo entries like this *** TODO Rename legacy/authtoken.clj and sibling tests https://github.com/FOO/BAR/issues/158 and wanted them to have the issue number at the end of the todo title, which helps with our git branch naming praxis. Emacs regular expression (slightly improved) anzu-query-replace-regexp1 with the following: ^\(\*.*\) \(.*github.*\)\([0-9]+\)\s-+ → \1 #\3 \2\3 Where the linebreaks are entered literally via C-q C-j. The end result was what I wanted:

xkcd Compiling -> Testing

Testing… Derived from https://xkcd.com/303/ to express my own experience. I don’t often spend time compiling in my work as a webdev, but TDD and the regression tests take some serious time.