2009年4月27日月曜日

and on and(アンドナンド)のドーナツを食べてみました

結論、ミスドの方がいい。

家族分も入れて12個2500円分買ってきたけれど、評判悪し。。。値段、おいしさともにミスドの方が上。お店の雰囲気はアンドナンドの方が上品かもしれないけど、ミスドの上位として期待していただけに、残念。。

全体的にシナモンの香りが強いですね。そしてミスドの強みでもあるモチモチ系のドーナツがなく、みんなシナモンに制された感じがしました。かと言ってしっとりもしてないんですよね。後味もべたべたするし。

ミスドのドーナツなら1日持たずに完食するのに、アンドナンドのドーナツは2日経っても残っていました。写真は2日目の夜の映像。

ドーナツ屋はこれでミスド、アンドナンド、miel、クリスピークリームドーナツ、ドーナツプラントと回りました。そのうち何でも比較をしようかな。

参考にしちゃダメ!: PowerPointで曲線を描くときのコツ by Microsoft

図形を描くためだけにマウスの速さ変えろとか、やだよ!!:B

OfficeももうVer.12(=2007)まで出ているというのに、オートシェイプの連続直線や曲線の描きにくさは直る気配がない。いい加減制御点をグリッドにスナップするようにしてほしい。何とかいい方法はないかとググった結果が上記のあり様。。。

図形はPowerPoint2007とInkscapeを行ったり来たりで使ってるけど、PowerPointで直線や曲線が楽に描けるようになったら、簡単な図形ならInkscapeいらなくなるかも。

というか、簡単な図形でもInkscape使わなきゃならない現状を何とかしてくれ!:(

2009年4月20日月曜日

2009年の桜と花粉症と泣ける場面ベスト10!

 

とても今更ですが、今年の桜の写真を掲載します。

今年は咲いてから気温が下がったため、1週間以上桜の満開を楽しむことができました。晴れの日も続きましたしね。この写真はそのときに会社休んで撮ってきた中の1枚です :D 場所は近所の公園。

ところで今年は、職場が変わったためか体が弱っているせいか、花粉症らしい症状が出ました。鼻には来なかったのですが、目に来ました。かゆくなるんです。眼科に行って目薬をもらったおかげでだいぶ楽になりましたが、今でもたまにかゆくなります。

かゆくなったらその目薬をさせばいいのですが、いつも持ち歩いているわけではありませんし、会社の打ち合わせや電車の中でさすわけにもいきません。そこで、映画やマンガの泣ける場面を思い浮かべて涙を流せば、かゆみがおさまるだろうと思い、挑戦してみました。やってみると、結構それだけで症状がおさまるものです。今日はそのときに利用した泣ける場面ベスト10!を発表します。 :)

ネタバレに注意してください

