Skip to content

Instantly share code, notes, and snippets.

😇
nemui

Eitaro Fukamachi fukamachi

😇
nemui
View GitHub Profile
View package.lisp
;; -*- Mode: Lisp; Syntax: Common-Lisp -*-
;;; Package Management
(in-package :cl-user)
(defpackage :hige
(:use :cl
:drakma
:cl-ppcre)
#+ABCL (:shadow :y-or-n-p)
View scheme_baton.clj
;; 第1回 Scheme コードバトン
;;
;; ■ これは何か?
;; Scheme のコードをバトンのように回していき面白い物ができあがるのを楽しむ遊びです。
;; 次回 Shibuya.lisp で成果を発表します。
;; Scheme 初心者のコードを書くきっかけに、中級者には他人のコードを読む機会になればと思います。
;;
;; ■ 2 つのルール
;;
;; (1)自分がこれだと思える変更をコードに加えて2日以内に次の人にまわしてください。
View .emacs.el
(let ((default-directory (expand-file-name "~/Dropbox/home/.emacs.d")))
(add-to-list 'load-path default-directory)
(load (expand-file-name "~/Dropbox/home/.emacs.d/subdirs.el") t t t))
(if (file-exists-p (locate-library "init"))
(load (locate-library "init") nil t nil))
View anything-ari.el
;; anything-ari.el - Show animated Ari.
;; Copyright (C) 2010 Eitarow Fukamachi <fukamachi_e@ariel-networks.com>
;; Author: Eitarow Fukamachi <fukamachi_e@ariel-networks.com>
;; Twitter: http://twitter.com/nitro_idiot
;; Blog: http://e-arrows.sakura.ne.jp/
;;
;; Created: Dec 9, 2010
;; Version: 0.0.1
View gist:766438
(defun group-by (pred list)
(loop
while list
for cur = (pop list)
collect
(nreverse
(loop with acc = (list cur)
while list
for x = (pop list)
if (funcall pred cur x)
@fukamachi
fukamachi / ccl
Created Jun 23, 2011
Clozure CL launcher script
View ccl
#!/bin/sh
#
# Change the definition of CCL_DEFAULT_DIRECTORY below to refer to
# your Clozure CL installation directory. The lisp will use this
# environment variable to set up translations for the CCL: logical
# host.
# Any definition of CCL_DEFAULT_DIRECTORY already present in the
# environment takes precedence over definition made below.
@fukamachi
fukamachi / test-utils.lisp
Created Oct 27, 2011
Useful utilities for CL testing.
View test-utils.lisp
(in-package :cl-user)
(ql:quickload :cl-test-more)
(defun asdf-component-files (comp)
(etypecase comp
(asdf::cl-source-file
(list (asdf:component-pathname comp)))
(asdf::static-file nil)
(asdf::component
(loop for c in (asdf:module-components comp)
@fukamachi
fukamachi / gist:1922987
Created Feb 27, 2012
Emacs settings for Clack developers
View gist:1922987
(defun clack-slime-search-buffer-package ()
(let ((case-fold-search t)
(regexp (concat "^(\\(clack.util:\\)?namespace\\>[ \t']*"
"\\([^\n)]+\\)")))
(save-excursion
(if (or (re-search-backward regexp nil t)
(re-search-forward regexp nil t))
(match-string-no-properties 2)
(slime-search-buffer-package)))))
(setq slime-find-buffer-package-function 'clack-slime-search-buffer-package)
@fukamachi
fukamachi / gist:2050237
Created Mar 16, 2012
Find port number not in use
View gist:2050237
(defun port-available-p (port)
(handler-case (let ((socket (usocket:socket-listen "127.0.0.1" port :reuse-address t)))
(usocket:socket-close socket))
(usocket:address-in-use-error (e) (declare (ignore e)) nil)))
;; Find port number not in use from 50000 to 60000.
(loop for port from (+ 50000 (random 1000)) upto 60000
if (port-available-p port)
return port)
@fukamachi
fukamachi / gist:2514283
Created Apr 27, 2012
Clack uploading sample
View gist:2514283
(import 'clack.request:make-request 'clack.request:body-parameter)
(clack:clackup
#'(lambda (env)
(format t "~S~%"
(body-parameter (make-request env)))
'(200
(:content-type "text/html")
("<form method='POST' enctype='multipart/form-data'><input type='file' name='pdf'><input type='submit'></form>"))))
You can’t perform that action at this time.