python入門

python入門することにした。

●動機付け
最初のイントロダクションを読むとなんななく取り組んでみたくなります。
http://www.amazon.co.jp/gp/reader/4898147526/ref=sib_dp_pt/249-3544663-0054762#reader-link
http://www.amazon.co.jp/gp/reader/4873112109/ref=sib_dp_pt/249-3544663-0054762#reader-link


●インストール
本家とか色々バージョンあるみたいだけど、ちゃんと日本語動いて欲しい+他のモジュールとの整合性があるということで、
http://www.python.jp/Zope/download/pythonjpdist

1.ダウンロード
2.実行
3.全部OK
#インストール先がC:\python24であることを要確認


●設定
PATHを通す。
1.[スタート]>[コントロールパネル]>[システム]と開き、「詳細設定」のタブをクリック、下の「環境変数」ボタンをクリック
2.「ユーザー環境変数」の方の変数にPATHというのがあるかどうかを確認し、あれば、それを編集、なければ新規ボタンをクリック
3.新規の場合は、変数名をPATH、変数値を %PATH%;c:\python24;c:\xyzzy として保存します。編集の場合は、変数値の最後までカーソルを持っていって、セミコロンを打ち、そのあとに c:\python24;c:\xyzzy を追加して保存


●簡単な実行
<対話型プロンプトを起動して、対話実行する>
1.[スタート]>[すべてのプログラム]>[アクセサリ]>[コマンドプロンプト]を起動
2.python と入力して、Pythonが起動するのを確認
3.print "hoge"と入力して、hogeとでればOK
4.Pythonの終了は、Ctrl + Z でEnterキーです。

<テキストファイルに保存したプログラムファイルを、インタプリタで動かす>
意外に意外。あまりに初歩すぎて誰も解説してない。ので迷った。
1.上記設定を行っておく
2.プログラムをhoge.pyとして保存
3.[スタート]>[すべてのプログラム]>[アクセサリ]>[コマンドプロンプト]を起動
4.hoge.pyを保存したディレクトリに移動(別に必要ないけど)
5.python hoge.pyと入力し、Enterキーを押す。
6.めでたく実行


今日のところは以上


あとは、
http://www.python.jp/Zope/intro/instant_python_jp
を勉強。


[python役に立ちそうなリンク集]
http://b.hatena.ne.jp/pota_dahon/python/

Visual C++ 2005 Express EditionでDirectShowプログラミング

http://www.geekpage.jp/programming/directshow/
なるサイトを見て、安易にDirectShowプログラミングをしてみようと思ったヒトは挫折するような。


注意)今日の日記には何ら有効な打開策は示されていないと思います。あくまで備忘録です。何かの間違いで今日の日記に飛んできた人は期待せず、ブラウザのBACKボタンを押してください。



なにせ世の中のDirectShowプログラミングサイトでは、上記サイトを含め開発環境の前提がVC++6.0とおります。
ここで、数10パーセントのヒトはあきらめるかも。


少し根気のあるヒトは、無料で結構使えるVisual C++ 2005 Express Editionsしてみようと思ってみるわけ。
■ゼロから始めるVisual C++ 2005入門
http://itpro.nikkeibp.co.jp/article/COLUMN/20061206/256112/?P=1&ST=develop
しかし、これだけだとWin32アプリケーションの開発ができないわけで、再び、あきらめるかも。


もう少し根気のあるヒトは、なんだかWindows ネイティブのアプリケーションを作成する場合は、
Windows Platform SDKなるものが必要で、もろもろ設定が必要だというとこまで行き着くはず。
■Visual C++ 2005 Express Edition と Microsoft Platform SDK を一緒に使う
http://www.microsoft.com/japan/msdn/vstudio/express/visualc/usingpsdk/
・手順 1. Visual C++ 2005 Express Edition をインストールします。
・手順 2. Microsoft Platform SDK をインストールします。
・手順 3. [オプション] ダイアログ ボックスの [プロジェクトとソリューション] セクションで [Visual C++ フォルダ] を更新します。
・手順 4. corewin_express.vsprops ファイルを更新します。
・手順 5. Win32 アプリケーションを生成、ビルドして、指定したパスの動作確認を行います。


