Zinnia hacks tomorrow. (Digest)

はやおきをすると、いいことがあるよ
(なかまにしてほしいといっています)

お勉強会 やっています。よかったらご参加下さい。

オリジナルはrisky-safety.orgの方です。zinnia.dyndns.orgはミラーです。

アンテナ被捕捉状況: 1コ上におひっこし

他の記録

おしらせ

とくになし。強いて言うなら転職したいです(重大すぎ)

2013/05/23 (Thu)


= Word

_ テンプレートとして提示されているものがいろいろおかしいのと、 それをよく理解していないまま使っているのが悪いらしく、なんだかおかしな 動きをはじめてこのまま行くと収拾がつかなくなりそうな気がしたので 立ち止まって考えてみた。

_ あいかわらずアウトラインがわからない。アウトラインには苦しめられた 経験しかない。特定の操作でわけがわからないことになるようなのだが、 その「特定の操作」というのが何なのかが分からないとか、ずっと後になって分かる、 というような事例が多すぎる。そして、起こっていることがよくわからないので、 そこから引き返すことができるのか、最初からやりなおすしかないのかの 判断もできない。そういう操作ができないようなStrictモード的なものを 作ってほしい。無造作に並んでいる設定項目のうち、こいつだけは後戻りできない 決定的な変更をもたらすとか、統一していたつもりが気づかないうちに設定が複数に 分かれていたとか苦行すぎる。

_ 文書全体で統一したアウトラインを定義したいのだがやりかたがわからない。 新しいアウトラインの定義はあるが、既存のリスト定義の変更方法がわからない。 「作業中の文書にあるリスト」のどれがどの部分に適用されているかわからない。 アウトラインレベルによって「箇条書き」が選択されていたり「段落番号」が 選択されていたりわけがわからない。 アウトラインのことを体系的に説明している文書がない。 そもそもOfficeのドキュメントが見当たらない。

_ 件のテンプレートは、「見出し4」がレベル4かつレベル6になっていた→ アウトラインレベル6に見出し4が設定されていた、とか、「見出し1」と「見出し 1」 があるとか、いろいろアドベンチャラスな状態になっていた。

_ Wordに関してはいろんな本があって、間違いの起きづらいような使いかたや、 注意点を教えてくれる (あまり好きな言葉ではないがバッドノウハウというやつなんだろう)。 以前読んだ本もそういう類のもので、 知らないまま使ってると大変!というものばかりで有用なのは確かなんだけど、 こういうことはしてはいけない、さもないとおかしなことになるよ、 とは書いてあるが、すでにおかしな状態になっているときに、なぜそうなったのか、 とか、どのように直せばいいのかといった問いに答えてくれることはなかった。 したがって今回のようなケースではそういった本で得た知識は ほとんど役に立たなかった。(知らずに済むわけではないので無駄ということはないが)


= VBAで文書構造を眺める

_ そういえば私はVBAが書けるのだった。とりたてて言うほどのことでもないし、 自分でもすっかり忘れていた。隠し芸とか、ぎりぎりのところで生死を分ける 些細なスキルとか、持っててよかったPSPのようなレベルの話ではある。 前職の前半はほとんどAccessのVBAを呪いながらいじっていたように思う。 VBAで文書構造を眺めて何が起きているのかを調べれば、 少しは「何が起こっているのか分からない」状態から脱することができるかも しれないということに気付いた。

_ Documentが文書全体で、Paragraphsが段落、Stylesがスタイル、 ListTemplatesが箇条書の書式というやつらしい。 StyleにどのようなListTemplateが指定されているのかを眺めた。 どのような操作をするとListTemplatesにエントリが増えるのか (そして誰からも参照されないエントリができるのか) などを 眺めることができるようになった。

