| It is possible to launch X server after login on Guix. |
2026-04-13 |
https://lists.gnu.org/archive/html/help-guix/2018-07/msg00080.html, https://github.com/lfam/guix/blob/master/gnu/services/xorg.scm |
| An interesting approach to scripting on Guix |
2026-04-13 |
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. |
2026-04-08 |
https://debbugs.gnu.org/cgi/bugreport.cgi?bug=79665, https://gist.github.com/LionyxML/55618551fcc8d1446bd8023bd178687f |
A simple temp-file server: curl -F file=@filename.extension -Fexpires=24 https://temp.sh/upload |
2026-04-06 |
https://www.temp.sh |
Emacs has a dired-like buffer for processes: M-x proced |
2026-04-01 |
https://www.masteringemacs.org/article/displaying-interacting-processes-proced, https://unix.stackexchange.com/questions/317492/list-of-kill-signals |
| Another great guix substitutes build farm: cache-cdn.guix.moe |
2026-03-31 |
https://ultrarare.space/en/posts/guix-build-farm/ |
| A free supplement to CarFax is vehicle.report |
2026-03-26 |
https://vehicle.report/ |
| Chevy Bolts had buybacks to correct battery defects leading to fires. |
2026-03-26 |
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, 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'" |
2026-03-18 |
|
Guix needs (add-to-list 'tramp-remote-path 'tramp-own-remote-path) to work with with Tramp in Emacs. |
2026-03-17 |
info "(tramp) Remote programs", https://blog.smith-manor.us/tramp_and_guix/ |
| Some devlogs on building a Guix router |
2026-03-13 |
https://connorbey13.org/writings/gnu-guix-ipv6-v4-router.html, 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. |
2026-03-12 |
info "(org) Drawers" |
| Lots of ZNC config tips |
2026-03-11 |
https://connor.zip/posts/2023-09-05-znc |
| Default macOS shortcuts can be extended natively to enhance Emacs equivalence. |
2026-03-11 |
https://mastodon.social/@amake/116185038353841251 |
| In Emacs, magit is superfluous. VC is the way. |
2026-03-10 |
info "(emacs) Version Control" |
| password-store is somewhat preferred by the Guix community. |
2026-03-09 |
https://guix.gnu.org/manual/1.5.0/en/html_node/VPN-Services.html, 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. |
2026-03-09 |
https://www.passwordstore.org, https://github.com/tadfisher/pass-otp |
| Lots of good eshell tips for any time I want to dig in and do something more advanced |
2026-03-06 |
https://www.howardism.org/Technical/Emacs/eshell-fun.html |
| In Emacs use-package, you can pin packages to specific archives. |
2026-03-06 |
info "(use-package) Pinning packages" |
| There are guides for installing Guix on Raspberry Pi |
2026-02-26 |
https://me.literatelisp.eu/guix-system-on-a-raspberry-pi-3b.html |
| A great Emacs ERC and ZNC walk-through |
2026-02-26 |
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>). |
2026-02-26 |
info "(guile) Load Paths", https://trop.in/blog/how-to-set-up-guile-load-path |
| Guile Hoot has brought the REPL to the browser! |
2026-02-26 |
https://spritely.institute/news/hoot-0-8-0-released.html |
| In Guix System, the root Guix profile is generally not used |
2026-02-26 |
https://lists.gnu.org/archive/html/help-guix/2024-08/msg00063.html |
| For Guix, some tips for layering profiles |
2026-02-26 |
https://www.futurile.net/2022/12/23/guix-profiles-layering-at-login/ |
In Bash, run who to see all active sessions. |
2026-02-24 |
shell:man%20who |
In Guix, run sudo -i guix pull to update the root guix profile. |
2026-02-24 |
|
In Emacs evil mode, \ executes the next binding in emacs-state! |
2026-02-23 |
help:evil-execute-in-emacs-state |
| The first half of the prior article |
2026-02-20 |
https://lambdanil.github.io/Guix_Dive/ |
| For Guix, some really interesting inspections of services |
2026-02-20 |
https://lambdanil.github.io/Guix_Dive_2/ |
| Random Guix tips |
2026-02-18 |
https://lambdanil.github.io/Guix_Mistakes/ |
| For PDFs, an in-depth explanation of tagged PDFs |
2026-02-18 |
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 |
2026-02-18 |
https://compress.cafe/blog/guix_home_secrets.html |
| GPG (GnuPG) cheatsheet |
2026-02-18 |
https://cheatsheets.chaospixel.com/gnupg/ |
| For Guix, a starting point for a minimal EXWM config |
2026-02-18 |
https://codeberg.org/tuff-engin/GuixConfigurationSkeleton |
| A great index of Guix resources |
2026-02-18 |
https://github.com/franzos/awesome-guix |
macOS has a great native internet speed test CLI: networkquality -v. |
2026-02-05 |
|
In Bash, use qpdf input.pdf --overlay watermark.pdf --to=1 -- --replace-input to add a watermark to the first page of a PDF. |
2026-02-04 |
shell:man%20qpdf |
| WeasyPrint v67 is a significant improvement. It might be the next level in FOSS HTML->PDF. |
2026-02-02 |
https://www.courtbouillon.org/blog/00060-weasyprint-67/ |
| In Emacs, some tips on setting shell environment variables |
2026-02-02 |
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. |
2026-02-02 |
|
In Emacs, search the web natively in eww with M-s M-w. |
2026-02-01 |
info "(emacs) Word Search" |
| Poppler might be the most robust FOSS PDF rendering library. |
2026-01-30 |
https://poppler.freedesktop.org |
| xpdf is a PDF reader with lots of useful utilities. |
2026-01-30 |
https://www.xpdfreader.com/support.html |
| A book on MuPDF with great insights on PDF mechanics |
2026-01-30 |
https://casper.mupdf.com/docs/mupdf_explored.pdf |
| MuPDF seems to be a powerful PDF interpreter library. It is dual licensed under the GPL. |
2026-01-30 |
https://mupdf.com |
In Bash, use Poppler to easily extract images from a PDF: pdfimages -all <input.pdf> <output-dir> |
2026-01-30 |
shell:man%20pdfimages |
On macOS, use sips -g profile <input-image> to view the name of the image color profile. |
2026-01-29 |
shell:man%20sips |
| In Emacs, an interesting Discord client. |
2026-01-28 |
https://aliquote.org/post/discord-bitlbee/ |
In Emacs, you can run a one-off command in eshell from anywhere with M-x eshell-command. |
2026-01-28 |
info "(eshell) One-Off Commands" |
In Emacs, C-x p e starts eshell in the working directory. |
2026-01-28 |
info "(emacs) Project File Commands" |
In Bash scripts, beginning your file with set -euo pipefail is a fairly clean way to debug errors. |
2026-01-28 |
https://gist.github.com/mohanpedala/1e2ff5661761d3abd0385e8223e16425 |
| A good introduction to modular Bash scripting |
2026-01-28 |
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. |
2026-01-28 |
shell:man%20ps |
| In Bash, a great starting point for multiline print statements |
2026-01-25 |
https://stackoverflow.com/a/57839821/28799158 |
| Some common Bash parameter expansions |
2026-01-25 |
https://stackoverflow.com/a/3362952 |
In Emacs magit, C-u S stages all files, even untracked (except for ignored). |
2026-01-23 |
help:magit-stage-modified |
| pdfseparate and pdfunite are handy utilities for splitting and joining PDFs via the command line. |
2026-01-23 |
https://superuser.com/a/1034450 |
In Emacs eww, R enables eww's reader mode, eww-readable. |
2026-01-22 |
help:eww-readable |
In Emacs, M-: (setq VAR VALUE) is indeed the quickest way to set a non-customizable variable. |
2026-01-22 |
info "(emacs) Examining and Setting Variables" |
| Mastering Emacs has some good tips for dealing with secrets in Emacs. |
2026-01-20 |
https://www.masteringemacs.org/article/keeping-secrets-in-emacs-gnupg-auth-sources |
| Pass is a very vanilla Unix password manager. |
2026-01-20 |
https://www.passwordstore.org |
| Shroud is a simple GnuPG-based password manager written in Guile Scheme by David Thompson. |
2026-01-20 |
https://dthompson.us/projects/shroud.html |
On macOS, diskutil eject accepts NAME from diskutil list. |
2026-01-19 |
|
| ProseMirror appears to be a robust WYSIWYG collaborative HTML editor written in TypeScript. |
2026-01-16 |
https://github.com/prosemirror |
| A superior alternative to Adobe's own InDesign API documentation. |
2026-01-15 |
https://www.indesignjs.de/extendscriptAPI/indesign-latest/index.html |
A convenient way to kill an app via bash: pkill -i "app-name" |
2026-01-08 |
|
| Another description of PDF syntax |
2026-01-08 |
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 |
2026-01-08 |
https://dev.to/michael_lahr/why-is-pdf-so-hard-to-edit-3h3l |
| The PDF specification |
2026-01-08 |
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. |
2025-12-24 |
https://stackoverflow.com/questions/18444194/cutting-multimedia-files-based-on-start-and-end-time-using-ffmpeg |
| Hammerspoon is a Lua scripting engine for macOS. |
2025-12-19 |
https://www.hammerspoon.org |
| One of many okay Bash cheat sheets |
2025-12-18 |
https://devhints.io/bash |
| Bash process substitution is cool. |
2025-12-17 |
info "(bash) Process Substitution", https://youtu.be/2A4bs40scSo?si=6ypQ9MLstPsbMK6m |
| Concurrency is the key to fault-tolerant programming. |
2025-12-17 |
https://youtu.be/cNICGEwmXLU?si=cYkpUjRDXVvr1EO4 |
On macOS, C-RET opens the context menu for the cursor position. |
2025-12-10 |
https://apple.stackexchange.com/a/476141/590533 |
In Emacs org-mode, C-u C-u C-c TAB expands a shrunk table. |
2025-12-10 |
info "(org) Column Width and Alignment" |
In Emacs info-mode, see your history with L. |
2025-12-10 |
info "(emacs) Help-Int" |
In Emacs, set the default text size in the default face. |
2025-12-10 |
info "(emacs) Standard Faces" |
In Emacs, single letter bindings prefixed with C-c are reserved for the user. |
2025-12-09 |
info "(emacs) Key Bindings" |
| Programming as a user (e.g. configuring Emacs) seems to be an entirely separate UX from development. |
2025-12-09 |
|
In Emacs with evil, substitute TAB for org-cycle with zO and zo. |
2025-12-08 |
C-h k zO, C-h k zo |
| Tutorial for crochet beanie that might work well for paracord. |
2025-12-04 |
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. |
2025-12-03 |
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. |
2025-12-02 |
|
| In Guix, soft-pinning is an interesting idea. |
2025-11-29 |
https://www.freakingpenguin.com/blog/guix-tricks-soft-pinning-channels-in-a-channelsscm-file.html |
| An introduction to basic GnuPG usage. |
2025-11-29 |
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. |
2025-11-28 |
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. |
2025-11-26 |
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. |
2025-11-24 |
https://logs.guix.gnu.org/guix/2025-11-24.log#222855 |
| Some more ideas for handling secrets in Guix. |
2025-11-21 |
https://gitlab.com/martin-baulig/config-and-setup/guix-packages/-/blob/work-wal-g/guix/extensions/secrets.scm?ref_type=heads, 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. |
2025-11-21 |
https://www.freakingpenguin.com/blog/guix-tricks-managing-secrets-using-password-store-and-run-time-decryption-scripts.html, 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. |
2025-11-21 |
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. |
2025-11-21 |
https://qr.ae/pC4VPZ |
| An interesting value comparison: immutable data > functions > macros. |
2025-11-21 |
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"). |
2025-11-18 |
https://notes.secretsauce.net/notes/2014/10/08_znc-and-erc.html |
| A great Guix config for reference. |
2025-11-17 |
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. |
2025-11-17 |
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/. |
2025-11-16 |
https://emacs.stackexchange.com/a/56/49222 |
| A helpful explanation of Emacs package management in Guix. |
2025-11-16 |
https://www.youtube.com/live/gqmZjovuomc?si=4UgDFBHT5p7hnaXZ |
| A good introduction to Guix. |
2025-11-16 |
https://rendaw.gitlab.io/blog/55daefcf49e2.html |
| In Guix, there is a built-in service for ZNC (the IRC bouncer). |
2025-11-16 |
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). |
2025-11-16 |
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. |
2025-11-14 |
:help i_CTRL-T, :help i_CTRL-D, C-h f evil-shift-right-line, C-h f evil-shift-left-line |
| In Elisp, a great introduction to interactive functions. |
2025-11-14 |
https://systemcrafters.net/learning-emacs-lisp/defining-functions-and-commands/ |
| For Guix, a custom service to daemonize kmonad. |
2025-11-13 |
https://tannerhoelzel.com/gnu-shepherd-simple-service.html |
In Guix, temp home environments (including dotfiles) can be created with guix home container. |
2025-11-13 |
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. |
2025-11-03 |
https://guix.gnu.org/cookbook/en/html_node/Software-Development.html |
| In Emacs, image-dired is a thumbnail preview file manager. |
2025-11-03 |
info "(emacs) Image-Dired" |
| A basic tutorial for manual manipulation of SVGs. |
2025-10-29 |
https://www.aleksandrhovhannisyan.com/blog/svg-tutorial/#how-are-svgs-drawn |
| In Emacs, some great help on batch renaming files in dired. |
2025-10-29 |
info "(emacs) Transforming File Names" |
| An interesting browser-based SVG path editor.s |
2025-10-24 |
https://yqnn.github.io/svg-path-editor/ |
| In Emacs, an interesting preview mode for SVGs. |
2025-10-24 |
https://monospace.games/misc/svg-preview-mode/ |
| Some great tips for incremental adoption of plain text accounting. |
2025-10-20 |
https://tylercipriani.com/blog/2024/10/24/plain-text-accounting/ |
In Emacs, some great tips on expanding the use-package macro. |
2025-10-20 |
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. |
2025-10-20 |
https://lemmy.world/post/15944517 |
| Guix has packages for Wireguard. |
2025-10-16 |
https://enge.math.u-bordeaux.fr/blog/wireguard.html |
| Wireguard is the new de-facto FOSS VPN. |
2025-10-16 |
https://www.wireguard.com |
Bash permits parenthesized sub-expressions. (Just be sure you escape the parentheses: \(\).) |
2025-10-07 |
https://unix.stackexchange.com/a/50613 |
| The documentation for the Emacs youtube-dl frontend is available on GitLab. |
2025-09-25 |
https://gitlab.com/tuedachu/ytdl |
| An interesting Hledger budgeting strategy. |
2025-09-23 |
https://gist.github.com/ony/bbec599c0893e676b772559909b81de6 |
| A CSV importer for Ledger written in Elisp. |
2025-09-23 |
https://codeberg.org/joostkremers/csv2ledger |
| This is an interesting strategy for budgeting with org mode and Ledger. |
2025-09-23 |
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. |
2025-09-23 |
https://www.hachettebookgroup.com/imprint/union-square-co/ |
In Emacs, track stats on use-package load times at init. |
2025-09-23 |
https://www.gnu.org/software/emacs/manual/html_node/use-package/Gathering-Statistics.html |
| This video is a must watch on containerizing with Guix. |
2025-09-23 |
https://archive.fosdem.org/2020/schedule/event/guix/ |
| In Emacs org-publish, use the prefix argument to force-rebuild. |
2025-09-18 |
https://stackoverflow.com/a/21259718/28799158 |
| Skribe and Skribilo may be the scheme markup language I have been looking for. |
2025-09-18 |
https://www.nongnu.org/skribilo/ |
| In Emacs org mode, some useful tips for big tables (like this one) are available in the manual. |
2025-09-17 |
info "(org) Column Width and Alignment" |
| Some good pointers on publishing notes from org-roam via org-publish. |
2025-09-17 |
https://commonplace.doubleloop.net/how-i-publish-my-wiki-with-org-publish |
| In Emacs, this is a simple workflow for find/replace across files. |
2025-09-17 |
https://stackoverflow.com/a/271136/28799158 |
| Some useful references for future exploration of Gnus for email. |
2025-09-16 |
https://baty.net/posts/2025/03/using-gnus-for-email/, https://github.com/redguardtoo/mastering-emacs-in-one-year-guide/blob/master/gnus-guide-en.org, 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. |
2025-09-16 |
C-h k C-x C-v |
| This is a good introduction to completions in Emacs (with keybinds). |
2025-09-11 |
https://www.masteringemacs.org/article/understanding-minibuffer-completion |
| macOS has massive overlap with Emacs keybindings. |
2025-09-11 |
https://jblevins.org/log/kbd |
| Google Docs utilizes the RE2 REGEX standard. |
2025-09-09 |
https://support.google.com/docs/answer/62754#regular_expressions&zippy=%2Csee-an-example, https://github.com/google/re2/blob/main/doc/syntax.txt |
In Google Docs, \v is the REGEX pattern for soft returns. |
2025-09-09 |
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. |
2025-09-09 |
https://graphicdesign.stackexchange.com/a/70460/211504 |
| A some great instructions on loading SICP into Emacs info mode. |
2025-09-05 |
https://zv.github.io/sicp-in-texinfo |
Emacs has a native tab mode! Type C-x t 2 to create a new tab. |
2025-09-05 |
info "(emacs) Tab Bars" |
| This is a great introduction to xargs in Bash. |
2025-09-04 |
https://stackoverflow.com/a/76130645/28799158 |
| Emacs has some text object marking capabilities by default. |
2025-09-03 |
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>. |
2025-09-02 |
https://stackoverflow.com/a/6533447 |
| In Emacs, org-roam has an Obsidian-style graph visualization. |
2025-09-02 |
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. |
2025-08-28 |
C-h k C-o |
| In Emacs on macOS, the tile bar can be disabled for a cleaner look. |
2025-08-28 |
https://stackoverflow.com/a/72426586 |
| The Inscape CLI does great conversions from SVG to image formats. |
2025-08-27 |
https://stackoverflow.com/a/14174624 |
| In Guix, the sops-guix package is an interesting way to manage secrets. |
2025-08-27 |
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. |
2025-08-25 |
https://stackoverflow.com/a/6365579, 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.) |
2025-08-22 |
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. |
2025-08-22 |
|
| In Emacs, devil-mode may be the best modifier-less minor mode. |
2025-08-22 |
https://github.com/susam/devil, https://susam.github.io/devil/ |
| In Emacs, god-mode beautifully addresses modifier fatigue. |
2025-08-22 |
https://chrisdone.com/posts/god-mode/, https://github.com/emacsorphanage/god-mode |
In Vim insert mode, ga will reveal information about the character under the cursor, including its Vim digraph. |
2025-08-20 |
:help ga |
| This author has an interesting perspective on prepress via CSS paged media module. |
2025-08-14 |
https://iangmcdowell.com/blog/posts/laying-out-a-book-with-css/ |
| SXML is a Guile Scheme standard for representing XML. |
2025-08-14 |
https://www.gnu.org/software/guile/manual/html_node/SXML.html |
| A potentially useful guide on setting up Gnus in Emacs. |
2025-08-13 |
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. |
2025-08-13 |
https://www.hollandlitho.com/paper_thickness_and_weight_cutting_through_the_confusion.html |
In Vim and Emacs evil, CTRL-B is bound to <PageUp>. |
2025-08-12 |
:help CTRL-B, C-h f evil-scroll-page-up |
| In Emacs ELisp buffers, tab autocompletion of procedures can be enabled. |
2025-08-12 |
https://stackoverflow.com/a/7023515 |
| This is a good place to start when learning Emacs. |
2025-08-11 |
https://protesilaos.com/codelog/2019-12-20-vlog-switch-emacs/ |
| Protesilaos Stavrou is a Greek thinker with potential insights on FOSS and Emacs. |
2025-08-11 |
https://protesilaos.com/about/ |
| This paper explains the rationale behind LAML. |
2025-08-10 |
https://archives.iw3c2.org/www2002/_normark/laml/papers/lugm-laml.pdf |
| LAML is perhaps the nicest Lisp markup language. |
2025-08-10 |
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. |
2025-08-10 |
https://www.cliki.net/Lisp+Markup+Languages |
| Guix channels may be embedded in the system and home config files. |
2025-08-10 |
https://guix.gnu.org/manual/devel/en/html_node/Customizing-the-System_002dWide-Guix.html, 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. |
2025-08-08 |
man du, https://stackoverflow.com/a/16662027 |
In Emacs, M-n to access minibuffer future history moving files between dired buffers. |
2025-08-07 |
https://www.reddit.com/r/emacs/comments/1hevtrx/dired_faster_way_to_move_files/, 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. |
2025-08-02 |
https://superuser.com/q/1309765/2465866 |
| This is a great introduction into Vim-comparable motions in Emacs. |
2025-08-01 |
https://www.masteringemacs.org/article/effective-editing-movement |
| A potentially useful plugin for batching various InDesign exports. |
2025-07-16 |
https://creativepro.com/files/kahrel/indesign/batch_convert.html |
| This is a very provocative talk about interactive and visual programming. |
2025-07-10 |
https://jackrusher.com/strange-loop-2022/ |
| Interactive programming is what I have been looking for regarding the correct way to interface with computers. |
2025-07-10 |
https://en.wikipedia.org/wiki/Interactive_programming |
In Vim insert mode, type <C-o> to use one normal mode command without leaving insert mode. |
2025-07-09 |
:help i_CTRL-O |
| Guix has a handy reference card for frequent commands. |
2025-07-07 |
https://guix.gnu.org/guix-refcard.pdf |
| LispKit is a library for developing Scheme on Apple devices. It has some interesting graphing capabilities. |
2025-07-04 |
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. |
2025-07-02 |
https://indiscripts.com/post/2024/10/indesign-20-goes-to-mathml-1, https://indiscripts.com/post/2025/03/indesign-20-goes-to-mathml-2 |
| This is a great basic usage of Guix Deploy. |
2025-07-01 |
https://stumbles.id.au/getting-started-with-guix-deploy.html |
| Gimp supports automated workflows via scripting in Scheme! |
2025-07-01 |
https://www.gimp.org/tutorials/Basic_Batch/ |
In Vim, type U to toggle undo line. |
2025-06-27 |
:help U |
In Vim, ZZ is equivalent to :x. |
2025-06-27 |
:help ZZ |
In Vim, <C-d> will show all matching help topics for an incomplete help command. |
2025-06-27 |
:help c_CTRL-D |
In Vim, type <C-w>p to go to the previous window. |
2025-06-27 |
:help CTRL-W_p |
| GUI apps can be started from the Linux virtual terminal via a number of methods. |
2025-06-20 |
https://linuxconfig.org/how-to-run-x-applications-without-a-desktop-or-a-wm, https://superuser.com/q/550020, https://superuser.com/q/606811 |
| David Thompson, a Guix contributor, gives some helpful perspective on hardware compatibility with Guix's FOSS stance. |
2025-06-20 |
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. |
2025-06-20 |
:help g_CTRL-G, :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. |
2025-06-20 |
:help ruler, https://unix.stackexchange.com/a/335468/727998 |
In Vim insert mode, type <C-k>Co for the copyright symbol: ©. |
2025-06-19 |
:digraphs, :help digraph |
In Vim command mode, type :e <cfile> to create a new file at the path under the cursor. |
2025-06-19 |
:help <cfile> |
| This devlog has some helpful info about an initial Guix setup. |
2025-06-18 |
https://simendsjo.me/blog/20240712085803-initial_guix_home_setup.html |
| Guix deploy is a built-in feature for managing Guix on remote hardware. |
2025-06-17 |
https://guix.gnu.org/manual/en/html_node/Invoking-guix-deploy.html |
| Haunt is a static site generator written in Guile Scheme. |
2025-06-17 |
https://dthompson.us/projects/haunt.html |
| The man page for bash has a whole section about the readline (with keybinds. |
2025-06-17 |
man bash |
| In Vim, Netrw cannot copy directories. |
2025-06-17 |
https://vi.stackexchange.com/questions/12095/is-it-possible-to-clone-a-directory-with-netrw, https://stackoverflow.com/questions/26958059/vim-netrw-copy-commands |
| Vim can be configured to run as a command server when GUI support is enabled. |
2025-06-17 |
:help clientserver, 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. |
2025-06-16 |
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. |
2025-06-13 |
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. |
2025-06-12 |
:help helpg |
| System Crafters is a great community with info about Guix and Emacs. |
2025-06-02 |
https://systemcrafters.net/ |
| Guix is a better, GNU clone of NixOS configured in Guile Scheme. |
2025-06-02 |
https://guix.gnu.org/ |
| Literate programming is a way of documenting high-level code approaches by structuring the code files with prose. |
2025-06-02 |
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. |
2025-05-30 |
|
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. |
2025-05-30 |
|
In Vim, use <C-w>T to move the current window to a new tab. |
2025-05-30 |
CTRL-W_T |
In Zsh, use exec zsh to totally reload Zsh (including environment variables). |
2025-05-30 |
https://batsov.com/articles/2022/09/15/reload-zsh-configuration/ |
| top is way better than Activity Monitor. |
2025-05-30 |
man top |
In Vim, nrformats+=alpha must be set to increment/decrement letters with the below two commands. |
2025-05-21 |
:help nrformats |
In Vim visual modes, use g<C-x> to decrement. |
2025-05-21 |
:help v_g_CTRL-X |
In Vim visual modes, use g<C-a> to increment numbers on all lines. |
2025-05-10 |
:help v_g_CTRL-A, https://www.joshmorony.com/totw/28/ |
In Vim, use `< and `> to go to the beginning and end of the previous visual selection. |
2025-05-07 |
:help `<, :help `>, 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. |
2025-05-06 |
:help i_CTRL-R_CTRL-R, https://vim.fandom.com/wiki/Pasting_registers |
In Vim, you can execute arbitrary edits with :g/pattern/normal somecommand. |
2025-05-06 |
:help :g, 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. |
2025-05-05 |
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. |
2025-05-02 |
|
In Zsh use setopt extended_glob; yourcmdhere (^negativepattern) to apply a command via an exclusion. |
2025-05-01 |
https://unix.stackexchange.com/a/541787/727998 |
In Vim insert mode, type <C-v>160 to insert a no-break space. |
2025-04-30 |
https://vimtricks.com/p/vimtrick-non-printable-characters/ |
In Vim, you can set various white space characters and markers with listchars. |
2025-04-30 |
:help listchars |
In Vim R replace mode, type <C-r>" to paste yanked contents. |
2025-04-30 |
https://stackoverflow.com/a/25413808/28799158 |
In Vim GREP, \_. matches any character including a newline. |
2025-04-28 |
:help /\_., https://stackoverflow.com/a/784203/28799158 |
In Vim, use :%s//~/ to redo the last substitution. |
2025-04-28 |
:help g&, https://vi.stackexchange.com/a/18107/54693 |
| Pandoc can translate markdown fenced divs to ICML paragraph and character styles. |
2025-04-28 |
https://github.com/jgm/pandoc/wiki/Importing-Markdown-in-InDesign |
| Processing manuscripts as XML may dramatically reduce the InDesign workload. |
2025-04-28 |
https://helpx.adobe.com/indesign/using/importing-xml.html, https://carijansen.com/indesign-xml-reference-guide/, 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. |
2025-04-24 |
:help gq |
In Vim @% is the register for the current file (absolute path). |
2025-04-23 |
:help quote% |
In Vim, :call delete(@%) deletes the current (but leaves the buffer intact. |
2025-04-23 |
:help delete(), https://stackoverflow.com/a/16679182 |
In Vim GREP, \c makes the selection case insensitive. |
2025-04-23 |
:help /\c, https://superuser.com/a/713957 |
In Vim, _ is the current line motion. |
2025-04-23 |
:help _, https://stackoverflow.com/a/47864035/28799158 |
| This video explores the importance of experience/familiarity/practice in learning at pace. |
2025-04-22 |
https://www.youtube.com/watch?v=bSDprg24pEA |
Vim has a built in print feature: :hardcopy |
2025-04-22 |
:help :hardcopy, https://stackoverflow.com/a/9693079 |
| lpr is a shell service for printing files. |
2025-04-22 |
man lpr, https://superuser.com/a/607380 |
In Vim command mode, <cfile> is replaced with the filename under the cursor. |
2025-04-18 |
:help <cfile> |
| Lilypond is a musical markup language based on ABC and LaTeX. There is a (depreciated) Pandoc Lua filter for it already. |
2025-04-18 |
https://lilypond.org, https://abcnotation.com, https://github.com/pandoc/lua-filters/tree/master/lilypond |
In Vim GREP, the \%V atom restricts the search to the last visual mode selection. |
2025-04-18 |
help /\%V, 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. |
2025-04-18 |
:help c_<Up>, :help c_<Down> |
In Vim, use :ene=/:enew= to begin editing a new file in the pwd. |
2025-04-18 |
:help :enew |
| I finally remembered where I bought my favorite round thick-rimmed glasses. |
2025-04-17 |
https://www.fytoo.com/product/FT0969?id=2239 |
| Language is provably ambiguous. |
2025-04-17 |
https://youtu.be/rWjUS2h2BfU?si=pITI0xi3Fq0LUz8p |
| The royal order of adjectives is a standard order for chaining adjectives in English. |
2025-04-17 |
https://dictionary.cambridge.org/us/grammar/british-grammar/adjectives-order |
| ShellCheck is a Haskell shell script validator. |
2025-04-17 |
https://hackage.haskell.org/package/ShellCheck |
| GitHub CLI extension leaves much to be desired. Currently, it can only process shell commands. |
2025-04-16 |
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. |
2025-04-16 |
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 \>.) |
2025-04-15 |
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. |
2025-04-10 |
https://github.com/jnurmine/Zenburn |
| SVG favicons are now a thing. |
2025-04-10 |
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. |
2025-04-10 |
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>. |
2025-04-09 |
:help c_CTRL-R_=, https://vimtricks.com/p/vim-calculator/ |
In Vim, open file under the cursor in a new split with CTRL-W_f. |
2025-04-09 |
:help CTRL-W_f, https://vimtricks.com/p/open-file-in-a-split/ |
In Vim, quickly switch to a one-time shell with :shell or :sh. |
2025-04-09 |
:help :shell |
In Git, use git reset to clear local changes since last commit. |
2025-04-09 |
https://stackoverflow.com/a/1146981/28799158 |
In Vim, use g& to repeat last substitution. |
2025-04-09 |
:help g&, 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 |
2025-04-09 |
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. |
2025-04-08 |
https://github.com/jgm/pandoc/issues/2244 |
In Vim, delete all but current buffer with %bd\verte# |
2025-04-08 |
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…. |
2025-04-08 |
|
| A joke about how deep the rabbit hole goes for solving computer problems. |
2025-04-04 |
https://people.willamette.edu/~fruehr/haskell/evolution.html |
| The T2 chip on Apple computers can make installing Linux difficult. |
2025-04-03 |
https://wiki.t2linux.org |
| Tufte CSS is a CSS styling philosophy derived from Edward Tufte's books and handouts. (It is very elegant.) |
2025-04-02 |
https://edwardtufte.github.io/tufte-css/ |
git checkout -b [<name-of-new-branch>] is a composition of git branch and git checkout. |
2025-04-02 |
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. |
2025-04-02 |
https://pandoc.org/MANUAL.html#extension-multiline_tables |
In Vim, use :echo expand("%:h") to show the path of the current file. |
2025-04-02 |
:help :echo, :help expand() |
In Vim, % refers to the complete file path, %:h gets the head (path minus filename). |
2025-04-02 |
:help %:h |
In Vim, insert current time insert mode with <C-r>=strftime('%F')<CR>. |
2025-04-02 |
https://superuser.com/questions/451340/how-to-insert-the-date-into-vim |