Skip to content

Instantly share code, notes, and snippets.

View klang's full-sized avatar
🏠
Working from the office

Karsten Lang klang

🏠
Working from the office
View GitHub Profile
@klang
klang / pi-clojure101.clj
Created April 30, 2010 21:08
Estimating PI with the Gregory-Leibniz series for clojure101
;; 1
;; the nth element of the series
(defn pi-series [n]
(/ (* 4 (Math/pow -1 n)) (inc (* 2 n))))
;; lazy sequence giving the individual terms
(def pi1 (map #(pi-series %) (iterate inc 0)))
;; basically the same, but will use fractions (slower, but nice to look at)
(def pi2 (map #(/ (* 4 (expt -1 %)) (+ (* 2 %) 1)) (iterate inc 0)))
@klang
klang / clojure-font-lock-setup.el
Created June 1, 2010 18:47 — forked from michalmarczyk/clojure-font-lock-setup.el
adding paredit-mode to the repl
;;; all code in this function lifted from the clojure-mode function
;;; from clojure-mode.el
(defun clojure-font-lock-setup ()
(interactive)
(set (make-local-variable 'lisp-indent-function)
'clojure-indent-function)
(set (make-local-variable 'lisp-doc-string-elt-property)
'clojure-doc-string-elt)
(set (make-local-variable 'font-lock-multiline) t)
@klang
klang / daft.clj
Created August 1, 2010 12:58
The song 'Around the World' by Daft Punk has a deeply repetitive nature, unfortunately the lyrics is oftent stated wrong. The song has 4 verses consisting of 8, 16, 28 and 20 double repetitions of the phrase 'Around the world'. All in all, the song has 72
(ns daft
(meta {:description "The song 'Around the World' by Daft Punk has a deeply repetitive nature, unfortunately the lyrics is oftent stated wrong.
The song has 4 verses consisting of 8, 16, 28 and 20 double repetitions of the phrase 'Around the world'.
All in all, the song has 72 double repetitions or 144 repetitions of the iconic phrase."}))
(def lyrics (repeat "Around the world, around the world"))
(defn sing [lyrics]
(reduce str
(interleave
@klang
klang / timemachine.sh
Created August 16, 2010 16:46
poor man's time machine. Works with in cygwin as well as any unix based environment that provides rsync.
#!/bin/bash
semaphore() {
if [ -e $0.pid ]; then
PID=$(cat $0.pid)
fi
if [ $PID ]; then
echo $PID on file
PIDr=$( ps -ef | awk '{print $2}' | grep ^$PID$ )
@klang
klang / timemachine-host.sh
Created August 16, 2010 16:47
poor man's time capsule. Works with in cygwin as well as any unix based environment that provides rsync.
#!/bin/bash
semaphore() {
if [ -e $0.pid ]; then
PID=$(cat $0.pid)
fi
if [ $PID ]; then
echo $PID on file
PIDr=$( ps -ef | awk '{print $2}' | grep ^$PID$ )
@klang
klang / exportjpg.pl
Created August 16, 2010 16:55
change size and quality of jpg/bmp pictures while keeping exifdata. The script makes a 'lightweight' version of original off-the-camera jpg pictures. The copy can be used for picture frames without taking up too much space.
#!/usr/bin/perl
use Getopt::Long;
use strict;
my $src = $ENV{'PWD'};
my $dst = "/cygdrive/c/pictures/export/digital";
my $quality = 75;
sub usage {
@klang
klang / luddite-mode.el
Created August 20, 2010 07:03
Luddite mode for emacs gives a few extra lines, when the tool-, menu- and scroll-bars are turned off.
;; first, remove all the crap that looks different from emacs 20.7.1
; luddite mode
(cond ((> emacs-major-version 20)
(tool-bar-mode -1) ; introduced in emacs 21
(menu-bar-mode -1)
(scroll-bar-mode -1)
(menu-bar-showhide-fringe-menu-customize-disable)
(blink-cursor-mode -1)
(windmove-default-keybindings 'meta)))
@klang
klang / what-parens-all-I-see-is-the-program.el
Created September 1, 2010 06:46
What parens? All I see is the program. (the Clojure color part of http://briancarper.net/blog/492/emacs-clojure-colors in one convenient place. Just dimming the parens: http://www.davep.org/emacs/parenface.el --- from: http://briancarper.net/blog/492/emac
(defun lisp-enable-paredit-hook () (paredit-mode 1))
(add-hook 'clojure-mode-hook 'lisp-enable-paredit-hook)
(defmacro defclojureface (name color desc &optional others)
`(defface ,name '((((class color)) (:foreground ,color ,@others))) ,desc :group 'faces))
(defclojureface clojure-parens "DimGrey" "Clojure parens")
(defclojureface clojure-braces "#49b2c7" "Clojure braces")
(defclojureface clojure-brackets "SteelBlue" "Clojure brackets")
(defclojureface clojure-keyword "khaki" "Clojure keywords")
;; runs the current buffer in the environment where the file resides.
(defvar extention-to-executer-bindings ())
(add-to-list 'extention-to-executer-bindings '("pl" . "perl"))
(add-to-list 'extention-to-executer-bindings '("php" . "php -f"))
(add-to-list 'extention-to-executer-bindings '("sh" . "bash"))
(defun lookup-executer (ext)
"find appropriate executer for script"
(interactive)
sub pirnt {print @_}
pirnt "hello world\n"