Skip to content

Instantly share code, notes, and snippets.

@k0f1sh
k0f1sh / oneoff-cider-jack-in
Created August 4, 2014 01:21
lein oneoffでcider-jack-inできるように
;(require 'cider)
(defun oneoff-cider-jack-in ()
(interactive)
(if (null buffer-file-name)
(message "no file name")
(let ((cider-lein-parameters (format "oneoff --repl %s :headless"
(file-truename buffer-file-name))))
(cider-jack-in))))
@k0f1sh
k0f1sh / offsetoftry.c
Created September 7, 2015 12:56
offsetofを試した
#include <stddef.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
struct address
{
char name[50];
char street[50];
int phone;
@k0f1sh
k0f1sh / pointerinc.c
Created September 8, 2015 11:08
ポインタに+1した時の挙動
#include <stdio.h>
int main()
{
int a = 0;
int *ptr = &a;
printf("intsize = %d\n", sizeof(int));
printf("base = %p\n", ptr);
@k0f1sh
k0f1sh / naruto.el
Last active December 20, 2015 03:38
(require 'dash)
(defconst PI 3.1415)
(defconst a 0.05)
(defvar scale-x 0.3
"x軸拡大率")
(defvar scale-y 0.3
"y軸拡大率")
@k0f1sh
k0f1sh / lazy.php
Last active September 8, 2016 13:51
lazy list
<?php
class Lazy
{
public static function isClosure ($obj)
{
return is_object($obj) && $obj instanceof Closure;
}
/**
@k0f1sh
k0f1sh / script.el
Last active August 10, 2017 04:20
emacs lisp をスクリプトとして使うサンプル
#!escript
;; ライブラリの読み込み
;; Loading...と標準エラー出力に出てしまう(escript側で出ないようにしている)
(load-file (expand-file-name "~/.emacs.d/cli-util.el"))
(load-file (expand-file-name "~/.emacs.d/el-get/dash/dash.el"))
(load-file (expand-file-name "~/.emacs.d/el-get/s/s.el"))
;; 組み込みライブラリの読み込み
(require 'json)
;; cli utility functions
(defun println (str)
(princ (format "%s\n" str)))
(defun pp (obj)
(println (prin1-to-string obj)))
@k0f1sh
k0f1sh / escript
Created December 11, 2013 18:27
emacs lispをスクリプトとして使う
#!/bin/bash
#
# emacs lispをスクリプトとして実行する
# 第一引数はelファイル、それ以降はそのelに渡す引数
# 標準エラー出力への出力を抑制している
emacs --script $1 ${@:2:($#-1)} 2> /dev/null
@k0f1sh
k0f1sh / mouse-drag-transducers.clj
Last active August 10, 2017 07:27
マウスを押している時のみのmoveイベントだけ取るようなtransducers
(def events [:move :press :move :move :release :press :release :press :press :move :move :move :release :move :move])
(defn make-drag-filter-fn []
(let [pressed? (atom false)]
(fn [event]
(cond
(and @pressed? (= :move event)) true
(= :press event) (do (reset! pressed? true) false)
(= :release event) (do (reset! pressed? false) false)
:else false))))
@k0f1sh
k0f1sh / clj-driver-first.clj
Created February 23, 2016 11:25
clj-driverでphantomを動かす最小
;; project.clj
(defproject hogehoge "0.1.0-SNAPSHOT"
:description "FIXME: write description"
:url "http://example.com/FIXME"
:dependencies [[org.clojure/clojure "1.7.0"]
[clj-webdriver "0.7.2"]
[com.codeborne/phantomjsdriver "1.2.1"
:exclusion [org.seleniumhq.selenium/selenium-java
org.seleniumhq.selenium/selenium-server
org.seleniumhq.selenium/selenium-remote-driver]]