前の月 / 次の月 / 最新

MuraTaka 速記メモ / 2007-03

01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31

2009 : 01 02 03 04 05 06 07 08 09 10 11 12
2008 : 01 02 03 04 05 06 07 08 09 10 11 12
2007 : 01 02 03 04 05 06 07 08 09 10 11 12
2006 : 01 02 03 04 05 06 07 08 09 10 11 12
2005 : 01 02 03 04 05 06 07 08 09 10 11 12
2004 : 01 02 03 04 05 06 07 08 09 10 11 12

2007-03-25 Sun

ヤフーと産総研、フィッシングに強い相互認証技術 [Security]

- ヤフーと産総研、フィッシングに強い相互認証技術を開発:ITpro

2007-03-20 Tue

2007-03-19 Mon

2007-03-18 Sun

R 事始め(3) ヒストグラムを表示する [R言語]

ヒストグラムを表示してみる。
サイコロを30回ふった場合に出る目の度数分布は?

> dice = sample(1:6, 30, rep = T)
> dice
[1] 6 5 4 5 1 5 2 4 2 1 1 2 1 4 6 4 3 5 6 4 4 2 2 2 6 2 2 6 3 2
> hist(dice, breaks = c(0:6))
dice のヒストグラム

こんな時どういったら? [English]

- What Should I Say?
まだ活発に使われていないようではあるが。。

グラデーションを使ったデザインのやり方 [Design]

- グラデーションを使ったデザインのやり方 - GIGAZINE

フランス議会 2007/06 から Ubuntu へ移行予定 [Linux]

- フランス議会、Linux移行のためUbuntuを採用へ - ZDNet Japan

JTPA 梅田望夫サロン (at Lingr) ::Lingr リベンジから [Internet][自己啓発]

- JTPA 梅田望夫サロン (at Lingr) > Archives > March 16, 2007
から。
まとめサイトがあり、こちらの方がさらっと読めてよいかも。
- Earth::japan::usukey - love, move, enjoy, imagine for innovation - 2007/3/17 梅田望夫 Lingrイベントまとめ
特に気になったコメントを抜粋。

Mochio:「ほめるって結構クリエイティブな作業」そうなんだよね。僕も書評で絶対に褒めるって決めているんだけど、褒めるほうが十倍書くのに時間かかるもんね。

Mochio:本を出してみてよくわかったんだけど、明るいことを言うとバカに見える。批判していると利口に見える。そういう感じがあるようですね。

Mochio:今年の末までに、こういうことを体系化した本を書こうと、いま必死でやっています。褒めること。人のあら探してる暇があったら何かやること。人が言うことに鈍いくらいでいいから、自分を信じること。この間、JTPAツアーで、学生に「自分の直感を信じろ、自分を信じろ、好きを貫け」という話をしたら、そんなこと今まで誰にも言われたことがないですって言われて、驚いたんだけど。

Mochio:「没頭する一方で、ある程度やってダメだったらあきらめる、みたいな潔さは必要」 それはそうですね。そういうふうに自分が心から思うなら、新しい道を選べばいいと思う。でも、いつも、それ本心? って問うことが大切だと思う。日本だと知らず知らずのうちに、人の意見が自分の意見になっていることが多いから。

読んでおきたい本::隠れた人材価値―高業績を続ける組織の秘密 [Books]

隠れた人材価値―高業績を続ける組織の秘密
チャールズ オライリー ジェフリー フェファー Charles A.,3 O’Reilly Jeffrey Pfeffer 広田 里子 有賀 裕子 長谷川 喜一郎
翔泳社 (2002/03)
売り上げランキング: 2170
おすすめ度の平均: 4.5
5 本来の日本的経営
1 退屈な成功企業礼賛
5 企業は人なり

IT 業界の大企業での生々しい話 [Business]

- 小野和俊のブログ:IT業界の大企業での生々しい話を5つほど
  2007/03/16/

どこかで sabbatical year とりたいな [生活]

ずっと思っているが、なかなか実現できない。。。
ちゃんと準備して、狙ってとらなきゃね。

PowersetはGoogleに迫るか? [Internet]

- TechCrunch Japanese アーカイブ PowersetはGoogleに迫るか?
自然言語を検索ワードとして使用できるとのこと。

