2010-11-29

Windows 7でのWP2TXTのインストール方法

Wikipediaのxml形式のダンプデータを解析できるWP2TXTをWindows 7で使おうと思ったら、素直にインストールできなかったのでメモ。

  • 1.インストール


  • http://rubyforge.org/projects/wp2txt/からWindows版のWP2TXTをダウンロードし、.exeを実行。

  • 2.zlib1.dll


  • そのまま実行しようとするとxlib1.dllがないって怒られるので下記からダウンロードしてWP2TXTの実行ファイルと同じ場所に置く。

    http://www.nodevice.jp/dll/zlib1_dll/item613.html

  • 3.msvcp71.dll, msvcr71.dll


  • これも必要だって怒られるのでこれもzlib1.dllと同様の場所に置く。

    http://www.vector.co.jp/download/file/win95/util/fh435079.html


    これで起動できるはず。

  • おまけ


  • 使い方は簡単。

    Input FileにWikipediaのbz2ファイルを指定(解凍しながらxmlを解析しているらしい)
    Output Dirを適当に指定

    Size of Each Output File (MB)で出力データを指定MB毎に分割できる。

    Elements Extractedで抽出する要素を指定。(Title, Heading, Paragraphなど)
    注釈で使われている<ref>を含めるかどうかなどの設定。

    設定が済んだらSTART。
    jawiki-latest-pages-articlesだとだいたい1時間くらいかかる。

    終わったテキストはWikipediaの編集で使われているWiki記法で出力されています。
    あとは煮るなり焼くなり。


    応援クリックお願いします!!人気blogランキングへ

    2010-11-14

    Android覚書き 導入編1

    Android始めたので、色々と覚書き。


    ▼Eclipseに新規ソフトウェアのインストールでADTプラグイン入れる。
    http://dl-ssl.google.com/android/eclipse/

    ▼Emulatorの設定
    ウィンドウからCreate new Android Virtual Deviceを選択
    新規>名前を入力>ターゲットを選択
    Google APIs(google Inc.) - API Level x
    (xはADK2.2なら8、1.6なら4にする。)


    ▼AndroidSDKにはサンプルがいっぱい!
    ・新規Androidプロジェクトを作成する
    Create project from existing sampleをチェック
    サンプルを選択
    プロジェクト名をつけて実行


    ▼デバッグはADKを利用して行う。
    ・Eclipseからのデバッグ手順
    実行>デバッグの構成>Androidアプリケーションの新規構成
    名前をつけて作成したAndroidプロジェクトを選択
    デバッグ!

    ・ADKバージョンを変える場合は
    実行>デバッグの構成>Androidプロジェクトのデバッグ構成を選んでターゲットタブからADKを選ぶ


    ▼サンプルの中身とか
    ・src
    javaファイルなど
    ・gen
    R.java:作成するアプリで利用するリソースのIDなどを割り振るファイル。自動生成されるため、編集はしない。
    ・res
    /drawable 画像などのリソース
    /layout XMLのレイアウトファイル
    /values 各種の値用のディレクトリ
    /assets Webページのリソースを格納するためのディレクトリ
    ・AndroidManifest.xml
    アプリケーションの実行用設定ファイル


    ▼ApiDemosパネェっす
    ApiDemosには200以上のデモが入っていて、Androidで使えるAPIの動きとソースコードを確認したい場合はすごく重宝しそう。

    App:アクティビティー(Windowsでいうウィンドウ画面のようなもの)、ダイアログ、メニュー、OSの通知機能など
    Content:コンテント(ファイル操作など)
    Graphics:画像描画
    Media:音楽再生と動画再生
    OS:センサーの動作確認
    Text:文字列表示
    Views:ボタンやリスト、レイアウトなどのユーザーインターフェース部品



    応援クリックお願いします!!人気blogランキングへ

    2010-08-13

    Tweet Button ツイートボタン

    面白そうと思ってBloggerに付けようと思ったら、Bloggerの機能でメール、Blogger、Twitter、Facebook、Google Buzzで共有できるボタンが増えてた。
    各記事の一番下にあります。この記事の下にもあるはず。

    ちなみにtweetボタンはせっかくなので右側のサイドバーに付けてみました。
    みんな押してねww


    応援クリックお願いします!!人気blogランキングへ

    2010-06-12

    生き方

    大学院を卒業する時に恩師に頂いた稲盛和夫氏の「生き方」という本を読みました。

    この本には教授から何度も何度も言われてきた、"愚直に生きる"というこれから社会人になる自分への最後のメッセージが綴られていました。

    しばらくこの本の存在を忘れ、最近配属も決まり、本格的に仕事が始まってから何かフワフワした気持ちのまま毎日を過ごしていました。
    仕事自体は本当に面白く、やりがいはあります。
    しかし、最近は自分の技術力不足など、不安が募るばかりでした。

    そんな時、この「生き方」を手にとって読んだところ、今の自分に一番大切な、いつも教授が言っていたことが書いてありました。

    それは「精進」することの大切さ。
    精進とは一生懸命働く事、目前の仕事に脇目も振らず打ち込む事です。

    最近の自分は傍目からは長く会社に残ったり、忙しそうに見えている様ですが、いまいち自分の作業に納得できるほどの全力を出し切れていませんでした。

    そこで、本の中に書いてあった、心を磨くために必要な「六つの精進」という部分が今後の自分にとって本当に大切なことであると感じたので此処に記しておきたいと思います。

    1. 誰にも負けない努力をする
    人よりも多く研鑽する。また、それをひたむきに継続すること。不平不満を言う暇があったら、一センチでも前へ進み、向上する様に努める。

    2. 謙虚にして驕らず
    謙虚な心が幸福を呼び、魂を浄化させることにもつながっていく。

    3. 反省ある日々を送る
    日々の自分の行動や心のありようを点検して、自分のことだけを考えていないか、卑怯な振る舞いはないかなど自省自戒して、改めるよう努める。

    4. 生きていることに感謝する
    生きているだけで幸せだと考えて、どんな小さなことにも感謝する心を育てる。

    5. 善行、他利行を積む
    善を行い、他を利する、思いやりのある言動を心がける。その様な善行を積んだ人には良い報いがある。

    6. 感性的な悩みをしない
    いつまでも不平を言ったり、してもしかたのない心配にとらわれたり、くよくよと悩んでいてはいけない。
    そのためにも、後悔をしないようならい、全身全霊を傾けて取り組むことが大切である。


    この、文字にしてしまえば平凡すぎるほどの、この様な当たり前の、人として正しくあるための心掛けを日々の暮らしの中で実践して行きたいと思います。

    ここに記すだけで無く、普段の生活で実行して行くことが一番肝心です。

    あとはやるだけ。突っ走ります。


    応援クリックお願いします!!人気blogランキングへ

    2010-05-13

    twitbirdが重い・落ちる 解決法

    超久しぶりのBlogger更新です。

    最近はtwitterばかりやっているわけですが、iPhoneのクライアントアプリのtwitbird proを使っています。
    リストがしっかり使えて、全てのtweetを読めるので重宝しています。

    しかし、最近リストのほうばかり使っていたので、ホームにどんどん未読のtweetが溜まっていました。
    フォロー数は現在1200人ほど居るので、一日に1万以上溜まっています。
    それを数日放置していたからか、twitbirdが何度も落ちて起動できなかったり、起動できても重くて遅くて使い物になりませんでした。

    上記のような原因を解決するために、未読のtweetを消せばなんとかなると思っていたのですが、それすら処理が重すぎてできない状態でした。

    最終的な解決した方法ですが、一度twitbirdを削除して、App storeから再インストール(無料)しただけです。
    今では本当に快適に使えています。

    メールもそうだけど、twitterも未読はなるべく消すようにしましょうね☆


    応援クリックお願いします!!人気blogランキングへ

    2010-01-18

    AsteriskのAGIコマンドrecord_fileと回線切断時のAGIの処理指定方法

    電話を使った音声録音システムを作っていて、録音中に切断して次の動作に移る処理をAGIに盛り込むにあたって、
    AsteriskのAGIコマンドの中にあるrecord_fileの細かい動作を調べたのでメモ。

    まずはrecord fileについて。

    Usage: RECORD FILE     [offset samples] [BEEP] [s=]


    record_fileの使い方は
    RECORD FILE<ファイル名><録音するフォーマット(.gsmとか)><録音を中断するためのボタン(1...9と#*のDTMFを指定)><最大の録音時間を指定(msecなので注意)、-1で無制限>[(offsetについては分かりませんでした)][trueと書いておけばbeep音を鳴らして開始][音声の無音状態が指定値を超えたら録音を終了]

    例:
    record_file('recfile', '.gsm', "#", -1, NULL, true, NULL);



    実際に録音が始まるタイミングはbeep音がなった瞬間。
    beep音が鳴ると、その瞬間に指定した名前のファイル名が作成される。
    なので、録音者が録音をしたかったのかどうかはAGI上でrecord_fileが呼ばれる瞬間を期に見ることで判断できる。

    なるほどと思ったのは、録音を切断によって終了する場合、NTTドコモのような留守番電話サービスではファイル容量などをみて、短すぎる録音を排除する処理をしているようだ。
    確かに留守番電話になって、録音せずに切断するというシーンはよくあるし、なんとなくbeep音がなるまでIVRを聞いてしまって、すぐに切断するといった事もある。
    その時の1秒程度のメッセージは録音キャンセルと同義にしたほうが良いと。


    それも踏まえて切断される直前と直後に次のような記述をすることで、AGIでの切断時の処理を分けることができるかもって記事を見つけた。
    http://asterisk.auaudata.com/1603.html

    $result = $agi->record_file('recfile', '.gsm', "#", -1, NULL, true, NULL);
    if($result['result']==-1){
    //回線切断時の処理
    exit;
    }


    上記のような記述を切断時の動作を付けたいAGIコマンドにすれば良いハズ。
    動作確認してないのですが、ちょっとやってみたらできなかった。
    たぶん、やっぱりAGI上での回線切断の方が、if文の行よりも早く処理されてしまうからだろう。


    もしくは、extensions.conf上でAGIを指定しているので、切断されたAGIが終わった後に動かしたいAGIをextensions.conf上に
    exten => 201,1,AGI(first.agi)
    exten => 201,n,AGI(second.agi)


    とか書けば良さそう。
    (追記:やっぱり無理でした。hangupは回線切断なので、完全に通話を切断してしまいます。)



    その他にもDeadAGIというものがある。
    exten => h,1,DeadAGI(agi-test)
    のように、extensions.conf上でAGIを指定する。
    するとAGIのプロセスが回線の切断と同時に強制終了されなくなる。
    "h"というエクステンションは回線が切断したという意味です。
    これはどうやって電話番号指定するのか分からない…わかる方がいたら教えてください。根本的にわかってないので。。



    本家voip-infoに書いてあった代替案として、SIGHUPを使えと言っていました。
    それぞれ言語での使い方は以下のようになってました。

    Perl:
    $SIG{HUP} = "IGNORE" (Perl)

    PHP (though you must compile with --enable-pcntl to get this function):
    pcntl_signal(SIGHUP, SIG_IGN)

    Ruby:
    trap('SIGHUP','IGNORE')


    SIGHUPは回線が切れた時のシグナル。
    これを利用して、その後の動作を指定してあげる。
    ただし、phpの場合はコンパイル時にオプションを付ける必要があるので注意だそうです。



    応援クリックお願いします!!人気blogランキングへ

    2010-01-08

    一人暮らしあんしん電話がNHKで放送

    以前、毎日新聞にも登場した「一人暮らしあんしん電話」ですが、NHKのニュース番組でも紹介されていました。

    一人暮らしあんしん電話


    裏話のような話になってしまうのですが、設計の打ち合わせやシステム障害が起きた時に、何度も足繁く通った千葉県松戸市のどうたれ内科診療所が映ったときはとても懐かしい気分になりました。

    システムの根本的なデザインや、UIがほとんどそのまま使われていて、共同開発者として嬉しい限りです。
    現在はおたずねフォンと名前を少し変えて製品化されています。リンク先の画面説明で紹介されている画面を見たときは、本当に驚きました。

    研究が終わった後に、共同開発者の堂垂医師が公開していた資料にも、我々の事が記載されていてそれを読んだ時には、この研究に携わることが出来た事が嬉しくて仕方ありませんでした。
    本当に恵まれた環境で研究させていただいています。
    これから卒業までの数カ月、全力で頑張りたいと思います。


    そして…なんと次は2010年1月9日午前7時過ぎから、TBS「サタずば」の番組内で20分ほど一人暮らしあんしん電話の紹介があるそうです!!!
    これは是非見なければ!!!


    応援クリックお願いします!!人気blogランキングへ

    2010-01-03

    2010のプラン


    2010年明けましておめでとうございます。

    2009年は世界恐慌と共に就職活動に始まりましたが無事内定を貰い、1年通じて様々な人と出会い、学ばせて頂く事が出来ました。
    2010年もよろしくお願いいたします。

    今年は人生最後の?学生生活になります。
    4月からはついに社会人です。
    期待:不安=3:7くらいの気持ちですが、プレッシャーに負けないように頑張ります。

    そこで、2010年のプランをいくつか決めてみました。

    ◆ホウレンソウをしっかり行う
    報告・連絡・相談が最近一切できていません。
    完全にtwitterのせいだと思ってます。
    今何やってるかを常にダダ漏れ状態にしてるので、それを書くので自己満足してしまっています。
    チームで何かをやらなければならないのに、報告を全然しない。
    また、大事なメールの返事もなかなかしない。
    メールする時間を決めて、報告事項・連絡事項・相談事項について、常に情報を共有できるように頑張ります。


    ◆技術力の向上
    2010年は潜伏期間だと思っています。
    今のところ、技術面での実力はエンジニアと呼ぶには全く足りていません。
    ただひたすらに学ぶ。
    1年後には頭に描いたものをすぐに形にできるくらいの実力になっていたいと思います。


    ◆人の話を聞く
    人付き合いが本当に下手なんです。
    2009年は人生最大の過ちを犯してしまいました。
    学ぶ姿勢を大事にしながら会話するようにしたいと思います。
    自分の知っていることなんてほとんど無い。
    何か意見がある時も本当に言うべきかどうか考えながら話す。


    ◆恩返しをする
    同年代や近い年代の人より比較的長く学生をやっているという事もあり、食事を奢ってもらったり、色々なところに連れて行っていただきました。
    社会人になってからの給料は、しばらく皆への恩返しに使えればと思っています。
    もちろん、家族にも。


    ◆やってみたいこと
    写真の勉強。去年無理やり買ったGRD2をもっと活用してやりたい。
    あと、余裕が出来たらデジ一も欲しい。
    最近撮った写真が本当に良かった。こんな感動をもっと味わいたい。


    地元の中学のグラウンド。毎日陸上部の練習で走ってた場所。


    というわけで、今年4月から社会人です!!
    今の自分から見てカッコイイと思える人になれるように、これから頑張りたいと思います。


    応援クリックお願いします!!人気blogランキングへ