2006-11-01から1ヶ月間の記事一覧

Hello Java。

流行に乗ってるJavaを使えるようになって今時のITマンのふりをしよう。ということでJavaでなんかやってみる。今更流行に乗ってるとも言いがたいか。参考このへん。 http://www.javaroad.jp/ http://sdc.sun.co.jp/java/docs/j2se/1.4/ja/docs/ja/api/index.h…

SICPを読む6

ちょっとずつでもやり続ければそのうち終わらーな。問題1.17から1.19

SICPを読もう5

ミッシングリンクを埋めようということで、問題1.14から1.16。あんま進まんかった。眠い。もずくうまい。

SchemeでBrainFuck その2

前回書いたBrainFuckインタプリタはかなりおそかった。与えられたbfコードをリストとして構築しなおしてから、さあ実行、とかやってたからだろうか。リストの扱いくらいしかわからなかったからそうなったのだが。 bfのコードはそのままstringとして扱った方…

Schemeで適当にBrainFuckインタプリタ

やらなければいけないレポートがあるという現実から目を逸らしてSchemeでBrainfuckインタプリタつくってたら朝になっていたのでやばい。Schemeでのまともなプログラムの書き方とかまず全然わからないのもほげ。目を背けたい事柄が無かったらたぶんわざわざSc…

Javaなんか目じゃないポータブル言語Brainf*ckを楽しもう!

なんかおもいつきでBrainf*ckインタプリタを作ってみた。過去に何度か作ろうとしたけど、ちゃんと動かなかったりした。んで「ああ俺やっぱりプログラミングとか向いてねーなー」と思ったものですが。今回作ってみたら特につまることもなくスムーズにできた。…

なんかリンク抽出してみた。

Perlでウェブページからリンク抽出してみよう! そう思ったのは大学の講義でGoogleのPageRankアルゴリズムを習ったからだと思います。リンクの抽出ができたあたりで満足しました。 CPANって偉大じゃねーかな思いました。そして俺はさっさと月曜締め切りのPag…

SICPを読もう4 「1.3 高階手続きによる抽象」あたり

問題1.14 - 1.28 気分転換したくなったのでパス!問題1.29から1.33まで。高階手続きで抽象的に楽しもうというあたりで楽しもうと思います。

こんにちはCGI!

XMLHttpRequestでCGIにアクセスしましょう。テキストファイルにアクセスした場合とほぼ同じですね。

SICPを読もう3

大学生は好きに使える時間が多いなあと思う。12:10から16:15まで空きコマという。問題1.12、1.13をやった。

SICPを読む2

おもいがけず休日だったのでSICPの練習問題を解く。問題1.7から1.11まで。はいはい末尾再帰末尾再帰。反復的プロセスですね。このペースだといつやり終えるんだろうか。

[とてちてけんじゃ] あめゆじゅ

今日は雨がすごかった。ま嘘だな。 雨は降ってなくても腹は減る。漫画とか小説とか読んでて思う。俺は「紙一重を突破した天才」キャラがどうしようもなく好きだなあと。偽非天才キャラは嫌いだけど。 具体的に挙げるとamazon:イリヤの空、UFOの夏の水前寺部…

SICPを読む。

学生のうちに読んでおけーという電波を受信したので噂に名高い、SICPことamazon:計算機プログラムの構造と解釈を読んでみる。英語版はハードカバーで固かったですが、日本語版はやわらかいですね。あと日本語なので読みやすいですね。 日本語訳がどうこうっ…

玉吉さんこんにちは、鳥さんこんにちは。

amazon:御緩漫玉日記 (1)買って読んだ。なかなか飛ばしてくれてるし、うわーなんかすげえ生々しくてエロいわー。 とかなんとかよりもね。玉吉さんが調布に住んでたことは知ってたんだけどさ、明らかに今俺住んでる所にめちゃくちゃ近い。作中に出てた仕事場…

こんにちは世界

CGIに適当にAjaxねじこんでみようとしたりうまく動かなかったりムキーっということで、ちゃんと基本を確認することにする。そうだそうだ、そういえば通過儀礼を忘れていたのだ。それはもちろん「Hello World!」。なんか俺の中では「Ajaxなにそれおいしいの?…

なんかまた猫虐待で捕まった人がいたらしいですが、その辺の野良猫を捕まえて、捌いて皮をなめして、肉はちゃんと調理して食べてる様子をウェブにアップロードしたりすると、それは犯罪になるのだろうか。 wikipedia 動物愛護法を見るに、猫とかって愛護動物…

なんかオンラインメモ帳っぽいの。

