2008年12月15日月曜日

フーリエ



6ページの図2.2がすげー分かり易い。
PDFファイル





2008年12月13日土曜日

ビットローテート



C言語のint型でシフト演算&ローテート(漏れたビットを逆側に付ける)してたのを、Perlでやろうとして、失敗した。
Perlは型がintじゃないので、単純にシフトしてもダメでした。
自分でこりこり書いたけど、拾ってきたやつのほうがすっきりしてたので、流用。

作者さま
http://zaruya.seesaa.net/article/22951378.html



$bit_string =
( $bit_string <<= $shift_width % $frame_size )
& 2 ** $frame_size - 1 | $bit_string >>$frame_size;





2008年12月4日木曜日

手書きメモの検索



http://www.iplab.cs.tsukuba.ac.jp/paper/iwamura_master.pdf

なるほど、そういう需要もあるよね、そりゃ。
手書きでチェックした下線や○×の意図を読み取って検索してくれる。





2008年11月15日土曜日

こ、この法案は大丈夫なのか



http://www.shomei.tv/project-401.html
http://alsoku.blog47.fc2.com/blog-entry-302.html
http://news23vip.blog109.fc2.com/blog-entry-1484.html

しかも明後日採決って・・・
これと2重国籍法がセットになると、新・日本人の人口が馬鹿みたいに増えて
政治が操作されたりしませんか・・・??





2008年11月11日火曜日

引用メモ



メモ。



自分はいったいこれから何をしたらいいのだろう。すべきことがわからない。そう思い悩んでいる若者が、ひとまず猶予の刻を稼ぐために旅に出るとする。たとえば彼はバックパックひとつをかつぎ、シルクロードを西に向かって歩くかもしれない。だが、旅は過酷である。もしそれが一人旅なら、そのつらさは二倍にも三倍にもなる。金の豊富な大名旅行なら別だが、おおかたは安宿のドミトリーと呼ばれる大部屋で、貴重品をしっかり握り締めながら、見知らぬ異国人と一緒に眠ることになる。ガタガタの乗物に疲れ、値段の交渉に疲れ、場合によっては病を得ながら、しかし彼は旅を続けていく。旅を続け、旅を続け、しかし彼はいつしか「何をすべきか」という問いを虚しく砂漠に棄て去ってしまう。長い旅から帰ってきて彼がする仕事といえば、他人のカスリを取るようなヤクザな仕事ばかりなのだ。
 どうしてなのだろう。彼はさまざまな町で、村で、見て、知ったはずなのだ。パンを焼き、家具を作り、畑を耕し、羊を追う人々。つまり真っ当に働いている人々の存在がどれほど自分たちの心に安らぎを与えてくれるかということを。彼らが働いている姿を見ているだけで、旅行客からいかに多くの金を巻き上げるかということしか考えていないような、そんな宿屋や食堂の親父たちに覚える嫌悪感からどれだけ遠くにいられるかということを。真っ当であることのすばらしさを知りながら、どうして真っ当な仕事につかないのか。
 なぜ? しかし、その問いは見知らぬ「彼」に向けたものではなく、実は私自身に向けた問いでもあるのだ。どうして私はあのとき真っ当な仕事につかなかったのだろう。せっかく物書きの卵であることをやめて旅に出たのに、帰ってからどうしてまた「ヤクザ」な物書きになどなってしまったのだろう……。

  沢木耕太郎 『天涯4 砂は誘い 塔は叫ぶ』 集英社文庫 より






2008年10月17日金曜日

弾言



1、ちゃんと自分の値段や行動のコストを知ること
そのためには、すべてのものを数値化する。


企業におけるバランスシートの考え方を個人に適用してみる。
資産はカネ、負債は借金、資本は自分のもってる現金。
これは企業と変わらないけれど、


人間関係に例えると、
資産=人としての総価値
負債=人との約束
資本=自由


など、色々なことをバランスシートを適用してみる。
本書では誤解を恐れず、小見出しのタイトルが「カネでみる人間関係」となっている。
基本的には、以上がすべてですが、これからの経済や個人の働き方がどう変化していくかや、ちゃんと勉強していくためにはどういう心構えでいるか、なども書かれています。


印象に残ったものを以下に列挙。
「テレビは消せ」
知識欲は食欲と同じで、お腹がすくけれど、ジャンクフード(雑多な知識)で満足してしまったら、肝心の情報が入らなくなる。有名な話ではありますが、弾さんが言うとなんか迫力ありますw


「残業が月40時間ある会社は即刻辞めろ」
なんてマッチョな考え方…。
勉強する時間がいる+余裕がないとイカンってのは解りますが
なかなか実行には移せない話です。
残業しないと生活できないなら、そもそも、収入に見合ってない生活をしているんだそうです。
転職したら給料が下がることが多いといっても、それも支出を抑えれば良い、と。
うーん、ウィンプな考え方だと、どうしても自分が成長できなかったときのリスクを考えてしまいますね。
そこが自信の差、ひいては自分の価値を数値化して客観的に自分をみれているか、に繋がるのですね。


↓商品を貼り付けって機能があったけれど、自分はamazonに口座を教えてなんかないので、これってhatenaの収入になるんですねぇ。



弾言 成功する人生とバランスシートの使い方

弾言 成功する人生とバランスシートの使い方










2008年10月13日月曜日

うわぁ



気がついたら自分のブログやらSNSやらが増えすぎて、気がつくと、どれかの更新が止まってしまうなぁ。





2008年9月23日火曜日

ページのデザイン



記事は左、プロフィール欄なんかは右。
理由はブックマーク開きっぱなしだと、記事が真ん中に来るから。





極座標変換



メモ。
というより、パワポの数式モードを使いたくなかったので、
ここで編集して、画像形式でコピペしたかっただけ。

デカルトxy座標から極座標に変換(対象の座標をxy座標ではなく、原点からの角度と距離で表す)

rを求める。
x = rcos¥theta
y = rsin¥theta

cos¥theta = ¥frac{x}{r}
sin¥theta = ¥frac{y}{r}

cos^2¥theta + sin^2¥theta = (¥frac{x}{r})^2 + (¥frac{y}{r})^2 = 1
x^2 + y^2 = r
r = ¥sqrt{x^2+y^2}
-----------------
¥thetaを求める

tan¥theta = ¥frac{y}{x}
¥theta = arctan(¥frac{y}{x})

ただし、画像は左上端の座標が[0,0]で、y軸の方向が下向きなので、
画像変換の場合はyの符号を反転させる。
arctan(¥frac{-y}{x})





2008年9月18日木曜日

firemacsアドオン



https://addons.mozilla.org/ja/firefox/addon/4141

