2008年7月31日木曜日

Google カレンダーで計画の見積りと実績を管理する - 狂ったリズムの修正と「リスクファクター分析」

計画を軌道修正するためには、時間配分の見直しが必要

いかん。(+_+) 最近、暑さで脳みそやられてきた。所用で少しの期間、出かけていたのだけれど、帰ってきてから頭の中が迷走している。何をどう計画して、どういう方向へ行けばいのか見えなくなってきた。

というのも、その原因は、出かける前にしていた作業を一時的に中断してしまったために、これまでの進行状況のいくつかの部分を忘れてしまい、どのような計画が最適なのか見えずらくなってしまったため。 ^^;

 

必要なのはレビュー

計画を立てるためのツールと言えば、RTMGoogle タスクガジェット、そして、フリーマインドを使っている。しかし、この 3 つツール、使い方を間違えると頭を整理するどころか思考が拡散していき、余計に混乱することがある。

今、必要なのは軌道の安定を計ることであり、方向性を決めること。だから、やらなくてはいけないのはレビュー。「復習」であり「まとめ」ということになる。そして、それを元にして計画を立てなければいけない。わかっちゃいるのだけれど、つい大量に入ってくる日々の情報に惑わされ、新しいものに飛び付いてしまう。悪い癖。

 

レビューする時間を強制的に作る

「計画」は、計画する対象によって、非常に大きな粒度の違いが存在する。

  • 年単位
  • 月単位
  • 週単位
  • 日単位
  • 時間単位

今回は狂ってしまったリズムを取り戻すために、

  1. 大雑把に「時間単位」で計画を立て、
  2. 時間を見積り、
  3. それを記録

していこうと思う。

なぜ、こんなことをするのかと言えば、拡散しがちな思考を強制的に方向付けるため。レビューの時間をキチンと取り、計画を考える時間もとる。スケジュールに書けばやらざる終えない。これ、ちゃんとできる人にとっては、当り前過ぎるのだけれど、

「GTD を試してみたけれど、レビューができなかったために上手く活用できなかった」

自分のようなタイプの人間には必要。なんでも明示的にするというのが結構大事。

 

思考の拡散と収束のバランスを取る

考える作業で、一番楽しい時間は、あまり整合性を考えずに連想と空想によって物事を関連付け、思考を拡散させるとき。無責任に考えほくそ笑む。これ醍醐味。細かいことを考えて、それを一つづつ潰していくのが楽しいと感じる人もいるみたいだが、自分はそういうのは苦手。適当に考える。これほど楽しいことはない。しかし、そればかりだと思考が収束せず、一向に前に進んだと感じることがない。やり過ぎると、逆にストレスにつながることもある。 (+_+) やはり物事にはバランスが必要。

「計画を立て、時間を見積り、評価する」というのは後者に属する。普段は、感覚に頼ることが多いけれど、細かく記録していないので見積りの精度がとても悪い。往々にして、できると考えている時間よりも少な目に見積ってしまう。これが時間を有効に使えない原因の一つ。「見積りしたときの値」と「実際に行った値」を比べることによって、自分の中の時間感覚を養いたい。

 

Google カレンダーで大雑把な時間管理

スケジュールを管理するためのツールはいろいろある。紙媒体から Web 上のものまで様々。紙媒体という選択も魅力的なのだけれど、ここは一つ Web で管理できるもので、なおかつ後々の連携を考え有名所を使うことにする。となればもう話は決まったようなもので、必然的に (?)  Google カレンダーを使うことに。 (実はこれまで何度かチャレンジしては挫折している ^^; ) 

RTM を使っているならそれでいいのでは?と思うかもしれないが、スケジュールというのは時間軸に沿い、時間という均質な指標を軸にして視覚的に表示されてこそ時間感覚を養えると思うので、今回は Google カレンダーにした。 RTM はあくまでもタスクの管理であって、マクロな時間配分を決めるためのものではない。

ということで、ツールの使い分けの目処も立ってきた。 Google カレンダーでは大雑把に時間の使い方を計画するマクロな視点。その時間の中でのタスクは RTM で管理する。そして、それよりも粒度の小さい極小のタスクは Google タスクガジェットで。

 

要件と対策

では Google カレンダーをどう使えばいいのか?

再度、当初の要件を書き出しておく。

  1. 時間の見積りをしたい。
  2. 実績を記録したい。
  3. 上記二つを見て、すぐに時間配分を視覚的に把握できるようにしたい。
  4. 書き込みたいときに、すぐに入力できること。

要件 3 については、このために RTM ではなくて Google カレンダーを使うことにした最大の理由。特に、昨日と明日の予定を見ながら今日の時間配分を決めるときは、

を参考に。

要件 4 については、Prism を用いて Google カレンダーを独立したアプリとして起動するようにした。 (cf. ウェブサイトを Prism for Firefox を使って独立したアプリケーションに変換)

問題は要件 1, 2 。これに関しては、

を参考にした。そこでは、Google カレンダーにおいて「予定」と「実績」の二つのカレンダーを作成し、それぞれに記入する方法が紹介されていた。

次の図の「□大橋の予定」という緑のカレンダーが「予定のカレンダー」であり、朝の時点でお互いにそれぞれの「予定のカレンダー」を登録した状態で仕事を始めます。そして、仕事を片づけながら「実績のカレンダー」である「■大橋の実績」という青いカレンダーに実績を書き加えていくようにします。

(上記より)

上記は、二人で作業を進めていくときのことが書かれていたが、これを一人で行うことに。

 

時間を見積るための基準「リスクファクター分析」

後は、時間の見積りの方法が問題となる。これが一番難しい。何か大雑把でもいいから指針となるものはないだろうか?

Javaデバッグ明快技法
Javaデバッグ明快技法 鈴木 義幸

おすすめ平均
starsあらゆる言語のプログラマに

Amazonで詳しく見る
by G-Tools

上記の本には

「リスクファクター分析」(p64)

という手法が書かれている。これを使うとプロジェクトに必要な時間を 8パーセントの誤差の範囲で見積ることができるらしい。どのくらい有効でメジャーな方法か知らないけれど、指針にしてみることに。

