Aitken加速[programming][lisp][python][rust]

概要 数列のAitken加速というのを説明している http://cympfh.cc/aiura/_/aitken.html を見て、真似た。昔授業で習ったはずだが、すでに記憶の彼方だったので。あと最近Rustについて調べてみてるのでその練習も兼ねて幾つかの言語で書き比べてみようとした(p…

iphoneからSSHのsocksプロキシを使う(macbookがあるとき)

iphoneとmacbookが同じwifiネットワーク上にあるとき、macbookからのSSH接続をiphoneからsocksプロキシとして使うメモ。 需要的には海外出張でキャリア回線が使えない上にどうにか日本からしか見られないコンテンツを見たい、自宅サーバーにSSHでトンネルす…

common lispのプログラムにemacsでアタッチ

cursesっていうターミナル表示の制御ライブラリ*1を使ってテトリスを作ってみてるのだけど、途中でエラーが起こったときにデバッグ表示が乱れる。特にマルチスレッドだと目も当てられない。そこでemacsでアタッチしてデバッグすると便利。ちなみに↓がテトリ…

1=0

有名な1=0 の「証明」として、 a = b+1 (a-b)a = (a-b)(b+1) a^2-ab = ab+a-b^2-b a^2-ab-a = ab-b^2-b a(a-b-1) = b(a-b-1) a = bここで a = b+1 だったから b+1 = b, ゆえに 0 = 1. Q.E.D. っていうのがある。 さあどこがまずいでしょう。知らない人のネタ…

raspberry piの音周り

ラズベリーパイにしゃべらせたりairplayサーバーにしたりして遊んでいたメモを放出。 モデルはRaspberrry pi type B 512MB。 イヤホンジャック/HDMIから出力 参考: http://elinux.org/R-Pi_Troubleshooting#Sound $ amixer cset numid=3 n はヘッドフォン端…

pLaTeXのフォント埋め込み設定(Mac)

TeX

kindleは日本語のpdfをうまく表示出来ない(日本語のところだけ空白になる)ようで、フォントを埋め込んでやる必要がある。 ヒラギノを埋め込む手順が http://osksn2.hep.sci.osaka-u.ac.jp/~taku/osx/embed_hiragino.html にあったのでメモ。現在の埋め込み設…

mpcを使ってみた

mpc*1はcommon lisp用のパーサコンビネータライブラリ。 Common Lisp で Lispインタプリタを作ってみた – さくらんぼの技術備忘録などを見て気になったので使ってみた。 使用例 以下はマニュアルにあるメールアドレス @ をパースする例。 まずパッケージを定…

スクリーンキャスト→mov→gif (mac)

スクリーンキャプチャをgifに変換したいQuickTime Playerで ファイル→新規画面収録 でスクリーンを動画キャプチャ出来る。 Mac OS X で動画のスクリーンキャプチャを撮る方法 - maruko2 Note.movファイルができるが、gifsicleというプログラムでgif形式に変…

auto-save-buffers.el に1行パッチを当てた

その昔、「紙」というwindows用のフリーソフトがあった。今で言うevernoteみたいなスクラップ機能が充実したテキストエディタで、軽快な動作、また多数のファイルを高速に「めくる」機能が特徴的だった。 #いや、今も紙copiと名前を変えて残ってるんだけど、…

sbcl で asteroidsを動かしてみるメモ on mac

asteroidsというlispbuilder-sdlを使ったゲームがある。手元でうまく動いていなかったのだが今日試したら動いたのでメモ程度に。環境 sbcl 1.2.5 quicklispはインストール済 macportsで libsdl_*-framework をインストール済 ライブラリの場所の指定 ~/.sbcl…

windowsでsbcl + lispbuilder-sdl

メモ。環境はwindows 7 64bit。 前半は思い出しながら書いているので間違いもあるかもしれない。quicklisp ができたおかげで昔に比べて結構楽になっているようだ。 sbclをインストールする http://www.sbcl.org/platform-table.html から windows x86 用をダ…

lispbuilder-sdl on clozure cl (on mac)

以下の記述に沿ってもslimeだと動きません…うーん。clozure clとかcclとか言われるのはANSI Common Lispの処理系の一つで、かつてはFranzからMacintosh Allegro Common Lispとして売られてた事もあるが、現在はオープンソースになっている*1。原則mac向けだ…

hashlife その2

前回のつづき。 今回は解説もしてみた。 使い方 環境はsbclで、quicklispがインストール済、かつlisp-builder-sdlが動く状態になっていること(これがちょっと面倒なんだけど…)。 $ ./hashlife.lisp と打つとpuffer trainが動き出すはず。 キー操作は ↑↓←→: …

hashlife

解説と続きを書いた→ http://d.hatena.ne.jp/Nos/20140928/1411884782 前回lispbuilderでライフゲームを作った。ただあれはあまり大きなサイズのものは動かせない。 大きいサイズのパターンを扱う手段としてはhashlifeという超高速のアルゴリズムがあって、…