欲しいと思っていたものが!!!!
もうこれ無しでネットはできない。
C-f,C-b,C-a,C-e,C-k,C-y辺りがないと死んでしまう。

ただエントリーやmixiを書いてたら、反射的にC-x C-sしてしまうw
コード書いてるときから自動バックアップにしてこの癖自体を治したほうが良いのかな。

あと、C-vで1ページ分下にスクロール、M-vで上にスクロールが非常にやり難いと思っていたけれど、下スクロールはスペースキーにするとM-vで上スクロールがとても快適だった。
(Altは無変換と交換)





2008年9月16日火曜日

計算機プログラムの構造と解釈 問題1.8



立方根をとるNewton法の手続きを作成
立方根の近似は¥frac{x/y^2+2y}{3}の繰り返しで獲られる。



(define (cube-root-iter guess x)
(print guess)
(if (good-enough? guess x)
guess
(cube-root-iter (improve guess x) x)))


(define (good-enough? guess x)
( < (abs (- guess (improve guess x) )) (* guess 0.001)))


(define (improve guess x)
(/
( + (/ x (square guess)) (* 2 guess) )
3))

(define (square x)
(* x x))

(cube-root-iter 1.0 8)



square root -> sqrt は数学用語でもあるから良いけど、cube root -> curt はどうかと思ふ。

追記
(/ x (square guess))

(/ x guess guess)
でも良い。
ちょっと新鮮。





計算機プログラムの構造と解釈 問題1.7




非常に大きいxや、小さいxに対して、平方根をとる場合の対策。
(大きすぎる値は無限ループになる)
(平方根に近づいていく)予測値guessの次の予測値との差をとる。
このときしきい値をguess*0.001と、guessを基準にして相対値で比較しないと、非常に小さい数に対応できない。



(define (sqrt-iter guess x)
(print guess)
(if (good-enough? guess x)
guess
(sqrt-iter (improve guess x) x)))


(define (good-enough? guess x)
( < (abs (- guess (improve guess x) )) (* guess 0.001)))