やり方は、

  1. プロジェクトをタスクに分割する。
  2. 次にタスクにかかる時間を見積る。

ここが特徴的。

方法が正確にわかっているものとして見積ります。ここでは調査の時間を考慮せず、タスクの完了に必要な時間のみを見積ります。(太字は引用者による, p66)

「方法が正確にわかっていた」としても、経験のないものを見積るというのはかなり難しい。これを次のステップで吸収する。

やや主観的な基準をベースとして、タスクの危険度を決定し、 A ~ F でのランク分けをします。

6 段階、A ~ F の基準を要約すると、次のような感じ。

  • A : × 1 :  何度も経験した作業で、やり方を熟知している。
  • B : × 2 :  経験はあるが、どうやってやるか覚えてはいない。しかし、何を参考にすればよいのかの検討はついている。
  • C : × 4 :  方法は同僚の誰かが知っているだろう。
  • D : × 8 :  解決策はあるようだが、現時点ではどのように解決すればいいのかわからない
  • E : × 16 : 方法を考えることは大変だけれど、なんとかできそう。
  • F : × 32 : 不可能だと思うけれど、それを証明できない。

ただし、基準の横に記載されれている

× ○○

という数値は、最初に見積りをした時間とのをとり、最終的な見積り時間を算出するためのもの。数値は自体は 2 の 0乗、1乗、2乗...となっている。つまり、不確定な要素があるほど、そのタスクの完了までに指数関数的に時間が必要となると仮定しているということ。

最初の見積りのときに、未知の事柄に対して、「方法がわかっているものとする」という前提が難しい。この辺はあまり考えても仕方がないので、

  1. 大雑把に「順調にタスクをこなせた」場合の楽観的な見積り時間を考え、
  2. 次にタスクに対して、「不確定要素がどのくらいあるかと思うか」を 6 段階で評定し、
  3. それに対して、上記のような数値との積をとって見積り時間にする

とりあえずそんな風に考えておくことことにする。

Google カレンダーで特定期間を表示

1. Google カレンダーの表示される日数を設定

080731-002Google カレンダーには、「日、週、月、(次の) 4 日」を表示するためのタブがある。自分の場合、「次の 3 日」が表示されるのが見やすい。

  • 設定 > 全般 > カスタムビュー

において、「 3 日」を選択している。

今日のスケジュールを入力しようとするとき、

  1. 前日に取りこぼした予定と、
  2. 明日の予定を考えながら

今日の計画を立てる。「週表示」だと表示される枠が狭すぎ、「日」表示では、前後の日の予定を把握できない。

「3 日」分のスケジュールを表示をさせるために、「 3 日」のタブをクリックすると、本日から 3 日間が表示されてしまう。表示させたいのは、今日の日付を真ん中に表示させ、前後の日に挟まれるようにしたい。

 

2. 月のカレンダーで、表示したい日付を選択する

左上にある「月のカレンダー」において、昨日の日付をクリックしたまま、明日の日付までドラッグする。

080731-008

これにより、以下のように表示される。

080731-001

この方法を使うと、月 ~ 金 までを表示させたり、2 週間分を表示させたりできて便利。

Google カレンダーで細かな時刻を素早く入力する - 英語表示で時間帯を指定

1. 一時間の枠を取る

例えば、「17:50 から風呂」という予定を入力したいとする。

  1. 17 時台の枠の中でクリックする。
  2. 予定を入力するための吹き出しが表示されるので、タイトルに「17:50風呂」と入力し、「予定を作成」ボタンを押す。

080730-002

このとき注意することは、手順 1 に書いたように、入力したい「時間帯」と同じ枠内でクリックすること。

結果、17:50 – 18:50 で 1 時間の長さの予定が作成される。

080730-003

 

2. 時間帯が異なる場所でクリックすると、時刻を指定できない

試しに、上記の手順 1 において、入力したい「時間帯」とは異なるところでクリックしてみる。

例えば、16 時台でクリックして、同様の手順を辿ると、

080730-004

16:30 – 16:30 に「17:50風呂」という予定が作成されてしまう。

080730-005

「17:50風呂」の予定を入力したい場合、17時の時間帯をクリックする必要がある。

 

3. 予定の長さを指定したい場合

追記(2012/05/04):予定の長さが決っている場合は、時刻を指定する。

例えば、「17:50から18:10まで風呂」の予定を入力したい場合、タイトルに「17:50-18:10風呂」と入力する。

[開始時刻]-[終了時刻][予定]

終了時刻と予定の間にスペースは必要ないようだ。

 

1時間を超える予定の場合

ただし、「17:50-20:10風呂」のように、1時間を超える予定を入力したい場合、最初に時間帯を指定するとき、17時から20時の時間帯を指定しておく必要がある。

また、言語が英語でない正確に入力できない。

img_0123

上記のように入力した結果、自動的に時刻が調整される。

img_0124

 

関連記事

2008年7月28日月曜日

Gmail で等幅表示 – CustomizeGoogle

メールはテキストがまだまだ主流だ。一昔前だと、HTML メールなんて言語道断という雰囲気があったけれど、最近ではブラウザでメールを見るのが慣れてしまったためか、HTMLメールが送られて来ても意識することがなくなってしまった。かと言って、自分で送るメールはテキストメールだけれど。

HTML メールに慣れてくると、マルマガ等によくあるテキストメールが古めかしい印象を受ける。しかし、そういったメールをよく見ると、見易くするために随所に工夫がされていることがわかる。全体の構成がわかるための「目次」、見出しを強調するための「マーク」、セクションを区切るための「罫線」。自分が少し長めの文章を送る場合、そういったものを真似することが多い。いざ自分で考えて見易くしようと思ってもなかなかできなかった。 ^^; やはり頼るべきは先人の智慧。

Gmai を使っていると残念ながら、そういったメールの表示が崩れてしまう。メールと言えば「等幅のフォント」で表示させるのが普通だったけれど、いつしかそういったことも意識しなくなってしまっていた。そして、読めないわけではないので、崩れながらもそれを「そんなものだ」と思って読むようにしていた。

 

