Hatena::ブログ(Diary)

hogeなlog

プロフィール

hogelog

hogelog

小室 直(こむろ すなお)。電気通信大学2003年入学。2010年修士卒業。プログラミングとかしてます。

カレンダー
1984 | 01 |
2006 | 07 | 08 | 09 | 10 | 11 | 12 |
2007 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2008 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2009 | 01 | 02 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 |
2010 | 01 | 06 | 08 | 09 | 10 | 11 | 12 |
2011 | 01 | 02 | 03 | 05 | 08 | 09 | 10 | 12 |
2012 | 01 | 04 | 06 |

December 31(Sun), 2006

年末だからなのか? 異様にネット接続がほにゃららら。今やってる「朝まで生つるべ!」おもしれー。今のところ完全トークライブだね。テレビテレビしてなくておもしれーなあ。

[][] また会いましたねRuby

まだまだいいかげんにirbとおしゃべり。

続きを読む

[] テレビっこ世代

今テレビを適当にザッピングしてたら泉ピン子が飯島愛に「グラビア出身なんだっけ?」と聞き、飯島愛が「もっとひどいことしてました」と答えた。泉ピン子は相当「イイ性格」してるってのはよく聞くけど本当だなあ。

なんとかKIDほにゃららのノーガードの歩き方がちょっとハメドっぽかった。K-1番組の編集の仕方がわけわかんねえ。小さい子供とかは全部生で連続でやってるんだと思うだろうなあ。プロの人はすごいなあ。いや録画。

ネットが超重い。

負けても負けてもいくら負けてもやり続ける、そういうのはちょっとかっこいいなあと思う。「人気者は何度負けても試合できていいよね」とかそういう考えもあるけれど。

[][] 年末だしゴルフでも。

http://codegolf.com/

短かいのはいいことだ。小さいは正義。というわけでスクリプト言語でゴルフをしよう。

今まで全部Perlでやってたけれど、ちょいちょいRubyでもちょっかいかける。ゴルフとかやってとりあえず色々コードを書くのが一番の習得への早道だ。ゴルフじゃなくてもいいけど。

いや、ゴルフで慣れるのは変な部分だな。Perlは「baby talkも立派なPerlプログラム!」と開発者が言ってるだけあって、ゴルフのコードもPerlらしいスクリプトに見えるんだけど。ゴルフなRubyスクリプトはRubyらしくはないような。まあでも文法とかに慣れることはできる。

トラックバック - http://d.hatena.ne.jp/hogelog/20061231

December 30(Sat), 2006 なんだ。今年をふりかえったりなんてしないぞ俺は。

[][] 最短経路問題

人工無脳の発言生成を最短経路問題と見なして、ほうほうこれはなかなかいけそうなモデルじゃねーかなと思った。しかしどーもそこから次の段階へと思考が至らない。そうだ。そもそも最短経路問題をうまく解けねえよ俺。

参考ページ

眠い。

ねむい。

一番上のページは参考になる。超簡単なコードでも書いてみようと試みた。まったく途中までしかやってないけど眠いから書いておく。

続きを読む

[][] 眠くなくなったから続き

ちょっとはマトモになったかね。微妙。あんまり良くない。オブジェクト指向が簡単に使いやすいRubyの方が頭がすっきりするんじゃないかという気分になってきた。Ruby使ったことないけど。オブジェクト指向プログラミングしたことないけど。

続きを読む

[][] はじめましてRuby

なんか色々な巡回先のブログとかに出現する確率高いしRubyしようと思った。どの言語も並以下にしか扱えないのにアチコチ節操無いな俺。Rubyは前から「やろーかなー」としばしば思ってたけど、Pythonはイマイチやる気になれない。たぶん名前の見た目がなんか落ち着かないから。拡張子のpyとかはかなり妙な気分。余談余談。

Rubyは以前ActiveScriptRubyをインストールした。irbを動かすのとかには色々なライブラリが必要だったりするので、Windowsならこれが便利。

最初っからirbという環境があるのは嬉しい。そういうのはSchemeとかOCamlで体験したのが先だったけど、こういうインタプリタとの対話環境は嬉しい。特に言語を習得するにはとても便利。Perlにもperlshというものがある。けど、Windowsだとどうも入れるのが面倒。cygwinとかはあんまり入れたくないし。perl -dでもそれなりのことはできるけど。

