トップ 最新 追記

Public Diary


2012-01-01

[Twitter] 本日のツイート

  • 02:32 2012年の国の皆様、2011年の国より謹んでお祝い申し上げます。おめでてーな。
  • 02:46 [Re] @Martha708 こちらはまだあと半日以上ありまする…
  • 02:46 こういうときこそ全力で…「日本のやつら、未来に生きてんな…」
  • 05:11 WSJが「紅白でAKB48がすげぇ」「92人のメンバーが統制とれたダンスとかマジキチ」「ちょいエロみたいな?」なんていう動画記事出してた。よほどネタないのか。 Japan Girl Band Spices it Up on.wsj.com/s76e0U
  • 14:05 煩悩だらけな顔してるだろ…嘘みたいだろ…まだ2011年なんだぜ…ここ…。
  • 14:05 あと1時間。
  • 14:32 2週間越しのメール返信。ごめんなさいML読んでませんでした。それにしても、メールベースで人を育てることはできるんだろうか。
  • 14:34 学生側のワークロードが見えないから仕事を振るべきではないという自分と、仕事ができるかできないかは結局自分で考え(てできないならできないと言う)べきだからそんなこと気にせず仕事を振るべきという自分がちょっと葛藤している部分もある。
  • 14:49 [Re] 地震のない本国でライブ収録してるからに決まってるだろJK RT @norayinu: フジテレビ生放送なのに地震が起きても出演者だれも反応しない。しかも右上にLIVEって表示されていたが地震後消えた。
  • 15:01 年明けったー@CST 皆さん遅ればせながら明けましておめでとうございます 本年もどうぞよろしくお願いします

2012-01-03

[MBA] MBA出願エッセイ

2012年になりました。本年もどうぞよろしくお願いします。

アメリカの大学の冬休みは本当に長く、多くの学生は実家に帰ったり旅行に出かけたりするのですが、私の場合は諸事情で北米から出られないことになっています(いざというときは出られるんですけどね)。アメリカ国内も学生時代や転職の狭間でそれなりに旅行してますし、この冬休みはのんびりと自宅周辺で過ごしております。

そんな自分が昨年の今頃何をしていたのかなぁと思い返すと、締め切り直前のMBA出願用エッセイを正月返上で書き上げていました。それもこれも自分のタイムマネジメント不足が原因とは言えるのですが、しかしそれにしてもなかなか仕事をしながらのエッセイ書きというのも大変なものです。特に年の瀬はいわゆる年末進行な企業もあるでしょうし、そんな中、たとえば夜1時・2時に終電やタクシーで帰宅してからエッセイを書くのもなかなか現実的ではなく、結局週末や年末年始を使わざるを得ないわけですよね。

そんなわけで季節柄、エッセイの書き方について、渡米前に(というか1年前の出願時に)知っていればなぁということを書いてみます。

エッセイといえば、こちらに来て一番に学んだのはイントロダクションの書き方を含めたエッセイ全体の構造です。特に、イントロダクションは、エッセイの全体的な方向性を左右するので本来はとても重要なパートです。イントロダクションで特に重要なのは"thesis statement"と呼ばれる文です。これがエッセイや論文では非常に大きな意味を持ちますが、日本では聞いたことがありませんでした。僕は卒論を英語で書かされましたが、この論文を参考に同じように書けと言われただけで、論文の構造についてのちゃんとした説明は受けなかった。TOEFLの予備校のようなものにも通って「テンプレート」を教えてもらったけど、thesis statement の書き方のようなものは聞かなかった。でも、アメリカでは高校の英語の授業で教えてるんですよね。つまり thesis statement を知らない日本人の英語エッセイは、構造だけで言うと、アメリカ人の高校生の宿題以下ってことなんです。

Thesis statement は、エッセイの「結論」を一文にまとめたようなもので、通常、イントロダクションの最後に置かれます。ライティングのオンライン講座には定評のあるパデュー大学の資料(http://owl.english.purdue.edu/owl/resource/545/1/)あたりを読んでいただくのが一番わかりやすいと思いますが、議論可能である(arguable)ことと、ピンポイントであること(specific)ことが重要です。そして、広いバックグラウンドの導入から入ってこのピンポイントなthesis statementにつなげていくことが重要です。こうして、イントロダクションをしっかり作るだけで、相当印象が変わってきます。

Thesis statement は通常、「(1)及び(2)の観点から、(A)である」という構造を持ちます。たとえば、パデュー大学のサイトでは

High school graduates should be required to take a year off to pursue community service projects before entering college in order to increase their maturity and global awareness.

という例文を出していますが、「(A)高校を卒業して大学に入るまでの間に、1年間のコミュニティサービスプロジェクトに参加すべき」という主文に対して「(1)成熟するため、および(2)グローバルな知見を高めるため」という目的部分が続いています。そして、エッセイの本文の部分は、(1)及び(2)について議論します。thesis statementでは、"in order to" や "in view of" などの接続句を用いてこれらの部分をつなげるとともに、大まかな本文部分の構造を示唆するのが良いとされています。

Thesis statementそのものはとても簡単です。単なるテンプレートじゃないかと思われるかも知れませんが、アメリカの大学では(特にアカデミックな雰囲気を重んじる大学では)この作法を守っているかどうかというのが非常に重要です。卒論や修論を書くときに、指導教官から文献の引用スタイルについて細かく直された方は多いと思いますが、あれと同じようなものです。もちろん作法を守れば合格ということではありませんが、このような作法に従うのは一種の前提となっており、こうした作法を守らないエッセイはよほどインパクトが強くなければ本文に入る前に門前払いされてしまう可能性すら潜んでいます。よく日本のMBA予備校で一般人にはあり得ないような体験に基づくエッセイを書くことが求められますが、それは構造を無視しているから内容で勝負せざるを得ないということなんだと思います。アメリカ人のMBA受験はもっとおおらかで、マクドナルドのバイトでこんなことを学んだとか、その程度のリーダーシップだったりします。MBAの受験では、本来、世界をひっくり返すような体験は求められていないのです。むしろ、他の人が気づかないような毎日の出来事にきっかけを見いだせる人が求められているのではないかと思うのです。

友人に「テンプレートは嫌いなのでそういうのは使いたくない」という人もいましたが、これはテンプレートというよりも作法とも言うべきものです。論文のリファレンスにA.P.A.スタイルを用いるときに「著者(年)」を使うのが一般常識であるのと同じように、第1段落はthesis statementで終わるもの。thesis statementのない論文でもよほどイントロがしっかりしていれば読まれるでしょうけど、よほど英語での文才がない限りは、thesis statementを利用するのが無難です。自分でもthesis statementを意識するようになってくると、これが無いだけで随分と印象が変わってくるのが面白いです。

参考文献

シカゴ近郊の日系書店で英文エッセイの書き方について日本語で解説してある書籍を探してみましたが、ないようです。以下のリンクが参考になるでしょう。

追記

Thesis statementを用いた構造をしっかり意識すれば、英文エッセイはそれほど難しく考えなくても、ある程度は論理的に作ることができます。有名なStanford大学のMBAエッセイ課題 "What matters to you most?" については、以下のような考え方もできるでしょう。

  1. 過去の印象深かった出来事を思い出す
    • 「たとえば○○への旅行かなぁ」(*)
  2. その理由を3つほど思い浮かべる
    • 「普段の生活では知り合うことの無かった友人ができた、とか」(A)
    • 「新しい土地での習慣を知ることができた、とか」(B)
    • 「体力作りになった、とか」(C)
  3. Thesis statement を作る
    • 「○○への旅行(*)は、友人を増やし(A)、日本の地方についての新しい知識を与え(B)、さらに体力的な基礎を築く(C)という点で、非常に有益だった」
  4. Thesis statement へとつながるイントロダクションを作る
    • 一生の中で様々な出会いがあるが~云々。
    • いや !"#$% の方が重要だという人もいるだろう云々。
    • しかし、私にとっては、○○への旅行(*)こそが、友人を増やし(A)、日本の地方についての新しい知識を与え(B)、さらに体力的な基礎を築く(C)という点で、非常に有益だった。
  5. 本論よりも先に結論部分を書いてみる
    • 「以上で見てきたように、○○への旅行は~云々」
    • 「これからグローバルな視座が求められていく中で、この体験は~云々」
    • 「日本人すら知らない○○であるが、外国人にはぜひ○○を~云々」
  6. 本論部分を作る。(各1パラグラフ)
    • 「友人を増やすということについて~」
    • 「日本の地域を知ることは~」
    • 「体力的な基礎は~」

もちろん、論理的な流れであれば合格というものでもないでしょうから、上記のように考えれば必ず合格ということでもないでしょう。ただ、こういう構造を知らないがゆえにエッセイの印象を下げているということは多々あるものと思います。

[Twitter] 本日のツイート

  • 11:44 初夢はすごかった。時に2025年、月が地球に落ちてくる。落下地点はインドとアフリカの間。落下推定時刻から数分経って日本も激しく揺れるんだけど、緊急地震速報が鳴らなくて想定外と釈明する気象庁をマスコミが責任追及してる間に巨大津波が襲ってきた。色々ひどい悪夢だ。
  • 11:46 [RT] RT @matimura: いたずらと判断したのに、「丸の内署はあっち」と振るのは、偽計業務妨害教唆にならんのか? 結果的には意味なしだけど。--- 平田容疑者:最初は本庁出頭…機動隊員「いたずら」と判断 - 毎日jp ow.ly/8g2CT
  • 11:54 確かに遠地地震で緊急地震速報が鳴るような事態は想定してないだろうな。ましてや小惑星や月が地球の反対側に衝突して衝撃波が半周するなんて夢にも思ってないはず(いや夢に出てきたけど)。2025年…その頃は45歳か…
  • 11:55 [Re] @Martha708 地震関係からは半年も離れておりましたのに…残念ですw
  • 11:56 [Re] 昨日から餅やらピザやら焼いてるけどテンピーってテンじゃなかったっけ…雑食性だから何でもありなのか… RT @sanbe_sahimel: 餅ピザが焼けたよ~(^o^)/ pic.twitter.com/2wFdmJJL
  • 12:24 [Re] @tsuka_ken 落下点からそれなりに離れている地域に対しては、地震動(と言えるのか?)と電子情報伝達の速度差を利用して(特殊な)速報は出せそうですが、なにぶん国外が震央となりますと、現在の緊急地震速報の仕組みの中では出ないと思います。

2012-01-05

[Twitter] 本日のツイート

  • 06:23 最近、文章を短くまとめるのが下手になった。ちょっとしたことを書こうとするとついつい長くなって、それを無理やり短くしようとするからわかりづらくなるんだなぁと思った。かといって長すぎる文章でもたぶん読者の理解は得られないだろうし…
  • 06:25 "thesis statement" についてwashitake.com/diary/public/2... のように書いてみたんだけど、「~って知ってますか?」のような書き方するとヤバい。相手がゼロ知識という前提で書き始めると、本文に到達する前に相当浪費してしまい、結局本文がスカスカになっちゃう。
  • 06:27 まぁ本来もっと推敲してから書き上げるべきところ、「新年おめでとうございます」を書きたいが故に三が日中にアップしようとしたのがそもそもの失敗とも言える…が。
  • 17:26 [RT] RT @warai_hahahaha: バスの中でギャーギャーギャーギャー騒いでる子供に母親が「静かにしないと運転手のおじちゃんに怒られるよ!」と注意していたら、運転手のおじちゃんが「私は怒りませんよ~。お母さんが注意してください」と冷静に一言。バス内は失笑、母親は凍り付いてた
  • 18:14 [RT] RT @NobuKawai: ラブジョイ彗星が太陽接近を生き延びた件、今朝の朝日新聞に「マジで度肝を抜かれた」と訳出されたコメントの原文は、"It's absolutely astounding"。文章語ではないが、いわゆる「タメ口」ではない。2週間前のNASA発表。ht ...
  • 18:17 朝日新聞がラブジョイ彗星のNASAコメント中absolutelyを「マジで」と訳してる件。こちらではたとえばレストランでウェイターが「かしこまりました」の代わりに使ったりするので、わりと一般的に使われている言葉ではある。「いやまぁ本当に」くらいが妥当だと思う。
  • 18:30 そういえば日本も太陽観測衛星「ひので」を持ってたはずなんだけど、ラブジョイ彗星も観測したのかな。こういうときにさらっと「うちも観測してますよ」とタイミング良く出さないで、予算だけくれくれ言ってもそりゃぁ何かたりないってもんでしょうよと思ったりもする。
  • 18:32 一応、報道機関へはJAXAから(12月の時点で)写真は提供されたらしいけど、肝心のホームページ jaxa.jp/projects/sat/s… は8月が最終更新だとかで。
  • 18:34 [Re] @parsonii 一応、ネットで探すと sungrazer.nrl.navy.mil/index... という写真も出てくるので、こういうのがJAXAのホームページなんかで(日本語で)提供されてればなぁと思うんですけどねぇ。
  • 18:35 ていうか、思ったそのままのことがこちらのブログ macroanomaly.blogspot.com/20... に書かれていた。
  • 18:41 [Re] @sinn_zusein @parsonii 現実には通信・観測ともスケジューリングが難しいんでしょうけど、ただ、朝日新聞は「同16日、日本の太陽観測衛星「ひので」などが太陽に最接近するところを観測した」などと書いており、せっかくならひのでの情報もあればいいのにと思った次第です。
  • 18:45 気象庁が発表する情報は拾ってくれなくて、ほとんど同じ内容のWMOの発表だけを転記してたりとか、そういう報道の拾われ方を見ると、せっかくなんだから国内機関の意見も載せてくれたらいいのに、と思うことが時々あります。まぁそれに似た気分とでも言いましょうか。
  • 18:56 さっきのブログから気象庁が名指しされていたので著作権関連のページを見たけど、情報の利用制限はないように見えるなぁ。どうでもいいけど、jma.go.jp/jma/kishou/inf… の「個人情報保護について」の a#privacy タグが変な閉じられ方してるのはかっこ悪い。
  • 18:59 まぁ制限の書き方が性悪説をとってるのは改善可能かもしれない。「○○を除き××できません」よりは「著作権法上認められた範囲内でご利用ください」のほうが印象は良いだろうけれども。
  • 19:24 [Re] @hoshinolocus どちらかというと研究者というよりは機関としてのJAXAの仕事かなという気もしますけどね。データベースは研究者ならわりと自由に使えるものなんですか?
  • 19:29 [RT] RT @tm_ono: 日本と比べて米国のウェブサイトなどがコンテンツ利用についてうるさいことを書かずにいるのは、国による著作権法の違いと「なにかあったらすべて裁判で決着つけましょ」っていう常識の違いがあるのだという。それを先月ある勉強会で教わった。単に成果の還元云々って ...
  • 19:31 日本だと裁判するとなったらこの世の終わりみたいな感じの印象はあるけど、アメリカだと些細なことも裁判で「決める」という文化があるのは事実。でも、基本的にアメリカ人って大らかだよなぁと思う。移民の国だからっていうのは結構大きいと思う。
  • 19:39 [Re] @hoshinolocus 誰でも使えるデータベース、というのは日本的でないというか、ずいぶん大胆ですね。うちの業界もそうなればいいのですが…利権団体の存在もあり、なかなか一筋縄ではいかないようです。
  • 20:14 [Re] @hoshinolocus 英語ベースを(日本人にとって)敷居が高いと見るか、(海外の人から見て)敷居が低いと見るか、時と場合によりけりでしょうね。
  • 20:20 [Re] 何俵買うつもりなんですか… RT @nakamukae: 帰りに米買ってこい言われた。唸れ俺の上腕二頭筋!燃えよグリコーゲン!ほとばしれ乳酸!
  • 20:25 今更ながら文科省の第一次報告書 mext.go.jp/a_menu/saigaij… を読む。時系列でのやりとりとか判断とかの流れがほしいところだな。災対本部で見聞きしたものと微妙に食い違ってるような気もするし。
  • 20:25 あと官邸リエゾン、あれは人選の問題だけだろうか。弊社の拡散予測資料とかを持って行っても「私は原子力はわからないので」「そこに置いといてください、あとで本省にFAXしますから」とか言われて困った。のれんに腕押し作戦ととられてもしょうがなかろう。
  • 20:27 まぁあまり災対本部の話を書くといろいろ吹っ飛びそうなのでこの辺にしておくけど。それから、各省庁は所詮は実行部隊なわけで、あとは陣頭指揮をとった閣僚の皆さんの判断のレビューもお願いしたいとこだな。政権変わらないうちに。
  • 22:27 [Re] @hoshinolocus ありがとうございます。いろいろやってみてデータにたどり着けましたが、ちょっと「慣れ」が必要なインターフェイスですね。

2012-01-06

[Twitter] 本日のツイート

  • 00:15 [RT] RT @hoshinolocus: @wassy これらしい。hinode.nao.ac.jp/QLmovies/xr... 1:10:55UT頃。
  • 11:45 [RT] RT @ryoko_kuma: TwitterやGoogleのサービス障害発生時に「ふざけるな、こっちは仕事で使ってんだ」って切れてるひとを見かけると、つくづく平和な国に生まれてよかったなあって実感しますね
  • 11:55 今まで何度も着信がありながら取れなかった電話番号からの着信に初めて応対できた…と思ったら、ネットのプロバイダーからの満足度調査だった。そんなんで俺の携帯の着信履歴埋め尽くさないでくれよ、こういう電話を今後しなければ満足度が上がると思う、と答えておいた。
  • 14:41 500gの小豆と同量の砂糖に水を加えて1.5kgの粒あんができた。とすると200gのあずき缶のうち三分の一が砂糖という計算になり、これは直径15cmのショートケーキの砂糖の量(ホールのスポンジとホイップ合わせた分)に相当。ふむ。

2012-01-07

[アメリカ生活] クレジットカード

年末にスノーボードをしにウィスコンシンのGranite Peak Ski Areaまで出かけてきました。このとき、持参したクレジットカード(外貨建て)が使えなくて、フロントから呼び出されることになりました。認証エラーになるとのことでしたが、限度額までは余裕もあって原因がわからずじまいでしたが、結局念のために持っていた日本で発行されたクレジットカード(円建て)で決済しました。

よく、アメリカへ赴任・留学する人へは外貨建てのクレジットカードを持つことを勧められることがあります。これは、アメリカでは不正利用防止のために住所確認が行われますが、日本発行のクレジットカードには有効なアメリカ国内の住所が登録されていないことによるものです(したがって、決済通貨の問題ではなく、登録住所の問題です)。一般的にはJALカードかANAカードの外貨建てカードを作るものだと思います。これらは、アメリカ国内の銀行が発行するカードで、JAL/ANAと提携しているものです。普段使っている航空会社の提携カードを利用するのが良いでしょう。

ただ、住所確認は、登録住所から離れたところで決済されるものをマークしますので、たとえば東海岸に住む方がサンフランシスコベースの企業のウェブサイトでクレジットカード決済しようとすると、時々認証エラーになります。こうやって住所確認に引っかかったカードは、しばらくの間すべての取引で認証エラーになることがあります。今回の場合、発行会社に電話してみたところ、出発直前にネット通販で使ったのが「怪しい」とマークされ、カードに注意コードがかかったようでした。

こういったことは比較的頻繁に起こりうるので、アメリカで新しく発行したカードのほかに、念のため、日本発行のクレジットカードを用意しておくのが無難です。日本発行のクレジットカードは、ガソリンスタンドなど一部の業態のお店で利用できませんが、それでも飲食店やホテルなど一般的に旅行で利用しそうな業態のお店では問題なく利用できますので、安心のためにも、日本発行のクレジットカードとその引き落とし口座にはある程度の余裕をもって渡米するのが無難です。

[Twitter] 本日のツイート

  • 12:41 [Re] その総和は4/7ってとこですかね。 RT @nakamukae: 真面目に解く人がいたwww RT @urchinhead: p=Σ{1/2*(1/4*1/2)^(n-1)} [n→∞]かな? QT 白やぎさんがお手紙を書きました。黒やぎさんは届いた手紙を50%の確率で…
  • 12:51 数値とSI単位の間にスペースを入れるかどうかもさることながら、リットルの表記に斜体のL(ℓ)を使う日本ローカルルールを廃止したい。単位はロマン体で記す、というルールに真っ向から対立してるし。
  • 13:20 [Re] 地球と太陽との距離、近日点で0.98天文単位、遠日点で1.02天文単位とかですけど、さてはて。 RT @nakamukae: わざわざ「単位は任意」って書いてあるんだから「1天文単位」でFAだよね。簡単だよね?

2012-01-08

[Twitter] 本日のツイート

  • 00:21 [RT] RT @wwwwww_bot: ■メイド喫茶「お帰りなさいませご主人様」 ■執事喫茶「お嬢様、お帰りなさいませ」 ■ヤクザ喫茶「叔父貴、お勤めご苦労様です!」 ■おかん喫茶「アンタまた一人で帰ってきて、早く彼女くらい作りなよ!」 ■京急喫茶「オキャクサァ!! オカエリイェ ...
  • 01:40 えっ #最寄の国道晒せよ …国道44号とかかなぁ。終点の根室市までここから直線距離で1.5万kmくらい?
  • 02:25 あれ?地球上で直線距離1万3000km以上って…(地球の半径は約6500km) 地図上の直線距離(謎)って適切な表現あるんでしょうか。
  • 04:10 [Re] 「直線距離」といったとき、図上の直線距離、大円距離、球面を考慮した距離、の3通りが思いついて、これらを区別する一般的な用語があるんだろうか、というのが当初の疑問でしたが、なるほどGIS的には大円距離なんですか。そもそも直線距離という言い方が適当ではないのか… @e_toyoda
  • 04:37 [Re] あぁ、「測地線」という言い方があるんですね。これが求めていたものに一番近そう。ありがとうございます。 @e_toyoda
  • 06:34 [RT] RT @asahi_kantei: 総理番GJ)おはようございます。今日は野田首相、福島入りです。企業や病院の視察、福島県知事との会談を控えています。これに伴い、小生はすでに新幹線の車内。早朝のため駅構内もがらがらかと思いきや、スノーボードを担いだ若者の姿が目立ちます。学 ...
  • 06:35 この記者のツイートから察するに、スキー場は以前の(←2010年頃の)活況を取り戻してるのかな。ゲレンデを変えて楽しむ人は多いのかも知れないけど、人口として減ったというわけではないのかも。
  • 08:25 ISO 9001を一言で表現するのって簡単そうで難しいな…
  • 11:18 ハンバーガー屋でバイトしてたとき、ついうっかりお年寄りの話につきあって、すごく喜ばれて常連になってくれたこともあったなぁ。自分の自信にもつながるし、ビジネスチャンスともとれるし、悪い話ではないはずなんだけど、それだけ他の人がまともに取り合わないって話でもある。

