This is a simple script that allows you to choose an area that will be recorded into a 10s animated gif.
screencapture [dest-file]
| # Credit http://stackoverflow.com/a/2514279 | |
| for branch in `git branch -r | grep -v HEAD`;do echo -e `git show --format="%ai %ar by %an" $branch | head -n 1` \\t$branch; done | sort -r |
| (require 's) | |
| (require 'request) | |
| (require 'seq) | |
| (require 'jabber) | |
| (defvar hipchat--user-info-for-completion nil) | |
| (defcustom hipchat-nickname "Full name" "Hipchat real name (see see https://hipchat.com/account/xmpp)." | |
| :type '(string) |
| (advice-remove 'kill-emacs 'spacemacs-really-exit) | |
| (defun ad-advice-kill-emacs (orig-fun) | |
| "Prompt before killing." | |
| (if (and (not spacemacs-really-kill-emacs) | |
| (spacemacs/persistent-server-running-p)) | |
| (when (y-or-n-p "Really kill frame?") | |
| (spacemacs/frame-killer)) | |
| (when (y-or-n-p "Really exit?") | |
| (funcall orig-fun)))) | |
| (advice-add 'kill-emacs :around 'ad-advice-kill-emacs) |
| (defn -js->clj+ | |
| "For cases when built-in js->clj doesn't work. Source: https://stackoverflow.com/a/32583549/4839573" | |
| [x] | |
| (into {} (for [k (js-keys x)] | |
| [k (aget x k)]))) | |
| (defn env | |
| "Returns current env vars as a Clojure map." | |
| [] | |
| (-js->clj+ (.-env js/process))) |
| # Install a fully encrypted ArchLinux on NVMe with detached LUKS | |
| # headers and LUKS encrypted UEFI boot partition on a USB dongle. | |
| # | |
| # Full tutorial can be found here: | |
| # https://headcrash.industries/reference/fully-encrypted-archlinux-with-secure-boot-on-yoga-920/ | |
| # | |
| # Written by Gerke Max Preussner <[email protected]> | |
| # Overview ############################################################ |
| #!/bin/sh | |
| #_( | |
| "exec" "clojure" "-Sdeps" "{:deps {org.clojure/clojurescript {:mvn/version \"1.10.520\"}}}" "$0" "$@" | |
| ) | |
| ;; running js_parser.clj "function foo(x) { var y = x + 1; }" will print: | |
| ;; [{:type :function, :name "foo", :body [{:variable-statement [{:lvalue "y", :initializer {:type :binary-op, :left "x", :operator "+", :right "1"}}]}], :params ["x"]}] | |
| (defun diff-buffers (buffer-A buffer-B) | |
| "Diff two buffers." | |
| (interactive | |
| (let* ((only-two? (eq 2 (count-windows))) | |
| (wins (sort (window-list) | |
| (lambda (a b) (< (window-use-time a) | |
| (window-use-time b))))) | |
| (b1 (if only-two? | |
| (window-buffer (first wins)) | |
| (read-buffer "Buffer A to compare"))) |
| ;; If you subscribed to mailing list(s) in gnu.org or googlegroups.com | |
| ;; and using mu4e as your mailing app, very often you need to | |
| ;; find a message in lists.gnu.org/archive or googlegroups.com | |
| ;; | |
| ;; For example, when you don't have the context of a particular thread | |
| ;; and all prior messages got deleted locally. | |
| ;; | |
| ;; This mu4e action allows you | |
| ;; to quickly find selected email post in the archive | |
| ;; and open in the browser |
It is possible to customize the behavior of org-insert-link, so for example when you insert a link in Org-mode (using C-c C-l) that is a URL to a GitHub issue or a GitHub PR, the description of that link automatically turns into the title of that GitHub item.
For the following snippet to work, you’d have to correctly set github-forge authentication. Which boils down to creating a personal access token on GitHub and adding the following line to your ~/.authinfo (or ~/.authinfo.gpg)
machine api.github.com login USERNAME^forge password TOKEN