ということで適当にirbと適当にダラダラおしゃべりしてみる。

続きを読む

トラックバック - http://d.hatena.ne.jp/hogelog/20061230

December 29(Fri), 2006 年の瀬なんて知らねえよOCaml

[][] OCamlやってみよう(2)

参考ページとか

OCamlの関数っていうのは、Schemeで言う「引数を一つだけ取り、lambda式を一つだけ返す関数」なのかな。

gosh> (lambda (x) (lambda (y) (+ x y)))
#<closure 009DDE40(x)>
gosh> ((lambda (x) (lambda (y) (+ x y))) 2)
#<closure 009DDE00(y)>
gosh> (((lambda (x) (lambda (y) (+ x y))) 2) 3)
5
# fun a -> fun b -> a+b;;
- : int -> int -> int = <fun>
# (fun a -> fun b -> a+b) 2;;
- : int -> int = <fun>
# (fun a -> fun b -> a+b) 2 3;;
- : int = 5

おんなじおんなじ。何か新しい概念を理解しようとしているときに、既存の概念を使いまわすのはあまりよくないと思うけど。ファミコンとプレステの区別がつかない大人になんてなりたくない。あとPCに詳しくない歳いった人に多い、わけのわからないPCへの理解の仕方を見たりするとつくづく、新しい概念を怖がっちゃいけないなと思う。余談。

そんなこととかをふまえて、階乗関数factをいくつかの方法で書いてみる。

# let rec f = fun a -> fun x -> if(x=0) then a else f (a*x) (x-1);;
val f : int -> int -> int = <fun>
# let fact = f 1;;
val fact : int -> int = <fun>
# fact 5;;
- : int = 120

factの内部でしか使わないfを全体で束縛しちゃってるのが駄目っぽいすね。

# let fact =
  let rec f = fun a -> fun x -> if(x=0) then a else f (a*x) (x-1) in
  f 1;;
val fact : int -> int = <fun>
# fact 5;;
- : int = 120

「let...in」で式をローカルで束縛できる。なんか怪しいような気がするけどまあいいや。

# let fact = (fun f -> fun a -> fun x -> f a x)
  (fun a -> fun x -> if(x=0) then a else f (a*x) (x-1)) 1;;
val fact : int -> int = <fun>
# fact 5;;
- : int = 120

let recとか謎な機能使わずに無名の高階関数でやっちゃおうぜの巻。let recはシンタックスシュガーだ! 知らないけど。

funとfunctionは単なる略記形式じゃなくて別物らしい。

トラックバック - http://d.hatena.ne.jp/hogelog/20061229

December 28(Thu), 2006 CPUとかメモリとかあたらしくしたいなあ

[][][] あらためて人工無脳をつくろう(1)

どうも俺は設計と実装をごっちゃにして考え過ぎる。実装に気が取られると、設計は二の次三の次。人工無脳作りを通してつくづく感じた。よろしくない。というわけで、しばらく時間空いて忘れた部分もあるしもう一度人工無脳の設計から考えなおす。

「発言=最短経路問題」と考える。「ノード=単語」で、「経路長=単語のつながりの「ありそうさ」具合」、「出発点=文頭」、「到達点=文末」ととする。一回一回の人工無脳の発言をそういう最短経路問題と考えて、人工無脳の出力する文章を「ありそう」なものにする。簡単化したのが下図。ノードを辿って、例えば「ああ、なんか疲れた。」みたいな文章を出力する、と。

f:id:hogelog:20061228005817p:image

まあDP(ダイナミックプログラミング=動的計画法)ダイクストラ法(たぶん?)とかさえ把握しておけば、一番短い道を見つけるのはそんなに難しくもないですね。きっと。知らんけど。実際には遅過ぎたりするかもしれないけど、とりあえずいいとする。

で難しいのが「ありそうさ」具合を導出することかなと。「ありそうさ」は前後の単語、文章、会話の流れ、その時の気分などなど、様々な要因により決まる。これはまあ、とにかくマルコフモデルだなんだと適当にあれこれして、それなりな数値を計算で得られればいいや。これはまた後で煮詰める。

実際の人間が発言するときは、別に文章の頭っから順番に文末までの単語を考えているわけでもない。言いたい単語を言葉でつなげて文章になると考えられる。すなわち経路問題で言うところの「中継点」にあたるんじゃないかと。(経路問題に中継点という概念が使われるのか、よく知らないけど)

