The Grouchy Bug:ITmediaオルタナティブ・ブログ (RSS)

The Grouchy Bug

米国東海岸発、とあるソフトウェア開発者のよもやま話

ごぶさたしております。ひさしぶりの投稿です。

さて、毎年1月にアメリカのオーランドで開催されるIBM Lotusのビッグイベント、今年もLotusphere 2012が開催されました。Lotusphere 2012開催から1ヶ月、IBM Lotus新製品に関する情報も落ち着いてきました。ということで、Lotusphere 2012で発表された新製品、新機能をおさらいしてみたいと思います。(私はLotusphere 2012に参加せずに、新製品、新機能の開発の毎日でした...)

Lotusphere 2012の初日には、基調講演(オープニングジェネラルセッション、OGS)が開催されました。この基調講演は重要で、この基調講演を見るだけで、今年のIBM Lotusからは何がでてくるのか押さえることができます。この基調講演のビデオはここ、http://ibm.co/w9vfSC (要登録)にありますので、ぜひ見ていただきたいと思います。

私の独断と偏見で選んだ(笑)Lotusphere 2012、注目すべき基調講演の発表は以下の通りです:

- オープニングのバンド演奏は、なんと、OK Go (その場で見たかったです!)

- オープニングのトークは、マイケル J フォックス。

- 今年もIBM Lotusはソーシャルにフォーカス。

- IBM Connectionsのアップデート。Activity Streamなど、次期Connection Nextの発表。

- IBM Connections Mailの発表。IBM Connectionsにメールやカレンダーが追加される。(ConnectionsはLotusでかなりフォーカスされてきた製品です。今後もConnectionsに注目です。)

- IBM Docsの発表。オープンソースのデスクトップスイート(オフィス製品)SymphonyのWeb版。(SymphonyのチームによるSymphonyウェブ版発表です。Symphonyのチームのスピーディーな開発にはいつもおどろかされます)

- IBM Lotus Notesの次期バージョン、IBM Lotus Notes Social Editionの発表。(特にOpenSocialによるメールドキュメント内に埋め込まれた別ウェブアプリケーションのデータの表示などが注目です)

- IBM Lotus Notes App Plug-in。ウェブブラウザーで動作するLotus Notesクライアント。(Lotusphere 2012でかなり盛り上がったトピックだったようですね!)

などなどでしょうか。
Lotusphere 2012、今年はかなり具体的な製品動向だったのではないかと思います。2012年はいろいろな製品のアップデートがあります。ぜひぜひお楽しみにしていてください。

ということで、次回は、IBM Lotus Notes Social Editon、そして、Lotusphere 2012でかなり反響のあった、Notes App Plug-inについて書いてみたいと思います。お楽しみに!

岡本

米東部時間23日午後1時51分(日本時間24日午前2時51分)の、米東部バージニア州を震源とするマグニチュード5.8の地震とのことですが、ここマサチューセッツ州リトルトンのオフィスではまったく気がつきませんでした。。。

日本だと、マグニチュード5.8じゃあ、ぜんぜんすごくないじゃんという気がしますが、webで現地の写真を見ると壁が崩れていたりしているようです。

さて、今回の地震で、ノースアンナの原発2基が停止したとのこと。じゃあ、アメリカには原発ってどれだけあるの?ということでCNNのGoogle Mapsを利用した、原発分布の地図をご紹介。

How close is your home to a nuclear power plant?"

東海岸というか、アメリカ東半分に原発は集中してます。興味深いです。

岡本

夏ですねー。夏はなぜかおいしいコーヒーが飲みたくなります。
おいしいコーヒーを飲むための条件のひとつ、それは新鮮なコーヒー豆を使うことです。
ということで、最近は、自分でコーヒー豆を焙煎してます。

コーヒーの焙煎とは?

もともとコーヒーの豆は、緑色をしています。

Heatgundogbowl01

コーヒーの焙煎とは、この生豆を炒って、熱を与え、豆に含まれる成分を化学反応させ、コーヒーの香り、風味、味にすることです。焙煎をすることで、この緑色の生豆が、スーパーや自家焙煎のお店で売られているような茶色のコーヒー豆になります。

ちなみに、コーヒーの生豆に「化学反応」をおこさせるというのがポイントです。適切に熱を徐々に与えながら最後は摂氏200度を超える熱を与えることで、豆に適切な化学反応を与えること。これがおいしいコーヒーを作るための焙煎のキーとなります。

通常、コーヒーの焙煎と言えば、コーヒーの自家焙煎店にあるような、大きなロースターがその代表です。アメリカでは、home roastingと言って、自分でコーヒーを焙煎する人もいます。ポップコーンを作る機械で焙煎したり、専用の低価格な家庭用のロースターも売られています。

なぜ自家焙煎?

