Ubuntuでskk.vimを使う

http://pastorale.jpn.org/2009-05-12-1.html オープンソースの日本語入力ソフト「SKK」は便利! | 日経 xTECH(クロステック) 作業の快適さにひかれて、導入してみた。

gaucheにおけるオプション解析

コマンドにおけるオプションとは コマンドにおけるオプションとは、ある実行させたいコマンドに、細かな指示を与えるものです。たとえばcatコマンドなら cat -n filenameとすることによって、各行の先頭に行数を表示することができます。 オプションの解析 …

SICP独習会〜抽象の壁(問題2.2〜2.3)〜

問題2.2 (define (make-segment x y) (cons x y)) (define (start-segment x) (car x)) (define (end-segment x) (cdr x)) (define (make-point a b) (cons a b)) (define (x-point x) (car x)) (define (y-point y) (cdr y)) (define (midpoint-segment a) …

gaucheによるUNIXコマンドプログラミング〜catコマンド・例外(エラー)処理編〜

何らかのエラーが起こった場合(例外が投げられた場合)の処理を加えてみました。以下がソース。 #!/usr/bin/gosh (define (main args) (if (null? (cdr args)) (copy-port (current-input-port) (current-output-port)) ; start guard phase (guard (ex ; c…

SICP独習会「一般方法としての手続き」(問題1.35〜)

この辺は正直、例題が難しく(数値計算問題的に)、実際に手を動かすことができなかった。おそらく言ってることとしては、「適切なレベルで抽象化しろ」ということなんだろうけど。なにか良い例題の代わりとなる問題を見つけたり、思いついたりしたら書こう…

SICP独習会〜有理数の表現(問題2.1)〜

問題2.1 正負の有理数を扱えるようにする。以下が、とりあえず書いてみたソース。 (define (make-rat n d) (cond ((or (and (< n 0) (< d 0)) (and (> n 0) (> d 0))) (cons n d)) ((or (and (< n 0) (> d 0)) (and (> n 0) (< d 0))) (cons -n d)))) で実行…

SICP独習会 目次

計算機プログラムの構造と解釈作者: ジェラルド・ジェイサスマン,ジュリーサスマン,ハロルドエイブルソン,Gerald Jay Sussman,Julie Sussman,Harold Abelson,和田英一出版社/メーカー: ピアソンエデュケーション発売日: 2000/02メディア: 単行本購入: 35人 …

gaucheでUnixコマンドプログラミング目次

プログラミングGauche作者: Kahuaプロジェクト,川合史朗出版社/メーカー: オライリージャパン発売日: 2008/03/14メディア: 大型本購入: 22人 クリック: 713回この商品を含むブログ (244件) を見る SICPばかりやってるんじゃ飽きちゃうよね、ということでUnix…

mode-infoでgaucheのインデックスファイルが空で生成される

指定したinfoファイルのあるディレクトリに、 gauche-refj.info*があるのを確認。で、mode-info-make-all-indicesを実行したが、gaucheのインデックスだけ (setq indexer-version "0.8.5") (setq function-alist '()) (setq variable-alist '()) のように、…

gaucheでUNIXコマンドプログラミング(catコマンド基礎編)

SICPばかりやってるんじゃ飽きちゃうよね、ということでUnixコマンドをgaucheで作ってみようという試み。コマンドを作ることによって色々なプログラミングのエッセンスを吸収できるんじゃないのぐへへ、という下心満載でやっていこうと思います。 第一回目は…

zshの履歴インクリメンタルサーチ

zshの履歴インクリメンタルサーチの機能があることはずっと前から知っていたのだが、なぜか使えなくてあきられめていた。で、今日ふと思い立ってもう一度調べてみたところ、.zshrcに以下のように書かねばならぬことが発覚した。 # "bindkey"の第一引数は、任…

emacsのbrowse-kill-ringをロードすると「end of file during parsing」というエラーが出る。

結論から言うと、未解決。 エラーがでたので、ググってみたところ Error in init file: End of file during parsing などと言われた時は ~/.emacs のかっこが正しく閉じていない。 Mark, eval-region を使ってどこがおかしいか調べて場所を限定して行く。調…

飽き性の人のためのアジャイル学習方法

etc

なんとなしに思いついたので、書いてみることにする。 ソフトウェアの開発方法にアジャイル開発手法というのがあるのだけれど、それを学習プロセスに応用できないかなあと。アジャイル開発手法というのは、簡単にいうと、「ソフトウェアを短期間のうちに、徐…

GWアナゲ会で遊ぶ予定のゲームのルールのリンク集まとめみたいな

はじめてやるゲームばかりなので、リンク集を作ってみました。ルールが気になるという方は、予習にでも使っていただければ是幸。 2日目 バルバロッサ アウフアクセ ワードバスケット 1日目 ドミニオン カタン ゴキポ(ごきぶりポーカー) ブラフ キャッシュ&…

読点「、」の打ち方

作文の授業などで読点の付け方が下手だと昔から言われていた。なので読点の打ち方のポイントをまとめてみることにする。教科書は「日本語の作文技術」の第4章の「句読点の打ち方」から。読点を打つ重要なポイントは2つ。 修飾語が複数ある場合 修飾語が長い…

コンピュータ系の人のための数学ブックガイドまとめみたいなもの 

コンピュータを体系的に学んでいくと、数学の考え方・問題解決力がほしくなってくる。でも数学は昔に根付いた苦手意識より勉強しづらいしなあと思っていたのだけれど、最近数学ガールやら読んでいたら段々楽しくなってきたので調べてみた。とりあえず自分の…

Ubuntuを9.04にアップグレードしてみた。

23日にUbuntu 9.04がリリースしたのでアップグレードしてみた。とりあえず大きな変化としては、 起動が若干速くなった ログイン画面がスマートになった が目についた。しばらく使ってみると、何回か画面がフリーズする現象が起きた。調べてみると、 Intelの…

自宅PC環境をクラウドっぽくしようぜ計画

前々からウィンドウ画面を使うアプリをインストールしたPCと、データ(MP3、JPG,TXT、etc…)を貯めておくデータストレージを分けて置きたいなあと思っていた。図にするとこのような感じ。 アプリケーション層(みたいな) ここの層では主に使うPCを置く。OS…

脳をときほぐせ!!ボードゲーム特集!!

最近Twitter界隈でボードゲームをやっている方をちらほら見かけていて結構気になっていた。そういえば「MINDパフォーマンスHACKS」にも息抜きとかにボードゲームオススメって書いてあった。でもほとんどやったことないので色々調べてみた。ここに掲載したも…

「東大教師が新入生にすすめる本2」での紹介本を集計してみた

今回の本には索引がついていたので、複数ページで紹介されていれば「一人が紹介」という形でカウントしています。基本的に読むのが重めの本が多いので、気軽に読めるマンガ版もあれば一緒に紹介しています。なお、二人にオススメされている本は冊数が多くな…

SICP解答メモ&解説 (問題1.29〜問題1.33)

問題1.29 全然わからんのでパス 問題1.30 (define (sum term a next b) (define (iter a result) (if (> a b) result (iter (next a) (+ result (term a))))) (iter a 0)) 問題1.31 再帰プロセス版 (define (product a b term next) (if (> a b) 1 (* (term …

反復プロセス練習!!練習!!練習!!

コツとしては「再帰式を積み上げる」感じで書くとうまくいくことが多いみたいです。問題はSICPとか数学の有名な漸化式の問題から拝借しました。 階乗計算 階乗を計算する手続きを、反復プロセスで定義せよ。再帰プロセス版は以下の通り。 (define (fact-recu…

SICP解答メモ&解説 (問題1.14〜問題1.28)

ここの問題は、「手続きによる抽象の構築」というより、「アルゴリズムの設計と解析」と言う感じなので、1.3の「高階手続きによる抽象」まで飛ばすことにします。

SICP解答メモ&解説 (問題1.11〜問題1.13)

問題1.11 とりあえず再帰プロセスの手続きを書いてみよう。 (define (f n) (if (< n 3) n (+ (f (- n 1)) (* 2 (f (- n 2))) (* 3 (f (- n 3)))))) これは定義式をそのまま書くだけので楽。で、実行結果はこうなった。 gosh> (f 3) CALL f 3 ----------f(n -…

SICP解答メモ&解説 (問題1.9〜問題1.10)

問題1.9 以下の手続きを考える。 (define (+ a b) (if (= a 0) b (inc (+ (dec a) b)))) (define (+ a b) (if (= a 0) b (+ (dec a ) (inc b)))) 一つ目の手続きを置き換えると (inc (+ (dec 4) 5)) (inc (inc (+ (dec 3) 5))) (inc (inc (inc (+ (dec 2) 5)…

SICP解答メモ&解説(問題1.6〜問題1.8)

問題1.6 新たに手続き「newif」を定義して実行すると、解釈系は「newif」を普通の手続きとして処理する。 解釈系は作用的順序の (good-enought? guess x) guess (sqrt-iter (improve guess x) x) newif 順で処理することになる。「new-if」の三番目の引数の…

ペットボトルのお茶をおいしく飲むライフハック

etc

それは、「コップに入れて飲む」ことです。 コップに入れるだけで香りの広がりが全然違い、ペットボトルで直飲みするより1.5倍程度おいしくいただけます。 簡単なので、お試しアレ。

Linuxで使えるドロー系ツールまとめ

「Linuxでちょっとした図や絵を描きたいな」ってことが多くなってきたので調べてみました。 GIMP 言わずと知れたPhotoshopと同等の機能を備えてるらしいドロー系ソフトの雄。写真とかの加工に便利。出力や入力に対応している拡張子も豊富っぽい。公式サイト…

Emacs(gtk版)のスタートアップ設定

Emacsを使っていると、起動したらでてくるEmacsの説明のバッファ(startup screenというらしい)が煩わしくなってきた。 そこで、そのバッファを消す設定をメモしておく。 赤枠の部分がうっとおしい。

sambaで共有しているファイルに書き込めるようになった。

どうもusershareで共有機能を設定するときのパーミッションの設定を「usershare_acl」で行っているらしいことに気づいた。 そこで、この誰でも読み書きできように、ここを参考にして net usershare add dorayakitaro-dir /home/dorayakitaro comment everyon…