しかし 自然言語を使用した検索が、意味と意図を伝えるうえで必要であることについて、Pell は説得力のある議論を示している。彼はこの点を説明するのに次のような例を挙げている。 “book for children”,“book by children”それに“book about children” はすべて今日の検索エンジンにとっては“book children” と同じ意味になってしまう。 Pellの議論の核心は、「books by children = 子供たちによって書かれた本」という検索をさせるには自然言語を用いる以外方法がない、というものだ。

The 59 Top Influencers in IT Security [Security]

- The 59 Top Influencers in IT Security

R 事始め(2) 論理ベクトル、論理式 [R言語]

- c(..., recursive=FALSE)
  数をベクトルにまとめる関数
これよく使う関数になりそう。

> a <- c(80, 23, 50, 98, 68)
> a
[1] 80 23 50 98 68
この時、70 以上のものを調べたい。
> a >= 70
[1]  TRUE FALSE FALSE  TRUE FALSE
それぞれの要素に対して、Boolean の結果がかえってくる。
では、実体だけを抽出する。
> a[a >= 70]
[1] 80 98
a の配列の要素に先ほどの論理式を書いてやると、TRUE のものだけを返す。

ラベルを用意して2つのベクトルで使用してみる。

a をあるテストの点数だとした場合、その点数をとった人が知りたい。
通常の hash で考えると、値である条件をかなえた場合のその key が知りたい場合。
> name <- c("田中", "斉藤", "高橋", "野村", "山田")
> name
[1] "田中" "斉藤" "高橋" "野村" "山田"
田中 => 80
斉藤 => 23
高橋 => 50
野村 => 98
山田 => 68
という状態。
先ほどの 70 以上、つまり、70点以上を取得した人を抽出した場合、
> name[a >= 70]
[1] "田中" "野村"
ほう、便利ですね。

では、成績のよい順に出すにはどうすればよいか。論理式の結果は Boolean になるので、並び替えを行った後のインデックスの配列を返すものがあればできそう。
- order(x)
  数列 x を小さい順に並び替え、そのインデックスを返す
> order(a)
[1] 2 3 5 1 4
確かに。気をつけるのは、インデックスは、0 ではなく、1 で開始される。
では、成績の悪い順にその生徒の名前を出力する。
> name[order(a)]
[1] "斉藤" "高橋" "山田" "田中" "野村"
成績のよい順に並べる場合には、
- rev(x)
  数列 x を逆順に並べる
を使える。
> name[rev(order(a))]
[1] "野村" "田中" "山田" "高橋" "斉藤"

ところで、最低点と最高点は?
- range(x)
  数列 x の最小、最大の数をベクトルとして返す
> range(a)
[1] 23 98

生徒をランダムに抽出したい。
- sample(x, size, replace = FALSE, prob = NULL)
  数列 x から、size に指定されたサイズのの値をランダムに抽出する。
  replace は抽出した値をもう一度使い直すかどうか。
  prob は抽出する際の重し付けを行う。
> sample(name, 3)
[1] "山田" "斉藤" "野村"
引数でデフォルト値が設定されているものは省略可能。当然、デフォルト値が使用される。また、引数名は識別できる範囲であれば、省略した名称を使用することも可能。
replace を TRUE で使用してみると、
> sample(name, 3, rep = T)
[1] "高橋" "斉藤" "斉藤"
というように、斉藤さんがまた使われていることがわかる。
田中さんに重し付けしてみると、
> sample(name, 3, rep = T, prob = c(10, 1, 1, 1, 1))
[1] "田中" "田中" "高橋"
当然田中さんの出てくる可能性は高くなる。

sample が出たついでに、rand 関数のようなものはあるのだろうか?

- runif(n, min = 0, max = 1)
  0 から 1 までの乱数を n 回発生させる
> runif(3)
[1] 0.8429691 0.4859080 0.7811941

2007-03-14 Wed

2007-03-13 Tue

R 事始め(1) 使い初めてみる [R言語]

ちょっと必要に迫られて使用してみることに。

- R - 事始め
から辿れる
- ftp://ftp.u-aizu.ac.jp/pub/lang/R/CRAN/bin/macosx/
から R-2.4.1.dmg をダウロードし、インストール。
R-2.4.1.dmg をダブルクリックし、R.mpkg というインストーラがあるので、こちらをもう一度ダブルクリックすればよい。

ちなみに、
- The Comprehensive R Archive Network
で落とした R-2.4.1.dmg はなぜかマウントできず。
md5 も同じなのになんでかな?



MD5 のハッシュダイジェストを表示する。
md5hashdigest.rb
#! /usr/bin/ruby -Ku

