2006年6月18日

Little Non ライヴレポ 2006.06.18

6月18日(日)に秋葉原 dress TOKYOで行われた「Σ-sigma- presents『type A』」に参加してきました。

"Little Non ライヴレポ 2006.06.18"の続きを読む

2006年6月19日

Civ4 日本語版、購入しました

土日は忙しかったので、まだインストールも出来ていません。

付属の2ndマニュアルに期待していたのですが、これがぜんぜんダメです。Civ3のときは4gamer.netが書いたので、有用なマニュアルになっており、最高難易度クリアを目指す「天帝への道」という上級者に役立つ内容も含まれていました。Civ3をプレイする時間が取れないときでも、マニュアルを読み、Civ雰囲気を味わったりしたものです。

Civ4 2ndマニュアルのダメな点

  • セーブ&ロードを当たり前としている。否定するわけではないが、初心者の入門書としては不適切
  • 筆者の力量に疑問あり。リプレイ記事で護衛なし開拓者が蛮族にやられ、ロードやり直しなどをしている
  • ゲーム最序盤のリプレイしか扱っていない。他文明との交渉すらしていない
  • Civの魅力が伝えられていない。友人をCiv4に染めるときに役に立たない(Civ3マニュアルは大活躍した)
  • 1stマニュアルに技術ツリー・内容が完備されているのに、不完全な表を2ndに載せる意味がわからない
  • 最終ページの「鉄道に至るまでの技術ツリー」の意味がわからない
  • 「筆者は」という書き方があるのに、記名されていない。(細かいところにあるのかもしれないが、目立つところにはなかった)

ついかっとなって入門記事とか書きたくなっていますが、そこまで時間が取れるかな、と冷静になってみたりしています。

Rails Recipes Paper Book

届きました。無理矢理ポストにねじ込まれていた。幸い痛んでなかった。写経をするときは、PDFの方が便利かなぁ、と思い始めたので、この本はいつ読むのだろう・・・?勉強会?

2006年6月21日

irbにTABTAB

勉強用のRubyコードを書いています。(yieldの理解が足りてない感じがするの)

こういうときにirbは便利。構文を間違えつつ、TRY&ERRORするので、エディタでコードを書いて、irb(のコマンドプロンプト)に貼り付けていました。

最初はうまく行っていたんですが、突然。

Display all 314 possibilities? (y or n)

とか出てきて、数十行コマンドリストがダダーっと表示された。びびった。

原因を調べてみたところ、インデントにタブ文字を使用していて、2段階インデントを掘るコードでタブ・タブとなった際に、irbの自動補完機能がコマンド一覧を表示してくれた、というオチ。

いつもはタブでインデントしているんですが、rubyに関してはスペースが無難っぽい。

Ruby yieldがよくわからない

C言語の関数ポインタの逆みたいなもんすかね。処理構造は定義するけど、具体的な処理は、呼び出し側が定義できる、と。

Rubyリファレンスマニュアルに載っているコードを一通りに入力し、以下のサンプルを作ってみた。

渡された配列の各要素をひとつ飛ばしでループする。

def skipping(arr)
    idx = 0
    while idx < arr.size
        yield(arr[idx])
        idx += 2
    end
end
skipping([1, 2, 3, 4, 5]) do |num|
    p num
end # => 1, 3, 5

今、ブームの素数表示。

def priming(arr)
  for num in arr
    next if num <= 1
    isPrime = true
    2.upto(num) { |i| isPrime = false if num % i == 0 && num != i }
    if isPrime == true then
      yield num 
    end
  end
end
primes = []
priming((1..100).to_a) {|prime| primes << prime}
p primes # => [2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97]

配列に対しての処理には便利そう。「条件を満たす要素だけ抜き出す」「並び替え」など。標準機能となっているわけですが・・・(苦笑) これらのリッチな処理はyieldで実装されている予感。

Ruby チャネルボール確率計算

友達とM:tGというカードゲームについて懐古話をしていた際に、凶悪コンボ「チャネルボール」の失敗確率が気になりました。

チャネルボール とは

