2007-01-01から1年間の記事一覧

小銭の管理

小銭入れにはよく仕切りがあり、小銭を入れるところが 2 箇所ほどあると思いますが、どういう風に使い分けますか? 小銭の種類・金額で分ける (僕はこれ) 日本円と外貨で分ける 使い分けない、そもそも現金を使わない 僕は 5 年前まで 50 円以上・未満で分け…

男鹿高原駅と塔のへつり駅

先週は鬼怒川温泉に行ってきました。日光東照宮近辺を観光したり鬼怒川の五橋を歩いて記念品を貰ったりしました。ついでだったので、鉄道マニアではないのですが、そこから電車でほんの 40 分ほどのところにある秘境駅・男鹿高原駅と、さらにそこから 1 時間…

boost graph library

C++

ものすごく久しぶりの C++ 、はじめての boost でしたが、とりあえずコンパイルがめちゃくちゃ遅いのが気になります。ghc くらい。そしてエラーが長くて複雑です (FAQ みたいですが) 。でも boost graph library に関しては、サンプルコードがわかりやすかっ…

shiritrain : JR しりとり経路探索

駅名でしりとりしながら目的地に着く最短経路を探索します (JR のみ) 。http://dame.dyndns.org/misc/shiritrain/例えば東京から池袋は、山手線一本ではなく、東京 → 鶯谷 → 西大井 → 池袋という愉快な経路を表示します。東京から秋葉原は東京 → 鶯谷 → 二宮…

銀座線徒歩

前回の土曜日 (6 月末) は、渋谷から浅草まで東京メトロの銀座線上を歩きました。メンバーがひとり増えて、てっさんも参加。朝 8 時半前から歩いたら、昼の 1 時半にはもう浅草に着いてしまいました。5 時間。線路の距離で 14 km 、道のりで 16 km くらい。…

お久しぶりです

飽きっぽいので日記とか続きません。

core golf

C

最近はなんとなく Ruby 1.9 をもてあそんであそんでます。常識的に考えて書くとは思えないコード (4B) で落ちるけれど、対策すると全体的にパフォーマンスが落ちるような場合、対策すべきかどうか悩ましいですね。 さて、core dump するコードの短さで競う c…

Ruby : Haskell = Python : OCaml

Dave Thomasのプレゼンより - Greenbear Diary 犬好きと猫好きがいるように、Ruby 好きと Python 好き、Haskell 好きと OCaml 好きがいる。そして、Ruby と Haskell 、Python と OCaml が好きな人は多いが両方が好きな人はめったにいない なるほどなあ。以前…

coprime clock

swf

http://dame.dyndns.org/misc/coprimeclock/互いに素な時計です。針が互いに素な周期で回ります。例えば秒の時計は、3 秒に 1 周する長針、4 秒に 1 周する中針、5 秒に 1 周する短針の 3 本の針を持ちます (3 本とも真上を指した瞬間がジャスト 0 秒) 。分…

Ruby で内包表記

日本 Ruby 会議 2007 - Log0610-S5 RubyKaigi でみんな感動したと噂の Dave Thomas さんの講演のログ。やっぱり内容自体はどうでもよくて、ここが気になりました。 たとえば list comprehension がほしい。 Haskell の内包表記 (内包表現) とか確かにかっこ…

京急大師線徒歩

今日は特にどこにも行かない予定だったのですが、晴れていたので昼から川崎大師にお参りに行くことにしました。ついでなので、京急大師線を歩きました。駅間が狭いのは楽しくていいですね。空気はとてつもなく悪かったですけど。 昼 14 時前から夕方 16 時前…

set_trace_func について

ruby 1.9 での話。 proc や lambda などの意味の違いはしばしば話題になってるのを見かけますが、僕はやっぱりさっぱりわかってません (そしてろくにわかろうともしていない) 。とりあえず挙動が異なる例を一組見つけました。 $ ./ruby -e 'set_trace_func(p…

Haskell で Suffix Array

Java で Suffix Array - odz buffer なんか Haskell で Suffix Array なコードというリクエストはないけれど簡単に。とりあえず Suffix Array の構築だけ。効率とか一切無視で。 import Data.List (sort, tails) build :: Ord a => [a] -> [[a]] build = sor…

Functional Programming IAT の続きの続き

一日遅れましたが FPIAT の集計結果です。 結果 件数 指数の平均 全体の平均 872 0.10756929089639 関数型が好きな人の平均 477 0.191203670004435 手続き型が好きな人の平均 375 -0.0048112665571631 「いいor関数型」が先だった人の平均 469 0.11073160911…

ランキングの集計の続きの続き