CustomizeGoogle

Firefox のアドオンである CustomizeGoogle をインストールすると、Gmail で等幅のフォントで表示することができる。

まず、CustomizeGoogle をインストールする。

アドオンの設定画面において、 Gmail の「固定フォントを使用」にチェックをつける。

080728-003

 

比較

使用前。いったい何がヘッダに書かれているのかわからない。そして微妙に所々ずれている。 ^^;

080728-002

 

使用後。あ、なるほどね。

080728-004

 

CustomizeGoogle  にはその他にも色々と機能があるのでよさげ。常駐させるアドオンになるかなぁ。

 

参考

2008年7月26日土曜日

「ぶるリラ」でマッサージ - タチコマに似てる ^^;

電器店でふと見つけた変わった形のマッサージ器。お試しで展示されていたが、電池が切れていたためか動作させることができなかった。

TO-PLAN BURU BURU RERAX ぶるリラTKY-15B ブルー TO-PLAN BURU BURU RERAX ぶるリラTKY-15B ブルー

東京企画
売り上げランキング : 8603
おすすめ平均

Amazonで詳しく見る
by G-Tools

その日の内に一緒に行った友人から電話があり、気持ちがよかったので購入したとのこと。しかしこの形、、、やっぱりこれを思い出すよね。 ^^;

攻殻機動隊 Perfect Piece タチコマ 攻殻機動隊 Perfect Piece タチコマ

メガハウス 2007-03-02
売り上げランキング : 2963
おすすめ平均

Amazonで詳しく見る
by G-Tools

 

早速近くの電器店に行き試してみようと思ったが、残念ながらこちらでは展示されているものはなかった。しかし、値段も安かったので、単 4 の電池とともに購入。

家に帰り早速使ってみることに。上部の蓋を回して開け、中に電池を挿入。天辺にボタンがあり、押すとバイブレーションが継続される。それと同時に白い部分が紫色の光を発する。まぁ、この光を発するのは全く必要ないけれど、見た目には綺麗。 ^^; いや、そんなことに電池を使うなよと思ったけれど。

体に押し付ける力の強さを調整することによって、体感するバブレーションを調整。的確な位置に行くと結構気持ちがいい。めちゃめちゃ気持ちいいわけではないけれど、程良くいい感じ。気持ちよく感じるのは、尖端の 3 点を骨に当てたとき。これが一番振動を感じる。そして一番気持ちがよかったのは、足の表に当てたときだった。足がすーっとする。 ^^

 

カラーバリエーション

TO-PLAN BURU BURU RERAX ぶるリラTKY-15W ホワイト TO-PLAN BURU BURU RERAX ぶるリラTKY-15W ホワイト

東京企画
売り上げランキング : 7877
おすすめ平均

Amazonで詳しく見る
by G-Tools

 

TO-PLAN BURU BURU RERAX ぶるリラTKY-15R レッド TO-PLAN BURU BURU RERAX ぶるリラTKY-15R レッド

東京企画
売り上げランキング : 10463
おすすめ平均

Amazonで詳しく見る
by G-Tools

2008年7月25日金曜日

OpenOffice Impress のスライドパネルを元の位置に戻す

1. ウィンドウ表示されたスライド一覧を元のパネルに戻したい

OpenOffice の Impress は、ウィンドウの左側の区画に「スライドの一覧」が表示されている。

あるとき、スライドの区画の上部をつかんで D&D したら、区画がウィンドウに変化してしまった。これを元に戻したい。

080725-001

ちなみに、「作業パネル」を独立したウィンドウにしてしまった場合は、ウィンドウ右上部にある「表示」をクリックし、「作業パネルを格納」を選択する。

ただし、スライドパネルの方には同じような操作が見あたらない。メニューにもそれらしいものがないし、うーん... (@_@;)

 

2. ダブルクリックで元に戻す独特な操作

これに対して、faq/3/56 - OpenOffice.org Q&A によると、

上部の何も無いところを[CTRL]キーを押しながら、ダブルクリックしてください。「スライド区画」なら"スライド"と書いてある右の灰色の部分、「作業パネル」なら"作業"と書いてある右の灰色の部分です。

これは気づけなかった。 ^^;

080725-002

2008年7月20日日曜日

PDF ファイルをマーカーを引きながら読む – PDF-XChange Viewer

1. PDF ファイルを Acrobat Reader で読まない理由

ある文書を PDF ファイルで読もうと思った。

Acrobat Reader で PDF ファイルを開いた場合、読みながら、重要な箇所にマーカーを付けることができない。そのため、まとまった文書を PDF で読むことはためらわれる。

HTML で書かれた文書なら、Firefox のアドオン

を使い、マーカーを引きながら読む。

PC で文書を読む場合に限らず、本を読むときも、色付きのボールペンやマーカーは欠かせない。線を引くと、内容が頭に入りやすい。学習するときも、効率良く吸収できる。

 

2. PDF を HTML  に変換しようか?

ウェブに公開されている文書の場合、PDF ファイルと伴に、 HTML として提供されていることが多し。しかし、自分が読もうとした PDF ファイルには HTML 版が存在しなかった。ただし、tex で書かれた文書は存在した。(cf. Index of /yaht)

latex2html

tex の文書の場合、latex2html により HTML に変換できる。しかし、Latex の環境を整えるのは、色々と面倒そうだ。