なぜ自家焙煎をするのか?ひとことで言ってしまえば、新鮮なコーヒー豆を手に入れることができるからということですが、もうちょっと付け足すと: 

  • とにかくおいしい。
    炒りたての豆で淹れたコーヒーはおいしいです。とくに自分で焙煎した豆は、そこらで買ったコーヒー豆より比べ物にならないくらい格段においしいです。自家焙煎の店よりもおいしいときも多々あります。なにせ自分で焙煎したまめですから、新鮮そのもの。特に出来が最高のときは、その満足感にひたれます。笑
     
  • 各地のいろんな豆を試せる。
    コスタリカ、グァテマラ、ブラジル、コロンビアなど、中央アメリカ、南アメリカのコーヒーをはじめ、エチオピア、イエメン、ケニヤ、ハワイなど、いろんなシングルオリジン(複数の豆の種類をミックスした「ブレンド」の豆と区別してこう言います)の豆を試すことできます。自分で焙煎すると、それら地方によって、豆の味がまったく違うということにびっくりすることでしょう。
     
  • とにかく安い
    スーパーや自家焙煎店で売られているコーヒー豆より、かなり安くお買い得です。


どこでコーヒーの生豆を手に入れる?

コーヒーの自家焙煎をするには、まずは、コーヒーの生豆(green coffee beans)を手に入れなければいけません。現在では、webで生豆を販売しているところも多く、「コーヒー 生豆」とwebで検索すれば、いろんな生豆のお店を見つけることができます。

私の場合は、Sweet Maria's (sweetmarias.com)でいつも生豆をオーダーしています。Sweet Maria'sは、home roastingでは特に有名なサイトで、home roastingのために生豆や家庭用ロースターをオンラインで販売しているだけでなく、いろいろな焙煎方法を紹介しています。その情報量はかなりのものです。Sweet Maria'sでは、ほとんどの生豆は、1パウンド(0.4536kg)あたり、5-7ドルくらいで買えます。ここで販売される生豆はどれもおいしいものばかりです。

ヒートガン/ドッグボウル(HG/DB)焙煎の道具

焙煎方法はいろいろありますが、今回、紹介するのが、「ヒートガン/ドッグボウル焙煎」(heatgun/dogbawl roasting)というものです。

用意するものは:

  • ヒートガン
    Heatgundogbowl02
    私の使っているのは、Makita HG1100というモデルです。温度コントロールがついていて、華氏250度から1100度まで(摂氏121度から593度まで)出ます。ヘアードライヤーのようですが、これで髪の毛を乾かしてはいけません。笑) パワーがないヒートガンだと適切に焙煎できないので買うときは要注意。温度コントロールがない場合は、自分でヒートガンを近づけたり離したりすることで温度をコントロールします。
     
  • ドッグボウル
    Heatgundogbowl03
    犬のえさ用のステンレス製のボウル(器)です。ペットショップで買えます。私は64オンス(1.8kg)の容量のサイズで、280gのコーヒー生豆を焙煎しています。
     
  • かき混ぜるための棒やスプーン
    焙煎している間は、つねにコーヒー生豆をドッグボウルでかき混ぜ続けることが必要です。これをしないと、豆が均等に焙煎できなかったり、焦げてしまったりします。何百度の熱に耐えることができる鉄製や木製の棒やスプーンが必要です。熱で熱くなるので、枝の長いものかつ、軽いものがいいです。私は泡立てを使っています。
     
  • 手袋
    燃えない厚手の手袋が必要です。私は軍手を使っています。
     
  • 手網
    よく料理でサラダを洗うときなどに使うボウル型の網です。2つ必要です。これで焙煎が終わった豆を、この2つの網、交互に何度も移して、冷却します。

 

以上がこのHG/DB焙煎で必要な道具です。
さらに私の場合は、以下のものを使ってます。

  • 万力
    ヒートガンを固定します。これで、ヒートガンをずっと持っている必要がなくなり、片手が空きます。万力がないと、片手ヒートガン、もう片手にかき混ぜるための棒やスプーンを持たなければならないので、片手があくというのはかなり楽です。
     
  • 赤外線温度計
    Heatgundogbowl04
    物体にタッチしなくても、その物体に向けるだけで表面の温度がわかるスグレモノの温度計です。このモデルは小型なのでポケットにも入ります。
     
  • 時計
    ストップウォッチ機能がついたもの。何分たったらどのくらいの熱を上げるとかコントロールするために使います。
     
  • アルミホイル
    ドッグボウルに半分かぶせます。これでボウルの中の温度をより一定にすることができ、より均一に焙煎することができます。 
     
  • 小型扇風機
    焙煎が終わった豆を冷却します。扇風機を使わなくても、2つの手網を使って、交互に豆を移すということでも冷却ができます。

ヒートガン/ドッグボウル(HG/DB)焙煎をやってみる

HG/DB焙煎のやり方は、単純で、
ヒートガンで生豆に熱を当てながら、豆をかき混ぜる。
ということになります。

ただしどれだけの温度の熱を当てるのかが重要になってきます。熱すぎると豆がこげたり、中まで熱がいきわたらなくなったりして、焙煎にムラがでたりします。

ということで、私は赤外線温度計で常に豆の温度をチェックしながら以下の目安で焙煎しています。

時間   - 温度(華氏)
00:00 - 300F (あらかじめ300Fにドッグボウルを熱しておく。ここで豆を投入。)
02:30 - 230F
03:00 - 230F
05:00 - 300F
08:00 - 350F
10:00 - 390F
11:00 - 410F (この前後で豆が「ぱちぱち」はぜる音が始まる)
12:00 - 420F (この後、豆が「ぱちぱち」はぜる音が終わる)
豆が「ぱちぱち」はぜる音が終わったら15秒か30秒後で、焙煎終了。豆を冷却する。