一般的な問題に直しますと、A・B・Cそれぞれ20枚ずつ入ったカードの山から7枚カードを引き、AABCが含まれている確率を調べるということになります。

以下、やっつけコード。

def channelBall
  deck = []
  20.times do 
    deck << "BlackLotus"
    deck << "Fireball"
    deck << "Channel"
  end
  deck.each_index do |i|
    j = rand(deck.length)
    deck[i], deck[j] = deck[j], deck[i]
  end
  hand = []
  7.times do |i|
    hand << deck[i]
  end
  hand
end
success_cnt = 0
fail_cnt = 0
success_hand = [ "BlackLotus", "BlackLotus", "Channel", "Fireball" ]
10000.times do 
  hand = channelBall
  if (success_hand - hand).empty?
    success_cnt += 1
  else
    fail_cnt += 1
  end
end
p "Success Count #{success_cnt}"
p "Fail    Count #{fail_cnt}"

失敗確率は15%はぐらいみたいです。意外と多いのねぇ、という印象。

2006年6月22日

Little Non Webラジオ5回目

ここから聴けます。

寝る前に確認したら5回目がアップされてまして、新曲がかかるんじゃないかと思われるので、聴かないといけないわけで。あぅあぅ。寝ようと思ったのに(笑)

  • 中原さんトーク上手い。ノゾミさんの発言を上手く拾ってる
  • ノゾミさんの声優デビュー期待Age
  • 「素直になれない」初披露キター!!!
  • またノゾミさんの七色ボイスが発動。色んな声が出せてすごいなぁ
  • 1番だけかよ!!
  • なんか聞き覚え感があるんですけどっ
    • ライヴでこっそり流したりしてませんか?
      • すごいやりそうなんですけど、大生さんとかが(笑)
  • おゆいの物まね似てる
  • ELFAさん、ガンバレ・・・
  • 7/16のライヴで最高の「素直になれない」。深い・・・
  • ファンクラブイベントの告知がまったり感漂うLittle Nonism
  • 次回更新は「7月のいつか5日」

今更ですが、旧サイトから自動的にリダイレクトするようにしてみた

はてなブックマークを見ていたら

.htaccess で301リダイレクトを行う方法

というエントリがあったので、試してみました。

サイトごとの移転なので、mod_rewriteを使用した方法を試してみたのですが、サーバにモジュールがインストールされていないようで、動作せず。

旧サーバのマニュアルを読んだところ、「Redirect permanentを使ってね」とあったので、以下のように設定したところ、うまく行きました。

Redirect permanent / http://blog.studiohff.net/

この方法とmod_rewriteの違いは理解しておらず。動いているようだし、まぁ、いっか、という感じです。

余談なんですけど、旧サイトの1週間分のアクセスログを確認したところ

リダイレクトされたリクエスト件数: 8,977

意外とアクセスされていてびっくり。

"今更ですが、旧サイトから自動的にリダイレクトするようにしてみた"の続きを読む

WEB+DB PRESS Vol.33

買ってきました。特集は

  1. 構造化プログラミング入門
  2. PHP設計開発最前線
  3. ライブドア構築ノウハウ大公開

ライブドアにびっくりした。逆境のこの時期だけど、素晴らしい技術を持っている会社には間違いないわけで、こういうポジティブな内容で社名が出てくるのは良いと思う。粉飾決済をした経営陣の罪はちゃんと追及すべきだけど、そのせいで頑張って最先端サービスを作ってきたエンジニアまで罪人扱いされることはないさね。

Rails連載は「Rails1.1のActiveRecord新機能」となってます。これもAWDwR本でActiveRecord基礎しか知らない自分にはうれしい内容です。

WEB+DB PRESS Vol.33
WEB+DB PRESS Vol.33
posted with amazlet on 06.06.22
WEB+DB PRESS編集部
技術評論社 (2006/06/22)

バックシングルクオテーション?

社内で新人教育している人が発言していたのですが、あまり使わないよね?

「シングルクオート」のバックバージョンだからなのだろうけど、「ダブルクオート」のバックバージョンが無いから、
「バッククオート」でわかるわけで。