_ 結果的には、分からないことは分からないままというケースも多かったが、 調べるべきポイントが絞れたので(具体的には「何をキーワードに検索すれば よいのか」が分かる)、多少見通しはよくなったように思う。 結局、ListTemplatesというのが確認しづらいような作りになっているため、 不整合や増殖(実際には意味があって増えているんだろうが、 それが隠蔽されているので増殖以外に適切な表現が思いつかない。 消せないし。)が 起きやすいようだ。

_ あと、アウトラインの「番号書式」の設定を期待通りにできたことが 生まれてから一度もなかったんだが、これもVBAならかんたんだった。 NumberFormatに「%1-%2-%3」 みたいな値をセットしてあげるだけ。 この先の人生でもアウトラインの設定画面では期待通りに設定できないような 気もするがまあいいだろう。

_ なお、マクロは見たりいじったりしたい対象のドキュメントに入れなくても、 適当な文書(docm)を作ってそこにマクロを入れておき、対象のドキュメントを 選んでからVBEでそのマクロを実行すれば、 ActiveDocumentがその対象ドキュメントになってくれるのでよい。

_ それにしてもStyle.ListTemplateと、ListTemplatesの中身(の参照)を 一致させる方法がよくわからなかった。Scripting.Dictionaryに入れても 別ものとして扱われてしまうし、Is演算子でもFalseになってしまう。 他に一意に識別できるフィールドが見当たらなかったので、 調査に先立ってNameプロパティに適当に名前をセットしてやっている。 こんなこと面倒なのでやりたくないんだが。

_ また、最初はPythonのwin32comというやつでやろうとしたのだが、 いろいろ遅かったのでマクロにした。 このあたりはどうしてもマクロの方が身軽だなあと思うが、 VBAだけでやりたいことを書くのはあまり楽しい作業ではない。 それにいろいろ変なところが...ヘルプがほとんどNot foundになったり 「特にお勧めのコンテンツはありませんが、ご自由にご覧ください。」 と言われたり、変数をウォッチしようとしたらなぜかOutlookを起動しようとしたり、 うんざりするようなことが多かった。


= Word's numbering explained

_ 調べかたが分かったのでこういうページを見つけることもできるようになった。 Simple List numberingにある苦悩に満ちた解説は 今の自分の心境によく合っている。知らずに済めばいいし、 知らずに不自由していなければ知る必要のないものだろう。


= 貼り付けなど

_ おかしなことが起こったときのアドバイスとして、 「最初からやりなおした方が早い」とか、 「いったんメモ帳にペーストしたりrtfにしてから...」なんていう 素敵なものばかりでひどい話だと常々思っていたが、 ↑でいろいろ眺めたり調べたりした結果、素敵どころか 他に方法がないじゃないか(感動)と心境が変化した。

_ いつでも1からやりなおせるためには、その手順を確立しなければいけない。 ペーストにはいろんなオプション (形式を指定して貼り付け) があるけど、 具体的にどう違うのかがよくわかっていない (そしてどの形式であっても期待通りになった記憶がない)。

_ 「貼り付け先のテーマを使用」「元の書式を保持」などが具体的にどういう 動作になっているのかを眺める。動きだけを見ると、 前者は元の書式が存在しなければ貼り付け先にその書式ごと持ってきて コピーしてくれるが、後者は「標準」に戻ってしまう。 字面から期待する動きとは反対だった。


= PowerPointで作成した図形をWordに貼り付ける

_ PowerPoint 2013は図形を編集するのにいろいろ便利な機能がある。 他のコントロールと高さが合っているか、間隔が均等かどうかなどを知らせるための 「ガイド表示」とか。 Wordにも「配置ガイド」というのが存在するけど、 PowerPointでやってくれたような図形間の関係を示すものではなく、 図形と段落の関係などをガイド表示してくれるだけだった。

_ PowerPointで図形を作成してストックしておき、それをPowerPointやWordで 使いまわすようなことができないか試してみた。PowerPoint→PowerPointは 問題ないのだが、Wordはなんだか思い通りには行かなかった。