流れとしては、300Fにドッグボウルを熱しておいて、その後豆を投入、ストップウォッチを開始、2:30から3:00で230Fにキープ、そのあと5:00で300Fになるようにゆっくり温度を上げていきます。その後、10:00で390Fまで一気に温度を上げて、あとはまた温度をゆっくりと上げて、11:00で410F、そのあと、「ぱちぱち」とはぜ音が止んでから15秒か30秒くらいで焙煎終了するという感じです。

 

Heatgundogbowl05
これが私のセットアップです。
ドッグボウルの豆に熱風があたるように、ヒートガンを万力で固定しています。右手は軍手をして、泡立てを持って焙煎の間ずっとかき混ぜます。左手には、赤外線温度計を持って、温度を測るようにしてます。写真には出ていませんが、はぜ音が聞こえるまで、アルミホイルをドッグボウルに半分かぶせています。

Heatgundogbowl08
焙煎が終わったら、この様に手編に豆を移しかえて、扇風機で風を送って、泡立てでかき回しながら冷却します。

 

Heatgundogbowl06
Sweet Maria'sから購入したEthiopia FTO DP Sidamo Shoye Unionの生豆、緑色をしています。焙煎する前に、虫食いや、黒く焼けたようになっている豆は取り除いて、豆をひとつひとつ選別しておきます。

Heatgundogbowl07
こんな感じで焙煎できます。Sweet Maria'sの焙煎具合でいうと、City+ローストというところでしょうか。HG/DB焙煎だと、それほど焙煎した豆の色が均一にそろいません。それが複雑な味をかもし出す、HG/DB焙煎だといえるかもしれません。
 

焙煎後は、1日置いてから

焙煎が終わったら、1日置いて、コーヒーを淹れるようにします。1,2週間なら、おいしく飲めると思います。私の場合、保存はふたつきのガラスの入れ物にいれてます。よく、冷蔵庫に保存しろとか言いますが、280gなら、1週間で飲みきってしまうので、常温保存で十分です。1週間毎日飲むと、だんだん味が変わっていくのがわかると思います。最初はフレッシュな味、日にちがたつと味が枯れてきて、こくがでてきます。で、最後には、どのコーヒー豆も味が同じような味になり、この時点で古いコーヒーと言えるのかもしれません。

ということで

HG/DB焙煎をしてみました。この焙煎方法は、BBQをやっているような感じで、まさに夏の焙煎と思いました。ただし、コーヒーの焙煎は、焙煎のにおい(香り)が伴いますので、マンションなどのバルコニーで行うような場合は要注意かもしれません。でも、ピクニック気分で楽しい焙煎で、おすすめです。

 

リンク

A primer for heatgun/dogbowl coffee roasting
http://www.homeroaster.com/heatgun.html
元祖HG/DB焙煎の情報元といったらこれ。

Sweet Maria's
http://www.sweetmarias.com/
生豆の販売から各種焙煎情報まで。このサイトを一通り読めば焙煎の知識を得ることができます。Home Roasting BasicとThe Sweet Maria's Coffee Libraryのページは必見。

 

岡本

SparkFunはおもしろい

アメリカのオンライン電子部品屋さんとしては、mouser.comやdigikey.comなどが有名ですが、おもしろい電子部品をいろいろ売っているオンラインショップの代表格が、SparkFunです。SparkFun.comのトップページや、チュートリアルのページを見ていると、いろいろいじりたくなってしまいます。

SparkFunガイガーカウンター

