Let's write β

プログラミング中にできたことか、思ったこととか

2011-01-01から1年間の記事一覧

Lispでテケトーにhtmlのレイアウトシステムなど(2)

ちょっと修正しました、これで関数を指定できるので実行時に親のレイアウトを決定できるとおもいます。 (defclass layout () ((parent-layout :initform nil :initarg :parent :accessor parent) (layout-func :initform (error "You must specitic layout f…

Lispでテケトーにhtmlのレイアウトシステムなど

railsのレイアウトってうらやましいなぁとおもっていたので、もうちょっと親の指定に関数をつかえるようにするなどの強化はしたいですが とちゅう経過ということでここはひとつ (defclass layout () ((parent-layout :initform nil :initarg :parent :access…

色づけ、雪をふらせた

とりあえず、色をつけるのと、雪をふらせるオプションをつけてみました (defun mkstr (list) (with-output-to-string (s) (dolist (a list) (princ a s)))) (defvar foreground-color-list '(:black 30 :red 31 :green 32 :yellow 33 :blue 34 :magenta 35 :…

クリスマスツリー by Common Lisp

とりあえず、とくに祝いもなかったので寝惚けまなこで5分ぐらいで適当に書いてみました。 (defun mkstr (list) (with-output-to-string (s) (dolist (a list) (princ a s)))) (defvar foreground-color-list '(:black 30 :red 31 :green 32 :yellow 33 :blue…

Lispの本がもっとほしい

さて、たぶん、今ので家に買ってある本と、まだかってない本についてはまとまったかとおもいます いくつか、まだかってない本があるので、それを購入したいですね。今年中に

家にあるLisp関連の本目録

あるやつ、 初めての人のためのLISP[増補改訂版]作者: 竹内郁雄出版社/メーカー: 翔泳社発売日: 2010/03/10メディア: 単行本購入: 30人 クリック: 546回この商品を含むブログ (46件) を見る 実践Common Lisp作者: Peter Seibel,佐野匡俊,水丸淳,園城雅之,金…

SqueakでBrainFuckを書いてみた。

10分ぐらいで書いてみました。 といってもほとんどの言語仕様をカバーしたかな?といった物です。 Object subclass: #BrainFuck instanceVariableNames: 'memory sp braceStack' classVariableNames: '' poolDictionaries: '' category: 'BrainFuck' "BrainF…

ソウルナンバー算出

適当にテレビをみていたらソウルナンバー占いとやらが紹介されていました。 占いは別としてプログラムとしては面白そうだったのでつくってみました (defn keta-inner [number-str] (if (< (Integer/parseInt number-str) 10) (Integer/parseInt number-str) …

Nikki

最近、パソコンで日記を書きたいなぁとおもってました。 しかしネットで検索したところあまりLinux向けには良さそうな日記ソフトが存在しないようでした。どうしたものかとおもっていたのですが、とりあえず自分でつくってしまえば良いだろうという事で自分…

サポートベクターマシン入門を買いました

買いました サポートベクターマシン入門作者: ネロクリスティアニーニ,ジョンショー‐テイラー,Nello Cristianini,John Shawe‐Taylor,大北剛出版社/メーカー: 共立出版発売日: 2005/03メディア: 単行本購入: 8人 クリック: 107回この商品を含むブログ (40件) …

Stumpwm on Linux Laptopでサスペンドするには

昨日、開発環境勉強会に参加していたところXMonadの拡張性が非常に高いという事で、 一番拡張性が高いのはXMonadだ!といわれてしまったので、負けじとStumpWMを機能から利用しています。 とりあえず、contribute以下のモジュールなどのおかげでLaptopで利用…

presen-vimにさらに機能追加しました!!

Vim

今日は開発環境勉強会にいってきました。 その直前ぐらいにLingrでShougoさんが、今回のプレゼンでつかった原稿は公開するが、どうもpresen-vimがないと確認できないのが難点だなぁとおっしゃっていたので、勉強会の合間にプロトタイプを実装して、自宅に帰…

presen-vim更新しました

Vim

明日はいよいよ開発環境勉強会ですねpresen-vimをShougoさんにつかってもらえるようで、ありがたいかぎりです。そんな状況ですが、今日いくつか機能を追加いたしましたのでご報告もうしあげます。 まずは構文の追加です、 (defcontext (fontwide "...")) def…

ArityでDispatchしつつ、型でも適切に判断されるようなDispatchをおこなうには

僕はまえからCLOSのメソッドの定義では同名のメソッドでは同じarityの物しか許容されていないという事が面倒だなとおもっていたのですが、ようはarityが違う物ならば違う名称をわりふってやり、よびだし側にそれがわからないようにすれば解決する話しなので…

Defpackage with closer-mop

Meta Object Protocolを利用したプログラムを記述しようとおもっている時に パッケージにcloser-mopを(:use)しようとおもっていると、:clや:cl-userとコンフリクトが発生します。 そこでshadowing-import-fromというものを利用してガードします。これを毎回…

底辺が下になるように正多角形の角の位置を計算するには

多角形を描画するにあたって底辺が画面の下に位置するように多角形を描画したいときはどのようにすれば良いでしょうか。 何気なく角度をつかって頂点の座標を計算してしまうと、角が下にきたり、辺が下にきたりと多角形の形状によってまちまちと なってしま…

hatena-vimのテスト

テスト投稿です

Yet Another Presentation Tool for Vim. 更新しました。

presen-vimですがL5から強い影響を受けているので、プレゼンのソースの書きかたの構文も影響を強く受けます。そして構文が変更されました。そして便利な機能もいくつか追加されました。 ;;defcontext (defcontext (width <columns>) (height <rows>) (font <gui-font>)) ;;defslide (d</gui-font></rows></columns>…

Yet Another Presentation Tool for Vim.

「vimというプレゼンテーションツールは、プログラムの編集もできるという事で...(ry」という冗談を目撃したりしましたが、僕はけっこう本気です。以前からコンソールでプレゼンをするというのも僕の夢でしたので、どうせならVimでやっちゃおうとおもいまし…

Lisp inplementation by VimScript

";;;; lisp.vim ";;;; Lisp inplementation by vim script ";;;; Author: Pocket <poketo7878@gmail.com> "Global variables"{{{ let s:nil = 'nil' "}}} "Type check functions"{{{ function! IsNumber(thing) if type(a:thing) == type(1) return 1 else return 0 endif endfunct</poketo7878@gmail.com>…

Vimの画面でアニメーション

Vim

function! InitScr() silent % delete _ let l:w = winwidth('%') let l:h = winheight('%') setlocal nonu setlocal guicursor=a:blinkon0 let l:spaceLine = repeat(' ', l:w - 1) for l in range(1, l:h+1) call setline(l,l:spaceLine) endfor endfuncti…

VimでEmacs風スプリットキーバインド

最近、Vimをつかううえでちょっとでも気になった動作は自分ごのみに設定していこうと おもったのでEmacs風にsplit,vsplitする以下の設定をしてみました。 "Emacs like spliting key-bind nnoremap <C-x>1 :only<CR> nnoremap <C-x>2 :split<CR> nnoremap <C-x>3 :vsplit<CR> nnoremap <C-x>0 </c-x></cr></c-x></cr></c-x></cr></c-x>…

mbedをさわってみた

昨日、mbedをつかわせてもらえる機会がありましたので、いくらかセンサーなどを接続してプログラムを書いてみました。SunSPOTも以前プログラムをつくったことがありますが、やはり組込み系は非常におもしろく、自分の書いたプログラムの結果をすぐに確認でき…

WORD DICTIONARYテスト

とりあえずForth風のWORDディクショナリのテストをする為に適当に習作プログラムを記述してます。 // main.c #include <stdio.h> #include <stdlib.h> #include "word.h" void print(void); int main(int argc, char** argv) { struct word* res; addfword("test1",NULL); addcw</stdlib.h></stdio.h>…

Vimプラグイン管理用にpathocketという物を作りました。

Vim

先日、githubので公開されているvimプラグインを管理するのが非常に面倒だとつぶやいた所 pathogen.vimという物をおしえていただきました。そこで、pathogen.vimをつかってみると非常に便利でハマってしまいました。 簡単に触れるとpathogen.vimというのは、…

VisualWorksで画像グレイスケール処理~NTSC系加重平均~

グレイスケールのNTSC系加重平均法 | img newImage | img := (ImageReader fromFile: '/path/to/your/image/file') image. newImage := img copyEmpty. img pixelsDo: [:x :y | | pxColor ntscGray newPxColor | pxColor := img valueAtPoint: x@y. ntscGray…

VisualWorksで画像グレイスケール処理~平均値法~

VisualWorksで画像のグレイスケール処理をやってみました。今回もsumimさんにお世話になりました.... | img newImage | img := (ImageReader fromFile: '/path/to/your/image/file') image. newImage := img copyEmpty. img pixelsDo: [:x :y | | pxColor rg…

VisualWorksで画像エッジ抽出

VisualWorksで画像のエッジ抽出してみました。 "画像のロード" img := (ImageReader fromFile: '/path/to/your/image/file') image. newImage := img copyEmpty. "画像のグレイスケール化" img pixelsDo: [:x :y | pxColor := img valueAtPoint: x@y. ntscGr…

VisualWorksで画像閾値処理

夜中の更新になりますが、僕に取っては昼間よりも夜の方が集中しやすいので... Smalltalkで画像の閾値処理(2値化とも)をやってみました。いろんなSmalltalk界の有名人の方(sumimさんや、umejavaさん)にお世話になっていて申し訳ない気持ちです... imgReader …

Squeakに入門しなおしてみた

Smalltalkは以前も触っていて、一度熱がさめたのですが、今年はLispもそうですが、Perlなどの他の好きな言語も真面目に取り組む事にしようと決めたので Perlをある程度復習し終わったと判断して、Smalltalkを復習しはじめました。しばらく触っていないと本当…