_ 「貼り付け先のテーマを使用」はまったく話にならなかった。 「元の書式を使用」にすると、いい線いっているのだが、 テキストが入り切らずに切れてしまったりしている。マージンの設定は合っている (単位がmm→cmだったりといった違いはある) けど、 どうやら行間の幅が合っていないようだ。

_ 見た目上比較的良好な結果を得られた方法が2つあった。一つは画像として 貼り付けてしまうもの。ただ図形は図形として使いつづけたいし、 Pixelとしてアンチエイリアスがかかってしまったりあまりうれしくない。

_ もう一つはスライドをまるごとPower Pointとして貼り付けてしまう方法。 拡大縮小もできるし、「トリミング」で表示したいところだけを選んだりも できるらしい。ただし編集はPowerPointでしかできないし大げさだ。 バナナとったらゴリラとジャングルがくっついてきたというJoeの名言を 思い出したが文脈が全然違う。

_ なんとか図形としてそのまま貼り付けることはできないかと 思っていろいろいじってみた。ひと口にShapeといってもWordとPowerPointでは 中身は違うらしい。 Wordだと行間はShape.TextFrame.TextRange.ParagraphFormat.LineSpacing に設定があるんだけど、PowerPointのShapeには存在しない。

_ 見た目は似てるが中身がぜんぜん違うのかもしれない。 そもそもPowerPointの図形内のテキストに段落という考えかたはないだろうし。 したがって目の前でうまくいっているように見えても後で困ったことが 起きるという可能性もあるので、現時点での結論ではPowerPointで図を作って Wordに貼り付けるというのは手順として成立しないということに。



= もみじ

_ すっかり落ち着いている。トイレもきちんと理解しているようで、 したくなったらきちんとトイレに赴いてしてくれる。預かっていた当時のことを 思うと見違えるようだ。散歩もかなり長いこと歩く。脇目も振らず速足で 延々と歩いている。これも以前とは だいぶ様子が違う。

_ ジョンを怖がっていたのは最初の2日程度だった。 急に近付いてきたジョンに びっくりしたもみじを見てびっくりしたジョンを見たもみじが (ややこしい) どうやらこいつはたいして強くないし、それどころかかなりビビリだと 気付いたというのが立場が変化した瞬間だったようで、それ以降はかなり 強気になった。ジョンもまずいと思ったのか、すぐに唸ったり吠えたりで 追いつめようとしたのだが、さほど効果がなかったようだ。

_ 以後は、ジョンが身体を丸めて寝ているところに近付いてみたり、 少しずつ距離を縮めながら最後には尻をぴったりくっつけて寝はじめたりと ほとんど恐れる気配がなくなった。尻をくっつけられたとき、 ジョンがびくっと身体を震わせたので逃げるかなと思ったら、 丸めていた身体をぐにゃーと伸ばしてそのまま寝つづけていた。 ジョンといえば逃げるか耐えるか怒るか飛びかかるかといった反応しか見たことが なかったので、びっくりしたけど逃げないという反応は非常に新鮮だった。

_ ひょっとしたら他の犬が親愛(なのか舐められているのかは分からないが)の 感情を持って接して来たなんていう経験は生まれて初めてなのかもしれない (つぼみはめったにジョンに近付くことはないし、ジョンからちょっかいを出すと 容赦しないので)。 人間との関係はだいたい見えてきたけど、犬との関係はまだまだ開拓の余地が あるのかもしれないなあと嬉しい発見だった。 (とはいえそこから2日経過したけど それ以上の進展があったわけではない)


2013/05/20 (Mon)

_ ちょっとガス欠気味だった。家に辿りつけないかと思った。


= もみじ

_ 以前一時預かりをしていたチワワの子。 家にいた頃は「鈴」という名前だった。 もう2年も前のなのか。 里親さんが1週間強の旅行に出るということで、その間うちで預かることになったらしい。

