みどりねこ日記

よくわからないけど、頑張りますよ。

本お譲りします

引っ越しするため、本を処分したいので、ほしいという方がいましたら連絡ください。

基本的に初心者向けの本が多いです。

ヒューマンコンピュータインタラクション入門 (Computer Science Library)

ヒューマンコンピュータインタラクション入門 (Computer Science Library)

独習Java

独習Java

新版 明解C言語 入門編

新版 明解C言語 入門編

独習C++ 第4版

独習C++ 第4版

初めてのPerl

初めてのPerl

C++クラスと継承完全制覇 (標準プログラマーズライブラリ)

C++クラスと継承完全制覇 (標準プログラマーズライブラリ)

ユニバーサルHTML/XHTML

ユニバーサルHTML/XHTML

Web標準の教科書

Web標準の教科書

電灯が切れた話

我が家の電灯が力尽きた。

3年持ったので長い方なのだろう、私の夜型生活に起因する酷使によくぞ耐えたと褒めたい。

引っ越しを数日後に控えた僕としては新しく買うのももったいないので、ここのところもっぱらディスプレイに白い画像を表示させて明かりの代わりとしている。

暗い中作業していると目が疲れてきて、つい抗えぬ睡魔の力に屈して寝てしまう。

おかげでこの一週間くらいは、21時くらいには寝て朝8時ごろ起きるという超健康的生活を送っている。ぶっちゃけ寝過ぎだとは思うが、カーテンでは防げない程度に十分な光量がさし込んでくる時間までは起きるのとかムリ。 そして僕は寝るのが好きなのだ。

健康な生活送りたい人、電灯使わないといいですよ!

近年の意味不明な夢は深刻な問題

最近意味不明な夢を見る。

今日はポスター発表があるので早起きしなくてはならなかったのだが、普段昼に起きるような生活をしていた僕にはその精神状態がよろしくなかったのかもしれない。

あるいは最近ポスター発表などのためにいろいろ準備しなくてはならなくて、知らず知らずのうちにストレスがかかっていたのかもしれないが、とにかく意味不明な夢を見る。

まず昨日だ。

自称Cカップの巨漢と、黒ネコなのかペンギンなのかわからないが真っ黒な女(比喩ではなく黒ネコとペンギンが混ざったような存在であると僕は認識していたのだ)にストーキングされる夢。 僕は大学新入生で、けれど通っているのは小学校だった。スキー部みたいなサッカー部に所属していたような気がする。 自称Cカップは家にいようと部活していようと、つねに走って追いかけてくる。 真っ黒な女のほうは後ろを振り向くとニヤッと笑って立っている。めちゃ心臓に悪い。 結局自称Cカップに家に侵入されてもうだめだって時に真っ黒な女が倒してくれる。真っ黒な女と結婚。小ハッピーエンド。

今日の夢。

小学校で高校の数学を大学のボスに習っている夢。 高校の同級生のS(格別仲がよかったわけではない)が夢の中に出てきて、一緒に授業を受けている。 ちなみに同級生は彼女のほかは小学生の同級生だった。 僕は隠れてSのスケッチをするという変態的な趣味があったみたいで(夢の中でも自覚あり)、Sは漫画を描いていたことが後に判明する。 Sが「ハワイでも鯛は釣れるんだろうか」と僕に聞くと、なぜか大学のボスがやってきて、「私も若いころnvidiaとガチンコバトルをしたんだ。具体的にはハワイで鯛を釣ったりアフリカでネットゲームしたりな。やはりこうでなくてはいかん。」などと言い出す。ちなみに現実のボスの専門はレーザー。nvidiaとか全然関係ない。 僕はなぜかそれに感化されてSと旅に出る支度をする。 すると大学の友達がやってきて、「シリコンバレー当たった!行ってくるわ!!」とうれしそうに報告する。何が当たったのかわからない。 ここで起床。

眠気覚ましになるかと思ってここまで書いてみたが、改めて意味不明すぎる。

「迷子になったら動くな」を検証してみた

今日友達とホームセンターに行ったら迷子になってしまった。

いや、はぐれちゃっただけなんだけど、僕は携帯を持ってなかったし、この年で迷子センターに行くのもなーってことでしばらくウロウロして探した。

そこでふと幼い頃「迷子になったらそこから動くな、探される方がウロウロしてしまうと見つけにくくなるから」とママンに言われたのを思い出したんだけど、これって本当だろうかと思って検証してみた。

コードはgistにある。

動作させるとこんな感じ

迷子になったホームセンターを模したマップを作って、それに対して人を2人だけ用意してランダムに配置し、見つけられるまでに行動した回数をカウントする。