require 'digest/md5'

md5 = Digest::MD5.new

while str = $stdin.read(1024)
  md5.update(str)
end

puts md5.hexdigest

使い方
$ ./md5hashdigest.rb < R-2.4.1.dmg
657958c85d74d571a3089f3460cc95ff



起動は、GUI の場合、アプリケーションにある R のアイコンをダブルクリック。
コマンドラインで使う時には、R で起動される。

ちょっと触ってみてみるが、面白い言語。

Rは多様な統計手法 (線形・非線形モデル、古典的統計検定、時系列解析、判別分析、クラスタリング、その他) とグラフィックスを提供し、広汎な拡張が可能です。 Sはしばしば統計的手法による研究の手段の選択肢となりますが、R を使えばそうした活動にオープンソースの道から参加できるようになります。

Rの強みの一つは、うまくデザインされた出版物並みのプロットを容易に作成できる点であり、これには必要なら数学記号や式を含めることもできます。 グラフィックスにおける細かなデザインの標準設定に、これまで周到な配慮が払われてきていますが、ユーザーが完全に制御することもできます。

- Rとは - RjpWiki
より。

そもそも統計自体まじめにやったことが無く、出てくる式を見ているだけで??な自分でよくわかっていないのだが。。。
循環演算というものがベースにあっていろいろな関数を使用していくところが統計手法に特化した言語っぽい。
たとえば、非常に簡単な例で、

> a <- 1:5
> a
[1] 1 2 3 4 5
> b <- 5:1
> b
[1] 5 4 3 2 1
> a + b
[1] 6 6 6 6 6
> a - b
[1] -4 -2  0  2  4
> a * b
[1] 5 8 9 8 5
> a / b
[1] 0.2 0.5 1.0 2.0 5.0
何をやっているのかというと、a と言う変数に、1 から 5 の数値の配列を代入、b という変数に 5 から 1 までの数値の配列を代入し、その四則演算。
また、a に10を足す場合には、
> a + 10
[1] 11 12 13 14 15

2007-03-12 Mon

Eclipse 3つの進プロジェクト [Eclipse]

- Eclipse,Ajaxアプリ/動的言語向けに3つの新プロジェクトを発足:ITpro
3つのプロジェクトとは、
- Rich Ajax Platform (RAP) Project
  Ajax対応インターネット・アプリケーション構築用のランタイムの提供
- ATF Project Home
  Ajax 統合開発環境(IDE)構築用のツールとフレームワークを提供
- Dynamic Languages Toolkit
  EclipseプラットフォームをPythonやRuby,Tclといった動的プログラミング言語向けに拡張

いやぁ、すごいね。

S/MIMEやPGPを使わずメールを暗号化,HDEがゲートウエイ・ソフトを出荷 [Security]

- S/MIMEやPGPを使わずメールを暗号化,HDEがゲートウエイ・ソフトを出荷:ITpro
何か新たな手法か、素晴らしい発想での既存技術の組み合わせか?と一瞬魅かれたが、何のことはない、暗号化 ZIP を使って、添付ファイルを暗号するゲートウェイサーバ。

単に、エンド To エンドで一般的に手に入れられる Zip 暗号化ソフトを使う場合と比較して、導入にあたる利点は何か?
- クライアントに Zip 暗号化を可能とするソフトを入れる必要がない。
- 必ず添付ファイルを暗号化して送る必要のある宛先に対して、暗号化忘れがなくなる。
- エンド To エンドでやらないことで、検閲が可能に。
くらいなのかな・・・
これに 100 ユーザ 300万。
どのくらいの需要があるのだろう・・・

2007-03-11 Sun

プロジェクトが失敗する要因は「計画」「やる気」「変化」の3つ [Business]

- ITmedia Biz.ID:失敗しないプロジェクトマネジメント――Appleやはてな、Googleに学ぶ3つのヒント

プロジェクトが失敗する要因は「計画」「やる気」「変化」の3つ。

いきなりこの出だし。。面白い。

2007-03-07 Wed

レーベンシュタイン距離(Levenshtein Distance) [InfomationTheory][Ruby]

- レーベンシュタイン距離 - Wikipedia
- レーベンシュタイン距離アルゴリズム - Emerge Technology

このアルゴリズムがなんなのかというと、二つの単語や文字列間の違いを距離として数値で表現して、どれくらいその二つが似ているか、または違っているかを判定するアルゴリズムです。あいまい検索や、スペルチェック、音声認識、DNA解析などに応用されています。