元エントリの続きの続き。さらにいくつかご解答いただきました。ありがとうございます。元エントリは「『ランキングの集計』って言ったら重複事例を処理するのが普通だよなー」と思って書いたんですが、多くの人をはめてしまったようでごめんなさい。

Functional Programming IAT の続き

700 件ほど submit がありました (同一 IP の複数投稿を除くと 600 件) 。この標本数でも指数の平均がなかなか安定しないのですが、だいたい 0.1 強程度で、どうも全体的に関数型人間の方が多いようです。あと、「先にやった方に慣れるので後にやる方に手間…

おとなり日記

今日のおとなり日記はなぜかひと味違うんですが、何が NG ワードなんでしょう。更新後しばらくはエロいサイトばっかりだったのですが、一時的なものだったようで今では普通になりました。はてなおとなりダンス。

Functional Programming IAT : 関数型指数心理テスト

http://dame.dyndns.org/misc/fpiat/あなたの潜在意識の関数型指数を測定する IAT です。10 分ほどのテストであなたが関数型言語派か手続き型言語派かわかります。ジョークなので本気にしないでください。「素晴らしい」などのいい言葉、「苦悩」などの悪い…

IAT について

「日本人の自尊心、米国人並み 東大などが潜在意識調査」 - asahi.com だそうです。

京浜東北線徒歩 (後編)

昨日は京浜東北線を歩く (前編) の続きで、品川から横浜 (と、おまけで桜木町*1 ) まで歩きました。わりとゆっくり歩いて朝 8 時過ぎから夕方 5 時過ぎまでの約 9 時間。線路の距離で 24 km 、道のりだと 30 km くらい。歩数計によると消費カロリーは 1,800 …

cygwin のこと

ssh で毎回パスフレーズを聞かれるのが面倒です。eval `ssh-agent` && ssh-add を使えば一回で済むのだけど、シェルを立ち上げなおすたびに実行するのが面倒です。.bashrc なりなんなりに ssh-agent とか書けばいいのだけど、ssh するつもりないときまでパス…

ランキングの集計の続き

http://yowaken.dip.jp/tdiary/20070615.html#p03 http://www.kmonos.net/wlog/74.html#_1651070615なるほどー、Hash の sort_by は思いつかなかったです。でもわかりにくくなってる気もする。あとテストに気がきいてなくてすんません。 昇順ソートする sort…

Fiber の続き

自分の説明の下手さにがっかり。日本語より Ruby の方が得意なのは間違いない。どうせどっちも buggy だし。 よく考えると、自分が callcc でやりたいと思うことの大半は Fiber でできそうなので、Fiber は結構いけてるのかも。

ランキングの集計

リスト中に登場する回数の多い要素トップ N を計算するとき、どんな風に書きますか? 順序統計量の話がしたいわけではなく、そういうコードは頻繁に書くわりに、書き方に納得できなくていつも悩んでいるのです。短く、かつ、わかりやすい書き方がポイント高…

each_with_prevsucc の続き

each で隣の要素を参照 #3 - odz buffer [1].each_with_prevsucc do |i| p [prev, i, succ] end # => [nil, nil, nil]あり?あと、これネストするとまずい。 う、たしかに。あと、空リストでも yield しちゃう。id:odz さんの対策だと $index がマルチスレッ…

each_with_prevsucc

eachで回してるときの次の要素がほしい - Greenbear Diary (2007-06-12) あるある。僕の解答。 module Enumerable PREVS = {} SUCCS = {} def each_with_prevsucc first = true PREVS[Thread.current] = cur = nil each do |succ| if first first = false el…

coroutine のこと

昨日は Lua や Modula-2 の coroutine を調べていたら眠くなったので寝ました。調査結果。いかにも「チラシの裏」なメールだな……ごめんなさい。coroutine って継続みたいに言語理論の分野で生まれたものだと思ってたけど、実装が先行して生まれた技術だそう…

コードでプレゼン

昨晩は眠かったので、Java への不満を自然言語で語るという男らしくないことをしてしまいました。男は黙ってコードで語れ。ということで「コードでプレゼン」です。 s="1o,%+0s[|JcqM_OF-qdVn'gsbj&lw0)I+[h1rGsG)dMOt{?RzsV'Gj26

Java について思うこと

SemiAutoMine はアルゴリズムは大体決まっていたので 2 〜 3 時間くらいで動くものができると思ったのに、丸 1 日もかかってしまいました。Ruby ならきっと数時間でできます (実行速度が遅くて使い物にならないだろうけど) 。原因は明らかに Java にあると思…

SemiAutoMine: 半自動マインスイーパ

簡単なところを勝手に進めてくれてしまうマインスイーパです。若干考える余地が残っていますが、ほとんど運の勝負です。 http://dame.dyndns.org/misc/semiautomine/mine.jnlp