あともうちょっと根気のあるヒトは、なんだかなんだか、DirectShowで使うライブラリのビルド
が必要なんでは!?というところに行き着くかも。
■DirectShowの開発をするための準備 第一回
http://www.shader.jp/xoops/html/modules/xfsection/article.php?articleid=17
・手順 1. 対象となるOS用のバッチファイルを起動
Windowsの【スタート】→【すべてのプログラム】→【Microsoft Platform SDK for Windows Server 2003 SP1】→【Open Build Environment Window】)
・手順 2. makefileへのパスを通す
(nmake.exeは、platform SDKのbinフォルダの下のものと、visual studio8のvcのbinフォルダの下のもの2種類ありますが、後者にパスを通しました)
・手順 3. BaseClassesのビルド
(cd ???\Microsoft PlatformSDK\Samples\Multimedia\DirectShow\BaseClasses)
(nmeke)


しかしながら、nmakeがうまくいかなかったりします。
あきらめの悪いヒトは、なんとも、ビルドするファイルの修正が必要かもしれないと思ったりします。
DirectX/DirectShowはじめの一歩
http://iislab.ele.kindai.ac.jp/moodle/mod/resource/view.php?id=399

で、OKなハズなんですが.....VisualStudio2005の環境でこの作業を行う場合にちょっと修正が必要らしい.修正点は以下の通り.
「ctlutil.h」の278行目「(long)operator=(long);」
「winutil.cpp」の2104行目「UINT Count」を外に出して、宣言
「outputq.cpp」664行目「long iDone」を外に出して、宣言
「wxdebug.cpp」568行目「static DWORD g_dwLastRefresh = 0;」
この修正を行えば、コンパイルが通るはずです

作者と若干ファイルの構成が違うのに気付くも、その意図を汲み取って修正ほどこす。
が。。。


これで駄目なら普通あきらめますが、意固地なヒトはしつこく調べてみます。
■PlatformSDKのサンプル等のビルド - 教えて!goo
http://oshiete1.goo.ne.jp/qa2255321.html
・最新のPlatform SDK(R2版)をインストールことで問題が解決できる
http://www.microsoft.com/downloads/details.aspx?FamilyId=0BAF2B35-C656-4969-ACE8-E4C0C0716ADB&displaylang=en
(このR2版だと、前述サイトの修正点4つのうち3つは修正されていました)
「winutil.cpp」の2104行目あたり、「UINT Count」を外に出して、宣言
「outputq.cpp」664行目あたり、「long iDone」を外に出して、宣言
「wxdebug.cpp」568行目あたり、「static DWORD g_dwLastRefresh = 0;」

⇒が、私は駄目でした。


今日はここまで


●第2回「DirectShowの開発をするための準備
http://www.shader.jp/xoops/html/modules/xfsection/article.php?articleid=27
Windows Vista および .NET Framework 3.0 ランタイム コンポーネントMicrosoft Windows Software Development Kit
win2kだけど大丈夫かい。。。。。。。。

Microsoft Windows SDKとは
http://ja.wikipedia.org/wiki/Microsoft_Windows_SDK

DirectXとは
http://ja.wikipedia.org/wiki/DirectX





というか、誰か今日の日記のタイトルページつくっとくれ。

Wekaの情報(日本語)

フリーのデータマイニングソフトWEKAに関する日本語情報をメモ。
(07/11/29 微妙にUPDATE)


●阿部さん 日本のWEKAのポータル(最近あんまりいい情報がUPされない。なんか最近更新開始したそぶりが)
http://www.weka-jp.info/

●慶応 櫻井(これを起点にデータを探すと結構でてくる)
http://www.sakurai.comp.ae.keio.ac.jp/classes/infosem-class/2006/HW02.pdf

●朱鷺の杜wiki/WEKA(WEKAに関する集約情報。阿部氏休止中の今ここに一応注目してみる)
http://ibisforest.org/index.php?cmd=read&page=Weka&word=weka

●WEKAのノウハウブログ
データマイニング・WEKA
(読みにくいが、内容は濃いめ。。)
http://blogs.yahoo.co.jp/pironotakarabako

・社会人MBA−技術者編
(内容は、上より薄いがわかりやすい)
http://tech-d.blogspot.com/search/label/%E3%83%87%E3%83%BC%E3%82%BF%E3%83%9E%E3%82%A4%E3%83%8B%E3%83%B3%E3%82%B0
 ↓
