2009年3月30日月曜日

キャンパシング

効率的に強くなるためにキャンパシングをやったほうがいいと強い人に言われ、キャンパシングについて改めて調べてみたのでまとめてみる。

コンタクトストレングス

キャンパシングの一番の効果はコンタクトストレングス(接触筋力)の向上で、これは簡単に言うと、デッドやランジで次のホールドを触った瞬間にどれだけの力をこめられるかの能力のこと。そのホールドを止められるか止められないかはこのコンタクトストレングスによるところが大きい。

コンタクトストレングスは最大筋動員率によって決まるのだけど、最大筋動員率を高めるには瞬間的に最大筋力の限界近くの負荷をかける必要がある。キャンパシングの負荷はそれにとても近いためコンタクトストレングスのトレーニングに有効。

他にもキャンパシングによってタイミング、筋肉の動きの協調、自信などダイナミックムーブに必要な能力と、最大筋力を発揮し続けるスタティックな力も向上させることができる。また、次のラングを止めた瞬間の体の振れを抑えるのはクライミングに必要とされる体幹の強化につながる。

フレッシュな状態で行う

コンタクトストレングスのトレーニングは瞬間的に最大筋力を発揮する必要があるので、体が完全に回復したフレッシュな状態で行うべき。各セットの間もしっかりレストする必要がある。クライミングの後の疲労が蓄積した状態でのキャンパシングは非効率。また、負荷の強いトレーニングなのでやりすぎには注意する。

オープンハンド

キャンパシングは基本的にオープンハンド(タンデュ)で行う。オープンハンドはクリンプ(アーケ、カチ持ち)の力も向上させる(とメトリウスの説明書に書いてあるけど本当だろうか?)し、指の故障が起きにくい。小さなラングの場合、4本指だと中指が反ってしまうことがあるが、その場合は小指を除く3本で行ってもよい。ちなみに、オープンハンドはポケットやスローパー、ダイノのときなどに必須の持ちかたでもある。

反復回数と負荷

キャンパシングの目的は持久力ではないので、各トレーニングのムーブは反復回数がそれぞれの腕で3-5回程度になるくらいの難しさに設定する。負荷が高すぎる場合は壁や椅子に足を乗せて補助にしてもいい。

パワースロー

各ラングに一番下から順番に1, 2, 3...というように番号をつけた場合、たとえば1にマッチした状態でスタートし、まず右手で4をとり、続けて左手で6をとって、右手も6にマッチして終了というようにする。これを間隔を変えて1-2-6, 1-3-6, 1-4-6, 1-5-6のように全ての間隔でできるようにする。このトレーニングでは、1-4-81-5-9のように自分の限界のラング間隔を伸ばすように努力する。リードハンド(最初に出すほうの手)を変えて2回で1セットとする。また、登るよりも下りるときのほうが負荷が高いため、一番上でマッチしたら終了とするのではなく、そこから下りてくるようにするのも効果が高い。

ダブルダイノ

当然だけどダブルダイノはパワースローよりも負荷が高い。最初は一番近くのラングへ1回だけ飛び移るとこらから始めて、力がついてきたらラング間隔と回数を延ばしていく。下に向けてのダブルダイノもできるようにする。上級コースとしては1-3-2-4-3-5-4-6のように2段登って1段下がるものがある。

プライオメトリクス

さらに負荷を高める方法として、上のラングをとった瞬間に素早く下のラングに戻したり(6,46を取った瞬間に4に戻すのを表すとすると、1-4,2-5,3-6,4-7,5など)、上のラングから下のラングにダブルダイノして瞬時にまた上のラングにダブルダイノするリバースダブルダイノなどがある。このように一瞬で筋出力を切り替える方法をプライオメトリクスと言って、最大筋動員率が飛躍的に高まるそうだ。その一方で、プライオメトリクスは負荷が非常に強い上級者向けのトレーニングで故障の可能性も高い。

スタティック

キャンパシングによってスタティックな力も向上するけど、パワースローを短い間隔で可能な限りゆっくりとしたスピードでやればスタティックな力のトレーニングになる。他にもスタティックなラダー(1-2-3-4-5-6-6-5-4-3-2-1)や片手ロックオフ(詳しくは片手ロックオフ参照)なども有効。

バリエーション

保持する指を少なくしたり、大きさやタイプの異なるラングを使うなどしてバリエーションをもたせることができる。ラングの大きさが変わると使う筋肉も変わる。小さいホールドでは前腕が、大きいホールドでの遠いラングをとるムーブでは上腕や背筋が鍛えられる。また、インカットしてるラングとフラットなラングでも使う筋肉が違うため、できる限りバリエーションをもたせるほうが効果が高い。

参考

2009年3月18日水曜日

UTF-8環境と曖昧な文字幅

UbuntuはデフォルトでUTF-8環境なのだけど、ターミナルエミュレータ上でw3mやEmacsを使っていると表示が乱れることがときどきある。Unicodeが持つ「東アジアの曖昧な文字幅(East Asian Ambiguous Character Width)」というのが原因で起きる問題らしい。