ということで、今回、購入したのがこれ (http://www.sparkfun.com/products/9298)です。

Sparkfungeigorcounter01

ガイガーカウンターです。3月にオーダーしてすでに3ヶ月後。やっと届きました。

基盤丸出しです。赤い基盤が非常にきれいです。これは、ガイガーカウンターといっても、ディスプレイなんか何もついていません。さらに、何uSv/hrなんてカウントしません。このガイガーカウンターは、放射線を検知する度に、USBをつなげた相手に、シリアルUSB経由で、0か1を送るのみという仕組みになっています。

Sparkfungeigorcounter02jpg

上から見るとこんな感じです。

右側にmini USBの端子がついていて、これで外部機器とつなぎます。左上の筒が、ガイガーミュラー管と言って、この筒に放射線が通過するとパルス電流が流れて、それを感知して、シリアルUSBに変換してUSB経由で外部機器に送るという仕組みです。また感知したときは緑のLEDが光ります。ガイガーミュラー管とその周辺の回路は500V程の電圧がかけられているので、動作時はガイガーミュラー管とその周辺の回路は触ってはいけません。

SparkFunガイガーカウンターをPCに接続してみた

PCに、SparkFunガイガーカウンターをつなぐには、PCにあらかじめ仮想シリアルCOMポートドライバをインストールしておきます。ドライバはここでインストールできます。

そのあと、SparkFunガイガーカウンターをUSBケーブルでPCにつなぎ、あとはシリアル端末エミュレータなどのソフトを使ってSparkFunガイガーカウンターから送られたデータを読みます。

Sparkfungeigorcounter05

今回はシリアル端末エミュレータとしては、Tera Termを使ってみました。COM4の9600ボーでSparkFunガイガーカウンターに接続すると、ひたすら0か1を読み出します。。。

さてPCにつないだはいいけど放射線の測定はどうしよう

たんたんとTera Termに表示される0,1を見ているのもシュールでいいのですが (笑)、やっぱり放射線の量を測ることができないとおもしろくありません。

SparkFunガイガーカウンターを使った例として以下のサイトがあります。

YAPAN.org - レシピ39:自分の生活環境の放射線量を計測したい
このページでは、SparkFunガイガーカウンターを用いて計測した結果をArduinoボード+Ethernetシールドを使って、 Pachubeに自動的にアップロードする方法を紹介しています。

SparkFunガイガーカウンターとTera Termで放射線量の測定

私の場合は、まあ、使い始めなので、Tera Termにあるマクロを使って放射線の量を測定してみることにしました。Tera Termのマクロのヘルプを見ながらさささっとマクロファイルを書いてみました。

マクロファイル cpm-counter-for-sparkfun-geigor-counter.ttlをダウンロード

Tera TermをCOMポートでSparkFunガイガーカウンターに接続した後、マクロファイルをTera TermのメニューControl -> Macroでロードすれば以下のように放射線の量(CPM = カウント毎分)を1分ごとに最大5行表示します。

Sparkfungeigorcounter06

放射線量の単位はむずかしい

放射線量の単位というのはいろいろありますが、ガイガーカウンターでよく使われるのがCPMという単位とuSv/hという単位です。

CPMというのは、ガイガーミューラー管が1分間に何回ぴっと反応したかという値です。SparkFunガイガーカウンターで言えば、0か1の値が1分間に何個表示されたかということです。これはTera Termの端末で0,1の数を数えるだけでいいので簡単です。

さて、ここから、uSv/hを求めたいのですが、これがまた面倒なんですね。
SparkFunガイガーカウンターはLND712というガイガーミューラー管を使っています。スペックはここ。 それによると、

Gamma sensitivity Co60 (CPS/mR/Hr)        18

とのこと。これは、Co60 (コバルト60)の放射線を計測したときに、1秒間に18カウントすると、1mR/Hr (ミリレントゲン毎時)になるということです。また、wikipediaによると、1R = 8.77 mGyとのこと。さらに、同じくwikipediaによると、ベータ線とガンマ線のみの計測であれば、1Sv = 1Gyとのこと。

つまり、

1mR/h = 18 cps =  18 * 60 cpm = 1080 cpm
1 cpm = 1/1080 mR/h
1 cpm = 1/1080 * 8.77 uGy/h = 1/1080 * 8.77 uSv/h  = 0.0081 uSv/h

ということで、Sparkfunのガイガーカウンターの場合、

1 cpm = 0.0081 uSv/h

となりました。(ただしCo60の場合)

 

いろんなものを測ってみた

ということで、あちこち計ってみました。単位はCPMで、計5分、5回分のCPMを計ってみました。

パソコンのある部屋: 21, 30, 17, 25, 23
ダイニング: 23, 26, 20, 22, 23

大体17 - 30 CPMの間といったところでしょうか。

 

地下室のラドン

ラドンと言えば、日本ではラドン温泉で有名ですが、アメリカでは、ラドンは放射性物質として知られています。(レイドンと言うのが近い発音です) 特に、地下室と言えば、地中のラドンという放射性物質によって、放射線量が高いというのは、よく知られているようです。たいていの地下室に行くと、よくRadon Reduction Systemと書いてあるパイプがあります。パイプの中にファンが入っていて、これが屋根までつながっていて、ラドンを屋根まで吸いだしています。

Sparkfungeigorcounter03

ということで、地下室を計ってみました。

地下室:  29, 34, 31, 22, 30
地下室の別な位置:39, 39, 29, 34, 31, 22

部屋の中より、ほんの少し多いといったところでしょうか。

花崗岩(グラナイト)

Sparkfungeigorcounter04

グラナイトといえば、よくキッチンで使われている材質で、微量の放射線を出している石材として知られています。

グラナイト:35, 29, 38, 35, 31

こちらも地下室のようにほんの少し多い感じでしょうか。

ということで

SparkFunガイガーカウンターを使って、あちこちの放射線量を測ってみました。計ってみてわかったのが、1分間あたりの放射線量というものは計るのが非常にむずかしい、というか、コンスタントな値を得ることはできないということです。家の中でも場所や時間、床からの距離などによって、どんどん値が変わっていきます。さっき計った値の倍なんていうのはあたりまえのようです。お、今突然この値がでた!とびっくりするのではなく、だいたいこんな感じかといった風に見ていくものなんでしょうね。

岡本

ささっと最近のKindle関連まとめてみました。

KDK(Kindle Development Kit)
JavaベースのKindleアプリ開発キットKDKはまだベータ一般公開されませんね。。。

Kindleアプリ
そんななかKDKベースのKindleのゲームアプリ、けっこういろいろでてきました。
popular games & active content
だいたいが1ドルから5ドルの間となってお手ごろな価格です。

フリーのゲームもでています。
Blackjack

Mine Sweeper

Every Word

Shuffled Row

Jumble, 3 Free Puzzles

iPadの電子書籍アプリで各誌売り上げ低迷中
Engadgetより、「iPad の電子雑誌アプリが各誌売り上げ低迷中。WIRED、GQなど」とのこと。iPadは電子書籍も読めるtabletなので、まあこういったニュースがあっても、という感じはします。

Nook Color
AmazonのKindleに対抗といえば、大手書店のひとつBarnes & NobleのNookという電子書籍デバイスです。そのカラー版、Nook Colorを、近所のBarnes & Nobleで、ちらっと触ってきました。Nook Colorは、Androidベース、液晶はe-Inkではなく普通のカラー液晶、価格$249という感じです。サイズは、5inches x 8.1inches(12.7cm x 20.5cm)、重さ15.8 ounces(447.9グラム, Kindleの2倍の重さ、iPadの2/3の重さ)となっています。触ってみたところ、、液晶はカラーで見やすいです。動作やUIの描画はちょっともっさり感じがありました。

Kindleのカラー版はいつ?
そこで気になってくるのが、カラー版のKindleはいつ?ということですが、
Amazon CEO Jeff Bezosはまだ数年かかると言っています。(2009年の記事ですが
技術的には、どうなってるかってことですが、カラーのe-Inkデバイスはもうそろそろ出てくる感じです。中国のHanvonがカラーのe-Inkデバイスを2011年に出すようです。クアルコムのe-readerディスプレイMirasolも出てきます。やっぱりColorのKindle出てほしいですよね。

でも本当にほしいのは、コンテンツの充実
私は、電子書籍デバイスよりも、コンテンツの充実、Amazonで日本の雑誌が電子書籍として発売してほしいです。やはり、Amazonの強みは、アメリカのクレジットカードで日本の書籍が(また日本のクレジットカードで海外の書籍が)買えるところです。iTunes Storeはそうは行きません。iTunes Storeで日本の音楽や日本のアプリ、電子書籍を買うには、日本のクレジットカードがないとだめなんですよね。iTunes Store、これなんとかしてほしいところです。

岡本

明けましておめでとうございます。
2011年の自分を表す漢字1文字:番長と遊ぼう!
とのことで、私も考えてみました。ということで、私の場合は、

でしょうか。実は私、2011年が本厄なんです。本厄であれば、まさにトラブルが多い年、「迷」ということで、楽しんで迷って行きたいと思います。

エンタープライズの分野で言えば、まさに「迷」というのが最近の当てはまるワードだと思います。PCメインのデスクトップクライアントアプリケーション全盛の時代から、Webベースの時代へ、そしてモバイルの時代へシフトしていくという、そのトランジション、それが今私たちが体験している年だと思います。私は、UIソフトウェアディベロッパーとしてフォーカスしてきましたがweb, モバイル、じゃあ次は何をすればいいのか考えるべきだというのが2011だと思います。
ということで、デスクトップUIを開発してきたソフトウェア開発者のみなさん、今年は個々のUIディベロッパーにとって、break thruの年だと思います。まさにソフトウェア開発の節目だと思います。がっかりしたり、喜んだり、いろんな感が錯綜するのが今年だと思います。自分が何を次にすればいいのかと考えること、迷いというのは悪いことではありません。ぜひぜひ迷いに迷って、がんばっていきましょう!

岡本

の続きです。

今回は、マイクロフォーサーズなカメラOLYMPUS PEN Lite E-PL1に、蛇腹を付けてみました。

ベローズを買ってみた

Bellows01
これがその蛇腹です。一般的には、ベローズ(bellows)と言います。

ベローズは、カメラとレンズの間に付けます。カメラとレンズの距離を長くすることで、撮影対象に、より近寄って撮影できるようになります。近寄れるということは、そのぶん大きく撮れるということです。つまり、通常のレンズを使って、近接、マクロ撮影ができるようになります。

Bellows06
E-PL1に付けるとこんな感じです。このベローズはM42マウント用です。
カメラE-PL1、M42アダプタ、ベローズ、レンズ(Asahi Super-Takumar 55mm f1.8)の順番取り付けます。

どのくらい小さなものを撮れるかというと、例えば、
Bellows07
M42マウントのレンズ、Asahi Super-Takumar 55mm f1.8は、ベローズなしで一番近寄ると、このくらいまで撮れますが、

ベローズをカメラとレンズの間に入れて、ベローズを一番短くした状態で撮ると、
Bellows06
このくらいまで撮れるようになります。

さらに、ベローズを一番長くして撮ると、
Bellows09
こんなに小さくまで撮れてしまいます。
実はこれらの写真は絞り開放で撮ってます。なので、ちょっとソフトフォーカスがかかったようになってますね。もっと絞ればキリッとしてくるかもしれません。

Bellows11
ちなみに、E-PL1に付属のキットレンズ、M.ZUIKO DIGITAL 14-42mm f3.5-5.6だけで撮るとこのくらいしか近寄って撮れません。

Asahi Bellows Unit

その購入したベローズですが、Asahi Bellows Unitというものです。ebay.comで30ドルほどで落札しました。Takumarレンズ用のもので、M42マウントになっています。ですのでM42のレンズとM42のアダプターさえあれば、マイクロフォーサーズで使えます。

Bellows02
それにしても、非常にしっかりした作りです。ステキなデザインです。

プレートには、「ASAHI BELLOWS UNIT TOKYO JAPAN」と書いてあります。右に見える小さなダイヤルでピントを合わせます。反時計回りに回すことで、ベローズが伸び、カメラとレンズの距離が広がります。逆に、時計回りだと、ベローズが縮小します。カメラとレンズの距離が大きいほど、近くのものにピントが合うようになり、小さなものが撮れるようになります。左に見えるダイヤルはベローズの動きを固定するロックです。

Asahi Bellows Unitの付属のマニュアルを見ると、レンズはAuto-Takumarの使用例がでていました。Auto-Takumarがデビューしたのは、1959年とのこと。Auto-TakumarはSuper-Takumarのひとつ前の世代になります。なので、このベローズは60年代くらいに作られたのかもしれません。

軸の棒には55mmと58mmのレンズを使用したときの倍率が書いてあります。
Bellows04
棒の左側。55mmのレンズを付けたときは、最大2.3倍まで撮れるようです。

Bellows05
棒の右側。58mmのレンズを付けたときには、最大2.2倍まで撮れるようです。
昔のTakumarは、55mmのモデルの前は、58mmのモデルもあったようです。

ベローズはイイ!

ということでベローズをささっとレビューしてみました。マクロレンズってやっぱり高価です。それに比べると、ベローズが30ドル、M42のレンズが30ドル程度、計60ドル程度で買えました。ベローズを使えば、リーズナブルなプライスでマクロ撮影をすることができます。ベローズおすすめです。

それにしても、Asahi Bellows Unitは、そのデザインの良さ、作りのよさががとても良いと思いました。レンズSuper-Takumarもそうなんですが、いつの時代でも通用するデザインは、最近のいろいろな製品にはないもののひとつだなと思いました。

ベローズねた、次回も続きます。

岡本

マイクロフォーサーズなカメラ、Panasonic GF1で撮ったこのムービー、ひじょーに良い感じです。


YouTube: Yoka

レンズは、
Lumix 20mm f/1.7
Nikkor 50mm f/1.8 (both handheld & tripod)
Nokton 50mm f/1.1 (tilt-hand by my hands)
で、編集はiMovieだとのこと。

Noktonはちょっと高くてすぐには手がでませんが、Nikkorならebayで100ドル台かそれ以下で手に入るかもしれません。(Nikkorのどれなんでしょうか。) これは今すぐebayでゲット? 笑

マイクロフォーサーズでもこんなのが撮れるんですね。すごいです。

 

岡本

の続きです。

あいかわらずM42レンズをebay.comで落としています。最近、Carl Zeiss Tessar (カールツァイス テッサー) 50mm f2.8のジブラモデルをわずか十ドルほどで落札しました。

Carl Zeiss Tessarというレンズ

カールツァイス社は、1846年にイエナで創業し、現在でも有名なドイツの光学機器製造会社です。第2次世界大戦後に、ドイツの東西分断により、カールツァイス社も、西ドイツではZeiss-Optonとして、東ドイツではZeiss Jenaとして、東西に分断され、その後ドイツの東西統一でやっと、ひとつのCarl Zeiss社として統合されたという歴史を持ちます。

そのZeiss社で1902年に設計されたのが、このTessar(テッサー)というレンズです。3群4枚のレンズ構成で、前方から、2枚のレンズ、絞り、そして後方に2枚を張り合わせたレンズの3群のレンズになったデザインです。このTessarはパテントの期限が切れた後、Leitz Elmar、Wollensak Raptarをはじめ、そのデザインは非常に多くのメーカで広くコピー、改良されてきました。

落札したTessar、届いたものは...

さて、落札したCarl Zeiss Jena Tessar 50mm f2.8です。35cmまで近寄って撮影できます。Made in DDR (東ドイツ)と書いてあります。オークションのページには傷ありと書いてあり覚悟していたんですが、郵送されてきたのは、やはりかなりの傷物。すったような傷がありました。もうこれはジャンクといってもいいほど。さすが十ドルほどで落札しただけのものはあります。どうやら前方1枚目の後ろに、クモの巣状のカビもあるようです。

Tessarrepair01
Carl Zeiss Jena Tessar 2.8/50と書いてあります。

分解掃除

そのジャンクさに、やっぱり送り返そうかどうか考えていたんですが、これも何かの縁、やっぱりこのままキープして使おうということに決めました。前方1枚目の後ろに生えているカビをなんとかしようということで、このレンズの分解掃除をしました。

まずは銘板を取り外し

前方のレンズをはずすにはまずは銘板(Carl Zeiss Tessar 2.8/50と書いてあるリング状の板です。化粧版とも言うみたいですね)をはずしました。専用のゴムの筒があるらしいのですが、私はM42の後ろのキャップに厚めの両面テープをしてそれを銘板にあて、少しずつ回してはずしていきました。これが非常に時間がかかりました。。。(ここでは写真ないですが)

それからの分解は簡単

銘板を取り去ると、そこからは簡単でした。実際には以下のようにしました。

Tessarrepair02
3つのマイナスねじをとりはずします。(写真右側のリングが銘板)

Tessarrepair03
するとその下のカバーが外れます。真ん中のレンズの枠に2つ穴があります。

Tessarrepair04
真ん中のレンズをはずすには、こんなものを使います。Lens Wrenchをamazon.comで買いました。異なるサイズの3本セットで35ドル。(日本だとカニ目まわしとかカニ目レンチとか言うようです)

Tessarrepair05
こんな感じで回してこの部分をはずします。

Tessarrepair06
取れたのがこれです。この取れた部分には2枚のレンズが入ってます。

Tessarrepair07
さらにリングがねじになっているので、リングをまわして取ります。リングを取ると中のレンズが取れるようになります。

Tessarrepair08
レンズのまわりが汚く、ごみのようなものがついています。レンズのカビはこのごみのせいでしょうか。後は、このレンズを中性洗剤で洗って、無水アルコールで消毒、はずした部品もひとつひとつ清掃消毒して、元に戻して分解掃除は終了です。傷があっても自分でひとつひとつ丁寧にきれいにしてあげると使ってやるかという気になりました。

試し撮り

掃除したあとは試し撮りということで。

Tessarsample01

Tessarは、なんでも「鷲の目」と呼ばれるシャープさが特徴だったそうですが、
うーん、絞り開放で撮ってみると、鷲の男らしさというよりは、女性的な感じ?

岡本

今回はJavaのアプリケーションにおける、メモリーリーク、リソースリークのお話です。

メモリーリークは突然クラッシュを起こす原因のひとつ

PCの電源を切らずに、あるアプリケーションを終了せずに何日も使っていると、ある日突然クラッシュしたということを体験したことがあるかもしれません。原因はいろいろありますが、その中でよくあるのが、メモリーリークやリソースリークと呼ばれるものです。メモリーリークというのはそのアプリケーションが使っているうちに、その使用メモリ量がどんどん大きくなることです。またリソースリークとは、そのアプリケーションが使っている、スレッドの数、イメージの数、ファイルの数などがどんどん大きくなることです。アプリケーションが使えるメモリやリソース量は上限があります。この上限を越えると、最悪、突然終了、つまりクラッシュしてしまいます。リークは、ユーザーがあるアクションを行ったときに起きて、そのアクションを何度もくりかえしたりすることで、最終的にはクラッシュが起こったりします。

なんでJavaなのにメモリリークが起きるのか


Javaは、ガベージコレクタが組み込まれています。CやC++の場合と違って、アプリ開発者のコードはメモリを解放する必要はありません。使われないオブジェクトはガベージコレクトされて自動的に削除されます。なので、メモリーリークは起きません。しかし、それはそのオブジェクトが誰にも使われていない(つまりだれにも参照されなくなった)場合の話で、誰かがそのオブジェクトを参照している限り、そのオブジェクトはメモリ上に残って、削除されません。それがJavaのメモリーリークです。


大規模なソフトウェア製品におけるクラッシュ対策

大規模なソフトウェア製品は、多くの開発チームによって開発されます。それは、ある開発者が開発したコンポーネントが複数の他の開発者が開発したコンポーネントから使われる(参照される)可能性があるということです。通常、テストチームは、何十時間もしくは何日にもおよぶテストを通して、long runによるクラッシュや異常動作がないかをチェックします。その後、問題のあった箇所に対して、デバッガやプロファイラなどを使って、調査、デバッグを行っていきます。その際リークが原因であれば調査されます。または、パフォーマンステストを通して、ある主要なユーザーアクセス/アクションに対してリークがないかどうかもチェックされるというのが一般的だと思います。そこで、重要になってくるのが、リークの起こりにくいコードを書くということです。

よくあるメモリーリークのバグパターン

よくあるメモリーリークの例を上げてみます。

1. コレクションオブジェクトメンバーへputするコードのみ存在し、removeするコードがない場合
class A {
    private HashMap map = new HashMap(10);
   
    public void methodA(Object keyObj, Object valueObj) {
        map.put(keyObj, valueObj);
    }
}

これはmap.remove()がこのクラスにないのが問題です。もしこのAオブジェクトがそのアプリケーションの起動から終了まで使われ続けた場合、Aオブジェクトのmapメンバーはputするたびに大きくなっていき、ひどい場合は、顕著なメモリーリークとなって、クラッシュをおこすでしょう。

2. コレクションオブジェクトのメンバーに、put(obj, null)をコールしている場合
class B {
    private HashMap map = new HashMap(10);
   
    public void methodA(Object keyObj, Object valueObj) {
        map.put(keyObj, valueObj);
    }

    public void methodB(Object keyObj) {
        map.put(keyObj, null);
    }
}
put(keyObj, null)は、keyがkeyObjで、valueがnullのエントリーをそのHashMapの中に作成するということです。そのエントリーを削除するということではありません。特にkeyObjのあるメンバーが他のオブジェクトを参照していた場合、それがリークの原因となることがあります。エントリーを削除したいなら、かならずremove()を呼ぶことが重要です。


3. リスナーを追加するコードのみで、削除するコードが存在しない

class C {
    private static IWorkbench workbench = PlatformUI.getWorkbench();


    public C(Window window) {
        this.window = window;
        workbench.addWindowListener(new IWindowListener() {
            // ...
        });
    }
}
addXXXXListener()したら、removeXXXXListener()しましょうということです。さらに、上の例では、removeWindowListenerがないために、new IWindowListenerがリークし、その結果、Cオブジェクト自身(Cオブジェクトとそのメンバー全部)もリークしてしまっています。

4. 自分がいらなくなったのにも関わらず、自分のメンバーを削除していない
class D extends Composite {
    private HashMap map = new HashMap(100);
    private ArrayList listeners = new ArrayList(100);
    private Object memberA;

    public C(Composite parent, int style) {
        super(parent, style);
    }

    public void dispose() {
        super.dispose():
    }

    // more methods to access to map, listeners, memberA so on.
    // ...
}

Eclipse SWTのコントロールは常に、そのコントロールが削除されるときは、dispose()が呼ばれます。なので、dispose()がそのオブジェクトをクリーンアップするチャンスとなります。上の例では、Dのdispose()でメンバーすべてをクリーンアップしていません。もしDオブジェクトを参照している(使っている)他のオブジェクトにバグがあって、Dオブジェクトが他のオブジェクトによってリークさせられたとしたら、Dオブジェクトのメンバーもリークしてしまいます。なので、仕様済みのメンバーオブジェクトは、常に参照からはずしてしまうのがいいです。上の例だと、

public void dispose() {
    super.dispose();
    map = null;
    listeners = null;
    memberA = null;
}

という風にコードを書いておくのがベストプラクティスと言えるでしょう。

Eclipseではリソースリークもクラッシュの原因

Lotus NotesなどのEclipseベースの製品の場合、あるオブジェクトを使い終わった後は、必ずdispose()を呼ぶ必要があります。特にSWTのdispose()では通常OSの各種リソース、例えば、Handle, Thread, User Objectsなどを開放します。なので、dispose()が呼ばれないと、それらのOSリソースがリークします。


JNIでのC/C++コードでもリークする可能性がある

ここでは述べませんが、Eclipseベースの製品は、JNI(JavaからOSのAPIをコールするAPI)のコードを実装するというのもしばしばあります。JNIのコードは基本的にC/C++で、OS APIやOSネィティブコードにアクセスするコードですから、そこでもリークする可能性があるので、ここでのコードもリークフリーなコードにすることが重要です。

リークを特定するのに便利なツール

Javaのメモリーリークをテスト、デバッグするには、Javaのプロファイラーが便利です。IBM/Lotusのチームでは、JProfiler(http://www.ej-technologies.com/products/jprofiler/overview.html)やEclipse Memory Analyzer(http://www.eclipse.org/mat/)などを使ってメモリーリークのテスト、デバッグを行っています。

また、Javaのリソースリークについては、Eclipseが提供しているsleak(http://www.eclipse.org/swt/tools.php)を使います。また、Windowsだと、メモリーリーク、リソースリークを調べるのに、Task ManagerやProcess Explorer(http://technet.microsoft.com/en-us/sysinternals/bb896653.aspx)などが使われています。

ということで

何時間もたった後の突然のクラッシュの一因として、メモリーリーク、リソースリークがありますという話でした。ソフトウェア製品開発プロセスの中で、新機能の設計、実装、デバッグ、テスト、ときて、最後の方にでてくるのが、これらメモリーリークやリソースリークの問題だと思います。製品リリース前、開発プロセスの最後の方ででてくるので、けっこう忙しい中、開発者をなやませる問題だと思いますが、これらリーク問題、しっかりと取り組んで行きたいと思います。

岡本

プロフィール

岡本 博行

岡本 博行

米IBM、ソフトウェアグループ所属のソフトウェア開発者。Lotus NotesおよびLotus Expeditorの開発を担当。米国マサチューセッツ州在住。

詳しいプロフィール

カレンダー
2012年2月
      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29      
カテゴリー

オルタナティブ・ブログは、専門スタッフにより、企画・構成されています。入力頂いた内容は、アイティメディアの他、オルタナティブ・ブログ、及び本記事執筆会社に提供されます。


最近のコメント
最近のトラックバック
エンタープライズ・ピックアップ

news094.gif あなたが常に持ち歩く防災グッズは?
ビジネス・ブログメディア「ITmedia オルタナティブ・ブログ」では、ITにまつわる時事情報などを日々、約260人のブロガーが発信している。その中から今回は「震災対策」「クラウド」「炎上」などを紹介しよう。(2/11)

news094.gif 富士通元社長の山本卓眞氏が残した次代へのメッセージ
富士通の社長、会長を務めた山本卓眞氏が亡くなった。哀悼の意を込めて、日本のIT産業界の大御所が残した次代へのメッセージを紹介しておきたい。(2/6)

news094.gif 東北をコットンの生産地としてブランディングしたい──リー・ジャパン・細川取締役
塩害に強い綿の生産で東北に新たな産業を作りたい。オーガニックコットンの採用など、環境負荷を下げるジーンズ生産に取り組んできたリー・ジャパンの新たなチャレンジとは──。(1/30)

news094.gif 東北から始まるイノベーション
企業のICTを活用と若手IT技術者による東北発のイノベーションが、中長期的な震災復興の鍵となる。(1/27)

news094.gif 貧困国の雇用を創出する印刷屋、丸吉日新堂印刷の挑戦
全国から約2万7000件の名刺制作を受注をする札幌の小さな印刷会社の成功の秘密は、地道な社会貢献にあった。(1/16)

Special

- PR -

サイトマップ | 利用規約 | プライバシーポリシー | 広告案内 | お問い合わせ