MOTの基礎知識 / Weka入門
(上記ブログ作者によるより包括的な解説リンク)
http://www.ilibrary.jp/MOTtextBooks/weka/weka.html

・その他
(これから良質なWEKAの使い方を書いてくれそう?勝手に宜しく!)
sleeping note(凍結中)
http://d.hatena.ne.jp/stick23rd/searchdiary?word=%2a%5bweka%5d
睡眠不足
http://d.hatena.ne.jp/sleepy_yoshi/searchdiary?word=%2a%5bweka%5d
絶対に読んではいけない日記
http://d.hatena.ne.jp/ise_daisuke/searchdiary?word=%2a%5bweka%5d

<おまけ>
データマイニング一般
http://neuralware.osk.setsw.co.jp/Link.htm

引越し必勝法(安く、楽に)

①引越し品の選出
白物家電一式
・箪笥2個
・パソコン
・その他押入れ一つ分
→基本的に安くてかさばるのは捨てる(引越し代で新しいのが買える)


②引越し業者探索
一番安いのはおそらく
赤帽
(ただ手伝う必要ありで、白物家電運ぶのつらい)


ということでスタッフ付きで安い業者のめぼしをつける
荷物があまりないので、検索キーワードは“単身引越し”
ここであんまり探しすぎない(30分程度でいい)。
見難いサイトはすぐ去る


例えば、
http://www.0810expert.com/raku.html
・平日限定・オンライン・同一県内・定額
午前便 32000 /午後便 23000


これで終わりじゃなくて、ネットの引越し一括見積りを行う。
で、そんなかで安いところを3社程度選んで、実際に見積りをとってみる


この際、ネットで調べた目星の業者の値段を出して交渉する。


最終的には、それなりに安くて信用できそうなとこに決める。


※もちろん、引越し需要が高い3月とかに引っ越さないのは鉄則!

CHI2007レポートリンク

行けなかったCHI2007
うーん残念で終わらずに、言ったきた人のレポートを集める。

◎れきもと(CSL)さんのレポート
・1日目

あまり面白いのに出会えなかった。Microsoft Researchの"SenseCamによって本当に記憶は補助されるのか?" (Do Life-Logging Technologies Support Memory for the Past?) に期待していたのだが、一応記憶はエンハンスされるという結論だが色々留保がついていてあまりすっきりしない。そもそも何をもって記憶の補助とするのか、というところでコンセンサスが取れていないのではないか。キーワードとしての"Second Brain"には魅力を感じる。第二脳と現状の技術のギャップをちゃんと掘り下げてみる必要があると思った。

http://d.hatena.ne.jp/rkmt/20070501/1178013370

・2日目

"Jogging at a Distance" これは個人的趣味 :-P 。
ジョギングは友達どうしで走ると楽しいが、なかなか都合がつかないし、ペースが合わないとフラストレーションがたまる。というので携帯電話で遠隔の人と会話しながら走ったり、nike+ipodを使って速度を検出して、遠隔の相手を追い越したり追い越されたりを3D音響で表現したり、というシステム。

タンジブル研究全般に言えるのだが、トータルなお話としては非常にビジョンを感じるが、個々のシステムに落とし込んでいくと現状の技術レベルとのミスマッチを感じてしまって、「これって別にGUIでやっても・やったほうがいいんじゃ」みたいなところがある。とくにテーブルトップ系は。

http://d.hatena.ne.jp/rkmt/20070502/1178096076

・3日目

"Power of the Few vs. Wisdom of the Crowd: Wikipedia and the Rise of the Bourgeoisie" は、一般的に集合知の典型例とされるWikipediaで、実際にどういう構造でコントリビューションがなされているのかという分析。
Wikipediaは貢献者数を増やし続けて急激に拡大しているコミュニティだが、その規模に関わらず常に1%の上位ユーザが50%の編集を行っているという構造は変化していないという発見である。wisdom of crowdsがきちんとpower lawに乗っているのが、現実のWikipediaによって示されたというのは驚くべきことではないだろうか。

http://d.hatena.ne.jp/rkmt/20070503/1178199479

・4日目