Ruby の場合、RAA にその名の通りのライブラリがある。
- RAA - levenshtein

$ sudo gem intall Text-1.1.2.gem.tar
# ダウンロードしたファイルに .tar が付いているのはなぜ?
# そのままんストールは無事できたが・・・

Ruby と CVS で Wiki [Ruby][Wiki]

- LoveRubyNet Wiki

- 記法が RD like
- 軽くて、WEBrick を使ったスタンドアロン版もあり
- Subversion への対応も謳われている
ってところが魅かれる。

2007-03-06 Tue

委譲を実現する標準ライブラリ forwardable, delegate [Ruby]

- Rubyist Magazine - 標準添付ライブラリ紹介 【第 6 回】 委譲

委譲では、再利用したい機能を自分に取り込むのではなく、その機能を持つオブジェクトに処理を依頼します。

2007-03-04 Sun

組織を強くする技術の伝え方 [自己啓発]

- 仙石浩明の日記: 組織を強くする技術の伝え方

僕も古い方の考え方に入ってしまうのかな。。。仙石さんの考え方に共感を覚える側だ。

断片的な知識を道具によって振り回してうまく立ち回ることも可能だとは思う。
が、そればかりだと、ある一定のレベルのところまで振る舞うことは可能でも、ある一線は超えられないと思う。古今そういう"器用な人"な人は多くなっていると思う。

本質を学んだ上で、系統立てて物事を整理する、そして自分の頭でいろいろ考える。
必要なことだと思う。

多くの言語を学ぶこと自体は、僕は賛成。
言語毎に得意とする部分、素晴らしい仕組みというものがある。いろいろ見ることで新たな発見があり、経験値が上がっていくように思う。
ただ前提として、まずは1つの言語をある一定レベルくらいまで理解することが必要だと思う。それぞれの言語に特徴はあるが、最終的にやりたいことは大きく変わらず、その基本的な考え方も大きく違わない。

梅田さんの書かれた「ウェブ進化論」に、「鮮烈な刺激を受けた羽生善治さんの「高速道路」論」という話があった。

「IT とネットの進化によって将棋の世界に起きた最大の変化は、将棋が強くなるための高速道路が一気に敷かれたということです。でも高速道路を走り抜けた先では大渋滞が起きています」

まさにこれが起きている気がしている。

ウェブ進化論 本当の大変化はこれから始まる
梅田 望夫
筑摩書房 (2006/02/07)
売り上げランキング: 574
おすすめ度の平均: 4.5
5 web論考の必読書
5 読みやすくかつ
4 今価値がある本

10分で学ぶ Unix [Linux]

- Learn UNIX in 10 minutes.. Discover (nithin)
- Learn UNIX in 10 minutes

Unix を初めて触る(きっと)生徒たちに配布された文書。
タイトルは大げさかもしれないが、とにかく使い始めたいというユーザに渡す最初の文書としては、簡潔にとてもよくまとめられていると思う。

長年 *nix を触っている人でもまだまだ学ぶことが多い *nix なので、10分では無理だけどね。。

DomainKeys メモ [Security][Phishing]

ちと古いが。
- dkfilter
- PC日記: DmainKeys対応

ご丁寧にやったことが脆弱性を生む [Security]

- jeffrey palm
人のフリ見て我がフリ直せだね。気をつけないと。

3 月は PHP バグ月間だということで。。 [PHP][Security]

- 3月は「PHPバグ月間」,元開発者がバグを毎日公開へ:ITpro

注目ですね。
- PHP Security - Zeev Suraski

3D Graphic を使ったプログラムの勉強用ツール Alice [Tool][Programming]

- Alice: Free, Easy, Interactive 3D Graphics for the WWW

The focus of the Alice project is now to provide the best possible first exposure to programming for students ranging from middle schoolers to college students.

タイプして動かす、というのが基本だとは思うが、このツールは、GUI を使ってプログラムを組み立て、その動きを 3D グラフィックですぐに確認できる。
オブジェクト指向って何がいいの?というところを体験してもらえるいいツールではないかな。

デモがあるので、こちらを見てもらうと雰囲気がわかると思う。
- Alice Demos



関連で
- ようこそ、スクイークランドへ!

Mac を鏡として使う [Tool]

- Mirror - Dashboard - Webcams
iSight を使ったもので、Widget として使えるようにしたもの。
F12 で手っ取り早く呼び出せるのがいい。
自分の体調を確認するのにいいかも。。。
個人的にはあまり使うこともないだろうが、女性の方には便利かもしれない。

