Skip to content

Instantly share code, notes, and snippets.

View juergenhoetzel's full-sized avatar
🎯
Focusing

Jürgen Hötzel juergenhoetzel

🎯
Focusing
View GitHub Profile
@juergenhoetzel
juergenhoetzel / slime-cygwin.el
Created April 17, 2012 18:30
Slime Windows-Unix-Path translation (Cygwin)
(require 'clojure-mode "clojure-mode" t)
(require 'slime t)
(when (eq system-type 'cygwin)
(add-hook 'slime-connected-hook (lambda ()
(setq slime-to-lisp-filename-function (lambda (filename)
(replace-regexp-in-string
"\n" "" (shell-command-to-string
(format "cygpath.exe --windows %s" filename))))
slime-from-lisp-filename-function (lambda (filename)
@juergenhoetzel
juergenhoetzel / window-rotate.el
Created December 1, 2011 11:01
Rotate windows to left
(require 'cl)
(defun rotate-left (l) (append (cdr l) (list (car l))))
(defun rotate-windows ()
(let ((start-positions (rotate-left (mapcar 'window-start (window-list))))
(buffers (rotate-left (mapcar 'window-buffer (window-list)))))
(mapcar* (lambda (window buffer pos)
(set-window-buffer window buffer)
(set-window-start window pos))
(window-list)
@juergenhoetzel
juergenhoetzel / reopen-sudo.el
Created May 11, 2011 14:57
Reopen file visited in current buffer using tramp-sudo
(defun reopen-sudo ()
(interactive)
(unless (file-remote-p (buffer-file-name))
(find-file (tramp-make-tramp-file-name "sudo" "root" "localhost" (buffer-file-name)))))
(set! *unchecked-math* true)
(defmacro iloop [[b t n] & body]
`(loop [~@b]
(when ~t
~@body
(recur ~n))))
(defn count-primes [^long n]
(let [c (inc n)
@juergenhoetzel
juergenhoetzel / mvn
Created February 19, 2011 11:14
Wrapper around original "mvn" Maven executable so you can trigger Maven goals from a subdir
#!/bin/bash
ORIG_MVN=/opt/maven/bin/mvn
while [ ! -r "pom.xml" ] && [ "$PWD" != "/" ]
do
cd ..
done
if [ -r "pom.xml" ]; then
@juergenhoetzel
juergenhoetzel / swank-autoconnect.el
Created February 17, 2011 16:06
Autoconnect emacs to swank server
(defvar swank-autoconnect-port 4005)
(defvar swank-autoconnect-timer nil)
(defun swank--listeningp ()
(ignore-errors
(let ((p (open-network-stream "SLIME Lisp Connection Test" nil "localhost" swank-autoconnect-port)))
(when p
(delete-process p)
t))))
@juergenhoetzel
juergenhoetzel / terminal-ssh-host-title.sh
Created December 22, 2010 09:36
Set Window Title using OpenSSHs LocalCommand
LocalCommand echo -ne "\033]0;"%r@%h"\007"
PermitLocalCommand yes
@juergenhoetzel
juergenhoetzel / md.clj
Created December 7, 2010 22:12
Message Digest in Clojure
(ns #^{:author "Jürgen Hötzel",
:doc "Message Digest function for Clojure
Usage
(require 'md)
MD5 Checksum String:
(md/digest-str (md/sum \"MD5\" \"/etc/passwd\"))
\"85dbcf75fa3eb92335cc3ac47dfa64c9\""}
md
@juergenhoetzel
juergenhoetzel / shell-dirtrack-update-buffer-name.el
Created December 2, 2010 20:46
update buffer name when using shell-mode's dirtrack feature
(defadvice shell-cd (after shell-dirtrack-update-buffer-name activate)
(let* ((new-name (generate-new-buffer-name "*shell*"))
(old-name (generate-new-buffer-name (buffer-name))))
(unless (string= new-name old-name)
(rename-buffer new-name))))
@juergenhoetzel
juergenhoetzel / queens.clj
Created October 18, 2010 21:30
Eight Queens Puzzle (SICP Exercise 2.42) Clojure solution using list comprehension
(ns sicp.queens)
(def empty-board '())
(defn safe?
"Check if queen in last row is safe"
[positions]
(let [[queen-pos & left] positions
k (count positions)
diags-up (map - left (range 1 (inc k)))