Pandoc
Pandoc は、PDF を HTML に変換してくれるアプリケーション。(via MOONGIFT

Pandoc is a Haskell library for converting from one markup format to another, and a command-line tool that uses this library. (Pandoc より)

ただし、これも設定が面倒そうだ。 (@_@;)

 

3. PDF-XChange Viewer でマーカーや線を引ける

PDF にマーカーを引くことができるフリーソフトはないか探してみた。

PDF-XChange Viewer  (via PDFの付箋で困っています - 教えて!goo )

閲覧中のPDF文書内へ、四角形や円の囲み線を描き込むことができ、プロパティ画面で線の色や太さを設定可能。また、任意の場所へ文字を入力したり注釈を埋め込む機能も備えている。 (上記サイトより)

アプリケーションの名前は Viewer だけれど、ある程度編集もできる。

 

マーカーを引く

文書にマーカーを引くには、

  1. ツールバーよりマーカーのボタンを選択し、
  2. ツールのプロパティで色を選んでおいてから、
  3. テキストを選択する。

ツールのプロパティで一度選択した色は、Custom Colors に配置される。再度、Custom Colors から選べば、色を素早く変更することができる。

また、「ツールの選択の維持」ボタンを押すと、マーカーを連続して引くことができる。

0807201245

ツールのプロパティは、「色」を選択するときに使用する。そのため、メニューバーから分離した方が使いやすい。もし、パレットを消してしまったら、

  • メニューより 表示 >ツールバー > プロパティツールバー

を選択すると、再度表示される。

2008年7月19日土曜日

半身のみに汗をかく

昔から不思議に思っていたことがある。テレビを見ているときに、横向きに寝た状態で、片方の腕で顔を支える姿勢をしていると、しばらくすると上側になっている半身のみに汗をかくということ。おもしろいことに、反対側は全く汗がでていない。汗が出ていない側から、汗がでている方へ指を使って辿っていくと、体の中心で見事に分かれている。

これはトリビアか?!と思って調べてみると、ためしてガッテン:過去の放送:6月が危険! 徹底解明 いい汗と悪い汗 にその理由が書かれていた。

20代の男性に、一度お風呂で汗をかいてもらいました。そのあと、体の汗をふきとり、再度、体から汗が出てくるのを待ちます。すると、2分後に不思議な現象が起きました。鼻の下を見ると、片側にだけ汗をかいていたのです。

実はこれ、片方の脇の下を棒で押し続けたため。これは、半側発汗(はんそくはっかん)と呼ばれている現象です。脊髄(せきずい)のいろいろな部位を介して起きる反射(皮膚圧発汗反射)によって起こると考えられています。

http://www3.nhk.or.jp/gatten/archive/2007q2/20070620.html

ためしてガッテン:過去の放送:6月が危険! 徹底解明 いい汗と悪い汗 via kwout

 

皮膚圧反射

教師猫の指圧Q&A 汗のはなし によると、

【皮膚圧反射】
片側の皮膚部位を圧迫すると、反射的にその側の発汗が抑制され、反対の汗が代償的に増加します。この反射機構を『皮膚圧反射』または『半側発汗』と呼んでいます。厳密には、圧迫する皮膚部位や箇所(一箇所か複数箇所)さらには、単独か同時圧迫するかによって、発汗部位が様々に異なってきますが実用には右側を圧迫すれば左側で発汗、上半身を圧迫すれば下半身から発汗すると覚えてください。但し、後側と前側の間に皮膚圧反射は生じません。後側を圧迫しても、後側の発汗が抑制され、前側から発汗することはありません。(仰向けに寝ても背中の汗が全体的に減ることはありません)

なるほど、上記の横になっていたときに半身側のみ汗出たのは、自分の体重と床とで圧迫され、「皮膚圧反射」が起きていたということか。 (@_@;)

 

ブラで応用

応用として、顔の汗をすぐ引かせる方法は? によると、

気温が高くなると、吹き出す汗で化粧や髪型がくずれるのを気にする人は多いと思います。…

この機能のことを専門的には「皮膚圧・発汗反射の原理」といい、胸の上部をつまむと顔や頭の発汗が抑えられるのは、この原理に基づいています。
この原理は、基本的には体の左右対称に現れるものですが、左右の胸を同時につまむとこの原理が上下対称に働いて、、胸から上全体の発汗を一時的に抑えることができるのです。つまむことができない場合は、女性ならきつめのブラジャーをつければ、同じ効果が望めます。

まぁ、ブラしてないんだけどね... ^^;

複数のアプリケーションを連携して使うとき、作業ごとに仮想デスクトップを割り当てる - WinDeskWide を使い、効率的にブログを書く

1. 複数のアプリケーションを利用していると、どこで何をやっているのか把握しづらい

ブログを書くとき、複数のアプリケーションを同時に利用する。

例えば、文章を書きながら、画像を載せようと思ったとき、次のような手順が必要。

  1. スクリーンショットを撮る
  2. 画像を加工
  3. Flickr にアップロード
  4. Flickr からブログエディタに貼り付け

各々の作業は単純だけれど、画像を掲載する度に、この作業を行うのは面倒。また、複数のアプリケーションを利用するので、どのウィンドウで、何をやっていたのか分かりづらくなる。

追記(2012.3.4): 現在では、Flickr は利用していない。

 

2. ブログを書くときのツール

ブログを書くときは、エディタとして Windows Live Writer を使っている。ただし、WLW だけでは、上記の作業を行うことができない。そのため、複数のアプリケーションを利用している。

画像を掲載するためのアプリケーションを、以下に列挙する。

 

3. ツールは一つで完結せず

各々のアプリケーションは、欠かすことができない。

例えば、画像を加工するために使っている Photoscape 。このアプリケーションには、スクリーンショットを撮る機能がある。しかし、スクリーンショットを撮った後の、ファイルを保存する方法に難がある。

Capture STAFF を使えば、撮ったスクリーンショットに対して、自動で連番を付けてくれ、ファイルに保存できる。

Photoscape で、写真の一部をぼかしたい場合、モザイク系でしかできない。細かく、精密に範囲を指定することもできない。これに対し、GIMP は範囲を指定したり、いろいろな「ぼかし」方ができる。ただし、GIMP では、画像に吹き出しをつけるとき、Photoscape ほどお手軽にできない。

各々のアプリケーションは、やりたいことに対して一長一短があり、全ての要求を満たすことはできない。複数のアプリケーションを組み合わせて利用することは、避けられない。 (+_+)

 

4. 作業ごとに仮想デスクトップを割り当てる

複数のアプリケーションを使うとき、仮想デスクトップを上手く利用すると、効率的に作業をこなせる。

仮想デスクトップ WinDeskWide が激しく便利な件 - Open MagicVox.net によると、

一日の業務が始まると 1 枚目には Mozilla Thunderbird(メーラー)や Google Calendar(スケジュール管理)を開き,通常業務で使う開発環境などは常に 2 枚目以降に開くようにルールを決めておきます。そして何か新しい割り込みタスクがある毎に,仮想デスクトップを開いて関連するフォルダや資料を集めるようにしておきます。

windeskwide仮想デスクトップとして、Virtual Dimension を使ったことがある。

使い方は、メインととなる画面を決めておき、現在の作業に必要ないアプリケーション、ウィンドウを、別画面へどけておくというやり方。作業単位ごとに仮想画面を使う、という発想はなかった。

追記(2012.3.4): 現在は、仮想デスクトップとして、Dexpot を利用している。

 

画像を処理するための専用の仮想デスクトップ

試しに、作業ごとに仮想デスクトップを使ったら、各々の作業がしやすかった。ブログを書くときのやり方は、画像処理を行うための仮想デスクトップを1つ用意しておき、画像に対する全ての作業ををその画面で行う。

以下の写真は、画像を処理するために仮想デスクトップ画面。

gamen

  1. 左上にはスクリーンショットを撮ったものが表示
  2. ファイルを保存したら、画面右側にエクスプローラで保存先のフォルダが表示。
  3. 画像変数のァイルに応じて、Photoscape もしくは GIMP にドラッグ & ドロップ。
  4. 加工が終了したら、右下の juploadr で Flickr へアップロード。

処理が左上から右下へと流れていくイメージで、アプリケーションを配置した。また、それぞれのアプリケーションをアクティブにした場合、他のアプリが完全に隠れないように配慮した。これにより、素早くアプリ間を移動できる。

 

5. WinDeskWide の便利な使い方

上記で紹介されていた WinDeskWide は軽くて使い易いソフトだった。

アプリを起動した後に指定したデスクトップの画面に送る機能も備えているので、画像処理のために使うアプリケーションを開いてから、特定の仮想デスクトップ画面へ移動させるという手間がなくなる。

WinDeskWide を起動したときに、特定のアプリケーションを、特定の仮想画面で開く、という機能もある

 

基本的な操作

WinDeskWide のアプリケーションのウィンドウの位置を変えたいときは、Ctrl キーを押しながら WinDeskWide をつかんで移動させる。

 

他の画面へウィンドウを送るには

追記 (2009.12.30) : WinDeskWide を「右クリック > ウィンドウ一覧」で指定。

ウィンドウをつかんで別の画面に移動させたい場合は、予め 「設定画面 > マウス」の「マウスを使用して、隣接する仮想デスクトップへ移動する」にチェックを入れておく。

20091230-1

これで直観的な操作が可能になる。

 

振り分けの設定
  1. タスクトレイにある WinDeskWide のアイコンを右クリック > 設定。
  2. 「振り分け」タブを選択する。
  3. 予め振り分けたいアプリを起動しておき、「現在のウィンドウ一覧状態から追加する」ボタンを押す。
  4. 起動しているアプリの一覧が左側に表示されるので、必要なもの以外「削除」ボタンで取り除く。
  5. 必要なアプリの表示位置を番号で指定する。

080719-005

振り分けを行いたいときは、タスクトレイのアイコンもしくは、表示されている WinDeskWide において右クリック > 「振り分け」を選択する。

 

6. その他

ほとんどの機能の要求を満たす Screenshot Captor は、吹き出しを色々と付けることができたら、これ一つで済みそうだ。吹き出しを付けるソフトとして、未だ Photoscape 以上のものを見たことがない。

An Introduction to R を読む (2) – オブジェクトとカテゴリー (factor)

An Introduction to R を読む (1) -- R の環境とベクトル のつづき

1. オブジェクト

R が扱うデータや関数はオブジェクトで、それぞれに型 (タイプ) がある。

mode(object) によって、オブジェクトの (ストレージ) モードを知ることができる。これは型のようなものかな?

> mode(100)
[1] "numeric"
> mode("abc")
[1] "character"
> mode(abs)
[1] "function"

> mode(NA)
[1] "logical"
> mode(True)
Error in mode(True) : object "True" not found
> mode(T)
[1] "logical"
> mode(TRUE)
[1] "logical"

ストレージと呼ばれるということは、保存形式に関わるものだろうか?

R: The (Storage) Mode of an Object によると、 R: The Type of an Object に、

Current values are the vector types "logical", "integer", "double", "complex", "character", "raw" and "list", "NULL", "closure" (function), "special" and "builtin" (basic functions and operators), "environment", "S4" ...

などの種類が挙げられている。

mode はオブジェクトの特殊な属性のようなもので、lenght() と同じように、全てのオブジェクトが持っている本質的なもの。

空のオブジェクトでも mode があることに注意。例えば numeric() で作成した空のオブジェクトは mode() で numeric となり、character() によって作成した空のオブジェクトは character になる。

> a <- numeric()
> a
numeric(0)
> mode(a)
[1] "numeric"
> typeof(a)
[1] "double"

typeof では double になる。何かごちゃごちゃしてるなぁ (@_@;)

ちなみに、numeric 関数に、引数として数値を与えると、次のような結果となる。

> a <- numeric(10)
> a
 [1] 0 0 0 0 0 0 0 0 0 0
> length(a)
[1] 10

> b <- character(10)
> b
 [1] "" "" "" "" "" "" "" "" "" ""

 

型の変換

character と interer の変換。

> a <- 0:9
> a
 [1] 0 1 2 3 4 5 6 7 8 9

> # 数値から文字へ
> as.character(a)
 [1] "0" "1" "2" "3" "4" "5" "6" "7" "8" "9"

> # 文字から数値へ
> as.numeric(c("100","200","300"))
[1] 100 200 300

as.XXXXXX() という形式で統一されている。

 

オブジェクトの扱い

R におけるオブジェクトの扱いは非常に動的。

> a <- 100

> # いきなり a をベクトルと見なし、2 番目の要素を飛ばして代入
> a[3] <- 200
> # 飛ばされた 2 番目の要素は NA と表示される。
> a
[1] 100  NA 200

> # 次の要素に文字列を入れてみる
> a[4] <- "hoge"

> # お!(@_@;) 要素が文字列に変換された
> a
[1] "100"  NA     "200"  "hoge"

> # では今度は数値を入れてみる。
> a[5] <- 300

> # すると文字列として要素に格納された。
> a
[1] "100"  NA     "200"  "hoge" "300" 

> # 大きさを指定することによって、ベクトルの大きさを変更できる。
> length(a) <- 3
> a
[1] "100" NA    "200"

ところで話は変わるが、前回見たベクトルの要素の取得に、こんな方法もあった。

> a
 [1]  1  2  3  4  5  6  7  8  9 10
> a <- a[2 * 1:5]
> a
[1]  2  4  6  8 10
> a <- 1:10
> a <- a[2 * 2:5]
> a
[1]  4  6  8 10
> a <- 1:10
> a <- a[2 * 3:5]
> a
[1]  6  8 10
> a <- 1:10
> a <- a[3 * 2:5]
> a
[1]  6  9 NA NA

変数[step * from:to]

といった感じ。ただし、ベクトルの要素を、step ごとに抽出した、ベクトルのインデックスの from から to まで。

 

属性

オブジェクトの属性について、全て知りたい場合は attributes(object)

設定をするときは、attr(オブジェクト, "属性名") <- 値

> p1 <- "Tarou"
> attr(p1,"age") <- 20
> p1
[1] "Tarou"
attr(,"age")
[1] 20
> attributes(p1)
$age
[1] 20

サンプルとして書かれていたものは、dim 関数が使われていた。 属性に関数を設定しているということかな?

dim は R: Dimensions of an Object によると、オブジェクトの「ディメンション」を設定するようだけれど、ディメンションって何だろう (@_@;) ヘルプにあるサンプルを見て試してみる。

> x <- 1:12 ; dim(x) <- c(3,4)
> x
     [,1] [,2] [,3] [,4]
[1,]    1    4    7   10
[2,]    2    5    8   11
[3,]    3    6    9   12

> # 次元(?)を増やしてみると...
> x <- 1:12 ; dim(x) <- c(3,2,2)
> x
, , 1

     [,1] [,2]
[1,]    1    4
[2,]    2    5
[3,]    3    6

, , 2

     [,1] [,2]
[1,]    7   10
[2,]    8   11
[3,]    9   12

動作を見ると、dim はベクトルに対して、任意の次元でベクトルを分割させて表示するために使われるようだ。注意することは、次元の要素をすべて掛けたときに、元のベクトルの要素の数と同じになること。

先ほどの属性の話に戻ると、サンプルでは、dim を任意のオブジェクトに attr を使って設定していた。

> a <- 1:12
> a
 [1]  1  2  3  4  5  6  7  8  9 10 11 12
> attr(a,"dim") <- c(3,4)
> a
     [,1] [,2] [,3] [,4]
[1,]    1    4    7   10
[2,]    2    5    8   11
[3,]    3    6    9   12
> attributes(a)
$dim
[1] 3 4

オブジェクトに関数を設定すると、それに応じた表現で中身が表示されるということか。つまり、ダックタイピング

 

クラス

すべてのオブジェクトはクラスを持ち(?)、 class() 関数 によってそのクラスを知ることができる。これにより、データの種類が異なっても、同じ関数名で種類に応じて異なる振る舞いをさせることがきる。

 

2. Factor

factor は、データをカテゴリー化するときに使われるベクトル。

カテゴリー化したいデータに対して、factor() を適用した後に levels() を適用すると、カテゴリーが返される。

例えば、A ~ C までのクラスがあり、人がそのクラスに所属していることをベクトルで表わすとすると、

> class <- c('A','A','B','A','C','C','B','C','C')
> class
[1] "A" "A" "B" "A" "C" "C" "B" "C" "C"

> # 上記のベクトルに factor を適用すると...
> factor(class)
[1] A A B A C C B C C
Levels: A B C

factor によって Levels が表示されているが、これは levels(factor(class)) によって返される値。

 

tapply()

factor と tapply() を使うと、カテゴリーごとに計算を行うことができる。例えば、上記のクラスに所属している人がテストを受けたとして、各クラスごとに平均点を求めたいとする。テストのデータをクラスのデータと対応するように作成し、それを元にカテゴリーごとに計算を行う。

> test <- c(80,90,70,65,89,67,45,34,90)

> tapply(test,class,mean)
       A        B        C 
78.33333 57.50000 70.00000 

tapply(計算対象のベクトル, カテゴリー, 計算) 。カテゴリーは、与えられたベクトルを必要に応じて as.factor() によって求めるようになっているようだ。 ( R: Apply a Function Over a “Ragged” Array )

カテゴリーは複数設定できる。例えば、上記では人 (のテストデータ) に対してクラスというカテゴリーを想定したが、これに加えて「性別」情報があったとする。この場合、factor のリストを与えることによって、それぞれのカテゴリごとに計算が行われる。

> sex <- c('M','M','M','M','F','F','F','F','F')

> tapply(test,list(class,sex),mean)
   F        M
A NA 78.33333
B 45 70.00000
C 70       NA

2008年7月17日木曜日

Firefox の 検索バーで素早く単語を置き換え検索を繰り返す

ブラウザにおいて「検索」は最も頻繁に行う操作の一つ。これをスムーズに行えないと非常にストレス。 (+_+)  検索して一度で目的のものに辿りつくこともできれば、そうでないときもある。単語を入力してもなかなか見つけることができない。 OR - site: inurl などを使って徐々に目的のものに近付いていく。もしくは、入力した単語を別のものに置き換えターゲットを絞っていく。

080717-001検索バーを使って検索した場合、そこには直前に検索した単語が入力されている。入力した一部の単語を変更して検索を繰り返したい場合、マウスを使うのであれば、置き換えたい単語をダブルクリックして文字列を選択状態にし、新しい単語を入力することによって上書きする。マウスを使うならこの操作が効率的。

 

Ctrl + Backspace

それに対して、キーボードから手を離したくないなら、次のような操作が (多分) 一番効率がいい。 例えば、検索バーで次のような単語が直前に検索されていたとする。

本日 晴天 なり

ここで、「晴天」を「曇天」に変更して再度検索したいとする。

  1. Ctrl + K で検索バーにフォーカスを戻す。
  2. Ctrl を押しながら ← を 2  回押し、「晴天」の直後にカーソルを持っていく。(SKKIME なら 1 回 でよい。)
  3. Ctrl + Backspace で「晴天」を削除。
  4. 「曇天 」と入力してエンター。

ここでは、二つの操作がポイントとなる。

  • 「Ctrl + 矢印」によって単語単位でカーソルを移動させる。
  • 「Ctrl + Backspace」 にって単語単位で前方向に削除する。

これだとカーソルと Backspace を何度も押す必要がないので、キー操作がスムーズになる。これらの操作は他のアプリケーションでも用いることができる基本的な操作だが、アプリによって微妙に動作が違うようだ。 (+_+) うーん...

 

Ctrl + Delete

SKKIME を使っている場合は、「晴天」の前にカーソルを持っていき、Ctrl + Delete を使うと後方向に単語単位で削除することができる。  MSIME の場合、同様のことをすると「晴天 なり」まで、つまり最後まで削除された。

 

LDRize

080717-002LDRize の中の一つの機能として、Google で検索をしているときに、 f キー を押すことによって検索フィールドにジャンプできるのでとても便利。そこで上記と同じ操作をするとよい。

 

インストール

LDRize を使うには、Greasemonkey がインストールされていること。そして、Minibuffer がインストールされていることが必要となる。

また、ユーザスクリプトの管理画面 (ツール > Greasemonkey > ユーザスクリプトの管理) において、Minibuffer の方が LDRize よりで上になるように配置しておく。

2008年7月16日水曜日

Firefox のFEBE でアドオンだけを新しいプロファイルに移行

1. Firefox のプロファイルを FEBE で移行したら、不具合も再現された

Firefox でスクロールすると、ワンテンポ遅れて、引っかかる感じが続いている。特に Tumblr のような画像がたくさんあるサイトを見ると生じる。 (@_@;)

アドオンを全て無効にしても症状は同じ。マウスのユーティリティが原因かと疑ったが、違った。ただし、新しくプロファイルを作成すると、スルスルと滑らかにスクロールさせることができる。そのため、新しいプロファイルに、これまでの環境を移行する必要に迫られた。

http://softwarebychuck.com/febe/febe.html

FEBE via kwout

FEBE を使うと、新しいプロファイルに環境をまるごと移せる。 FEBE は現時点で Firefox 3 には対応していない。しかし、FEBE 6.0 Homepage の Beta バージョンを利用することができる。

プロファイルごとバックアップし、新しい環境に移した。プロファイルをまるごと移行すると、パスワード等も全て移行できる。しかし、問題は、新しい環境でも不具合が再現されてしまったこと。 パタッ(o_ _)o~†

 

2. アドオンだけをバックアップ

そこで、アドオンだけをバックアップすることにした。これで問題がなければ、アドオン以外のプロファイルに異常があるのだろう。

  • メニューの ツール > FEBE > FEBE options

より、Backup type で selective を選択する。

080716-005

  • ツール > FEBE > Perform Backup

を実行する。

新しい環境で、

  • ツール > FEBE > Restore > Restore Extentions

を選択し、アドオンだけ元の環境と同じ状態にした。これだけでも、FEBE があることによってずいぶん作業量が減る。 ^^

移行した結果、何の問題も発生しなかった。スクロールもスイスイ動く。何の設定がおかしくなったのだろうか... (@_@;)

 

3. カラーマネジメントの設定が原因?

画像を綺麗に表示するために、カラーマネジメントの設定を行った。

ロケーションバーに

about:config

と入力し、

  • gfx.color_management.enabled

の値を true に変更した。その結果、スクロールが重くなってしまった。これが原因だったのだろうか?

追記(2008.8.2) : スクロールの反応が悪くなったのは、表示を縮小させていたこともあるようだ。

RSS を Google で講読しようとするとき、 Google Reader への登録ボタンが表示されない理由

RSS を Google Reader に登録するとき、Google homepage または Google Reader に登録するかを選択する画面が表示される。しかし、たまに Google Reader への登録ボタンが表示されないことがあった。

080716-002

 

なぜだろうと思ったら、ブラウザ上で Google Reader にログインしていないだけだった。 (@_@;)

訂正(2008.8.9) : Google Reader ではなく、iGoogle にログインしている必要があるようだ。

080716-003

2008年7月15日火曜日

FILCO Majestouch Tenkeyless 「黒軸」めちゃいいわ ^^ - でも現在打鍵練習中 ^^;

1. 黒軸を購入した

ついに、数年ぶりに、新しいキーボードを買ってしまった。 (@_@;) 購入したのは、

コンパクトキーボードで、英語配列が出たとなれば、買わない手はない。

前回、Majestouch の「黒軸」と「茶軸」の比較を店頭で確かめてきた。黒軸は茶軸と比べて重いという印象があったが、いろいろな人の評価を読んでいたら、結局「黒軸」に傾いてしまった。

 

2. グラフで見るキー特性

キー特性は、Cherry CHERRY Keyswitches の  Force/Travel Diagram を見るとわかる。

linear の方が黒軸で、ergonomic の方が茶軸のようだ。(参考: チェリー キーボード MXキースイッチ)

12-04-20111

( http://www.cherrycorp.com/english/switches/pdf/switch_cat.pdf  より)

 

a. キーが入力されるまでに必要な力はほぼ同じ

黒軸 (linear) は、その名の通り、押し込むに従って、徐々にキーが重くなっていく。

茶軸 (ergonomic) は、キー入力をすると、キーボードの底までスコッと行ってしまう感じがある。理由は、キーが入力されたと認識される前に最初の力のピークがあり、そのとき押した力と同じ力で、キーボードの底である 4mm に到達するようだ。そのピークがあることによって、キーを入力したときに

「あ、今押したぞ」

という感覚がフィードバックされる。これがエルゴノミクスと名付けられている所以だろうか。

キーボードの底まで押した場合、グラフを見ると、黒軸の方が力がいることがわかる。両者ともキーを 2 mm 押しこんだときに、スイッチが押されたことになるようだ。グラフを見る限り、スイッチが入力されたと認識されるまでは、両者それぞれ押す力のピークの位置に違いはあるけれど、力の大きさにはそれほど違いはないように見える。

 

b. 黒軸の方が底打ちさせるのに力が必要

黒軸はよく重いと言われる。理由もグラフを見るとわかる。キーを底打ちさせるときに必要な力が、茶軸よりも黒軸の方が必要なため。確かに、店頭に並んでいたキーボードのキータッチを確かめるとき、キーを底打ちさせて感覚の違いを確かめた。黒軸を触ったとき、

「これだけ重くても大丈夫だろうか」

と不安に思った。しかし、キーボードは、文字が入力されてこそのキーボード。店頭での感覚と、実際に文字が入力されるための打鍵には大きな違いがあった。

 

3. Majestouch Tenkeyless と HHKB Lite2 の打鍵を比較した動画

上が HHKB Lite2 で、下が今回購入した Majestouch Tenkeyless 。

DSC01233

下の動画が、 Majestouch 黒軸の打鍵。入力は、Meadow 上で SKK を使い AZIK 方式で「本日は晴天なり」と打っている。打鍵しているキーは次の通り。ただし、大文字は Shift キーを、空白は変換のためにスペースキーを押していることを表わす。

Hljitu haSwtd nari

底打ちは意識して、あまりしないようにした。

これに対し、今まで使っていた HHKB Lite2 の打鍵はこうなる。

さすがにこれは結構やかましい。 (@_@;) 

次に、黒軸をなるべく底打ちするようにして打ってみたのがこれ。

先ほどと比べると、打鍵音が全然別のキーボード。 ^^;

この 1 番目と 3 番目の動画の違いが、先ほど述べたように

「店頭での感触は実際に打っているときと全然違う」

ということに関係する。店頭では茶軸との比較のために、どうしても黒軸で底打ちさせてしまう。そりゃ、重く感じるわけだ。

しかし、底打ちさせる打ち方が嫌というわけではない。底打ちさせたときのカツンという響きは心地良い。 ^^ キーがはねかえってくるときのスコっという音と相俟って、打鍵してるという気分になる。ただし、底打ちさせて打つ方法は、長時間打つのは無理な気がする。打ったら、たまたま底打ちしたという位の割合が、指にとっては丁度いいのではないだろうか。

ところで、最初の静かな打ち方をしてみたら、黒軸は重いというイメージが消えた。むしろ、

「何だこの軽さは (@_@;)」

という印象。キーを打ったときに、HHKB Lite2 のように、キーがつっかかるということは全くない。キーに対してどういう角度で指を当ててもスムーズにキーが下降する。この点がとても良い。

 

4. Majestouch Tenkeyless に慣れるためには、練習が必要

Majestouch Tenkeyless が、全ての面に渡って、いいことずくめなわけではない。

長所というのは往々にして欠点にもなる。リニアな押下特性は、「キーを叩く」というよりは、「押す」という感じに近い。クリック感がないだけに、どこまで押せばキー入力されるのかがわかりずらい。

もし、なるべく早く文字を入力したいのであれば、必要最小限の力をキーに加え、深さ 2 mm で押下を終了し、次のキーの入力をはじめなければならない。これが結構難しかった。というか目下練習中 ^^;

ただし、そういう練習ばかりしていると、手が疲れてしまう。 必要最小限の力にこだわらず、自然に底打するときは底打ちされるに任せるのがいい。たまに コツン コツン とキーボードが小気味よい音を立てる。

ちなみに、必要最小限の力で打つための練習をするときは、次のようなことを心掛けている。

  1. 指の重さで打つイメージ。
  2. スコスコ という音に意識を向ける。
  3. キーの面からなるべく手を離さないようにする。キーを叩くのではなく押す。
  4. 押した後、自然にキーの反発力で元に戻るのを感じる。
  5. 場合によっては底打ちすることもあるので、必ずしも軽く押すことだけにこだわらない。
  6. 早さよりも、確実なキーの入力。

 

5. HHKB Lite2 との違い

HHKB Lite2 と比べて、マウスをキーボードの左横に置いた場合、ホームポジションから、マウスまでの距離が遠くなったことはマイナス。また、Backspace と ESC までの距離も遠い。

最初、間違えて、 \ キーをよく押した。

最悪なのは Ctrl キーの位置。なぜ、A の横に使いもしない CapsLock があるのだろうか。 (+_+) Ctrl キーと CapsLock キーを入れ替えるために、KeySwap for XP を利用した。

微妙なのは、左 Alt の位置。小指で押すのがいいのか、それとも薬指で押せばいいのか迷うところ。

良い点は、ファンクションキーが独立していること。やはり、ファンクションキーは、HHK のように、キーコンビネーションで入力するよりもいい。

久しぶりに HHKB Lite2 を打ってみると、クリック感があるのがはっきりとわかる。これはこれで心地よい感触だと感じる。そうなると、Majestouch Tenkeless の茶軸も使ってみたくなる。

 

6. 新発売 Majestouch 2

現在、Majestouch の後継機が販売されている。

  US 配列 日本語

黒軸

FKBN87ML/EB2
B0053U3YA0
FKBN91ML/JB2
B0053U3YBE

茶軸

FKBN87M/EB2
B004WOF7QM
FKBN91M/JB2
B0053U3YXM

 

a. Majestouch NINJA Tenkeyless はデザインがクール

Majestouch NINJA Tenkeyless は、印字が表面にされておらず、キーの手前に印字されている。現在、この黒軸を使用している。

黒軸

FKBN87ML/EFB2
B0050ODQEI

茶軸

FKBN87M/EFB2
B004ZJPSGI

 

b. こんなの待ってた FILCO Majestouch MINILA Air。

今度買うなら、ワイアレスで接続でき、なおかつ Ctrl キーと CapsLock キーを入れ替える機能が付いている FILCO Majestouch MINILA Air かな。

Majestouch 黒軸の打ち方の変化」 につづく