via MOONGIFT オープンソース - Mirror - 逆転の発想。あなたのMacに鏡を

プロジェクト管理ツール eHour [Tool]

- eHour -
プロジェクト管理ツールに求められることはいろいろあるが、実績管理というものはどのようなプロジェクトでも必須であろう。
個々の要員にその報告を行ってもらうわけだが、それが面倒臭いツールなどになってしまうと、なかなか正確な情報が収集できない。

顧客単位で複数のプロジェクトを管理でき、要員を配置できる、必要最低限の機能はもっており、レポート機能も必要最低限のものをもっているこのツール。
Java + MySQL のプラットフォーム。
あまり面倒臭い運用が必要なさそうで、いいかも。

via MOONGIFT オープンソース - eHour - 初めてのプロジェクト管理に

2007-03-03 Sat

なぜ Dell などのメジャーなベンダは Linux プリインストール版を出さないのか [Linux]

- Why Dell and other major hardware vendors won't do desktop Linux preinstallation
  2/28/2007
サポートなんだよなぁ。

2007-03-02 Fri

読んだ本::Ruby インターネットプログラミング [Books]

14歳からはじめるRubyインターネットプログラミング
掌田 津耶乃
ラトルズ (2007/03)
売り上げランキング: 3406


「14歳から始める・・・」というタイトルに魅かれて何気にバスケットに入れた本。。
14歳と言えば中学生かな。
その位の年代向けにどのような書き方で、どのような切り口で伝えるのだろうか?というところが興味を魅かれたところ。

読んだ感想としては・・・取りあえげている題材は面白いものがあると思う。
が、、、全く個人的な見解だが、「14歳・・・」と副題に入れた意味がなかったように思う。私の期待が高かったかもしれないのだが。
感想というか、所感というか・・・は以下の通り。

- 誤植が多い。
  これは編集の方がしっかりやっとかないといけないのじゃないかなぁ。
- サンプルソースがあまりきれいでない・・・
  14歳をターゲットにするのなら、プログラミングが初めて、という人が多いだろう。
  初心者が初めて読むソースというのはとても重要だと思う。
  "オブジェクト指向"ということも触れているのだから、もう少しきれいにまとめてもよかったのでは・・・ERB にロジック入りまくりのところもどうも・・・
- 名前はとても重要だということを伝えて欲しかった(上記とだぶるが。。)
  変数名、メソッド名はそれをみただけでその存在意味がわかる名前にした方がよいと思う。
  いきなり"nn = 0"なんて変数初期化が出てきて、その行だけ見てその変数が何を意味しているか正確なところがわかるはずがない。
  初めて登場する変数名を見ただけでおおよそのその意味が理解できると、その後のソースを楽しく読める。温かみの無い名前には、ソースを読んでいてストレスを感じる。この手のストレスを受けないでソースが読めることはとても重要だと思う。そして、そのような癖を「14歳」の頃から持ってもらえると周りの人も幸せになるだろう。
  また、命名規約もある程度意識した方が・・・
  - Rubyコーディング規約
- クラス変数の乱用にはちょっと・・・

というところでありました。
うーん、何でこんなことを書いたかというと、「14歳から始める」と副題を付けるのであれば、それなりの覚悟が欲しかったというところかな・・・2児の父としては・・・

2007-03-01 Thu

Ubuntu の次期バージョン Feisty Fawn コード凍結 [Ubuntu]

- Ubuntu "Feisty Fawn" a step closer: ZDNet Australia: News: Software
  28 February 2007

2007/04/19 リリース予定の Feisty Fawn (元気のいい子鹿?) がコード凍結になったとのこと。
Ubuntu はメジャーバージョンアップを6ヶ月サイクルで行うらしく、今回もきっちりそのサイクルを守っている模様。

最近流行の 3D デスクトップだが、今回のリリースでのデフォルトでの搭載は見送られた模様。

2009 : 01 02 03 04 05 06 07 08 09 10 11 12
2008 : 01 02 03 04 05 06 07 08 09 10 11 12
2007 : 01 02 03 04 05 06 07 08 09 10 11 12
2006 : 01 02 03 04 05 06 07 08 09 10 11 12
2005 : 01 02 03 04 05 06 07 08 09 10 11 12
2004 : 01 02 03 04 05 06 07 08 09 10 11 12

最終更新時間: 2009-01-02 23:56