第10位 映画インデペンデンスデイより、宇宙船への特攻シーン
この映画の内容は評価するに値しませんが、敵船へ特攻する前に言うこの台詞「息子に、愛していると伝えてくれ」これが全てですよ。
第9位 ジョジョの奇妙な冒険、第5部、ナランチャとの別れ
案外ジョジョで泣けるシーンというのは少ないのですが、第5部のナランチャとの別れですね。突然すぎて読んでても意外でしたが、ジョルノの「みんなどいてくれ、僕を前に!!」のセリフであまりの突然の出来事に困惑する思いが伝わってきます。
第8位 ジョジョの奇妙な冒険、第5部、アバッキオとの別れ
これも突然のシーンですね。ナランチャの「置いていくのかよぉ!アバッキオを1人で置いていくのかよぉ!!」で仲間との別れの悲しみが伝わってきます。
第7位 スラムダンクより、山王戦、沢北がシュート入れた後で花道が走っているシーン
最初にこれを読んだ時にどれだけ鳥肌が立ったことか。セリフのないスピード感のある描写なだけに、心の底から震え上がる名場面です。
第6位 スラムダンクより、山王戦、三井の4点プレイ
恥ずかしながら、このシーンを見るまで4点プレイを知りませんでした。それを三井がやってのけ、一同が絶句するシーンと何よりあの「ぐひっ」だけでぐっときますよね。
第5位 ワンピースより、アーロン編、ナミがルフィに助けを求めるシーン
ワンピースはいつもそうですが、こういうシーンをとてももったいぶって出してきます。アーロンにナミが苦しめられていても、その口から助けを求められない限り手を出さないルフィ。ナミがルフィに吐くたった一言の弱音「助けて。。。」これで泣かない奴は男じゃない!
第4位 ワンピースより、アラバスタ編、砲弾を持ち去るペル
アラバスタ編はスケールがとても巨大なのにもかかわらず、そのストーリーのテンポにどんどん惹きつけられました。あと一歩というところでクロコダイルの策にはまってしまうビビ。そこにいつの間にか現れたペルが静かなる覚悟でビビに告げる言葉「私はネフェルタリ家に仕えたことを誇りに思います。」これ書いてても涙が。。。
第3位 美味しんぼより、代用ガム、父親の優しさを思い出すシーン
急に違うタイプの漫画に飛びます。美味しんぼの中でも印象深い話、代用ガム。メリケン粉を水で流しながらもんだものをガムとして与えられていた富井兄弟。そのまずさで兄、修の記憶がよみがえる。「こんな物を与えることしかできなかった親は、さぞつらかったろうな…」どうにもならない時代で、何とか子供の願いを叶えようとする父親の思いがここで明らかになるわけで。。。もう、ただただ涙です。
第2位 映画クレヨンしんちゃん、オトナ帝国の逆襲より、ひろしが記憶を取り戻すシーン
クレヨンしんちゃんは子供のためのアニメじゃないですね。そもそもアクションで連載してるし。オトナ帝国の逆襲で現実逃避して子供になりきるひろしを、しんのすけがひろしの靴下で目覚めさせる。記憶が走馬灯のようによみがえり、今の生活を得るまでの思い出がかけめぐる。目を覚まし、忘れていた家族の有難さに嗚咽するひろし、しんのすけが「父ちゃん、思い出した?」ひろしが泣きながらしんのすけを抱きしめ一言、「あぁ…」このあぁがもう、もう、、、たまりませんですよ!
第1位 ワンピースより、メリー号との別れ
ワンピースを1巻からここまで読んできてごらんなさいよ。どれだけ悲しいか分かるから。ウソップの涙がどんな思いか。ルフィの叫びがどれ程の思いか。これは何度読んでも泣けます!(1位なのに解説が薄っぺらい!)

泣ける場面を10個出しましたが、どれも手堅く涙します。何度でも泣けますね。これだけあれば今後何度花粉症が来ようと大丈夫そうです。

Posted by Picasa

2009年4月6日月曜日

Word文書のチェックツールを作ってみました→障害だらけ。。。

仕事で作成しているWordの文書は日本語は「MS Pゴシック」英数字は「Arial」じゃなきゃダメという書式(フォント)の決まりがあります。そのため、提出前にちゃんと指定されているフォントで書かれているか、ディスプレイをにらみながらチェックします。文字にアンチエイリアシング(or Clear Type)を使っていればパッと見てわかるんですが、そうでない人(何でそうしない??)は、300%ぐらいに拡大してにらみつけています。

まーこんなのちゃんとWordのスタイル機能使って作成していれば、チェックするまでもないんですが、たまにどこぞからコピーしてきた個所があると、コピー元のダメダメな書式が反映されてしまい、検閲に引っ掛かります。

さて、こんな作業に労力も掛けていられないので自動化してしまおうと企みました。VBAでちょちょいとできそうなので。私の場合はVBAではなくC# + COMですが。

要は文書内の「文字スタイル」を頭から走査して、そのフォントを確認すればいいわけです。何の複雑さもないですよねー :)

Word文書の操作を学ぶ

ヘルプを見ると、Word文書(Documentオブジェクト)に対する操作の多くは、操作範囲を表すRangeオブジェクトに対して行うと書いてあります。Excelと同じですね。また、そのRangeを移動するためのNextメソッドというのがあることも分かりました(他にも移動する手立てはたくさんあります)。これはExcelにはないWord独自のものですね。Nextメソッドの引数には、どういう単位で移動するかを表すWdUnits型の引数があります。例えば行単位ならWdUnits.wdRow、段落単位ならWdUnits.wdParagraphといった具合です。具体的なコードは以下の通り。