2012-01-10

[Twitter] 本日のツイート

  • 16:18 [RT] RT @ynabe39: 「小学校の算数は文系科目」。 RT @kosaki55tea: 別ルールなこと自体は許容範囲といえなくもないのですが想定しているルールが不明瞭すぎて理系の人は即死してると思います
  • 18:10 [RT] RT @1ouis: docomoのプレスリリースの全角英数字がキレるレベルとか聞いて「いやいや、そんなソースコードとかじゃないのにキレるわけがないでしょーw」と思ったらマジでキレるレベルでキレそう nttdocomo.co.jp/info/news_re...
  • 18:15 元々JISは半角も全角も同一視することで統一を図ろうとしてたと思ってたけど、今や完全にグリフで文字コード分かれちゃいましたね。nttdocomo.co.jp/info/news_re...まぁかつての倍角文字が事実上絶滅したので前進と見るべきか。
  • 18:23 来年度は学部・専攻を超えて大学内の好きな授業を単位登録できるので色々下調べしてるんだけど、災害に関する情報発信ってどのカレッジになるんだろうか。気象災害に絞るとしても、大気科学でも情報科学でも社会心理学でもなさそうだし…公共政策もちょっと違いそうだなぁ…うーん…
  • 18:26 イリノイ大学は気象学ではそこそこ知名度が高いと信じているが、まぁ当然ながらメソスケール大気科学とか対流圏科学とかの授業が中心で、情報発信とかそういったものは対象じゃない。気象学の500レベルの授業を受けてみたいのはやまやまながら、そこまでの素養がないのは残念。
  • 18:27 [RT] RT @mkuze: すごく頭が切れて論理的思考力に長けていることと、礼節を重んじてバランスの取れた人徳があることとは、あまり相関がない。学者としての評価に重要とされるのは主に前者のほう。
  • 18:27 (RT関連)「相関がない」と「負の相関がある」ではずいぶん印象も違ってきますけれども。
  • 18:29 しかし、真に論理的な人であれば、礼節を重んじそうだしバランスも良さそうなものだけれども…
  • 18:34 RTから離れて、さて、「防災学」って英語で何て言うんだろうか。そもそも日本で「防災学」っていうとどこの領域なんだろうか。防災学ってなんか独立した学問??あれ、防災士ってなに…???
  • 18:36 「防災」という言葉そのものが曖昧すぎるんじゃないだろうか。damage reliefとかdisaster mitigationとかdisaster managementとかいろいろ言い回しはあるけど、どれも「学問」の領域じゃなさそうだしなぁ。
  • 18:38 とすると、メディア論とかになってくるんだろうか。まぁそれはそれで面白そうだけれども。そういえば、弊社にはメディア論の専攻の人とかいたっけ。広報室とか…?(室長から係員までの顔を思い浮かべてみる)
  • 19:09 [RT] RT @nakamukae: なぜアメリカ大使がその情報を知ってるwww RT @AmbassadorRoos: アニメ「きら☆すた」の舞台となった埼玉県の鷲宮神社に、50万人近くが初詣に訪れました。goo.gl/DVJgF

2012-01-11

[Twitter] 本日のツイート

  • 07:18 Geht klarとかEinverstandenとか、せめてJawohlかなぁ。英語ならVery wellとかAbsolutelyですかね。 RT katunori_rou: 「カセイフノミタ」というのはドイツ語で「承知しました」の意 #有益なことをつぶやこう
  • 07:26 「保証」「保障」「補償」を書き分けられない保険販売員にはまともな保険請求はできそうにないし、「確立」「確率」の誤記に気づかない数学屋の理論ははちょっと頼りない。読者側の脳内補正のおかげでコミュニケーションできるとはいっても、そういうところで信頼性が損なわれていくもの。注意したい。
  • 07:31 でもこの同音異義語の問題って英語では起こらないんだよなぁ。たとえばairとheirを書き間違える人なんていない。IMEの変換能力とそれに頼りっきりな人に特有の問題ってとこかな。
  • 09:26 とあるChampaignベースの数学パッケージ開発販売会社を訪問できることになり心躍らせているんだけど、残念なのは、MathMLの策定に携わった二人N.S.氏とB.S.氏は転職済みで不在ってことだなぁ。実際彼らが転職してから開発ペースも鈍ったし。

2012-01-12

[Twitter] 本日のツイート

  • 10:08 [RT] RT @k_tsushima: 大学の論文発表会エントリーに係るシステムについて、強制テンプレートメールの送信によるエントリー方法はもはや旧来的で送り手・受け手の双方に潜在的メリットを与えない。
  • 10:09 昔JPドメインは全部メールのやりとりで管理されてたんだぜ。あれって自動処理されてたんだろうか。Outlookも変なエンコードしてた時代で、よくそんなシステムにしたなぁとか思うけれども。
  • 23:23 ようやっとアドビから「【重要なお知らせ】CS3, 4ユーザー様向けのアップグレードについて」なるメールが届いた。順次発信…にしてもこのタイムラグは何なんだろう。

2012-01-13

[鯖管] さくらのVPSにCentOS 6.2をインストールする

さくらのVPSでは、CentOS 5.5 (Final) (執筆時点) がインストールされていますが、FUSEなどの新しいものを使おうとすると、CentOS 6 系を使いたくなります。

CentOS 5.5 (Final)

CentOS のリリースノートは、「前のメジャー リリース(現在の CentOS 5 や CentOS 4)のインストールを『アップグレード』する手順をサポートしません」としており、アップグレードではなく、クリーンインストールが推奨されています。VPSの場合、手元にCD-Rを用意して…という手順が使えませんから、ネットワークインストールをすることになります。自分用のメモ代わりに、やり方を記録しておきます。

1. root でログインし、情報収集する

ブラウザ上で動くリモートコンソールでもいいですが、URL の入力などにコピペが使えないので、手元の端末からのリモートログインか、WindowsならTera Termなどを使ってログインした方が楽でしょう。

ログインできたら、ネットワークの設定に必要な情報をメモしておきます。

  # cat /etc/sysconfig/network-scripts/ifcfg-eth0
  DEVICE=eth0
  IPADDR=???.???.???.???     <= IPアドレス
  NETMASK=???.???.???.???    <= ネットマスク
  GATEWAY=???.???.???.???    <= ゲートウェイ
  ONBOOT=yes

  # /etc/resolv.conf
  nameserver 210.224.163.4   <= ネームサーバー
  nameserver 210.224.163.3
  search sakura.ne.jp

2. ブート用イメージをダウンロードする