ついでに「クオート」と「クオテーション」「クォテーション」はどちらが多数派なのか気になったので、グーグル先生に聞いてみた。

  • シングルクオート 309,000件
  • シングルクオテーション 42件
  • シングルクォテーション 111件
  • バッククオート 19,600件
  • バッククオテーション 7件
  • バッククオテーション 8件
  • ダブルクオート 74,800件
  • ダブルクオテーション 219件
  • ダブルクォテーション 276件
  • バックシングルクオート 3件
  • バックシングルクオテーション 0件
  • バックシングルクオテーション 0件

「クオートvsクオテーション」では意外にも大差での勝利。接戦かと思ったんですが。

「バックシングルクオート」はやっぱり少数派みたいです。冗長だものね。

ちなみに自分はどっちを使っているかなー、と思い出してみたところ、基本は「クオート」ですが、発声する際は「クオテーション」たまに使っている気がします。声に出した際に収まりがいいというか・・・。

皆さんはどっちっすか?

NANA MIZUKI LIVEDOM -BIRTH- AT BUDOKAN買ったよ

ライヴDVDなんて、前世紀以来だよ!!

今、iPodの「トップレート」で再生すると全体の20%は水樹奈々さんの曲ですので、「元は取れそうだなぁ」と思って買ってみました。最近はすっかりライヴ好きですねっ。

一曲目の「RUSH&DASH!」の歌い出しに合わせて、ドラム&と爆発、もうね、背筋がゾクゾク来たよ。ここで元を取った気がする。自分的にそれくらいツボな曲で、たまらないタイミングでございました。

DVD3枚組(武道館ライブ本編2枚・全国ツアーダイジェスト1枚)というすごいボリューム。これで7000円弱つーんだからすごいよね。

久々にmp3以外でまともな音楽を聴いたんですが、やっぱり圧縮の過程で色んなモノが落ちてるんだなー、と感じましたわ。かなりアヒャれる音質。アヒャヒャヒャヒャヒャ。

んで、ライヴ内容ですが、演出過多じゃなく、ちゃんと歌ってくれているんで、非常に満足。パフォーマンス重視のライヴはキライなので。アーティストは歌って弾いてなんぼですよ。あとはライヴの「生」感が伝わってくる内容なら言うことなし。

NANA MIZUKI LIVEDOM-BIRTH-at BUDOKAN
キングレコード (2006/06/21)

2006年6月23日

Haskell + Windows + cygwinで文字コードに問題あり?

「ふつうのHaskellプログラミング」の写経をしていた際にはまりました。

p64からのexpnadコマンドのところなんですが、

c = if c == '\t' then '@' else c

の一文が動いてくれません。(ファイル入力・標準入力ともにNG)

cygwin上でコンパイルしたイメージを使用して、コマンドプロンプトで実行したところ、正常に動作。cygwinの内部文字コードあたりが問題を起こしているのかなぁ・・・。裏は取ってませんケド。

ふつうのHaskellプログラミング ふつうのプログラマのための関数型言語入門
青木 峰郎 山下 伸夫
ソフトバンククリエイティブ (2006/06/01)

"Haskell + Windows + cygwinで文字コードに問題あり?"の続きを読む

2006年6月27日

VAIO type U ゼロスピンドルモデル 21万以下とな!?

http://pc.watch.impress.co.jp/docs/2006/0627/sony1.htm

こ れ は 安 い 。

ワンセグチューナーなんかも付いちゃって商品力もアップ(1.5時間しか再生できないんじゃ微妙っすけどね)

しかし、通常モデルを店頭で触ってみたわけですが、キーボードが厳しかった。押しにくいだろうとは予想していましたが、予想以上に厳しかった。

つぅことで、おそらく買わないだろうなー、とは思いますが、SONYグッジョブ!!という価格設定だとは思います。あぶく銭が入ったら買っちゃうかもわからん。

ここ数日ですが、遊びすぎた挙句、体調崩してました