object wdUnit = WdUnits.wdParagraph;
object value = 1;
while ((range = range.Next(ref wdUnit, ref value)) != null)
{
  ErrorList.Items.Add(range.Text);
}

さらにヘルプを見ると(実際にはVisual StudioのInteliSenseが教えてくれたんですが)、WdUnits.wdCharacterFormattingという値があるじゃないですか。これが文字書式単位で移動するというパラメータのようです。もうこれで8割ぐらいできたも同然です :)

8割できたはずが、大きな壁

ところがどうにもうまく動きません!:o 上記のソースでいえば、range.Textで取ってきた値の一覧を見ると、文字書式毎の一覧になりません。というか、そもそも欠落だらけで、何単位で取ってきたのかもよく分かりません! wdCharacterFormattingがうまく動かない(=バグ)なのかと思い、試しにwdRowを指定してみると、実行時に「引数が違います」と怒られてしまいます。もうわけが分からない!!

WordのVBAに関する情報は少なく、この状況を打開できる術がありません。。純正ヘルプとMSDN以外では、日本語の情報はほとんどありません。

困った困った。。。

brタグの正しい利用場面はどこ?

HTMLには改行を表す<br>タグというものがあります。間違って使われるタグとして有名な<br>ですが、そもそもどこで使えばいいのでしょうか?

個人ブログなどではよく段落の区切りとして<br>を使っているのを見ますが、これは言うまでもなく誤りです。段落は<p>で区切るべきです。段落区切りのために<br>を使ってはいけません。reflux flowによると、<br>段落内で視覚整形目的で改行を入れたい場合に使うのがそもそもの目的のようですが、視覚整形はCSSで全てやるべきですよね。<address>内の区切りを示したいのなら、<address>を複数入れるべきです。

誤って使われる一番の理由は、WYSIWYGなエディタで改行を入力すると、自動的に<br>に変換されてしまうことにあると思います。だからブロガー達は知らず知らずに誤った使われ方をしてしまうのです :s エディタ内での改行は<br>ではなく、<p>タグの終了を表すようにすればいいのです。<br>を複数入力して大きくスペースを開けたい場合はstyle="margin-bottom: 100px;"等の属性指定をすればいいのです。そんなWYSIWYGエディタ作ってください。Googleさん。(まずはBloggerから。。)

XHTMLでは同じ空要素として<hr>タグが定義されていますが、これはCSS非対応のブラウザに対して区切りを示すために使用することが許されているようです。う~ん、CSS非対応なら独自の視覚整形機能を持っているだろうから、<hr>は不要だと思うんですけどね :s <br>も同じようにCSS非対応のブラウザのために使えばいいんですかね?

結局、ソースコードを載せるときの書式として、長い行を要素の端で折り返して、かつ任意の場所で改行したい場合に、<br>を使うぐらいしか思いつきませんでした。正しい使い方、というよりそれしか実現方法がないから使う、と言った方がいいかもしれません。

