Skip to content

Instantly share code, notes, and snippets.

@agzam
agzam / diff-last-two-kills.el
Last active Jul 27, 2020
Diff last couple of things in the kill ring
View diff-last-two-kills.el
(defun diff-last-two-kills (&optional ediff?)
"Diff last couple of things in the kill-ring. With prefix open ediff."
(interactive "P")
(let* ((old "/tmp/old-kill")
(new "/tmp/new-kill")
(prev-ediff-quit-hook ediff-quit-hook))
(cl-flet ((kill-temps
()
(dolist (f (list old new))
(kill-buffer (find-buffer-visiting f)))
@agzam
agzam / custom-org-insert-link.org
Last active Jun 30, 2020
Customize org-insert-link
View custom-org-insert-link.org
@agzam
agzam / find-message.el
Last active Jun 30, 2020
Mu4e action to find a message in mailing list archives
View find-message.el
;; 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
@agzam
agzam / diff-buffers.el
Last active Jun 30, 2020
Diff two buffers
View diff-buffers.el
(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")))
@borkdude
borkdude / js_parser.clj
Last active Jun 30, 2020
Parse JavaScript in Clojure using the Google Closure Compiler
View js_parser.clj
#!/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"]}]
@gmpreussner
gmpreussner / archlinux-install-nvme-luks-lvm-btrfs-usb
Last active May 20, 2020
Minimal instructions for installing a fully encrypted ArchLinux with USB boot on Lenovo Yoga 920.
View archlinux-install-nvme-luks-lvm-btrfs-usb
# 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 <info@headcrash.industries>
# Overview ############################################################
@metametadata
metametadata / core.cljs
Created Nov 2, 2017
ClojureScript read env in NodeJS
View core.cljs
(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)))
@xificurC
xificurC / gist:34535c6c2d4a9d0c4f7a
Last active Nov 3, 2015
spacemacs prompt for kill-emacs
View gist:34535c6c2d4a9d0c4f7a
(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)
@egh
egh / jabber-hipchat.el
Last active Jan 3, 2018
jabber.el hipchat setup
View jabber-hipchat.el
(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)
@nikku
nikku / screencapture.md
Last active May 21, 2020
Animated Gif utility for X11 based systems
View screencapture.md

works badge

This is a simple script that allows you to choose an area that will be recorded into a 10s animated gif.

Usage

screencapture [dest-file]
You can’t perform that action at this time.