Arduinoはセンサーなどを含むシステムのハードウェアプロトタイピングが簡単にできるようなツールキット。Processingなどでプログラムできる。Phidget等との違いがよくわかっていないが、最近注目されているらしい。KAISTの教授に教えてもらったがKAISTのデザインコースでも教育に使っているとのこと。要チェック。

http://d.hatena.ne.jp/rkmt/20070504/1178281212

◎中原(東京大学)さんのレポート
・そのマシン、ユーザビリティの検証、本当にやりました?
http://www.nakahara-lab.net/blog/2007/05/post_864.html

・CHI2007レポートのつづき

この研究のRQ(Research Question)は、「どのように検索結果を表示すれば、ユーザーが利用しやすくなるのか」ということ。これをアイトラッキングシステムを利用して明らかにしたのですね。

 センサーなどを付属した物理オブジェクトをインプットデバイスとして、コンピュータにワイアレスで接続し、コンピューテーションの結果をフィードバックとしてユーザにかえす研究が多いと思った。

http://www.nakahara-lab.net/blog/2007/05/chi2007.html

◎高田さん(産総研
・Paper: Sharing motion information with close family and friends

 Motion Presenseアプリケーションの提案.携帯電話の電話帳のようにユーザ名がリストとして表示されているのだが、各ユーザの横にそれぞれの「移動状況」を表示できるようしたというもの.親しい間柄でのプレゼンス情報共有を目指したものである.これを10人のユーザで二週間にわたりユーザ評価を行った.その結果、移動状況から場所や行動の推測などが可能であったことがわかった.またプライバシーの懸念を示す人もいたが、このアプリケーションの利用後にはそれほど気にしなかったという結果を得た.

http://www.netaro.info/~zetaka/burogu/archives/000129.html

・Paper: Grow and Know: Understanding Record-Keeping Needs for Tracking the Development of Young Children

 5才までの子供の成長と学習はそれ以降の人生に大きく影響する.定期的に小児科医にかかり、子供の成長経過を詳細に記録することは、知恵遅れや障害の早期発見に役立つ.しかし、新人の親は新たなに生じる責任に圧倒されそれどころではない.そこで技術がそれを支援できないかと考えた.この論文では、親と子供を世話する人たちによる成長記録とその解析を支援するための要件を調査した.インタビューを通じて、親が持っている根拠に関する仮定を確認するとともに、記録継続のための技術要件を調べた.

http://www.netaro.info/~zetaka/burogu/archives/000128.html

・Paper: Protecting people from Phishing: The Design and Evaluation of an Embedded Training Email System

 Phishing対策として、ユーザ教育をするための"Embedded Traning"システムの設計とその評価に関する論文である.
対象となるユーザに対し、Phishingメールを投げ込み、実際にPhishingされた場合に、「画像と文字」と「漫画調」の2つの方法でユーザに「このメールはこういう仕組みでPhishing mailだから、こういうのにはひっかかってはいけませんよ」と教示するシステムである.またユーザによる実験結果から、embedded training systemの設計原則を導く

http://www.netaro.info/~zetaka/burogu/archives/000126.html

・Paper: Pictures at the ATM: Exploring the usability of multiple graphical passwords

 複数の暗証番号を覚えるのと、複数の画像パスワードを覚えるののどちらが実現可能性が高いかを調査した.また画像パスワードの記憶を強化する二つの戦略について調査した.その結果、複数の暗証番号を覚えるよりも、複数の画像パスワードを覚える方が実現性が高いことがわかった.

http://www.netaro.info/~zetaka/burogu/archives/000125.html

・Paper: Password Sharing: Implications for Security Design Based on Social Practice

 現実問題として、パスワードや暗証番号は共有されている.それをふまえた上で、銀行のセキュリティシステムに対するあらたな設計基準(要件)を提案する.という論文.
オーストラリアでの社会学的調査を基にしている.USER-CENTERED Securityの提案でもある

http://www.netaro.info/~zetaka/burogu/archives/000124.html

◎リッチメディア情報
・CHI2007関連の動画
http://www.youtube.com/results?search_query=chi2007

・CHI2007関連のスライド
http://www.slideshare.net/tag/chi-2007

・CHI2007関連の写真
http://www.flickr.com/photos/tags/chi2007/