追記
(if (good-enough? guess x)

(if (good-enough? guess (improve guess x))
にして、
(define (good-enough? guess x)
( < (abs (- guess (improve guess x) )) (* guess 0.001)))

(define (good-enough? guess next-guess)
( < (abs (- guess next-guess )) (* guess 0.001)))
にしたほうが解りやすいか。

こういう配慮が上手くできるようになりたいなぁ。



(define (sqrt-iter guess x)
(print guess)
(if (good-enough? guess x);(if (good-enough? guess (improve guess x))
guess
(sqrt-iter (improve guess x) x)))


(define (good-enough? guess x);(define (good-enough? guess next-guess)
( < (abs (- guess (improve guess x) )) (* guess 0.001)));( < (abs (- guess next-guess )) (* guess 0.001)))





計算機プログラムの構造と解釈 問題1.6



特殊形式ifを使わずに、condでnew-ifを定義した場合、
以下のニュートン法の手続きはどうなる?


ニュートン法


xの平方根の予測値yがある場合、yとx/yの平均を採る。
これを繰り返すことで、平方根の値に近づく。
x=2,y=1のとき

x/y = 2/1 = 2
y'=(y+x/y)/2 = (1+2)/2 = 1.5


x/y' = 2/1.5 = 1.3333
y''=(1.5+1.33333)/2 = 1.4167


x/y''=2/1.4167=1.4118
y'''(1.4167+1.4118)/2= 1.4142


new-ifを用いたニュートン法



(define (sqrt-iter guess x)
(new-if (good-enough? guess x);good-enough?の真偽に関わらず偽の場合のsqrt-iterが展開される
guess
(sqrt-iter (improve guess x);ここが無限展開ループ
x)))

(define (new-if predicate then-clause else-clause)
(cond (predicate then-clause)
(else else-clause)))

(define (good-enough? guess x)
( < (abs (- (square guess ) x )) 0.001))



作用的順序では、まず引数をすべて展開するので、good-enough?の真偽に関わらず、
sqrt-iterが展開され続けて無限ループに陥る。





2008年9月14日日曜日

家族用にEeePC4G購入



色はピンクです。
重量は1.1kgで、思ったより軽かったです。たぶんサイズが小さいくて厚めなせいもあると思います。(大きいとテコの原理で重い)

んで、他は悪いとこのほうが多かったです。
・まず処理速度は至って普通。ほんとに普通。
・んで、爆熱。
・そしてキーボードが小さいので打ちにくい。
・液晶サイズもやっぱ7インチはきつい。

でもエクセルとワードをたまにしか使わない家族用で36,800円なら十分、といった感じ。

EeePCを元に、やっぱ自分は10インチ以上は欲しいな、と思いました(ぶっちゃけ、人柱)




2008年9月13日土曜日

アニメでハマる→原作で萎える



ソウルイーターが面白いのでアニメの最新話まで全部みました。
途中で面白くない回もあるのですが、まぁそれはいいんです。
んで、原作のマンガのほうなんですが、

絵が・・・・

カラーはいいんですが、なんでモノクロになった途端にあんなに軽くなるんだろう。
amazonみたら酷評されてました。


あと絶望先生もアニメのほうが面白い。
マンガのほうは、パラパラみてるだけで、気が向いたら真面目に読んでます。





2008年9月11日木曜日

計算機プログラムの構造と解釈 1.1.6 問題1




問題1.4


以下の挙動の確認



(define (a-plus-abs-b a b)
((if (> b 0) + - ) a b ))

(a-plus-abs-b 5 -5)
10

(a-plus-abs-b -5 5)
0



問題1.5


現在使用している処理系が作用的順序の評価なのか、正規順序の評価なのかをテストする手続き。



(define (p) (p))

(define (test x y))
(if (= x 0)
0
y))

(test 0 (p))



わからん・・・・・。
SICP解答

あ、なるほど。
作用的の場合、演算子、非演算子を先に評価するので(p)が評価されるけれども、
(p)は再帰呼び出しになってるので無限ループして処理が終わらないと。

んで、正規順序。
「完全に展開し、簡約する」と覚えていたんですが、いざ展開しようとするとできませんでした。
自分的には「その値が必要になるまで、被演算子を評価しない」のほうが頭の中で使いやすいようです。
(test 0 (p))

(if (= x 0) 0 (p))
となって、ifが評価されて、(p)の出番がないまま答えがでる、と。

なるほど、なるほど。





2008年9月8日月曜日

夏服はポケットがなくて困る



もう夏も終わるのに何いってるんだという感じのエントリーですが、まぁ毎年やってくるので良し。
で、本題。
ポケットがある服を着ればいい、と言われてしまえばそれまでなんですが、
そうじゃない服もあるし、いろいろ詰めるとパンパンになってかっこ悪い。
(これが冬服だと、ポケットに詰め込んでも外見に変化がない)


解決策は、
・ポケットの代わりにカバンを持つ
・所持品の軽量化
が考えられます。


カバン編


自分はとてもカバン嫌いなのですが、便利なものがあるなら使ってみたいです。
で、以下が要求スペック。


・サイズはB5未満とB5サイズ(本を持ち運ぶときと、そうでない時の使い分け)
・肩に掛けるタイプは、紐が気になって仕方ないので×
・リュック系はダサいので×
・手提げはダルいので×
・ハンカチ、ティッシュなどの取り出しが簡単なこと
・カバンの口が閉まること


うーん、これは、腰固定型のポシェットってことになるのかなぁ??
あれもファッション的には好きではないのですが。


所持品の軽量化編


自分が普段持ち歩いているのは、
鍵(家、研究室、チャリ)と財布と、携帯電話です。
これを順に、ズボンの右後ろポケット、左後ろポケット、左前ポケットに入れています。
パンパンなので、座ったときや階段を登るときなどに邪魔です。


軽量財布にはJimi walletがありますが、自分には容量が少ない。
しかし、こういうデッドスペースがない財布というのは良いと思います。
一番大きい1万円札は寸法 縦76mm、横160mmなので、これを半分に折ったら縦76mm、横80mm。
カードはもう少し大きいので縦76mm,横90mmの財布をJimi Walletと同じ素材でかっちり作ったら便利そう。


携帯電話も薄くて小さいやつありますから、Jimi Wallet風財布の中に携帯電話も入るようにしておく。
取り出しはワンプッシュで飛び出すタイプがいいかな。


鍵も財布に入れたい。
まぁ鍵はストラップみたいにすればいいのかな。でもkey-portみたいな発想でもありかも。


番外編


デッド…スペース?





2008年9月2日火曜日

Ruby-RHG



RHGという単語がわからなかったので、検索。
Ruby Hacking Guideの略だった。へぇー。

Rubyはとても読みやすいし、日本語が充実してるんですが、Perlの方が好きなのであんま使いません。
Perlのほうが混沌としてて、好きなんです。あの無駄なものを日夜生成し続ける文化が。
Rubyは優等生って感じ。

あくまで好みの問題なんでしょうねー。
そう思うと、LispがNo.1言語だ!って書いてたあの本は、壮大な釣りだったような気がする。





2008年8月30日土曜日

GNU版とFree BSD版のコード




lsのソースはGNU版などいろいろなバージョンがありますが,GNU版はインデントが合わなかったり各プラットフォーム対応のための#ifdefが多過ぎたりしてあまり読みやすくないので,Free BSD版をお勧めします。
http://gihyo.jp/dev/clip/01/orangenews/vol32/0004



確かに#ifdef多すぎて読みにくかったよ!

d:id:BigFatCat:20080410





ネットワーク越しにペアプログラミング




D
いいなぁ、ペアプロ…





2008年8月29日金曜日

計算機プログラムの構造と解釈 1.1.6 問題1




問題1.2


次の式を前置記法に翻訳せよ。
¥frac{5+4+(2-(3-(6+¥frac{4}{5})))}{3(6-2)(2-7)}

木を作って、なぞっていきました。
1 + + 54-2-3+6¥frac{4}{5}*3-62-27


問題1.3


3つの数を引数としてとり、大きい2つの数の2乗の和を返す手続きを定義せよ。



(define (squares x) (* x x))
(define (sum-of-squares x y)
(+ (squares x) (squares y)))

(define (square-two-large-numbers a b c)
(cond ((> a b)
(if(> c b) (sum-of-squares a c) (sum-of-squares a b)))
((< a b)
(if(> c a) (sum-of-squares b c) (sum-of-squares b a)))))



これで動いたんですが、手続きの名前を決めるのが苦手で仕方ないっ!
限られた英単語で意味が通じるようにしないといけないから…
square-two-large-numbersはここから拝借しました。





2008年8月26日火曜日

Gauche



現在、「ハッカーと画家」の翻訳者である川合さんが作った処理系Gauche(ゴーシュ)を使わせてもらっています。

コマンドラインでは
gosh> (define a 3)
が正しく動作するのですが、test.scmを作成して、C-xC-eで評価すると・・・



Debugger entered--Lisp error: (void-function define)
(define a 3)
eval( (define a 3) )
eval-last-sexp-1(nil)
eval-last-sexp(nil)
call-interactively(eval-last-sexp)


うーん、なんだろ・・・

$gosh test.scm
だと上手くいくんだけどな・・・・





2008年8月24日日曜日

タイトル間違えてた



大体合ってるのが嫌すぎるw(元ネタはギャグ漫画日和)
http://netamichelin.blog68.fc2.com/blog-entry-3908.html



IntelのCPUを使っている場合はIPPを使うとOpenCVが高速になる



な、なんだってー





2008年7月12日土曜日

落書き事件騒動は、学校が一番キモい




~今日の日記で言いたいこと3行まとめ~
・落書きはいけないって、そりゃ謝罪すべき。
・でも処分が重すぎる。
・一部のクレーマーにビビって適当な処分すんなよ学校

では以下本文。



ていうか、これで怒ってる人ってホントに文化財とか世界遺産が大事だから怒ってるとは思えないところがあるんだよなー。要するに「日本の恥」だからでしょ?道徳的にちょっとでもキズがあると、もう「世間に顔むけできない」みたいな感性こそどうにかしてほしいよ。当事者でも何でもない上に文化財に関心があるわけでもなさそう人が、なんでここまで怒らなきゃいけないのか。規範をちょっとでも踏み外した人は、安心して叩けるとでも思ってるのか。
道徳的潔癖




大体同意で、文化財が大事だから怒ってるんじゃなくて、他所様の大事そうなものに落書きしたから、日本の恥だ!ってなってるんだと思います。当然のことだと思ってて、ニュースみてても初めからそういうものだと受け取ってました。


ただこの記事は誤解されそう。たぶんこの人は「世間に顔向けできない」感性自体は否定していなくて、「なんでここまで怒らなきゃいけないのか」という程度を問題視しているのだと思う。それだと、記事でキモいと言われている人たちは、退学させろ!と言っている一部の過激な人のことを指してるのであって、その感性自体を疑問視している野蛮で残酷な日本的茶番とはまた違っている主張なのだと思う。


この過激な人たちが多ければ多いほど、水面下で多数の人たちが「落書きは不味いよなぁ・・・」と思ってる人は多いはずで、この感覚自体は間違ったものではないと思います。これに反論されると、一般的に日本人的感覚と呼ばれてるものが正しいのか、正しくないのか、という話になるので、それはちょっと面倒なのでゴメンなさい。


このように、「他所様のものに落書き」->「(多数と思われる日本人)それは不味いって」->「(一部の過激さん)退学させろ!」までは良いのですが、この後、この過激な人たちに感化されて、顧問を解任したり、生徒を停学にしちゃったりした学校は、アホだ、と思ってます。この教職者たちは人間を1つのベクトルでしか評価できんのか。そのベクトルは世間と馴れ合えるかどうかだけなのか。





2008年7月4日金曜日

優先順位



研究室の人が、プログラムが意図した通りに動かないと言ってたので、コードをみていたら間違い発見。

*p++;ではなくて(*p)++;が期待していた動作でした。

ポインタのインクリメントは文字列比較のときのwhileの条件にするなどの定型文以外は
使わないほうが良いよーと言いました。





2008年6月26日木曜日

2008年6月23日月曜日

virtualbox1.6とホストubuntu8.04とゲストXP



アップデートしたら少しかってが違うかったのでメモ。
まずDLしてきたらダブルクリックでインストール。


一般ユーザ&GUIで起動できるようにする


$sudo adduser gdm vboxusers
$sudo adduser 使用ユーザ名 vboxusers

これでアプリケーション->システムツールにvirtualboxアイコンが現れるので、
好きなところに移動させる。


ゲストOSでキーボードを認識させる


激はまり。
windowsのインストール画面でキー入力をホストに奪られたまま帰ってこず、
強制再起動しまくった。
scim-bridge-client-qtをインストールすれば良いとの情報があったので、


$sudo apt-get install scim-bridge-client-qt


が、解決せず。その後、
virtualboxのファイル->環境設定->入力のキーボード自動キャプチャのチェックを外すと解決!(脱出は右Ctrl)
scim-bridge-client-qtが必要かどうかは解りません。


マウスカーソルをシームレスに


ゲストOS(windowsXP)のインストールが終わったら、デバイス->Guest Additionsのインストール


USB認識


/etc/init.d/mountdevsubfs.shファイルのコメントを外す。


#
# Magic to make /proc/bus/usb work
#
mkdir -p /dev/bus/usb/.usbfs
domount usbfs "" /dev/bus/usb/.usbfs -obusmode=0700, devmode=0600, listmode=0644
ln -s .usbfs/devices /dev/bus/usb/devices
mount --rbind /dev/bus/usb /proc/bus/usb


/etc/fstab末尾に以下を加える


# usbfs is the USB group in fstab file:
none /proc/bus/usb usbfs devgid=*** ,devmode=664 0 0


devgidの値は以下のように調べる
Ubuntuのシステム->システム管理->ユーザとグループから
グループの管理ボタンを押して、vboxusersのプロパティをみる。自分は124でした。


/etc/init.d/mountkernfs.shに以下を加える


# Mount the usbfs for use with VirtualBox
domount usbfs usbdevfs /proc/bus/usb -onoexec, nosuid, nodev, devgid=***, devmode=664


その後
USBフラッシュメモリを挿した状態で、virtualboxのUSB設定でフラッシュメモリを追加。
以上。しかしipod touchはいまだ動かず。


ファイル共有


わからん!というか眠いからもう寝る!
とりあえず保留


ついでメモ


youtubeとニコニコを観られるようにflashプレイヤーを入れる。
アドビでtar.gzを落としてきて、中にある.soファイルを
/usr/lib/firefox/plugins/に移す。





2008年6月19日木曜日

最近読んだ本一覧



何かしら感想を書こうと思ってたんですが、とりあえず過剰書き・・・
・お金は銀行に預けるな
・40代からの勉強法
・内側から見た富士通「成果主義」の崩壊
・ウチのシステムはなぜ使えない SEとユーザの失敗学

ウチのシステムはなぜ使えない、はSEと打ち合わせすることの多い顧客側に向けて書かれた本。
ITの実態を知ることで、もっと上手く付き合おう、と。
ITで飯を食べる予定の人には結構常識的な話ばかりなので、これ読んでわからないこと(開発工程とか)があったら、ちょっと勉強したほうがいいかもっ。





Firefox3がでましたよ!



はやく入れ替えるのだ皆の衆~
ついでにOperaからWiiを奪えー





2008年6月8日日曜日

計算機プログラムの構造と解釈 1.1.6 問題1




問題1.1


式の列がある。それぞれの式で解釈系が印字する結果は何か。
列は示した順に評価するものとする。

以下、
問題、
自分の回答、
正しい回答
の順に3つ記述する。
ただし、自分の回答が正解の場合は、正しい回答は書かない。

10
10



(+ 5 3 4)
12


(- 9 1)
8


(/ 6 2)
3


(+ (* 2 4) (- 4 6))
6


(define a 3)
表示なし
a


(define b (+ a 1))
表示なし
b


(+ a b (* a b))
19


(= a b)
false
#f


(if (and (> b a) (< b (* a b)))
b
a)
4


(cond ((= a 4) 6)
((= b 4) (+ 6 7 a))
(else 25))
16


(+ 2 (if ( > b a) b a))
6


(* (cond ((> a b) a)
((< a b) b)
(else -1))
(+ a 1))
16





計算機プログラムの構造と解釈 1.1.6



1.1.6 keyword
条件式、述語

~条件式~
Lispには場合分け(case analysis)を記述する特殊形式cond(conditional),if,elseがある。

condの一般式は

(cond (<p1> <e1>)
(<p2> <e2>)
(<p3> <e3>))



となり、pには条件式がはいり、<p1>が真ならば<e1>の値を取り、偽なら<p2>を評価し、以下繰り返し。

絶対値absを定義する式は以下の様になる。

(define (abs x)
(cond ((> x 0) x)
((= x 0) 0)
((< x 0) (- x)))


条件が全て偽なら定義は行われない。
またマイナス記号は単項で用いた場合(- x)、符号反転の役目を果たす。

elseとif式はC言語でお馴染み。説明はいらないと思われる。

(define (abs x)
(cond ((< x 0) (- x)
(else x)))



(define (abs x)
(if (< x 0)
(- x)
x))



and,or,notも同様。
ただし、notは特殊形式ではないことに注意。
なぜならand,orは必ずしも全ての式を評価しないが、notは(not (< x y))のように必ず式を評価するから。


~述語(predicate)~
真と偽に評価される式、または真か偽を返す手続きのことを指す。
上記の<p1>,<p2>,...や、<,>,=などの基本的手続きも述語である。

また<e1>,<e2>,...を帰結式と呼ぶ。




2008年6月5日木曜日

計算機プログラムの構造と解釈 1.1.5



1.1.5 keyword
置換えモデル、作用的順序、正規順序


置換えモデル


人間がプロセスを理解しやすくするためのモデル。
以下のように手続き定義を展開していく。

(f 5)
fの本体を取りだし、
(sum-of-squares (+ a 1) (* a 2))
仮パラメタaを引数5に。

(sum-of-squares (+ 5 1) (* 5 2))
(+ 5 1) (* 5 2)を計算してから、sum-of-squareの本体を取りだし、以下繰り返し。
(+ (square 6) (square 10))
(+ 36 100)
136

実際の処理とは関係ないし、置換えで表現できることは限られている
(3章の可変データでこのモデルは破綻する)


作用的順序


今まで読んできた評価の方法。
解釈系が演算子と被演算子を評価して、結果の手続きを結果の引数に作用させる。

(sum-of-square (+ 5 1) (* 5 2))のとき



演算子を評価-->結果の手続き
(sum-of-square (a,b)) --> (+ (square a) (square b))

被演算子を評価-->結果の引数
(+ 5 1) --> 6
(* 5 2) --> 10

結果の手続きを結果の引数に作用
(+ (square 6) (square 10))




正規順序


完全に展開する。



(sum-of-square (+ 5 1) (* 5 2))は
(+ (square 6) (square 10))とならず、
(+ (square + 5 1) (square * 5 2))
(+ (* (+ 5 1) (+ 5 1)) (* (* 5 2) (* 5 2)) )
となる。
(+ 5 1)と(* 5 2)をそれぞれ2回計算することになるので、効率が悪い。




正規順序と作用順序


正規順序は「完全に展開し、簡約する」
作用順序は「引数を評価し、作用させる」
置換えでモデル化できる式に関しては2つとも同じ結果になる。つまり違う結果のときがある
(同じ結果にならない例は問題1.5で後述)

Lispは作用的順序の評価を行うが、理由は(+ 5 1)(* 5 2)を2回計算するような多重評価をさけるためと、正規順序が置換えでモデル化できる範囲を越えたとたんに複雑化するから。
ただし、正規順序の評価も有効な道具であり、部分的に用いることがある。(3章ストリーム処理と4.2節参照)





2008年6月4日水曜日

大きさを変えられるテーブル



http://jp.youtube.com/watch?v=mKEOYfYQO08&eurl=http://happyemail.seesaa.net/article/99309005.html

うーん、期待してたのはじょじょに大きさが変化していくテーブルで、2段階変形じゃなぁ~。欲しいとは思わないや。





2008年6月1日日曜日

計算機プログラムの構造と解釈 1.1.3 1.1.4




1.1.3


keyword
組合せ評価規則、例外構文、評価プロセスは再帰


組合せ評価規則


組合わせの式を評価するときは
以下の評価規則に従う。



1、組合せの部分式を評価する
2、再左部分式の値である手続きを残りの部分式の値である引数(被演算子)に作用させる




1は



(* (+ 1 2) (+ 2 2))


のような式でも1つずつ括弧の中を計算していくんだよってことで、
2は,(+ 1 2)の+は1,2の両方に作用するんだよってこと。


例外構文


この評価規則では定義が扱えず、defineは組合せ式ではなく例外構文。なぜなら



(define x 3)


のdefineはxに3を対応づけているだけで、defineはxと3の両方に作用しているわけではない。
この例外を構文シュガーと言う。


評価プロセスは再帰



(* (+ 1 2) (+ 2 2))


を見ると、頭の中では(+ 1 2)と(+ 2 2)を先に計算するが、評価規則2よりLispでは、まず先に手続きが行われるのは最左部分式の*。
この*手続きを実現するために、(+ 1 2)(+ 2 2)が呼び出されるので、「評価の規則は本質的に再帰」となります。


1.1.4


keyword
抽象化法、手続き定義

(define x 3)のように値を対応づけるだけではなくて、
(define (square x) (* x x))のような演算に名前を付ける。
このような抽象化法の一手法を手続き定義という。

これは



(square 10)
100
(square (+ 2 5))
49


とマクロのように使用できる。

むーん、わからない点が1つ。
(square x)のxが仮引数として、(* x x)に渡して計算してるのは
どういう規則が元になってるんですか。
(define (<name> <仮引数>) (<本体>))
って例外構文があるって考えていいのかな





さてそろそろ復活しますか。



研究がバカみたいに忙しい(≒教授に圧迫かけられてる)のですが、なんだかんだでそれ以外は終了しましたので、例の古典の続きもやっていきたいと思います。
って今日言いたいのは、そうではなくて・・・・。

ジャストシステムの株価がすごい下がってて買い時なんではないかという話です。
昨年赤字決算だしたときは半値くらいまで株価が下がったのですが、予想どおりV字回復しました。(仕手株ですから)
しかし今はなだらかに順調に下がっていって、前より低い値段になってます。

なんでお薦めかというと、結局はジャストの技術力を評価していると言う点に尽きます。
事業を絞れば黒字に転換することはできるだろうし、いざとなったら他が買収してくれると予想しているので、そこで買った株を売れば良いんではないかと。

話は変わりますが、ファンドに投資する場合は国内で上場してるファンドにしましょう。そうでないと為替相場で死亡します。為替が絡むのには手を出してはいけない。
お薦めはスペインファンド。正式名はスペイン・ファンド・インクだったかな?途中で経営者が変わって名前が変わったんですよね。
別に自分がファンドに詳しくて、数値的にお薦めしているわけではなくて、このファンドができたときからうちの家が長年お世話になっているので。以下箇条書き。
・アトランタオリンピックの際にアメリカでできたファンド
・2ヶ月おきに配当
・昔より配当は落ちたが、ここ20年くらい配当が滞ったことはない
・今でも年利15%以上はある

うちは新発で買ったため手数料払ってないので、手数料を引いた場合どうなるか判りませんが。
きっと他にも熱いところがあるんでしょうが、一応長年の信用を買って紹介してみました。以上。





2008年4月11日金曜日

Web::Scraperは便利だけれど



サムネイル画像のURLをWeb::Scraperで取得して、正規表現で本体のURLに変換して、MechanizeでDLというのを良くやるのですが、いちいちHPに応じて、URLを取得してくるコード(どこの、なんて名前のテーブルの内側にあるリンクを取ってこいとか)を書き直すのが面倒になってきました。

画像を取得するだけだったら、全文検索でURLっぽいものを全て取得して、目的の画像群のURLと類似度が近いやつだけ片っ端からDLするってコードの方が楽かも。





楽しいマルチメディア検索



自分のいままでやった研究内容を思い出すと、言語関係の研究(形態素解析、ベイズ理論)と画像関係の研究(OpenCVでごにょごにょ)なのですが、これってかなり遊べる知識なのでは、と今更ながらに思ってきました。
高い精度を期待しないでいいなら、アイデア実現は簡単にできるかも。





2008年4月4日金曜日

ubuntu7.10にアップデートしたら音がでなかった問題



なぜかミュートになっていた。右上のアイコンを右クリック、音量調節ツールを開いてPCMがミュートになっているので外す。




2008年3月31日月曜日

音がでない



うちのubuntu君の音が出なくなった。前もあったけど再起動したら直ってたのにな。
その間にやったことといえば…virtualboxでxpを動かしてみたくらい…なんか関係あるんかな
virtualboxは心なしか軽かった。





2008年2月16日土曜日

組込みプレス3月号を買った



読んでみたら基本情報技術者のときに勉強したっきり見なかった単語が割と載っていて
資格試験も、何もしないよりはマシかなぁと思いました。

C言語入門!と書いてあった部分を復習がてらに読んでみましたら、
double型同士を==で比較するんじゃないよとか、普段意識しないけれど、そういえばそんなこともあったなぁ…みたいなことがいくつか書いてありました。(double型同士の比較って意外に出会う機会少ないですよね??)
うーん、ちゃんと復習していかないとな。





2008年2月13日水曜日

ESL Podcast 345 &#8211; The Seven-year Itch(7年目の浮気。映画のタイトル)




###################################################
Sunny:
Did you hear the news? Nancy and Brian are splitting up.
知ってる?ナンシーとブライアンが別れたの。


Igor:
How long have they been married?
結婚してどれくらいになるんだい?


Sunny:
Eight years. I’m sure it was the seven-year itch. I bet Brian was unfaithful to Nancy.
8年ね。きっと浮気だったに違いないわ。私はブライアンがナンシーを裏切ったほうにかけるわ。


Igor:
How do you know? Maybe it was Nancy who had a wandering eye.
どうしてわかるんだい?裏切ったのは目移りしていたナンシーのほうかも知れないよ。


Sunny:
Maybe, but it’s a shame.
そうかもしれない、でもひどい話だわ。
They were such a nice couple.
彼らはともていいカップルだったのに。
Doesn’t anyone take marriage vows seriously these days?
最近は本気で結婚を誓う人なんていないのかしら?
To me, it’s a lifelong commitment.
私だったら、生涯を誓えるわ。


Igor:
If you ask me, I think our notion of marriage is out of date.
私に言わせれば結婚なんて考え方が時代遅れだと思う。
Conventional wisdom is that everybody wants to be unfaithful after they’ve been married a few years.
一般的には結婚して数年たてば皆浮気してみたいと思うさ。
Why not make marriage a short-term arrangement?
なぜ短期間の誓約にしないのだろう?
In my view, a marriage should last for seven years unless you want to renew.
私の考えでは、結婚は7年間は続けるべきだ。あなたがほかの人を欲しがらなければね。
If you don’t, you each go your separate ways.
それができないなら、それぞれ別々の道をいくことになる。


Sunny:
You make marriage sound like an apartment contract!
あなたの結婚は賃貸住宅の契約のようね
Not everybody is as cynical as you are.
みんながあなたのようにひねくれているわけではないわ。
I don’t think that most couples think seriously about committing adultery, and many couples stay together for life.
私は多くのカップルが不倫についてまじめに考えながら、一緒に暮らしているとは思わない。


Igor:
You may live in la-la land, but I live in the real world.
君はたぶん夢の中にいるんだよ、ここは現実の世界だよ。


Sunny:
If that’s the real world, I don’t want to live there!
もしそれが現実なら、そんなところお断りよ!
#############################################

unfaithfulの説明に
another relationship with something else who is not wife,hasband,boyfreiend,girlfreiend.
と言ってたのがへーと思った。another relationshipか。

take a marriage vow
結婚の誓いを立てる
commit adultery
不倫する
think seriously about
~を真剣[まじめ]に考える




2008年2月8日金曜日

計算機プログラムの構造と解釈 1.1.1 1.1.2




超有名な古典、計算機プログラムの構造と解釈を、ちょっとずつ読んでいってみたいと思います。
ほんと、ちょっとずつ。


~単純な概念を合わせて複雑な概念にすることが得意な言語が持っている性質3つ~


基本式


言語が関わる最も単純なもの。



;これは合成式。各パーツが式。3は値。
(+ 1 2)
3


1,2は数を表す式であり、+は手続きを表す式らしい。
式の定義がわからなかったのでwikiを見てみる(そこでwikiかよ)



式(expression)は、プログラミングにおいて、言語によって定められた優先順位や結びつきの規定に則って評価

される値、変数、演算子、関数の組み合わせである。数学における式と同様、式は評価された値を持つ。



ということは、
+,1,2は「式」であり、3は「値」、括弧も式かな?


組合せ法


基本式を組合わせたもの(合成式)
1,2,+,()などの式を組み合わせて以下のような合成式をつくる



(+ 1 2)
3



抽象化法


合成式に名前をつけて、単一のものとして扱う。



(define pi 3.14159)

(define radius 10)

(define circumference (* 2 pi radius))
62.8318



この値と名前の関係を保持している記憶を環境という。なんか大事気。(より正確には大域環境というらしい。3章
で解ると書いてある)

以上。





2008年2月7日木曜日

ESL Podcast 344 &#8211; At the Convention Center




I left my hotel early so I would arrive at the convention center in time for my presentation,
私は自分のプレゼンテーションの時間までにコンベンションセンターに着くように、早くホテルを出た。
but the bad traffic made me late.
しかし、ひどい渋滞のせいで遅れてしまった。
My presentation was supposed to start at 2:00 and it was already 1:55!
私のプレゼンテーションは本来なら2時から始まることになっていたが、すでに1時55分だった!

To make matters worse, I had never been to this convention center before and I didn’t know my way around.
さらに悪いことに、私は一度もそのコンベンションセンーに来たことがなく、またコンベンションセンターの構造も知らなかった。

I walked into the foyer and looked around.
私はロビーに入って、周りを見渡した。

I was hoping to see a registration booth or the speakers’ room, where I was sure someone could point me in the right direction.
私は登録所(?)か控え室が見つかることを望んだ。そこでは誰かが正しい方向を教えてくれると確信していたからだ。

I walked down one hallway and found the main ballroom, but it was empty.
私は廊下を歩いていってメインダンスホール(?)を見つけたが、そこには何も無かった。

I saw a sign for meeting rooms upstairs and went up the escalator.
私はミーティングルームの表示が上の階であること見て、エスカレータを上がった。

But when I got to the second floor, I didn’t see anyone around.
しかし、私が2階に上がったとき、周りには誰もいなかった。

I looked over the landing, hoping to get my bearings, but that was no help.
私は階段の踊り場を見渡し、自分の位置を確かめたかったが、無駄だった。

By this time, I was sweating bullets. The clock was ticking and I was late!
もうこのときには、私は必死になっていました。刻一刻と時間は経過していき、そして私は間に合わなかった!

Then, I woke up.
そこで、私は目が覚めた。

It wasn’t the first time I had a nightmare like this, and I knew it wouldn’t be the last.
私がこのような悪夢を見るのはこれが初めてではなかった。そしてこれが最後ではないことを知っていました。

I wonder what my subconscious is trying to tell me?
私は自分の潜在意識が自分に何を伝えようとしているのか疑問に思った。

At least this time, I was wearing my pants!
少なくとも今回はズボンをはいていた!


###<連語>##############################################
get one's bearings
自分がどこにいるか分かる、方向を確かめる、自分{じぶん}のなすべきことを知る、自分の立場を把握する、形勢を見る

The clock is ticking.
時計がカチカチいっている。/刻一刻と時間が経過していく。/残り時間はあとわずか。


I didn’t know my way around ~. 
~の地理に明るくない

sweating bullets(直訳 弾丸の汗をかく)
必死になっている
########################################################


コンベンションセンターってのはまぁ多目的ホールみたいなのがある大きいビルのことなんでしょうね。
うーん、落ちがよくわからない文章だったなぁ。

I was hoping to see a registration booth or the speakers’ room, where I was sure someone could point me in the right direction.
がやっぱりよくわかりません。登録所ってなんだろ、受付??





2008年2月5日火曜日

343-Being Alike and Different(似て非なる)



がんばって日本語に訳してみました。
口語意訳と直訳が混ざってるのはご愛嬌w


######################################################################################
[A]
Oh,your babies are adorable.
まぁ、かわいい赤ちゃんね。
They're like two peas in a pod.
ひとつのさやの中の2つのさやえんどうみたいに似ている。
[B]
They may look like mirror images of each other,but they're nothing alike.
子供たちはお互いに鏡に映った姿のように見えるかもしれません。しかし、2人とも少しも似ていないのです。
They each have their distinct personalities.
子供たちはお互いに全く異なる性格をしています。
Randy likes to sleep during the day and Dominic likes to sleep at night.
ランディは日中に寝ることを好み、ドミニクは夜寝ることを好みます。

[A]
That's like my babies at home.
まるで、家にいる私の子供たちのようだわ。
They're polar opposites.They don't like eating the same foods and they have clashing personalities.
あの子たちはまったく正反対なの。同じものを食べるのを嫌がるし、衝突する個性を持っているわ。

[B]
Oh,really?Does that cause problems?
まぁ本当?それが原因で問題が起こったりする?
[A]
Yes,sometimes it does.
時々ね。
One is playful all the time and the other one is always pensive.
片方はいつも陽気で、もう片方はいつも悲しげなの。
They get on each other's nerves more often than not.
彼らはしばしば互いの神経に触るの。
I can't believe they have the same parents.
同じ親から産まれたとは思えないわ。
[A]
You're telling me!
まったくその通りだわ!
I sometimes wonder how two babies born at the same time can be so different.
双子の赤ちゃんがどうしたらそんなに違う性格になるのか、時々不思議に思います。

[barking sound]
吠える音
[B]
Oh, my precious little babies are hungry. We'd better get home so they can eat.
大事な小さい赤ん坊たちがお腹をすかせているわ。彼らが食べれるように、家に帰ったほうが良さそうね。
[A]
I'd better get home to mine.
私もそうだわ。
They'll be crawling up the walls if I don't get back soon with their treats!
すぐに帰ってご馳走をあげないと、彼らは壁をはいあがろうとするわ。
####################################################################################
つかれたーーー!!!
ちなみに調べてたらこんなん見つけました。
I'd better run so I can make the light.
信号に間に合うように走った方が良さそうだ。
信号に間に合うって、can make the light なんですね。へーへー20へー

あと発音でびっくりしたのが
always オイウェス
get on ゲット アン
て聞こえたところ。

alwaysとlikeがめちゃ聞き取りにくい。likes to の to は全く聞こえませんでした。

あ!あとexcite英和だけでなくて、大学でもお世話になってるALCがすげー便利です。
連語で検索できる~♪





podcastでお勉強。



ESL
今日から番組名(?)ESL(English as a Second Language,第2外国語としての英語)でお勉強を開始しました。
かなりゆっくりから初めてくれる上に、中学レベル以上(つまり僕基準)の単語に関してはなんと英語で解説してくれます。
英英辞書は使ったことないけれど、案外わかるから楽しい。

ちなみにipod touchならなんと本文が表示されます!(上記の単語を英語で説明はない。あくまで本文だけ。ちぇ)

まだ初日ですが、感想としては予想以上に楽しいです。
また、わからない単語を調べようという意欲が半端なく湧いてきます。
理由として「聞き取れるのに単語の意味がわからない」というのがすごい悔しいことが挙げられます。
長文読解だったら途中で投げ出してますわw





数学でつまずくのはなぜか




誰かと友達になりたいなら、まず、そいつを何かに利用しようなんていう浅ましい考えは捨てることだ。
数学と友達になりたい場合も同じである。とにかく、そいつの話をじっくり聞き、いいとことも悪いところも
知ろうとすることだ。そして思いっきりけんかをすることだ。そうした末に、そいつの良さといとおしさがわかるのだから。




受験の道具としかみないんじゃなくて、もっと本質的なところを考えようよってことかな?
感想としてはとても面白かったです。数学の歴史や、著者が今までどうやって子供たちに教えてきたかも書かれていますし。
なるほどー、と関心してしまうことが多かったです。
最後のほうにフォン・ノイマンのお話しがあって、コンピュータを作ったときに「世界で2番目に計算の速いやつが生まれた」っぽいジョークを言ったと書いてありましたが、実際競って勝ったと記憶してたんだけど違うのかな…?

wiki



#水爆の効率概算のためにフェルミは大型計算尺で、ファインマンは卓上計算機で、ノイマンは天井を向いて暗算したが、ノイマンが最も速く正確な値を出した。
# ENIACとの計算勝負で勝ち、「俺の次に頭の良い奴ができた」と喜んだ。




はてさて、真実かどうかはとにかく、すごい人だな、ほんとに。





2008年2月4日月曜日

オプション処理!App::Option



さて、まだまだperl初心者なワタクシ、blogデビューをきっかけにちゃんと勉強していこうと思います。
ルー語変換で有名な冨田さんのblogを完全に参考。



#!/usr/bin/perl -w

use App::Options(
option => {
name => "type=string; required; default=Unknown;",
age => "type=integer;",
debug => "type=boolean",
},
);

# 値は %App::options の中
print "Hello $App::options{name}.\n";




実行すると



Hello Unknown.




んで、これの便利なところはUsage(日本語訳:使い方)を自動的に表示してくれるところ。
requiredは必須という意味らしいのでdefaultを消してみましょう。



use App::Options(
option => {
name => "type=string; required;", #default=Unknown;",
age => "type=integer;",
debug => "type=boolean",
},
);



実行結果



Hello required.



おろっ!?
required=1にしてみた。



Error: "name" is a required option but is not defined
Usage: ./add_option_use.pl [options] [args]
--help print this message (also -?)
--age=<value> [undef] (integer)
--debug [undef] (boolean)
--name=<value> [undef] (string)



おお、動いた動いた。
引数指定が整数や文字列といった型だけでなく、正規表現もさくっと作れます。



#ティーンエイジャーしか実行できません
use App::Options(
option => {
name => 'type=string; required=1;', #default=Unknown;",
age => 'type=/^1[\d]+$/; required=1',
debug => "type=boolean",
},
);




あとは自己流helpメッセージを作ったり、--nameを短縮名-nにする方法とか勉強したら
普通に使う分には困らなさそう。む、でも軽く見た限りでは短縮名の方法がよくわからないぞ…。

最後にUsageの発音に関して。
エキサイト英和辞書

ゆぅーせっちゅ!と聞こえるけど、これループで聞いてたら最後のちゅの部分が人間の声だと思えなくなってきたyoなんか擦る音に聞こえる…





SoozyConference4(すじこん!)





あと、おふざけでこんなん。(なぜ「おふざけ」がオフ酒に変換されるのだ・・・)
グニャラは大変なPerlをDISっていきました





2008年2月3日日曜日

ipod touchを買った



先日これで携帯からGoogleカレンダーが便利に使えるぜ!と書いたのに、
touchを購入したことによりいきなりその役目を終えてしまいそうですw

たぶんtouchってオフラインでGoogleカレンダー見れますよね?
あった

げげ、Outlook経由ですか。うーん、それは困った。
Outlookが問題というより、touchをPCに接続しなければいけない手間がちょっと…。

できればPCで作成した予定は、いつでもどこでも無線LANでサクっとtouchに落としたいなぁ。





2008年2月2日土曜日

まずフィボナッチ数ってなんだろな



今話題になってるのはこれ!
Y コンビネータって何?

まずフィボナッチがわからない。

wikiフィボナッチ数

あー!この式知ってる!高校のときに習ったやつだ!

ふむふむ、数列ってことはわかったんだけど、具体的なイメージはどんなんやろ。
引用練習、



フィボナッチは次の問題を考案した。

1つがいの兎は、産まれて2ヶ月後から毎月1つがいずつの兎を産む。
1つがいの兎は1年の間に何つがいの兎になるか?

この条件のもとで、つがいの数は次の表のようになる。どの月のつがいの合計も、その前の2つの月での合計の和となり、フィボナッチ数が現れていることがわかる。



む、引用がカッコよくない(>_<)枠の中の色を変えたいなぁ…。

あと「つがい」って何?
あった。
オスとメス1匹ずつってことらしい。
ふむふむ、これで、まぁわかった。


フィボナッチ以外にも数列がたくさんあって、とても覚えきれないし、理解するのも面倒くさい。
でもフィボナッチやその多の数列を知らずにプログラミングする場面を想像するとゾッとするなぁ…。

JS勉強して、ちょっとamachangのコードをおっかけてみよう。



var fib = function(n){
return (n <= 2) ? 1 : (arguments.callee(n-1) + arguments.callee(n-2));
};
fib(10);




arguments.calleeは、現在実行中の関数自体を指す。
これを利用することで無名関数の再帰が可能になる。




うん、簡単だw
んで、最後のはなんだろ、考えてみる。



var fib = (function() {
var fib = function(n){
return (n <= 2) ? 1 : (fib(n-1) + fib(n-2));
};
return fib;
})();
fib(10)



あー、つまり中で宣言したfibを使いまわしているから、



var _fib = fib; // _fib という名前に fib 関数を代入
fib = null; // 元の fib を消す

_fib(10); // 失敗する


これが失敗しないってことなのか。
なるほど。
ついでにvar は perl でいうところの my にあたる局所変数として宣言するためのものらしい。

Y コンビネータとλ計算についてはまたおいおいということで…、今日は解散。
本の続き読も。





Googleカレンダーが携帯電話で見やすく表示される!




http://www.yamamoworks.net/cs/blogs/yamamo/archive/2007/01/31/gcmg-renewal.aspx

これはヤバい。もともとGoogleカレンダーは便利だったのに、これで携帯からも「いつでもどこでもストレスなく」メモができるようになりました。(もともと携帯でも見れたけど、めちゃ見にくかった。ストレス)

Googleカレンダーはいいですよー。
僕は手帳というものが苦手でして、それは毎朝手帳を開けるという習慣が身につかなかったためです。
でもGoogleカレンダーはiGoogleにガジェットとして置いておけば必ず目に入るため、それ以来僕がものを忘れることはなくなりました。お勧めです。





2008年2月1日金曜日

プログラミングでメシが食えるか!?




1部では技術的なことについて、どうやれば早くプログラミングができるのかについて述べています。

興味があったのは、2時間でとにかく動くものを作れという点。
実際に動いたものを見れば次の2時間も集中して作業ができる。
確かに自分も研究で、次の日に後回しにしたコーディングはやる気がかなり下がっています。

2部はプログラマとして働くことに関して。
こだわりを持てっていう至極当り前のことを主張しています。
誰にでもできる仕事は単価が安くて当り前だと。
他には、もちろんメシを食べるためには営業活動も必要だということも書いてあり、そのためには技術的なアピールポイントを作っておかなければいけない、と。


1部も2部も他にもたくさん細かいことを書いていますが、
まぁ目新しいことは2、3点といったところです。目次をみて興味のある部分だけ読んでみるのも良いと思います。


amazon:プログラミングでメシが食えるか!?





偉い人たちがとにかくブログは書け!とおっしゃるので書いてみる



さてさて、専門で学んでることや、就活のことが多くなると思いますが
よろしくお願いします。

あれ、カテゴリーって人手でつけれんのかな?
・・・あぁ、はてな記法ってのがあるのね、了解。