Category Archives: Uncategorized

週末高速道路割引の恩恵を受けるため、友人らと尾瀬に行って来た。折良く水芭蕉が咲いていた。

ミズバショウとリュウキンカ PENTAX DA★60-250mm F4ED

リュウキンカ PENTAX DA★60-250mm F4ED

木と至仏山 PENTAX DA★60-250mm F4ED

燧ヶ岳 PENTAX DA★60-250mm F4ED

尾瀬にくるのは二回目であった。とはいうものの、小さい頃の家族旅行で行ったのが初めてで、木道を歩いたことぐらいしか記憶に残っていない。

尾瀬の湿原の第一印象は、日本にこんなに広いところがあったのか、というもの。遠くまで平地を見通せるその広さに感動した。後で写真を見返しても、その広さを納め切れていないことが残念だ。天気は曇りだった。前日の予報では雨が降る可能性もあったのでまあ御の字である。土曜日に戸倉で一泊して、日曜日の早朝から出かけ、昼には戻ってきた。というのも、高速道路料金割引で、帰りの道が混雑することを恐れていたからだ。実際、五月の連休直前に千葉に出かけたときの帰りの首都高はひどかった。今回は午後二時頃戸倉を出て六時には東京に着いた。特に長い渋滞に巻き込まれることもなかった。

まずは午前中、目黒の東京都写真美術館に、野町和嘉写真展を見に行った。これが非常に良かった。彼の写真集を見たことはあったのだが、写真集と美術館の大きなプリントでは全然印象が違う。現代日本人とは大きく異なる生き方にショックを受けた。

午後は上野のルーブル美術館展を見に行った。館内に入るまで60分待ちの長蛇で、入ってからも人ばかりで大変。友達と大勢で行ったので並ぶのは苦にならなかったが、一人で並んでる人は苦痛だったろうな。4,5枚気に入った絵があったけど、全体としてはなんかあっけない感じ。写真展が800円だったからこれで1500円は大分高く感じる。

夜は新丸ビルのドイツレストランで乾杯。楽しい一日でした。

たまたま見たMycomの記事でフルスクリーンエディタが紹介されていて便利だと思ったので使ってみた。何かものを書くときに(特に論文)文章だけに集中できる環境があるといいなと思っていた。

紹介されていたのはWriteRoomというマックのアプリケーションなんだが、フリーウェアではないところがちょっと残念。フルスクリーンなところ以外はマックの標準テキストエディタのように使える。

ぼくは普段、VIMというテキストエディタを使うので、それにフルスクリーンモードがあると便利だ。ウェブで検索してみるとMacVIMというテキストエディタはそれをサポートしているらしい。MacVIMはオリジナルのVIMをマックユーザ向けに改造したものでフルスクリーンモードやウィンドウの透過をサポートしている。しかも無料で使える。

以下、設定の覚え書き。

ウィンドウの透過を有効にする。テキスト入力時に日本語入力モードを自動的にONにしない。これらをmacvimでだけ設定するようにする。

  if has ('gui_macvim')
    set imdisable
    set transparency=20
  endif

MacVim Fullscreen Mode

フルスクリーンモードにするには

:set fu

とする。逆にフルスクリーンモードをやめるには

:set nofu

とする。

包丁の切れ味が明らかに落ちていたので砥石を買った。よく切れるようになった。以前は本当に切れてなかったということがよく分かった。たとえば、青 椒肉糸を作るには肉を細切りにしなければならないが、包丁がうまく切れないせいで、どうしても太切りになってしまう。今度はきっと細切りにできるはず。

砥石は1700円した。高い砥石もあるけど、今使っている包丁は多分そんなに高価なものではないので、そこそこの値段で買えることが条件だった。高 い砥石を買うくらいなら新しい包丁を買うだろう。けれども、なんとかシャープナーみたいなのはいやだった。あの四角い形にはこだわった。包丁を削るのは砥 石から出た細かな粉末なんだそうだ。だから、やたらと水をかけて粉を流してしまっては包丁は研げない。

研いだことで分かったことがある。切れる包丁を使うと速く切れるようになる。トントントンとリズミカルな包丁さばきは包丁が研げているからできるみ たいだ。古い記憶を思いだしてみると、力で切るのではなく、包丁の重みで切れと家庭科の授業で習った気がする。力を抜くということとリズミカルに切るとい うことはどこかに繋がりがあるような気がする。

水筒を買った。THERMOSの携帯マグというやつで、ふたを開けてすぐ飲める(ふたに飲み物を注がなくていい)。それに保温・保冷機能がついている。これまではプラスチックの水筒を使っていたが、冷たい飲み物がぬるくなってしまうのが不満だった。新しい水筒はこの不満を解消できる。さらにいいのがお茶を作り置きできること。お湯を沸かす手間が省ける。いままでは一人用の急須でちまちまお茶を入れていたのだが、この水筒は約500MLの要領があるのでおっきい急須でお茶を作って入れておける。

論文を書くのにマインドマップを使うようになった。始めに大まかな構造だけ図にしておいて、研究メモをそこにくっつけていく。そうするとあら不思議、いつのまにか論文のひな形ができあがる。あとは細かいところを埋めて、文章にすれば(これが大変なんだけどね)、論文が書ける。文章にするのは簡単ではないけれど、構造のしっかりした文章を作ることが出来る。