ちなみに、上記のソースコード表現を行う場合に注意があります。ソースコードの表現には<pre>を使ってwhite-space: normal;を指定すれば上記条件を満たせますが、white-space: normal;だと連続する空白文字列が1つにまとめられてしまいます。これを回避するには、空白文字を&nbsp;に置換する必要があります。めんどくさいですね。(CSS2.1にはpre-wrapがありますが、IE8で初めてサポートされるぐらいレアな値なので、まだまだ使えません :( )

<br>の正しい使い方については、同じような議論は色々なところで行われています(Robert's talk等)が、結局よく分からず。積極的に使おうとする必要はないんでしょうか。

詳しい人いましたら教えてください!

無線LANの暗号化方式の変更

もう大分経ちますが、WEP64の暗号化キーは数秒で解読されてしまうという記事を見ましたので、家の無線LANの暗号化方式をWEP64からWPAのAES方式に変更しました。

暗号化設定の変更なんてルータ側はすぐできました。管理画面入って設定するだけですから :) 問題はクライアント側。ノートPC2台、デスクトップ1台、iPod touch 1台、無線プリントサーバ1台、結構大変だった。。。

中でもiPod touch。AESの事前共有キーを打つのに1回失敗しました。64桁ありますからね。。。

そして無線プリントサーバ。こいつは管理画面とかないのでどうするのかと思いましたが、coregaの製品ページに専用ソフトウェアがあり、なんとUSBメモリに設定データを入れ、それをプリントサーバにさせば、自動で設定完了というやり方でした。一応無線通信のままできました(USBメモリ使っているので、オフラインとも言えますが)。

全ての作業を無線接続のまま完了させることができました。1回ぐらいルータと機器をLAN接続しなきゃダメかと思いましたが、やればできるんですね。

しかしこの作業をあまりコンピュータに詳しくない人にやらせるのは、とても無理だと思います。機器毎に設定が違うんですもの。。。

2009年4月3日金曜日

よいインターフェイスを探して: バスの降車口

今朝、通勤するサラリーマンで混み合うバスに乗っていたところ、あるバス停で、席に座っていた子連れのお母さんが立ち上がり降りようとしました。

そこはバスの先頭側の席で、降りるためには後部の降車口まで移動しなければなりません。混み合う車内ではちょっとした面倒です。

しかしこの親子、席から立ったはいいですが、降り口へ向かおうとしません。降りなければならないのに、うろたえながら、運転席まで戻って、運転手に「降ります」と告げています。

それに対し運転手は「後ろ開いてるでしょ」と親子に返しました。そこで初めて、降車口はバスの後部にあることに気付き、降りて行きました。そう、このバスは特定の停留所を除いて、バスの中部にある降車口は開かないのです。親子はそれを知らなかったため、降り口が開いていないと思い、戸惑っていたのです。

車内は混んでいましたので、この親子の位置からは、後部の降車口は恐らく見えなかったと思います。まして、目の前に降り口があれば、奥にもう一つ降り口があるとは、知らなければ気づけなくても仕方がないと思います。

さて、利用者が困惑するということは、そのインターフェイスが悪いと言えると思います。この場合何がいけないのでしょうか。

2か所ある降車口
そもそも降車口が2箇所あるのに、その開き方が一定でなく、予測不可能なところが考えものですよね。このバスの扉は、一部の停留所と終点でのみ2か所開きますが、全ての停留所で開くと何か問題があるんでしょうかね。開き方を統一すべきです。
どっちが降り口なのかを知らせる手段が1つしかない
2つの降り口が不定な動きをするなら、それを乗客に知らせる必要があります。真ん中の(滅多に開かない)降車口は「このドアは一部の停留所でしか開きません」と書いてあります。が、先の親子のように、混雑しているときに乗っている人は気付けません。シンプルに社内アナウンスして利用者に知らせるべきだと思います。どうせ降車案内なんて録音なのですから。いい例として、JRは左右どちらのドアが開くか、各駅ごとにアナウンスしていますよね。
乗客が困った時の運転手の態度
接客だってユーザインターフェイス(UI)です(ユーザと接するものはすべてUIです。)。迷ったユーザが助けを求めているのですから、シンプルに「後ろ側の扉を開けていますので、そちらから降りてください」と教えてあげればいいのです。今回の例では運転手は「後ろ開いてるでしょ」と迷っているユーザが間違っているかのような扱いをしてしまいました。これは大きな失敗です。接客マニュアルでそうなっているのか知りませんが、ユーザは迷うもの、実体は理解されないものなのですから、ユーザからのと問いに対して正しく導いてあげればそれでいいのです。それができなかったというのは大変残念です。(この際、接客云々は言いません。)

バスの降車口なんて、数回利用すれば覚えてしまうものかもしれません。しかし、ひょっとしたらこの親子は今後使うことがないかもしれません。ずーーっと悪い印象ばかりが残ってしまうことになります。最初に利用する人のことを考えて設計することをちゃんと考えるべきです。

下の絵は昔インターフェイスの授業で習ったものを再現したものです。分かりづらいかもしれませんが、4口ガスコンロです。この絵を見て、どのツマミがどのコンロを操作するか分かりますか?

ちょっとコンロの位置を変えるだけで、ツマミの対応が推測しやすくなります。 いいインターフェイスとはこれぐらいの違いでいいんです。最初からこうなっていればいいんです。慣れればわかるからいい、ではダメなのです