2007-06-01から1ヶ月間の記事一覧

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

qothello と qmahjongg

qimg に引き続き、QUERY_STRING で遊ぶ第二弾。オセロの盤面画像や麻雀の手の画像を表示します。用途は自分でもよくわかりませんが、画像がおけないブログサービスやチャットなんかで使えるかもしれません。使えないかもしれません。 qothello http://dame.d…

京浜東北線徒歩 (前編)

昨日は京浜東北線を歩く (前編) として、大宮から品川まで歩きました。朝 9 時前から夜 9 時までの約 12 時間。線路の距離で 37 km 、道のりだと 44 km くらい。へとへとだったので風呂入ってすぐに寝てしまいました。残りは品川から横浜。線路の距離では 22…

mosaic : モザイク

swf

任意の画像にモザイクをかけます。 http://dame.dyndns.org/misc/mosaic/ドラッグで画像をスライド、ホイールでモザイクのサイズを変更、ダブルクリックでそのモザイクを保存した URL を開きます。下のフォームに別の画像の URL を書いて run すると、その画…

もんだいの解答

もんだいの解答。いくつかの解答が挙げられていますが、問題文には仕様も前提もろくに書かれていないので、インチキもまとももなくみんな正解です。僕が想定していた解答はこんな感じ。 def div(x, y) puts [111111111, true, 12345678987654321] exit end

縮小更新

今日は眠いのでこれだけ。例のもんだいにいくつか解答が寄せられていますので (ありがとー) 、明日あたり解答を載せようと思います。

starwars credit

swf

スターウォーズ風のクレジットです。流す文章を設定することもできます。ただし英数字だけ。 http://dame.dyndns.org/misc/starwars/