「東アジアの曖昧な文字幅」問題とは文脈によって文字幅が変化する文字があって、そういう文字をアプリケーション側で全角(fullwidth)として扱えばいいらしいのだけど、半角(halfwidth)として扱うと表示されるフォント幅と食い違って、結果として表示が乱れるということのようだ。

いろいろなWebページを参考にして設定をしてみたのだけど、ほとんどまったく解決しなかった。あまり深追いもしたくないので、とりあえずやれるだけやったことを各アプリケーションごとにメモしておく。

mlterm

mltermは設定ファイルに1行追加することで回避できる。

% echo "col_size_of_width_a = 2" >> ~/.mlterm/main

または、起動時にオプションを指定することでも可能。

% mlterm -a 2

これで全角で表示されるはずの文字(■など)が半角で表示されることはなくなったのだけど、その前の文字をバックスペースで消したりすると表示が乱れる。

Screen

~/.screenrc

defencoding utf-8
encoding utf-8 utf-8
cjkwidth on

を追加して、起動時に-Uオプションを渡す。

% screen -U

defutf8 onutf8 on-Uオプションで起動すれば必要ない。cjkwidth onが曖昧な文字幅問題を解決するための設定で、Ubuntuのパッケージはパッチが取り込まれていて使用可能になっているのだけど、mlterm単体でもおかしいので効果があるのかはよくわからない。

Emacs 22

~/.emacsに下記を追加する。

(set-language-environment "Japanese")
(set-terminal-coding-system 'utf-8)
(set-keyboard-coding-system 'utf-8)
(set-buffer-file-coding-system 'utf-8)
(setq default-buffer-file-coding-system 'utf-8)
(prefer-coding-system 'utf-8)
(set-default-coding-systems 'utf-8)
(setq file-name-coding-system 'utf-8)

Emacs 22ではutf-translate-cjk-modeというマイナーモードが追加され、デフォルトで有効になっているためmule-ucsは必要ない。曖昧な文字幅問題はEmacs22 + UTF-8 における文脈依存な文字幅の問題についてに書いてある設定で解決する。試してみたところGUIで起動した場合は確かにまったく問題ない。でも、-nwオプションをつけてmlterm上で起動した場合は当然だけどだめだった。

w3m

一番問題になるのがw3m。ページによっては表示の乱れが激しすぎて使い物にならない。w3m-cvs-1.914-ambwidth.patchを当てて、ある種のUnicode文字を全角にするYesにすればいいらしいのだけど、パッケージを作り直すのが面倒そうなのであっさりあきらめる。HP 2133購入後はFirefoxをメインに使うようになったので、別にw3mはなくても問題ないし。

参考

2009年3月7日土曜日

Migemo(C/Migemo)のインストール

Migemo

UbuntuにはC/Migemoのパッケージがないのだけど、新しいPCは速いし、普通のMigemoでも大丈夫だろうということで試してみた。

% sudo apt-get install migemo

Emacsは、~/.emacs

(load "migemo")

と書くだけで問題なく使えた。

w3mは、雑多な設定Migemoコマンド

migemo -t egrep /usr/share/migemo/migemo-dict

としてみたけど日本語をまったく検索できない。いろいろ調べてみたところ、どうやらMigemoはUTF-8に対応していないようだ。

C/Migemo

Migemoのスクリプトを修正するのも面倒なので、やっぱりC/Migemoをソースからインストールすることにした。ダウンロードしたtarballを展開したら次のようにする。

% sudo ./configure
% sudo make gcc
% cd dict
% sudo make utf-8
% cd ..
% sudo make gcc-install

Emacsの設定は

(setq migemo-command "cmigemo")
(setq migemo-options '("-q" "--emacs"))
(setq migemo-dictionary "/usr/local/share/migemo/utf-8/migemo-dict")
(setq migemo-user-dictionary nil)
(setq migemo-regex-dictionary nil)
(setq migemo-coding-system 'utf-8-unix)
(load-library "migemo")
(migemo-init)

とすればいい。

w3mは

cmigemo -q -d /usr/local/share/migemo/utf-8/migemo-dict

で正常に動いた。

ちなみに、C/Migemoをインストールしても、Emacsで使うためにはmigemo.elが必要なので、普通のMigemoもインストールしなければならなかった。

2009年3月5日木曜日

Googleブックマーク追加用のブックマークレット

Googleブックマークを使い始め、ブックマークレットでブックマークの追加をやろうと思ったのだけど、Google Bookmarks FAQに載っているのだとサイト名とURLしかフォームに表示されない。どうせならメモmeta descriptionに書かれているサイトの説明文を読み込ませたい、ということで改造して作ったのがこれ。

ブックマークに追加すれば使えるはず(Firefoxで確認)。

(2012/5/14 追記)meta descriptionが異常に長いサイトを追加しようとしたら、Google側でエラーになってしまったので500文字で切り捨てるようにした。

(2012/6/27 追記)500文字以内でも...を末尾に追加してしまうバグを修正。

最初はラベルmeta keywordsから読み込ませるようにしてみたのだけど、meta keywordsをやたらとたくさん書いてあるサイトをブックマークしたら、ラベルの数が多くなりすぎてしまい一瞬で破綻した。