Learning log
On macOS, get system information with system_profiler.
Cite: [[shell:man system_profiler]]
Guix has an unattended upgrades service.
Cite: [[info:guix#Unattended Upgrades][info "(guix) Unattended Upgrades"]]
A superb quickstart tutorial for Emacs Gnus email setup
Cite: [[https://kelar.org/~bandali/gnu/emacs/emacsconf-2025-gnus.html]]
A meshtastic client for Emacs
Cite: [[https://git.andros.dev/andros/meshtastic.el]]
Guixotic publishes their machine configs.
Cite: [[https://codeberg.org/guixotic/configs/src/branch/main/machines]]
A simple guide for a Guix VM on macOS
Cite: [[https://refarer.com/posts/macos-guix/]]
A good entry point for writing Guix packages
Cite: [[https://enge.math.u-bordeaux.fr/publications/packaging.pdf]] Cite: [[https://p2r.felsoci.sk]]
Guix is packaged with hardware inspection commands lscpu and lspci.
Cite: [[shell:lscpu --help]] Cite: [[shell:lspci help]]
In Emacs, C-u C-h i to open info manual at arbitrary path.
Cite: [[info:emacs#Misc Help][info "(emacs) Misc Help"]]
Using ffmpeg, convert to Mac-friendly video: ffmpeg -i <input-file>.ext -c:v h264_videotoolbox -c:a aac_at <output-file>.mp4
Cite: [[shell:ffmpeg -encoders]]
In Emacs, vc-clone does what you think.
Cite: [[help:vc-clone]]
In Emacs, M-x vc-create-repo to git init.
Cite: [[help:vc-create-repo]]
Self-hosted git repositories do not require any special services like forgejo.
Cite: [[https://kflu.github.io/2022/04/25/2022-04-25-git-http/]]
In Emacs M-x disable-theme to unload a theme.
Cite: [[info:emacs#Custom Themes][info "(emacs) Custom Themes"]]
In bash, upload data directly from stdin: curl -F "file=@"<(cat -) URL
Cite:
Use process substitution to pipe together commands that write to files instead of stdout: cmd1 --output-file >(cmd2 -)
Cite: [[https://linuxhandbook.com/bash-process-substitution/]]
In Emacs, run shell command on region with M-|.
Cite: [[info:emacs#Shell][info "(emacs) Shell"]]
The place to find old bitmap fonts
Cite: [[https://int10h.org/oldschool-pc-fonts/]]
Guix has the variable Recursive font.
Cite: [[shell:guix show font-recursive]]
In Emacs dired, type @ to open marked files with sudo.
Cite: [[help:tramp-dired-find-file-with-sudo]]
Kill the Emacs daemon from within Emacs Client with kill-emacs.
Cite: [[info:emacs#Exiting][info "(emacs) Exiting"]]
The motivation for my note taking experiments may be incremental static emergence.
I coined this term to describe encoding relationships between information primitives in a static format, where the structure emerges incrementally without dynamic querying.
The Meshtastic CLI and utils are already packaged for Guix.
Cite: [[shell:guix show python-meshtastic]]
Guix for DAM (digital asset management)
Cite: [[https://sam-d.com/blog/introducing-damright-units/]]
This may be the best we have at-present for guix system containers.
Cite: [[https://issues.genenetwork.org/topics/guix/guix-system-containers-and-how-we-use-them]]
Someone else has already been down the guix system containers rabbit hole recently.
Cite: [[https://www.mail-archive.com/help-guix@gnu.org/msg19964.html]]
Swineherd is a good reference for guix system containers as a service.
Cite: [[https://github.com/BIMSBbioinfo/swineherd/tree/main]]
glenneth from #systemcrafters has a great 0x0 replacement.
Cite: [[https://crafterbin.glennstack.dev]]
Childhurds may be the key to Guix system VMs within an OS config.
Cite: [[https://guix.gnu.org/manual/devel/en/html_node/Virtualization-Services.html#The-Hurd-in-a-Virtual-Machine]]
Package contribution guidelines for Guix
Cite: [[https://guix.gnu.org/manual/devel/en/html_node/Submitting-Patches.html]]
A good article about LAN vulnerabilities
Cite: [[https://web.archive.org/web/20181130174629/https://bouk.co/blog/hacking-developers/]]
Some really solid Guix documentation
Cite: [[https://github.com/eclipse-threadx/rtos-docs/blob/main/rtos-docs/guix/index.md]]
ieure from #guix may be on to something with his transform-based config.
Cite: [[https://codeberg.org/ieure/atomized-guix/src/commit/9add63cec28117dd45499b4ee81277cc664a16ea/atomized/transforms.scm]]
Guix containers are exposed as an API.
Cite: [[https://codeberg.org/guix/guix/src/branch/master/gnu/build/linux-container.scm]]
More information on Samba in Guix
Cite: [[https://www.snamellit.com/blog/20240817-samba-adventures-in-guix/]]
It is trivial to setup a local guix substitute server.
Cite: [[https://guix.gnu.org/manual/1.5.0/en/html_node/Invoking-guix-publish.html]] Cite: [[https://guix.gnu.org/manual/1.5.0/en/html_node/Invoking-guix-build.html]]
My wifi problem may be a physical connection issue.
Cite: [[https://stackoverflow.com/questions/32423127/how-to-view-the-next-days-in-org-modes-agenda]] Cite: [[https://forums.opensuse.org/t/realtek-8822ce-randomly-not-available/175390/3]]
In org mode agenda, v brings up a useful menu for adjusting agenda scope.
Cite: [[https://stackoverflow.com/questions/32423127/how-to-view-the-next-days-in-org-modes-agenda]]
Some helpful config tips for Emacs eww
Cite: [[https://joshblais.com/blog/emacs-as-my-browser/]]
Org mode can present trees with properties as tables.
Cite: [[info:org#Column View]]
Use guix [system/home] search to find the correct name for guix edit.
guix [system/home] edit opens package/service source directly!
Cite: [[info:guix#Invoking guix edit]]
lspci is awesomesauce for identifying hardware.
Cite: [[shell:man lspci]]
A great Emacs-style config for qutebrowser
Cite: [[https://git.sr.ht/~willvaughn/dots/tree/main/item/.config/qutebrowser/qutemacs.py?__goaway_challenge=meta-refresh&__goaway_id=5d0ea5f2261267ce46744aca9513fa28&__goaway_referer=https%3A%2F%2Fgithub.com%2Fqutebrowser%2Fqutebrowser%2Fblob%2Fmain%2Fdoc%2Fhelp%2Fconfiguring.asciidoc]]
Great info on mounting a NFS (Network File System)
Cite: [[https://www.cyberciti.biz/faq/apple-mac-osx-nfs-mount-command-tutorial/]]
In Emacs, C-u M-! <command> to insert stdout into buffer.
Cite: [[info:emacs#Single Shell]]
In Guix, herd -n <number-of-lines> <process> will return the logs for a shepherd process.
It is possible to launch X server after login on Guix.
Cite: [[https://lists.gnu.org/archive/html/help-guix/2018-07/msg00080.html]] Cite: [[https://github.com/lfam/guix/blob/master/gnu/services/xorg.scm]]
An interesting approach to scripting on Guix
Cite: [[https://qeef.srht.site/note/run-guile-script-with-guix/]]
Emacs ERC has a bug that makes logging on part and inserting logs automatically incompatible.
Cite: [[https://debbugs.gnu.org/cgi/bugreport.cgi?bug=79665]] Cite: [[https://gist.github.com/LionyxML/55618551fcc8d1446bd8023bd178687f]]
A simple temp-file server: curl -F file=@filename.extension -Fexpires=24 https://temp.sh/upload
Cite: [[https://www.temp.sh]]
Emacs has a dired-like buffer for processes: M-x proced
Cite: [[https://www.masteringemacs.org/article/displaying-interacting-processes-proced]] Cite: [[https://unix.stackexchange.com/questions/317492/list-of-kill-signals]]
Another great guix substitutes build farm: cache-cdn.guix.moe
Cite: [[https://ultrarare.space/en/posts/guix-build-farm/]]
A free supplement to CarFax is vehicle.report
Cite: [[https://vehicle.report/]]
Chevy Bolts had buybacks to correct battery defects leading to fires.
Cite: [[https://www.kbb.com/chevrolet/bolt-ev/2020/lt-hatchback-4d/?vehicleid=444932&mileage=50000&offeroptions=true&modalview=false&intent=trade-in-sell&pricetype=private-party&condition=good&iscombined=true&options=9124382%7Ctrue%7C9124381%7Ctrue%7C9124383%7Ctrue%7C9124391%7Ctrue%7C9124391%7Ctrue%7C9124391%7Ctrue&extcolor=black&skippedleadform=true&subintent=sell&colorOptionId=9124391&entry=defymmt]] Cite: [[https://www.reddit.com/r/BoltEV/wiki/index/]]
Lionyx on #systemcrafters about Emacs VC: "…I simply C-x v D, …[kill unwanted lines with k, then]… 'C-x v v'"
Guix needs (add-to-list 'tramp-remote-path 'tramp-own-remote-path) to work with with Tramp in Emacs.
Cite: [[info:tramp#Remote programs]] Cite: [[https://blog.smith-manor.us/tramp_and_guix/]]
Some devlogs on building a Guix router
Cite: [[https://connorbey13.org/writings/gnu-guix-ipv6-v4-router.html]] Cite: [[https://timmydouglas.com/2021/02/07/guix-router.html]]
In Emacs org mode, type C-c C-z to enter a timestamped note under the current heading.
Cite: [[info:org#Drawers]]
Lots of ZNC config tips
Cite: [[https://connor.zip/posts/2023-09-05-znc]]
Default macOS shortcuts can be extended natively to enhance Emacs equivalence.
Cite: [[https://mastodon.social/@amake/116185038353841251]]
In Emacs, magit is superfluous. VC is the way.
Cite: [[info:emacs#Version Control]]
password-store is somewhat preferred by the Guix community.
Cite: [[https://guix.gnu.org/manual/1.5.0/en/html_node/VPN-Services.html]] Cite: [[https://www.freakingpenguin.com/blog/guix-tricks-managing-secrets-using-password-store-and-run-time-decryption-scripts.html]]
password-store, or pass, is the unix password manager I have been looking for.
Cite: [[https://www.passwordstore.org]] Cite: [[https://github.com/tadfisher/pass-otp]]
Lots of good eshell tips for any time I want to dig in and do something more advanced
Cite: [[https://www.howardism.org/Technical/Emacs/eshell-fun.html]]
In Emacs use-package, you can pin packages to specific archives.
Cite: [[info:use-package#Pinning packages]]
There are guides for installing Guix on Raspberry Pi
Cite: [[https://me.literatelisp.eu/guix-system-on-a-raspberry-pi-3b.html]]
A great Emacs ERC and ZNC walk-through
Cite: [[https://notes.secretsauce.net/notes/2014/10/08_znc-and-erc.html]]
In Guile, you can modify the load path programmatically with (add-to-load-path <string>).
Cite: [[info:guile#Load Paths]] Cite: [[https://trop.in/blog/how-to-set-up-guile-load-path]]
Guile Hoot has brought the REPL to the browser!
Cite: [[https://spritely.institute/news/hoot-0-8-0-released.html]]
In Guix System, the root Guix profile is generally not used
Cite: [[https://lists.gnu.org/archive/html/help-guix/2024-08/msg00063.html]]
For Guix, some tips for layering profiles
Cite: [[https://www.futurile.net/2022/12/23/guix-profiles-layering-at-login/]]
In Bash, run who to see all active sessions.
Cite: [[shell:man who]]
In Guix, run sudo -i guix pull to update the root guix profile.
In Emacs evil mode, \ executes the next binding in emacs-state!
Cite: [[help:evil-execute-in-emacs-state]]
The first half of the prior article
Cite: [[https://lambdanil.github.io/Guix_Dive/]]
For Guix, some really interesting inspections of services
Cite: [[https://lambdanil.github.io/Guix_Dive_2/]]
Random Guix tips
Cite: [[https://lambdanil.github.io/Guix_Mistakes/]]
For PDFs, an in-depth explanation of tagged PDFs
Cite: [[https://www.overleaf.com/learn/latex/An_introduction_to_tagged_PDF_files%3A_internals_and_the_challenges_of_accessibility]]
Another piece about secrets in Guix
Cite: [[https://compress.cafe/blog/guix_home_secrets.html]]
GPG (GnuPG) cheatsheet
Cite: [[https://cheatsheets.chaospixel.com/gnupg/]]
For Guix, a starting point for a minimal EXWM config
Cite: [[https://codeberg.org/tuff-engin/GuixConfigurationSkeleton]]
A great index of Guix resources
Cite: [[https://github.com/franzos/awesome-guix]]
macOS has a great native internet speed test CLI: networkquality -v.
In Bash, use qpdf input.pdf --overlay watermark.pdf --to=1 -- --replace-input to add a watermark to the first page of a PDF.
Cite: [[shell:man qpdf]]
WeasyPrint v67 is a significant improvement. It might be the next level in FOSS HTML->PDF.
Cite: [[https://www.courtbouillon.org/blog/00060-weasyprint-67/]]
In Emacs, some tips on setting shell environment variables
Cite: [[http://xahlee.info/emacs/emacs/emacs_env_var_paths.html]]
In Emacs, C-u M-s M-w will execute a web search in a new eww buffer.
In Emacs, search the web natively in eww with M-s M-w.
Cite: [[info:emacs#Word Search]]
Poppler might be the most robust FOSS PDF rendering library.
Cite: [[https://poppler.freedesktop.org]]
xpdf is a PDF reader with lots of useful utilities.
Cite: [[https://www.xpdfreader.com/support.html]]
A book on MuPDF with great insights on PDF mechanics
Cite: [[https://casper.mupdf.com/docs/mupdf_explored.pdf]]
MuPDF seems to be a powerful PDF interpreter library. It is dual licensed under the GPL.
Cite: [[https://mupdf.com]]
In Bash, use Poppler to easily extract images from a PDF: pdfimages -all <input.pdf> <output-dir>
Cite: [[shell:man pdfimages]]
On macOS, use sips -g profile <input-image> to view the name of the image color profile.
Cite: [[shell:man sips]]
In Emacs, an interesting Discord client.
Cite: [[https://aliquote.org/post/discord-bitlbee/]]
In Emacs, you can run a one-off command in eshell from anywhere with M-x eshell-command.
Cite: [[info:eshell#One-Off Commands]]
In Emacs, C-x p e starts eshell in the working directory.
Cite: [[info:emacs#Project File Commands]]
In Bash scripts, beginning your file with set -euo pipefail is a fairly clean way to debug errors.
Cite: [[https://gist.github.com/mohanpedala/1e2ff5661761d3abd0385e8223e16425]]
A good introduction to modular Bash scripting
Cite: [[https://www.funwithlinux.net/bash-scripting/breaking-down-complex-problems-modular-design-in-bash-scripts/#1-what-is-modular-design-in-bash]]
In Bash, use ps aux -c to list auxilary processes by command name.
Cite: [[shell:man ps]]
In Bash, a great starting point for multiline print statements
Cite: [[https://stackoverflow.com/a/57839821/28799158]]
Some common Bash parameter expansions
Cite: [[https://stackoverflow.com/a/3362952]]
In Emacs magit, C-u S stages all files, even untracked (except for ignored).
Cite: [[help:magit-stage-modified]]
pdfseparate and pdfunite are handy utilities for splitting and joining PDFs via the command line.
Cite: [[https://superuser.com/a/1034450]]
In Emacs eww, R enables eww's reader mode, eww-readable.
Cite: [[help:eww-readable]]
In Emacs, M-: (setq VAR VALUE) is indeed the quickest way to set a non-customizable variable.
Cite: [[info:emacs#Examining]]
Mastering Emacs has some good tips for dealing with secrets in Emacs.
Cite: [[https://www.masteringemacs.org/article/keeping-secrets-in-emacs-gnupg-auth-sources]]
Pass is a very vanilla Unix password manager.
Cite: [[https://www.passwordstore.org]]
Shroud is a simple GnuPG-based password manager written in Guile Scheme by David Thompson.
Cite: [[https://dthompson.us/projects/shroud.html]]
On macOS, diskutil eject accepts NAME from diskutil list.
ProseMirror appears to be a robust WYSIWYG collaborative HTML editor written in TypeScript.
Cite: [[https://github.com/prosemirror]]
A superior alternative to Adobe's own InDesign API documentation.
Cite: [[https://www.indesignjs.de/extendscriptAPI/indesign-latest/index.html]]
A convenient way to kill an app via bash: pkill -i "app-name"
Another description of PDF syntax
Cite: [[https://dev.to/zubinajmera/pdf-syntax-101-a-simple-guide-to-pdf-object-types-and-how-they-work-1mmc]]
More info on how PDFs work
Cite: [[https://dev.to/michael_lahr/why-is-pdf-so-hard-to-edit-3h3l]]
The PDF specification
Cite: [[https://opensource.adobe.com/dc-acrobat-sdk-docs/standards/pdfstandards/pdf/PDF32000_2008.pdf]]
To trim a video with ffmpeg, use ffmpeg -i movie.mp4 -ss 00:00:03 -t 00:00:08 -async 1 cut.mp4, where -ss is start time and -t is end time of clip after trim.
Cite: [[https://stackoverflow.com/questions/18444194/cutting-multimedia-files-based-on-start-and-end-time-using-ffmpeg]]
Hammerspoon is a Lua scripting engine for macOS.
Cite: [[https://www.hammerspoon.org]]
One of many okay Bash cheat sheets
Cite: [[https://devhints.io/bash]]
Bash process substitution is cool.
Cite: [[info:bash#Process Substitution]] Cite: [[https://youtu.be/2A4bs40scSo?si=6ypQ9MLstPsbMK6m]]
Concurrency is the key to fault-tolerant programming.
Cite: [[https://youtu.be/cNICGEwmXLU?si=cYkpUjRDXVvr1EO4]]
On macOS, C-RET opens the context menu for the cursor position.
Cite: [[https://apple.stackexchange.com/a/476141/590533]]
In Emacs org-mode, C-u C-u C-c TAB expands a shrunk table.
Cite: [[info:org#Column Width and Alignment]]
In Emacs info-mode, see your history with L.
Cite: [[info:emacs#Help-Int]]
In Emacs, set the default text size in the default face.
Cite: [[info:emacs#Standard Faces]]
In Emacs, single letter bindings prefixed with C-c are reserved for the user.
Cite: [[info:emacs#Key Bindings]]
Programming as a user (e.g. configuring Emacs) seems to be an entirely separate UX from development.
In Emacs with evil, substitute TAB for org-cycle with zO and zo.
Cite: [[=C-h k zO=]] Cite: [[=C-h k zo=]]
Tutorial for crochet beanie that might work well for paracord.
Cite: [[https://youtu.be/ufCgyVbmWkI?si=8mJ7e8cSm6p9XNe5]]
In Emacs, add prefix argument to q in view-mode buffers to kill the buffer instead of burying it.
Cite: [[info:elisp#Quitting Windows]]
In Geiser for Emacs, saving the current buffer in /tmp/ and compiling with C-c C-k prior to C-c C-a seems to be a workaround for temp buffer name space issues.
In Guix, soft-pinning is an interesting idea.
Cite: [[https://www.freakingpenguin.com/blog/guix-tricks-soft-pinning-channels-in-a-channelsscm-file.html]]
An introduction to basic GnuPG usage.
Cite: [[https://www.techtarget.com/searchSecurity/tutorial/How-to-use-GPG-to-encrypt-and-decrypt-files]]
In InDesign, the indent to here character can be used to define a content dependent indent for subsequent lines.
Cite: [[https://helpx.adobe.com/indesign/using/tabs-indents.html]]
In Emacs, engine-mode looks to be a well-build package for leveraging search engines. Per the author's recommendation, I will try the built-in webjump first.
Cite: [[https://elpa.nongnu.org/nongnu-devel/engine-mode.html]]
In Guix, sudo guix pull is basically never needed. An optimal system is configured to always use the user's guix package.
Cite: [[https://logs.guix.gnu.org/guix/2025-11-24.log#222855]]
Some more ideas for handling secrets in Guix.
Cite: [[https://gitlab.com/martin-baulig/config-and-setup/guix-packages/-/blob/work-wal-g/guix/extensions/secrets.scm?ref_type=heads]] Cite: [[https://gitlab.com/martin-baulig/config-and-setup/guix-packages/-/blob/work-wal-g/packages/baulig/build/secrets-service.scm?ref_type=heads]]
Some ideas for handling secrets in Guix.
Cite: [[https://www.freakingpenguin.com/blog/guix-tricks-managing-secrets-using-password-store-and-run-time-decryption-scripts.html]] Cite: [[https://github.com/fishinthecalculator/sops-guix?tab=readme-ov-file]]
Some useful info about guix-for-channels and other ways to configure channels within the system config.
Cite: [[https://lists.gnu.org/archive/html/guix-devel/2024-12/msg00265.html]]
An interesting argument: Macros are are necessary for language development, not regular use cases.
Cite: [[https://qr.ae/pC4VPZ]]
An interesting value comparison: immutable data > functions > macros.
Cite: [[https://ericnormand.me/article/data-functions-macros-why]]
In Emacs ERC, connect to ZNC with (erc-tls :server "my_znc_server.com" :port 5555 :nick "dima5" :password "dima/oftc:zncpassword").
Cite: [[https://notes.secretsauce.net/notes/2014/10/08_znc-and-erc.html]]
A great Guix config for reference.
Cite: [[https://github.com/hiecaq/guix-config]]
In Guix, a way to pin specific packages to their own channel commits is in the works. They are calling it inferiors.
Cite: [[https://guix.gnu.org/manual/en/html_node/Inferiors.html]]
In Emacs, edit a file that requires root credentials with C-x C-f /sudo::/path/to/file/.
Cite: [[https://emacs.stackexchange.com/a/56/49222]]
A helpful explanation of Emacs package management in Guix.
Cite: [[https://www.youtube.com/live/gqmZjovuomc?si=4UgDFBHT5p7hnaXZ]]
A good introduction to Guix.
Cite: [[https://rendaw.gitlab.io/blog/55daefcf49e2.html]]
In Guix, there is a built-in service for ZNC (the IRC bouncer).
Cite: [[https://guix.gnu.org/manual/devel/en/html_node/Messaging-Home-Services.html]]
In Guix, channels can be added directly to the system config with guix-for-channels. This will force a guix pull before every build (including the initial build).
Cite: [[https://guix.gnu.org/manual/devel/en/html_node/Customizing-the-System_002dWide-Guix.html]]
In Vim and Emacs evil insert mode, CTRL-T and CTRL-D indents/outdents the current line.
Cite: [[=:help i_CTRL-T=]] Cite: [[=:help i_CTRL-D=]] Cite: [[=C-h f evil-shift-right-line=]] Cite: [[=C-h f evil-shift-left-line=]]
In Elisp, a great introduction to interactive functions.
Cite: [[https://systemcrafters.net/learning-emacs-lisp/defining-functions-and-commands/]]
For Guix, a custom service to daemonize kmonad.
Cite: [[https://tannerhoelzel.com/gnu-shepherd-simple-service.html]]
In Guix, temp home environments (including dotfiles) can be created with guix home container.
Cite: [[https://guix.gnu.org/manual/devel/en/html_node/Invoking-guix-home.html]]
In Guix, build a dev enviroment as a package from within the project repo.
Cite: [[https://guix.gnu.org/cookbook/en/html_node/Software-Development.html]]
In Emacs, image-dired is a thumbnail preview file manager.
Cite: [[info:emacs#Image-Dired]]
A basic tutorial for manual manipulation of SVGs.
Cite: [[https://www.aleksandrhovhannisyan.com/blog/svg-tutorial/#how-are-svgs-drawn]]
In Emacs, some great help on batch renaming files in dired.
Cite: [[info:emacs#Transforming File Names]]
An interesting browser-based SVG path editor.s
Cite: [[https://yqnn.github.io/svg-path-editor/]]
In Emacs, an interesting preview mode for SVGs.
Cite: [[https://monospace.games/misc/svg-preview-mode/]]
Some great tips for incremental adoption of plain text accounting.
Cite: [[https://tylercipriani.com/blog/2024/10/24/plain-text-accounting/]]
In Emacs, some great tips on expanding the use-package macro.
Cite: [[https://emacsnotes.wordpress.com/2023/07/02/migrating-to-use-package-tip-1-do-not-use-a-naive-macroexpand-to-grok-a-use-package-declaration-use-this-wrapper-instead/]]
In Emacs, glyphless-display-mode will show all invisible characters.
Cite: [[https://lemmy.world/post/15944517]]
Guix has packages for Wireguard.
Cite: [[https://enge.math.u-bordeaux.fr/blog/wireguard.html]]
Wireguard is the new de-facto FOSS VPN.
Cite: [[https://www.wireguard.com]]
Bash permits parenthesized sub-expressions. (Just be sure you escape the parentheses: \(\).)
Cite: [[https://unix.stackexchange.com/a/50613]]
The documentation for the Emacs youtube-dl frontend is available on GitLab.
Cite: [[https://gitlab.com/tuedachu/ytdl]]
An interesting Hledger budgeting strategy.
Cite: [[https://gist.github.com/ony/bbec599c0893e676b772559909b81de6]]
A CSV importer for Ledger written in Elisp.
Cite: [[https://codeberg.org/joostkremers/csv2ledger]]
This is an interesting strategy for budgeting with org mode and Ledger.
Cite: [[https://orgmode.org/worg/org-tutorials/weaving-a-budget.html]]
Union Square and Co. is a publisher that has book designs which are an interesting blend of classic and modern.
Cite: [[https://www.hachettebookgroup.com/imprint/union-square-co/]]
In Emacs, track stats on use-package load times at init.
Cite: [[https://www.gnu.org/software/emacs/manual/html_node/use-package/Gathering-Statistics.html]]
This video is a must watch on containerizing with Guix.
Cite: [[https://archive.fosdem.org/2020/schedule/event/guix/]]
In Emacs org-publish, use the prefix argument to force-rebuild.
Cite: [[https://stackoverflow.com/a/21259718/28799158]]
Skribe and Skribilo may be the scheme markup language I have been looking for.
Cite: [[https://www.nongnu.org/skribilo/]]
In Emacs org mode, some useful tips for big tables (like this one) are available in the manual.
Cite: [[info:org#Column Width and Alignment]]
Some good pointers on publishing notes from org-roam via org-publish.
Cite: [[https://commonplace.doubleloop.net/how-i-publish-my-wiki-with-org-publish]]
In Emacs, this is a simple workflow for find/replace across files.
Cite: [[https://stackoverflow.com/a/271136/28799158]]
Some useful references for future exploration of Gnus for email.
Cite: [[https://baty.net/posts/2025/03/using-gnus-for-email/]] Cite: [[https://github.com/redguardtoo/mastering-emacs-in-one-year-guide/blob/master/gnus-guide-en.org]] Cite: [[https://github.com/jwiegley/dot-emacs/blob/master/init.org]]
In Emacs, C-x C-v kills the current buffer, replacing it with the new file/directory.
Cite: [[=C-h k C-x C-v=]]
This is a good introduction to completions in Emacs (with keybinds).
Cite: [[https://www.masteringemacs.org/article/understanding-minibuffer-completion]]
macOS has massive overlap with Emacs keybindings.
Cite: [[https://jblevins.org/log/kbd]]
Google Docs utilizes the RE2 REGEX standard.
Cite: [[https://support.google.com/docs/answer/62754#regular_expressions&zippy=%2Csee-an-example]] Cite: [[https://github.com/google/re2/blob/main/doc/syntax.txt]]
In Google Docs, \v is the REGEX pattern for soft returns.
Cite: [[https://appiphony.com/blog/create-a-hard-or-soft-return-in-google-docs#:~:text=You%20can%20also%20quickly%20identify,returns%2C%20search%20for%20%5Cv.]]
In InDesign, use a paragraph rule to add offset before the first paragraph in a text frame.
Cite: [[https://graphicdesign.stackexchange.com/a/70460/211504]]
A some great instructions on loading SICP into Emacs info mode.
Cite: [[https://zv.github.io/sicp-in-texinfo]]
Emacs has a native tab mode! Type C-x t 2 to create a new tab.
Cite: [[info:emacs#Tab Bars]]
This is a great introduction to xargs in Bash.
Cite: [[https://stackoverflow.com/a/76130645/28799158]]
Emacs has some text object marking capabilities by default.
Cite: [[info:emacs#Marking Objects]]
In Emacs, launch a new eshell from the current dired directory via C-u M-x eshell. Navigate between these eshells by number: C-3 M-x eshell will open *eshell*<3>.
Cite: [[https://stackoverflow.com/a/6533447]]
In Emacs, org-roam has an Obsidian-style graph visualization.
Cite: [[https://github.com/org-roam/org-roam-ui?tab=readme-ov-file#usage]]
In Emacs, C-o opens a new line after the point. This is a close as Emacs gets to Vim's C-o and C-O.
Cite: [[=C-h k C-o=]]
In Emacs on macOS, the tile bar can be disabled for a cleaner look.
Cite: [[https://stackoverflow.com/a/72426586]]
The Inscape CLI does great conversions from SVG to image formats.
Cite: [[https://stackoverflow.com/a/14174624]]
In Guix, the sops-guix package is an interesting way to manage secrets.
Cite: [[https://fishinthecalculator.me/blog/secrets-management-with-sops-guix.html]]
In Lisp, comment convention recommends ; for end-of-line comments and ;; for comments on their own lines.
Cite: [[https://stackoverflow.com/a/6365579]] Cite: [[https://www.lispworks.com/documentation/HyperSpec/Body/02_ddb.htm]]
In Emacs, type C-q to insert a literal character regardless of bindings. (Think of it at the interactive equivalent of quoting symbols in Lisp.)
Cite: [[=C-h k C-q=]]
In Emacs, evaluate (insert (format-time-string "%Y-%m-%d")) to insert the current date in YYYY-MM-DD format.
In Emacs, devil-mode may be the best modifier-less minor mode.
Cite: [[https://github.com/susam/devil]] Cite: [[https://susam.github.io/devil/]]
In Emacs, god-mode beautifully addresses modifier fatigue.
Cite: [[https://chrisdone.com/posts/god-mode/]] Cite: [[https://github.com/emacsorphanage/god-mode]]
In Vim insert mode, ga will reveal information about the character under the cursor, including its Vim digraph.
Cite: [[=:help ga=]]
This author has an interesting perspective on prepress via CSS paged media module.
Cite: [[https://iangmcdowell.com/blog/posts/laying-out-a-book-with-css/]]
SXML is a Guile Scheme standard for representing XML.
Cite: [[https://www.gnu.org/software/guile/manual/html_node/SXML.html]]
A potentially useful guide on setting up Gnus in Emacs.
Cite: [[https://www.bounga.org/tips/2020/05/03/multiple-smtp-accounts-in-gnus-without-external-tools/]]
50# offset (uncoated) paper stock has an average thickness of 0.004 in.
Cite: [[https://www.hollandlitho.com/paper_thickness_and_weight_cutting_through_the_confusion.html]]
In Vim and Emacs evil, CTRL-B is bound to <PageUp>.
Cite: [[=:help CTRL-B=]] Cite: [[=C-h f evil-scroll-page-up=]]
In Emacs ELisp buffers, tab autocompletion of procedures can be enabled.
Cite: [[https://stackoverflow.com/a/7023515]]
This is a good place to start when learning Emacs.
Cite: [[https://protesilaos.com/codelog/2019-12-20-vlog-switch-emacs/]]
Protesilaos Stavrou is a Greek thinker with potential insights on FOSS and Emacs.
Cite: [[https://protesilaos.com/about/]]
This paper explains the rationale behind LAML.
Cite: [[https://archives.iw3c2.org/www2002/_normark/laml/papers/lugm-laml.pdf]]
LAML is perhaps the nicest Lisp markup language.
Cite: [[https://people.cs.aau.dk/~normark/laml-distributions/laml/index.html]]
I guess I should not be surprised that there are many attempts at Lisp-as-markup.
Cite: [[https://www.cliki.net/Lisp+Markup+Languages]]
Guix channels may be embedded in the system and home config files.
Cite: [[https://guix.gnu.org/manual/devel/en/html_node/Customizing-the-System_002dWide-Guix.html]] Cite: [[https://guix.gnu.org/manual/en/html_node/Guix-Home-Services.html]]
In Bash, use du -hs . to get the size of the current directory.
Cite: [[=man du=]] Cite: [[https://stackoverflow.com/a/16662027]]
In Emacs, M-n to access minibuffer future history moving files between dired buffers.
Cite: [[https://www.reddit.com/r/emacs/comments/1hevtrx/dired_faster_way_to_move_files/]] Cite: [[https://engineering.collbox.co/post/working-faster-in-emacs-by-reading-the-future/]]
In Emacs, C-x 4 0 closes the current window and buffer.
Cite: [[https://superuser.com/q/1309765/2465866]]
This is a great introduction into Vim-comparable motions in Emacs.
Cite: [[https://www.masteringemacs.org/article/effective-editing-movement]]
A potentially useful plugin for batching various InDesign exports.
Cite: [[https://creativepro.com/files/kahrel/indesign/batch_convert.html]]
This is a very provocative talk about interactive and visual programming.
Cite: [[https://jackrusher.com/strange-loop-2022/]]
Interactive programming is what I have been looking for regarding the correct way to interface with computers.
Cite: [[https://en.wikipedia.org/wiki/Interactive_programming]]
In Vim insert mode, type <C-o> to use one normal mode command without leaving insert mode.
Cite: [[=:help i_CTRL-O=]]
Guix has a handy reference card for frequent commands.
Cite: [[https://guix.gnu.org/guix-refcard.pdf]]
LispKit is a library for developing Scheme on Apple devices. It has some interesting graphing capabilities.
Cite: [[https://www.lisppad.app/libraries/lispkit/lispkit-draw-chart-bar]]
These posts give the most detailed explanation of the InDesign MathML implementation than I have found to-date.
Cite: [[https://indiscripts.com/post/2024/10/indesign-20-goes-to-mathml-1]] Cite: [[https://indiscripts.com/post/2025/03/indesign-20-goes-to-mathml-2]]
This is a great basic usage of Guix Deploy.
Cite: [[https://stumbles.id.au/getting-started-with-guix-deploy.html]]
Gimp supports automated workflows via scripting in Scheme!
Cite: [[https://www.gimp.org/tutorials/Basic_Batch/]]
In Vim, type U to toggle undo line.
Cite: [[=:help U=]]
In Vim, ZZ is equivalent to :x.
Cite: [[=:help ZZ=]]
In Vim, <C-d> will show all matching help topics for an incomplete help command.
Cite: [[=:help c_CTRL-D=]]
In Vim, type <C-w>p to go to the previous window.
Cite: [[=:help CTRL-W_p=]]
GUI apps can be started from the Linux virtual terminal via a number of methods.
Cite: [[https://linuxconfig.org/how-to-run-x-applications-without-a-desktop-or-a-wm]] Cite: [[https://superuser.com/q/550020]] Cite: [[https://superuser.com/q/606811]]
David Thompson, a Guix contributor, gives some helpful perspective on hardware compatibility with Guix's FOSS stance.
Cite: [[https://dthompson.us/posts/installing-guix-on-a-10th-gen-thinkpad-x1.html]]
In Vim, type g<C-g> to see information about the cursor position.
Cite: [[=:help g_CTRL-G=]] Cite: [[=:help word-count=]]
In Vim, type :set ruler to enable line/column/relative position info for the cursor in the bottom left of the window.
Cite: [[=:help ruler=]] Cite: [[https://unix.stackexchange.com/a/335468/727998]]
In Vim insert mode, type <C-k>Co for the copyright symbol: ©.
Cite: [[=:digraphs=]] Cite: [[=:help digraph=]]
In Vim command mode, type :e <cfile> to create a new file at the path under the cursor.
Cite: [[=:help=]]
This devlog has some helpful info about an initial Guix setup.
Cite: [[https://simendsjo.me/blog/20240712085803-initial_guix_home_setup.html]]
Guix deploy is a built-in feature for managing Guix on remote hardware.
Cite: [[https://guix.gnu.org/manual/en/html_node/Invoking-guix-deploy.html]]
Haunt is a static site generator written in Guile Scheme.
Cite: [[https://dthompson.us/projects/haunt.html]]
The man page for bash has a whole section about the readline (with keybinds.
Cite: [[=man bash=]]
In Vim, Netrw cannot copy directories.
Cite: [[https://vi.stackexchange.com/questions/12095/is-it-possible-to-clone-a-directory-with-netrw]] Cite: [[https://stackoverflow.com/questions/26958059/vim-netrw-copy-commands]]
Vim can be configured to run as a command server when GUI support is enabled.
Cite: [[=:help clientserver=]] Cite: [[https://subvisual.com/blog/posts/119-open-files-on-existing-vim-sessions/]]
This is a great quick-start guide by the founder of Guix about using Guix Home.
Cite: [[https://guix.gnu.org/blog/2022/keeping-ones-home-tidy/]]
This guy, Podiki, built a gaming rig with Guix System. He is also a major contributor to NonGuix.
Cite: [[https://boilingsteam.com/how-i-built-my-new-linux-gaming-desktop-in-2021-with-amd-cpugpu-and-gnu-guix/]]
In Vim, use :helpg /pattern/ to search the Vim help via grep. Use :cn and :cp to navigate matches.
Cite: [[=:help helpg=]]
System Crafters is a great community with info about Guix and Emacs.
Cite: [[https://systemcrafters.net/]]
Guix is a better, GNU clone of NixOS configured in Guile Scheme.
Cite: [[https://guix.gnu.org/]]
Literate programming is a way of documenting high-level code approaches by structuring the code files with prose.
Cite: [[https://en.wikipedia.org/wiki/Literate_programming]]
In Zsh, $OLDPWD stores the value of the previous pwd. This is hugely useful for moving files around.
In Zsh, adding a glob to an expression makes the whole expression a glob. Make sure you are postfixing * if you want to see all matches for a that begin with the glob.
In Vim, use <C-w>T to move the current window to a new tab.
Cite: [[=CTRL-W_T=]]
In Zsh, use exec zsh to totally reload Zsh (including environment variables).
Cite: [[https://batsov.com/articles/2022/09/15/reload-zsh-configuration/]]
top is way better than Activity Monitor.
Cite: [[=man top=]]
In Vim, nrformats+=alpha must be set to increment/decrement letters with the below two commands.
Cite: [[=:help nrformats=]]
In Vim visual modes, use g<C-x> to decrement.
Cite: [[=:help v_g_CTRL-X=]]
In Vim visual modes, use g<C-a> to increment numbers on all lines.
Cite: [[=:help v_g_CTRL-A=]] Cite: [[https://www.joshmorony.com/totw/28/]]
In Vim, use `< and `> to go to the beginning and end of the previous visual selection.
Cite: [[=:help `<=]] Cite: [[=:help `>=]] Cite: [[https://stackoverflow.com/questions/11176159/how-to-jump-to-the-start-or-the-end-of-visual-selection-in-vim]]
In Vim, <C-r><C-r>register will paste from a register without executing special characters.
Cite: [[=:help i_CTRL-R_CTRL-R=]] Cite: [[https://vim.fandom.com/wiki/Pasting_registers]]
In Vim, you can execute arbitrary edits with :g/pattern/normal somecommand.
Cite: [[=:help :g=]] Cite: [[https://learnvim.irian.to/basics/the_global_command]]
In double entry accounting, payments made with credit cards and other liabilities are represented as outgoing (negative) values.
Cite: [[https://www.reddit.com/r/plaintextaccounting/comments/eh9bz7/yet_another_question_about_credit_cards_and/]]
In Zsh use bindkey -v to enable Vi mode. (Insert mode is the default.
In Zsh use setopt extended_glob; yourcmdhere (^negativepattern) to apply a command via an exclusion.
Cite: [[https://unix.stackexchange.com/a/541787/727998]]
In Vim insert mode, type <C-v>160 to insert a no-break space.
Cite: [[https://vimtricks.com/p/vimtrick-non-printable-characters/]]
In Vim, you can set various white space characters and markers with listchars.
Cite: [[=:help listchars=]]
In Vim R replace mode, type <C-r>" to paste yanked contents.
Cite: [[https://stackoverflow.com/a/25413808/28799158]]
In Vim GREP, \_. matches any character including a newline.
Cite: [[=:help /\_.=]] Cite: [[https://stackoverflow.com/a/784203/28799158]]
In Vim, use :%s//~/ to redo the last substitution.
Cite: [[=:help g&=]] Cite: [[https://vi.stackexchange.com/a/18107/54693]]
Pandoc can translate markdown fenced divs to ICML paragraph and character styles.
Cite: [[https://github.com/jgm/pandoc/wiki/Importing-Markdown-in-InDesign]]
Processing manuscripts as XML may dramatically reduce the InDesign workload.
Cite: [[https://helpx.adobe.com/indesign/using/importing-xml.html]] Cite: [[https://carijansen.com/indesign-xml-reference-guide/]] Cite: [[https://stackoverflow.com/a/66267474/28799158]]
In Vim, gq{motion} will format the text. This is particularly useful for aligning text to a tab stop.
Cite: [[=:help gq=]]
In Vim @% is the register for the current file (absolute path).
Cite: [[=:help quote%=]]
In Vim, :call delete(@%) deletes the current (but leaves the buffer intact.
Cite: [[=:help delete()=]] Cite: [[https://stackoverflow.com/a/16679182]]
In Vim GREP, \c makes the selection case insensitive.
Cite: [[=:help /\c=]] Cite: [[https://superuser.com/a/713957]]
In Vim, _ is the current line motion.
Cite: [[=:help _=]] Cite: [[https://stackoverflow.com/a/47864035/28799158]]
This video explores the importance of experience/familiarity/practice in learning at pace.
Cite: [[https://www.youtube.com/watch?v=bSDprg24pEA]]
Vim has a built in print feature: :hardcopy
Cite: [[=:help :hardcopy=]] Cite: [[https://stackoverflow.com/a/9693079]]
lpr is a shell service for printing files.
Cite: [[=man lpr=]] Cite: [[https://superuser.com/a/607380]]
In Vim command mode, <cfile> is replaced with the filename under the cursor.
Cite: [[=:help=]]
Lilypond is a musical markup language based on ABC and LaTeX. There is a (depreciated) Pandoc Lua filter for it already.
Cite: [[https://lilypond.org]] Cite: [[https://abcnotation.com]] Cite: [[https://github.com/pandoc/lua-filters/tree/master/lilypond]]
In Vim GREP, the \%V atom restricts the search to the last visual mode selection.
Cite: [[=help /\%V=]] Cite: [[https://vim.fandom.com/wiki/Search_and_replace_in_a_visual_selection#Substituting_in_a_visual_selection]]
In Vim command mode, use <Up> and <Down> to scroll through history just like in the shell.
Cite: [[=:help c_=]] Cite: [[=:help c_ =]]
In Vim, use :ene=/:enew= to begin editing a new file in the pwd.
Cite: [[=:help :enew=]]
I finally remembered where I bought my favorite round thick-rimmed glasses.
Cite: [[https://www.fytoo.com/product/FT0969?id=2239]]
Language is provably ambiguous.
Cite: [[https://youtu.be/rWjUS2h2BfU?si=pITI0xi3Fq0LUz8p]]
The royal order of adjectives is a standard order for chaining adjectives in English.
Cite: [[https://dictionary.cambridge.org/us/grammar/british-grammar/adjectives-order]]
ShellCheck is a Haskell shell script validator.
Cite: [[https://hackage.haskell.org/package/ShellCheck]]
GitHub CLI extension leaves much to be desired. Currently, it can only process shell commands.
Cite: [[https://docs.github.com/en/copilot/using-github-copilot/using-github-copilot-in-the-command-line]]
API keys are not a part of the ChatGPT Plus subscription. They are served by the OpenAI API platform.
Cite: [[https://community.openai.com/t/api-access-as-a-chatgpt-plus-subscriber/573409/2]]
InDesign's GREP supports word boundaries: \b. (It also supports the opening/closing boundaries: \< and \>.)
Cite: [[https://www.oreilly.com/library/view/grep-in-indesign/9780596157173/ch04.html]]
Zenburn is a Vim color scheme used natively for Pandoc syntax highlighting. It is so good, I am using it in my .vimrc.
Cite: [[https://github.com/jnurmine/Zenburn]]
SVG favicons are now a thing.
Cite: [[https://css-tricks.com/svg-favicons-and-all-the-fun-things-we-can-do-with-them/]]
In CSS, use display: flow-root; to ensure parent elements min size accounts for floated elements.
Cite: [[https://www.digitalocean.com/community/tutorials/css-no-more-clearfix-flow-root]]
In Vim insert mode, evaluate expressions (e.g. math) by typing <C-R>=yourexpression<CR>.
Cite: [[=:help c_CTRL-R_==]] Cite: [[https://vimtricks.com/p/vim-calculator/]]
In Vim, open file under the cursor in a new split with CTRL-W_f.
Cite: [[=:help CTRL-W_f=]] Cite: [[https://vimtricks.com/p/open-file-in-a-split/]]
In Vim, quickly switch to a one-time shell with :shell or :sh.
Cite: [[=:help :shell=]]
In Git, ** use git reset to clear local changes since last commit.
Cite: [[https://stackoverflow.com/a/1146981/28799158]]
In Vim, use g& to repeat last substitution.
Cite: [[=:help g&=]] Cite: [[https://vi.stackexchange.com/a/18107/54693]]
In Git, safely undo up to a prior commit without destroying history: git revert --no-commit 0d1d7fc3..HEAD
Cite: [[https://stackoverflow.com/a/21718540/28799158]]
Pandoc will treat iframes and other plain HTML as code blocks if there are more than four spaces worth of indentation.
Cite: [[https://github.com/jgm/pandoc/issues/2244]]
In Vim, delete all but current buffer with %bd\verte#
Cite: [[https://stackoverflow.com/a/34050776/28799158]]
Quickly create a PDF with a subset of the pages of another PDF by selecting the pages in the sidebar right-clicking and selecting Extract Pages….
A joke about how deep the rabbit hole goes for solving computer problems.
Cite: [[https://people.willamette.edu/~fruehr/haskell/evolution.html]]
The T2 chip on Apple computers can make installing Linux difficult.
Cite: [[https://wiki.t2linux.org]]
Tufte CSS is a CSS styling philosophy derived from Edward Tufte's books and handouts. (It is very elegant.)
Cite: [[https://edwardtufte.github.io/tufte-css/]]
git checkout -b [<name-of-new-branch>] is a composition of git branch and git checkout.
Cite: [[https://stackoverflow.com/questions/66882952/how-to-create-new-local-branch-and-switch-between-branches-in-git]]
Pandoc multiline tables best fit my needs for note taking. NOTE: They still convert to single-line.
Cite: [[https://pandoc.org/MANUAL.html#extension-multiline_tables]]
In Vim, use :echo expand("%:h") to show the path of the current file.
Cite: [[=:help :echo=]] Cite: [[=:help expand()=]]
In Vim, % refers to the complete file path %:h gets the head (path minus filename).
Cite: [[=:help %:h=]]
In Vim, insert current time insert mode with <C-r>=strftime('%F')<CR>.
Cite: [[https://superuser.com/questions/451340/how-to-insert-the-date-into-vim]]