Skip to content

Instantly share code, notes, and snippets.

@snmsts
snmsts / posix-tests.patch
Created June 17, 2015 15:01
patch for OSX japanese problem
---
+++ contrib/sb-posix/posix-tests.lisp
@@ -536,7 +536,7 @@
nil)
(deftest readdir.1
- (let ((dir (sb-posix:opendir "/")))
+ (let ((dir (sb-posix:opendir "/")) (sb-alien::*default-c-string-external-format* :utf-8))
(unwind-protect
(block dir-loop
@snmsts
snmsts / clhs.ros
Last active August 29, 2015 14:24 — forked from fukamachi/clhs.ros
#!/bin/sh
#|-*- mode:lisp -*-|#
#|
exec ros -Q -- $0 "$@"
|#
#|
A Roswell script to open the HyperSpec page of a specified symbol in the default browser.
@snmsts
snmsts / somewrite.md
Created September 8, 2015 15:17
about getting a new job

一行で

サムライトで働きはじめた。リモートワークでcommon lispな会社。

辞めたこと

絶対条件ではないにしろ、継続してCommon Lispを仕事にしたい人生だと思っていた。前職もCommon Lispで生活してはいたものの、別言語案件が他人に行き自分にCommon Lisp案件が集まり…組織の中で独りになってしまっていた。チーム開発を経験したくて移ってきた。前職に残してきた案件には多少後ろ髪をひかれる思いはある。

決めたこと

だけど今後どう転ぶにしろ、人生に変化を入れようと思った。選択の良し悪しはまだ良くわからない。日本のCommon Lispコミュニティでそこそこの人が似た収入源に集中するの良くない…とも思うけれど考えるのは辞める。意味付けや後悔は後で考えることで、個人としての決めたのだという心持ちを記録しておきたい。精神衛生上悪くない。

期待すること

前と比べるカルチャーギャップは技術者どおしの風通しがとても良いということ。リモートワークでこれだけ情報共有ができるんだったらどうだったろうか…などと考えていたりした。Common Lispで生活するという観点でいくとここでは躓くところが見えやすいことや同じプロジェクトに対して複数の開発者がアサインされる文化というのがとても新鮮なのでなんだか嬉しい。あと自分のプロジェクトであるところのroswellのここでの浸透ぶりは思っていた以上だった。新人向けドキュメントのroswellのインストールが書いてあった。使える物を作っているという事を考えるとワクワクする。ここで欲しがられる物をここで枯らしていけばきっともっとCommon Lispが使われるはず。

抱負

ほのめかしたので省略。…家にずっといると前にも増して小汚くなりそうなので注意したい。

#!/bin/sh
#|-*- mode:lisp -*-|#
#|
exec ros -Q -- $0 "$@"
|#
(defvar *filters* '(/line))
(defvar *results* '())
(defun /line (output error)
(values
./ros ../scripts/man.ros ../documents/ros.html ../documents/ros.1
./ros ../scripts/man.ros ../documents/ros-init.html ../documents/ros-init.1
Unhandled SB-INT:SIMPLE-FILE-ERROR:
Failed to find the TRUENAME of /Users/snmsts/.roswell/impls/ALL/ALL/quicklisp/dists/quicklisp/systems.cdb-tmp:
No such file or directory
Backtrace for: #<SB-THREAD:THREAD "main thread" RUNNING {1002DE7693}>
@snmsts
snmsts / aarch64.log
Created November 3, 2015 18:39
とりあえずは解散
ubuntu@ubuntu:~$ ros setup
Installing sbcl-bin...
No SBCL version specified. Downloading platform-table.html to see the available versions...
########################################################################## 100%
Installing sbcl-bin/1.3.0...
Downloading http://prdownloads.sourceforge.net/sbcl/sbcl-1.3.0-arm64-linux-binary.tar.bz2
########################################################################## 100%
Extracting sbcl-bin-1.3.0-arm64-linux.tar.bz2 to /home/ubuntu/.roswell/src/sbcl-1.3.0-arm64-linux/
Building sbcl-bin/1.3.0... Done.
Installing Quicklisp...
~/work/roswell $ ros scripts/homebrew.ros
url:https://github.com/roswell/roswell/archive/v0.0.6.63.tar.gz
sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
~/work/roswell $ ros scripts/homebrew.ros
url:https://github.com/roswell/roswell/archive/v0.0.6.63.tar.gz
sha256:e40da6ef783e46cb76f239b0667a79b38da6569aed9cac56786f8469f80cbb35
~/work/roswell $ ros scripts/homebrew.ros
url:https://github.com/roswell/roswell/archive/v0.0.6.63.tar.gz
sha256:e40da6ef783e46cb76f239b0667a79b38da6569aed9cac56786f8469f80cbb35
@snmsts
snmsts / sbcl-1.3.11.patch
Created November 2, 2016 03:50
sbcl-1.3.11-dash-problem
---
+++ make-genesis-2.sh
@@ -1,3 +1,3 @@
#!/bin/sh
-set -em
+set -e
---
+++ make-host-1.sh
@@ -1,3 +1,3 @@
@snmsts
snmsts / dex.lisp
Created February 24, 2017 19:00
dex experiment
(let ((p (find-package :cl+ssl)))
(do-symbols (i p)
(when (and (eql (symbol-package i) p)
(ignore-errors (symbol-function i)))
(let ((f (symbol-function i)))
(unless (typep f 'standard-generic-function)
(setf (fdefinition i)
(lambda (&rest r)
(print (cons i r))
(apply f r))))))))
(defun shecomma-reader (stream sub-character infix-parameter)
(declare (ignore sub-character infix-parameter))
(let ((a (gensym "A")))
`(lambda (&rest ,a) (apply ,(read stream nil nil) ,a))))
(set-dispatch-macro-character #\# #\, #'shecomma-reader)
(flet ((f (x) (* 2 x)))
(let ((f (lambda (x) (* 3 x))))
(values (#,#'f 1)(#,f 1))))
;; => 2 , 3