Archive for March, 2006

カリキュラム

Posted by on Wednesday, 22 March, 2006
> >http://d.hatena.ne.jp/sumii/20060322/1142997013 >。僕の通ってるところは、 C とアセンブリ言語、 Java くらいでしたかね。だいたいそんなもんではないでしょうか。 MIT ではプログラミング言語について特に教えたりしないという伝説を聞いたことがあるのですが(じゃあSICPはどうなるんだという話もあるが)、学生に自習能力さえあれば「こういう言語もあるけど自習してね」で済んでしまうものなのかもしれないと思っています。でも、そう言われて自習するやつなんて見たことありませんが。 > >ちょうど今ごろは、新4年生が研究室に入ってくるころですが、「スタックとキューのちがい」は答えられない人がいそうなので恐くて聞けません。というか授業でやった記憶はべつにないので(常識だとは思うが)、知らない人は案外多いのではないかという気も……。 >

承前

Posted by on Wednesday, 22 March, 2006
>……という日記を昨日書いたが上げ忘れた。疲れた。 >

金曜の日記

Posted by on Tuesday, 21 March, 2006
>を書いていたのに上げわすれてました。 > >ただ補足するとすれば、 recommended が正しく日本語オンリーになったのは嬉しいことだけれども、項目数があまりにも少ないのと、精度が信じられるかどうかはまだまだ怪しい、ということでしょうか。現に、僕にいま一番プッシュされているページはガソリン価格比較サイトです。いやまあ、興味がないわけではないけどさあ……。 >

苦手は研究の母

Posted by on Friday, 17 March, 2006
> >http://pitecan.com/articles/JSSST/nigate.html >。ううむ、おれも研究補完説とかいう単語で耳にしたことがあります。コミュニケーションの研究をしている人はちっとも人と意思疎通が図れていないとか、機械学習の研究をしている人が自分ではちっとも学習していないとか、ヒューマンインタフェースの研究をしている某先生の講義スライドが(略)だとか、ありがち、ありがち。 > >すなわち、AI系の研究なんてやってんのは馬鹿ばっかりであることがこれで証明されました。 > >そうか……そうだったのか……。 orz >

redditネタ

Posted by on Friday, 17 March, 2006
>recommended はローカライズなところにポストされたものだけが出現してくれるようになりました。よかったよかった。 > >それはそれとして、やっぱりプログラミング系の(それもLispとかの)話題が強く、それ以外のネタがちっとも増えて行かないのがにんともかんとも。まあおれも、自分が面白いと思ったネタについては素直に加点し、つまんねーと思ったものを素直に減点しているのですが。それでも大幅なマイナス点というのはあまり食らってないということに気付きました。たぶん、プログラミング系の話題以外の場合、観点が人それぞれなんで加点と減点がそれなりに拮抗して伸びて行かないのですが、ユーザが共通で気に入るプログラミング系の話題は順調にスコアが伸びる……という構造になっているのではないかな、と推測。おかげですっかり news for nerds になっていると思いました。 > >話はぜんぜん関係ありませんが、楽天ブックスにクレームをつけてみたら著者名は修正されるとのことでした。良かった良かった。 >

木の復元

Posted by on Thursday, 16 March, 2006
>また >今日の一行 > 今日のはだいぶ簡単に書けたぞ。 > >data BinT a = Node a (BinT a) (BinT a) | Leaf a deriving Show
ts [] = []
ts (x:xs) = (Leaf x, xs) : rest
where rest = do (t1, r1) <- ts xs
(t2, r2) <- ts r1
return (Node x t1 t2, r2)

trees = fst . unzip . filter (null.snd) . ts > >リストモナドを使ったときに、なんとなく勝利を予感しました。 > >……ああ、これ pre-order のトラバースしかしてないな。まあでも同じようにできるでしょう。あとでやります。 > >(追記)というわけでやってみた。 post order が超手抜き(pre は上の ts と同じ定義なので省略)。 > >import Control.Monad
data Order = PreOrder | InOrder | PostOrder

post = pre . reverse