手元の端末で、CentOS のミラーリストから最寄りのFTPミラーを選びます。バージョン (6.2) → os → アーキテクチャ (x86_64) → isolinux とリンクをたどっていった URL (ftp://ftp.kddilabs.jp/Linux/packages/CentOS/6.2/os/x86_64/isolinux/)からダウンロードできるファイルを使います。

1でログインしたサーバー上で、/boot/centos6 ディレクトリを作り、そこに移動します。

  # mkdir /boot/centos6
  # cd /boot/centos6

ダウンロードするファイルが複数(6.2は9個)あるので、最後にワイルドカード (*) を付け、シングルクオートで囲んで wget します。

  # wget 'ftp://ftp-srv2.kddilabs.jp/Linux/packages/CentOS/6.2/os/x86_64/isolinux/*'

これでネットワークインストールに必要なファイルがダウンロードできました。 ここからは、ブラウザ上からコンソールにログインできる「リモートコンソール」(とそのグラフィック版であるVNCコンソール)を使います。

3. ネットワークインストール用カーネルでの起動

VPSコントロールパネルからVNCコンソール(リモートコントロールにあります)を起動し、ログインしたらいったん再起動します。

  # reboot

リブートに成功すると、"Press any key to continue" の後すぐに

  Booting CentOS (2.6.18-194.26.1.el5) in 3 seconds...

とカウントダウンが始まりますので、カウントダウンしている間に何かキーを押して、旧カーネルでの起動を止め、GRUB メニューに切り替えます。

GRUB menu

キー c を押してコマンドモードにし、以下のように入力します。

  grub> kernel /centos6/vmlinuz
  grub> initrd /centos6/initrd.img
  grub> boot

ブートに起動すれば、インストーラーの画面が表示されます。

CentOS 6 installer

4. インストール

インストール中に利用する言語(Japaneseを選択)、キーボード(jp106を選択)、インストール方法(URLを選択)を指定します。続いてネットワークの設定になるので、

  [*] Enable IPv4 support
         ( ) Dynamic IP configuration (DHCP)
         (*) Manual configuration
  [ ] Enable IPv6 support

と選択します。(IPv4の設定はマニュアル指定する必要があります。IPv6は現時点では無効にしておいた方が無難なのでチェックを外します)IPv4の設定には、1.でメモした内容を使います。

続いてURLを入力する画面が表示されるので、2. でインストール用カーネルをダウンロードしたURLの一つ上の階層(CentOS 6.2 の場合だと ftp://ftp-srv2.kddilabs.jp/Linux/packages/CentOS/6.2/os/x86_64/)を入力します。OKを押すと、ファイルのダウンロードとチェックの後、"Welcome to CentOS!" という画面が表示されます。

Welcome to CentOS!

5. インストール続き

タイムゾーン(UTCを利用・Asia/Tokyoを選択)、rootのパスワードを入力。ディスクのパーティション設定は、クリーンインストールの場合 "Use entire drive" でいいでしょう。パーティションの設定をディスクに書き込んだら、しばらく自動的に処理が進み、インストールの終了です。

Completed

再起動が終わったら、すでにサーバーは通常のサーバーとして利用可能な状態になっています。SSHでログインできるので、コンソールなりTera Termなりでログインしましょう。ログインしたら、yum updateでパッケージを更新します。

追記

なお、TCP Segmentation Offload (TSO) のため、さくらVPSと一部プロバイダの間での通信に遅延が発生するらしいです。(参考:さくらのVPSで「CentOS」を利用していますが、回線速度が遅くアクセスに時間がかかります)説明を読んでも、プロバイダによって通信速度が劣化するのか理解しづらいですが、事実 TSO を off にするとアクセスが改善されたとの報告があったので、まぁそういうものなのでしょう。

以下の手順で TSO を off にします。

  1. /etc/sysconfig/network に NETWORKING_IPV6=no を追加
  2. /etc/modprobe.d/ipv6.conf を作成し、以下の設定を追加
    • alias ipv6 off
    • alias net-pf-10 off
  3. コマンド /sbin/chkconfig ip6tables off を実行
  4. サーバーを再起動

[Twitter] 本日のツイート

  • 01:33 [RT] RT @sabotim: 楽しかった\入社式/ 夢を語った\合同研修/ 期待に満ちた\配属先/ 微妙な空気の\歓迎会/ 途中参加の\プロジェクト/ 初めて見る\デスマーチ/ 終わりの見えない\工程表/ どこにもいない\責任者/ 増え続ける\修正依頼/ 消えて行く\先輩たち ...
  • 01:45 明日は東京で0度とか名古屋で-2度とかいうツイートを見て「お、こっちと違いないじゃん」と思ったけど、朝の最低気温の話か…こっちだと日中の最高気温が-7度とかで。でも雪も降らないし例年の冬よりはるかに暖かいらしい。 pic.twitter.com/SH3iLWNW
  • 01:47 まぁ気温が-10度とかなるのはどうでもいいんだけど、むしろ日によって気温ががくっと変わるのがやりづらい。最高気温が-7度だと思ったら翌日の最低気温が0度くらいだったりして。
  • 02:08 久々の雪なれどもあまり積もらず。どうせ積もるなら冬休みの間にお願いしたい。 pic.twitter.com/mVgFNd0L
  • 06:29 おぉぅ、Google APIってエラーを構造化されてないHTMLで返すのか。単なるエラーコードだけじゃなく、Googleのロゴやスタイルシートまで含んでるし…。もちろん実用上はHTTPステータス見りゃ十分なんだけど。
  • 06:54 遅ればせながらGoogle Cloud Storage itmedia.co.jp/news/articles/... を使ってみた。基本的にバケットのロケーションがUSしか選べないこともあってか、東京のサーバーからはレスポンスが遅め。日本に限ってはAmazon S3の方が便利かも。
  • 07:42 Wolfram Research社を見学した。社内案内:昔からある会社だけど、ここ数年で急成長しているらしい。続いてWolfram Alpha wolframalpha.com のデモをしてもらった。Siriにも使われている検索エンジン。
  • 07:44 個人的に気になっていたMathMLの人々はとっくにWolfram Researchから足を洗…じゃなくて転職してて会えず残念。ただ、MathMLはもはやMathematicaの標準入出力の座に就いており、主力を入れて開発するような状況じゃないというのは理解できる。
  • 07:47 Wolfram Alphaの面白いのは、数式のレンダリングはもちろんのこと、自然言語で "flights above Champaign" wolframalpha.com/input/?i=fl... なんて入力すると上空のフライトが得られたりとか。
  • 08:02 あと、自分が生まれたときの天気の検索 wolframalpha.com/input/?i=we... とかもできる。ただ、ソース情報(検索画面の下にリンクで表示されてる)が曖昧なのがネックか…
  • 08:04 ただ、アメリカの連邦政府従業員(公務員)の数を調べようと思って wolframalpha.com/input/?i=nu... と検索しても出てこないし、自然言語処理の限界はありそう。英語が使える人でも苦労するものを日本人が使えるかというと、ちょっと難しいのでは、というのが正直な印象。
  • 10:17 [RT] RT @8ng70: 日本人なら絶対誰かやってくれているとぐぐったらやっぱりあったwww萌えジェイソン sos-kyonsaikou.blog.so-net.n...
  • 10:23 Google Cloud Storage、エラー多過ぎて使いものにならない。今までのところ2万件のPUTリクエストで503エラーが5回、502エラー1回、500エラー3回。Amazon S3はもうちょっと品質良かった気が。無料サービスならともかく金取ってこれではねぇ。
  • 14:13 水産庁の水産物放射性物質調査結果 jfa.maff.go.jp/j/sigen/housy... を見ると、最近はカレイやコモンカスベ(エイ)のように海底付近にいる魚から放射性物質が多く検出されてる。この資料では人体への影響はわからないけど、傾向は説明できそう。今後さらに深海へと向かう?

2012-01-14

[Twitter] 本日のツイート

  • 01:24 [RT] RT @americanjokebot: Q.世界をもっとも驚かせるニュースとは? A.チリ東西分裂
  • 09:06 さくらのVPS、リモートコンソールが便利なのはいいんだけど、VNCコンソールはWindowsのFirefoxからは呼び出せないようだ。ネットワーク越しに起動に失敗したか?と結構ハマった。IE専用ですか…
  • 09:13 [Re] 昔は金網なかったんだけどねぇ。ここ5~6年くらいでできたような。逆光なのはしょうがない気もするけど、近隣のレスパール resparle.jp あたりだとそこそこのアングルで撮れたりします。 @jadeite15fresa5
  • 14:14 [RT] RT @gf_hack: Cの上イタリアあたりかな? RT @usausa1975 マジでわかんない RT @ALC_V RT @1shun0622: RT @mi1mu: 【センター試験】史上最難度の問題【地理B】ま ち が い さ が し t.co/b ...
  • 14:18 Facebookに高校の部活関係のグループを作ってみたものの、しかしメンバーが少ないなぁ。顔を合わせていた(現役の)ときにネットや携帯電話がなかったというのは、結構その後のコミュニケーションの量や質に影響してるよね。あるところ以上の世代はソーシャルプア、という見方もできる。
  • 14:22 自分が高校生くらいの頃に携帯電話があったらとか、Facebookがあったらとか、そういう世界に自分がいることを妄想すると結構いろいろ変わって面白そうだなぁ、など。当時もそういう動きはあったんですけどね、指とまとか、でも普及はしなかった。
  • 14:23 特に恋愛なんてガラッと変わってただろうなぁ。きっと結婚相手も変わっtqあwせdrftgyふじこ
  • 14:32 [Re] @Martha708 同期一人追加したよ。友達リストから漏れなく追加するのも難しい。
  • 14:34 [Re] @Martha708 Facebookでちょっとドキドキしながらフォローしてみたりとか、面白そうだよね。今時の高校生はいいよなー。特にあれだ、Skype があったら相当変わってただろうねぇ。夜のテレホタイムの電話とか。
  • 14:55 \Twitterでやきもち焼きたい!/
  • 15:08 [Re] それはそれは情報ありがとうございます。Webkitですか…Chrome使おうかなぁ。しかしまぁコンソールは毎日使うような性質のものでもないですし、最低限使えればいいかなぁと現状で満足だったりもします。 @kanreisa
  • 16:19 [RT] RT @e_toyoda: えっ RT YahooNewsTopics: オバマ氏 商務省廃止など提案 dailynews.yahoo.co.jp/fc/wor...
  • 16:19 [Re] NASAとNOAAを統合したらスッキリしそうな気もしますけどねぇ。しかしアメリカの予算規模にして10年で2300億円じゃあ費用対効果が小さいですわな。 @e_toyoda
  • 16:22 …とつぶやいてみて、それは文科省の傘下研究機関統合と同じ発想かと思ってちょっと複雑な気分。ポストを減らせば本当にコスト削減は可能なのか。

2012-01-15

[Twitter] 本日のツイート

  • 07:29 TL上で「馬が逃げ切りV」とか書いてあって何かの競馬かと思ったら台湾総統選だった。
  • 11:25 センター試験の世界史Bで道教の「神」(問1-3)についての設問があるんだけど、道教の話なのになぜかシヴァとかオシリスとかの話が出てきて、しかも正解はシヴァ・オシリスとも○だとか。本当?? toshin.com/center/sekaish… そもそも道教の神って何?後漢だから玉皇かなぁ。
  • 11:35 最近の地理ではGPSが出てくるのか。輸出入の品目も結構変わったイメージがあるなぁ。 toshin.com/center/chiri-b… まぁ地理や現社は我々のときもソ連の話題が出てる10年前の過去問は役に立たなかったし、わりと時代を反映しやすいよなぁ。
  • 11:57 おーFirefoxすごい、ブラウザがクラッシュして再起動したときにフォームに書きかけの内容が復元された。
  • 13:17 [RT] RT @MasudaMasaaki: テレ朝で地震雲の特集。仕事柄、「地震雲が出てます」と一般の方からたくさん写真を送って頂きますが、それで地震が起こったことはないです。もちろん、研究は否定しません。ただ、空振り率も公表しないと。「起こる」と言ってれば、いつかは当たります(続く)
  • 13:22 第一、地震の影響が空に出るとして目で見えるものなんだろうかとか、どうして雲として900hPa以上の高度にしか現れないんだろうかと考えると、地震雲ってあんまり「らしく」ない。地上付近で偏頭痛が起こるとかナマズが踊るとか池の色が変わるとかの方がよっぽど「らしく」聞こえる。
  • 15:52 [Re] @e_toyoda あ、いろいろ理論的に説明されてるのは知ってますが、もっといろいろな現象が報告されても良さそうなものなのになぁと。どちらかというと気象の雲形と地象の地震がつながるのって気象庁の業務形態を自然に反映してるのかなぁなどと思いを巡らせていたのでした。
  • 16:16 (事務連絡)Facebook上の某OB会のページ、とりあえず思いつく範囲で全員入れった-。わしにゃぁこれが限界じゃぁ
  • 16:26 [Re] @Martha708 あの人とかあの人とか穴場も狙いましたw
  • 16:34 [Re] @e_toyoda もともとの地火部と観測部のルーツを考えれば、結構敷居は低そうですしね。ただ、地震雲情報には方角とか現在観測してない要素もあったような・・・
  • 18:25 [RT] RT @nakamukae: 1記事500円「出来るだけ、放射能は怖いと思えるような文章でお願いします」という記事作成依頼の存在が発覚 - GIGAZINE gigazine.net/news/20120114-… これが噂のステマですか?

2012-01-16

[Twitter] 本日のツイート

  • 10:02 [RT] RT @HiromitsuTakagi: また文科省が探査機落下で公式情報をfacebookとしているが、国が国民の安全に係る一次情報の提供場所を契約もない外国企業とするのはいい加減如何なものか。これは単に、画像や文章を時系列に随時掲載するCMSがmext.go.jpに準 ...
  • 14:38 [RT] RT @nakamukae: 野田佳彦「崖っぷちに立っているのは民主党ではありません。日本と日本国民であります」 開き直るなよ・・・。

2012-01-17

[Twitter] 本日のツイート

  • 00:17 台湾人のクラスメートから、ビルゲイツ出演のプロモビデオ youtube.com/watch?v=6kHd10… を教えられて視聴。台湾ってIT業界における製造の中心ではあるんだけど、今後給与水準が高騰したとき日本と同じ末路をたどりそうだなぁとか。でも、その時どの国が代わりになるんだろう。
  • 00:29 とりあえず前後±5期までかろうじてカバーできたけど、現役生とは15期分の違いがあって、このやり方で現役付近までカバーするのは、まぁ相当時間がかかるか無理なんだろうなぁ。
  • 00:34 [Re] @Martha708 集めた先に何ができるかというと何ができるわけでもなく、あまり現役に手伝ってもらおうとかいう気はあまりないんだけどね。ただ、自分の知ってる人って±5期までなのかぁと実感できた。(ただ、なぜか先輩方の名前はすぐ出てきても後輩陣の名前が出てきづらいのは何故…)
  • 00:40 1995年も1月17日は火曜日。15日の日曜日が成人の日で、翌16日が振替休日。3連休が明け、ちょっと憂鬱な気分で迎えた火曜の朝。P波で目覚め、S波で揺さぶられたあの朝から、気づかないうちに相当影響を受けたんだなぁと思う。地質学に興味を持ったのも結局はこの影響なのかなぁ。
  • 00:48 地震の後、初恋らしい初恋が消えた反動で、割とまじめに勉強するようになった。逆にその推進力を失って大学で勉強しなくなった。で、いろいろあって今の自分がある。なんだかしょっぱい。
  • 01:25 もっとも親族で被害を受けたのは遠い親戚だけだし、神戸に住んでた人々に比べればまったく被害はなかったんだけど。でも、ふと振り返ってみると、17年が経過してちょっとした変化が増幅していることもあるけど、多感な時期ということもあって結構影響受けたなぁと。
  • 01:26 たぶん今回の311で震源から少し離れた地域の高校生あたりが、たぶん20年くらいして同じような気持ちになるんだろう。曜日が同じってだけで、結構いろいろと思い出される。
  • 01:50 兵庫県南部地震→地震のメカニズムに興味を持つ→地質学を専攻する→中越地震→災害関係の仕事に興味→気象庁に転職、という流れなので阪神淡路大震災が自分の源流にあるのは間違いない。でも、一つ一つの変化はとても小さなもので、時が経つにつれて振幅が大きくなってる。
  • 01:53 この流れの中で、東北地方太平洋沖地震が自分にどういう影響を及ぼすのかは今の段階では予想はできないけど、高校生の頃の自分への影響に比べると、最終的な方向性への寄与は少ないのかも知れない。いわゆる「ドットをつなぐ」というやつで、最終的にスッとつながることがあるのかも知れないけど。
  • 01:55 さて…仕事しよっと。
  • 02:06 仕事といえば…銀行員時代、中越地震で周りの人があまりに無関心だったのが自分の中での転職のきっかけ。やっぱり営利企業はどんだけCSRを前面に出したところで営利企業なんだと思った。
  • 02:08 災害関係の仕事をしたい人は、別に気象庁でなくてもいいから、公務員になるのが一番だと思うな。お金の使い方では批判の多い職種だけど、自分の意識次第でどんな仕事もできるし社会と関わっていける仕事だし。縦割りのイメージ強いけど、いざというときには相当柔軟に仕事してる。
  • 03:38 田峯歌舞伎魅せた20年 地元の児童、17日から訪米(中日) chunichi.co.jp/article/aichi... ピンポイントで本学に訪問されるとのことで、心待ちにしております。来週の日曜か。 krannertcenter.com/performan...
  • 05:48 阪神淡路大震災のきっかけとなった兵庫県南部地震から17年。アメリカから黙祷を捧げます。
  • 09:22 [RT] RT @matimura: arret:君が代不起立を理由とする減給処分は違法 bit.ly/wBH33J
  • 09:23 [RT] RT @mmasuda: tkikuchiさんが!……謹んで哀悼の意を表します。 RT @kojiando (略)高知大学名誉教授の菊地時夫先生が14日に亡くなられたそうです。菊地先生のサーバーからの配信でひまわりの画像をMosaicで見た方も多かろうと思います。本当に悲しい。
  • 09:45 SPEEDI情報 米軍に提供(NHK) nhk.jp/N3zg6QQO 防災基本計画には「(文科省は)迅速な応急対策の実施に資するため,予測結果を関係省庁に伝達」とあるので、外務省経由なら計画通りなのでは。国民への公開云々はさておき。
  • 13:43 [Re] @7087g 転職の狭間に1か月以上あるなら、のんびり旅行なんてのも結構おすすめ。普通の観光客が行かない田舎町で一日中お茶飲んだりとかして。国内でも海外でも。ユースホステルとか使えば長期間行ける。
  • 15:39 X5及びX6は伴奏行為を行わず,X7,X8及びX9は入場せず,X10は式に出席せず,X11は途中で着席し,X12及びX13は国歌斉唱の際に退席し,X14はすぐに着席 courts.go.jp/search/jhsp003… ここだけ読むと(これが生徒なら)軽く学級崩壊してるように見えるな。

2012-01-18

[Twitter] 本日のツイート

  • 05:24 あいさつするたび友達増えるね #わかってないなと思うとき
  • 05:44 東大、秋入学に全面移行 懇談会が早期実現提言(日経) s.nikkei.com/wk59n0 実現するといいなぁ。半年間の「ギャップターム」で留学ってのは得られるものと準備の煩雑さを考えると費用対効果低いとは思うけど、いろいろやりやすいと思う。
  • 05:55 [Re] 「有名になってその時、私が困ってたら…私を助けに来てね」「はぁ?」「一度くらい経験したいじゃない?」 RT @girlsugoren: 「正直、しんどい」と密かに思っている彼女との約束 bit.ly/AtJlRo
  • 09:33 日中の気温が15度まで上がったと思ったら一日で氷点下9度まで下がるこの寒暖の差を何とかしてほしいものだな。さすがに体調が狂いそうになる。
  • 10:41 [RT] RT @jun_makino: 最近よく「スピード感を持って」といういいまわしを見るんだけど、これどういう意味なんだろう?実際にはスピードが遅いのでせめて速い気分になろうというような意味?
  • 10:45 牧野さんの「実際にはスピードが遅いのでせめて速い気分になろうというような意味?」というツイートを読んでから、国交省の「スピード感を持った道路整備」(mlit.go.jp/road/ir/ir-dou…)ってのが道路にスピード線を描いていく事業に思えてきてしょうがないw
  • 10:47 でもまぁ実際スピード線が描かれてると必要以上にスピードを出し過ぎなくなって良いのかも知れませんねぇ(他人事
  • 11:08 [Re] アメリカで眼科医といえばophthalmologistだと思うけどなぁ。日常的にはopticianにお世話になりますけれども。 RT @funfunnantan: oculist [ɑ'kjuləst] (n) 眼科医 [AmE] bit.ly/ajQ0eR
  • 11:14 やみくもに難単語を覚えてもしょうがないと思うんだけれども。oculistは19世紀の用語という人もいるようなので、日本語でいえば江戸時代の用語…ですか。うーむ。
  • 11:35 Google Cloud Storageは様々なエラーがあらゆるトランザクションで起こって対処しきれず使いものにならなかった。SLAを満たすとはいえ有料サービスにしては脆弱。Amazon S3に切り戻し。ただ、ファイルシステムをs3fsからs3qlにしたら随分快適になった。
  • 11:36 Amazon S3の方が東京リージョンが使えるのでTTLの関係で高速というのもあるな。Google Cloud Storageは基本アメリカリージョンだし。そりゃ太平洋を超えていちいちレスポンス確認してたら時間もかかる。
  • 11:39 [RT] RT @e_toyoda: 王道はマニュアル禁止です。現場がいかに切望しても徹底拒否する。多分他に道はありません。RT: @kobako: 「想定に囚われるな」という文言を含んだ「マニュアル」って自己矛盾を孕んでいるなぁとぼんやりと思ったり。 …現場レベルでどうなのか?と ...
  • 11:40 マニュアルなんて通常運用で使うものであって、災害時などの緊急事態に備えるためのものじゃないでしょうし。ただ、いざというときの判断の優先順位についてあらかじめ組織として合意しておくことが必要。そして現場が自らの判断で動けるようにしないと逆方向に膠着してしまう。
  • 11:56 ま、マニュアルというのも結局は想定シナリオなわけで、「想定外」にどう対処するかという点で、結局みんな同じジレンマに陥っているということなのかなとか。原発しかり、サーバーしかり。一朝一夕に解決するものではなさそう。
  • 12:31 [RT] RT @favran: 「猫はこたつで丸くなる」はウソ twitpic.com/3qhsid okmr_pierre
  • 22:59 [RT] RT @Dinasty_Oomae: 代わりに実測値を使うっていうけど、今回は測定網が機能停止したうえに、測定値の収集とプロットにえらく時間がかかってたわけで、その辺はどう改善するの?対策の立ち上げは、やはりシミュじゃないの?>避難判断にSPEEDI使わず…安全委が改定案 ...

2012-01-19

[Twitter] 本日のツイート

  • 16:26 [RT] RT @fotus4: ああ、そうか。そこね、というお話 / ビックリマンチョコが84円で復刻に対して「高い」の声 なぜ84円するのか少し真面目な話 getnews.jp/archives/163159 @getnewsfeedさんから
  • 17:50 サンクトペテルスブルクフィルがこんな田舎町に!これは行かねば!!と思ってたところ別件の予定が入ってしまったのでキャンセルしようと思ってよく見たらサンクトペテルスブルクシンフォニーという別オケだった。「あの有名な」とか書くなよ…あぁこれが今流行のステマってやつですか。
  • 17:51 いや最初はロシア語→英語の翻訳の過程で「フィルハーモニー」と「シンフォニー」が入れ替わったのかな、しょうがねぇなぁ、とか思ってちょっと疑問に思いつつチケット購入したんで自己責任なんですけどね。
  • 17:56 もっとも演奏の質なんて知名度とは関係ないのも事実で、別オケだったからといって失望するほどではないんだけど、今回は別件の予定が入ったところで後ろ髪ひかれることなくキャンセルできたなぁと。キャンセルしても返金されないのがね。学生は10ドルでも一般人たる同伴者は50ドルしたし。
  • 18:12 [RT] RT @jun_makino: あ、あと、記事には「この検査法で確認できる値(検出限界)以下の正確な値がわからないため、平均値ではなく、検出値を順に並べて真ん中に当たる中央値で分析した。」と寝言が書いてありますが、これはかなり下手な言い訳です。
  • 18:18 日本の記者一人一人はリテラシー高いのにできあがった報道がうさんくさくなるのは、数字(特に統計)を正確に報道しない・できないからだろうなぁと思う。かといって(ネットで見る限りは)正確に報道したところで理解できる国民は少ないだろうなぁとも思うけども。
  • 18:21 まぁ別に日本の報道に限った話でもないか。
  • 18:37 そんなこんなで、来年度は災害関係(謎)の授業をとろうと思ってたけど、気象・地質・地学系の授業は純粋な科学だし、政治科学もちょっと違うかなぁということで、やっぱりメディア学にしようかなぁなどと思いつつ。もちろんその中のシネマ論とかとってもしょうがないんだけど。
  • 20:41 どうやらWikipedia(英語版)が忌明けしたようだen.wikipedia.org/wiki/Specia... 今回の騒動で、実はそれほどWikipediaは使ってないなぁと思った。Googleで検索すると上位にくるからたまたま使うことはあるけど、なければないで別にそこまで困らないか。
  • 20:45 旧来の権威たる大学がインターネットの黎明期に危機感を覚えて編み出した「ソース権威主義」とでも言えるものに、知らず知らずのうちに染められているということ…かも知れないな。
  • 21:12 安易なメディア・公務員批判に走らず、構造に目を向けろ(中田宏、12月13日) blogos.com/article/26798/ この人は(政治家にしては)組織についてよく考えてるなと思った。一般に意識の問題と呼ばれるものは、インセンティブの設定の問題に帰着する。
  • 22:44 独立行政法人の制度及び組織の見直しの基本方針(案) cao.go.jp/sasshin/kaigi/… 国交省所管ではようやく旧建と旧運の組織統合が出てきたかという気も。それにしても、そもそもこんなに独法化する必要があったんだろうかという気もする。
  • 22:45 しかし相変わらず(案)が(笑)に見えてしょうがないな…
  • 22:45 独立行政法人の制度及び組織の見直しの基本方針(笑)
  • 22:49 [Re] @7087g 最近の書き方をするなら基本方針()とか草生やすとかですかね。独立www行政法人の制度wwwwwww及び組織wwの見直しwwwwwwの基本方針wwwwwwwワロタ
  • 22:55 しかし、理研が「ニーズ主導」の「研究開発型の成果目標達法人」を目指すって…。ニーズが確実にわかって成果が計れるならそれこそ民間でやればいいんじゃない?官なら民間が思いつきもしないニーズを発掘できて成果に結びつけられると考えるなら、さすがにそれは期待しすぎというものでしょう。
  • 23:01 穿った見方をするなら、これを建前として、また一つ目達予算項目が追加され、なぜか全体的な予算が増えるという結果に終わるのかも知れない。

2012-01-20

[鯖管] AmazonとGoogleのクラウドストレージ

2011年10月、それまでの Google Storage for Developers が正式サービスとなり Google Cloud Storage としてリリースされました。リリース時にはそれなりに業界ニュースで報じられましたが(例:ITmediaニュース)、その後の続報があまりありません。クラウドWatchなどは、同サービスを「S3対抗」(2011/5/19)などとしていますが、どちらを使うべきなのでしょうか。

Amazon S3は、クラウドストレージとしては古参で、2006年にサービスを開始しました。歴史のある分、日本語のサポートもしっかりしており、また、東京にもリージョン(データが物理的に保存される地域)があるのが魅力です。一方のGoogle Cloud Storageは、2011年にリリースされたもののまだ「実験的な段階」にあるとされ、日本語サポートもありませんし、北米と欧州にしかリージョンがないのもネックです。

両者ともほぼ同等のAPIを利用できるので、Google側にドキュメントがないこと自体はそれほど問題になりませんが、やはり大きな差が出てくるのはリージョンです。以下は、東京に置かれたサーバーから両者のバケットへ ping を打ってみた結果です。RTT で実に10倍の差があります。もちろん、RTTが10倍だからスループットも10倍というわけではありませんが、やはり一つ一つの動作について、レスポンスの違いを体感できる程度になってきます。

** Amazon S3 Tokyo region
--- s3-ap-northeast-1-w.amazonaws.com ping statistics ---
10 packets transmitted, 10 received, 0% packet loss, time 9018ms
rtt min/avg/max/mdev = 3.361/3.441/3.542/0.095 ms

** Google Cloud Storage US region
--- sandbox.l.google.com ping statistics ---
10 packets transmitted, 10 received, 0% packet loss, time 9047ms
rtt min/avg/max/mdev = 33.249/34.234/35.038/0.590 ms

なお、S3QLに付属のベンチマークスクリプトを使ってスループットを計測したところ、Amazon S3の東京バケットは4MB/s、同北米バケットが1MB/s、Google Cloud Storageの北米バケットが1MB/sでしたので、サービス提供者の違いではなく、単にリージョンの違いと言えそうです。

一方で、Google の管理インターフェイスはS3よりも使いやすそうな可能性を持っています。格納オブジェクト数(ページ数)を正しく表示できないなどのバグもあり、現時点ではちょっと使いづらいと言わざるを得ませんが、今後少しずつ改善されていくでしょう。また、Google自らコマンドライン管理ツール GSUtilを提供しているのは望ましいことでしょう。

したがって、現時点では、Googleのクラウドソリューションは日本向けではなく、当分の間、Google Cloud Storage は見送って Amazon S3 を利用するのが良いが、Google には一定の可能性も見いだせる、とまとめられましょうか。

[Twitter] 本日のツイート

  • 04:29 wassyは曲名が「C」から始まる曲を17曲さらしてください。正直にね! #ipod_sa shindanmaker.com/76641 C.Q.(中島みゆき)、C7(Go!Go!7188)、Cafe Le Psyence(hide)、Calvero(the pillows)…
  • 04:31 アルファベットで始まる曲=英名、と考えると140字で17曲挙げるのはちょっと無理だろう。ちなみにCで始まる曲は139曲登録あって、最後は「C調言葉にご用心」(サザンオールスターズ)だった。
  • 04:36 [RT] RT @UedaNoriyuki: スタンフォード大学で教えているとき、学生の質問攻めに驚き、感動した。75分の講義で、50分以上話してしまうと、学生が自分たちの質問時間が少なくなってしまうと、イライラし出す。日本に帰ってきたとき、逆カルチャーショックで即死しそうになった。
  • 04:41 (RT関連)アメリカの大学では、確かに質問攻めの授業もある一方で、会計学や法学のように主として知識を伝えるタイプの授業では質問は少ない(同じ顔ぶれなのに)。日本の大学で質問が少ないのは、教える側もまた知識を強調しすぎているからなんだろうと思う。学生の質だけの問題でもなかろう。
  • 12:43 今日の授業より。プロジェクトを定義するとき、「何をするためのプロジェクトか」を示すのも大事だが、「何をするためのプロジェクトではないか」を示すのも同時に重要。マニュアルの記載もまた適用範囲と非適用範囲を示すべきと置き換えて言えるかも知れない。
  • 12:48 [Re] おんぶにだっこでもあるだけマシ。電子ブック市場のように変な規制が入らないようにしてほしいものです。 QT @RodinaTP 文部科学省や文化庁がぐずぐすしていると、(中略)日本での教育内容がみんな Apple様 や Google様におんぶにだっこという悲惨なことになると思う。
  • 20:54 [RT] RT @donodi: 虚構新聞かと思ったら Reading:NHKニュース 「チョコパイ」風船に乗せ北朝鮮へ nhk.jp/N3zj6TEM
  • 20:58 「チョコパイ」風船に乗せ北朝鮮へ(NHK) nhk.jp/N3zj6TEM これ…届くのかな。位置関係を確認しつつ風向きを見てみよう。ただ、届くとして、こういうの(外向的に|軍事的に|税関?的に)アリなんだろうか。風船爆弾じゃなくてよかったですね。
  • 21:13 なるほど、打ち上げが行われた江華島は、北朝鮮の開城から1kmの南西側にあるらしいので、気象条件さえ良ければ届きそう。でも地上では一日を通じて北風が卓越していたようで、北朝鮮には届いてないんじゃないかな…まぁ心配してもしょうがないか。
  • 21:25 あーなんかちょっと底冷えするなーと思ったら外気温がマイナス15度だった。何故こちらには二重サッシとかそういう知恵がないのか。早く太陽昇ってくれ。

2012-01-21

[Twitter] 本日のツイート

  • 11:38 「全額を社会保障に充当」消費増税分で統一見解(TV朝日) 5.tvasahi.jp/220121005?a=ne… 赤字国債を減らすんじゃなくて歳出を増やすってこと?消費税が単純に10兆円増えるとして、今28兆円の社会保障関係費を36兆円に増やすの??(+4%分→+8兆円)
  • 11:39 平成23年度社会保障予算(立法と調査No.311、参院調査室、sangiin.go.jp/japanese/annai...)の図1を眺めてると、公務員給与削減とかなんとか言う以前に、社会保障関係が詰んでるだろって気がしてくる。税制には疎いけど、何か根本的に変えなきゃまずいのでは…とか何とか。
  • 11:44 で、社会保障・税一体の抜本的改革ってのが、税金増やして社会保障充実…なのか…
  • 12:54 [Re] 国家公務員なら定員の改廃も免職の理由となる(法78条4号)けど、大阪市職員は違うんだろうか。 QT @slownin1952 解散させられる大阪市音楽団員の身分はどうなるのだろうか。彼らは市の正規職員である。解散を理由に免職になるのであれば、これは不当解雇であり訴訟の対象となる。
  • 13:08 んなわきゃなかった。職員が「職制若しくは定数の改廃又は予算の減少により廃職又は過員を生じた場合」その意に反して、これを降任し、又は免職することができる(地方公務員法第28条第4号)
  • 16:07 女は男の髪型の変化に気付かないのに、女性の髪型の変化に気付かない男が怒られるのは何故だ。
  • 16:15 [Re] @Martha708 妻「さっき(洗面所で)髪切ってみたんだけど気付かないのね、私に興味ないのね、酷い」 俺(…俺も昨日もみあげを揃えてみたんだけどな) なんなのこの不公平感!!w
  • 16:16 人間が認識できる変化量って7分の1以上じゃなかったっけな…
  • 16:25 [Re] どれどれ…「シカゴで雪が降ってんだけどー。ってゆーかー地面から雪が舞い上がるとかwww何これ地ふぶき→↑ってやつー?」 RT @e_toyoda: へえ、おもしろいね / ふってきったー(あめゆき版) | 国立情報学研究所 agora.ex.nii.ac.jp/futtekitt...
  • 16:26 [Re] @Martha708 まぁあれだ…逆説的に考えると、向こうもこっちに興味なくなってきたってこった。お互い様だ。
  • 16:27 そういや地ふぶきって…↑→なんだろうか、→↑なんだろうか…Unicodeの結合文字では表現できないよね…
  • 17:04 そもそも地域ってなんなんですかね。外部の人間を寄せ付けないようにする囲い込みシステム?地誌•地勢などが関わる一部領域を除いて、科学は地域によるべきではないのでは。
  • 17:34 [Re] そうですねぇ、人の出入りも激しい中で、地域という軸だけではなく多様なグループの様態に対応できるようなコミュニケーションであって欲しいですが、SC系の人々のイメージは違うのかな。 RT @sinn_zusein: 些少で多様なグループが勝手な精神性で生きていける社会ではなく…
  • 17:35 [RT] RT @hiromichimizuno: 留学する人って、そもそも人口的にはマイノリティーでいいし、もし多くの人が海外留学を入学時期の不一致を理由で諦めてたとしたら、改善すべきは、その程度の不都合を重大なことだと思いこみ、人生や夢の実現の妨げとしてしまう若者とその親たちの ...
  • 17:41 (RT関連)東大の秋入学提言について、マスコミは留学しやすくなる点を強調していたようだけど、そもそもあの提言は時間の過ごし方は学生それぞれ探すべきというメッセージだから、マスコミはそのメッセージを捉え伝え切れていないように思える。
  • 17:47 [Re] 結局そこ(ハード面)に落ちてしまいますかね。まぁそれが一番わかりやすいし説明しやすいんですけど、なんかブレークスルーもほしいなぁ。 QT @sinn_zusein 学校や科学館などの拠点の存在とかそう言う場所的メディアでの対面ベッタリな関係性の経験に基づいているからかな、とか。
  • 17:55 そうすると長野や東北では入学式が4月下旬に、北海道は5月に行われそう。でも、どっちかというと卒業式を桜の下でする方がいいなぁ。秋入学→5月卒業なら卒業式を桜の時期にあわせられる。 RT @hiromichimizuno: 日本の入学式は桜の下であるべきだと心底思っています。

2012-01-22

[Twitter] 本日のツイート

  • 00:27 [Re] U+2927 (⤧)~292A (⤪) あたり、さらに惜しいものもあるんですけどねー RT @e_toyoda: U+219B Rightwards Arrow With Stroke (↛) U+21AC Rightwards Arrow With Loop (↛) とか
  • 11:32 ロイヤルフィル+ジャンイーブティボテの演奏会なう。JY氏は未だ女性から根強い人気があるようで、演奏後に黄色い声も。しかし今のところ淡々とした演奏。英国らしさ…なんだろうか。ロシア系の演奏に慣れたせいか、情熱的な演奏を求めてしまう。 pic.twitter.com/i1FCLbjT
  • 12:32 ロシア系かどうかよりも、単にピアノコンツェルトかシンフォニーかという違いのようだった。休憩後のブラ1は良かった。
  • 13:41 [Re] あぁっ懐かしの白十字っ 味も良いんだけど、いろんな思い出が蘇ってきて、不思議な気分になる。小学校の裏門のところに工場があって授業中にふわっと香ってきたなぁとか。最近手作りで近い味を出せるようになった。 RT @Martha708: 誰か白十字のワッフルを俺に
  • 13:56 [RT] RT @_desler: ガルマンガミラス公認プレイヤーだ。安心して使い給え。肌色が綺麗に映るように調整されている。 QT @m_yuki14: DVD•HDDプレイヤーがおかしなった。映る人みんなデスラー総統みたいな顔色になんだけど…。ちなみに彼がデスラー総統↓ htt ...
  • 13:57 [RT] RT @matimura: CDで聞くヴァイオリン・コンチェルトと生で聞くヴァイオリン・コンチェルト。ソリストの迫力が全く違う。もちろん演者の違いもあるが、それだけではない気がする。単に音量・音質の問題ではなく、なんというか、没入度とか、息吹とかを感じられるかどうかの違いかな。
  • 13:58 CDなどの音源の方が音量・音圧は高くできるけど、生演奏の方がその場限り的な集中力が働くという意味で「没入感」」はあると思う。

2012-01-23

[Twitter] 本日のツイート

  • 05:08 政府の原災本部 議事録を作らず(NHK) nhk.jp/N3zl6Tvk NHKが開示請求したのは原災本部?各省庁は独自のメモを持ってるはずで、政府内にまったく記録がないというわけでもなかろう。で、原災本部って本部長は時の総理大臣なわけで、責任があるとすれば(以下略
  • 07:23 Damine Kabuki performance now at Krannert Center. pic.twitter.com/OZclmRss
  • 09:35 田峯歌舞伎 Damine Kabuki 観賞だん。時折英語で解説が入るとは言え、全体像が見えないとアメリカ人には伝わりにくいかなぁといった感触。ただ我々日本人には十分楽しめる内容だった。小学生らにはこれを機に国際的な意識を高めてほしい。 pic.twitter.com/XrR1UKI7
  • 09:36 なんかツイッター不調だったんですか? 画像はアップロードされたのにツイートの方がアップロードされてなかった。逆なら負荷の関係で理解しやすいんですけどもねぇ。
  • 09:38 ○月○日に大地震が来るとか騒ぐ人に限って普段からの備えはあまりなかったりとかするんだけど、これって備えがないことを自覚して心配してるんだろうか、それとも本当は大地震が来ないだろうと高をくくってるんだろうか。 (RT関連 twitter.com/manta33blog…
  • 10:36 [RT] RT @mmasuda: 日本人Twitterユーザへのおしらせ: 現在NFL NFCチャンピオンシップゲーム(SuperBowl 出場チーム決める試合)開催中のためTwitter が重たくなってます。今日の昼までこの状態が続くと思われます。諦めろ。
  • 10:44 @sai_sand I've never dreamed to be followed by you on Twitter. lol
  • 10:48 [RT] RT @NEJP2009: 意外や意外.産経新聞て,研究機関の独法の統合について,ちゃんとした見識持ってる.くっつけただけで何か無駄が省けるなんて考える与党甘すぎ.今の与党,研究機関みたいな,最も弱っちい独法をたたいて,改革したよーにみせるなんて.ちょっとひどい http ...
  • 11:15 あぁ、NFLとChinese New Yearが重なって若干重くなってるんですか。日本のバルスや新年おめでとうツイートは最大瞬間風速は記録的でも、数時間にわたるようなものでもないですしね。日本的な「刹那」ってやつですねわかりまs
  • 12:19 なんだか最近太陽活動がちょっと活発だったみたいで、 #Aurora ハッシュタグが人気。日本語ツイートは少ない。NOAAのサイトも引用されてる 1.usa.gov/Rpeu0
  • 12:20 [Re] 浮かんでは消える一瞬一瞬の快楽、って結構当たってると思うんですよね。 @7087g
  • 12:56 4年以内に首都直下でM7級の地震が発生する確率が高まったという地震研の話、地震研が(研究成果を)まとめたという割にはどこにも一次ソースが見あたらないのでちょっと様子見。いずれ outreach.eri.u-tokyo.ac.jp/e... にアップされるとの情報あり。
  • 13:03 報道がセンセーショナルな見出しとともに報道し、「すっぱ抜かれた」公的機関や研究機関が後追いでプレスリリースを出すようなケースって、本来なら枝葉末節な話を必要以上に拡大解釈され、情報源側が慌てて軌道修正を図るというのがよくある構図。今回もそんなもんだろうなぁ。
  • 13:22 なんだか上階の住人がドンドンうるさいなぁと思ってたら雷雨だった。ピカピカ目障りなんですけど。ただいまメソサイクロン検出中。 english.wunderground.com/rad... pic.twitter.com/iqjfR58p
  • 20:57 都内震度2くらいだともはやTLの流れも加速しないですね。 jma.go.jp/jp/quake/20120…
  • 20:58 というわけでおはようございます。こちらは朝6時です。
  • 22:32 [Re] おぉ、訴訟すると勝てるんだ。 RT @nakamukae ある出会い系業者から「500万円当選しました」との迷惑メールが。んじゃ、500万円ちょーだいとのことで、業者を訴えてみました。 『出会い系サイト運営業者を訴えてみた』 antideai.syoyu.net/Entry/1/

2012-01-24

[Twitter] 本日のツイート

  • 05:55 一部報道で首都圏直下でM7級地震が発生する確率が高まりリスクが逼迫してるかのような記事があったけど、地震研から情報出た→outreach.eri.u-tokyo.ac.jp/e... ざっと見たところ、リヒター則は必ずしもすべてじゃないしどのデータを使うかで印象が変わる、といった火消し的内容。
  • 06:05 まぁ想定内の話かな。そもそも30年以内に70%の地震と4年以内に70%の地震で対策が変わるわけでもないし、読売などのいう「切迫性が高い」(t.co/kc2BSbDv)はちょっと勇み足というか片手落ちというか。
  • 08:43 [Re] 電車の中で携帯で写真撮るなんてまた随分思いきった行動に出ましたね。 RT @e_toyoda: 江戸川河川敷 photozou.jp/photo/show/146…
  • 10:54 [Re] 水を差すわけではないけど、予報業務許可事業者 jma.go.jp/jma/kishou/min… の登録されていないようにみえる。業務ではないという整理? RT @kobako: 株式会社ビットウェイが、「地震予測情報」の配信を開始(pdf)。 bitway.co.jp/newsrelease/pd…
  • 10:58 ちがった、「震源付近の初期微動に関する観測結果に基づき」ではないから「地震動の予報」ではない、ということか。気象庁ホームページにも、地震動の予報には「地震の発生の予想は含みません」と書かれている。 seisvol.kishou.go.jp/eq/EEW/...
  • 11:56 ところで「ご覧になってみませんか」という日本語は正しいのだろうか。これを肯定文にすると「ご覧になってみます」となるので間違ってるような気がする。正しくは「ご覧になりませんか」または原文を最大限使うと「ご覧になってみられませんか」とかなんだろうか。
  • 12:03 「GKB47宣言!」自殺対策で政府がキャッチフレーズ 「違和感ある」の声も(産経) sankei.jp.msn.com/life/news/... 自殺の原因は「健康問題」がダントツでトップなんだが、GKBとかいう方々は健康相談に乗ってくれるんだろうか。連想される昆虫並みの強靱さを持てということか…
  • 12:18 [RT] RT @Dinasty_Oomae: 福2も東海2も無事だし QT @macchiMC72: 原発を貶す人たちはなぜ女川原発については触れないのかな。危機管理が上手くいった例は都合が悪い?報道も不自然なほど触れませんよね。女川の例からは今後の参考になる事例がたくさんあるは ...
  • 12:19 そういえば地震発生直後は、某危機管理ラインは女川の方を気にしてましたな。
  • 12:56 取材もせずに著名な人のツイート拾うだけで記事になるなんて、便利な世の中になったものだなー。所詮はネットメディア、か。 RT @RocketNews24: 1月24~25日に日本でオーロラが見られるかも! 博士「大フレアが発生し…」 rocketnews24.com/2012/01/23/...
  • 13:04 [RT] RT @dailyportalz: [カフカ「変身」をネット通販風に描く] bit.ly/A48neS 長くてどんどん迫ってくるネット通販のメソッドで不条理小説を書いてみました。激ヤセで信じられない!ぐらいのテンションで虫になります。(林)

2012-01-25

[Twitter] 本日のツイート

  • 05:42 宗教の勧誘された…宗教に興味はあるが信仰心はない。科学と宗教を並べたときに興味があるとかそういう意味であって、特定の宗派に特別な興味があるわけではないのだ。…ということを、日本の外で説明するのは骨が折れそうなので、興味ないと言って断ることにしている。
  • 05:43 [RT] RT @n_soba: 「破綻」をさんざん「破たん」って書いておきながら「破綻をはじょうと読む若者が多い、国語力の低下だ」と嘆くあたり、メディアは思考力が低下してる
  • 07:34 公務員採用時期の移行検討 政府、大学秋入学案を受け(産経) headlines.yahoo.co.jp/hl?a=2... 東大提言の「ギャップターム」って2回あって、秋入学させるだけじゃなく途中でも半年加えて合計1年間の余裕期間を持たせようとしてるんだけど、秋入学って言葉が一人歩きしてるなぁ。
  • 07:35 別に一律春入学~春卒業じゃなくてもいいじゃない、という提言を受けて「よしわかったうちも秋入省を」っていう硬直した対応するあたりがさすが役所やなぁ。通年で門戸を開いておけばいいと思うけど、やっぱり儀式としての入省式は必要なんですか。
  • 07:37 風土に合わせたゆとりある教育をって言われて「どう教育したらいいのか統一指針を」などと反応した教育界を思い出した。日本は「脱マニュアル」のためのマニュアルが必要な国だ。
  • 08:07 迫力の歌舞伎で魅了 訪米の設楽・田峯小児童(中日) chunichi.co.jp/article/aichi... 記事になってたのでリンク代わりに。歌舞伎を知ってる人には楽しめる内容だったけど、初めての人にはつらかったと思う。会場常設のプロジェクタがあるんだし、字幕作ってきた方が良かったのでは。
  • 08:10 そもそも、パソコン上で字幕を作ってプロジェクタで投影、という字幕の出し方を思いつかない人は多いのかも知れない。PowerPointとかで簡単に作れるし、たいていの会場ではプロジェクタくらい使えるんだけど。海外で日本の文化紹介やるときは活用してほしい。学会発表でも使えたりして?w
  • 09:11 Facebookで知らない人(女性が多い)から友達リクエストが来るたび、「直接お会いしたことはないと思いますが」とメッセージを送りつつリクエストを削除するんだけど、今までろくに返事が来たことがない。でもウォールを見る限りではボットでもなさそうで、そこら辺の感覚がよくわからない。
  • 09:13 知ってる人ならメッセージなしでも承認するし、知らない人でもメッセージなんかで興味なり共通点なりを教えてくれれば承認するんだけど、知らない人から無言でしかもフォローアップなしってのがよくわからんなぁ。
  • 11:40 オバマ大統領の一般教書演説を聴いてる…が、つい先日の某国の所信表明演説と比べると明らかに格が違うな…。原稿を読まずに自分の言葉で、しかし具体的な数字で政策を語ってる。良いことを言えば党派を超えて拍手が起こる。いやほんと迫力ある。 @BarackObama でも要約ツイートあり。
  • 11:56 ちなみに、オバマ大統領の一般教書演説ライブ→ whitehouse.gov/state-of-the-...、野田首相の所信表明演説(録画)→nettv.gov-online.go.jp/prg/p...
  • 12:13 こういう演説できる政治家って日本にいるかなぁとか思いながら橋下大阪市長の声で脳内同時通訳したら結構しっくり来る。「衆院議員のインサイダー取引が問題とか言いますけどね、そんなん法案持ってきてくださいよ。明日にでもサインしますよ」
  • 12:18 オバマ大統領の一般教書演説の中継終わった。いやーしかしTLが流れる流れる…。ほんと1時間15分にわたって原稿も読まずにあの語調でよく続くもんだ。
  • 12:35 1月1日に着任された某部長のお言葉「防災関係機関としては「想定外」ということはあってはならず」ってのはどうも違和感あるなぁ。今回の教訓を活かすなら「想定外のことがあったとしても耐えられるような柔軟な仕組みが重要」とか、そういう方向性が妥当なんじゃないですかね。
  • 12:37 そもそも、人間が理解・説明できる範囲しか想定できないし、想定を超えるもの(事象・理論)はいつでも起こりうる、というのは自然科学を業とする人の共通理解だと思うんだけども。防災屋の中では比較的自然科学寄りな弊社に1年間くらいいれば、そこら辺の感覚もちょっとわかってもらえるかしらん。
  • 12:43 [Re] @7087g むしろ汗で風邪引かないようにねー。でもそういう弁当もたまには食べたくなるなぁ
  • 14:26 先ほど行われたオバマ大統領の一般教書演説のスクリプトが公開されました。 whitehouse.gov/the-press-off... 76分間で87回とか拍手しすぎやろ… #SOTU
  • 16:42 [RT] RT @tmiyama: 「バルス」世界記録が破られた=秒速3万件の「あけおめ」つぶやき―中国(Record China) - Y!ニュース headlines.yahoo.co.jp/hl?a=2...
  • 16:47 「バルス」世界記録が破られた=秒速3万件の「あけおめ」つぶやき(レコードチャイナ) recordchina.co.jp/group.php?... 中国版ツイッターのようなもので記録更新だそうで。記録更新そのものよりも、彼らの運用が激しい負荷に耐えられたということに驚きですわ。
  • 16:50 いや記事中にはどこにも耐えられたとは書かれていないけど。もしかすると秒速3万件を超えたところでサーバーは落ちたのかも知れない。そうだとすれば、本当は秒速5万件とかひょっとして一桁違ったりとか…
  • 16:53 (日本語としての)元ネタは kinbricksnow.com/archives/51... かな。北京市だけで一日に10億件のショートメールが交換されたようで、いやはや日本にはちょっと無理じゃねこの数字。すごいぞ、「刹那」は日本だけのものじゃなかったんだ、父さんはウソつきじゃなかったんだ!
  • 18:05 Facebookで知らない人から友達リクエストが来る件twitter.com/wassy/statu…、その人の「友達」がわりと普通に増えているので興味から調べてみたところ、その人の「友達」は友達300人以上がほとんどだった。リクエストは無条件受け入れてる人が多いんだろう。
  • 18:07 承前)リクエストを受け入れた人の年齢はバラバラなんだけど学歴が同じ(大学が共通)で、どこからどう見ても東大出身者をターゲットにして友達リスト作ってましたありがとうございました。100人くらいになったところでこのアカウントを売却するんだろうなぁ。
  • 18:10 運営に通報しときましたってメッセージ送ったら(特に返事はなかったけど)あわててフィード購読解除してブロックしてるの、ちょっと可愛げがあるなとは思う。ちゃんと読んでるんだーみたいな。

2012-01-26

[Twitter] 本日のツイート

  • 00:22 [RT] RT @fj_n: 誰だよ、この膨大多岐な版権処理したの。すげえ。 teotsunago.com
  • 03:30 [RT] RT @asahi_gaikou: とさ)先週、外務省が1000万円かけて、玄葉外相の記者会見に日英同時通訳を導入した、という記事を書きました。本日、導入後2回目の会見でしたが、私が会見場を見渡した限り、残念ながら外国人記者と思われる人はいませんでした。1回目は、2人ほど ...
  • 03:31 外務省が会見場に作った通訳ブースが完成後2回の会見で1回しか使われなかったことを朝日新聞らが批判してるが、同時通訳ができたからといって外国人記者が殺到するようなもんでもないでしょうよ。人の配置の問題もあるだろうし。せめて1か月単位で評価しろよって思う。
  • 03:36 ただまぁ、国際会議とかに行って世界向けの英語版プレスリリースに加えて日本語資料を要求する日本メディアには批判する権利はないと思う。おまいう。
  • 03:41 で、会見だけ日英同時にしたところで、普段の資料集めも日常生活も日本語がわからないと難しいから、外国メディアが日本語のわからない記者を駐在させるとも思えないんだな。交通機関に限らず、いろんなところに日英表記を増やしていく地道な活動が必要で、外務省だけの責任でもなかろうとは思う。
  • 05:48 外はfreezing rain(FZRA; 着氷性の雨)が降ってた。FZRAは過冷却状態の雨滴が降るもので、地面やガラス・衣類などにあたった瞬間に凍結する。こんな平地だけど、暖気が入り込んでるのかな。すべての雨滴が過冷却じゃないのか、地面は雨と氷が混じってジャリジャリ音がする。
  • 05:55 アメリカの地上天気図(国土面積などが違うけど、日本のものと同じ感覚で読んでいいのだろうか)を見ると、南方からの暖かい空気が入り込んでるんですかね。気温は1度前後、そこそこ暖かい。 pic.twitter.com/TX2epgBO
  • 06:03 そういえば日本語では「晴時々曇り」「晴一時曇り」と区別されてるのに英語ではどちらも同じ表現になっているという指摘を受けてがんばって英訳を考えた時期もあったけど、結局アメリカでは今日明日予報レベルで両者を使い分ける文化はなさそうだな。日本は良くも悪くも細かすぎるかも。
  • 06:14 [Re] @sumicherry おめでとぉぉっ
  • 06:15 (やっぱりトロンボーン吹き夫婦の子供はトロンボーン吹きになるんだろうか…)
  • 13:04 [Re] @sumicherry すでに楽器が確保されてるとか英才教育ですな・・・
  • 13:10 [Re] 「トランペット吹きの休日」をトロンボーン7重奏にしても曲名は変わりませんし→dojinongaku.com/contents/goo... トロンボーンは休み多いパートだし、休日不要なのかも。 RT @sinn_zusein 「トロンボーン吹きの休日」という言葉が頭に浮かんだがそんな曲は無かったか。
  • 13:43 [Re] あ、いえ、実態は逆で、毎日が日曜日みたいなもんです。アンサイクロペディアの記事 bit.ly/zRkcL2 の最初の引用部分がなんとも心に響きます。 RT @sinn_zusein: トロ吹きの七曜表は月月火水木金金、土曜も日曜もありはせんのですか。
  • 23:56 [RT] RT @nakamukae: 消費税増税に関する野田総理の詭弁がひどいな。「増税の実施時期は解散後だから今の任期で増税決めても公約違反じゃない」だと。そんな詭弁が通るわけないだろ・・・。マニフェストにない法案通して事後的に信を問う?だったら事前公約たるマニフェストなんて語 ...

2012-01-27

[プログラミング] TwitterのツイートをtDiaryにポストするスクリプト

(1/29追記) 手っ取り早くスクリプトをダウンロードしたいという方は、1/29の記事の最後の段落を参照してください。

Twitterは短いツイートを簡単に投稿できる点が便利な反面、あっという間にタイムラインが流れ、あとでまとめて読んだりするのに向いていません。そのため、ブログを運営している人であれば一日分のツイートをまとめてブログに掲載したり、メーリングリストを運営している人であればメーリングリストに転載するなどの工夫が行われてきました。

すでにtw2tdiaryなどのプログラムも公開されていますが、過去可能な限りさかのぼって全部のツイートを日別にまとめてtdiaryに投稿するようなプログラムは見つからなかったので、Rubyの勉強もかねて、自分で一から作ってしまうことにします。

環境 (Disclaimer)

想定する環境は CentOS 6.2 で動作している Ruby 1.8.7 です。

また、私はC系プログラム(C/C++/C#/Java)やレガシーインタープリター(Perl/bash)でのプログラミング経験はありますが、Ruby はまったくの初心者ですので、プログラムの作法がRuby的でなかったり、一部の用語を誤って使っている可能性があります。

(1) ライブラリの準備

まず、一部のライブラリを利用するため、gems と irb をインストールします。

 # yum -y install ruby-irb rubygems

(でもなんでgemsは ruby-gems ではなく rubygems (ハイフンが入らない)なんですかねぇ)

Ruby には Twitter なる便利そうなライブラリがあるので、これをインストールします。

 # gem install twitter

(これまた、なんでパッケージ名は rubygems なのにコマンド名は gem (単数形)なんですかねぇ)

とりあえずこれで必要最低限のライブラリはそろったようです。

(2) 過去のツイートを取得するテスト

で、とりあえず過去のツイートを数件取得するには、こんなプログラムでいいそうです。

require 'rubygems'
require 'twitter'

tester = Twitter.user_timeline('wassy')
tester.each do |t|
  puts "=" * 70
  puts "* created_at: " + t.created_at
  puts "* id: "         + t.id.to_str
  puts t.text
end

なるほど、確かに簡単です。

このTwitterライブラリは、ある程度TwitterのREST APIに忠実に作られているようで、オプションの引数は、user_timeline(SCREEN_NAME, {:count=>COUNT, :max_id=>MAX_ID, ...}) といった形で与えてあげれば良いようです。

ただ、このライブラリのドキュメントを読んでも(初学者には)こういったことはさっぱりわからないわけで、もうちょっとドキュメント周りがしっかりしててくれればなぁと思わないわけでもありません。

(3) 「昨日一日分」のツイートを取得する

(2)で作った簡易プログラムは、過去20件分のツイートだけを取得します。これに、さらにツイートが「昨日」に含まれるかどうかを判定しながら表示する処理を加えます。

Twitterライブラリの時刻の表現は、Timeオブジェクトを用いて行われています。Time オブジェクトはUNIXタイム(UTCでの1970年1月1日0時0分0秒)経過秒なので、ローカルタイムにおける「昨日」を求めるのはちょっとトリッキーです。ツイッターブログで教えていただき、

 today     = Time.local(*(Time.now).to_a[3..5].reverse)
 yesterday = today - 86400

あたりが相当するだろう、ということになりました。(86400は一日あたりの秒数です)

この値を使い、ツイートの created_at が yesterday <= created_at < today を満たすかどうか調べながら、繰り返しツイートを取得します。

require 'rubygems'
require 'twitter'

today     = Time.local(*(Time.now).to_a[3..5].reverse)
yesterday = today - 86400
lasttime  = today

begin
  tester = Twitter.user_timeline('wassy')
  if tester then
    tester.each do |t|
      lasttime = t.created_at
      if yesterday <= t.created_at and t.created_at < today then
        puts "=" * 70
        puts "* created_at: " + t.created_at.to_s
        puts "* id: "         + t.id.to_s
        puts t.text
      end
    end
  else
    lasttime = 0
  end
end while (yesterday <= lasttime)

(4) ツイートを処理する部分

Rubyでツイートを扱うのは結構簡単そうだということがわかったので、今度はツイートをファイルに書き出す処理を考えます。とりあえず当座の処理として、カレントディレクトリに YYYY-mm-dd という形式のファイル名で書き出します。

def write_to_file(day, tweets)
  if tweets then
    filename = day.strftime("%Y-%m-%d.txt")
    fh = open(filename, "w")
    tweets.each do |t|
      fh.puts "=" * 70
      fh.puts "* created_at: " + t.created_at.to_s
      fh.puts "* id: "         + t.id.to_s
      fh.puts t.text
    end
    fh.close
  else
    return 0
  end
end

なんだかRubyのTimeクラスって暗黙にローカルタイムを利用してるのがちょっと気持ち悪いですかねぇ…。あと、fh.puts にカッコを付けようとするとインタープリターに怒られるのですが、結合順位というかオペレーターの優先順位が見た目にはっきりせず、なんだか落ち着きませんねぇ。

(5) 過去数日分のツイートをまとめて取得

というわけで、「昨日」だけでなく、過去数日分をまとめて取得するプログラムにします。

$screen_name = 'wassy'
$max_days    = 10

dayend   = Time.local(*(Time.now).to_a[3..5].reverse)
daystart = dayend - 86400
data = []
cont = true
lastid = 0
days = 0

def write_to_file(day, tweets)
  # 省略
end
begin
  if lastid == 0 then
    tester = Twitter.user_timeline($screen_name)
  else
    tester = Twitter.user_timeline($screen_name, {:max_id => lastid-1})
  end

  if tester then
    tester.each do |t|
      lastid = t.id
      if dayend <= t.created_at then
        # 今日分のツイート: 何もしない
      elsif daystart <= t.created_at then
        # 対象とするツイート
        data << t
      else
        # さらに昔のツイート
        write_to_file(daystart, data)
        days = days + 1
        if $max_days <= 0 or days < $max_days then
          data     = [t]
          dayend   = dayend - 86400
          daystart = daystart - 86400
        else
          data = []
          cont = false
          break
        end
      end
    end
  else
    # ツイート取得エラー
    cont = false
  end
end while (cont)

if data.size > 0 then
  write_to_file(daystart, data)
  days = days + 1
end

puts "Acquired tweets for " + days.to_s . " days."

最初、days = days + 1 の部分を、C系言語風に days++ としてはまってしまいました。Ruby にはインクリメント演算子はないようで、((days).+).+ と解釈され左辺値がないことになってしまうから、だとか。うぅむ。

とりあえず今日はここまで。今日の成果物は、tweet2file_20120127 として置いておきます。明日以降の日記に続きます。

[Twitter] 本日のツイート

  • 00:00 [RT] RT @adonis_fish: さっきの記事、これが全文なんですがちょっともう読んで頭抱えています。。。あほか。もう一度いいます。あほか。/津波避難呼び掛け犠牲に…遠藤未希さん教材に「娘が生きた証しになる」 sponichi.co.jp/society/news/... 
  • 00:00 [RT] RT @mutsuju: 何遍も言うけど南三陸のアレは科学技術の敗北だからな ボタンひとつで自動放送できるはずなのに。よしんば最初の一回は人間が読んだとしても、それを録音してオウム返しする機械はあるはずなのに。 何で放送ごときで人が死なねばならんのか。美談化してる奴、お前 ...
  • 00:01 [RT] RT @disaster_i: 防災無線で「肉声によって具体的な緊迫感をつたえることが効果的だ」という「教訓」を聞くことがあり,私もそうだろうなと感じます.ただ,本当に具体的な「効果」があったという証拠はありません.そう感じた,という証言事例があるまでです.
  • 05:53 津波避難呼び掛け犠牲に…遠藤未希さん教材に「娘が生きた証し」 (スポニチ) sponichi.co.jp/society/news/... 「死んでくれて本当に良かった」「公務員は人のために死ね」ってことですか。当事者の間で美談になるならしょうがないと思うけど、それを他所で模範にすべきじゃないだろう。
  • 06:02 避難放送の女性職員 教材に(NHK) nhk.jp/N3zp6Wkk 埼玉県教育局は「町職員としての使命を全うした遠藤さん」という言い方をしてるけど、埼玉県では殉職しなければ使命を全うできないのか。退職金やめて生命保険払いにしたらどうか。
  • 08:54 うむむ…Rubyよくわからん。ネット上で手に入る資料だと、プログラミング未経験者向けの超入門と、Rubyを知ってる中~上級者向けはあるけど、その中間がない感じ。じっくり演習とかやりつつ入門編を進めていけば理解できるかもだけど。
  • 09:01 Rubyで「昨日」(ローカルタイム)の00時00分00秒をTimeクラスで求める一番スマートな方法って何だろう。やっぱりTime.nowを86400で除算して1引いてまた86400かけるんだろうか。
  • 12:56 [Re] あぁDate / Time間の変換ってできるんですね。じゃぁそれで行かせていただきます。 RT @masassiez: 分かり易さでは Date を使った方がイイですね (Date.today - 1).to_time
  • 13:53 [Re] Rubyは見た目が自然言語的で、ほかの言語の勘が働きにくいってのがネックなのかなぁと。ドキュメントもちょっと使いづらいし。 RT @maido_knight: CとかJavaとかPHPに慣れてると、かなり違和感を感じます。 RT うむむ…Rubyよくわからん。
  • 14:29 [Re] Dateのto_timeはRuby on Rails由来のものらしいので、結局のところ、外部ライブラリの不要な Time.local(*(Time.now-86400).to_a[3..5].reverse) を使うことにしました。 @masassiez
  • 15:24 [RT] RT @disaster_i: この記事に教材要旨が収録されている-&gt; 避難呼び掛け犠牲 南三陸町職員の遠藤さんが教材に (河北新報) - Yahoo!ニュース headlines.yahoo.co.jp/hl?a=2...
  • 15:28 避難呼び掛け犠牲 南三陸町職員の遠藤さんが教材に(河北新報) kahoku.co.jp/news/2012/01/2… 最後に「出棺の時、雨も降っていないのに、西の空にひとすじの虹が出た」とあるが、この時間帯(西の虹→午前中)には周辺は霧雨だった模様。虹が出ても不思議ではなさそうだが。
  • 15:33 [Re] @masassiez こちらはruby 1.8.7を使っていて、method(:to_time)でエラーになるので、バージョンの違いのようですね。
  • 15:39 宗教的な発想だと「天使の声」は説明しやすいな。人はいつかは死ぬのだから、どうせ死ぬなら他人の記憶に残るような生き方を云々、食事と同じように人は他人の犠牲の上に生を受けているのだから感謝の気持ちを云々。でもそれは公立学校でやることではなかろう。憲法違反だ。
  • 15:42 ユーロスペースって言われるとESA esa.intを連想しちゃうな…
  • 15:57 [Re] @masassiez こちらこそ、ありがとうございます。まぁTimeクラスで完結すべきかどうかは人の趣味といったとこですかね。CやPerlは長いのですが、Rubyは初めてなもので、単なる一行スクリプトとはいえ色々発想をいただくことができました。
  • 16:10 [RT] RT @funfunreibun: We hurried on to make up for lost time. 私達は失った時間をつぐなう(取り戻す)ために急いだ。

2012-01-28

[プログラミング] TwitterのツイートをtDiaryにポストするスクリプト (続き)

昨日tweet2file_20120127をベースに、今日は細々とした処理を追加していきます。

ツイートの装飾

昨日の段階では、ファイルへのツイートの書き込み時、以下のような書き込みを行うようにしています。

tweets.each do |t|
  fh.puts "=" * 70
  fh.puts "* created_at: " + t.created_at.to_s
  fh.puts "* id: "         + t.id.to_s
  fh.puts t.text
end

これを、もう少しHTML的な出力にします。とりあえず、

<li><a href="パーマリンク">時刻</a> ツイート内容 <img src="rt.png" width="24" height="24" alt="発言者への返信" /></li>

という表記にし、加えてツイート本文中に @ があれば、そのユーザーのホーム画面へのリンクを張るくらいのことはしてみましょうか。

Twitterでは、各ツイートに「パーマリンク」と呼ばれるリンクが付けられていて、https://twitter.com/$screen_name/status/$id といったものになっています(一般的なシェル系の表記を用いています)。従って、<a>~</a> の部分については、

 line = "<a href=\"https://twitter.com/#{$screen_name}/status/#{t.id}\">#{t.created_at.strftime("%H:%m")}</a>"

でいけそうです。

続いて、Ruby の正規表現を用いて、@??? という文字列を <a href="https://twitter.com/???">@???</a> に置き換えます。ツイッターのアカウント名は、半角英数字+アンダースコアのみ利用可能で、文字数は1文字~15文字ということなので、否定の先読みを使いつつ、

text = t.text
line += text.gsub(/@([0-9A-Za-z_]{1,15})(?![0-9A-Za-z_])/) do
  url = "https://twitter.com/#{$1}"
  "<a href=\"#{url}\">#{$1}</a>"
end

といったところでしょうか。なんだか text.gsub() をしたあと text 自身が置換前のテキストを持っているのはちょっと気持ち悪いですかね。…と思ったら、gsub!() なんてメソッドがあるですか…うーむ。なお、最近は https://twitter.com/wassy といったように #! が入ることも多いと思いますが、Twitterのプロフィール表示では #! のないURLが表示されますので、こちらを使うことにします。

最後に、このツイートが過去のツイートへのリプライ等の場合に、参考リンクを付ける処理を行います。

if t.in_reply_to_status_id > 0 then
  link = "https://twitter.com/#{t.in_reply_to_screen_name}/status/#{t.in_reply_to_status_id_str}"
  line += "<a href=\"#{link}\"><img src=\"icons/rt.png\" alt=\"#{t.in_reply_to_screen_name}へのリプライ\" border=\"0\" /></a>
}

line += "</li>"

ところで、ツイート中に含まれるURLには自動的にリンクを張りたいものです。 これを処理するのに、URIライブラリが使えそうです。

require 'uri'

uri_reg = URI.regexp(%w[http https])
text.gsub!(uri_reg) { %Q{<a href="#{$&}">#{$&}</a>} }

ツイート中に含まれるリンクは、最近は t.co を使って省略されていることがあります。さらに、URLを展開するとそれはツイートに含まれる画像ファイルだったりすることもあります。できればこれらを単なるリンクとは区別して処理したいものです。

ツイートの装飾(クラスの拡張)

実は Twitter API では、user_timeline メソッドに対して include_entities オプションを渡すと entities として短縮URLや画像の情報が返されます。実験してみると、

require 'rubygems'
require 'twitter'
require 'pp'

ts = Twitter.user_timeline("wassy", {:include_entities=>true})
pp ts.first

という簡単なプログラムで

#<Twitter::Status:0x7f62bfa99998
 @attrs=
  { ...
   "entities"=>
    {"urls"=>
      [{"expanded_url"=>"http://bit.ly/...",
        "url"=>"http://t.co/Vx.....",
        "indices"=>[30, 50],
        "display_url"=>"bit.ly/..."}],
     "hashtags"=>[],
 ...

と、確かに entities が得られています。が、どうやらentitiesに対してはアクセサが用意されていないようで、クラスの外部からこの情報にアクセスできそうにないという問題点が出てきました。

こういうとき、Ruby ではさくっと既存クラスを拡張できるようで、今回は(やや禁じ手ですが)インスタンス変数に対する読み込み専用のアクセサを用意し、そこから情報を引き出すことにします。

module Twitter
  class Status
    attr_reader :attrs
  end
end

この5行を追加するだけで、内部の変数であった attrs にアクセスすることができるようになります。試しに、

 twts = Twitter.user_timeline("wassy", {:include_entities=>true})
 pp twts.first.attrs["entities"]["urls"]

とすると、本来アクセスできなかった entities => urls => expanded_url などにアクセスできるようになっています。あぁこういうライブラリの拡張のしやすさはRubyならでは、かも知れませんね。

以上を踏まえ、各ツイートの entities に対して

  • media に含まれるURLについてはサムネイルを取り出し
  • urls に含まれるURLは展開

を行い、その上で上記2件に該当しないURLについては通常のリンクを張るという処理を行うことにしました。現段階で、

といったマークアップができるようになってきました。もう一息です。これに若干修正を加えたものを tweet2file_20120128 として保存してあります。明日に続きます。

[Twitter] 本日のツイート

  • 07:53 MBAはだめだというツイートを見かけて、まぁ学校の授業って机上理論で終わらせると実社会では役に立たないよなぁ、とか思ったんだけどよく読むと発熱がどうとかバッテリーがどうとか書いてあって、ようやくMacBook AirのことをMBAというんだと合点。
  • 08:32 富士山付近で地震が起こった件、まぁ富士山噴火との直接的な関係はないということになるんだろうな。ただ、将来的に富士山が噴火するとして、そういや東京VAACって二重化してたっけ(たぶんしてない)、大手町が機能しなくなったらどうするんだろうとか想像を巡らせてしまった。
  • 08:35 VAACって一応センター間でバックアップ運用する取り決めになってるから、たぶん東京が機能しなくなったらバックアップでダーウィンあたりが動くんだと思う…けど、本当にそんなことできるんだろうか。
  • 08:37 [RT] RT @manamikiyota: だめだ!周りの山梨人がかなりの確率で信玄信玄ゆってるww 私はそんな山梨が大好きなんですよ!!
  • 08:37 [RT] RT @Ishi_Atsu: (毎度のことながら)これ知られて欲しいですねー RT @antidisaster: 気象庁が記者会見を開く理由は、一義的には「震度5弱以上の揺れが観測されたから」です。現在のところ、富士山云々は記者会見の開催とは無関係。
  • 08:46 震度5弱以上の揺れが観測された際に気象庁が行う会見って意味があるんだろうか。基本的には対象となる地震がピークでそこからエネルギーが減衰していくシナリオを想定して会見するんだろうけど、昨年3月9日に「余震に注意」としか言えなかった以上、あまり意味ないんじゃないかなぁと思ったり。
  • 08:47 承前)もちろん今の技術でその想定を変えることは難しいのはわかってるんだけど、だからこそ、会見に意味はないんじゃないかなぁと思うんですけどね。震源・震度の情報なんてホームページでも確認できるし、報道機関には直接情報も行ってるわけだし。
  • 10:13 むむ…。Rubyならtdiaryのデータファイルを直接編集できるかと思ったが、既存のツールの多くはHTTPを直接叩いて日記更新する模様。I/Oのライブラリを流用できないんだったら別にRubyで作る必要もなかったかな。日曜プログラマが新しい言語を覚えるインセンティブは少ない…。
  • 11:14 RHL系のOSってバージョンアップのたびに新しいサーバーを契約して…とかやるのが非常に面倒だなぁ。そういう点ではアップグレードをサポートしているDebianの方がましかなぁ。でもDebianはDebianで古いファイルが残ると後で大変だったりもするし。

2012-01-29

[プログラミング] TwitterのツイートをtDiaryにポストするスクリプト (とりあえず最後)

昨日の続きです。

(1) tDiaryへの投稿

まず、実際に update.rb へツイートを投稿する部分を作ります。今までファイルに書き込んでいた write_to_file というメソッドを少し改造します。

参考にするのは、tDiary の contrib に含まれている posttdiary.rb というファイルで、これは電子メールで送付されてきた日記をウェブ経由で tDiary にポストするプログラムです。なぜファイルの入出力を使わないのかとも思いましたが、おそらく前方互換性なりファイルシステムの変更なりに対応するためということでしょう。ファイルI/Oが使えないなら最初からRubyで作る必要もなかったか…という気もしますが。

このあたりはあまり悩む必要もなく純粋にPOSTでデータを渡すだけなので、ほぼコピー&ぺーストで作っていきます。なお、update.rb の場所、Basic認証のユーザ名・パスワード等は、今のところグローバル変数で定義しています。

$tdiary_url   = 'http://.../update.rb'   # update.rb のURL
$tdiary_uname = '.....'   # update.rb にアクセスするのに必要な Basic 認証用ユーザ名
$tdiary_pass  = '.....'   # update.rb にアクセスするのに必要な Basic 認証用パスワード
$diary_heading = '![Twitter] 本日のツイート'  # 日記のサブタイトル
def post_tweets(day, tweets)
  if tweets.size > 0 then
    html_data = $diary_heading + "\n"
    tweets.sort {|x,y| x.created_at <=> y.created_at }.reverse.each do |t|
      html_data += tweet2html(t) + "\n"
    end

    data = "year=#{day.year}&month=#{day.month}&day=#{day.day}"
    data << "&body=#{CGI::escape html_data}"
    data << "&append=true"
    data << "&makerss_update=false"

    uri = URI.parse($tdiary_url)
    inre = /<input type="hidden" name="csrf_protection_key" value="([^"]+)">/

    Net::HTTP.start(uri.host, uri.port) do |http|
      auth = ["#{$tdiary_uname}:#{$tdiary_pass}"].pack('m').strip
      res, = http.get(uri.path,
                      "Authorization" => "Basic #{auth}",
                      "Referer" => $tdiary_url)

      if inre =~ res.body then
        data << "&csrf_protection_key=#{CGI::escape(CGI::unescapeHTML($1))}"
      end

      res, = http.post(uri.path, data,
                       "Authorization" => "Basic #{auth}",
                       "Referer" => $tdiary_url)

    end
    puts day.strftime("Posted tweets for %Y/%m/%d. Sleeping for 1 sec.")
    sleep 1
  end
end

(2) コマンドラインオプションに対応する

この時点で概ねやりたいことには対応していますが、動作検証しやすいよう、コマンドラインオプションを付け加えていきます。

以前は Ruby も他の言語と同様 getopts を使ってコマンドラインオプションをパースしていましたが、最近(Ruby 1.8.2以降)は OptionParser というものを使うそうです。

parser = OptionParser.new
cmd_opts = Hash.new("#{__FILE__}: post tweets to tdiary.\nUsage: #{__FILE__} [options]")
parser.on("-d", "--debug", "enter debug mode")      { |v| cmd_opts[:debug]   = true }
parser.on("-v", "--verbose", "enter verbose mode")  { |v| cmd_opts[:verbose] = true }
parser.on("--max-id ID", Integer,
          "retrieve tweets with id smaller (older) than ID") { |v|
           cmd_opts[:max_id]  = v }
parser.on("--days MANDATORY", Integer,
          "set maximum days to retrieve tweets")   { |v|
          cmd_opts[:days] = v }
parser.on("--cont", "continue from the previous run (read max_id from cache)") { |v|
          cmd_opts[:cont] = true
          cmd_opts[:max_id] = read_lastid_from_cache
}

begin
  parser.parse!(ARGV)
rescue OptionParser::ParseError
  $stderr.puts "#{__FILE__}: error #{$!}"
  exit 1
end

def debug_puts(txt, level=0)
  puts " " * level + txt if (cmd_opts[:debug] || false)
end

(3) できあがり

その他、リツイートされたツイートには RT マークを付けるなど細かいところを修正し、最終的にできあがったのが tw2td-20120129.tar.gz です。

[Twitter] 本日のツイート

  • 06:32 [Re] その節はいろいろ教えていただきありがとうございました。とりあえず昨日までの作業メモを washitake.com/diary/public/2... にまとめてみました。ここからちょいとリンクさせていただきますね。 @masassiez
  • 06:33 一時期はやったブログ間のトラックバックの仕組みも、実はTwitterで置き換えられようとしているのではないか、などと思ったり…。
  • 07:40 [Re] やっぱり-O3オプション使うと外注してた業務が内製化(インライン化)したりするんだろうか。 RT @satoru_takeuchi: 行政の最適化もgccの -O オプションで解決さ
  • 07:42 ちょっと画像投稿テストです。 pic.twitter.com/KR1KWtUT
  • 13:09 ようやくRubyに慣れてきた。時々 if (条件) {処理} とか書きたくなるが、慣れの問題だろうな。
  • 13:20 あと個人的にあまり好きじゃないのが改行の問題で、C系だと式の終わりがセミコロン;というルールのおかげで途中改行もほぼ任意にできたけど、Rubyは一行一式が基本だからHTMLマークアップなど長めの文字列を処理するのがちょっと大変だ。あとは無駄にendが続いたりとか。
  • 13:23 というか、自分が長年 K&R スタイルでインデントしてきたからってだけかなぁ。たとえば Visual Basic とかから入った人には特に違和感ないのかも知れない。
  • 17:06 [RT] RT @Dinasty_Oomae: これはひどい twitpic.com/7sa1n7

2012-01-30

[Twitter] 本日のツイート

  • 00:02 [RT] RT @kimuramoriyo: 我が国は、政府を最も盲目的に信じる国である。しかし、トップダウンの政策は間違いだという事を、世銀が20年も前に認めている。地域、現場からの活発な動きが、国を変える唯一の方法だと思う。
  • 00:04 (RT関連)経営なり設計なりやったことある人ならわかると思うけど、トップダウンもボトムアップも二律背反ではないし、トップダウンそのものが問題というよりは適切な権限と責任が委譲されない運用の悪さが問題になることが多い。なぜそういった知見が政府批判になると途端にぶっ飛ぶのか。
  • 00:16 [Re] たしかに政府は「権限」の委譲が苦手だし、ともすると「政治主導」とやらで権限委譲とは反対の方向に動きやすいというのも事実なんですけど、でもそれって政府という組織の問題というよりは運用の問題なんじゃなかろうかっていう。 @e_toyoda
  • 03:20 sync; sync; sync なんて久々に打った。淀川さんの「さよなら、さよなら、さよなら」みたいなもんか。今となっては気休め程度の意味しかないんだろうけど、大事な儀式。
  • 03:45 くっ…Gmailのラベル機能ってちょっと面倒だな。複数のMLにマルチポストしたメッセージがまとめられて、どっちがどっちのMLなんだか区別できないとか…
  • 03:47 そして普段は件名も表示されず、MLドライバの設定で件名に [MLNAME] を入れててもあまり助けにならない。実はこのミス2回目なんだが、気をつけた上で同じミスを犯しているからなぁ…
  • 07:43 2日間ほどああだこうだして、(過去にさかのぼって)tDiaryにツイートを投稿するスクリプトができあがりました。washitake.com/diary/public/2... ただ、なんだか過去のツイートって並べて見るとちょっと恥ずかしいというか何というか…。twilogでも同じことなんですが。
  • 07:54 一通りRuby触ってみて思ったこと。言語としての構造は簡単だけど、ドキュメントへのアクセス性は低く、初心者と中級者の間の壁が高い。文字コード周りの実装は素晴らしい。ライブラリ読み込みのオーバーヘッドが若干気になる。
  • 07:56 中級者向けのチュートリアルみたいなのがあるといいのかな。一通り中級規模(1000行くらい)のプロジェクトを作るチュートリアルで、最後に○○について調べるときはこのコマンドorこのサイトで調べろ、的な。軽く探してみたけど見つからなかった(のでメモ代わりに日記に書いた)
  • 07:57 [RT] RT @Bass_Voice_XYZ: [Ruby] / “5分でわかる Ruby を知らない人が Ruby の便利さを学べる記事をかいたよ を勝手に改造 - yayuguのにっき” htn.to/HRN2Ca
  • 07:59 その点で、RTした「5分でわかる~」という記事よりは、「数時間おつきあいいただくだけで、他言語(PerlなりCなり)使いが自立してRubyコードを書けるようになる記事」のほうが欲しいなと思った。
  • 08:09 うーんなんとか3200件以上さかのぼって過去ツイートを取ってくる方法はないものか…DB上でインデックス化されてないだけで、本体はあるんだよなぁ。IDさえわかれば…
  • 08:33 [Re] チュートリアルではなく逆引き辞典や仕様比較でいいと思うんですが、これというものがなかったです。他人のソースを読みつつネット検索してれば理解はできるんですけど、複数のサイトを見比べながら進めていく必要があったのがちょっと大変でした。そのうち自分で書こうかな。 @masassiez
  • 08:35 「3200件以前も(その3200件消せば)遡れるんだなー」(toby-net.tumblr.com/post/102...)って書いてあって危うく信じそうになったけど、API仕様書によれば、3200件の中に削除済みステータスも含まれる(dev.twitter.com/docs/api/1/g...)。あぶないあぶない。
  • 08:37 200億回クエリーを投げて自分のツイートかどうかを比べていけば大丈夫そうだけど、サーバー2~3台くらいでどうなる数字でもないので諦めることにする、
  • 08:39 過去ツイートってある程度の時間が過ぎたら消えてしまった方が本当は幸せなのかも知れませんね。その時々の文脈で瞬間的に思いついたことをツイートしてるから、あとから見直すと考えの至らないものも多いし、そういうのを後で揚げ足取りに使われたりする可能性を考えると遡れない方がいいのかなと。
  • 08:44 ただ、ツイッターの仕様はあくまでタイムライン用に3200件分しかインデックスを持たないというだけで個別ステータスには直リンクでアクセスできるから、前後の文脈の途切れた個別ツイートにアクセスされて誤解を生みうるという点で、せめてタイムライン的なログを持ってる方が有利という考え方も。
  • 08:49 [Re] @masassiez あ、この本 d.hatena.ne.jp/rubikitch/200... は良さそうですね。ついついネット上の情報を探したくなりますが、書籍の形で出ているならそれを買ってきて読めばいいですね。近くの本屋にあるかなぁ。
  • 09:50 ふむ、概ね動くようになったようなのでプログラマモード終了、学生モードに移行します。
  • 10:15 高品質の「公共」を誇る東京は必ず復活する newsweekjapan.jp/column/toky... 東京が復活するかどうかはさておき、確かに日本の経済は低迷しながらも、公共サービスの質は低下してないですもんね。社会保障はむしろ(良くも悪くも)充実したし。
  • 10:19 以前「日本で仕事をしたい」という学生に日本で仕事をすることのメリットをあまり伝えられなくて、それは今でも同じなんだけど、でも悪い労働環境を補ってあまりあるくらいの心地よい社会ではある、という言い方はできるかなぁと思うようになっている。その鍵のひとつが、秩序ある公共、なのかも。
  • 10:34 今更ながら本郷館がすでに取り壊されたと聞いた。roadsidediaries.blogspot.com... 本郷館そのものに愛着はないとはいえ、学校からも近く名前くらいは知ってた建物の訃報を聞くにあたり、メモ代わりにツイート。
  • 10:36 羽澤ガーデンを取り壊してビルマンションにする計画もあるらしい。sky.ap.teacup.com/hanezawa/ もったいない。 倒壊して近隣に悪影響を及ぼす本郷館はともかく、こういう森・広場的なものはもっと増やしていった方がいいんじゃないか。そこは政治+行政の狭間な気もするけれども。
  • 10:39 なんでもかんでもマンション・マンションで東京に集まるっていうのもなぁ。一時期「自分探し」なんてのも流行ったけど、その裏で、実際にはみんな東京に住んで土日になったら退去して近郊の観光地へ押し寄せるという、烏合の衆の焼き直しでしかなかったなぁ。
  • 10:44 とはいえ、一般人の住居を全部マンションに集約して、もう少し広い土地を生み出すっていうやり方もあるわけで、今の東京の都市計画はどっちつかずな印象を受ける。昨年の東日本大震災の絡みで道路幅員や避難場所確保なども見直されているだろうから、今後に期待できるかも知れない。
  • 11:05 日本で教鞭を執るアメリカ人教授のブログより「スキルではなくシステムを」 essayengjp.com/en/essays/101... 語学上達のコツは、リスニング・スピーキングといった個別のスキルを伸ばすことではなく、それらを複雑に絡ませたシステムとして構築していくこと。繰り返し使う練習をすること。
  • 11:07 さっきのツイート、「退去して」→「大挙して」、だな。過去ツイートを見ててちょっとばつが悪い気分になるのは、こういう変換ミスが多いからってのもある。
  • 11:14 [RT] RT @Apple10ce: 先生「毎月定額料払えば使い放題なものはなーんだ?」たかしくん「正社員」
  • 11:19 というわけで英文ブログでwpm (words per minutes)測定中。「"I-like-pizza English"ではダメ」(essayengjp.com/en/essays/98-...)で245 wpmだった。300 wpmって結構ハードル高いなぁ。
  • 11:27 「退屈な話だけど…」(essayengjp.com/en/students-w...)で342 wpmまで上がった。速読のコツは視線をなめらかに動かすことっぽいなぁ。日本語の漢字を探して大意をとるやり方と違って、一定の速度でざーっとスキャンするのが良いみたい。視線固定で首を動かすのが一番速かった。
  • 11:37 「退屈な話だけど…」は生徒のエッセイで、日本人が書いたから読みやすいだけっぽい。アメリカ人のエッセイでたとえば「ネイティブスチェックだって!」(essayengjp.com/en/essays/93-...)とかだとやっぱり247wpmだ。なかなか300wpm超えは難しい。
  • 11:43 しかし「リスニング・リーディング・文法や語彙といったスキルを単独で伸ばすことに囚われるな」と諭すエッセイを使って速読の練習をするなど、著者の意図侵害も甚だしいな…

2012-01-31

[Twitter] 本日のツイート

  • 07:39 My followers live in Japan (81.2%), the U.S. (17.4%), Brazil (1.4%). Create your map at twocation.com
  • 07:46 ブラジルですって?? RT wassy: My followers live in Japan (81.2%), the U.S. (17.4%), Brazil (1.4%). Create your map at twocation.com
  • 07:51 今日は社会心理学っぽい授業だった。組織の方が個人よりも良い決定を導けることが多いが、往々にして(1)構成の問題、(2)参加の問題、(3)影響の問題、によってより良い判断が妨げられることがある。(1)は似たもの同士だと結局結論は変わらない、(2)はいわゆる80/20ルール。
  • 07:56 (3)は正常性バイアスとかconformityとかに通じる話で、地震が起きたときに動かない隣の人に影響されて避難行動をとらない人は多い、といった話。"bystander effect" というらしく、'70年頃から研究されているらしい。
  • 07:59 授業後、参考文献を2つほど教えてもらった。後で読もう。一つ目: The Social Animal en.wikipedia.org/wiki/The_So...、二つ目: google.co.jp/search?q=Latan… 後者はネット上では見つからないので、図書館で探してみる。
  • 08:12 おおう、英語で512ページか… 2の9乗だな(どうでもいい) ちょっとタフだなぁ。夏休みにでも読んでおこう。
  • 08:24 「きしょうぎょうむほう」で変換したら「気象業務砲」って出てきたけど何だよそれ。雪玉とか人工地震とか…か?そりゃ戦時中は機密指定受けるわな…
  • 08:34 傍観者の心理は、殺人事件を目撃したとき他にも目撃者がいたら「他の人が通報するよな」とみんなが思って通報が遅れるような心理学。これは他人事だから無関心なんだけども、災害時に避難しないってのは他の人が平気そうだから自分も大丈夫だろうっていう心理だからちょっと違うような気も。
  • 09:22 つまり、警報で人が行動するためには、自分の過去の経験に基づく「(このくらいの揺れ or 1mの津波)なら大丈夫だな」という判断と、隣人のリアルタイムな行動に基づく「隣の人が何もしないから大丈夫だな」という2つの判断を克服する必要がある、と。
  • 09:24 正常化バイアスを言うとき前者を指すことが多いように思うけど、後者も大事なんだと。防災担当者が「速やかに避難しましょう」と言いつつ現場に残ってると、「彼らが残ってるならまだ大丈夫」という判断も働きがち、とも言える。…と、社会心理学を防災に当てはめると特に新しい話でもなかった。
  • 09:40 [RT] RT @kunihirotanaka: 昨日の講演で、「4年以内に首都直下型地震の発生確率が70%と東大地震研が発表したわけだが、それでも何もせず安穏と過ごす国民や政府、企業は、完全にボケてしまっているのか、それとも東大は信用されていないのか、いずれにせよヤバイぞ」と聞い ...
  • 09:42 (RT関連)地震研は「4年以内に70%の確率で東京にM7級地震が来る」と「発表」したわけではないし、解説ページでも、建築技術も向上したし地震そのもので最近の建築物への被害は少ない、むしろ家具等の固定等の対策を、と言ってるわけで、別に政府や国民がおかしいわけでもない。
  • 09:44 [RT] RT @sinn_zusein: では次世代気象衛星は反射衛星砲システム対応と言うことで。>気象業務砲
  • 09:45 一瞬ソーラレイの方がそれっぽいと思ったが、それは次期太陽観測衛星(ひのでの後継機)か。
  • 09:58 [Re] そこは準天頂衛星でカバーですかね。アメリカのGPS衛星も使えば30機分くらいは確保できそう。 RT @sinn_zusein: バベルの塔だと「しもべの星(中継衛星)」12機も要るのだよな…。
  • 11:31 本日のイリノイ州バイロン原発での2号炉停止について、核規制委(NRC)の発表 nrc.gov/reading-rm/doc… [PDF] と電力会社の発表 exeloncorp.com/Newsroom/pr_2... 大気中へ少量のトリチウムが放出されたとのこと。
  • 11:37 バイロン原発をGoogle Mapで見てみると… maps.google.com/maps?q=42.07... 片方から蒸気が出てるww クレジット見たら2012年の写真…って、なにやらほんとに今日の写真っぽいな。 pic.twitter.com/d5fPcFWA
  • 16:57 おっと、manyもmuchと同じように肯定文では(あまり)使わないという意見もあるのか。 eigo.be/grammar/alotof… しかし口語はともかく文章では a lot of ではなく a number of だろうな。
  • 16:59 Oxfordのこのリスト oald8.oxfordlearnersdictiona... は結構使えそう。
  • 17:13 7月1日、1秒長く=3年半ぶり「うるう秒」(時事通信) jiji.com/jc/zc?k=201201… うるう秒ってセシウム由来らしい。しかも9193メガくらい。まじでやばい。人体だけじゃなくてコンピュータとかも狂わせる。反原発派は総務省前で即刻うるう秒中止デモすべき。
  • 17:20 うるう秒って40年以上も前の知識・水準で運用されてるんですよ。そんな技術が安全なわけない。特に70年代~90年代は毎年のように行われ、多くの人が見えない形で影響を受けた。年間9193メガだと40年間で400ギガです。即刻うるう秒を中止すべき(キリッ

1980|03|
1986|04|
1998|04|
2002|01|11|
2003|03|04|05|07|08|
2004|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|
2006|01|02|03|04|05|06|07|08|09|10|11|12|
2007|02|03|04|06|07|08|11|12|
2008|01|02|03|04|06|07|08|09|10|
2009|01|12|
2010|08|09|10|11|12|
2011|01|02|03|04|05|06|07|08|09|10|11|12|
2012|01|02|03|04|05|