ひさしぶりにCGIとか作ってみた。 http://konbu.s13.xrea.com/tpage/tpage.cgi テキストを編集、保存できる。超絶劣化Wikiと言ったらわかりやすいのかもしれません。というか実用CGIとしてあんまり成立してませんけど。実用的にするためのプログラミングって…

RLE(ランレンングス)法はわかりやすいなあ。

1B 1B 1B 1B 2C 2C 33 98 98 98 というデータを 04 1B 02 2C 01 33 03 98 というような、データとそれが連続して出た回数で書き記すような方法をランレングス法(RLE)と呼びます。でも少し考えるとわかることがありまして。連続出現が0回のデータなんて出て…

なんかできた。

圧縮プログラムenc、伸張プログラムdec。 % cc enc.c -o enc % cc dec.c -o dec % cat hoge abc abbc abc cde cde cdeeacd cabe abe cafe age fage aaaabbbbcccc abc abc abcc abc fbcd fbcd fcbd ddcb dcb % ./enc hoge % ll hoge* -rw-r--r-- 1 sun31048 J…

素ハフマン圧縮プログラム。

なんか、ハフマン符号化が少しわかった気がするぞ。あと二分木とか。プログラムを書いてようやく。実践を伴わない知識っていうのは宙に浮いてるようで、なんか居心地が悪い。実際に使ってみると、なんだか錨で固定したような気分になれるなあ。二分木に関し…

可変長ビット列を出力

文字列型で渡された"10111"みたいなビット列を、実際のビット列として書き出す関数putbitsを作ろう。でも困ったことにコンピュータさんは、8の倍数ビット単位での読み書きしかできないらしい。というか、だからこんな関数が必要になるわけだが。putbits("101…

あ、駄目だ。

圧縮データの出力部分が適当過ぎる。ハフマン符号化したデータの長さは8ビット単位じゃないので、出力がむずい。ちきしょー。

とりあえず圧縮部分まで書いてみた。

変換辞書と、データ部分は別ファイルに。 % gcc press.c % ./a.out bar % ls -l bar* -rw-r--r-- 1 sun31048 J03A 24 Nov 16 19:09 bar -rw-r--r-- 1 sun31048 J03A 10 Nov 16 19:10 bar.code -rw-r--r-- 1 sun31048 J03A 4 Nov 16 19:10 bar.data % cat bar…

ハフマンコード表作り

そういえば俺がコンピュータほげほげにはまったキッカケの一つって、「圧縮」がすごいおもしろかったから、だったよなあ。今をときめくK.INABAさんを知ったのもそれでだ。「今をときめく」ってどういう表現だ? と思い、教えてgoo辞書さん「ときめく」したら…

日記脳ばんざい。

日記日記した日記(読んでも読まなくても書いても書かなくてもいい、でもなんか書きたくなる駄文のこと)は、なんとなくmixiに書くことが多い。しかし俺もそれなりに日記脳なもんで、考えるだけで満足することが多い。

Nグラムモデルっぽいもので適当に文字列出力

C言語で文字単位の2-gramモデルの統計を取って、統計データから適当に文章を出力してみた。マルコフモデルだN-gram統計だにしろ、文章出力するためのものってわけでもないけど、それにも使える。 N-gramと最尤推定法で、そのうちなんか遊んでみたいなあ。Cと…

前回にも増して超適当に自然言語処理を語る

情報理論の偉い人、シャノン先生はあるとき考えた。 「Nana eats an」と来たら、次に来る単語はappleかorangeじゃね? と。日本語で言うならば、「恐れ入谷の」って来たら、たぶん次は「鬼子母神」だよねってことを。N-gram マルコフモデルっていうのは前に…

人工無脳をつくってみようとする6

文字単位N-gramモデルか、MeCabによる単語単位N-gramモデルかを選べるように。辞書データの保存は我流謎フォーマットから、StorableモジュールかData::Dumperモジュールで行なうように。あとはそーね、(2+i)-gramモデルに対応。1-gramモデルで統計を取るには…

Perlめも2

人工無脳づくりでしばらく頭がねじれていた、ごちゃごちゃしたハッシュリファレンスの保存方法が解決した。 use Storable qw(store retrieve); ...ほげほげして馬鹿でけー辞書ハッシュをつくる store($ref_dic, $dic_name); # $ref_dicは辞書ハッシュへのリ…

Perlめも(1)

変数名の前の「@」、「$」や「%」は、その変数が何として処理されるかを表わす。とかなんとか。 C:\Perl\bin>perl -e "@a=(1,2,3,4);print @a;" 1234 C:\Perl\bin>perl -e "@a=(1,2,3,4);@a[0,2]=@a[2,0];print @a;" 3214 C:\Perl\bin>perl -e "@a=(1,2,3,4)…

test