_ 来てすぐは怯えて震えていた。ジョンが興奮して吠えるので怖かったようだ。 あまりにジョンがうるさいので仕方なく抱っこして外に出て、少し落ち着いてから また家に戻って、ジョンの視界に入らないところでいっしょに横になってみた。 最初は距離を置いていたが、少しずつ身じろぎしながらこちらに近づいてきて、 10分ほどでぴったりくっついてきた。

_ 来た当初は顔をあわせてくれることはなかったんだけど、 ジョンにも数十分で慣れてしまったらしく、 すぐに昔と変わらない表情で遊びまわっていた。 「もみちゃーん(裏声)」と言いながら近づいてゆくと、尻尾をぶりんぶりん振りながら 身構えている様子は昔と変わらない。 2年前より毛を短くしているようで、かなり骨ばった感じを受ける。 食が細いらしく、なかなか太らせることができないらしい。

_ 妻によると歴代の預かりっ子に対する私の態度の中でもみじは別格らしい。 あんまり自覚はなかったんだけど、言われてみればそうなのかなあと思った。 ロッタやメイ子(サン)はとにかくいい子で、優しさだけを与えたいと思ったし、 ジョンは困った子成分が多くてそれはそれでかわいらしいが、 いい子と言い切ってしまうのは油断に繋がるような緊張感がある。 もみじは「いい子」の成分と「困った子」の成分と、「可愛い」の成分が 絶妙なんだろうと思う。 コパンはそういう成分からは超越した存在だった気がする。


2013/05/19 (Sun)


= 走った

_ 昨日は深夜作業開けで睡眠リズムがおかしくなったので積極的休養のために走った。 昼間に10km、夜にジョンといっしょに6kmほど。

_ けっこう疲れたらしく今日は寝坊してしまった。学習していない。


= 実践パケット解析 / パケットキャプチャ入門

_ キャプチャを見る動機が機器レベルの問題というよりはアプリケーションレベルの 問題が多いので、最初にトレンド分析をしましょうとか、言われてみれば そうだなあという基本を知らなかったことに気付いた。

_ パケット分析本はかなり前に読んだ「ミニ実験でつかむパケット解析手法」が とても有用で、あの本のおかげで TCP、UDPや、その上に乗る各種プロトコルの仕組がよくわかったという体験があるので、 あの本に比べると知的興奮はどうしても少なめだ。まあ最初に読んだ本がそれだから というだけの理由なのかもしれないが... でもやはり「ミニ実験でつかむ〜」の方が 構成に無理がなくて理解しやすいような気がする。


= 美術品はなぜ盗まれるのか

_ 盗まれる側としてこう見えているというだけでかなり臨場感があって面白いが、 本の特性として「真相」が明かされているわけではないという点がある。

_ 後半は美術品の盗難に関する著者の経験と考察になっている。 適切な手続きを踏んでいるのは確かだけど、反社会的組織に資金が渡っているのは 間違いのないことなので、決して後味のよいものではない。


2013/05/14 (Tue)


= 7つのデータベース 7つの世界

_ タイトルだけ見たときは各種RDBMSについて扱うのか、それはすごく面白そうだと 思った。実際にはRDBMSは1つ(postgreSQL)だけで、 あとはいわゆるNoSQLと呼ばれているものたちだった。そりゃそうか。

_ NoSQLと一口に言っても取り組んでいる領域や、それによって生まれる特徴は いろいろ異なるのか。知らなかったことばかりで勉強になった。

_ この世界だとErlangをいじれるということがアドバンテージになったり することもありそうな気がする。 あと、FreeMindのバックエンドにこういうの (Neo4jとか) 使ったらどうかなと 思ったりもした。


= EAT & RUN

_ BORN TO RUNの重要な登場人物だったスコット・ジュレクの自伝。 日本語訳版が出ていることに最近まで気付かなかった。

_ 前半は文句なしに面白かった。後半は、下世話な言い方をすると その人柄(ランナーの多くから慕われ尊敬されている)と精神力(骨折れたまま 100km以上走ったりする)が逆に働いているのか、 迫力に欠けるというか、語るべき/語りたいことを書いていない気配を感じた。