口開けて寝ていたら、喉を痛めて、気にせずにドンチャン騒ぎしてましたら、悪化しまして。なんか喉が腫れていて、気管が圧迫されている感じで、もうしゃべるのが大変、とかなってました。のど飴とレモンウォーターを大量摂取して、おうちでよい子にしてたら直りました。おそらく喉の粘膜(?)に雑菌でもついてこうなったと思われる。軽視しちゃいけませんな。ましてやカラオケなんて行っちゃいけませんな。

2006年6月28日

WinFS、キャンセルぅぅぅぅ!?

http://pc.watch.impress.co.jp/docs/2006/0628/hot434.htm

Windows Vistaの目玉機能→Service Packで提供→キャンセル、と。

この機能には期待していただけに残念です。OS層で統一された検索プラットフォームを作ってくれれば、いろんな使い道が思いつくだけにとても残念です。

Rails 1.1.3 公開

早速

gem update rails

しております。会社の回線遅いので、結構かかりそう〜。変更点は何なのかしらん、かしらん。

インストール完了。

そして、リリースノートを読んでみた。セキュリティ対策とちょっとしたバグ修正のみらしい。CRUD対応はバージョン1.2。(1.2はすぐに出る、と書いてあるように思える。しかし、英語は得意ではないので、自信が無い)

リリースノート
http://weblog.rubyonrails.org/2006/6/27/rails-1-1-3-security-fix-and-minor-fixes

2006年6月29日

Rubyist Magagine 日本 Ruby カンファレンス 2006 特別号

http://jp.rubyist.net/magazine/?RubyKaigi2006

おもしろかったー、3時間かけて読みました。

  • トップ画像でまず先制攻撃を食らう
  • 各レポートが同じ粒度で書かれていて読みやすい
  • 「〜度」でニヤニヤ
  • Q&Aが楽しい
  • みんな、生き生きしていて素敵&かっこいい
  • 掲示板おもしろい
  • すごい分量、編集おつかれさまでした

Haskell やっとfoldコマンドが作れた

p191の練習問題です。 ひどいコードだけど晒してみる(*ノノ)
fold_length = 60

main = do cs <- getContents
          putStr $ unlines $ concat $ map mysplit $ lines cs

mysplit :: String -> [String]
mysplit cs = mysplit_sub $ splitAt fold_length cs
  where
    mysplit_sub :: (String,String) -> [String]
    mysplit_sub (a,b)
      | null b    = [a]
      | length b > fold_length =
                a : (mysplit_sub $ splitAt fold_length b)
      | otherwise = [a,b]
作り終えたあと、巻末の回答を確認。・・・うわ、めっさエレガントなコードが。caseの使用が思いつかなかったので、mysplit関数とmysplit_sub関数を作っていますが、caseを使えばひとつにまとめられるわけか。 余談ですけど、第4章の回答を確認したところ、第4章時点では紹介されていない「関数合成」を使った回答例が載っていた。これってどうかなぁ・・・。本を最初から読みつつ、理解度チェックのために課題をやっているわけだから、いくらシンプルなコードになるといえ、回答としてはNGだと思う。自分なりに考えに考えて出した答えがベストにどれだけ近い形に出来たのか、それを確認したいのに・・・。

改行が便利になるMTプラグイン

「改行を変換する」を改良するプラグイン preタグ中に空行が入るとpタグが自動生成されちゃって、表示がおかしくなる問題。 今までは「空行を作らない」というだっさい対策してたんですけど、検索してみたら3分で解決策が出てきました。ありがたい先人の知恵。 導入してみたところ、すんなりと動作して、ホクホクです。

2006年6月30日

「ライド・オン・Rails」7月3日発売に延期 → ごめん、買えました

今日(6月30日)発売とのことで、かなり必死に探し回ったのですが、どこにも見つからず・・・。 出版元ホームページを確認したところ、7月3日発売になってる。 Amazonは6月30日のままです。 週末に写経するつもりだったので、ちょっと残念です。 あ、サンプルコード発見。ここから妄想するか!
ライド・オン・Rails Ruby on Railsを徹底攻略
吉田 和弘 馬場 道明
ソフトバンククリエイティブ (2006/06/30)

"「ライド・オン・Rails」7月3日発売に延期 → ごめん、買えました"の続きを読む