f:id:hogelog:20061228005816p:image

図にするとこんな上のような感じで。

トラックバック - http://d.hatena.ne.jp/hogelog/20061228

December 26(Tue), 2006

[][] OCamlやってみよう

まずは環境整備。

http://caml.inria.fr/download.en.html

から、「Self installer (3.09.3) for the port based on the Microsoft toolchain」とやらダウンロードしてきて実行。適当な所にインストール完了。なんかこれだけで随分GUIGUIした環境がセットアップされた。一応「C:\Program Files\Objective Caml\bin」とかにPATHを通しておく。コンパイラでほげほげするほどOCamlについてわかってはいないので、しばらく対話環境で遊ぶ。

どんな型があるのかチェック。

# 33;;
- : int = 33
# 2.34;;
- : float = 2.34
# true;;
- : bool = true
# 'a';;
- : char = 'a'
# "Hello World";;
- : string = "Hello World"

この辺はいつも通りのお馴染の型。これらの型を扱うような四則演算とか比較、入出力とか行う計算が定義されてるんだなあと予測がつきます。

# ();;
- : unit = ()

unit型とやら。unit型の値は()だけ、らしい。未だどういう場面で必要となるかわからないですけど、きっとなにかに使うのでしょう。

# (3, 2);;
- : int * int = (3, 2)
# ("太郎", 23, 180.0, 72.3);;
- : string * int * float * float = ("\145セ\152Y", 23, 180., 72.3)

組(tuple)というデータ構造。tuple型とも言われてるのかも。任意の型の値の積。離散数学の集合あたりの考え方をするとわかりやすいような。

"太郎"が化けてるのはとりあえず気にしない。

# [1; 2; 3;];;
- : int list = [1; 2; 3]
# [|1; 2; 3|];;
- : int array = [|1; 2; 3|]
# [|1; 2; 3;|];;
- : int array = [|1; 2; 3|]

リスト型と配列(array)型。最後のセミコロンはあっても無くても同じようだ。OCamlのリストはLISP的なリストで、頭から操作していく必要があるようだ。配列は添字でアクセスできるようなデータ。

Schemeのリストとvector、C++ STLのlistとarray、といった関係と似てるようだ。

# float_of_int 3;;
- : float = 3.
# float_of_int;;
- : int -> float = <fun>

int→floatの関数(fun)型と。

もうちょい複雑な型とかもあるっぽいけど、とりあえずパス。無くてもしばらく遊びプログラムは書けそう。

さて。とりあえずなんかプログラム書いてみよう。とりあえず階乗あたり。

# let rec fact = function x -> if(x=0) then 1 else (x * fact(x-1));;
val fact : int -> int = <fun>
# fact 3;;
- : int = 6
# fact 5;;
- : int = 120
# let rec f = function a -> function x -> if(x=0) then a else f (a*x) (x-1);;
val f : int -> int -> int = <fun>
# let fact = function x -> f 1 x;;
val fact : int -> int = <fun>
# fact 5;;
- : int = 120

SICPで言うところの再帰的プロセスと反復的プロセスな書き方をしたけど、違いが出るのかどうかは知らんなあ。

# (function x -> x+1) 3;;
- : int = 4
# ((function x -> x+1)) 3;;
- : int = 4

ふと思い付いて実行したらうまく動いた書き方。なるほど。括弧は数式と同じで、式の優先順位を決める以外に意味を持たないのかな?

やっぱりC言語よりかはSchemeに似てるかね。Schemeはじめた時同様、しばらくはシンタックスシュガーをいくらか我慢する方向性で。

h_sakuraih_sakurai 2006/12/28 06:03 おお、Ocamlはじめたですかぁ。すばらすい

hogeloghogelog 2006/12/28 15:30 ああーいやいや、あちこちかじっては辞め、かじっては辞めしてるだけなんですけどね。
「関数の引数も返り値も一つだけ」(という認識であってるかわかりませんが)という縛りはちょっと面白いなあと思いました。全ての関数が関数を返す関数なので、なるほどこれは関数型だ、と。

トラックバック - http://d.hatena.ne.jp/hogelog/20061226

December 25(Mon), 2006