_ スコットは自分に適した食生活を追求してゆく中で veganになったという経歴をもっている。 veganなんてNethackのvoluntary challengeでしか見たことがない単語だ。 乳製品や卵に加えて蜂蜜も摂らないらしい。知らなかった...(と思いながら Nethackのspoiler見たら確かにロイヤルゼリーは食べてはいけないことになっていた)。 それはともかく、そんなスコットが試行錯誤して編み出したvegan向けの 料理がカラー写真とレシピつきで出ているのがよかった。また、 何個かあるコラムもスコットの人柄が出ていてよい。


2013/05/12 (Sun)


= お勉強会

_ Erlang版testspriteのSDLとGLの速度差を調べる話の続き。fprofで眺める限りでは 単純にGLの方が関数呼び出しの回数が多いからとしか思えない結果になっている。 それにしても、fprofしたときのトレースの量がまるでちがう。

Eshell V5.10.1  (abort with ^G)
1> fprof:start().
{ok,<0.35.0>}
2> fprof:apply(testsprite2, go, [[{numsprites, 1000}]]).
Palette found set key 0 to transparent
<0.38.0>
Got event {active,0,1}
101.1223585519876 FPS
102.57206932676873 FPS
71.09599699706418 FPS
88.58784505090068 FPS
105.5766376828916 FPS
3> fprof:profile().
Reading trace data...
...............................
End of trace!
ok
4> fprof:analyse([{dest, "fprof.sdl.analyse"}]).
Processing data...
Creating output...
Done!
ok
5> q().
ok


Eshell V5.10.1  (abort with ^G)
1> fprof:start().
{ok,<0.35.0>}
2> fprof:apply(testspritegl, go, [[{numsprites, 1000}]]).
Palette found set key 0 to transparent
Got event {expose}
5.744086582531754 FPS
6.382529543747331 FPS
6.223374131540108 FPS
6.379600980495597 FPS
6.40970014436617 FPS
ok
3> fprof:profile().
Reading trace data...
..................................................
.................................................,
..................................................
.................................................,
..................................................
.................................................,
..................................................
.................................................,
..................................................
.................................................,
..................................................
.................................................,
..................................................
.................................................,
..................................................
.................................................,
..................................................
.................................................,
..................................................
.................................................,
..................................................
.................................................,
..................................................
.................................................,
..................................................
.................................................,
..................................................
.................................................,
..................................................
.................................................,
..................................................
.................................................,
..................................................
.................................................,
..................................................
.................................................,
..................................................
...............................................
End of trace!
ok
4> fprof:analyse([{dest, "fprof.gl.analyse"}]).
Processing data...
Creating output...
Done!
ok
5>
フレームレートはSDLの方が20倍くらい上なので各種呼び出し回数は SDLの方がずっと多いはずなのに。

_ 他にやったこと:


= 仕事環境検討会2

_ 転職の気運が高まると開催するという見え透いた裏事情によって開催。

_ 普段より仕事の話題が多めの反省会という感じで推移した。 早目にスタートしたので20時にはすっかり満足して解散。 とても楽しかった。料理もおいしかった。

_ あんまり身構えるような話をしたかったわけではないが、 しかしもうちょっと聞きたいことを絞っておくべきかなと終わってから思った。 満足しているところ、不満に思っているところ、辞めたくなるときってどんなとき? そういうときどうしている?など。


= 完全個室居酒屋 燻製工房 新宿三丁目店

_ 仕事環境検討会2で利用した。安くてどれもおいしかった。 個室で居心地もよい。(間仕切りが天井まで至っているわけではないので遮音性は さほどない。有線もかかってる)

_ 漬けたもの、干したもの、燻したものなどが大好きな私としては大満足だった。 特に感銘を受けたのは以下の通り:

かなり飲み喰いしたが一人4000円で済んだ。





Zinnia (zinnia@risky-safety.org)
Back