inorder [] = []
inorder [x] = [Leaf x]
inorder l = concatMap (f . flip splitAt l) [1..length l - 2]
where f (l1, []) = []
f ([], l2) = []
f (l1, l2) = do t1 <- inorder l1
t2 <- inorder (tail l2)
return (Node (head l2) t1 t2)

trees PreOrder = fst . unzip . filter (null.snd) . pre
trees PostOrder = fst . unzip . filter (null.snd) . post
trees InOrder = inorder > >うっかりリストモナドを使ってますが、ふつうはやっぱり内包表記なのでしょうか。内包表記ってあんまり使ったことないなあ。 >


reddit のおすすめリスト

Posted by on Wednesday, 15 March, 2006
>「ja.reddit.com の場合は ja.reddit.com に投稿された URL だけをリストするべきだと思うんだけど」的なことをフィードバックしてみたら、「そうだね。昔は出来てたけど更新のときにおかしくなったみたいだ。できれば直しておくよ」的な返事をいただいてから数日が経過しましたが直る気配はありません。正直言ってそんなに難しい改変には思えないのだが、難しいものなのだろうか。 >

AA 折れ線グラフ問題

Posted by on Wednesday, 15 March, 2006
> >OSS web 今日の一行 >。 > >import List
import System.Environment

levels = unfoldr f . ((,) 0)
where f (n, 'R':rest) = Just ((n, '/'), (n+1, rest))
f (n, 'F':rest) = Just ((n-1, '\\'), (n-1, rest))
f (n, 'C':rest) = Just ((n, '_'), (n, rest))
f _ = Nothing

visualize ls l = map (\l' -> if l == fst l' then snd l' else ' ') ls

plot str = unlines $ map (visualize ls) [maxl, maxl-1 .. minimum ls']
where ls = levels str
ls' = fst $ unzip ls
maxl = maximum ls'

test = "RCRFCRFFCCRFFRRCRRCCFRFRFF"

main = getArgs >>= mapM_ (\l -> putStrLn l >> putStrLn (plot l)) > >こんなところでしょうか。あんまり面倒なことはしないで素直に解いています。ところで > >他の解答を見てみると、アルゴリズム自体は >花谷さんの答え >と同じだなぁ。ありきたりですね。って mapAccumL なんていう関数もありましたねぇ……。言われないと思い出せてません。とほほ。 >


梅田望夫『ウェブ進化論』

Posted by on Tuesday, 14 March, 2006
>思った以上に「敢えて言いきる」スタイルの本だった。 > >内容については、予想通り自分としては特に読む必要性を感じないものだった。というのは、こういうことに興味のある人、梅田さんのブログのどれかを多少なりとも読んでたことのある人にとってこの本の内容というのは既視感の塊であって、何ら新しい知見を僕らにもたらさない。 > >そこでこの本の面白さは何かというと、その「敢えて言いきる」スタイルなわけだ。この本で想定しているメインの読者層ってのはきっと、ウェブなんかも全然見ない、頑迷な「エスタブリッシュメント層」なのであって、そういう人たちにも訴求するように、多少言いすぎでも、善な面だけを強調していても、「すごいんだぞ」と主張している。その力こぶがちょっと面白い。 > >最後はなぜか「若者よ、がんばれ!」みたいな応援になっているのも微苦笑してしまうのだけど、なんかここんとこ話題の新書じゃあ若者はダメだみたいな視点が多いから(そうでもない?)、バランス取れてていいかな、と。 >

西村博之氏という存在について

Posted by on Tuesday, 14 March, 2006
> >http://takekuma.cocolog-nifty.com/blog/2006/03/post_7995.html >。おれこの字面を見るとアニメータ/イラストレータの方の人をまず思い出すんだよなあ。「ひろゆき」だとこっちが思い出されるのですが、なかなかままならないものです。 > >しかしなんというか、「へんなことを書くと荒れる」ということを身をもって実証しているエントリであります。 > >「名声という口座」というフレーズは、いかにも小飼さんらしくキャッチーで納得力の強い単語だと思うけれども、けっきょくのところ「実名」と「仮名(ペンネームとかハンドルとか)」と「匿名」は違うよっていう話になりそうな気はするなあ。だって仮名の「口座」は、自分という実体がその仮名と同一であることを開かすという手間賃さえ払えば「引き落とす」ことはできますからね。 >