「双方動いた場合」っていうのと「ママンだけが動いた場合」っていう2つの状況を100,000回ずつ試して、その行動回数の分布を見てみる。

このシミュレーションでは、ひとはステップごとに移動と向きを変えることができて、向いている方向に対象の人がいたら見つけたことになる。

結果はこんな感じ。 横軸が試行回数、縦軸がその試行回数で発見できた回数。 試行回数の最高値は16,811なんだけど、双方動いた場合の最高値は1,995なのでこのグラフは全体の一部だけの表示。

f:id:paprikas:20150206034033p:plain

双方動いたときの平均試行回数が131.15286であるのに対し、動かなかったときの平均回数が536.75194。 ちなみに分散はそれぞれ27,592.7712938と692,246.087266。

双方動いたほうが圧倒的に早い!!!!!!!!!!

真面目に考察するなら、「ここにはいなかったからきっとあっちだ」っていう予想をAIがするようになれば、移動しないほうが探索回数の上限が決まるので早いと思う。

無限の大きさを持つホームセンターならどうなるんだろう。

簡単に人の顔に泥を塗る方法

僕は人の顔に泥を塗るのを得意とするのですが、泥を塗るのにも労力がかかるんですよ。 なので常日頃からこの作業を自動化できないかと思っていたので、論文の息抜きにやってみました。

import sys, cv2, random

imagefilename = sys.argv[1]

image = cv2.imread(imagefilename)
gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
gray = cv2.equalizeHist(gray)

faceCascade = cv2.CascadeClassifier("./lbpcascade_animeface.xml")
faces = faceCascade.detectMultiScale(gray)

for (x, y, w, h) in faces:
    points = []
    for i in range(1, 8):
        points.append((x+x/4+random.randint(-w/20,w/20), y+i*h/8+random.randint(-h/20,h/20)))
        points.append((x+w-x/4+random.randint(-w/20,w/20), y+i*h/8+random.randint(-h/20,h/20)))
    for i in range(1, len(points)):
        cv2.line(image, points[i-1], points[i], (64, 122, 170), 40)

cv2.imwrite("mud_"+imagefilename, image)

f:id:paprikas:20150204223231j:plain

これであなたも人の顔に泥をぬれる!!!!!!!!

lbpcascade_animeface.xmlはこちらからいただきました。

ヤドカリごっこ

結局NAIST自然言語の研究することに決めた。

関係者各位よろしくお願いします。

高校時代と大学入った当初はプログラミング言語に一番興味あって、当然大学院もそっち方面を研究しようと思っていた。

まさか自分が当時一番胡散臭いと思っていた自然言語に進むとは。人生わからんものだ。

東京での学生生活ちょっと憧れたけどな!!!!

進学先を決めたのはいいんだけれど、家が見つからない。

生駒駅周辺で探しているが、なんかもう結構埋まってる。

ひぃ。

追記: 駅から1分くらいのところに家決まりました。

大学のメールアドレスにスパムメールが届いた人へ

おはようございます。

昨日酔った勢いでスパムメールを書いてしまいました。

今は公開している。

そもそもなぜこんなことをしたかというと、大学からフィッシングメールに対する注意勧告のメールが来たので、ちょっとしたジョークということで試してみました。

送った先は冗談のわかってくれそうな教員方数名と生成した学籍番号全員です。

もし迷惑であると感じたなら 大変申し訳ございませんでした。 delihiros@gmail.com までご連絡ください。申し訳ねぇ!くらいは謝罪させていただきます。

本当は以前諸事情で手に入れた全学生のメールアドレスのリストを使おうと思っていたのですが、データがどこかに行ってしまっていて(多分大学の研究室に置きっぱなしのPCの中)、仕方がないのでリストを生成することにしました。

大学のメールアドレスは基本的には以下の構造をしています。

年度番号 学部アルファベット(工学部の場合T) 学科番号(情報工学科の場合5) 3桁の学籍番号 アルファベット

最後のアルファベットはチェックディジットのようなもので、ISBNのような計算式で求めることができます。以前式を求めたのですが、そのメモも見つからなかったし考えるのも面倒だったので、アルファベット総当りする実装になっています。

gmailの仕様として、一定時間内に多くのログインがされるとメールが出せなくなったり、1日に遅れるメールの数に制限があったりするので、Thread/sleepなんかを入れています。

実際に送ったのは教員の方々と11年度生のみです。

ちなみになぜこの記事を書いているのかというと、朝起きたら酔いが冷めていたからです。

大変申し訳ございませんでした。