休みだし水族館とか動物園とか、超行きてええ。平日のが空いてるから明日にしよう明日。とか思ったけど、明日25日ってクリスマス? なんか「こんな日にデートする相手もいなくて独りで水族館来てるお前プギャー」とか思われそうで嫌だなあ。でも逆に言えばそんな日にあえて独りで水族館行ってる人っぽくて楽しそうな気もしてきた。そんな感じでクリスマスに対する感慨はプラマイゼロとして、そーしたらあとは単純に混みそうって理由がある分、やっぱ明日はやめとこか。

ほんでもどうなんだろうな。クリスマスっていうのはみなさんフラフラお外を徘徊するもんなんだろか。

しかしこの辺、水族館って何処にあるんだろうな。

あとOCamlいじりをしたくなった。前の文章と何も繋ってないけど。

[][] VMWare Workstation 6.0試した適当な記録

VMWareから「VMware Workstation 6.0 Betaできたよー」ってメールが来たので、VMWare6を導入してみた。VMWare4で満足してるしちゃんと動いてるのに、わざわざ突撃するのは悪い癖だなあと思いつつ。しかもなんとなくVine3.2からVine4.0にアップグレードしてみた。枯れた環境で満足しておけばいいのに。どうせ新しい画期的な機能なんて使わないんだから。

色々面倒だった。

http://www.vmware.com/products/beta/ws/

マルチディスプレイとかWindows Vistaに対応したよー、なんて言ってますね。一瞬「すげーや!」と思ったけど俺に関係無かった。バックグラウンドでVM走らせられるようになったっていうのは、嬉しい人が多いんじゃないかな。

まずVMWare6のインストール。exeを走らせて完了。「前のバージョンのVMWareは消しちゃうよ?」と言われて、VMWare4を削除。Beta版を試すためには正規版を削除しなきゃいけないって、けっこう嫌だけど。

Vine4.0のisoを使ってVMWare内のVine3.2をVine4.0にアップグレード。

http://vinelinux.org/vine4tips.html

にある通り、root権限で

# apt-get update
# apt-get -f dist-upgrade

としてVineのアップグレードは完了。

http://mland98.rc.kyushu-u.ac.jp/faq/grub-faq.html

こちら参考に、テキストモードでrootログイン。

メニューから「VM」->「Install VMWare Tools...」を選んで、

# cd /mnt
# mount cdrom
# cd cdrom
# rpm -ivh VMwareTools-e.x.p-36983.i386.rpm

で、まず最初に

# vmware-config-tools.pl

としてちゃんと設定してあげる必要がある。この辺で結構ひっかかったりしていたが、(たぶん)カーネルのソースが入ってないとうまくいかない。

# apt-get install kernel-source kernel-devel

の後にvmware-config-tools.plを走らせていけた。

えーと本当にkernel-develとkernel-sourceがいるんだったかどうだかよくわかんねーな。


えーと雑感。

  • 互換性を保とうとしてるっぽい。ハードウェアコンパチ「Workstation 4」、「Workstation 5」みたいな設定欄があった。今回は問題無かったので「Workstation 6」のまま。
  • 「Map or Disconnect Virtual Disks」とかあったので、簡単に仮想ディスクを繋げたり切り離したりできるのかな。
  • あちこちに「Team」とかいう新概念っぽいのがあったけどよく知らない。
  • VMはいつもシャットダウンさせず、サスペンドさせて、次の起動時にも全く同じ状況から始まるのでホクホクしているのだが、サスペンドが速くなってた気がする

そんなところ。

これは参考にならねえなあ。

hogeloghogelog 2006/12/30 19:57 あー、VMWare6はテキストモードでログインしなくてもVMWare Toolsインストールできるようになってるかも。

トラックバック - http://d.hatena.ne.jp/hogelog/20061225

December 22(Fri), 2006

[] 電気通信大学 物理学実験まわりめも

基礎科学実験A ウェブサイト

http://physics.e-one.uec.ac.jp/

なんかガイダンスとかでもそんなに強調されないけれど、この講義のウェブサイトはけっこう情報が充実している。実験テキストが全文PDFで公開されているということを知らない電通生はけっこう多い。「レポート作成のヒント」の誤差に関するページだとかも、ざっくりと書いてあって概要を掴みやすい気がする。

(非公式) 基礎科学実験A ウェブサイト

http://mkodai.hp.infoseek.co.jp/exp/index.html

電通大に在籍するとある有志の方々によるウェブサイト。「物理実験」こと「基礎科学実験A」が電通生にとっていかに鬼門であるかがうかがえる。けっこうためになる情報が多いので、もっと多くの人の目に触れると良いんじゃないかと思った。

