2007-07-01から1ヶ月間の記事一覧

Web2.0 の副作用

USB2.0も、特に中身があるわけでもない陳腐な言葉に見えてきてしまうこと。 もしくは、Web2.0が元来の Web の40倍であるように聞こえてしまう。何が40倍なんだろう。

Xlib.d 書いた。

D X11

% gcc -E -P -dD /usr/X11R6/include/X11/Xlib.hした結果をごにょごにょして、なんかできた。 http://konbu.s13.xrea.com/lib/d/Xlib.d http://konbu.s13.xrea.com/lib/d/Xlib_define.d D がわからんのはまだしも、ふつーに Xlib.h に書いてることの意味がわ…

D から Xlib をほげほげしたかった

D

ウィンドウマネージャー遊びをしたかったので、C の .h ファイルから D のモジュールへの変換 - プログラミング言語 D (日本語訳)を参考にしながら Xlib.h を Xlib.d とかに書きかえようと試みて昨日をつぶした。しかも全然うまくいかんかった。つーか X11 …

C++ が C の上位互換とかなんとか

http://d.hatena.ne.jp/uskz/20070723/p1 電気通信大学で開かれてるプログラミング言語論という講義で「C言語しか知らん人に別の言語をおすすめする文章書いてみてー」というレポート課題がりました。 俺は JavaScript なんぞについて「クラスとかいう構造体…

何故かニコニコ動画のコメント欄に日本語打てなくなった

どうやら D言語で遊ぶために、ja_JP.euc-jp 環境から ja_JP.utf8 環境 にしたのが原因だったぽい。なんでそうなるのかは知らんが alias firefox='LANG=ja_JP.euc-jp LC_ALL=ja_JP.euc-jp firefox' とかやったら普通に日本語入力できるようになったのだからた…

クロージャが簡単につくれていいなと思った。

% cat hoge.pl $counter1 = makecounter(); $counter2 = makecounter(); printf "counter1 = %d\n", $counter1->(); printf "counter1 = %d\n", $counter1->(); printf "counter2 = %d\n", $counter2->(); printf "counter1 = %d\n", $counter1->(); printf …

つい

D

大学の数値計算レポートに使うプログラム(たぶん C言語で書くべきもの)書いててなんかイラッときて D言語で書き直した。意味は無い。レポートにはたぶん教官が予見してるだろう、適当な C のプログラムを添付。一部グラフ出力するためのこねくりまわしは、…

はてなスター

「なんだろうと思って自分の記事を何度もクリックしたら☆がたくさん付いてしまいました。削除機能つけてください」 この意見はなんなんだろう。もしかすると、この意見が削除機能をつけるべきもっともらしい理由に見えるんだろうか。「クネクネうぜえから消…

ICFP 2007 はのーみそコネコネ宇宙人

http://www.icfpcontest.org/ 去年はオーパーツでした。今年は宇宙人です。 ブログにちょくちょく出てきた謎のイラスト群は、問題に関係あったらしい。まあバックストーリーだけど。 http://johanjeuring.blogspot.com/つーか、すげー難しくないですか。俺が…

わかったつもりになったD

D

http://www.kmonos.net/alang/wnd プログラミングのプの字も知らなかった頃にチャレンジして死んだことあったから、めちゃくちゃ難しい印象あったけど、今やったらそうでもなかった。なんか普通におもしろいですねこれ。 % dmd catn.d gcc catn.o -o catn -m…

最小二乗法

10 210 20 1000 21 1100 30 2000みたいな離散データから最小二乗法で数式を求めたいとき。先のテキストを data00 として、gnuplot で a=20 b=100 f(x)=a*x+b fit f(x) "data00" using 1:2 via a,b print "ax + b" print "a = ", a, ", b = ", b とかしてやる…

発言

「ほげほげしたい」と言う人は、「ほげほげしたい」と言いたい人。「ほげほげしたい」と言ったところで、その人が本当にほげほげしたいのかどうかは、その人自身にもわからないことが多い。 例えば「死にたい」なんて発言(および考え)は、およそどんな状況…

行列と行列の積

C

数値計算っぽい雰囲気のレポートに使うプログラムが、どうしてもうまくいかんなーと思ってたら行列の積を求める関数が死んでた。 double **mat_mat_multiply(double **result, double **x, double **y, int n){ int i, j, k; double **tmp = makeMatrix(n); …

レポートに使うプログラムのための Makefile 晒し

下に示すは j8-1-3, j8-2-3 というプログラムをつくるための Makefile。普通書くだろう $(CC) $(CFLAGS) $^ -o $@ とかはめんどくさいので省略して、Make さん任せです。hoge.c から hoge.o を作る方法とかも書いてません。 プログラム名が意味不明な数字っ…

mmap

不勉強だもんで、最近になってmmapなるものを知りまして。入出力が高速化されてカッコイイ! とかはどうでもよくて、つーかファイル IO がすげー楽じゃねえか? と。 k.inabaさんが2年前に言っていたことがようやく理解できたのです。そんなわけで、C言語以…

日付表示変更

いつまでたっても英語の月が憶えられないので、まずは日記に表示される日付のフォーマットを変えてみる。さよならISO 8601 規格。man strptime によると %D 日 付。%m/%d/%y と同じ。 (これはアメリカ式の日付形式で、ヨーロッパでは特に %d/%m/%y という形…

話題になってるらしいし。

日記の内容はどうでもいいスター 1000 まで追加しようかと思ったけど はてな鯖にまったく無意味な負荷かかるから勘弁してやる。それは嘘で、飽きた。 褒めてみる はてなスター最高! 流石はてな、わかってるね。俺はこれで確信した。はてなが mixi なんか目…

REPL

wikipedia:Eval Lispはeval 関数を利用したオリジナルの言語であった。evalの定義によって、Lispインタプリタの最初の実装が現れたのである。evalが定義される以前は、 Lispの関数は手動でアセンブリ言語の文にコンパイルされていた。しかし一度eval関数が手…

define-syntax ためしてみる。

しばらく前からちょくちょく SICP 眺めてる。読み始めた頃からけっこう Scheme に興味あるんだけど、あいつは言語としては Scheme 使ってるけど、Scheme の本じゃない。そんなことに気がつくのに結構な時間がかかりました。というわけで、SICP 読み進めても…

リファレンスマニュアル

ウェブ上でリファレンスマニュアル的な文書ねーかなーと思った。そういえば、R5RS がある。 http://www.schemers.org/Documents/Standards/R5RS/ 気前良くそのまま印刷できる形でのファイルも提供してるし。印刷しておこう。 追記 書籍の「The Scheme Progra…

キー設定

SKK 使いならば Shift キーを色々なところに追加しまくってるのが当然だと思う。みなさんもちろん「変換」「無変換」は Shift キーですよね。何年か前からこれでやってますけど、かなり楽です。 あと「カタカナひらがな」は Escape です。Esc キーなんて、あ…

Wikipedia の挿入ソートの説明

挿入ソートでぐぐると、Wikipedia がトップに出てくる。 http://ja.wikipedia.org/wiki/%E6%8C%BF%E5%85%A5%E3%82%BD%E3%83%BC%E3%83%88 ここのサンプルコードが間違ってる。日本中の学生さんが見たりしてるんだろうに。 for (i = 1; i < n; i++) { for (j =…

たぶんカリー化ってこんな感じのような気がする。 gosh> (define (curry p . args) (lambda r (apply p (append args r)))) curry gosh> (define hogecons (curry cons 'hoge)) hogecons gosh> (hogecons 'moge) (hoge . moge) gosh> (hogecons 'piyo) (hoge…

test