lispbuilder-sdl on mac

どうせなのでもっとアクションゲーム的なのを作ったりできないかなーと思ってlispbuilder-sdlを入れてみた。前何回か入れようとして挫折しているが、今回はとりあえず例を実行出来るところまでは行った。環境: 処理系はsbcl 1.2.2 quicklispは入れてある パ…

Land of Lispを読んだ

長い事積んでたけど最近の週末を使ってようやく読み終えられた。日本語訳の方。 下の変なPV(プログラミングの本のPV!)通りぶっ飛んでて有名なlispの本。 公式ページも漫画になっていて、雰囲気がわかる。 http://landoflisp.com/ いろんなゲームを作って行…

オープンソースのパスワード管理ソフトpassを導入したメモ

パスワードは適当な生成規則を作って運用していたのだが、サービスによっては長さが足りなかったり記号に対する指定が色々あったりで対応出来なくなってきたので、パスワード管理ソフトをついに導入する事にした。無料のよりは有料の方が安心出来るかな、と…

似たような文字列を含んだデータをまとめる

説明しにくいんだけど、日付とデータが一行に入ってるデータファイルがあるとき、データの方だけ合計を取って、日付の共通部分は残しておきたい、みたいなことを考えた。つまり、 #date time count time 2013/03/12 08:23:34 12 0.21 2013/03/15 08:40:20 13…

boost::spirit でpython(のサブセット)

前エントリーで書いたboost::spirit を使って、 pythonのサブセットを作った。 もう少し言うと、python風の数式をパースして構文木を返すものを作った。boost::variantとboost::recursive_wrapperを使って、なるべく構文木を再帰的なデータ構造として素直に…

boost::spirit::qi を触ってみる

C++における文法解析ライブラリとしてboost::spiritというものがある。BNF記法に非常に近い見た目の(しかもちゃんと動く) c++のコードとして文法を書き下せるという、c++の限界に挑戦している感のあるライブラリである。マニュアルを読む(ほぼqiのところしか…

emacsでファイルをインデントするスクリプト

emacsでサンプルとか他人からもらったファイルをいじって行くとき、ファイルのインデントの流儀がemacsと違うとTabを押したときに残念な気分になる。下のファイルに実行権限をつけてPATHの通ったところにおいてやると $ emacs-format-file *.cc とすることで…

geant4 on Mac OS 10.9

mac

mac のファイルシステムが大文字小文字を区別しない。このためhomebrewを使ってlibjpegを入れていると、(自分でgeant4を使って書いた)プログラム起動直後にライブラリを読む段で本来読まれるべきlibJPEG.dylibでなくlibjpeg.dylibが読み込まれてしまい、シン…

GoodReaderにファイルをアップロードするスクリプト

iphone/ipadのGoodReaderはWifi経由でファイルをアップロードできるサーバー機能がついているが、ブラウザを毎回開くのが面倒。goodreaderに繋いだ先のページのソースを見ると <form style="font-size:9pt" name="upload" action="_______HTMLFORMFILEUPLOADVIAHTTP_______" method="POST" enctype="multipart/form-data"> Select file to upload:&nbsp; </form>

windowsの共有フォルダ上にTimeMachineのバックアップ先を設定する

mac

http://www.sky-s.net/sky-blog/archives/2010/04/25-230923.php と http://fanblogs.jp/macyarounanoka/archive/24/0 の組み合わせ、自分用メモ。以前途中までやって詰まって放置していたのでどこか間違っているかもしれないが…環境: バックアップ元: Mac O…

風立ちぬを見てきた

今頃見に行ってきたがいい映画だったなあ。 上映終わらんうちにもう一度見に行こう。

slimeが動かなかった件

いつのまにかslimeがうまく起動しなくなっていて、しばらく原因がわからずにいたのだけど、 以下のデバッグ用マクロを.sbclrcに入れていたのが原因だったようでコメントアウトしたら治った。 (set-macro-character #\? (lambda (stream ch) (declare (ignore…

test

nemui

Xenon Poisoning

http://hyperphysics.phy-astr.gsu.edu/hbase/nucene/xenon.html Xenon poisoningというのがチェルノブイリ事故に繋がったという話。Xe135が非常に大きな中性子吸収断面積を持つ上にありふれた核分裂生成物であるI135(生成物の 6% くらい)から生成するので、…

自動微分を実装してみた

自動微分というアルゴリズムがある。チェーンルールを使うことで、予め微分の式を与えなくてもそれと同等の精度で微分ができるというもの。もともとの計算時間の定数倍しかかからず、かつloopが入ってたりするような微分の式を書くのに困るような計算相手で…

sbclで外部プロセスを呼ぶ

gzip圧縮されたファイルを処理したくなったので*1、外部プログラムに解凍させてそれを解けた端から読んでいこうということにした。sbclには sb-ext:run-program 関数があって、外部プロセスを読んでその出力を使える。 http://www.sbcl.org/manual/Running-e…