今のところ「公式ページ」の「実験テーマの紹介」の計算機シミュレーションの解説からリンクしてあるアプリケーションのマニュアルページを表示、そして「どうやら違うウェブサイトのページに飛んだようだ」と気付いて、なんとなくそのサイトのホームを表示する。そこからようやく、「考えてみれば別に頼まれた訳でもなかった」ウェブサイトに辿りつく。

頼まれてないのに自分が所属する団体のウェブサイトを作っちゃうのってコンピュータ遊び好きの人なら一度はやったことあるよね。

理科年表オンライン

http://www.rikanenpyo.jp/member/

電通大のえらい人が国立天文台と密約を交わしたので理科年表プレミアム会員になったなった。電通大から接続すると、ログインして理科年表データをオンラインで見ることができます。CCのコンピュータはもちろん、JED(情報工学科計算機室)からもログインできたので、学内ならどこからでも良さげ。大学の計算機にリモートログインしたりすれば、家からでも読めますね。ポートフォワーディングとかで学内のプロキシ利用したりすると良さげかなきっと。これで深夜に徹夜でレポートを書いてて「ああああ文献値が欲しい!!」となった時も困らない。

まったく憎まれ愛されてる講義だなあと思う。俺は最近ようやく素晴しいものだと気がついたな。大変だけど。

講義つながりで、英語の講義のレポート題材として、NASAの宇宙飛行士のマーク・ポランスキーとやらのインタビュー記事を翻訳したりしてみて、それもなんかオモシレーかもとか思った。そして俺はホント英語よくわかんねえなあということを再認識した。しかしNASAのウェブサイトの充実ぶりはけっこうすごい。「For Kids」から「For Employee」までとりそろえております。「For Kids」とか「For Students」は「才能ある若者よ、NASAは君達を歓迎する!」という意気込みが伝わってくる、いや別にそれは言い過ぎだけれども、作り込んであって、しかも専門知識の無い人向けだからけっこう面白い。ような気がする。

「英辞郎 on the web」は、単語を検索すると用例をたくさん出してくれるので、普通の辞書だけじゃニュアンスがいまいちわからないときとか便利。なような気がする。っていうか英辞郎の収録数が普通にすげえ多いのか。

http://www.alc.co.jp/index.html

トラックバック - http://d.hatena.ne.jp/hogelog/20061222

December 21(Thu), 2006

[][] ソート色々。

適当に勘で書く。Perlのスライスは便利だなあと思う。

バブルソート。

for($i=$#a;$i>0;--$i){
  for($j=0;$j<$i;++$j){
    @a[$j,$j+1] = @a[$j+1,$j] if($a[$j]>$a[$j+1]);
  }
}

「一番簡単なソート」的なあつかいをされていることがあるけど、そんなにわかりやすくもない気がする。二重のループで範囲を狭めていくあたりが。

比較(セレクション)ソート。

for($i=0;$i<$#a;++$i){
  for($m=$j=$i;$j<@a;++$j){
    $m=$j if($a[$m]>$a[$j]);
  }
  @a[$i,$m]=@a[$m,$i];
}

バブルソートよりか、比較ソートの方が理解がされやすい気がする。こっちだってループが二重になってはいるけれど、内側のループは「一番小さい数を探す」という、副作用の無いループ。ループの中のループで配列の中身をあれこれ入れ替えながら進む、「ふくざつ」なバブルソートよりいーかんじ。

挿入(インサーション)ソート。

for($i=1;$i<@a;++$i){
  $t = $a[$i];
  for($j=$i;$j>0&&$a[$j-1]>$t;--$j){$a[$j]=$a[$j-1]}
  $a[$j]=$t;
}

バブルソート、選択ソート同様の基本的なソート。バブルソート、選択ソートなんかよりかは速い。と聞いたことがある気がする。


なんとなくソート3つ書いたけど、ここまではカンペ無しで適当に書ける。あんまり書いたことの無いソートを書いてみようというつもりで書き始めたので本題はこれから。なのだけれど、眠いから明日以降。続かないかも。

トラックバック - http://d.hatena.ne.jp/hogelog/20061221

December 17(Sun), 2006 あめゆじゅ