以前はKDE4で使えるSemantikを使っていたけど、Alphaに近いBetaバージョンだったし、日本語入力できないし、作者のオープンソースに対する姿勢が気に入らなかったので使うのをやめにして、いまはFreeMindを使っている。実はSemantikのキーバインドは気に入っていた。その時はFreeMindは見た目がゴテゴテしてるし、Javaアプリケーションだ(デスクトップ環境のネイティブアプリケーションではない)という理由で候補から外したのだった。

今回、FreeMindのBetaバージョンを使ってみて、思った以上に使えるということがわかった。一つには、ショートカットがある。これは単に今までの自分が怠惰すぎたというだけなのだが、デフォルトのショートカットは充分に使いやすいし、気に入らないなら自分で他のキーを割り当てることも可能だ。二つ目は、GUI。見た目超重要。インストールした直後の状態はツールバーとかノート領域とかゴテゴテしてるけど、これはメニューから非表示に出来る。これらを消すと見た目がシンプルで、個人的にはマインドマッピングに集中しやすくなる。三つ目はノードのスタイル。見た目やっぱり重要。Semantikのもう一つのよかったところはノードのレイアウトとか色分けとかが洗練された感じだったところだった。インストール直後のFreeMindはダサイんだけど、これもちょっとした手間で変えられる。「自動レイアウト」という機能が便利だ。これで煩わされることなくメモに集中できる。

FreeMindはJavaアプリケーションだけど、Macで使っている分にはネイティブアプリケーションと大差ない。TEXをMac上でコンパイルしているので、文章を書くアプリケーションをMac上に集約できたのは非常によかった。


ちょっと太めの青椒肉糸になってしまった。もっと細く切らないと。

はじまりはFirefoxの不調だった。たまたま間違えてブラウザを同時に二つ立ち上げてしまったところ、極端に反応が鈍くなったので、OSを再起動してみた。ところが、その後ログインできなくなってしまった。

コンソールは生きていたので、そこからログインしてシステムログを調べてみるが、以上はない。困ったなぁ、こりゃ再インストールするしかないかなぁ、と思いつつ、最後の悪あがきに設定ファイルを編集しようとしたところ、ディスク容量がいっぱいで編集できない。どうやらこれが原因のようだ。

さらに原因を特定するため、調べてみると、Firefoxのログファイル、正確にはGoogleBrowserSyncのログファイルが139Gにもなっている。そういえば、前にもこれでトラブったなぁ、と思い出しつつ、ログファイルを全部削除し、Firefoxの設定を変更して無事復活した。

マックでもFirefoxを使っているので、念のためそちらも変更しておいた。Linuxでは$HOME/.mozilla/firefox/ランダムな文字列.default/browserstate-logs/が諸悪の根源だったが、マックは独特のディレクトリ構成をとっているので、これを探すのにまたひと手間。マックでは、/Users/ユーザ/Library/Applicaion Support/Firefox/Profiles/ランダムな文字列.default/browserstate-logs/になる。

アパートのブレーカーが壊れた。昼間から「漏電プレーカー」が頻繁に落ちていたのだが、夜8時半頃、ついに落ちたまま上がらなくなった。仕方がないので、東京電力の人に来てもらったところ、ブレーカーの故障だという。しかも、型が古すぎて(1978年製)その場しのぎの修理も出来ないとのこと。現代にあって今、家は停電の真っ最中である。雪の降るような夜でなくてよかった。明日の朝一番で大家さんに修理をお願いしなければならない。

現在のIPとSPを保存したい。単純に書くと、

#define CURRENT_IP_SP(ip, sp) \
    __asm__ __volatile__ ("movl %%eip, %0  \n" \
                          "movl %%esp, %1  \n" \
                          : "=r"(ip), "=r"(sp) ::)

となるけれど、IA32アーキテクチャでeipは一般レジスタではないので、このコードはコンパイルできない。同じことをやろうとしている人がメーリングリストで質問していた。

> I’m trying to get the EIP value from a simple program in C but i don’t
> how to do it. I need it to know the current address position on the
> code segment.
>
> main() {
> long *eip;
> asm(“mov %%eip,%0″ : “=g”(eip));
> printf(“%p\n”, eip);
> }
>
> Unfortunately EIP is not that kind of register :P
> Does anyone know how to get EIP?

IA-32 Intel® Architecture
Software Developer’s
Manual
Volume 1:
Basic Architecture

3.5. INSTRUCTION POINTER

[...]

The EIP register cannot be accessed directly by software; it is
controlled implicitly by control- transfer instructions (such as JMP,
Jcc, CALL, and RET), interrupts, and exceptions. The only way to read
the EIP register is to execute a CALL instruction and then read the
value of the return instruction pointer from the procedure stack. The
EIP register can be loaded indirectly by modifying the value of a return
instruction pointer on the procedure stack and executing a return
instruction (RET or IRET). See Section 6.2.4.2., “Return Instruction
Pointer”.

[...]

つまり、IPを取得する仕組みはアセンブラを埋め込むのではなく、関数として実装する必要があるといえる。