やること

  • 解析学、微積分などの勉強(もうすぐ中間テストとかの時期ですかね)
  • 物理学実験のレポート(これは毎週のことですね)
  • データ構造論のレポート(これは、中身はだいたいできてますね)
  • 奨学金云々の書類(書類は既に用意できてるね)
  • ぼちぼち人工無脳開発再開(これは全然できてないね)
  • 数値解析っぽいレポート(今久しぶりに思いだした。危ねえ)
  • リハビリ。泳いだりストレッチしたり。

[][] りはびりぱーる

ちょっと余所見してる間に、はてながソースコードへの色つけしてくれるようになってるらしいしPerlリハビリ。

実用性が皆無なソートアルゴリズム、ボゴソートでも実装してみましょう。

#!/usr/bin/perl

@a=<>=~/\d+/g; # 入力を一行読んで、その結果で\d+にマッチする部分を配列として@aに代入。
while(1){
  for($p=$a[$n=0];$p<=$a[$n];$p=$a[$n++]){} # @aはどこまでソートされてるかなー
  last if($n==@a);# @aはソート済みだから終わる
  # ソートされてなかったから@aを適当にシャッフル
  for($n=0;$n<@a;++$n){
    @a[$n..@a]=(splice(@a, $n+int rand(@a-$n), 1), @a[$n..$#a]);
  }
}
print"@a"; # ソート済みの@aを表示

こんなかんじ。実行結果は?

% perl bogosort.pl
1 3 33 34  454 421 111 <- 入力行
1 3 33 34 111 421 454 <- 出力行
% perl bogosort.pl
1 34 45 952 727 13 1 <- 入力行
1 1 13 34 45 727 952 <- 出力行

ああちゃんとソートできてるじゃんすごいすごい。でも10個くらいの値を渡したらなかなか終わらなかったり。

spliceなどという便利な組み込み関数を知らなかったので

  for(@b=();@a;){
    push@b,splice(@a, int rand@a, 1);
  }
  @a=@b

なんて方法で配列のソートをしていた。こーいう超基本的な関数とかよくわかってないからCodeGolfで上の方行けねえんだろか。

http://codegolf.com/reverseなんて、splice使ったら縮むかなとか思って今見てみたら、

1st 	kinaba 	51 	Ruby

51バイトってうわあ別次元だ。一番良い記録出せてるhttp://codegolf.com/pascals-triangleとかも、どうやったらもっと縮むのかさっぱりわからない。

hogeloghogelog 2006/12/30 19:44 > spliceを知らなかったので
> push@b,splice(@a, int rand@a, 1);
書いてることおかしいな。でも当時何を思って書いたのか憶えてないから放置

トラックバック - http://d.hatena.ne.jp/hogelog/20061217

December 01(Fri), 2006

この世にどうでもよくないことなんて存在しないと思いませんか関口さん。

まあそれは、どうでもいいことなんて存在しないと言ってるのと同じことなのかもしれないけれど。しばらくはプログラミング遊びとかはおあずけ。しばらくって12月17日くらいまで。マルチタスク人間じゃないというのに、それ一本でもへちょぶれそうなタスクがあったらねえ。マルチタスク能力は身につけないといつかへたれそうだ。あっちの活動やってこっちの活動やってほげらほげらとバリバリスーパーマン、的な意味のマルチタスクじゃなくて。責務と遊びのマルチタスク。スイッチング。とか。もぐらに耳をかじられた。痛い。

時間余裕ができたらやりたいことリスト

  • ベイジアンネットワークってどんなもんか調べる
  • SVMってどんなもんか調べる
  • また地道にSICPを続ける
  • Common Lispで遊ぶ
  • OCamlで遊ぶ
  • 英語の文章を読む

とか。

やること

なんかやらなきゃいけないこと忘れてそうな気がしたのでリストアップ。

  • 家賃振り込み。明日すぐに。
  • あしたしめきりのレポートできた! 毎回ぎりぎりだな!
  • 離散数学と解析学と微積分の勉強。そろそろ中間テストだ。
  • データ構造論のレポート。いつだか適当に書いたプログラムを参考にやればそんな時間かからないはず。
  • なんかあったかい上着が無いんですけど。何故だ。どっかに落ちてないか探して、無かったら買う。
  • 水族館行きたい。
  • 一日中ひねもす魚を眺めてたい。
  • なんか英語の講義のレポート。
  • ほげほげ
トラックバック - http://d.hatena.ne.jp/hogelog/20061201
最近のコメント