<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-3966127164017981232</id><updated>2012-02-17T07:19:41.872+09:00</updated><category term='ラベルなし'/><category term='iPhone/iPod Touch'/><category term='Ubuntu'/><category term='HP 2133'/><category term='Ruby'/><category term='Mac'/><category term='クライミング'/><title type='text'>インサイドフラッギング</title><subtitle type='html'>とあるクライマーのメモ帳</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://insideflag.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3966127164017981232/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://insideflag.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>a</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>77</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-3966127164017981232.post-1300823229111319578</id><published>2011-09-28T10:39:00.005+09:00</published><updated>2011-09-28T10:43:03.416+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='iPhone/iPod Touch'/><title type='text'>Objective-Cのオブジェクト初期化エラーに対処する方法</title><content type='html'>&lt;p&gt;当たり前だけどオブジェクトの初期化に失敗することもあるわけで、その場合はリソースの解放などエラー処理が必要になる。以前書いたクラスを見直していたら、イニシャライザのエラー処理で怪しいコードがあったので正しい方法を調べてみた。&lt;/p&gt;

&lt;p&gt;Appleの「&lt;a href="http://developer.apple.com/library/ios/#documentation/Cocoa/Conceptual/ObjectiveC/Introduction/introObjectiveC.html" title="title"&gt;The Objective-C Programming Language&lt;/a&gt;&lt;sup&gt;*&lt;/sup&gt;」を見てみると答えがそのまま書かれていて、&lt;q&gt;&lt;code&gt;self&lt;/code&gt;に対して&lt;code&gt;release&lt;/code&gt;を呼んでから&lt;code&gt;nil&lt;/code&gt;を返す&lt;/q&gt;となっている。&lt;code&gt;release&lt;/code&gt;によって&lt;code&gt;dealloc&lt;/code&gt;が呼ばれるので、&lt;code&gt;self&lt;/code&gt;自体とインスタンス変数に割り当てたオブジェクトが解放されることになる。&lt;/p&gt;

&lt;p&gt;* &lt;em&gt;Allocating and Initializing Objects &amp;gt; Implementing an Initializer &amp;gt; Handling Initialization Failure&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;画像データを&lt;code&gt;NSData&lt;/code&gt;で受け取り&lt;code&gt;UIImage&lt;/code&gt;として保持するクラスがあったとすると、次のような感じになる。&lt;/p&gt;
&lt;blockquote&gt;&lt;pre&gt;
- (id)initWithData:(NSData*)data
{
    self = [super init];
    // superのイニシャライザがnilを返してもreleaseは必要ない
    // 既にsuperで行われているため
    if (self) {
        image = [[UIImage alloc] initWithData:data];
        if (!image) {
            // imageの解放は必要ないけどself自体の解放が必要
            [self release];
            return nil;
        }
    }
    return self;
}

- (void)dealloc
{
    // 初期化に失敗していてもimageはnilなので問題ない
    [image release];
    [super dealloc];
}
&lt;/pre&gt;&lt;/blockquote&gt;

&lt;p&gt;&lt;code&gt;dealloc&lt;/code&gt;は初期化に失敗した状態で呼ばれることもあるため、そのような場合でも正しく動くようにしなければいけない。とは言え、上記のコードのように単純にインスタンス変数を&lt;code&gt;release&lt;/code&gt;するだけなら問題はない。&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;code&gt;alloc&lt;/code&gt;はメモリを割り当てた後、すべてのインスタンス変数を&lt;code&gt;0&lt;/code&gt;にセットする（&lt;code&gt;0 == nil&lt;/code&gt;）&lt;/li&gt;
&lt;li&gt;インスタンス変数に割り当てるオブジェクトの初期化に失敗しても、そのオブジェクトのイニシャライザは&lt;code&gt;nil&lt;/code&gt;を返すため、インスタンス変数は&lt;code&gt;nil&lt;/code&gt;にセットされる&lt;/li&gt;
&lt;li&gt;&lt;code&gt;nil&lt;/code&gt;に対するメソッドの呼び出しは何も起きないことが保証されている&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;したがって、インスタンス変数はオブジェクトが割り当てられているか、&lt;code&gt;nil&lt;/code&gt;がセットされているかのどちらかなので、&lt;code&gt;dealloc&lt;/code&gt;は正常に実行される。&lt;/p&gt;

&lt;p&gt;ちなみに、&lt;code&gt;free(NULL)&lt;/code&gt;や&lt;code&gt;delete 0&lt;/code&gt;も何も起きないことが保証されている。ただし、&lt;code&gt;CFRelease&lt;/code&gt;は&lt;/p&gt;
&lt;blockquote cite="http://developer.apple.com/library/ios/#documentation/CoreFoundation/Reference/CFTypeRef/Reference/reference.html"&gt;&lt;p&gt;If &lt;em&gt;cf&lt;/em&gt; is &lt;code&gt;NULL&lt;/code&gt;, this will cause a runtime error and your application will crash.&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;とのことなので、&lt;code&gt;NULL&lt;/code&gt;チェックが必要（&lt;a href="http://developer.apple.com/library/ios/#documentation/CoreFoundation/Reference/CFTypeRef/Reference/reference.html"&gt;CFType Reference&lt;/a&gt;）。&lt;/p&gt;

&lt;div class="amazon-item-box" style="display: block; padding: 0; border: 1px solid  #999; margin: 8px;  -moz-border-radius: 10px;"&gt;&lt;div class="amazon-item-image" style="display: block; padding: 10px; float: left;"&gt;&lt;a href="http://www.amazon.co.jp/exec/obidos/ASIN/4797361786/burningdownth-22/ref=nosim" target="_blank"&gt;&lt;img src="http://ecx.images-amazon.com/images/I/41aYUviRN3L._SL75_.jpg" alt="詳解 Objective-C 2.0 改訂版" title="詳解 Objective-C 2.0 改訂版" style="border: none; display: inline; vertical-align: bottom;" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;dl class="amazon-item-info" style="display: block; margin-left: 10px; padding: 0 8px 0 10px; font-size: 10pt; line-height: 110%;"&gt;&lt;dt class="amazon-item-name" style="display: block; margin-bottom: 5px; line-height: 120%;"&gt;&lt;a href="http://www.amazon.co.jp/exec/obidos/ASIN/4797361786/burningdownth-22/ref=nosim" target="_blank" title="詳解 Objective-C 2.0 改訂版"&gt;詳解 Objective-C 2.0 改訂版&lt;/a&gt;&lt;/dt&gt;&lt;dd&gt;&lt;ul class="amazon-item-info-list" style="list-style-type: none; padding-left: 0px; line-height: 120%;"&gt;&lt;li&gt;発売元: ソフトバンククリエイティブ&lt;/li&gt;&lt;li&gt;価格: ￥ 3,990&lt;/li&gt;&lt;li&gt;発売日: 2010/12/17&lt;/li&gt;&lt;/ul&gt;&lt;/dd&gt;&lt;/dl&gt;&lt;p class="amazon-item-footer" style="clear: left; text-align: right; font-size: x-small; padding: 4px 10px 4px 10px; line-height: 100%;"&gt;posted with &lt;a href="http://socialtunes.net"&gt;Socialtunes&lt;/a&gt;&lt;/p&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3966127164017981232-1300823229111319578?l=insideflag.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3966127164017981232/posts/default/1300823229111319578'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3966127164017981232/posts/default/1300823229111319578'/><link rel='alternate' type='text/html' href='http://insideflag.blogspot.com/2011/09/objective-c.html' title='Objective-Cのオブジェクト初期化エラーに対処する方法'/><author><name>a</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-3966127164017981232.post-6653294014535614544</id><published>2011-08-21T16:41:00.003+09:00</published><updated>2011-09-27T08:22:44.993+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='iPhone/iPod Touch'/><title type='text'>UINavigationBarやUIToolbarの高さを変更することは禁止されている</title><content type='html'>&lt;p&gt;&lt;a href="http://developer.apple.com/library/ios/#documentation/UserExperience/Conceptual/MobileHIG/Introduction/Introduction.html
"&gt;iOS Human Interface Guidelines&lt;/a&gt;から引用。&lt;/p&gt;

&lt;p&gt;&lt;cite&gt;iOS UI Element Usage Guidelines &amp;gt; Bars &amp;gt; Navigation Bar&lt;/cite&gt;&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;On iPhone, take into account the automatic change in navigation bar height that occurs on device rotation. In particular, make sure your custom navigation bar icons fit well in the thinner bar that appears in landscape orientation. &lt;strong&gt;Don’t specify the height of a navigation bar programmatically.&lt;/strong&gt;&lt;/p&gt;&lt;/blockquote&gt;

&lt;p&gt;&lt;cite&gt;iOS UI Element Usage Guidelines &amp;gt; Bars &amp;gt; Toolbar&lt;/cite&gt;&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;On iPhone, take into account the automatic change in toolbar height that occurs on device rotation. In particular, make sure your custom toolbar icons fit well in the thinner bar that appears in landscape orientation. &lt;strong&gt;Don’t specify the height of a toolbar programmatically.&lt;/strong&gt;&lt;/p&gt;&lt;/blockquote&gt;

&lt;p&gt;ということで、&lt;code&gt;UINavigationBar&lt;/code&gt;や&lt;code&gt;UIToolbar&lt;/code&gt;の高さを変更してはいけない。ただし、&lt;code&gt;UINavigationBar&lt;/code&gt;の上部にテキストを表示するだけなら、&lt;code&gt;prompt&lt;/code&gt;プロパティが使用できる。&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3966127164017981232-6653294014535614544?l=insideflag.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3966127164017981232/posts/default/6653294014535614544'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3966127164017981232/posts/default/6653294014535614544'/><link rel='alternate' type='text/html' href='http://insideflag.blogspot.com/2011/08/uinavigationbaruitoolbar.html' title='UINavigationBarやUIToolbarの高さを変更することは禁止されている'/><author><name>a</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-3966127164017981232.post-3766626330788145890</id><published>2011-08-17T16:24:00.007+09:00</published><updated>2011-11-12T03:10:33.639+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Mac'/><title type='text'>HomebrewでCocoa Emacsをインストールした</title><content type='html'>&lt;p&gt;少し前にMacBook Pro 13インチ (Early 2011)を購入して、いろいろと設定するついでに、これまで使ってきたCarbon EmacsからCocoa Emacs (Emacs 23)へ移行することにした。最初はバイナリで簡単にインストールできると思っていたけど、日本語入力が完全ではないようでパッチを当てたほうがいいことがわかった。パッケージ管理は&lt;a href="http://mxcl.github.com/homebrew/"&gt;Homebrew&lt;/a&gt;で行っているのだけど、Formulaを書き換えることでパッチの追加も簡単にできるし、EmacsもHomebrewでインストールすることにした。&lt;/p&gt;

&lt;h4&gt;パッチについて&lt;/h4&gt;
&lt;p&gt;パッチはいろいろ公開されているけど、日本語入力を快適にするための&lt;a href="http://macemacsjp.sourceforge.jp/index.php?InlinePatchForCocoaEmacs"&gt;インラインパッチ（IMEパッチ）&lt;/a&gt;は必須のようだ。また、インラインパッチのバグを修正するパッチが「&lt;a href="http://moimoitei.blogspot.com/2010/05/fix-cocoa-emacs-23.html"&gt;Cocoa Emacs が落ちる&lt;/a&gt;」で公開されているので使わせて頂く。&lt;/p&gt;

&lt;p&gt;さらに、「&lt;a href="https://github.com/typester/emacs/downloads"&gt;typester/emacs - GitHub&lt;/a&gt;」で公開されているfeature-fullscreen.patchも定番らしい。これは&lt;code&gt;M-x ns-toggle-fullscreen&lt;/code&gt;でEmacsがフルスクリーンになる機能を追加する。同じ場所にfix-shiftmodifier-with-ime.patchも公開されていて、こちらは日本語IMEでShiftが使えない問題を修正する。これはインラインパッチが提供する機能で回避した方がいいらしいので使わないことにする。&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="http://d.hatena.ne.jp/sxhxtxa/20101229/1293633067"&gt;Emacs 23.2 on MacOS XでIMEオンのときのコマンド入力 - shtaxxx weblog&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;Homebrewでインストール&lt;/h4&gt;
&lt;p&gt;HomebrewでFormulaを編集するには、&lt;/p&gt;
&lt;blockquote&gt;&lt;pre&gt;
$ brew edit emacs
&lt;/pre&gt;&lt;/blockquote&gt;
&lt;p&gt;のようにする。Formulaを開いた状態で&lt;code&gt;$EDITOR&lt;/code&gt;が立ち上がるので書き換えて保存すればいい。&lt;/p&gt;

&lt;p&gt;実際にFormulaを開いて気付いたのだけど、すでにfullscreen patchは含まれている（バージョンは23.3a）。とういことで、必要なパッチはインラインパッチとそのバグを修正するパッチ、あと宣言と定義で引数の型が違ってコンパイルエラーになってしまう部分があったので、それを修正するパッチも追加した（Xcodeのバージョンは3.2.6）。&lt;/p&gt;

&lt;p&gt;最終的に&lt;code&gt;patches&lt;/code&gt;メソッドは次のようになった。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;（2011/11/12 追記）&lt;/strong&gt;最新のFormulaに合わせて修正。&lt;q&gt;Fix for Shift key...&lt;/q&gt;はインラインパッチとかぶるのでコメントアウトした。&lt;/p&gt;

&lt;blockquote&gt;&lt;pre&gt;
def patches
  p1 = []
  p0 = []

  # Fix for building with Xcode 4; harmless on Xcode 3.x.
  unless ARGV.build_head?
    p1 &lt;&lt; "http://repo.or.cz/w/emacs.git/commitdiff_plain/c8bba48c5889c4773c62a10f7c3d4383881f11$
    # Fix for address randomization on Darwin. Based on:
    #   http://repo.or.cz/w/emacs.git/patch/f2cea124dffac9ca4b8ce1dbb9b746f8e81109a3
    p1 &lt;&lt; "https://raw.github.com/gist/1098107"
    # Fix for the titlebar issue on Mac OS X 10.7
    p1 &lt;&lt; "https://raw.github.com/gist/1102744"
    # Fix for Shift key for IME users
    #p1 &lt;&lt; "https://raw.github.com/gist/1212776"
  end

  if ARGV.include? "--cocoa"
    # Fullscreen patch, works against 23.3 and HEAD.
    p1 &lt;&lt; "https://raw.github.com/gist/1012927"

    p0 &lt;&lt; "http://sourceforge.jp/frs/redir.php?m=jaist&amp;f=%2Fmacemacsjp%2F47986%2Finline_patch-23.2-beta3.tar.gz"
    p0 &lt;&lt; DATA
  end

  return { :p1 =&gt; p1, :p0 =&gt; p0 }
end
&lt;/pre&gt;&lt;/blockquote&gt;

&lt;p&gt;Hashを返すと&lt;code&gt;:p1&lt;/code&gt;の値は&lt;q&gt;&lt;code&gt;patch -p1&lt;/code&gt;&lt;/q&gt;に、&lt;code&gt;:p0&lt;/code&gt;の値は&lt;q&gt;&lt;code&gt;patch -p0&lt;/code&gt;&lt;/q&gt;に渡される。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://d.hatena.ne.jp/cola-zero/20101113#1289638431"&gt;homebrewでIMEパッチを適応したCocoa Emacsをインストールする方法&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;さらに、ファイルの一番最後に以下を追加する。&lt;/p&gt;

&lt;blockquote&gt;&lt;pre&gt;
__END__
diff -U0 src/macim.m.orig src/macim.m
--- src/macim.m.orig
+++ src/macim.m
@@ -42 +42 @@
-int mac_pass_key_to_system (int code, UInt32 modifiers);
+int mac_pass_key_to_system (int code, unsigned modifiers);
diff -U0 src/nsterm.m.orig src/nsterm.m
--- src/nsterm.m.orig
+++ src/nsterm.m
@@ -3959 +3959 @@
-  if (mac_store_change_input_method_event())
+  if (emacs_event &amp;&amp; mac_store_change_input_method_event())
&lt;/pre&gt;&lt;/blockquote&gt;

&lt;p&gt;&lt;code&gt;__END__&lt;/code&gt;以降はスクリプトではなく、&lt;code&gt;DATA&lt;/code&gt;という定数でファイルオブジェクトとして扱うことができる。&lt;/p&gt;

&lt;p&gt;Formulaの編集が終わったら次のようにしてインストールする。できたEmacs.appは&lt;em&gt;/Applications&lt;/em&gt;に移動してしまう。&lt;/p&gt;

&lt;blockquote&gt;&lt;pre&gt;
brew install emacs --cocoa
mv /usr/local/Cellar/emacs/23.3a/Emacs.app /Applications
&lt;/pre&gt;&lt;/blockquote&gt;

&lt;h4&gt;初期設定&lt;/h4&gt;
&lt;p&gt;最低限必要な設定は以下の通りで、2行目が日本語IMEのShiftの問題を回避する。&lt;/p&gt;
&lt;blockquote&gt;&lt;pre&gt;
(setq default-input-method "MacOSX")
(mac-add-key-passed-to-system 'shift)
&lt;/pre&gt;&lt;/blockquote&gt;

&lt;p&gt;デフォルトではOptionキーがMetaになっている。CommandキーをMetaとして使うためにOptionキーと入れ替える。&lt;/p&gt;
&lt;blockquote&gt;&lt;pre&gt;
(setq ns-command-modifier (quote meta))
(setq ns-alternate-modifier (quote super))
&lt;/pre&gt;&lt;/blockquote&gt;

&lt;p&gt;ドラッグ&amp;ドロップでファイルを開く。2行目は新しいウィンドウで開くのを防ぐため。&lt;/p&gt;
&lt;blockquote&gt;&lt;pre&gt;
(define-key global-map [ns-drag-file] 'ns-find-file)
(setq ns-pop-up-frames nil)
&lt;/pre&gt;&lt;/blockquote&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://d.hatena.ne.jp/nanasess/20090204/1233751417"&gt;Cocoa Emacs で dnd - Think Different - はてな版&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;円記号の代わりにバックスラッシュを入力する。ただし、&lt;code&gt;delete-horizontal-space&lt;/code&gt;は&lt;q&gt;M-&amp;yen; is undefined&lt;/q&gt;と表示されてしまう。&lt;/p&gt;
&lt;blockquote&gt;&lt;pre&gt;
(mac-translate-from-yen-to-backslash)
&lt;/pre&gt;&lt;/blockquote&gt;

&lt;p&gt;フォント設定は&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://macemacsjp.sourceforge.jp/index.php?MacFontSetting#h3b01bb4"&gt;MacFontSetting - MacEmacs&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;が参考になる。&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3966127164017981232-3766626330788145890?l=insideflag.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3966127164017981232/posts/default/3766626330788145890'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3966127164017981232/posts/default/3766626330788145890'/><link rel='alternate' type='text/html' href='http://insideflag.blogspot.com/2011/08/homebrewcocoa-emacs.html' title='HomebrewでCocoa Emacsをインストールした'/><author><name>a</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-3966127164017981232.post-3987098161875397685</id><published>2011-07-26T00:15:00.005+09:00</published><updated>2011-12-26T16:04:04.728+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='クライミング'/><title type='text'>Black DiamondのSpotとエネループ</title><content type='html'>&lt;p&gt;岩場の帰りやナイトボルダリングなど、ヘッドランプはボルダラにも必須ということでBlack DiamondのSpotを買った。事前にネットで調べてみると、Amazonのレビューにエネループ使用だと蓋がしっかり閉まらないとの情報が。すでに持っているエネループで使用するつもりだったけど、通電はしているということなので購入に踏み切った。&lt;/p&gt;

&lt;p&gt;購入後、実際に試してみるとわずかに隙間ができてしまうだけで、蓋も「カチッ」と音を立てて閉まったし点灯も普通にした。昔のエネループは現行のよりもサイズが大きかったらしいので、それだと閉まらないのかも。&lt;/p&gt;

&lt;p&gt;隙間で心配なのが防水性。&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;
スポットは防水規格IPX4の防水性能があり、いかなる方向からの水の飛沫にも影響されません。
&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;とのことだけど、隙間が空いてたらこの性能は期待できなさそう。まあ、そもそもパッキンも使ってないし、どっちにしろバッテリーハウジングの中には水が入るような気がしないでもない。一応気をつけることにする。&lt;/p&gt;

&lt;p&gt;あと、エネループに限らずニッケル水素電池で使う場合は過放電に気をつける必要がある。&lt;a href="http://jp.sanyo.com/eneloop/faq/eneloop_2.html"&gt;三洋電機のよくあるご質問 (FAQ) eneloop 単1形～単4形&lt;/a&gt;から引用。&lt;/p&gt;
&lt;blockquote site="http://jp.sanyo.com/eneloop/faq/eneloop_2.html"&gt;&lt;p&gt;
自動的に放電を停止する機能が無い機器で使用すると、過放電（電池を使いすぎてしまう）となる場合があります。例えば、消費電力が小さいLEDライトで点灯しなくなるまで使用した場合、過放電となり、その後に充電した時に、うまく充電ができなくなる可能性があります。
&lt;/p&gt;&lt;/blockquote&gt;
&lt;blockquote site="http://jp.sanyo.com/eneloop/faq/eneloop_2.html"&gt;&lt;p&gt;
尚、過放電をくり返すと電池にダメージを与えますので、LEDライトで光量が大きく低下した等、電池のパワーが無くなった感じた時は、使用を止めて、充電することをお勧めします。
&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;というわけで、バッテリーメーターが赤になったらなるべく早く交換なり充電なりしたほうがよさそう。メモリー効果は回復できるけど、過放電は取り返しがつかないので。と言っても、エネループはメモリー効果の影響をほとんど受けないとか。&lt;/p&gt;
&lt;blockquote site="http://jp.sanyo.com/eneloop/faq/eneloop_2.html"&gt;&lt;p&gt;
ニカド電池やニッケル水素電池を使い切らすに継ぎ足し充電をくり返すと「短時間だけ使用」を記憶して、次に使用した時、電圧がすぐに下がり機器が停止する場合があります。これをメモリー効果といいます。eneloopは従来のニッケル水素電池よりも電圧がもともと高く、メモリー効果が起こっても十分な電圧を維持するため、その影響はほとんどなく、メモリー効果を気にせす、継ぎ足し充電することも可能です。
&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;ちなみに、アポロ（Black Diamondのランタン）は電池残量が少なくなると自動的に消灯する。&lt;/p&gt;

&lt;div class="amazon-item-box" style="display: block; padding: 0; border: 1px solid  #999; margin: 8px;  -moz-border-radius: 10px;"&gt;&lt;div class="amazon-item-image" style="display: block; padding: 10px; float: left;"&gt;&lt;a href="http://www.amazon.co.jp/exec/obidos/ASIN/B004AJLTY8/burningdownth-22/ref=nosim" target="_blank"&gt;&lt;img src="http://ecx.images-amazon.com/images/I/41XLa0CcxrL._SL75_.jpg" alt="BlackDiamond(ブラックダイヤモンド) スポット BD620598" title="BlackDiamond(ブラックダイヤモンド) スポット BD620598" style="border: none; display: inline; vertical-align: bottom;" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;dl class="amazon-item-info" style="display: block; margin-left: 10px; padding: 0 8px 0 10px; font-size: 10pt; line-height: 110%;"&gt;&lt;dt class="amazon-item-name" style="display: block; margin-bottom: 5px; line-height: 120%;"&gt;&lt;a href="http://www.amazon.co.jp/exec/obidos/ASIN/B004AJLTY8/burningdownth-22/ref=nosim" target="_blank" title="BlackDiamond(ブラックダイヤモンド) スポット BD620598"&gt;BlackDiamond(ブラックダイヤモンド) スポット BD620598&lt;/a&gt;&lt;/dt&gt;&lt;dd&gt;&lt;ul class="amazon-item-info-list" style="list-style-type: none; padding-left: 0px; line-height: 120%;"&gt;&lt;li&gt;発売元: BlackDiamond(ブラックダイヤモンド)&lt;/li&gt;&lt;/ul&gt;&lt;/dd&gt;&lt;/dl&gt;&lt;p class="amazon-item-footer" style="clear: left; text-align: right; font-size: x-small; padding: 4px 10px 4px 10px; line-height: 100%;"&gt;posted with &lt;a href="http://socialtunes.net"&gt;Socialtunes&lt;/a&gt;&lt;/p&gt;&lt;/div&gt;

&lt;div class="amazon-item-box" style="display: block; padding: 0; border: 1px solid  #999; margin: 8px;  -moz-border-radius: 10px;"&gt;&lt;div class="amazon-item-image" style="display: block; padding: 10px; float: left;"&gt;&lt;a href="http://www.amazon.co.jp/exec/obidos/ASIN/B005V9X5TS/burningdownth-22/ref=nosim" target="_blank"&gt;&lt;img src="http://ecx.images-amazon.com/images/I/51%2BlI4QY9fL._SL75_.jpg" alt="SANYO NEW eneloop3倍速対応急速充電器セット(単4形4本付) N-TGR0104BS" title="SANYO NEW eneloop3倍速対応急速充電器セット(単4形4本付) N-TGR0104BS" style="border: none; display: inline; vertical-align: bottom;" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;dl class="amazon-item-info" style="display: block; margin-left: 10px; padding: 0 8px 0 10px; font-size: 10pt; line-height: 110%;"&gt;&lt;dt class="amazon-item-name" style="display: block; margin-bottom: 5px; line-height: 120%;"&gt;&lt;a href="http://www.amazon.co.jp/exec/obidos/ASIN/B005V9X5TS/burningdownth-22/ref=nosim" target="_blank" title="SANYO NEW eneloop3倍速対応急速充電器セット(単4形4本付) N-TGR0104BS"&gt;SANYO NEW eneloop3倍速対応急速充電器セット(単4形4本付) N-TGR0104BS&lt;/a&gt;&lt;/dt&gt;&lt;dd&gt;&lt;ul class="amazon-item-info-list" style="list-style-type: none; padding-left: 0px; line-height: 120%;"&gt;&lt;li&gt;発売元: 三洋電機&lt;/li&gt;&lt;li&gt;価格: ￥ 2,999&lt;/li&gt;&lt;li&gt;発売日: 2011/11/14&lt;/li&gt;&lt;/ul&gt;&lt;/dd&gt;&lt;/dl&gt;&lt;p class="amazon-item-footer" style="clear: left; text-align: right; font-size: x-small; padding: 4px 10px 4px 10px; line-height: 100%;"&gt;posted with &lt;a href="http://socialtunes.net"&gt;Socialtunes&lt;/a&gt;&lt;/p&gt;&lt;/div&gt;

&lt;div class="amazon-item-box" style="display: block; padding: 0; border: 1px solid  #999; margin: 8px;  -moz-border-radius: 10px;"&gt;&lt;div class="amazon-item-image" style="display: block; padding: 10px; float: left;"&gt;&lt;a href="http://www.amazon.co.jp/exec/obidos/ASIN/B005V9XVMO/burningdownth-22/ref=nosim" target="_blank"&gt;&lt;img src="http://ecx.images-amazon.com/images/I/513wDhqVCXL._SL75_.jpg" alt="SANYO NEW eneloop 単4形4本 HR-4UTGB-4" title="SANYO NEW eneloop 単4形4本 HR-4UTGB-4" style="border: none; display: inline; vertical-align: bottom;" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;dl class="amazon-item-info" style="display: block; margin-left: 10px; padding: 0 8px 0 10px; font-size: 10pt; line-height: 110%;"&gt;&lt;dt class="amazon-item-name" style="display: block; margin-bottom: 5px; line-height: 120%;"&gt;&lt;a href="http://www.amazon.co.jp/exec/obidos/ASIN/B005V9XVMO/burningdownth-22/ref=nosim" target="_blank" title="SANYO NEW eneloop 単4形4本 HR-4UTGB-4"&gt;SANYO NEW eneloop 単4形4本 HR-4UTGB-4&lt;/a&gt;&lt;/dt&gt;&lt;dd&gt;&lt;ul class="amazon-item-info-list" style="list-style-type: none; padding-left: 0px; line-height: 120%;"&gt;&lt;li&gt;発売元: 三洋電機&lt;/li&gt;&lt;li&gt;価格: ￥ 1,030&lt;/li&gt;&lt;li&gt;発売日: 2011/11/14&lt;/li&gt;&lt;/ul&gt;&lt;/dd&gt;&lt;/dl&gt;&lt;p class="amazon-item-footer" style="clear: left; text-align: right; font-size: x-small; padding: 4px 10px 4px 10px; line-height: 100%;"&gt;posted with &lt;a href="http://socialtunes.net"&gt;Socialtunes&lt;/a&gt;&lt;/p&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3966127164017981232-3987098161875397685?l=insideflag.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3966127164017981232/posts/default/3987098161875397685'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3966127164017981232/posts/default/3987098161875397685'/><link rel='alternate' type='text/html' href='http://insideflag.blogspot.com/2011/07/black-diamondspot.html' title='Black DiamondのSpotとエネループ'/><author><name>a</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-3966127164017981232.post-7912497809420655187</id><published>2011-06-28T03:52:00.005+09:00</published><updated>2011-09-27T07:40:32.144+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='iPhone/iPod Touch'/><title type='text'>AppleのReachabilityクラスについて</title><content type='html'>&lt;p&gt;&lt;a href="http://developer.apple.com/library/ios/#samplecode/Reachability/Introduction/Intro.html"&gt;Reachability&lt;/a&gt;というiOSでネットワークの状態を監視するサンプルがAppleによって公開されている。このサンプルにはアプリ開発者が再利用できるように独立した&lt;code&gt;Reachability&lt;/code&gt;クラスが含まれていて、ネットワークに接続するアプリではこれを使うのが一般的になっている。&lt;/p&gt;

&lt;p&gt;だけど、「&lt;a href="http://blog.ddg.com/?p=24"&gt;Discern, Design, Generate › Network Reachability&lt;/a&gt;」によるとデザインとコードの品質があまりよろしくないらしい。修正されたクラスも公開されていて（以下DDG）、あの&lt;a href="http://allseeing-i.com/ASIHTTPRequest/"&gt;ASIHTTPRequest&lt;/a&gt;が採用しているのもDDGのほう。&lt;/p&gt;

&lt;p&gt;Appleのはもともとはスペルミスがあったり、インスタンスを作っただけで&lt;code&gt;NSInvalidArgumentException&lt;/code&gt;が発生したり相当酷かったようだけど、さすがに修正されて現在のバージョン（Version 2.2）に至っている。DDGは互換性を保っているので、主な違いは次の通り。&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;各インスタンスは文字列のキーを持っていて、どのインスタンスから通知されたのか区別するのに使用できる&lt;/li&gt;
&lt;li&gt;&lt;code&gt;-networkStatusForFlags:&lt;/code&gt;は実際に起こりうるフラグの組み合わせを調べて実装されている（Appleの実装とはまったく違う）。&lt;/li&gt;
&lt;li&gt;&lt;code&gt;-isReachable&lt;/code&gt;, &lt;code&gt;-isReachableViaWWAN&lt;/code&gt;, &lt;code&gt;-isReachableViaWiFi&lt;/code&gt;, &lt;code&gt;-isConnectionRequired&lt;/code&gt;, &lt;code&gt;-isConnectionOnDemand&lt;/code&gt;, &lt;code&gt;-isInterventionRequired&lt;/code&gt;などの便利系メソッドが実装されている&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;細かい所では、&lt;code&gt;kSCNetworkReachabilityFlagsInterventionRequired&lt;/code&gt;フラグが立っている場合の処理が異なる。Appleはネットワークの状態を調べる&lt;code&gt;-networkStatusForFlags:&lt;/code&gt;の中でinterventionが必要かどうかも調べているけど、DDGはそれとは別に&lt;code&gt;-isInterventionRequired&lt;/code&gt;を使うようになっている。&lt;/p&gt;

&lt;p&gt;作者のページのコメント欄にも書かれているけど、ネットワークを監視する機能自体はAppleのReachabilityでも問題ない。ただ、利便性と品質を考えるととりあえずDDGを使っておくのがいいんじゃないかと思う。ライセンスもBSDだし。基本的にインターフェイスは同じなのでAppleのを置き換えることも簡単にできる。&lt;/p&gt;

&lt;p&gt;DDGのバージョンはこれを書いている時点で2.0.4だけど、2.1も完成しているとのことなのでそのうちリリースされると思う。&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3966127164017981232-7912497809420655187?l=insideflag.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3966127164017981232/posts/default/7912497809420655187'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3966127164017981232/posts/default/7912497809420655187'/><link rel='alternate' type='text/html' href='http://insideflag.blogspot.com/2011/06/applereachability.html' title='AppleのReachabilityクラスについて'/><author><name>a</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-3966127164017981232.post-918172279375706867</id><published>2011-05-27T17:39:00.007+09:00</published><updated>2011-12-23T04:26:13.874+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='クライミング'/><title type='text'>コンパクトサイズの竹ブラシ発見</title><content type='html'>&lt;p&gt;&lt;a href="http://insideflag.blogspot.com/2011/04/blog-post.html"&gt;豚毛の竹ブラシが安くてチョークもよく落ちる&lt;/a&gt;というようなことを少し前に書いたけど、サイズが大きくて使いづらくもある。チョークバッグのブラシホルダーには入らないし、細かいホールドだと先端の角ばかり使って斜めに減ってきてしまう（天然毛は摩耗して短くなる）。&lt;/p&gt;

&lt;p&gt;ということで、小さな竹ブラシはないものかと思っていたら（この前のとは別の）ホームセンターで発見した。&lt;q&gt;竹楊子&lt;/q&gt;と書かれていて値段は48円だった。一般的な歯ブラシと比べると柄のサイズは同じぐらいだけどヘッドは大きめ。ブラシホルダーは問題なく使える。毛の密度が低いため1ストロークで取り除けるチョークの量は少ないけど、値段を考えると十分だと思う。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;（追記）&lt;/strong&gt;さらに今度は&lt;q&gt;重慶ブラシ&lt;/q&gt;という竹ブラシを同じホームセンターで発見。どうやら前回行ったときは売り切れていたようだ。これは竹楊子よりも一回り大きいけどブラシホルダーにはなんとか刺さるし、ヘッドのサイズも特に使いにくさを感じることはない。また、毛の密度がだいぶ大きいため少ない回数でクリーニングできる。ということで、追記になってしまったけどこちらがおすすめ。&lt;/p&gt;

&lt;table border="0" cellpadding="0" cellspacing="0"&gt;&lt;tr&gt;&lt;td valign="top"&gt;&lt;div style="border:1px solid;margin:0px;padding:6px 0px;width:160px;text-align:center;float:left"&gt;&lt;a href="http://hb.afl.rakuten.co.jp/hgc/0df0b1b4.c820df7b.0df0b1b5.de06682b/?pc=http%3a%2f%2fitem.rakuten.co.jp%2fcityliner%2f1130637%2f%3fscid%3daf_ich_link_tbl&amp;m=http%3a%2f%2fm.rakuten.co.jp%2fcityliner%2fi%2f10009535%2f" target="_blank"&gt;&lt;img src="http://hbb.afl.rakuten.co.jp/hgb/?pc=http%3a%2f%2fthumbnail.image.rakuten.co.jp%2f%400_mall%2fcityliner%2fcabinet%2f0004%2f03385435.jpg%3f_ex%3d128x128&amp;m=http%3a%2f%2fthumbnail.image.rakuten.co.jp%2f%400_mall%2fcityliner%2fcabinet%2f0004%2f03385435.jpg%3f_ex%3d80x80" alt="大塚刷毛製造 竹ブラシ301261 0200 重慶ブラシ200mm 1本" border="0" style="margin:0px;padding:0px"&gt;&lt;/a&gt;&lt;p style="font-size:12px;line-height:1.4em;text-align:left;margin:0px;padding:2px 6px"&gt;&lt;a href="http://hb.afl.rakuten.co.jp/hgc/0df0b1b4.c820df7b.0df0b1b5.de06682b/?pc=http%3a%2f%2fitem.rakuten.co.jp%2fcityliner%2f1130637%2f%3fscid%3daf_ich_link_tbl&amp;m=http%3a%2f%2fm.rakuten.co.jp%2fcityliner%2fi%2f10009535%2f" target="_blank"&gt;大塚刷毛製造 竹ブラシ301261 0200 重慶ブラシ200mm 1本&lt;/a&gt;&lt;br&gt;&lt;span style=""&gt;価格：86円（税込、送料別）&lt;/span&gt;&lt;br&gt;&lt;/p&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3966127164017981232-918172279375706867?l=insideflag.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3966127164017981232/posts/default/918172279375706867'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3966127164017981232/posts/default/918172279375706867'/><link rel='alternate' type='text/html' href='http://insideflag.blogspot.com/2011/05/blog-post.html' title='コンパクトサイズの竹ブラシ発見'/><author><name>a</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-3966127164017981232.post-6682472374131566981</id><published>2011-04-30T23:50:00.010+09:00</published><updated>2011-08-16T06:16:49.512+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='クライミング'/><title type='text'>クライミングで使うブラシについて</title><content type='html'>&lt;p&gt;「&lt;a href="http://www.amazon.co.jp/exec/obidos/ASIN/4635912639/burningdownth-22/ref=nosim" target="_blank"&gt;小山田大 DVDでボルダリング&lt;/a&gt;」の付属DVDの中で&lt;q&gt;ブラシはとても重要なもの&lt;/q&gt;と小山田さんが言っていた。ということで、少なからずパフォーマンスにも関わってくるブラシについて書いてみる。&lt;/p&gt;

&lt;p&gt;自分でも実際に試してみたのだけど、毛の材質はナイロンより豚毛や馬毛などの天然毛のほうがよくチョークが落ちるようだ。普通の歯ブラシはナイロンが使われていて、毛の先端が細くなっているなど工夫が凝らされていたりするけど天然毛と比べるとあまり落ちない。メトリウスの&lt;q&gt;M-16ボルダリングブラシ&lt;/q&gt;もナイロンなのでよくない。&lt;/p&gt;

&lt;table border="0" cellpadding="0" cellspacing="0"&gt;&lt;tr&gt;&lt;td valign="top"&gt;&lt;div style="border:1px solid;margin:0px;padding:6px 0px;width:160px;text-align:center;float:left"&gt;&lt;a href="http://hb.afl.rakuten.co.jp/hgc/0da483e5.0d3912fd.0da483e6.8f9a1110/?pc=http%3a%2f%2fitem.rakuten.co.jp%2fyoshikip2%2f853937%2f%3fscid%3daf_ich_link_tbl&amp;m=http%3a%2f%2fm.rakuten.co.jp%2fyoshikip2%2fi%2f10012294%2f" target="_blank"&gt;&lt;img src="http://hbb.afl.rakuten.co.jp/hgb/?pc=http%3a%2f%2fthumbnail.image.rakuten.co.jp%2f%400_mall%2fyoshikip2%2fcabinet%2fikou_20100122_003%2fimg10432822820.gif%3f_ex%3d128x128&amp;m=http%3a%2f%2fthumbnail.image.rakuten.co.jp%2f%400_mall%2fyoshikip2%2fcabinet%2fikou_20100122_003%2fimg10432822820.gif%3f_ex%3d80x80" alt="メトリウスM-16ボルダリングブラシ" border="0" style="margin:0px;padding:0px"&gt;&lt;/a&gt;&lt;p style="font-size:12px;line-height:1.4em;text-align:left;margin:0px;padding:2px 6px"&gt;&lt;a href="http://hb.afl.rakuten.co.jp/hgc/0da483e5.0d3912fd.0da483e6.8f9a1110/?pc=http%3a%2f%2fitem.rakuten.co.jp%2fyoshikip2%2f853937%2f%3fscid%3daf_ich_link_tbl&amp;m=http%3a%2f%2fm.rakuten.co.jp%2fyoshikip2%2fi%2f10012294%2f" target="_blank"&gt;メトリウスM-16ボルダリングブラシ&lt;/a&gt;&lt;br&gt;&lt;span style=""&gt;価格：630円（税込、送料別）&lt;/span&gt;&lt;br&gt;&lt;/p&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;p&gt;天然毛では豚毛より馬毛のほうがブラッシングしたときに舞うチョークの量が多いような気がする。豚毛は硬く、馬毛は柔らかいのでひょっとしたら使い分けるのがいいかもしれない。&lt;/p&gt;

&lt;p&gt;豚毛のブラシはホームセンターなどで竹ブラシを探せば簡単に手に入る（豚毛じゃないのもあるかも）。値段も100円前後で安い。天然毛は使うにつれ毛が減っていく消耗品なのだけど、この値段だったらジムで使っても気にならない。デメリットは柄が大きくてブラシホルダーに入らないこと。小さいのもあるらしいが自分が行ったホームセンターには置いてなかった。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;（追記）&lt;/strong&gt;&lt;a href="http://insideflag.blogspot.com/2011/05/blog-post.html"&gt;コンパクトサイズの竹ブラシ発見&lt;/a&gt;&lt;/p&gt;

&lt;table border="0" cellpadding="0" cellspacing="0"&gt;&lt;tr&gt;&lt;td valign="top"&gt;&lt;div style="border:1px solid;margin:0px;padding:6px 0px;width:160px;text-align:center;float:left"&gt;&lt;a href="http://hb.afl.rakuten.co.jp/hgc/0dd4a9b0.1797aef8.0dd4a9b1.d0b5cf10/?pc=http%3a%2f%2fitem.rakuten.co.jp%2fauc-orangetokei%2f4977292169202%2f%3fscid%3daf_ich_link_tbl&amp;m=http%3a%2f%2fm.rakuten.co.jp%2fauc-orangetokei%2fi%2f11413953%2f" target="_blank"&gt;&lt;img src="http://hbb.afl.rakuten.co.jp/hgb/?pc=http%3a%2f%2fthumbnail.image.rakuten.co.jp%2f%400_mall%2fauc-orangetokei%2fcabinet%2ffu11%2f4977292169202.jpg%3f_ex%3d128x128&amp;m=http%3a%2f%2fthumbnail.image.rakuten.co.jp%2f%400_mall%2fauc-orangetokei%2fcabinet%2ffu11%2f4977292169202.jpg%3f_ex%3d80x80" alt="大工道具・砥石・ペーパー・竹ブラシ他NO.14〔JAN:4977292169202〕【代引不可】SK11　竹ブラシ..." border="0" style="margin:0px;padding:0px"&gt;&lt;/a&gt;&lt;p style="font-size:12px;line-height:1.4em;text-align:left;margin:0px;padding:2px 6px"&gt;&lt;a href="http://hb.afl.rakuten.co.jp/hgc/0dd4a9b0.1797aef8.0dd4a9b1.d0b5cf10/?pc=http%3a%2f%2fitem.rakuten.co.jp%2fauc-orangetokei%2f4977292169202%2f%3fscid%3daf_ich_link_tbl&amp;m=http%3a%2f%2fm.rakuten.co.jp%2fauc-orangetokei%2fi%2f11413953%2f" target="_blank"&gt;大工道具・砥石・ペーパー・竹ブラシ他NO.14〔JAN:4977292169202〕【代引不可】SK11　竹ブラシ...&lt;/a&gt;&lt;br&gt;&lt;span style=""&gt;価格：70円（税込、送料別）&lt;/span&gt;&lt;br&gt;&lt;/p&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;p&gt;馬毛は柄のついている適度な大きさのものはあまり売っていないようだ。ブラシ専門店ではもちろん扱っているけど、もっと身近なところで手に入らないかと探してみたらこんなものを見つけた。&lt;/p&gt;

&lt;table border="0" cellpadding="0" cellspacing="0"&gt;&lt;tr&gt;&lt;td valign="top"&gt;&lt;div style="border:1px solid;margin:0px;padding:6px 0px;width:160px;text-align:center;float:left"&gt;&lt;a href="http://hb.afl.rakuten.co.jp/hgc/0df0b3d2.41d0ec59.0df0b3d3.e578b3cc/?pc=http%3a%2f%2fitem.rakuten.co.jp%2fbelmo%2flf4903301080855_01%2f%3fscid%3daf_ich_link_tbl&amp;m=http%3a%2f%2fm.rakuten.co.jp%2fbelmo%2fi%2f10189312%2f" target="_blank"&gt;&lt;img src="http://hbb.afl.rakuten.co.jp/hgb/?pc=http%3a%2f%2fthumbnail.image.rakuten.co.jp%2f%400_mall%2fbelmo%2fcabinet%2fimg058%2flf4903301080855.jpg%3f_ex%3d128x128&amp;m=http%3a%2f%2fthumbnail.image.rakuten.co.jp%2f%400_mall%2fbelmo%2fcabinet%2fimg058%2flf4903301080855.jpg%3f_ex%3d80x80" alt="　【ライオン】 軟毛ライオン 1本入り" border="0" style="margin:0px;padding:0px"&gt;&lt;/a&gt;&lt;p style="font-size:12px;line-height:1.4em;text-align:left;margin:0px;padding:2px 6px"&gt;&lt;a href="http://hb.afl.rakuten.co.jp/hgc/0df0b3d2.41d0ec59.0df0b3d3.e578b3cc/?pc=http%3a%2f%2fitem.rakuten.co.jp%2fbelmo%2flf4903301080855_01%2f%3fscid%3daf_ich_link_tbl&amp;m=http%3a%2f%2fm.rakuten.co.jp%2fbelmo%2fi%2f10189312%2f" target="_blank"&gt;　【ライオン】 軟毛ライオン 1本入り&lt;/a&gt;&lt;br&gt;&lt;span style=""&gt;価格：274円（税込、送料別）&lt;/span&gt;&lt;br&gt;&lt;/p&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;p&gt;ライオンから発売されている、&lt;q&gt;歯ぐきの弱い方、特にやわらかめのお好きな方におすすめのハブラシ&lt;/q&gt;。毛は馬とヤギの混合とのことだけど、使ってみるとよくチョークが舞ったので、（以前使用していた）馬毛ブラシの代替として十分使えるというのが自分の感想。&lt;/p&gt;

&lt;p&gt;近所のドラッグストアを覗いてみたら、3件中3件とも置いてあったので入手もしやすい。自分はたしか298円で購入したが、ブラシ専門店のものより少し安いし今後はこれを使っていこうと思う。&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="http://www.lion.co.jp/ja/seihin/brand/049/01.htm"&gt;軟毛ライオン｜製品情報｜ライオン株式会社&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3966127164017981232-6682472374131566981?l=insideflag.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3966127164017981232/posts/default/6682472374131566981'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3966127164017981232/posts/default/6682472374131566981'/><link rel='alternate' type='text/html' href='http://insideflag.blogspot.com/2011/04/blog-post.html' title='クライミングで使うブラシについて'/><author><name>a</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-3966127164017981232.post-1516602093765493753</id><published>2011-03-31T02:42:00.002+09:00</published><updated>2011-08-16T06:16:16.427+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='クライミング'/><title type='text'>インサイドフラッギングの使い過ぎに注意</title><content type='html'>&lt;p&gt;もはやインサイドフラッギングは自分にとって特別なムーブではない。使うべきところでは何も考えずに足が動くようになった。&lt;/p&gt;

&lt;p&gt;「&lt;a href="http://insideflag.blogspot.com/2009/05/blog-post_22.html"&gt;インサイドフラッギング再考&lt;/a&gt;」では&lt;q&gt;次のムーブで踏み替えが必要になったとしても、合計の足数は変わらないのでインサイドフラッギングができる体勢ならとりあえずやっとけ&lt;/q&gt;というようなことを書いた。実際に踏み替えを極力避け、それを実践してきたのだけど、ごく稀にインサイドフラッギングの後でなにやらバランスの悪いとても苦しい体勢になってしまうことがあった。&lt;/p&gt;

&lt;p&gt;思い起こしてみると、次のホールドを取って内側に流している足を抜くところまではいいのだけど、その後正体になってしまい、その正体のバランスが非常に悪いというような感じ。正体になるのは構わないのだけど、バランスが悪いのはマズい。&lt;/p&gt;

&lt;p&gt;ということで、インサイドフラッギングの後で正体になりそうな場合はバランスも考慮してムーブを決める。体を返せそうな場合は迷わずインサイドフラッギング。という方針でファイナルアンサー。&lt;/p&gt;

&lt;p&gt;だといいんだけど。&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3966127164017981232-1516602093765493753?l=insideflag.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3966127164017981232/posts/default/1516602093765493753'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3966127164017981232/posts/default/1516602093765493753'/><link rel='alternate' type='text/html' href='http://insideflag.blogspot.com/2011/03/blog-post_31.html' title='インサイドフラッギングの使い過ぎに注意'/><author><name>a</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-3966127164017981232.post-1347395427424687255</id><published>2011-03-20T16:22:00.003+09:00</published><updated>2011-08-17T17:58:52.389+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ラベルなし'/><title type='text'>義援金と寄付金控除</title><content type='html'>&lt;p&gt;東北地方太平洋沖地震の被害があまりにも大きいので、たいした額ではないのだけど自分も日本赤十字社に寄付をした。この義援金は特定寄付金に当てはまり、確定申告で所得控除を受けることができる。個人の場合、控除されたからといって納める所得税が大きく変わるわけではない（と思う）けど、安くなった税金のぶんも寄付すると思えば寄付金控除は受けておくにこしたことはないと思う。&lt;/p&gt;

&lt;p&gt;募金を求める団体はたくさんあるけど、詐欺があったり、また、中間搾取されて被災者のために使われるのはごく一部だけということもあるらしい。そんな中、一番確実な方法は日本赤十字社に直接送金することのようで、所得税法でも日本赤十字社への寄付は特定寄付金として認められるとされている。&lt;/p&gt;

&lt;p&gt;日本赤十字社に寄付した場合、寄附金控除の適用を受けるためには確定申告書に受領書を添付（または提出時に提示）すればいいようだ。自分が寄付をしようと思い立ったときは、Webサイトにアクセスが集中していて何も見れなかったため、&lt;a href="http://checkout.google.com/"&gt;Google Checkout&lt;/a&gt;からクレジットカードで行ったが（Googleは決済を代行するだけで日本赤十字社に直接支払われる。領収書は自分で印刷）、現在は落ち着いているので&lt;a href="http://www.jrc.or.jp/contribution/l3/Vcms3_00002069.html"&gt;日本赤十字社の義援金窓口&lt;/a&gt;から受領書を送ってもらえる方法を選べばいいと思う（クレジットカード可）。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;（追記）&lt;/strong&gt;Google Checkoutの領収書じゃダメかも。よく見たら&lt;q cite="http://www.nta.go.jp/taxanswer/shotoku/1150.htm"&gt;&lt;strong&gt;寄附した団体などから交付を受けた&lt;/strong&gt;領収書など&lt;/q&gt;と書かれていた。&lt;/p&gt;

&lt;p&gt;個人の場合、控除額は&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;
寄付金の全額（上限は年間所得総額の40%） − 2千円
&lt;/blockquote&gt;&lt;/p&gt;
&lt;p&gt;で求めることができる。&lt;/p&gt;

&lt;h4&gt;参考&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://www.nta.go.jp/taxanswer/shotoku/1150.htm"&gt;No.1150　一定の寄附金を支払ったとき(寄附金控除)｜所得税｜国税庁&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.jrc.or.jp/contribute/qa/index.html"&gt;【日本赤十字社】寄付・献血・ボランティア｜よくあるご質問&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3966127164017981232-1347395427424687255?l=insideflag.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3966127164017981232/posts/default/1347395427424687255'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3966127164017981232/posts/default/1347395427424687255'/><link rel='alternate' type='text/html' href='http://insideflag.blogspot.com/2011/03/blog-post.html' title='義援金と寄付金控除'/><author><name>a</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-3966127164017981232.post-3852586161752413248</id><published>2011-02-28T03:08:00.017+09:00</published><updated>2011-09-27T07:46:59.039+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='iPhone/iPod Touch'/><title type='text'>NSArray/NSMutableArrayから重複要素を削除する</title><content type='html'>&lt;p&gt;&lt;code&gt;NSArray&lt;/code&gt;/&lt;code&gt;NSMutableArray&lt;/code&gt;には重複する要素を取り除くメソッドが用意されていない。要素の順序がどうなってもいいなら、&lt;code&gt;NSSet&lt;/code&gt;が重複を許さないことを利用して&lt;/p&gt;
&lt;blockquote&gt;&lt;pre&gt;
NSSet* uniqueElements = [NSSet setWithArray:array];
&lt;/pre&gt;&lt;/blockquote&gt;
&lt;p&gt;とすることもできるけど、要素の順序付けが必要ないなら最初から配列を使ったりしないから、この方法はあまり役に立たないと思う。&lt;/p&gt;

&lt;h4&gt;NSMutableArray&lt;/h4&gt;
&lt;p&gt;ということでカテゴリで実装することにした。とりあえず&lt;code&gt;NSMutableArray&lt;/code&gt;から。&lt;/p&gt;
&lt;blockquote&gt;&lt;pre&gt;
- (void)removeDuplicatedObjects
{
    NSMutableIndexSet* removedIndexes = [[NSMutableIndexSet alloc] init];
    NSMutableSet* set = [[NSMutableSet alloc] init];
    const NSUInteger count = [self count];
    for (NSUInteger i = 0; i &lt; count; i++) {
        id object = [self objectAtIndex:i];
        if ([set containsObject:object]) {
            [removedIndexes addIndex:i];
        } else {
            [set addObject:object];
        }
    }
    [set release];
    [self removeObjectsAtIndexes:removedIndexes];
    [removedIndexes release];
}
&lt;/pre&gt;&lt;/blockquote&gt;
&lt;p&gt;等値判定はもちろん&lt;code&gt;–isEqual:&lt;/code&gt;で行われるのだけど、高速化のため&lt;code&gt;NSSet&lt;/code&gt;を利用しているので、&lt;code&gt;–hash&lt;/code&gt;も適切に定義されている必要がある。また、重複要素のうち前にあるほうを残すため、逆向きにループしながら削除する方法は使えず&lt;code&gt;NSMutableIndexSet&lt;/code&gt;を使用した。&lt;/p&gt;

&lt;p&gt;次に等値判定をセレクタで行う場合。こちらは後ろからループして、各要素について重複要素がないか一つずつ調べていき、見つかればただちに削除している。&lt;/p&gt;
&lt;blockquote&gt;&lt;pre&gt;
- (void)removeDuplicatedObjectsUsingSelector:(SEL)selector
{
    for (NSUInteger i = [self count]; i &gt; 0; i--) {
        id object = [self objectAtIndex:i - 1];
        BOOL (*imp)(id, SEL, id) = (BOOL(*)(id, SEL, id))[object methodForSelector:selector];
        for (NSUInteger j = 0; j &lt; i - 1; j++) {
            if (imp(object, selector, [self objectAtIndex:j])) {
                [self removeObjectAtIndex:i - 1];
                break;
            }
        }
    }
}
&lt;/pre&gt;&lt;/blockquote&gt;
&lt;p&gt;セレクタの返り値が&lt;code&gt;BOOL&lt;/code&gt;なので&lt;code&gt;IMP&lt;/code&gt;を取り出して関数呼び出しを行っているけど、それについては「&lt;a href="http://insideflag.blogspot.com/2011/01/performselectorid.html"&gt;performSelectorで返り値がid型以外のメソッドを呼ぶ&lt;/a&gt;」を参照。if文の条件式に&lt;code&gt;performSelector&lt;/code&gt;の返り値をそのまま使ったら常に真になってしまう場合があって（単体テストは成功するのに）、バグの発見に時間がかかってしまった。&lt;/p&gt;

&lt;p&gt;Blocksを使うとこんな感じになる。&lt;/p&gt;
&lt;blockquote&gt;&lt;pre&gt;
- (void)removeDuplicatedObjectsUsingBlock:(BOOL (^)(id a, id b))block
{
    for (NSUInteger i = [self count]; i &gt; 0; i--) {
        id object = [self objectAtIndex:i - 1];
        for (NSUInteger j = 0; j &lt; i - 1; j++) {
            if (block(object, [self objectAtIndex:j])) {
                [self removeObjectAtIndex:i - 1];
                break;
            }
        }
    }
}
&lt;/pre&gt;&lt;/blockquote&gt;

&lt;h4&gt;NSArray&lt;/h4&gt;
&lt;p&gt;&lt;code&gt;NSArray&lt;/code&gt;の場合はカテゴリで&lt;/p&gt;
&lt;blockquote&gt;&lt;pre&gt;
- (NSArray*)arrayByRemovingDuplicatedObjects
{
    NSMutableArray* mutableCopy = [self mutableCopy];
    [mutableCopy removeDuplicatedObjects];
    NSArray* uniqueElements = [NSArray arrayWithArray:mutableCopy];
    [mutableCopy release];
    return uniqueElements;
}
&lt;/pre&gt;&lt;/blockquote&gt;
&lt;p&gt;のように定義すればいいと思う。自分は必要なかったため実装していないけど、セレクタやBlocksを使う場合も同じようにして簡単に書ける。&lt;/p&gt;

&lt;h4&gt;テスト&lt;/h4&gt;
&lt;p&gt;Xcode 3.2.5 and iOS SDK 4.2で確認した。&lt;/p&gt;
&lt;blockquote&gt;&lt;pre&gt;
@interface NSString (Private)
- (BOOL)isCaseInsensitiveEqualToString:(NSString*)other;
@end

@implementation NSString (Private)
- (BOOL)isCaseInsensitiveEqualToString:(NSString*)other
{
    return [self compare:other options:NSCaseInsensitiveSearch] == NSOrderedSame;
}
@end

@interface NSMutableArrayUniqueTest : SenTestCase
@end

@implementation NSMutableArrayUniqueTest

- (void)testRemoveDuplicatedObjects
{
    NSMutableArray* array;
    NSMutableArray* expected;
    
    array = [NSMutableArray array];
    [array removeDuplicatedObjects];
    expected = [NSMutableArray array];
    STAssertEqualObjects(expected, array, @"");
    
    array = [NSMutableArray arrayWithObject:@"a"];
    [array removeDuplicatedObjects];
    expected = [NSMutableArray arrayWithObject:@"a"];
    STAssertEqualObjects(expected, array, @"");
    
    array = [NSMutableArray arrayWithObjects:@"a", @"b", nil];
    [array removeDuplicatedObjects];
    expected = [NSMutableArray arrayWithObjects:@"a", @"b", nil];
    STAssertEqualObjects(expected, array, @"");
    
    array = [NSMutableArray arrayWithObjects:@"a", @"a", nil];
    [array removeDuplicatedObjects];
    expected = [NSMutableArray arrayWithObject:@"a"];
    STAssertEqualObjects(expected, array, @"");
    
    array = [NSMutableArray arrayWithObjects:@"a", @"b", @"a", @"b", nil];
    [array removeDuplicatedObjects];
    expected = [NSMutableArray arrayWithObjects:@"a", @"b", nil];
    STAssertEqualObjects(expected, array, @"");
    
    array = [NSMutableArray arrayWithObjects:@"a", @"b", @"a", @"a", @"b", @"c", nil];
    [array removeDuplicatedObjects];
    expected = [NSMutableArray arrayWithObjects:@"a", @"b", @"c", nil];
    STAssertEqualObjects(expected, array, @"");
}

- (void)testRemoveDuplicatedObjectsUsingBlock
{
    NSMutableArray* array;
    NSMutableArray* expected;
    BOOL (^block)(id, id) = ^BOOL(id a, id b) {
        return [a compare:b options:NSCaseInsensitiveSearch] == NSOrderedSame;
    };
    
    array = [NSMutableArray array];
    [array removeDuplicatedObjectsUsingBlock:block];
    expected = [NSMutableArray array];
    STAssertEqualObjects(expected, array, @"");
    
    array = [NSMutableArray arrayWithObject:@"a"];
    [array removeDuplicatedObjectsUsingBlock:block];
    expected = [NSMutableArray arrayWithObject:@"a"];
    STAssertEqualObjects(expected, array, @"");
    
    array = [NSMutableArray arrayWithObjects:@"a", @"b", nil];
    [array removeDuplicatedObjectsUsingBlock:block];
    expected = [NSMutableArray arrayWithObjects:@"a", @"b", nil];
    STAssertEqualObjects(expected, array, @"");
    
    array = [NSMutableArray arrayWithObjects:@"a", @"A", nil];
    [array removeDuplicatedObjectsUsingBlock:block];
    expected = [NSMutableArray arrayWithObjects:@"a", nil];
    STAssertEqualObjects(expected, array, @"");
    
    array = [NSMutableArray arrayWithObjects:@"a", @"B", @"A", @"b", nil];
    [array removeDuplicatedObjectsUsingBlock:block];
    expected = [NSMutableArray arrayWithObjects:@"a", @"B", nil];
    STAssertEqualObjects(expected, array, @"");
    
    array = [NSMutableArray arrayWithObjects:@"a", @"B", @"A", @"a", @"b", @"c", nil];
    [array removeDuplicatedObjectsUsingBlock:block];
    expected = [NSMutableArray arrayWithObjects:@"a", @"B", @"c", nil];
    STAssertEqualObjects(expected, array, @"");
}

- (void)testRemoveDuplicatedObjectsUsingSelector
{
    NSMutableArray* array;
    NSMutableArray* expected;
    
    array = [NSMutableArray array];
    [array removeDuplicatedObjectsUsingSelector:@selector(isCaseInsensitiveEqualToString:)];
    expected = [NSMutableArray array];
    STAssertEqualObjects(expected, array, @"");
    
    array = [NSMutableArray arrayWithObject:@"a"];
    [array removeDuplicatedObjectsUsingSelector:@selector(isCaseInsensitiveEqualToString:)];
    expected = [NSMutableArray arrayWithObject:@"a"];
    STAssertEqualObjects(expected, array, @"");
    
    array = [NSMutableArray arrayWithObjects:@"a", @"b", nil];
    [array removeDuplicatedObjectsUsingSelector:@selector(isCaseInsensitiveEqualToString:)];
    expected = [NSMutableArray arrayWithObjects:@"a", @"b", nil];
    STAssertEqualObjects(expected, array, @"");
    
    array = [NSMutableArray arrayWithObjects:@"a", @"A", nil];
    [array removeDuplicatedObjectsUsingSelector:@selector(isCaseInsensitiveEqualToString:)];
    expected = [NSMutableArray arrayWithObjects:@"a", nil];
    STAssertEqualObjects(expected, array, @"");
    
    array = [NSMutableArray arrayWithObjects:@"a", @"B", @"A", @"b", nil];
    [array removeDuplicatedObjectsUsingSelector:@selector(isCaseInsensitiveEqualToString:)];
    expected = [NSMutableArray arrayWithObjects:@"a", @"B", nil];
    STAssertEqualObjects(expected, array, @"");
    
    array = [NSMutableArray arrayWithObjects:@"a", @"B", @"A", @"a", @"b", @"c", nil];
    [array removeDuplicatedObjectsUsingSelector:@selector(isCaseInsensitiveEqualToString:)];
    expected = [NSMutableArray arrayWithObjects:@"a", @"B", @"c", nil];
    STAssertEqualObjects(expected, array, @"");
}
@end
&lt;/pre&gt;&lt;/blockquote&gt;

&lt;h4&gt;ライセンス&lt;/h4&gt;
&lt;p&gt;パブリックドメイン。&lt;/p&gt;

&lt;div class="amazon-item-box" style="display: block; padding: 0; border: 1px solid  #999; margin: 8px;  -moz-border-radius: 10px;"&gt;&lt;div class="amazon-item-image" style="display: block; padding: 10px; float: left;"&gt;&lt;a href="http://www.amazon.co.jp/exec/obidos/ASIN/4797361786/burningdownth-22/ref=nosim" target="_blank"&gt;&lt;img src="http://ecx.images-amazon.com/images/I/41aYUviRN3L._SL75_.jpg" alt="詳解 Objective-C 2.0 改訂版" title="詳解 Objective-C 2.0 改訂版" style="border: none; display: inline; vertical-align: bottom;" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;dl class="amazon-item-info" style="display: block; margin-left: 10px; padding: 0 8px 0 10px; font-size: 10pt; line-height: 110%;"&gt;&lt;dt class="amazon-item-name" style="display: block; margin-bottom: 5px; line-height: 120%;"&gt;&lt;a href="http://www.amazon.co.jp/exec/obidos/ASIN/4797361786/burningdownth-22/ref=nosim" target="_blank" title="詳解 Objective-C 2.0 改訂版"&gt;詳解 Objective-C 2.0 改訂版&lt;/a&gt;&lt;/dt&gt;&lt;dd&gt;&lt;ul class="amazon-item-info-list" style="list-style-type: none; padding-left: 0px; line-height: 120%;"&gt;&lt;li&gt;発売元: ソフトバンククリエイティブ&lt;/li&gt;&lt;li&gt;価格: ￥ 3,990&lt;/li&gt;&lt;li&gt;発売日: 2010/12/17&lt;/li&gt;&lt;/ul&gt;&lt;/dd&gt;&lt;/dl&gt;&lt;p class="amazon-item-footer" style="clear: left; text-align: right; font-size: x-small; padding: 4px 10px 4px 10px; line-height: 100%;"&gt;posted with &lt;a href="http://socialtunes.net"&gt;Socialtunes&lt;/a&gt;&lt;/p&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3966127164017981232-3852586161752413248?l=insideflag.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3966127164017981232/posts/default/3852586161752413248'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3966127164017981232/posts/default/3852586161752413248'/><link rel='alternate' type='text/html' href='http://insideflag.blogspot.com/2011/02/nsarraynsmutablearray.html' title='NSArray/NSMutableArrayから重複要素を削除する'/><author><name>a</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-3966127164017981232.post-3182715699605212983</id><published>2011-01-31T18:42:00.007+09:00</published><updated>2011-09-27T08:21:24.340+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='iPhone/iPod Touch'/><title type='text'>performSelectorで返り値がid型以外のメソッドを呼ぶ</title><content type='html'>&lt;p&gt;返り値が&lt;code&gt;id&lt;/code&gt;型以外のメソッドを&lt;code&gt;performSelector&lt;/code&gt;で呼ばなければならないことがあるけど、performSelectorの返り値の型は&lt;code&gt;id&lt;/code&gt;になっているため、&lt;code&gt;float&lt;/code&gt;とか構造体だとキャストしてもコンパイルが通らない。また、コンパイルできたとしても返ってきた値をそのまま使うと問題になる場合もある。&lt;/p&gt;

&lt;p&gt;&lt;code&gt;performSelector&lt;/code&gt;をリファレンスで調べると&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;
For methods that return anything other than an object, use NSInvocation.
&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;と書いてあるけど、&lt;code&gt;NSInvocation&lt;/code&gt;を使うのはとても面倒だし、パフォーマンスも落ちるのでこんなものはできるだけ使いたくない。&lt;/p&gt;

&lt;p&gt;何かいい方法はないものかと調べてみると、comp.lang.objective-CのFAQに&lt;q&gt;&lt;a href="http://www.thaesofereode.info/clocFAQ/#selimps-impnonid"&gt;Can I use SEL for methods returning non-id types?&lt;/a&gt;&lt;/q&gt;という項目と、そのすぐ上に&lt;q&gt;&lt;a href="http://www.thaesofereode.info/clocFAQ/#selimps-selnonid"&gt;Can I use IMP for methods returning non-idtypes?&lt;/a&gt;&lt;/q&gt;というのが見つかった。短くまとめると、&lt;strong&gt;&lt;q&gt;そんなときは&lt;code&gt;IMP&lt;/code&gt;を取り出して、その関数ポインタを適切にキャストしてから呼び出せばいい&lt;/q&gt;&lt;/strong&gt;、ということなのでやってみた。&lt;/p&gt;

&lt;blockquote&gt;&lt;pre&gt;
NSNumber* number = [NSNumber numberWithFloat:M_PI];
NSLog(@"%f", [number floatValue]); // =&gt; 3.141593

float (*floatValueImp)(id, SEL) = (float(*)(id, SEL))[number methodForSelector:@selector(floatValue)];
NSLog(@"%f", floatValueImp(number, @selector(floatValue))); // =&gt; 3.141593
&lt;/pre&gt;&lt;/blockquote&gt;

&lt;p&gt;返り値が構造体でも問題ない。&lt;/p&gt;
&lt;blockquote&gt;&lt;pre&gt;
NSValue* value = [NSValue valueWithRange:NSMakeRange(11, 13)];
NSLog(@"%@", NSStringFromRange([value rangeValue])); // =&gt; {11, 13}
    
NSRange (*rangeValueImp)(id, SEL) = (NSRange(*)(id, SEL))[value methodForSelector:@selector(rangeValue)];
NSLog(@"%@", NSStringFromRange(rangeValueImp(value, @selector(rangeValue)))); // =&gt; {11, 13}
&lt;/pre&gt;&lt;/blockquote&gt;

&lt;p&gt;ということで、関数ポインタのキャストが見にくいけど、&lt;code&gt;NSInvocation&lt;/code&gt;を使うよりはいいんじゃないかと思った。&lt;/p&gt;

&lt;p&gt;&lt;code&gt;IMP&lt;/code&gt;を使うことですべて解決したわけだけど、そもそものきっかけは、&lt;/p&gt;
&lt;blockquote&gt;&lt;pre&gt;
if ([a performSelector:@selector(methodThatReturnsBOOL:) withObject:b]) {
    ...
}
&lt;/pre&gt;&lt;/blockquote&gt;
&lt;p&gt;というように、&lt;code&gt;BOOL&lt;/code&gt;値を返すメソッドを&lt;code&gt;performSelector&lt;/code&gt;で呼んで、そのままif文の条件式に使っていたところ、ブロックがまったく実行されないという現象が起きたことだった。&lt;/p&gt;

&lt;blockquote&gt;&lt;pre&gt;
NSLog(@"%d", [a performSelector:@selector(methodThatReturnsBOOL:) withObject:b])
&lt;/pre&gt;&lt;/blockquote&gt;
&lt;p&gt;のようにして値を表示してみると、セレクタが&lt;code&gt;0&lt;/code&gt;を返していても&lt;code&gt;-256&lt;/code&gt;と表示された。型のサイズが変わっているのが原因だと思うのだけど（&lt;code&gt;id&lt;/code&gt;は構造体へのポインタ、&lt;code&gt;BOOL&lt;/code&gt;は&lt;code&gt;signed char&lt;/code&gt;に&lt;code&gt;typedef&lt;/code&gt;されている）、特定の状況でしか起きなかったため発見するのに時間がかかってしまった（FAQの&lt;q&gt;Just using one with a SEL that doesn't return id could cause trouble&lt;/q&gt;はこのこと？）。BOOLの場合は返り値をキャストすることでも解決するのだけど、FAQにしたがって&lt;code&gt;IMP&lt;/code&gt;を使うことにした。&lt;/p&gt;

&lt;div class="amazon-item-box" style="display: block; padding: 0; border: 1px solid  #999; margin: 8px;  -moz-border-radius: 10px;"&gt;&lt;div class="amazon-item-image" style="display: block; padding: 10px; float: left;"&gt;&lt;a href="http://www.amazon.co.jp/exec/obidos/ASIN/4797361786/burningdownth-22/ref=nosim" target="_blank"&gt;&lt;img src="http://ecx.images-amazon.com/images/I/41aYUviRN3L._SL75_.jpg" alt="詳解 Objective-C 2.0 改訂版" title="詳解 Objective-C 2.0 改訂版" style="border: none; display: inline; vertical-align: bottom;" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;dl class="amazon-item-info" style="display: block; margin-left: 10px; padding: 0 8px 0 10px; font-size: 10pt; line-height: 110%;"&gt;&lt;dt class="amazon-item-name" style="display: block; margin-bottom: 5px; line-height: 120%;"&gt;&lt;a href="http://www.amazon.co.jp/exec/obidos/ASIN/4797361786/burningdownth-22/ref=nosim" target="_blank" title="詳解 Objective-C 2.0 改訂版"&gt;詳解 Objective-C 2.0 改訂版&lt;/a&gt;&lt;/dt&gt;&lt;dd&gt;&lt;ul class="amazon-item-info-list" style="list-style-type: none; padding-left: 0px; line-height: 120%;"&gt;&lt;li&gt;発売元: ソフトバンククリエイティブ&lt;/li&gt;&lt;li&gt;価格: ￥ 3,990&lt;/li&gt;&lt;li&gt;発売日: 2010/12/17&lt;/li&gt;&lt;/ul&gt;&lt;/dd&gt;&lt;/dl&gt;&lt;p class="amazon-item-footer" style="clear: left; text-align: right; font-size: x-small; padding: 4px 10px 4px 10px; line-height: 100%;"&gt;posted with &lt;a href="http://socialtunes.net"&gt;Socialtunes&lt;/a&gt;&lt;/p&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3966127164017981232-3182715699605212983?l=insideflag.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3966127164017981232/posts/default/3182715699605212983'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3966127164017981232/posts/default/3182715699605212983'/><link rel='alternate' type='text/html' href='http://insideflag.blogspot.com/2011/01/performselectorid.html' title='performSelectorで返り値がid型以外のメソッドを呼ぶ'/><author><name>a</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-3966127164017981232.post-3601431284123393661</id><published>2010-12-30T19:46:00.016+09:00</published><updated>2011-12-10T02:54:23.234+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='iPhone/iPod Touch'/><title type='text'>superviewがnilなのにviewDidUnloadが呼ばれない</title><content type='html'>&lt;p&gt;今まで気付かなかったのだけど、&lt;code&gt;UIViewController&lt;/code&gt;の&lt;code&gt;viewDidUnload&lt;/code&gt;はnibファイルが存在するか、&lt;strong&gt;&lt;code&gt;loadView&lt;/code&gt;メソッドが再定義されていないと呼ばれない。&lt;/strong&gt;自分はInterface Builderを全く使っていないのでnibファイルも存在しないのだけど、今までroot viewを自分で用意する必要性もなく&lt;code&gt;loadView&lt;/code&gt;をオーバーライドしたことはなかった。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;（追記）&lt;code&gt;loadView&lt;/code&gt;はroot viewを生成するためのメソッドで、subviewsは&lt;code&gt;viewDidLoad&lt;/code&gt;で作るものと思い込んでたけど、&lt;code&gt;loadView&lt;/code&gt;の中ですべて生成するのが正しいような気がしてきた。それなら&lt;code&gt;viewDidUnload&lt;/code&gt;も確実に呼ばれるし。&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;シミュレータでテストしていて、&lt;code&gt;superview&lt;/code&gt;が&lt;code&gt;nil&lt;/code&gt;なのに&lt;code&gt;viewDidUnload&lt;/code&gt;が呼ばれないクラスがあるのには気付いていたけど、他にも条件があるのだろうくらいに思っていてあまり気にしていなかった。だけど実際は&lt;code&gt;didReceiveMemoryWarning&lt;/code&gt;の中で、読み込むべきnibファイルが存在するか、または&lt;code&gt;loadView&lt;/code&gt;が再定義されているかをチェックして、&lt;code&gt;viewDidUnload&lt;/code&gt;を呼ぶか呼ばないかが決められる。&lt;/p&gt;

&lt;p&gt;&lt;code&gt;loadView&lt;/code&gt;はただ単に再定義されてさえいればいいので、&lt;code&gt;super&lt;/code&gt;の実装を呼ぶだけで構わない。&lt;/p&gt;
&lt;blockquote&gt;&lt;pre&gt;
- (void)loadView
{
    [super loadView];
}
&lt;/pre&gt;&lt;/blockquote&gt;

&lt;p&gt;ちなみに、&lt;code&gt;UITableViewController&lt;/code&gt;を継承しているクラスは再定義しなくても呼ばれる。これは&lt;code&gt;UITableViewController&lt;/code&gt;が&lt;code&gt;loadView&lt;/code&gt;を再定義しているからだと思うのだけど、逆に言うと&lt;strong&gt;&lt;code&gt;UIViewController&lt;/code&gt;の直接の子クラス&lt;/strong&gt;が&lt;code&gt;loadView&lt;/code&gt;を再定義しているかをチェックしているということになる（&lt;code&gt;UITableViewController&lt;/code&gt;が&lt;code&gt;didReceiveMemoryWarning&lt;/code&gt;をオーバーライドしているということはなかった。iOS SDK4.2で&lt;code&gt;class_copyMethodList()&lt;/code&gt;を使って確認）。&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3966127164017981232-3601431284123393661?l=insideflag.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3966127164017981232/posts/default/3601431284123393661'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3966127164017981232/posts/default/3601431284123393661'/><link rel='alternate' type='text/html' href='http://insideflag.blogspot.com/2010/12/superviewnilviewdidunload.html' title='superviewがnilなのにviewDidUnloadが呼ばれない'/><author><name>a</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-3966127164017981232.post-700740960041985079</id><published>2010-12-16T00:09:00.007+09:00</published><updated>2011-09-27T08:16:32.691+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Ubuntu'/><title type='text'>Firefoxで「Google 左 うざい」と「日本語のページを検索」</title><content type='html'>&lt;p&gt;&lt;strong&gt;（追記）&lt;/strong&gt;度重なるGoogleのデザイン変更に辟易し、左側ナビゲーションを受け入れることに。&lt;strong&gt;この記事の内容は現在のGoogleのデザインには対応していません。&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;ここ最近、Mac版のGoogle ChromeでSSLで保護されているサイトに接続できないということがよくあって、とりあえずMacではまたFirefoxを使うことにした。&lt;/p&gt;

&lt;p&gt;再移行してみて困ったのが自分で書いた「Google 左 うざい」の拡張機能。左側のナビゲーションを消すだけではなく、検索用のテキストフィールドの下に「英語のみ」「日本語のみ」というリンクを付け加えているので、Firefoxでも既存のアドオンではなく自分で書いたものを使いたい。&lt;/p&gt;

&lt;p&gt;ユーザースクリプトなら&lt;a href="https://addons.mozilla.org/ja/firefox/addon/748/"&gt;Greasemonkey&lt;/a&gt;だろうということで移植してみたところ、一瞬だけ表示されてしまう場合があった。調べてみるとGreasemonkeyの実行タイミングは&lt;code&gt;&lt;a href="http://wiki.greasespot.net/DOMContentLoaded"&gt;DOMContentLoaded&lt;/a&gt;&lt;/code&gt;とのことで、これではどうにもならないので&lt;a href="https://addons.mozilla.org/ja/firefox/addon/2108/"&gt;Stylish&lt;/a&gt;と併用することにした（&lt;a href="http://userchromejs.mozdev.org/"&gt;userChromeJS&lt;/a&gt;も調べてみたけど面倒そうなのであきらめた）。&lt;/p&gt;

&lt;p&gt;まずはStylishで左側のナビゲーションを非表示にする。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;（2011/2/1 追記）&lt;/strong&gt;Googleの変更に合わせてスタイルシートを修正。&lt;/p&gt;
&lt;blockquote&gt;&lt;pre&gt;
@namespace url(http://www.w3.org/1999/xhtml);

@-moz-document url-prefix(http://www.google.com/search?),
               url-prefix(http://www.google.co.jp/search?) {
#cnt {
margin-left:0 !important;
}
#leftnav {
display:none !important;
}
#center_col {
margin-left:30px !important;
border-left:none !important;
}
}
&lt;/pre&gt;&lt;/blockquote&gt;

&lt;p&gt;「英語のみ」「日本語のみ」のリンクはGreasemonkeyで付け加える。こちらは実行タイミングが遅くても、全体的なレイアウトを変更するものではないので大きな影響はない。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;（2011/4/17 追記）&lt;/strong&gt;Googleの変更に合わせてスクリプトも少し修正。&lt;/p&gt;
&lt;blockquote&gt;&lt;pre&gt;
// ==UserScript==
// @name    google hide left navigation
// @include http://www.google.com/search?*
// @include http://www.google.co.jp/search?*
// ==/UserScript==
(function() {
    var createLanguageLink = function(text, className, color, langOptionValue) {
        var a = document.createElement("a");
        a.className = className;
        a.style.color = color;
        var newSearch = location.search.replace(new RegExp("&amp;lr=[A-Za-z_]+", "gi"), "");
        a.href = location.pathname + newSearch + "&amp;lr=" + langOptionValue;
        a.appendChild(document.createTextNode(text));
        return a;
    };
    var div = document.getElementById("subform_ctrl").getElementsByTagName("div")[0];
    var a = div.getElementsByTagName("a")[0];
    div.insertBefore(createLanguageLink("英語のみ", a.className, a.style.color, "lang_en"), a);
    div.insertBefore(document.createTextNode(" "), a);
    div.insertBefore(createLanguageLink("日本語のみ", a.className, a.style.color, "lang_ja"), a);
    div.insertBefore(document.createTextNode(" "), a);
})();
&lt;/pre&gt;&lt;/blockquote&gt;
&lt;p&gt;二つのアドオンを併用しているところが気に入らないが、とりあえず目的は達成できたのでよしとしておく。&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3966127164017981232-700740960041985079?l=insideflag.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3966127164017981232/posts/default/700740960041985079'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3966127164017981232/posts/default/700740960041985079'/><link rel='alternate' type='text/html' href='http://insideflag.blogspot.com/2010/12/firefoxgoogle.html' title='Firefoxで「Google 左 うざい」と「日本語のページを検索」'/><author><name>a</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-3966127164017981232.post-7619903472129699888</id><published>2010-11-17T07:21:00.005+09:00</published><updated>2011-04-29T04:33:53.801+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='クライミング'/><title type='text'>クライミングシューズの臭い対策</title><content type='html'>&lt;p&gt;半年ほど前にTeam 5.10を購入したのだけど、少しすると臭いが気になるようになってきた。Team 5.10はライニング（内張り）があるタイプのシューズで、どうもこのライニングが臭くなるらしい。ということで、初めて消臭剤を購入することにした。ただ単に臭いを消すだけだと意味がないと思い、除菌もできる&lt;a href="http://www.amazon.co.jp/exec/obidos/ASIN/B000FQ6I8C/burningdownth-22/ref=nosim" target="_blank"&gt;グランズレメディ（Gran's Remedy）&lt;/a&gt;を選択。周りの評判もよかったので。&lt;/p&gt;

&lt;p&gt;グランズレメディはパウダータイプの除菌消臭剤なので、付属のスプーンで靴の中全体に散布する必要がある。スリッパタイプだと若干面倒だけど、その効果はとても高く、持続するので毎日やる必要はない。説明書きによると最初の一週間、毎日使用すればその後半年は効果が持続するとのことだけど、さすがに素足で履くクライミングシューズの場合はそうはいかなかった。自分の経験では、2週間に1回程度使用する方が費用対効果が高いと思う。&lt;/p&gt;

&lt;p&gt;グランズレメディのおかげで臭いの発生は抑えることができたのだけど、シューズが乾きにくい梅雨と大量に汗をかく夏が終わるころには、乾かした後（臭い対策の基本はしっかり乾かすこと）でもライニングがヌメヌメしてきて履くのが気持ち悪くなってきた。ということで、シャンクによくないとは思いながらも、どうせ柔らかい靴だからと洗うことにした。&lt;/p&gt;

&lt;p&gt;インソールとアウターソールの間に挟まれているシャンク（ミッドソール）は、シューズの剛性に大きな影響を与えるパーツで、一般的にパルプまたは樹脂といった材質でできている。パルプは濡れると柔らかくなり、シューズの剛性が落ちるため洗うのはよくないと言われている。Team 5.10のシャンクが何でできているかは知らないけど、実際にやってみたところ&lt;strong&gt;&lt;s&gt;特に影響はなかった&lt;/s&gt;柔らかくなってしまったっぽい。洗う前にすでによれていたので気付かなかった。&lt;/strong&gt;また、ライニングはきれいになり、ヌメヌメ感は完全になくなった。とは言え、アッパーにもダメージを与えるので、洗うのは最終手段と考えておいた方がいい気がする。&lt;/p&gt;

&lt;p&gt;ということで、他の商品と比べてみた訳ではないのだけど、除菌消臭剤はとりあえずグランズレメディにしておけばいいと思った。ちなみに、サイズが二種類あるけどミニボトルの方はかなり割高だと思う。&lt;/p&gt;

&lt;div class="amazon-item-box" style="display: block; padding: 0; border: 1px solid  #999; margin: 8px;  -moz-border-radius: 10px;"&gt;&lt;div class="amazon-item-image" style="display: block; padding: 10px; float: left;"&gt;&lt;a href="http://www.amazon.co.jp/exec/obidos/ASIN/B000FQ6I8C/burningdownth-22/ref=nosim" target="_blank"&gt;&lt;img src="http://ecx.images-amazon.com/images/I/41ZY05BWN2L._SL75_.jpg" alt="グランズレメディ 50g" title="グランズレメディ 50g" style="border: none; display: inline; vertical-align: bottom;" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;dl class="amazon-item-info" style="display: block; margin-left: 10px; padding: 0 8px 0 10px; font-size: 10pt; line-height: 110%;"&gt;&lt;dt class="amazon-item-name" style="display: block; margin-bottom: 5px; line-height: 120%;"&gt;&lt;a href="http://www.amazon.co.jp/exec/obidos/ASIN/B000FQ6I8C/burningdownth-22/ref=nosim" target="_blank" title="グランズレメディ 50g"&gt;グランズレメディ 50g&lt;/a&gt;&lt;/dt&gt;&lt;dd&gt;&lt;ul class="amazon-item-info-list" style="list-style-type: none; padding-left: 0px; line-height: 120%;"&gt;&lt;li&gt;発売元: シャッフルコーポレーション&lt;/li&gt;&lt;li&gt;価格: ￥ 2,590 (31% OFF)&lt;/li&gt;&lt;li&gt;発売日: 2003/03/10&lt;/li&gt;&lt;/ul&gt;&lt;/dd&gt;&lt;/dl&gt;&lt;p class="amazon-item-footer" style="clear: left; text-align: right; font-size: x-small; padding: 4px 10px 4px 10px; line-height: 100%;"&gt;posted with &lt;a href="http://socialtunes.net"&gt;Socialtunes&lt;/a&gt;&lt;/p&gt;&lt;/div&gt;

&lt;h4&gt;参考&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=""&gt;- 臭い（Climbing Gym &amp;amp; Shop VAC Blog）&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3966127164017981232-7619903472129699888?l=insideflag.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3966127164017981232/posts/default/7619903472129699888'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3966127164017981232/posts/default/7619903472129699888'/><link rel='alternate' type='text/html' href='http://insideflag.blogspot.com/2010/11/blog-post.html' title='クライミングシューズの臭い対策'/><author><name>a</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-3966127164017981232.post-1073604778105240889</id><published>2010-10-17T02:04:00.001+09:00</published><updated>2010-10-17T02:04:57.996+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='クライミング'/><title type='text'>カチ持ちのための筋トレを始めた</title><content type='html'>&lt;p&gt;&lt;a href="http://insideflag.blogspot.com/2009/06/blog-post.html"&gt;カチ持ちはじめました&lt;/a&gt;と宣言してからすでに一年以上経過しているので、その後の様子について書いてみる。&lt;/p&gt;

&lt;p&gt;まずカチ持ちというホールディング自体は違和感なくできるようになった。が、これが今まで使ってきたセミアーケやタンデュ（オープンハンド）の代わりとして使えるかというと、そこまでは到達していない。カチ持ちで使う筋肉があまり強くなっていないのが原因だと思うのだけど、それでもカチ持ちを使うほうが有効な場面があることに気付いた。&lt;/p&gt;

&lt;p&gt;例えば、薄くてわずかにインカットしているカチや、エッジが立っている甘いホールドでのカチ持ちは、壁に近づく方向に効かせられるため、引きつけるムーブなどで保持しやすい。一方、タンデュで引きつけると、壁に向かう力は、下方向へ引っ張っている力によって発生する摩擦しかないためより強い力が必要になってしまう。&lt;/p&gt;

&lt;p&gt;ホールドの向きはガストンの場合が特に使いやすいのだけど、これは指の長さと肘の角度の関係から自然にそうなるのだと思う。また、指を巻き込んでいるため、その分次のホールドまでの距離が小さくなるという利点もある。&lt;/p&gt;

&lt;p&gt;ということで、現状は必要に応じて使い分けているのだけど、本来の目的であるカチホールドでの保持力を上げるという目標は達成できていない。登りながら鍛えようとすると負荷の調節が難しく、結果的にカチ持ちで使う浅指屈筋（第二関節を曲げる筋肉）と虫様筋（第三関節を曲げる筋肉）が強くなっていないのだと思う（ちなみにタンデュで使うのは第一関節を曲げる深指屈筋）。&lt;/p&gt;

&lt;p&gt;やはり、ウェイトトレーニングが必要なのかと思っていたところ、少し前に吉田和正さんのブログでためになる記事があった。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://blog.livedoor.jp/hardlucktome/archives/1259085.html"&gt;吉田クライミング日記 : 虫様筋 1(手のひら厚い人)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://blog.livedoor.jp/hardlucktome/archives/1260244.html"&gt;吉田クライミング日記 : 虫様筋 2(手のひらの薄い人1)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://blog.livedoor.jp/hardlucktome/archives/1260576.html"&gt;吉田クライミング日記 : 虫様筋 3(手のひら薄いひと2)&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;虫様筋についてはこちらに詳しく書かかれている。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://blog.livedoor.jp/hardlucktome/archives/985713.html"&gt;吉田クライミング日記 : 虫様筋と骨間筋&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;我が家にポリタンクはないので、とりあえず大きめのバケツで始めてみた。最初なので負荷は小さめだけど、指を巻き込む力が思っていたよりも弱くて驚いた。だけど、逆に考えれば鍛えやすいということでもあるので気長にやっていこうと思う。&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3966127164017981232-1073604778105240889?l=insideflag.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3966127164017981232/posts/default/1073604778105240889'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3966127164017981232/posts/default/1073604778105240889'/><link rel='alternate' type='text/html' href='http://insideflag.blogspot.com/2010/10/blog-post.html' title='カチ持ちのための筋トレを始めた'/><author><name>a</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-3966127164017981232.post-6042486777832016334</id><published>2010-09-12T21:18:00.004+09:00</published><updated>2011-08-16T06:11:19.738+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='クライミング'/><title type='text'>そろそろ「フリークライミング（ヤマケイ・テクニカルブック登山技術全書）」についてひとこと言っておくか</title><content type='html'>&lt;p&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://ecx.images-amazon.com/images/I/51dGGtL6sCL._SL160_.jpg"&gt;&lt;img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 113px; height: 160px;" src="http://ecx.images-amazon.com/images/I/51dGGtL6sCL._SL160_.jpg" border="0" alt="" /&gt;&lt;/a&gt;
「&lt;a href="http://www.amazon.co.jp/exec/obidos/ASIN/4635043274/burningdownth-22/ref=nosim" target="_blank"&gt;フリークライミング (ヤマケイ・テクニカルブック 登山技術全書)&lt;/a&gt;」は、フリークライミングとは何なのかから始まって、ムーブやホールディングの解説はもちろん、クラック、マルチピッチ、さらには開拓の方法まで扱っている網羅的な本である。カラーの写真やイラストも多用されていてわかりやすい一冊だと思う。&lt;/p&gt;

&lt;p style="clear:both"&gt;しかし、実は本書で本当に大事なのはそんなことではない。&lt;strong&gt;最も重要なのは&lt;a href="http://www.laboratorism.com/"&gt;故新井裕己さん&lt;/a&gt;による&lt;q&gt;第9章 トレーニング編&lt;/q&gt;と&lt;q&gt;第10章 コンディショニング&amp;amp;ケア編&lt;/q&gt;であることは疑いようがない（このブログ的に）。&lt;/strong&gt;ページ数は少ないが、プラトー（停滞状態）に陥っている人にこそ必要な内容がコンパクトにまとめてある。&lt;/p&gt;

&lt;p&gt;トレーニング編は、まずクライミングにおけるトレーニングの必要性について分析し、登れない原因を&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;スキル（技術）&lt;/li&gt;
&lt;li&gt;フィジカル（肉体・身体能力）&lt;/li&gt;
&lt;li&gt;ブレイン（戦略と精神力）&lt;/li&gt;
&lt;/ul&gt;
の三要素に分けている。その後のページでそれぞれについて詳しい解説が続くのだけど、基本的にはまず理論を示し、次に具体的なトレーニング方法とその根拠を紹介するという形になっている。&lt;/p&gt;

&lt;p&gt;このブログでもフィジカルトレーニングについて紹介しているが、本書を参考にしている部分はかなり多い。ブログに書いたのは自分が実際に行ったものだけで、詳細についても省略しているので、もっと詳しく知りたい人には一読の価値があると思う。&lt;/p&gt;

&lt;p&gt;コンディショニング&amp;amp;ケア編では、ダイエット、栄養、ストレッチ、休養、体幹、拮抗筋などについて幅広く書かれている。ページ数の関係か詳しくはないが、それぞれが重要な要素であることは間違いない。サプリメントについてはサラッと触れている程度で、ROCK &amp;amp; SNOWで連載していた&lt;q&gt;ハードコア人体実験室&lt;/q&gt;のようなマニアックな内容を期待してはいけない。&lt;/p&gt;

&lt;p&gt;ここしばらく伸び悩んでいる人は、すでに登るだけの限界に達しているのかもしれない。その状態で今までと同じようにやっていても効率的に強くなるのは難しく、プラトーから脱出するためには登る以外のトレーニングを開始する必要がある。本書（というよりトレーニング編とコンディショニング&amp;amp;ケア編）はそんな人こそが読むべき本であると思う。割り当てられたページ数が少ないのが惜しいけど、それでも十分な価値があると思う。&lt;/p&gt;

&lt;div class="amazon-item-box" style="display: block; padding: 0; border: 1px solid  #999; margin: 8px;  -moz-border-radius: 10px;"&gt;&lt;div class="amazon-item-image" style="display: block; padding: 10px; float: left;"&gt;&lt;a href="http://www.amazon.co.jp/exec/obidos/ASIN/4635043274/burningdownth-22/ref=nosim" target="_blank"&gt;&lt;img src="http://ecx.images-amazon.com/images/I/51dGGtL6sCL._SL75_.jpg" alt="フリークライミング (ヤマケイ・テクニカルブック 登山技術全書)" title="フリークライミング (ヤマケイ・テクニカルブック 登山技術全書)" style="border: none; display: inline; vertical-align: bottom;" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;dl class="amazon-item-info" style="display: block; margin-left: 10px; padding: 0 8px 0 10px; font-size: 10pt; line-height: 110%;"&gt;&lt;dt class="amazon-item-name" style="display: block; margin-bottom: 5px; line-height: 120%;"&gt;&lt;a href="http://www.amazon.co.jp/exec/obidos/ASIN/4635043274/burningdownth-22/ref=nosim" target="_blank" title="フリークライミング (ヤマケイ・テクニカルブック 登山技術全書)"&gt;フリークライミング (ヤマケイ・テクニカルブック 登山技術全書)&lt;/a&gt;&lt;/dt&gt;&lt;dd&gt;&lt;ul class="amazon-item-info-list" style="list-style-type: none; padding-left: 0px; line-height: 120%;"&gt;&lt;li&gt;発売元: 山と溪谷社&lt;/li&gt;&lt;li&gt;価格: ￥ 1,890&lt;/li&gt;&lt;li&gt;発売日: 2005/05/01&lt;/li&gt;&lt;/ul&gt;&lt;/dd&gt;&lt;/dl&gt;&lt;p class="amazon-item-footer" style="clear: left; text-align: right; font-size: x-small; padding: 4px 10px 4px 10px; line-height: 100%"&gt;posted with &lt;a href="http://socialtunes.net"&gt;Socialtunes&lt;/a&gt;&lt;/p&gt;&lt;/div&gt;

&lt;p&gt;ちなみに、ROCK &amp;amp; SNOW 2005春号 No.27で、同じく新井裕己さんが&lt;q&gt;トレーニング究極理論&lt;/q&gt;という特集記事を書いているが、内容は本書のフィジカルトレーニングの部分をさらにコンパクトにまとめたもの。&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3966127164017981232-6042486777832016334?l=insideflag.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3966127164017981232/posts/default/6042486777832016334'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3966127164017981232/posts/default/6042486777832016334'/><link rel='alternate' type='text/html' href='http://insideflag.blogspot.com/2010/09/blog-post.html' title='そろそろ「フリークライミング（ヤマケイ・テクニカルブック登山技術全書）」についてひとこと言っておくか'/><author><name>a</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-3966127164017981232.post-1708380560074810051</id><published>2010-09-05T20:01:00.010+09:00</published><updated>2011-09-27T08:17:17.702+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Ubuntu'/><title type='text'>「Google 左 うざい」拡張機能をChrome 6用に修正した</title><content type='html'>&lt;p&gt;&lt;strong&gt;（追記）&lt;/strong&gt;度重なるGoogleのデザイン変更に辟易し、左側ナビゲーションを受け入れることに。&lt;strong&gt;この記事の内容は現在のGoogleのデザインには対応していません。&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Google Chrome 6が正式にリリースされたが、&lt;a href="http://insideflag.blogspot.com/2010/05/chromegoogle.html"&gt;Googleの左に表示されるうざいナビゲーションを一瞬も見えないようにする&lt;/a&gt;拡張機能が正常に動作しなくなってしまった（表示されるようになってしまった）。&lt;/p&gt;

&lt;p&gt;原因を調べてみたところ、単純に&lt;code&gt;content_scripts&lt;/code&gt;で指定したCSSが読み込まれていないようだ。ということで、無理矢理なコードになってしまったけど、なんとかスクリプトで対処してみた。&lt;/p&gt;

&lt;p&gt;manifest.json&lt;/p&gt;
&lt;blockquote&gt;&lt;pre&gt;
{
  "name": "google hide left navigation",
  "version": "1.1",
  "content_scripts": [
    {
      "matches": ["http://www.google.com/search?*", "http://www.google.co.jp/search?*"],
      "js": ["script.js"],
      "run_at": "document_start"
    }
  ]
}
&lt;/pre&gt;&lt;/blockquote&gt;
&lt;p&gt;&lt;code&gt;run_at&lt;/code&gt;を追加。値が&lt;code&gt;document_start&lt;/code&gt;の場合は、DOMが構築される前に拡張機能のスクリプトが呼ばれる。&lt;code&gt;css&lt;/code&gt;はもう必要ないので削除した。style.css自体も削除。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;（2011/2/1 追記）&lt;/strong&gt;Googleの変更に合わせてスタイルを修正。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;（2011/4/17 追記）&lt;/strong&gt;スクリプトも少し修正。&lt;/p&gt;
&lt;p&gt;script.js&lt;/p&gt;
&lt;blockquote&gt;&lt;pre&gt;
var style = document.createElement("style");
style.type = "text/css";
style.appendChild(document.createTextNode("#cnt{margin-left:0 !important;} #leftnav{display:none !important;} #center_col{margin-left:30px !important;border-left:none !important;}"));
(document.head || document.documentElement).appendChild(style);

var createLanguageLink = function(text, className, color, langOptionValue) {
    var a = document.createElement("a");
    a.className = className;
    a.style.color = color;
    var newSearch = location.search.replace(new RegExp("&amp;lr=[A-Za-z_]+", "gi"), "");
    a.href = location.pathname + newSearch + "&amp;lr=" + langOptionValue;
    a.appendChild(document.createTextNode(text));
    return a;
};
var addLanguageLinks = function() {
    var div = document.getElementById("subform_ctrl").getElementsByTagName("div")[0];
    var a = div.getElementsByTagName("a")[0];
    div.insertBefore(createLanguageLink("英語のみ", a.className, a.style.color, "lang_en"), a);
    div.insertBefore(document.createTextNode(" "), a);
    div.insertBefore(createLanguageLink("日本語のみ", a.className, a.style.color, "lang_ja"), a);
    div.insertBefore(document.createTextNode(" "), a);
};
document.addEventListener("DOMContentLoaded", function() {
    addLanguageLinks();
}, false);
&lt;/pre&gt;&lt;/blockquote&gt;
&lt;p&gt;DOMが構築される前なのでhead要素はまだ存在しない（はず）。style要素を追加する場所がないため、仕方なく&lt;code&gt;document.documentElement&lt;/code&gt;に追加してしまうという力技。何かの間違いでhead要素があった場合はそちらに追加する。かなり無理があることは重々承知しているが、これでもちゃんと動くのでよしとする。ちなみに、&lt;a href="https://chrome.google.com/extensions/detail/pabfempgigicdjjlccdgnbmeggkbjdhd?hl=ja"&gt;Chrome Stylist&lt;/a&gt;も&lt;a href="https://chrome.google.com/extensions/detail/fjnbnpbmkenffdnngjfgmeleoegfcffe?hl=ja"&gt;Stylish&lt;/a&gt;もやっていることは同じ。&lt;/p&gt;

&lt;p&gt;後半は、&lt;a href="http://insideflag.blogspot.com/2010/05/blog-post.html"&gt;「日本語のページを検索」リンクも非表示になってしまうので自分でつける&lt;/a&gt;ためのコード。スクリプトが読み込まれるタイミングが変わったので、&lt;code&gt;DOMContentLoaded&lt;/code&gt;にイベントリスナーを追加するようにした。&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3966127164017981232-1708380560074810051?l=insideflag.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3966127164017981232/posts/default/1708380560074810051'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3966127164017981232/posts/default/1708380560074810051'/><link rel='alternate' type='text/html' href='http://insideflag.blogspot.com/2010/09/google-chrome-6.html' title='「Google 左 うざい」拡張機能をChrome 6用に修正した'/><author><name>a</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-3966127164017981232.post-2489037503890322934</id><published>2010-08-30T20:35:00.006+09:00</published><updated>2011-09-28T10:52:54.413+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='クライミング'/><title type='text'>クライミングのための懸垂（チンニング）</title><content type='html'>&lt;p&gt;クライミングのためのトレーニングとしては比較的行いやすい懸垂（チンニング）について、改めて調べたり考えたりしてみた。&lt;/p&gt;

&lt;p&gt;懸垂やロックオフはクライミングにおいて基本的な動作なので、ウェイトトレーニングとして懸垂を行うのは間違っていない。ただし、&lt;strong&gt;初級者は登るのが一番のトレーニングになる&lt;/strong&gt;ので、時間が確保できるなら登ることを優先するべき。また、中級者以上では指の強さがより重要になってくるということもあり、&lt;strong&gt;鍛える部位の優先順位をよく考える必要がある。&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;最大筋力と筋持久力とでは、まず最大筋力の強化を優先させるべきとされている。最大筋力が向上すれば、それまで限界だったムーブが少し力を抜いて登れるようになれるわけだから、持久力も向上したことになる（LT値が高まり乳酸の発生を遅らせることができる）。一方、筋持久力がいくらあっても、最大筋力が足りず不可能なムーブがひとつでもあればその課題（ルート）は登れない。ということで、ここでは最大筋力の向上のためのトレーニングを前提とする。&lt;/p&gt;

&lt;h4&gt;いわゆる普通の懸垂&lt;/h4&gt;
&lt;p&gt;クライミングの特性を考えた場合、とりあえず負荷は自重で、無理な場合は椅子やゴムチューブに片足を置いたり、引きつけた状態から始めるなどして軽減すればいい。また、筋肥大を目的としたウェイトトレーニングの原則から1セットの回数は8～12回、セット数は3～5セットで、各セット間のインターバルは1分以下に設定する。すべてのセットがこなせるようになったら、これ以上はあまり意味がないのでバリエーションや片手ロックオフなどに移行する。&lt;/p&gt;

&lt;p&gt;フィンガーボードなどで指も同時に鍛えようとするのはやめたほうがいい。ひとつのトレーニングで同時に指にも適切な負荷を与えるのは不可能なので。指は指に焦点を当てた別のトレーニングをするべき（&lt;a href="http://insideflag.blogspot.com/2009/06/blog-post_27.html"&gt;デッドハングによる指のトレーニング&lt;/a&gt;）。&lt;/p&gt;

&lt;h4&gt;バリエーション&lt;/h4&gt;
&lt;p&gt;手の幅を広くしたり狭くしたりすることで、普通の懸垂とは異なる筋肉を使うことができる。また、輪っかにしたタオルなどを利用し、左右で段差をつけることで片手への負荷を増やすことができる（間隔を広げていくと最終的には片手懸垂に行き着く）。実際のクライミングでは、自分の肩幅だったり、両手の高さが揃っているホールドはまれなので、ウエイトトレーニングにおける特異性の原則にも適っていると思う。&lt;/p&gt;

&lt;p&gt;自重のまま負荷を増やしたい場合は、エキセントリック・コンストラクションで行うことができる。エキセントリック・コンストラクションは負荷をかけながら筋肉を伸ばす運動のことで、懸垂の場合は数秒程度かけてゆっくり体を降ろすようにすればいい。逆に負荷をかけながら筋肉を縮める運動はコンセントリック・コンストラクションと言い、これはまさに普通の懸垂で行っていること。エキセントリックのほうが筋肥大が起きやすい。&lt;/p&gt;

&lt;p&gt;最大筋力の向上は筋肥大によってだけではなく、筋繊維の動員率を上げることによっても達成される。筋動員率アップを目的とする場合は、回数を5回未満に設定し、その回数で限界になる程度のウェイトを装着して行う。インターバルはクレアチンリン酸が再合成されるのを待つ必要があるため3〜5分程度。筋動員率アップのトレーニングは、神経系の適応によってより多くの筋繊維を動員しようというもので、今ある筋肉量で筋力を向上させようということだから、いずれはどこかで頭打ちになる。それ以上は筋肉を肥大させるしかない。&lt;/p&gt;

&lt;h4&gt;ロックオフ&lt;/h4&gt;
&lt;p&gt;懸垂がある程度できるようになったら、体を引きつけた状態で固定するロックオフのトレーニングも行ったほうがいい。これも筋肥大を目的としものではなく、筋動員率アップのためのトレーニング。詳しくは&lt;a href="http://insideflag.blogspot.com/2009/05/blog-post_31.html"&gt;片手ロックオフ&lt;/a&gt;を参照。片手ロックオフが難しいのであればまずはフレンチーズから始めればいい。&lt;/p&gt;

&lt;h4&gt;参考&lt;/h4&gt;
&lt;div class="amazon-item-box" style="display: block; padding: 0; border: 1px solid  #999; margin: 8px;  -moz-border-radius: 10px;"&gt;&lt;div class="amazon-item-image" style="display: block; padding: 10px; float: left;"&gt;&lt;a href="http://www.amazon.co.jp/exec/obidos/ASIN/4635043274/burningdownth-22/ref=nosim" target="_blank"&gt;&lt;img src="http://ecx.images-amazon.com/images/I/51dGGtL6sCL._SL75_.jpg" alt="フリークライミング (ヤマケイ・テクニカルブック 登山技術全書)" title="フリークライミング (ヤマケイ・テクニカルブック 登山技術全書)" style="border: none; display: inline; vertical-align: bottom;" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;dl class="amazon-item-info" style="display: block; margin-left: 10px; padding: 0 8px 0 10px; font-size: 10pt; line-height: 110%;"&gt;&lt;dt class="amazon-item-name" style="display: block; margin-bottom: 5px; line-height: 120%;"&gt;&lt;a href="http://www.amazon.co.jp/exec/obidos/ASIN/4635043274/burningdownth-22/ref=nosim" target="_blank" title="フリークライミング (ヤマケイ・テクニカルブック 登山技術全書)"&gt;フリークライミング (ヤマケイ・テクニカルブック 登山技術全書)&lt;/a&gt;&lt;/dt&gt;&lt;dd&gt;&lt;ul class="amazon-item-info-list" style="list-style-type: none; padding-left: 0px; line-height: 120%;"&gt;&lt;li&gt;発売元: 山と溪谷社&lt;/li&gt;&lt;li&gt;価格: ￥ 1,890&lt;/li&gt;&lt;li&gt;発売日: 2005/05/01&lt;/li&gt;&lt;/ul&gt;&lt;/dd&gt;&lt;/dl&gt;&lt;p class="amazon-item-footer" style="clear: left; text-align: right; font-size: x-small; padding: 4px 10px 4px 10px; line-height: 100%"&gt;posted with &lt;a href="http://socialtunes.net"&gt;Socialtunes&lt;/a&gt;&lt;/p&gt;&lt;/div&gt;

&lt;div class="amazon-item-box" style="display: block; padding: 0; border: 1px solid  #999; margin: 8px;  -moz-border-radius: 10px;"&gt;&lt;div class="amazon-item-image" style="display: block; padding: 10px; float: left;"&gt;&lt;a href="http://www.amazon.co.jp/exec/obidos/ASIN/B001U729UG/burningdownth-22/ref=nosim" target="_blank"&gt;&lt;img src="http://ecx.images-amazon.com/images/I/317fLLKPuzL._SL75_.jpg" alt="トータルフィットネス(TotalFitness) 懸垂マシン2  STM047" title="トータルフィットネス(TotalFitness) 懸垂マシン2  STM047" style="border: none; display: inline; vertical-align: bottom;" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;dl class="amazon-item-info" style="display: block; margin-left: 10px; padding: 0 8px 0 10px; font-size: 10pt; line-height: 110%;"&gt;&lt;dt class="amazon-item-name" style="display: block; margin-bottom: 5px; line-height: 120%;"&gt;&lt;a href="http://www.amazon.co.jp/exec/obidos/ASIN/B001U729UG/burningdownth-22/ref=nosim" target="_blank" title="トータルフィットネス(TotalFitness) 懸垂マシン2  STM047"&gt;トータルフィットネス(TotalFitness) 懸垂マシン2  STM047&lt;/a&gt;&lt;/dt&gt;&lt;dd&gt;&lt;ul class="amazon-item-info-list" style="list-style-type: none; padding-left: 0px; line-height: 120%;"&gt;&lt;li&gt;発売元: トータルフィットネス(TotalFitness)&lt;/li&gt;&lt;li&gt;価格: ￥ 10,030 (32% OFF)&lt;/li&gt;&lt;/ul&gt;&lt;/dd&gt;&lt;/dl&gt;&lt;p class="amazon-item-footer" style="clear: left; text-align: right; font-size: x-small; padding: 4px 10px 4px 10px; line-height: 100%;"&gt;posted with &lt;a href="http://socialtunes.net"&gt;Socialtunes&lt;/a&gt;&lt;/p&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3966127164017981232-2489037503890322934?l=insideflag.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3966127164017981232/posts/default/2489037503890322934'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3966127164017981232/posts/default/2489037503890322934'/><link rel='alternate' type='text/html' href='http://insideflag.blogspot.com/2010/08/blog-post.html' title='クライミングのための懸垂（チンニング）'/><author><name>a</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-3966127164017981232.post-1852190007254024302</id><published>2010-08-25T16:47:00.025+09:00</published><updated>2012-01-19T19:35:08.679+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='iPhone/iPod Touch'/><title type='text'>iPod touchをなるべく安く買う方法</title><content type='html'>&lt;p&gt;1台目のiPod touchを買ったときに、なんとか安く入手できないものかといろいろ調べて、まとめたものをブログで公開した。先日、訳あって2台目を購入することになったのだけど、記事の内容がすでに古くなってしまっていたため、また、新しく知ったこともあったので、加筆修正して再公開することにした。&lt;/p&gt;

&lt;p&gt;ちなみに自分は、1台目（第2世代）は大手家電量販店でキャンペーンとポイント、古いiPod nanoの下取りを利用して買った。2台目（第3世代）はApple Storeで整備済製品を購入した。&lt;/p&gt;

&lt;h4&gt;個人輸入&lt;/h4&gt;
&lt;p&gt;円高の影響もあって海外通販ならかなり安くなるはず、なのだけどApple StoreやAmazonなどの信用できそうなサイトは海外への発送を行っていない。ということで、他の選択肢としては&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;海外にいる知人に現地で購入し送ってもらう&lt;/li&gt;
&lt;li&gt;転送サービスを利用する&lt;/li&gt;
&lt;li&gt;海外発送に対応しているオンラインショップを利用する&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;などが考えられるが、いずれの場合も送料と税金はかかる（ひょっとしたら関税はないかもしれないけど、消費税は必要）。&lt;/p&gt;

&lt;p&gt;転送サービスは、まずその会社（または個人）の住所を発送先に指定して購入し、さらにそこから日本へ送ってもらうという仕組み。したがって、オンラインショップと同じ国にある転送サービスを探す必要があるのだけど、オンラインショップからは国内発送となるため、Apple StoreでもAmazonでも問題なく利用できる。また、手数料もそんなに高くないようだ。&lt;/p&gt;

&lt;p&gt;個人輸入の場合は、本体価格とは別でかかる費用もあるため、トータルでどれだけ安くなるのか、またその差額がリスクに見合うかをよく勘案する必要があると思う。海外で購入した製品の保証については下記を参照。&lt;/p&gt;

&lt;h4&gt;海外に行くついでに買う（買ってきてもらう）&lt;/h4&gt;
&lt;p&gt;もし、自分または友人などに海外に行く予定があれば、免税店で買う（買ってきてもらう）こともできる。これは為替レートさえ気をつければ確実性も高く、注文してから受け取るまでヤキモキすることもないと思う。&lt;/p&gt;

&lt;p&gt;ただし、これは個人輸入の場合も当てはまるのだけど、海外で購入した製品の保証がどうなるのかがはっきりしないので、サポートに電話で確認してから実行に移したほうがいいかもしれない。&lt;a href="http://images.apple.com/legal/warranty/docs/ipodisight.pdf"&gt;iPod、iSight保証規定 (PDF)&lt;/a&gt;を見てみると、&lt;/p&gt;
&lt;blockquote cite="http://images.apple.com/legal/warranty/docs/ipodisight.pdf"&gt;&lt;p&gt;
海外でのサービスに関し、アップルは、不具合製品または部品を現地の基準に合致する同等の製品および部品にて修理または交換する場合があります。
&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;とあるので、大丈夫だとは思うのだけど。&lt;/p&gt;

&lt;p&gt;ちなみに、各国での値段は&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://www.apple.com/choose-your-country/"&gt;Apple - Choose your country or region&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;から国名を選び、Storeを覗けば調べることができる。&lt;/p&gt;

&lt;h4&gt;整備済製品&lt;/h4&gt;
&lt;p&gt;日本のApple Storeで買える整備済製品も在庫があれば&lt;strong&gt;かなり安い&lt;/strong&gt;。整備済製品は店頭商品、返品商品、初期不良品などをAppleがきちんと修理調整して1年保証をつけたもの。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://store.apple.com/jp/browse/home/specialdeals/ipod"&gt;iPod整備済製品 - Apple Store (Japan)&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Appleによると&lt;q&gt;新品水準並みの品質&lt;/q&gt;とのことだけど、完全な新品というわけではなくて、Dockアダプタとクイックスタートガイドが同梱されなかったり（される場合もある）、パッケージが紙箱だったり（新品と同じプラスチックケースの場合もあるらしい）するので気になる人は止めておいたほうがいいかもしれない。自分も2台目は整備済製品を購入したのだけど、いまのところ特に問題は起きていない（&lt;a href="http://insideflag.blogspot.com/2010/08/ipod-touch3.html"&gt;整備済製品のiPod touch（第3世代）を購入した&lt;/a&gt;）。購入金額が5000円以上なので送料は無料になる。&lt;/p&gt;

&lt;h4&gt;Amazon.co.jp&lt;/h4&gt;
&lt;p&gt;日本のAmazonでは基本的に5% OFFのようだけど、割引率の変動が激しいためこまめにチェックしたほうがいい。過去には&lt;strong&gt;11% OFF&lt;/strong&gt;だったこともあり、安くなっているときなら有力な選択肢になると思う。送料は無料。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;（追記）&lt;/strong&gt;Apple Storeの整備済製品もそうなのだけど、新モデル発表後は旧モデルがさらに安くなる。Amazonでは最大&lt;strong&gt;17% OFF&lt;/strong&gt;になっていた。&lt;/p&gt;
&lt;SCRIPT charset="utf-8" type="text/javascript" src="http://ws.amazon.co.jp/widgets/q?rt=tf_mfw&amp;ServiceVersion=20070822&amp;MarketPlace=JP&amp;ID=V20070822/JP/burningdownth-22/8001/1218b28a-59e2-4ce0-9ac1-2e80d1b97ae3"&gt; &lt;/SCRIPT&gt; &lt;NOSCRIPT&gt;&lt;A HREF="http://ws.amazon.co.jp/widgets/q?rt=tf_mfw&amp;ServiceVersion=20070822&amp;MarketPlace=JP&amp;ID=V20070822%2FJP%2Fburningdownth-22%2F8001%2F1218b28a-59e2-4ce0-9ac1-2e80d1b97ae3&amp;Operation=NoScript"&gt;Amazon.co.jp ウィジェット&lt;/A&gt;&lt;/NOSCRIPT&gt;

&lt;h4&gt;学生・教職員割引と政府系機関・公務員割引&lt;/h4&gt;
&lt;p&gt;Apple Storeの&lt;a href="http://store.apple.com/jp/browse/home/education_routing"&gt;学生・教職員割引&lt;/a&gt;はiPodには適用されない。&lt;a href="http://store.apple.com/Catalog/Japan/Images/gov/"&gt;政府系機関・公務員割引&lt;/a&gt;は6%OFFになる。&lt;/p&gt;

&lt;h4&gt;家電量販店&lt;/h4&gt;
&lt;p&gt;たいていの家電量販店ではApple製品はあまり安くなっておらず、ポイントもたいしてつかない。が、交渉次第では&lt;strong&gt;現金値引＋ポイント率アップ&lt;/strong&gt;で割と安く買うことができるらしい。いろいろ検索してみたところヤマダ電機がよさそうだ。また、Apple製品といえども開店/閉店セールでは安く売られることもあるようなので、タイミングが合えばそれもいいかもしれない。新モデル発表後の旧モデル在庫処分セールを狙うのもありだと思う。&lt;/p&gt;

&lt;p&gt;自分が1台目を購入したときは、整備済製品の在庫がなく、また、家電量販店ではどうせ安くならないだろうという思い込みもあり、ポイントカードを持っているヨドバシで買うことにした。ポイントが5%ついて、シリコンケースが同時購入で10%OFFに、充電しても30分ともたなくなったiPod nanoを下取りに出して￥-2000（固定）、さらになぜかiTunesカードが￥1500ぶんついてきた。家電量販店では密かにお得なキャンペーンをやっていることもあるので、他の店と比較するときは注意が必要。下取りは状態がよく、そんなに古くないモデルならソフマップのほうが高く買い取ってくれると思う。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://www.sofmap.com/kaitori/"&gt;ソフマップの買取のページ（買取上限額を検索できる）&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;家電量販店での購入は場合によってはだいぶ安くなるようだけど、交通費と労力と時間に見合わなかったなんてことにならないように気をつけたい。&lt;/p&gt;

&lt;h4&gt;Yahoo!オークション&lt;/h4&gt;
&lt;p&gt;個人的には新品でも中古でもヤフオクはあまり安くなってないと感じている。ジャンク品でもなければ5,000円以上のはずだから、Yahoo!プレミアムへの登録（月額346円）が必要で、送料もほとんどの場合は落札者負担。また、保証書があるケースも少なく、オークションなのである程度のリスクも負うことになる。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://list3.auctions.yahoo.co.jp/jp/iPod-touch-iPod%E6%9C%AC%E4%BD%93-%E3%82%A2%E3%83%83%E3%83%97%E3%83%AB-%E3%83%87%E3%82%B8%E3%82%BF%E3%83%AB%E3%82%AA%E3%83%BC%E3%83%87%E3%82%A3%E3%82%AA%E3%83%97%E3%83%AC%E3%83%BC%E3%83%A4%E3%83%BC-%E3%83%9D%E3%83%BC%E3%82%BF%E3%83%96%E3%83%AB%E3%83%97%E3%83%AC%E3%83%BC%E3%83%A4%E3%83%BC-%E3%82%AA%E3%83%BC%E3%83%87%E3%82%A3%E3%82%AA%E6%A9%9F%E5%99%A8-%E5%AE%B6%E9%9B%BB-AV-%E3%82%AB%E3%83%A1%E3%83%A9/2084229146-category-leaf.html"&gt;ヤフオク - iPod touch - Yahoo!オークション&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;中古品&lt;/h4&gt;
&lt;p&gt;中古販売をしているオンラインショップも覗いてみたが、価格自体も決して安くはないし、ほとんどのものは保証書が付いていないので、自分は高くても新品を買いたいと思ってしまう。ショップによる保証は付いていも期間が短い。また、前の所有者の使い方にもよるのだけどバッテリーの劣化も心配。&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3966127164017981232-1852190007254024302?l=insideflag.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3966127164017981232/posts/default/1852190007254024302'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3966127164017981232/posts/default/1852190007254024302'/><link rel='alternate' type='text/html' href='http://insideflag.blogspot.com/2009/06/ipod-touch.html' title='iPod touchをなるべく安く買う方法'/><author><name>a</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-3966127164017981232.post-3296454338021653697</id><published>2010-08-22T14:59:00.007+09:00</published><updated>2011-02-27T02:31:44.988+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='iPhone/iPod Touch'/><title type='text'>整備済製品のiPod touch（第3世代）を購入した</title><content type='html'>&lt;p&gt;第4世代のiPod touchがまもなく発売されると言われているが、自分が開発しているiPhoneアプリのテストでどうしても第3世代が必要になり（これまでは第2世代を使っていた）、数週間前に整備済製品を購入した。&lt;/p&gt;

&lt;p&gt;整備済製品とは、&lt;/p&gt;
&lt;blockquote cite="http://store.apple.com/jp/browse/home/specialdeals/ipod"&gt;&lt;p&gt;
店頭商品、返品商品、初期不良品などを修理調整し、新品水準並みの品質を確認したアップル認定製品です。新製品同様、1年間の特別保証書をお付けしております。
&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;といったもので、値段もだいぶ安くなっている。たとえば、自分が購入した32GBは￥29,800が&lt;strong&gt;￥24,800&lt;/strong&gt;になっていた（送料無料）。Apple製品はあまり安くならないので、完全な新品ではないというのが気にならなければかなりいいと思う。また、新品同様1年保証が付くのも大きい。ただし、常に在庫があるわけではないので、タイミングが合わなければ買うことはできない。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://store.apple.com/jp/browse/home/specialdeals/ipod"&gt;iPod整備済製品 - Apple Store (Japan)&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Dockアダプタ、クイックスタートガイドが同梱されていないとのことだったが、自分の場合は箱の中に入っていた。ということで、新品との違いはパッケージだけのようだ。プラスチックのケースではなく、紙箱でできた簡易的なものだったけど、実用にはまったく関係ない。購入から何週間か経ったけど、本体も何の問題もなく使えている。タイミングが合えば第4世代も整備済製品を買うかも（今のところiPhoneは選択肢にない）。&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3966127164017981232-3296454338021653697?l=insideflag.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3966127164017981232/posts/default/3296454338021653697'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3966127164017981232/posts/default/3296454338021653697'/><link rel='alternate' type='text/html' href='http://insideflag.blogspot.com/2010/08/ipod-touch3.html' title='整備済製品のiPod touch（第3世代）を購入した'/><author><name>a</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-3966127164017981232.post-8620515635076793887</id><published>2010-07-21T15:28:00.007+09:00</published><updated>2011-09-28T10:56:01.624+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='HP 2133'/><category scheme='http://www.blogger.com/atom/ns#' term='Ubuntu'/><title type='text'>HP 2133のUbuntuを10.04 LTSにアップグレードした</title><content type='html'>&lt;p&gt;Ubuntu 10.04 LTSがリリースされてから数ヶ月、もう細かいバグなども修正されているだろうということで、HP 2133にインストールしてある8.04 LTSからアップグレードしてみた。&lt;/p&gt;

&lt;p&gt;まず最初にLiveCDで大きな問題がないか確認することにした。HP 2133にはCD/DVDドライブがないのだけど、SDカードスロットがあるのでSDカードからブートすることに。CDイメージは&lt;a href=""&gt;Ubuntu Desktop 日本語 Remix CD&lt;/a&gt;をダウンロードして、&lt;a href="http://unetbootin.sourceforge.net/"&gt;UNetbootin&lt;/a&gt;を使って書き込んだ。&lt;/p&gt;

&lt;p&gt;LiveCDで起動してみて、X.Orgサーバや無線LANが正常に動作することが確認できたのでアップグレード開始。「&lt;a href="https://wiki.ubuntulinux.jp/UbuntuTips/Install/UpgradeLucid"&gt;Ubuntu 10.04 LTSへアップグレードを行うには - Ubuntu Japanese Wiki&lt;/a&gt;」に書いてある通りに進めてつつがなく完了。再起動後、[システム]-[システム管理]-[日本語環境セットアップ・ヘルパ]から日本語環境を整えた。&lt;/p&gt;

&lt;h4&gt;パッケージの整理&lt;/h4&gt;
&lt;p&gt;パッケージのバージョンが大幅に上がっているため、checkinstallでインストールしたものを入れ替えたり、古いバージョンを削除したりするのに意外に時間がかかった。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Ubuntu標準のIMEがIBusに変わっていたのでscim関連はすべて削除。emacsのキーバインディングと衝突しないように、&lt;code&gt;Ctrl+Space&lt;/code&gt;は切り替えのショートカットから外した。&lt;/li&gt;
&lt;li&gt;新しくemacs23がインストールされていたので、emacs22をアンインストールした。emacs23ではUnicodeの曖昧な文字幅問題は解決しているため、.emacsから&lt;code&gt;utf-translate-cjk-set-unicode-range&lt;/code&gt;を削除（&lt;a href="http://insideflag.blogspot.com/2009/03/utf-8.html"&gt;UTF-8環境と曖昧な文字幅&lt;/a&gt;）。また、w3m-load.elがなくなっているので、emacs-w3mが起動できなくなっている。&lt;/li&gt;
&lt;li&gt;Rubyはruby1.9.1-fullとrubygems1.9.1を新しくインストール。rubygems1.8は
&lt;blockquote&gt;&lt;pre&gt;
gem install rubygems-update
update_rubygems
&lt;/pre&gt;&lt;/blockquote&gt;
してあったのだけど、パッケージのバージョンに戻すため&lt;em&gt;/usr/local/lib/ruby/1.8/&lt;/em&gt;以下を削除した。&lt;/li&gt;
&lt;li&gt;「&lt;a href="https://help.ubuntu.com/community/OpenChrome"&gt;OpenChrome - Community Ubuntu Documentation&lt;/a&gt;」にも書いてあるように、openChromeがデフォルトで採用されるようになった。パッケージもインストールされているので、&lt;a href="http://insideflag.blogspot.com/2009/10/hp-2133ubuntu-804openchrome.html"&gt;アップグレード前にソースからインストールしたほう&lt;/a&gt;は&lt;code&gt;make uninstall&lt;/code&gt;して、パッケージを再インストールしておく。
&lt;blockquote&gt;&lt;pre&gt;
% sudo apt-get install --reinstall xserver-xorg-video-openchrome
&lt;/pre&gt;&lt;/blockquote&gt;
ちなみに、いつからかxorg.confがなくてもXが動くようになっている。
&lt;/li&gt;
&lt;li&gt;ffmpegは「&lt;a href=http://ubuntuforums.org/showthread.php?t=786095"&gt;HOWTO: Install and use the latest FFmpeg and x264 - Ubuntu Forums&lt;/a&gt;」を見ながらコンパイルしなおした。&lt;a href="http://insideflag.blogspot.com/2009/12/ubuntuffmpegiphoneipod-touch.html"&gt;8.04のときにcheckinstallでインストールしたライブラリ&lt;/a&gt;は、x264以外はパッケージのバージョンが新しくなっているので、自分でコンパイルする必要はなくなった。&lt;/li&gt;
&lt;li&gt;[システム]-[システム管理]-[パッケージの整理]で不要なファイルやパッケージの削除&lt;/li&gt;
&lt;li&gt;Ubuntuのアップグレードや、上記の&lt;q&gt;パッケージの整理&lt;/q&gt;で自動的に削除されたパッケージの設定ファイルが残ってしまっているのでまとめて削除する。
&lt;blockquote&gt;&lt;pre&gt;
% aptitude search "~c" -F "%p" | sudo xargs aptitude purge -y
&lt;/pre&gt;&lt;/blockquote&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="http://insideflag.blogspot.com/2009/10/pulseaudio.html"&gt;PulseAudioはまた削除&lt;/a&gt;しようとしたのだけど、ubuntu-desktopも道連れにされてしまうのでやめた。自動起動を止めようといろいろと試してはみたのだけど、ちょっと設定ファイルをいじったくらいでは止められないようだ。&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;CPUのクロック周波数の管理&lt;/h4&gt;
&lt;p&gt;クロック周波数の変更はカーネルのサブシステムであるCPUFreqによって行われる。8.04ではブートオプションを追加しないと動作しなかったのだけど、10.04では何もしなくても動くようになっている。&lt;/p&gt;

&lt;p&gt;8.04のときはカーネルの更新があるたびにGRUBのmenu.lstを変更する必要があったのだけど、すっかり忘れていて常に最大周波数で使用していたことになる。HP 2133は熱が原因で故障するケースが多発しているようなので、CPUFreqが無効になっていたのは危険だったかも。といっても、今までファンが全開で回ることもあまりなかったし、sensorsコマンドで表示される温度もそこまで高くないので、ダメージはなかったはず。と信じたい&lt;/p&gt;

&lt;p&gt;デフォルトのままでも負荷に応じてクロックの上げ下げが自動的に行われるけど、&lt;q&gt;CPU周波数の計測モニタ&lt;/q&gt;アプレットをパネルに追加しておくと簡単に制御できて便利。cpufrequtilsパッケージもインストールしたのだけど、cpufreq-infoの結果がおかしいときがあったので削除してしまった。&lt;/p&gt;

&lt;h4&gt;不必要なサービスの停止&lt;/h4&gt;
&lt;p&gt;自分にとって必要ないサービスをできる限り停止する。update-rc.dでやると起動順位を元に戻せなくなってしまうのでsysv-rc-confを使う。&lt;/p&gt;
&lt;blockquote&gt;&lt;pre&gt;
% sudo apt-get install sysv-rc-conf
% hash sysv-rc-conf
% sudo sysv-rc-conf
&lt;/pre&gt;&lt;/blockquote&gt;
&lt;p&gt;のようにして、以下のサービスを停止した。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;bluetooth&lt;/li&gt;
&lt;li&gt;cups&lt;/li&gt;
&lt;li&gt;dns-clean&lt;/li&gt;
&lt;li&gt;pppd-dns&lt;/li&gt;
&lt;li&gt;rsync&lt;/li&gt;
&lt;li&gt;saned&lt;/li&gt;
&lt;li&gt;speech-dispatcher&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;また、Ubuntuは従来のinitデーモンから新しいイベントベースのUpstartへ切り替えを行っていて、sysv-rc-confではON/OFFの制御ができないものがいくつかある。そういったサービスは、&lt;em&gt;/etc/init/&lt;/em&gt;以下にある各設定ファイルをエディタで開き、&lt;code&gt;start on ...&lt;/code&gt;の行をコメントアウトして自動起動を停止した。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;avahi-daemon&lt;/li&gt;
&lt;li&gt;atd&lt;/li&gt;
&lt;li&gt;nbmd&lt;/li&gt;
&lt;li&gt;smbd&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;やり方がわからなかったので、「&lt;a href="http://rt.air-nifty.com/blog/2010/05/ubuntu-mysqldup.html"&gt;【Ubuntu】 mysqldをupstart管理下で自動起動しないようにする: RemovableType&lt;/a&gt;」を参考にさせてもらった。&lt;/p&gt;

&lt;p&gt;さらに、[システム]-[設定]-[自動起動するアプリ]から確実に必要なさそうなもののチェックをはずしておく。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Bluetooth マネージャー&lt;/li&gt;
&lt;li&gt;Evolution Alarm Notifier&lt;/li&gt;
&lt;li&gt;GNOME Login Sound&lt;/li&gt;
&lt;li&gt;Ubuntu One&lt;/li&gt;
&lt;li&gt;パーソナルファイル共有&lt;/li&gt;
&lt;li&gt;ユーザ・フォルダの更新&lt;/li&gt;
&lt;li&gt;リモート・デスクトップ&lt;/li&gt;
&lt;li&gt;印刷キューのアプレット&lt;/li&gt;
&lt;li&gt;視覚支援&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;悪名高いTrackerはデフォルトでは何もしてないっぽい。が、それはそれで無駄なので止めることにした。&lt;em&gt;/etc/xdg/autostart/&lt;/em&gt;にあるtrackerd.desktopとtracker-applet.desktopをエディタで開いてX-GNOME-Autostart-enabledをfalseに変更。&lt;/p&gt;

&lt;h4&gt;動画再生&lt;/h4&gt;
&lt;p&gt;動画の再生が絶望的に重くなっていたけど、Totemは&lt;/p&gt;
&lt;blockquote&gt;&lt;pre&gt;
% gstreamer-properties
&lt;/pre&gt;&lt;/blockquote&gt;
&lt;p&gt;で、ビデオドライバをXvにしたら解決。MPlayerもビデオドライバを指定することで以前と同じように再生できるようになった。&lt;/p&gt;

&lt;p&gt;Flashはコマ落ちもしやすくかなり厳しいのだけど、以前もこんな感じだったような気がしなくもない。Flash PlayerがXv対応になれば解決すると思うのだけど、&lt;a href="http://blogs.adobe.com/penguin.swf/2008/05/flash_uses_the_gpu.html"&gt;Adobeにその気はなさそう（コメント欄でいろいろつっこまれていて、やろうと思えばできるらしいが）&lt;/a&gt;。また、&lt;a href="http://www.gnashdev.org/"&gt;Gnash&lt;/a&gt;も試したのだけどエラーが多すぎて実用には耐えなかった。&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3966127164017981232-8620515635076793887?l=insideflag.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3966127164017981232/posts/default/8620515635076793887'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3966127164017981232/posts/default/8620515635076793887'/><link rel='alternate' type='text/html' href='http://insideflag.blogspot.com/2010/07/hp-2133ubuntu1004-lts.html' title='HP 2133のUbuntuを10.04 LTSにアップグレードした'/><author><name>a</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-3966127164017981232.post-4333858799775771697</id><published>2010-07-16T01:52:00.002+09:00</published><updated>2010-07-16T01:55:55.804+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Ubuntu'/><title type='text'>Google Chrome Linux版で日本語入力がやたらと遅い</title><content type='html'>&lt;p&gt;テキストエリアでの日本語入力が遅い場合は、スペルチェックが有効になっているのが原因かもしれない。[オプション]-[高度な設定]-[言語]から&lt;q&gt;スペルチェック&lt;/q&gt;を無効にすることで自分の場合は解決した。速いPCならまったく問題ないんだろうけど、HP 2133ではこれをやらないとどうにもならない。&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3966127164017981232-4333858799775771697?l=insideflag.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3966127164017981232/posts/default/4333858799775771697'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3966127164017981232/posts/default/4333858799775771697'/><link rel='alternate' type='text/html' href='http://insideflag.blogspot.com/2010/07/google-chrome-linux.html' title='Google Chrome Linux版で日本語入力がやたらと遅い'/><author><name>a</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-3966127164017981232.post-4122341184257878316</id><published>2010-07-12T00:03:00.020+09:00</published><updated>2012-01-19T19:35:58.926+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='クライミング'/><title type='text'>クライミングのコソ練グッズ</title><content type='html'>&lt;p&gt;「&lt;a href="http://www.amazon.co.jp/exec/obidos/ASIN/4635923452/burningdownth-22/ref=nosim" target="_blank"&gt;CLIMBING joy No.4 (別冊山と溪谷)&lt;/a&gt;」に&lt;q&gt;コソ練グッズカタログ&lt;/q&gt;という特集があってこれがなかなか面白かったので、リンクだけまとめてみた。&lt;/p&gt;

&lt;h4&gt;プライベートウォール&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://www.dynawall.com/stonemagic/shop/home_boulder13a.htm"&gt;ホームボルダー13A&lt;/a&gt;（￥57,750）&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.dynawall.com/stonemagic/shop/super_boulder.htm"&gt;スーパーボルダー&lt;/a&gt;（￥210,000）&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.climbing-tosho.com/rs/rs-pg1.html"&gt;ロックステーション&lt;/a&gt;（RS-1:￥399,000 RS-2:￥451,500）&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.climbing-tosho.com/portable-rock/index.html"&gt;ポータブル・ロック&lt;/a&gt;（￥39,900）&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.hold-ya2.com/?mode=f13"&gt;トレーニングウォール「MITAKE」&lt;/a&gt;（MITAKE:￥34,800 MITAKE2:￥42,800 MITAKE2 PRO:￥64,800）&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;こうして比べてみるとホームボルダー13Aは安いのかもしれない。&lt;/p&gt;

&lt;h4&gt;トレーニングボード&lt;/h4&gt;
&lt;p&gt;フィンガーボードは各メーカーからいろいろ出ているので割愛。グリードボックスはおもしろいけど高い。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://pump.ocnk.net/product/995"&gt;グリードボックス&lt;/a&gt;（￥59,850〜、オプションあり）&lt;/li&gt;
&lt;li&gt;ロックリングス3D（￥4,200）
&lt;table border="0" cellpadding="0" cellspacing="0"&gt;&lt;tr&gt;&lt;td valign="top"&gt;&lt;div style="border:1px solid;margin:0px;padding:6px 0px;width:160px;text-align:center;float:left"&gt;&lt;a href="http://hb.afl.rakuten.co.jp/hgc/0e7cd630.4e06c78d.0e7cd631.5225251e/?pc=http%3a%2f%2fitem.rakuten.co.jp%2fraliguras%2f100010345%2f%3fscid%3daf_ich_link_tbl&amp;m=http%3a%2f%2fm.rakuten.co.jp%2fraliguras%2fi%2f10004051%2f" target="_blank"&gt;&lt;img src="http://hbb.afl.rakuten.co.jp/hgb/?pc=http%3a%2f%2fthumbnail.image.rakuten.co.jp%2f%400_mall%2fraliguras%2fcabinet%2f00986704%2fimg57003263.jpg%3f_ex%3d128x128&amp;m=http%3a%2f%2fthumbnail.image.rakuten.co.jp%2f%400_mall%2fraliguras%2fcabinet%2f00986704%2fimg57003263.jpg%3f_ex%3d80x80" alt="Metolius（メトリウス）ロックリングス3D持ち運び可能なトレーニングホールド" border="0" style="margin:0px;padding:0px"&gt;&lt;/a&gt;&lt;p style="font-size:12px;line-height:1.4em;text-align:left;margin:0px;padding:2px 6px"&gt;&lt;a href="http://hb.afl.rakuten.co.jp/hgc/0e7cd630.4e06c78d.0e7cd631.5225251e/?pc=http%3a%2f%2fitem.rakuten.co.jp%2fraliguras%2f100010345%2f%3fscid%3daf_ich_link_tbl&amp;m=http%3a%2f%2fm.rakuten.co.jp%2fraliguras%2fi%2f10004051%2f" target="_blank"&gt;Metolius（メトリウス）ロックリングス3D持ち運び可能なトレーニングホールド&lt;/a&gt;&lt;br&gt;&lt;span style=""&gt;価格：4,200円（税込、送料別）&lt;/span&gt;&lt;br&gt;&lt;/p&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;トレーニンググッズ&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;ポータブルパワーグリップ（￥3,045）
&lt;table border="0" cellpadding="0" cellspacing="0"&gt;&lt;tr&gt;&lt;td valign="top"&gt;&lt;div style="border:1px solid;margin:0px;padding:6px 0px;width:160px;text-align:center;float:left"&gt;&lt;a href="http://hb.afl.rakuten.co.jp/hgc/0e7cd630.4e06c78d.0e7cd631.5225251e/?pc=http%3a%2f%2fitem.rakuten.co.jp%2fraliguras%2f100010347%2f%3fscid%3daf_ich_link_tbl&amp;m=http%3a%2f%2fm.rakuten.co.jp%2fraliguras%2fi%2f10004053%2f" target="_blank"&gt;&lt;img src="http://hbb.afl.rakuten.co.jp/hgb/?pc=http%3a%2f%2fthumbnail.image.rakuten.co.jp%2f%400_mall%2fraliguras%2fcabinet%2f00986704%2fimg55770787.jpg%3f_ex%3d128x128&amp;m=http%3a%2f%2fthumbnail.image.rakuten.co.jp%2f%400_mall%2fraliguras%2fcabinet%2f00986704%2fimg55770787.jpg%3f_ex%3d80x80" alt="Metolius（メトリウス）　ポータブルパワーグリップこぶし大の木製トレーニングホールド!!" border="0" style="margin:0px;padding:0px"&gt;&lt;/a&gt;&lt;p style="font-size:12px;line-height:1.4em;text-align:left;margin:0px;padding:2px 6px"&gt;&lt;a href="http://hb.afl.rakuten.co.jp/hgc/0e7cd630.4e06c78d.0e7cd631.5225251e/?pc=http%3a%2f%2fitem.rakuten.co.jp%2fraliguras%2f100010347%2f%3fscid%3daf_ich_link_tbl&amp;m=http%3a%2f%2fm.rakuten.co.jp%2fraliguras%2fi%2f10004053%2f" target="_blank"&gt;Metolius（メトリウス）　ポータブルパワーグリップこぶし大の木製トレーニングホールド!!&lt;/a&gt;&lt;br&gt;&lt;span style=""&gt;価格：3,045円（税込、送料別）&lt;/span&gt;&lt;br&gt;&lt;/p&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.prohands.net/products/gripmaster.php"&gt;Prohands グリップマスター&lt;/a&gt;（類似商品がたくさんあるようだ）&lt;/li&gt;
&lt;li&gt;&lt;a href="http://docodemo-macho.com/"&gt;どこでもマッチョ&lt;/a&gt;（￥10,800）&lt;/li&gt;
&lt;li&gt;その他の細々としたグッズは&lt;a href="http://pump.ocnk.net/product-group/6"&gt;PUMPのオンラインショップ&lt;/a&gt;や&lt;a href="http://climbing.jp/?mode=cate&amp;cbid=708828&amp;csid=0"&gt;VACのオンラインショップ&lt;/a&gt;を見るのが手っ取り早い。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;早まって&lt;q&gt;どこでもマッチョ&lt;/q&gt;を注文する前に、同じような仕組みでフィンガーボードが設置できることを知っておくべき。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://info.maboo.jp/?eid=463"&gt;マンションでもトレーニングボードが設置できるってばよ！ | マーブーお知らせブログ2010&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;ドア枠の強度に不安があるなら&lt;a href="http://insideflag.blogspot.com/2010/01/blog-post.html"&gt;チンニングスタンド（懸垂マシーン）がいいかもしれない&lt;/a&gt;。ロックリングスも吊るせるし。&lt;/p&gt;
&lt;div class="amazon-item-box" style="display: block; padding: 0; border: 1px solid  #999; margin: 8px;  -moz-border-radius: 10px;"&gt;&lt;div class="amazon-item-image" style="display: block; padding: 10px; float: left;"&gt;&lt;a href="http://www.amazon.co.jp/exec/obidos/ASIN/B001U729UG/burningdownth-22/ref=nosim" target="_blank"&gt;&lt;img src="http://ecx.images-amazon.com/images/I/317fLLKPuzL._SL75_.jpg" alt="トータルフィットネス(TotalFitness) 懸垂マシン2  STM047" title="トータルフィットネス(TotalFitness) 懸垂マシン2  STM047" style="border: none; display: inline; vertical-align: bottom;" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;dl class="amazon-item-info" style="display: block; margin-left: 10px; padding: 0 8px 0 10px; font-size: 10pt; line-height: 110%;"&gt;&lt;dt class="amazon-item-name" style="display: block; margin-bottom: 5px; line-height: 120%;"&gt;&lt;a href="http://www.amazon.co.jp/exec/obidos/ASIN/B001U729UG/burningdownth-22/ref=nosim" target="_blank" title="トータルフィットネス(TotalFitness) 懸垂マシン2  STM047"&gt;トータルフィットネス(TotalFitness) 懸垂マシン2  STM047&lt;/a&gt;&lt;/dt&gt;&lt;dd&gt;&lt;ul class="amazon-item-info-list" style="list-style-type: none; padding-left: 0px; line-height: 120%;"&gt;&lt;li&gt;発売元: トータルフィットネス(TotalFitness)&lt;/li&gt;&lt;li&gt;価格: ￥ 10,030 (32% OFF)&lt;/li&gt;&lt;/ul&gt;&lt;/dd&gt;&lt;/dl&gt;&lt;p class="amazon-item-footer" style="clear: left; text-align: right; font-size: x-small; padding: 4px 10px 4px 10px; line-height: 100%;"&gt;posted with &lt;a href="http://socialtunes.net"&gt;Socialtunes&lt;/a&gt;&lt;/p&gt;&lt;/div&gt;

&lt;div class="amazon-item-box" style="display: block; padding: 0; border: 1px solid  #999; margin: 8px;  -moz-border-radius: 10px;"&gt;&lt;div class="amazon-item-image" style="display: block; padding: 10px; float: left;"&gt;&lt;a href="http://www.amazon.co.jp/exec/obidos/ASIN/4635923452/burningdownth-22/ref=nosim" target="_blank"&gt;&lt;img src="http://ecx.images-amazon.com/images/I/512RnTpXZQL._SL75_.jpg" alt="CLIMBING joy No.4 (別冊山と溪谷)" title="CLIMBING joy No.4 (別冊山と溪谷)" style="border: none; display: inline; vertical-align: bottom;" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;dl class="amazon-item-info" style="display: block; margin-left: 10px; padding: 0 8px 0 10px; font-size: 10pt; line-height: 110%;"&gt;&lt;dt class="amazon-item-name" style="display: block; margin-bottom: 5px; line-height: 120%;"&gt;&lt;a href="http://www.amazon.co.jp/exec/obidos/ASIN/4635923452/burningdownth-22/ref=nosim" target="_blank" title="CLIMBING joy No.4 (別冊山と溪谷)"&gt;CLIMBING joy No.4 (別冊山と溪谷)&lt;/a&gt;&lt;/dt&gt;&lt;dd&gt;&lt;ul class="amazon-item-info-list" style="list-style-type: none; padding-left: 0px; line-height: 120%;"&gt;&lt;li&gt;発売元: 山と渓谷社&lt;/li&gt;&lt;li&gt;価格: ￥ 1,000&lt;/li&gt;&lt;li&gt;発売日: 2010/04/26&lt;/li&gt;&lt;/ul&gt;&lt;/dd&gt;&lt;/dl&gt;&lt;p class="amazon-item-footer" style="clear: left; text-align: right; font-size: x-small; padding: 4px 10px 4px 10px; line-height: 100%"&gt;posted with &lt;a href="http://socialtunes.net"&gt;Socialtunes&lt;/a&gt;&lt;/p&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3966127164017981232-4122341184257878316?l=insideflag.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3966127164017981232/posts/default/4122341184257878316'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3966127164017981232/posts/default/4122341184257878316'/><link rel='alternate' type='text/html' href='http://insideflag.blogspot.com/2010/07/blog-post.html' title='クライミングのコソ練グッズ'/><author><name>a</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-3966127164017981232.post-5935369599455236058</id><published>2010-06-10T19:12:00.008+09:00</published><updated>2011-09-27T07:57:51.105+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Ruby'/><title type='text'>RubyのMechanizeで文字化けするページがある件について</title><content type='html'>&lt;p&gt;Mechanizeはスクレイピングのためのライブラリでとても便利なのだけど、ときどき日本語のページで文字化けすることがある。ということで、原因と解決方法を調べてみた。確認したバージョンは次の通り。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Ruby 1.9.1-p378と1.8.6-p111（Ubuntuのパッケージ）&lt;/li&gt;
&lt;li&gt;Mechanize 1.0.0&lt;/li&gt;
&lt;li&gt;Nokogiri 1.4.2&lt;/li&gt;
&lt;li&gt;libxml2 2.6.31（Ubuntuのパッケージ）&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;Mechanizeのエンコーディングの扱い方&lt;/h4&gt;
&lt;p&gt;Mechanizeの内部エンコーディングはUTF-8に固定されていて、ドキュメントのエンコーディングが何であれUTF-8に変換される。これはMechanizeがHTMLパーサに使っているNokogiriの仕様であり、Nokogiriが依存しているlibxml2の仕様でもある。そういう事情でMechanizeから取り出した文字列はすべてUTF-8になっている。Ruby 1.9だと&lt;code&gt;String#encoding&lt;/code&gt;はUTF-8にセットされる。&lt;/p&gt;

&lt;p&gt;上述したようにMechanizeはHTMLのパースをNokogiriで行っていて、具体的には&lt;code&gt;Nokogiri::HTML.parse&lt;/code&gt;が呼ばれるようになっている。&lt;code&gt;Nokogiri::HTML.parse&lt;/code&gt;は第三引数にHTMLのエンコーディングを受け取り、そのエンコーディングからUTF-8に変換してパースをする。デフォルトはnilなのだけど、その場合はmetaタグのcharsetから自動で認識する。これらコード変換も含めたパースを実際に行っているのはlibxml2で、Nokogiriは&lt;code&gt;htmlReadMemory()&lt;/code&gt;関数または&lt;code&gt;htmlReadIO()&lt;/code&gt;関数を呼んでいるだけだったりする。&lt;/p&gt;

&lt;p&gt;Mechanizeは&lt;code&gt;Page#initialize&lt;/code&gt;の中で、&lt;code&gt;Nokogiri::HTML.parse&lt;/code&gt;の第三引数に渡すエンコーディングを以下の順序で決定している。&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;metaタグでcharsetが指定されている場合はnil（Nokogiriに任せる）&lt;/li&gt;
&lt;li&gt;HTTPヘッダでcharsetが指定されていたらその値&lt;/li&gt;
&lt;li&gt;上記以外の場合は&lt;code&gt;NKF.guess&lt;/code&gt;で返ってきたエンコーディング&lt;/li&gt;
&lt;/ol&gt;

&lt;h4&gt;文字化けの原因&lt;/h4&gt;
&lt;p&gt;libxml2で起きたパースエラーは&lt;code&gt;Nokogiri::HTML::Document#errors&lt;/code&gt;に、&lt;code&gt;Nokogiri::XML::SyntaxError&lt;/code&gt;オブジェクトの配列として格納される。また、&lt;code&gt;Mechanize::Page#parser&lt;/code&gt;がそのページのパース結果である&lt;code&gt;Nokogiri::HTML::Document&lt;/code&gt;オブジェクトを返すので、&lt;/p&gt;
&lt;blockquote&gt;&lt;pre&gt;
p mechanize.page.parser.errors
&lt;/pre&gt;&lt;/blockquote&gt;
&lt;p&gt;とすればパースエラーが表示される。そうすると、文字化けが起きるときは必ず&lt;q&gt;Input is not proper UTF-8, indicate encoding !&lt;/q&gt;というエラーが含まれていることがわかった。&lt;a href="http://www.xmlsoft.org/encoding.html#implemente"&gt;http://www.xmlsoft.org/encoding.html#implemente&lt;/a&gt;によると、このエラーが起きるのはエンコーディングの指定がなく、且つドキュメントのエンコーディングがUTF-8でもUTF-16でもない場合とのこと。&lt;/p&gt;

&lt;p&gt;metaタグのcharsetは正しく指定されていると思うのだけど、もう一度うまくいくページと、うまくいかないページを見比べてみた。よく見ると、エラーになるページは日本語のtitleタグよりあとでcharsetが指定されている。つまり、titleタグはエンコーディング指定なしのままデフォルトのUTF-8/UTF-16ハンドラで処理が進み、UTF-8の妥当性チェックでエラーが起きた、ということのようだ。&lt;/p&gt;

&lt;h4&gt;正攻法では解決しない&lt;/h4&gt;
&lt;p&gt;結局はMechanizeからNokogiriに正しいエンコーディングを渡すことができればうまくいくはずだけど、Mechanizeが用意しているのはパース終了後に、改めて&lt;code&gt;Mechanize::Page#encoding=&lt;/code&gt;でエンコーディングを指定して、もう一度パースをやり直すという方法だけ。しかも、これは上で述べてきたケースの場合は全然うまくいかない。&lt;/p&gt;

&lt;p&gt;次のようにEUC-JPのHTMLをリクエストして、libxml2でUTF-8の妥当性エラーが起きたとする。&lt;/p&gt;
&lt;blockquote&gt;&lt;pre&gt;
mechanize.get("http://example.com/EUC-JP.html")
&lt;/pre&gt;&lt;/blockquote&gt;
&lt;p&gt;エラーが起きても&lt;code&gt;Nokogiri::Document&lt;/code&gt;のエンコーディングはEUC-JPにセットされる。&lt;/p&gt;
&lt;blockquote&gt;&lt;pre&gt;
mechanize.page.parser.encoding # =&gt; "EUC-JP"
&lt;/pre&gt;&lt;/blockquote&gt;
&lt;p&gt;その後、&lt;code&gt;Page#encoding=&lt;/code&gt;で改めてエンコーディングを指定するのだけど、&lt;/p&gt;
&lt;blockquote&gt;&lt;pre&gt;
mechanize.page.encoding = "EUC-JP" # 何も起きない
&lt;/pre&gt;&lt;/blockquote&gt;
&lt;p&gt;引数で与えられたエンコーディングと&lt;code&gt;Page#parser&lt;/code&gt;のエンコーディングが等しい場合は何もしないようになっているので、パースのやり直しは起きない。ということで、このケースだと&lt;code&gt;Mechanize::Page#encoding=&lt;/code&gt;は&lt;strong&gt;まったく役に立たない。&lt;/strong&gt;&lt;/p&gt;

&lt;h4&gt;力押しで解決&lt;/h4&gt;
&lt;p&gt;Mechanizeには、&lt;code&gt;pre_connect_hooks&lt;/code&gt;と&lt;code&gt;post_connect_hooks&lt;/code&gt;というメソッドがあって、それぞれリクエスト前とリクエスト後に任意の処理を差し込めるようになっている。これを利用してNokogiriがパースする前にHTTPヘッダとmetaタグのcharset、XML宣言のencoding、HTML自体のエンコーディングをUTF-8に変えてしまうことにする。&lt;/p&gt;

&lt;p&gt;リクエスト後なので&lt;code&gt;Mechanize#post_connect_hooks&lt;/code&gt;を使うのだけど、中身はただの&lt;code&gt;Proc&lt;/code&gt;オブジェクトの配列なので、&lt;code&gt;Proc&lt;/code&gt;オブジェクトを作って追加するだけでいい。&lt;/p&gt;
&lt;blockquote&gt;&lt;pre&gt;
def fix_charset_to_utf8(more_nkf_options = "")
  lambda do |params|
    if content_type = params[:response]["Content-Type"]
      content_type.sub!(/charset\s*=\s*([^;\s]+)/i, "charset=UTF-8")
      params[:response]["Content-Type"] = content_type
    end

    response_body = NKF.nkf("-w -m0 #{more_nkf_options}", params[:response_body])
    if m = response_body.match(/&lt;\?xml[^&gt;]+encoding\s*=\s*["']([^&gt;\s]+)["'][^&gt;]*\?&gt;/i)
      response_body[Range.new(m.begin(1), m.end(1) - 1)] = "UTF-8"
    end
    if m = response_body.match(/&lt;meta[^&gt;]+charset\s*=\s*([^&gt;"'\/\s]+)[^&gt;]*&gt;/i)
      response_body[Range.new(m.begin(1), m.end(1) - 1)] = "UTF-8"
    end
    params[:response_body] = response_body
  end
end

mechanize.post_connect_hooks &lt;&lt; fix_charset_to_utf8
&lt;/pre&gt;&lt;/blockquote&gt;
&lt;p&gt;これでほとんどの場合はうまくいくけど、入力コードはNKFで自動認識しているので間違うこともある。そういうときは引数でNKFに与える入力コードを指定すればいい。たとえばCP932だと次のようにする。&lt;/p&gt;
&lt;blockquote&gt;&lt;pre&gt;
mechanize.post_connect_hooks &lt;&lt; fix_charset_to_utf8("--ic=CP932")
&lt;/pre&gt;&lt;/blockquote&gt;
&lt;p&gt;metaタグなどから入力コードを決定することも考えたのだけど、HTTPヘッダと整合性が取れていなかったり、そもそも指定が間違っていたりするページもあるだろうから、これで十分じゃないかと思う。&lt;/p&gt;

&lt;div class="amazon-item-box" style="display: block; padding: 0; border: 1px solid  #999; margin: 8px;  -moz-border-radius: 10px;"&gt;&lt;div class="amazon-item-image" style="display: block; padding: 10px; float: left;"&gt;&lt;a href="http://www.amazon.co.jp/exec/obidos/ASIN/4873114454/burningdownth-22/ref=nosim" target="_blank"&gt;&lt;img src="http://ecx.images-amazon.com/images/I/51IV0ZuH%2BhL._SL75_.jpg" alt="Rubyベストプラクティス -プロフェッショナルによるコードとテクニック" title="Rubyベストプラクティス -プロフェッショナルによるコードとテクニック" style="border: none; display: inline; vertical-align: bottom;" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;dl class="amazon-item-info" style="display: block; margin-left: 10px; padding: 0 8px 0 10px; font-size: 10pt; line-height: 110%;"&gt;&lt;dt class="amazon-item-name" style="display: block; margin-bottom: 5px; line-height: 120%;"&gt;&lt;a href="http://www.amazon.co.jp/exec/obidos/ASIN/4873114454/burningdownth-22/ref=nosim" target="_blank" title="Rubyベストプラクティス -プロフェッショナルによるコードとテクニック"&gt;Rubyベストプラクティス -プロフェッショナルによるコードとテクニック&lt;/a&gt;&lt;/dt&gt;&lt;dd&gt;&lt;ul class="amazon-item-info-list" style="list-style-type: none; padding-left: 0px; line-height: 120%;"&gt;&lt;li&gt;発売元: オライリージャパン&lt;/li&gt;&lt;li&gt;価格: ￥ 3,360&lt;/li&gt;&lt;li&gt;発売日: 2010/03/26&lt;/li&gt;&lt;/ul&gt;&lt;/dd&gt;&lt;/dl&gt;&lt;p class="amazon-item-footer" style="clear: left; text-align: right; font-size: x-small; padding: 4px 10px 4px 10px; line-height: 100%"&gt;posted with &lt;a href="http://socialtunes.net"&gt;Socialtunes&lt;/a&gt;&lt;/p&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3966127164017981232-5935369599455236058?l=insideflag.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3966127164017981232/posts/default/5935369599455236058'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3966127164017981232/posts/default/5935369599455236058'/><link rel='alternate' type='text/html' href='http://insideflag.blogspot.com/2010/06/rubymechanize.html' title='RubyのMechanizeで文字化けするページがある件について'/><author><name>a</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-3966127164017981232.post-7322505770298428525</id><published>2010-05-28T16:23:00.007+09:00</published><updated>2011-08-16T06:03:36.829+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Ruby'/><title type='text'>GENIA Taggerで英語の形態素解析</title><content type='html'>&lt;p&gt;大量の英語の文章を形態素解析することになった。日本語なら&lt;a href="http://mecab.sourceforge.net/"&gt;MeCab&lt;/a&gt;を使ったことがあるのだけど、英語の形態素解析器についてはまったく知らないので調べてみた。ちなみに、形態素解析器は英語でPOS(Part of Speech) Taggerというらしい。Part of Speechは品詞のこと。&lt;/p&gt;

&lt;p&gt;英語の形態素解析器がたくさんあるのはちょっと調べただけでもすぐわかったのだけど、自分が重視するのは以下の二点。&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;各単語の原型（基本形）が取得できるもの&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;大量の英文を処理する必要があるため高速なもの。CまたはC++で書かれているものが望ましい。&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;最初は簡単に見つかると思っていたのだけど、意外にも&lt;strong&gt;原型（基本形）を返さないものが多く&lt;/strong&gt;、さらに速度も考慮に入れると結局残ったのは&lt;a href="http://www-tsujii.is.s.u-tokyo.ac.jp/GENIA/tagger/"&gt;GENIA Tagger&lt;/a&gt;だけだった。&lt;/p&gt;

&lt;p&gt;GENIA Taggerは生物医学のテキストに最適化されてて、ProteinやDNA, RNAなどがNamed Entityタグ（NEtag）として認識されるようになっている。自分が形態素解析したいのは一般的な英文なので必要ないけど。もちろん誤認識することもあるのだけど、自分の用途ではあまり問題にならないので気にしないことにする。&lt;/p&gt;

&lt;p&gt;で、いざ&lt;code&gt;make&lt;/code&gt;してみると実行ファイルだけが生成され、ライブラリ的なものは提供されていない。しかも、その実行ファイルも起動にやたらと時間がかかる。ということで、Rubyでサーバーを書くことにした。&lt;/p&gt;

&lt;blockquote&gt;&lt;pre&gt;
require "webrick"

def readlines_until_empty_line(io)
  result = []
  while line = io.gets
    break if line == "\n"
    result &lt;&lt; line
  end
  result
end

genia = IO.popen("./geniatagger 2&gt;/dev/null", "r+")

server = WEBrick::GenericServer.new(:Port =&gt; 7070)
trap(:INT) do
  server.shutdown
  genia.close
end
server.start do |socket|
  while line = socket.gets
    genia.print line
    socket.print readlines_until_empty_line(genia).join.gsub("\n", " "), "\n"
  end
end
&lt;/pre&gt;&lt;/blockquote&gt;

&lt;p&gt;UNIXドメインソケットを使ったほうが速いだろうけど、いろいろと面倒なのでWEBrickを使うことにした。GENIA Taggerは解析結果を複数行で返すのだけど、これをサーバーがそのままクライアントに渡すようにすると、TCPでのやりとりの回数が増えて遅くなってしまう。これを避けるため改行をスペースに置換して一行にして返すようにした（解析結果にスペースが出現することはないのでエスケープも必要ないし）。&lt;/p&gt;

&lt;p&gt;テスト用のクライアント。&lt;/p&gt;
&lt;blockquote&gt;&lt;pre&gt;
require "socket"

TCPSocket.open("localhost", 7070) do |socket|
  socket.puts ARGV[0]
  puts socket.gets.gsub(" ", "\n").chomp
end
&lt;/pre&gt;&lt;/blockquote&gt;

&lt;p&gt;これでRubyから使えるようになったけど、10万件以上のセンテンスを形態素解析するとなると、やはり速度が気になる。これで速くなればラッキーぐらいの気持ちで、Makefileを次のように書き換えてみた。計測はしてないので効果のほどはわからない。&lt;/p&gt;
&lt;blockquote&gt;&lt;pre&gt;
-CFLAGS = -O2 -DNDEBUG
+CFLAGS = -O3 -DNDEBUG -march=native
&lt;/pre&gt;&lt;/blockquote&gt;

&lt;p&gt;POStagの対応表は「&lt;a href="http://www.ling.upenn.edu/courses/Fall_2003/ling001/penn_treebank_pos.html"&gt;Penn Treebank P.O.S. Tags&lt;/a&gt;」が見やすい。また、chunktagについては「&lt;a href="http://blog.overlasting.net/2007-04-20-14.html"&gt;IOB2フォーマットによるトークンへのタグ付与&lt;/a&gt;」がわかりやすいと思う。&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3966127164017981232-7322505770298428525?l=insideflag.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3966127164017981232/posts/default/7322505770298428525'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3966127164017981232/posts/default/7322505770298428525'/><link rel='alternate' type='text/html' href='http://insideflag.blogspot.com/2010/05/genia-tagger.html' title='GENIA Taggerで英語の形態素解析'/><author><name>a</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-3966127164017981232.post-2544858061122903829</id><published>2010-05-18T00:36:00.002+09:00</published><updated>2010-09-01T19:27:31.455+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Ubuntu'/><title type='text'>Ubuntuでゴミ箱を空にできないときは</title><content type='html'>&lt;p&gt;原因はまったくわからないのだけど、ゴミ箱を空にできなくなることが時々ある。ゴミ箱の中のファイルは&lt;em&gt;~/.local/share/Trash/files/&lt;/em&gt;に置かれているので、&lt;/p&gt;
&lt;blockquote&gt;&lt;pre&gt;
% rm -rf ~/.local/share/Trash/files/*
% rm ~/.local/share/Trash/info/*
&lt;/pre&gt;&lt;/blockquote&gt;
&lt;p&gt;などとすれば、強制的に空にすることができる。&lt;em&gt;~/.local/share/Trash/info/&lt;/em&gt;には、削除前のパスや削除日時などの情報が記録されているので一緒に消してしまえばいい。&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3966127164017981232-2544858061122903829?l=insideflag.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3966127164017981232/posts/default/2544858061122903829'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3966127164017981232/posts/default/2544858061122903829'/><link rel='alternate' type='text/html' href='http://insideflag.blogspot.com/2010/05/ubuntu.html' title='Ubuntuでゴミ箱を空にできないときは'/><author><name>a</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-3966127164017981232.post-826148260496258128</id><published>2010-05-12T19:56:00.019+09:00</published><updated>2011-08-16T06:04:15.497+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Ubuntu'/><title type='text'>「日本語のページを検索」リンクも非表示になってしまったので自分でつけてみた</title><content type='html'>&lt;p&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_pNXH1Lg1eZw/S_JA4kbazfI/AAAAAAAABiQ/q9xfsl4QZJw/s1600/Screenshot-google+chrome+-+Google+%E6%A4%9C%E7%B4%A2+-+Google+Chrome.png"&gt;&lt;img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 200px; height: 152px;" src="http://1.bp.blogspot.com/_pNXH1Lg1eZw/S_JA4kbazfI/AAAAAAAABiQ/q9xfsl4QZJw/s200/Screenshot-google+chrome+-+Google+%E6%A4%9C%E7%B4%A2+-+Google+Chrome.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5472507837804105202" /&gt;&lt;/a&gt;
&lt;strong&gt;（追記）&lt;/strong&gt;&lt;a href="http://insideflag.blogspot.com/2010/09/google-chrome-6.html"&gt;バージョン6でも動くように修正した。&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;「&lt;a href="http://insideflag.blogspot.com/2010/05/chromegoogle.html"&gt;ChromeでGoogleの左に表示されるウザいナビゲーションを一瞬も見えないようにする&lt;/a&gt;」の続き。邪魔なサイドバーが消えたのはよかったのだけど、日本語のページだけを検索結果に表示するリンクもなくなってしまったので、&lt;q&gt;検索オプション&lt;/q&gt;の隣に表示するようにしてみた。英語のみも以前から欲しかったのでつけた。&lt;/p&gt;

&lt;p style="clear:both"&gt;CSSのみで実現するのは無理だと思うのでスクリプトを使うことにした。実行タイミングの問題はあるけど、今回は画面のレイアウトを大きく変えるわけではないので、遅れて表示されても特に気持ち悪く感じることはない。&lt;/p&gt;

&lt;p&gt;新しくscript.jsを追加。&lt;/p&gt;
&lt;blockquote&gt;&lt;pre&gt;
var createLangLink = function(text, langOptionValue) {
    var a = document.createElement("a");
    a.className = "gl nobr";
    a.style.color = "#4373db";
    var newSearch = location.search.replace(new RegExp("&amp;lr=[A-Za-z_]+", "gi"), "");
    a.href = location.pathname + newSearch + "&amp;lr=" + langOptionValue;
    a.appendChild(document.createTextNode(text));
    return a;
};
var div = document.getElementById("subform_ctrl").getElementsByTagName("div")[0];
var firstChild = div.firstChild;
div.insertBefore(createLangLink("英語のみ", "lang_en"), firstChild);
div.insertBefore(document.createTextNode(" "), firstChild);
div.insertBefore(createLangLink("日本語のみ", "lang_ja"), firstChild);
div.insertBefore(document.createTextNode(" "), firstChild);
&lt;/pre&gt;&lt;/blockquote&gt;

&lt;p&gt;minifest.jsonを少し変更。&lt;/p&gt;
&lt;blockquote&gt;&lt;pre&gt;
{
  "name": "google hide left navigation",
  "version": "1.0",
  "content_scripts": [
    {
      "matches": ["http://www.google.com/search?*", "http://www.google.co.jp/search?*"],
      "css": ["style.css"],
      "js": ["script.js"]
    }
  ]
}
&lt;/pre&gt;&lt;/blockquote&gt;

&lt;p&gt;style.cssは変更する必要がないので、あとはもう一度同じ手順で拡張機能を作り直せばいい。&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3966127164017981232-826148260496258128?l=insideflag.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3966127164017981232/posts/default/826148260496258128'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3966127164017981232/posts/default/826148260496258128'/><link rel='alternate' type='text/html' href='http://insideflag.blogspot.com/2010/05/blog-post.html' title='「日本語のページを検索」リンクも非表示になってしまったので自分でつけてみた'/><author><name>a</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_pNXH1Lg1eZw/S_JA4kbazfI/AAAAAAAABiQ/q9xfsl4QZJw/s72-c/Screenshot-google+chrome+-+Google+%E6%A4%9C%E7%B4%A2+-+Google+Chrome.png' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-3966127164017981232.post-7129124085530117355</id><published>2010-05-10T14:56:00.013+09:00</published><updated>2010-09-05T20:17:20.028+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Ubuntu'/><title type='text'>ChromeでGoogleの左に表示されるうざいナビゲーションを一瞬も見えないようにする</title><content type='html'>&lt;p&gt;&lt;strong&gt;（追記）&lt;/strong&gt;&lt;a href="http://insideflag.blogspot.com/2010/09/google-chrome-6.html"&gt;バージョン6でも動くように修正した。&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;ユーザースクリプトや公開されている拡張機能（エクステンション）では、一瞬だけ表示されてしまう場合がある。これが目にやさしくないのでレンダリングが終了した時点で完全に消えているようにしたい。&lt;/p&gt;

&lt;p&gt;なぜ表示されてしまうかというと、これはタイミングの問題で、&lt;a href="http://code.google.com/chrome/extensions/content_scripts.html"&gt;コンテント・スクリプトのドキュメント&lt;/a&gt;を見た限りでは、manifest.jsonの&lt;code&gt;run_at&lt;/code&gt;が&lt;code&gt;document_end&lt;/code&gt;になっていればよさそう。なのだけど、実際に試してみると、それでも一瞬見えてしまうことがあった。一応&lt;code&gt;document_start&lt;/code&gt;も試してみたけどうまくいかなかった（その時点ではDOMが構築されていないはずだけど、なぜか動くことは動いた）。&lt;/p&gt;

&lt;p&gt;ということで、いろいろ試してみたところ、拡張機能のCSSで指定すればいいことがわかった。スクリプトと違って表示/非表示を切り替えることができないのが弱点だけど、目的を達成することはできた。手順は下記のとおり。&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;適当なところにgoogle_hide_left_navigationというディレクトリを作成する。&lt;/li&gt;
&lt;li&gt;その中にmanifest.jsonというファイルを次の内容で作成する。
&lt;blockquote&gt;&lt;pre&gt;
{
  "name": "google hide left navigation",
  "version": "1.0",
  "content_scripts": [
    {
      "matches": ["http://www.google.com/search?*", "http://www.google.co.jp/search?*"],
      "css": ["style.css"]
    }
  ]
}
&lt;/pre&gt;&lt;/blockquote&gt;
&lt;/li&gt;
&lt;li&gt;同じようにstyle.cssというファイルを作成する。
&lt;blockquote&gt;&lt;pre&gt;
#leftnav {
    display:none !important;
}
#center_col {
    margin-left:30px !important;
    border-left:none !important;
}
&lt;/pre&gt;&lt;/blockquote&gt;
&lt;/li&gt;
&lt;li&gt;Chromeで拡張機能を開き&lt;q&gt;デベロッパーモード&lt;/q&gt;をクリックする。[拡張機能のパッケージ化...]から最初に作成したgoogle_hide_left_navigationを選択するとファイルが二つできるので、google_hide_left_navigation.crxのほうをChromeにドラッグ＆ドロップしてインストールすれば完了。ディレクトリは削除してもいい。&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;style.cssを自分でいじりたいのなら、[パッケージ化されていない拡張機能を読み込む...]のほうが再読み込みできるので便利かも。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;（追記）&lt;/strong&gt;&lt;a href="http://insideflag.blogspot.com/2010/05/blog-post.html"&gt;「日本語のページを検索」リンクも非表示になってしまったので自分でつけてみた。&lt;/a&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3966127164017981232-7129124085530117355?l=insideflag.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3966127164017981232/posts/default/7129124085530117355'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3966127164017981232/posts/default/7129124085530117355'/><link rel='alternate' type='text/html' href='http://insideflag.blogspot.com/2010/05/chromegoogle.html' title='ChromeでGoogleの左に表示されるうざいナビゲーションを一瞬も見えないようにする'/><author><name>a</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-3966127164017981232.post-3958071146100403048</id><published>2010-04-23T18:51:00.002+09:00</published><updated>2010-04-23T18:55:54.857+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='iPhone/iPod Touch'/><title type='text'>iPhoneアプリの売上を受け取る口座について</title><content type='html'>&lt;p&gt;iPhoneアプリの売上はシティバンクで受け取るのが常識のようなのだけど、手数料のことなどまったく調べていなかったため何も知らずに三井住友銀行の口座を登録していた。売上はAppleから海外送金されるため、日本の銀行で受け取ると被仕向送金手数料やら円為替取扱手数料（日本円を指定してある場合）などで数千円引かれてしまう。さらに、場合によっては送金を中継した銀行からも手数料を取られるようだ。&lt;/p&gt;

&lt;p&gt;手数料のことは送金される直前に知ったのだけど、Bank Infoの変更は間に合わず三井住友銀行に振り込まれてしまった。が、振り込まれた金額をAppleから送られてきたInvoiceと照らし合わせてみても、特に手数料は引かれていなかった。&lt;/p&gt;

&lt;p&gt;月末になると三井住友銀行から&lt;q&gt;外国送金到着のご案内&lt;/q&gt;という書類が送られてきた。確認してみるとどういうわけか&lt;strong&gt;手数料負担がご依頼人になっている。&lt;/strong&gt;ひょっとしたらAppleの方針が変わったのかもしれない。もしそうならわざわざシティバンクの口座を作る必要もなかったけど、今後一切手数料がかからないという保証もないので翌月からはシティバンクで受け取っている。&lt;/p&gt;

&lt;p&gt;ちなみに、&lt;q&gt;外国送金到着のご案内&lt;/q&gt;によると、依頼銀行は&lt;q&gt;CITIBANK EUROPE PLC 1&lt;/q&gt;で取組銀行が&lt;q&gt;CITIBANK JAPAN LTD.&lt;/q&gt;になっていた。&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3966127164017981232-3958071146100403048?l=insideflag.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3966127164017981232/posts/default/3958071146100403048'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3966127164017981232/posts/default/3958071146100403048'/><link rel='alternate' type='text/html' href='http://insideflag.blogspot.com/2010/04/iphone.html' title='iPhoneアプリの売上を受け取る口座について'/><author><name>a</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-3966127164017981232.post-602397230343007944</id><published>2010-04-19T18:04:00.004+09:00</published><updated>2010-08-27T16:37:58.991+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Ubuntu'/><title type='text'>次回起動時に強制的にファイルシステムのチェックを行う</title><content type='html'>&lt;blockquote&gt;&lt;pre&gt;
% sudo touch /forcefsck
&lt;/pre&gt;&lt;/blockquote&gt;
&lt;p&gt;などとして、&lt;em&gt;/forcefsck&lt;/em&gt;というファイルを作成しておけば、次にシステムを起動したときに自動的にファイルシステムのチェック（&lt;code&gt;fsck&lt;/code&gt;）が行われる。ちなみに、これは&lt;strong&gt;ルートパーティションに対しても実行され&lt;/strong&gt;、ログは&lt;em&gt;/var/log/fsck/&lt;/em&gt;に保存される。&lt;/p&gt;

&lt;p&gt;&lt;q&gt;&lt;code&gt;shutdown -F&lt;/code&gt;&lt;/q&gt;で同じ効果があるという情報もあるけど、Ubuntu 8.04では&lt;code&gt;-F&lt;/code&gt;オプションが存在しない。&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3966127164017981232-602397230343007944?l=insideflag.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3966127164017981232/posts/default/602397230343007944'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3966127164017981232/posts/default/602397230343007944'/><link rel='alternate' type='text/html' href='http://insideflag.blogspot.com/2010/04/blog-post.html' title='次回起動時に強制的にファイルシステムのチェックを行う'/><author><name>a</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-3966127164017981232.post-8501248943587587586</id><published>2010-03-31T16:25:00.021+09:00</published><updated>2011-12-22T04:31:22.528+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='クライミング'/><title type='text'>クライミングと体幹</title><content type='html'>&lt;p&gt;クライミングでも体幹が大事だというのはよく聞くので、重要性についてはなんとなく認識していたけど、これまで特に鍛えようとは思わなかった。指、腕、肩を重視していたというのもあるのだけど、そもそも体幹が何なのかよくわかっていなかった。ということで、体幹について調べてみた。&lt;/p&gt;

&lt;h4&gt;体幹とは&lt;/h4&gt;
&lt;p&gt;具体的に&lt;q&gt;体幹&lt;/q&gt;という部位を指す明確な定義は存在しないらしい。とはいえ、少なくとも腹筋、背筋を中心とした体の中心部が&lt;q&gt;体幹&lt;/q&gt;に含まれるのは間違いない。腹筋は体幹の構成要素のひとつだけど、体幹＝腹筋というわけではない。&lt;/p&gt;

&lt;p&gt;&lt;q&gt;コア&lt;/q&gt;は体幹と同義で、コアマッスルは体幹を構成する筋肉である体幹筋のこと。ただし、文脈によっては体幹部のインナーマッスルであるインナーユニットを指している場合もありややこしい。&lt;/p&gt;

&lt;h4&gt;インナーマッスル（深層筋）&lt;/h4&gt;
&lt;p&gt;「&lt;a href="http://www.amazon.co.jp/exec/obidos/ASIN/4808308355/burningdownth-22/ref=nosim" target="_blank"&gt;クライマーズ・ボディ&lt;/a&gt;(p.126)」によると、インナーマッスルとは関節に近い部分で関節を取り囲むように備わった微細な筋肉群のこと。アウターマッスルが大きな力で関節をまたいだ骨を引っ張るのに対して、インナーマッスルはその両骨を関節に押し留めるように働き関節の安定を図っている。インナーマッスルとアウターマッスルのバランスが崩れていると関節またはそれに伴う故障の原因となることがある。&lt;/p&gt;

&lt;p&gt;インナーマッスルは筋肥大する筋肉ではないので、&lt;q&gt;鍛える&lt;/q&gt;というよりは&lt;q&gt;コンディショニング&lt;/q&gt;とか&lt;q&gt;アクティベーション&lt;/q&gt;と言ったほうが適当。アウターマッスルが働かないように正しいフォームで行うことが大切で、負荷が大きかったり回数が多すぎてもアウターマッスルが使われてしまう。体幹を鍛えるためには、体幹部分のインナーマッスルのコンディショニングが必要になる。&lt;/p&gt;

&lt;h4&gt;クライミングと体幹&lt;/h4&gt;
&lt;p&gt;体幹の役割で特に重要なのが&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;体の姿勢（脊柱）を安定させ、バランスを保つ&lt;/li&gt;
&lt;li&gt;上半身と下半身の間で力を伝達させる&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;ではないかと思う。これらは怪我、障害の予防にもつながる。また、ほとんどの動作で体幹部が最初に動くそうで、体幹の強化によりスポーツにおけるパフォーマンスを向上させることができる。&lt;/p&gt;

&lt;p&gt;クライミングでは、体幹の強化により身体張力もアップし、&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;より正確なムーブ&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;保持力の向上&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;ランジなどで起きる振られの軽減&lt;/li&gt;
&lt;li&gt;遠いスタンスに足を残せる&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;などの効果が期待できると思う。保持力に関しては、体幹を通じて&lt;strong&gt;下半身に逃がす力の割合が大きくなる&lt;/strong&gt;ため、向上が見込めるのではないかと思う。今まで上半身の強さばかりに目がいっていたのだけど、今回突然体幹に注目したのはこれが理由だったりする。自分は指の力が大きな弱点になっているのだけど、指単独の強化は怪我もしやすいし、もうやりたくない。というわけで、別の方法で保持力の向上を目指すことにしてみた。&lt;/p&gt;

&lt;h4&gt;体幹のトレーニング方法&lt;/h4&gt;
&lt;p&gt;体幹を鍛えるには最初に体の中心部を安定させ、その後周りに広げていくのがよいとされていて、具体的には次のような順番になる。&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;インナーユニットコンディショニング&lt;/li&gt;
&lt;li&gt;コアスタビライゼーション&lt;/li&gt;
&lt;li&gt;アウターユニットトレーニング&lt;/li&gt;
&lt;li&gt;ファンクショナルコアトレーニング&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;詳しいトレーニング方法は専門家のページに任せるとして（リンクは後述）、ここでは簡単にまとめておく。&lt;/p&gt;

&lt;h4&gt;インナーユニットコンディショニング&lt;/h4&gt;
&lt;p&gt;インナーユニットは体幹部におけるインナーマッスルのこと。具体的には内腹斜筋、腹横筋、多裂筋、横隔膜、骨盤底筋群を指し、これらすべての筋肉が正しく協調して動く必要があるとのこと。インナーユニットの働きで腹圧が高まり脊柱が安定する。また、下半身と上半身を結びつける役割も果たす。&lt;/p&gt;

&lt;p&gt;インナーユニットコンディショニングは、ドローインマニューバーというへそを背骨側へ引っ込めるのと同時にお尻の穴も締めるトレーニングが基本となる。引っ込めるときは腹式呼吸で、引っ込めた状態をキープしているときは胸式呼吸（普通の呼吸方法）。ドローインができるようになったら、ドローインと同時に手足の運動を行う。&lt;/p&gt;

&lt;h4&gt;コアスタビライゼーション&lt;/h4&gt;
&lt;p&gt;コアスタビライゼーションはインナーユニット以外の体幹部のトレーニングになる。バランスがとりにくい姿勢で体を安定させ続ける。バランスボールやバランスディスクが活躍するのもこの段階。&lt;/p&gt;

&lt;h4&gt;アウターユニットトレーニング&lt;/h4&gt;
&lt;p&gt;クランチとかそのバリエーション。体幹部のアウターマッスルを鍛えるいわゆる&lt;q&gt;筋トレ&lt;/q&gt;。&lt;/p&gt;

&lt;h4&gt;ファンクショナルコアトレーニング&lt;/h4&gt;
&lt;p&gt;ファンクショナルコアトレーニングは競技に直結した体幹を動かすトレーニング。各スポーツに合わせたメニューが必要なのだけど、クライミングは何をすればいいんだろう？体幹を意識しながら登るぐらいしか思いつかない…。&lt;/p&gt;

&lt;h4&gt;トレーニング方法に関するリンク&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://kagawata.ashita-sanuki.jp/c119.html"&gt;香川トレーナー協会:トレーニング・コンディショニング&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://sportstrainers.jp/prgm/2008/04/post-38.php"&gt;体幹トレーニング（SportsTrainers.jp | プログラム | スポーツトレーナー友岡和彦プロデュース）&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://sportstrainers.jp/prgm/2008/04/post-1.php"&gt;体幹部のインナーユニット・アクティベーション・トレーニング（SportsTrainers.jp | プログラム | スポーツトレーナー友岡和彦プロデュース）&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://homepage2.nifty.com/style1/kaisetsu03-11.html"&gt;Style1 スタビライゼーション&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://homepage2.nifty.com/style1/kaisetsu03-08.html"&gt;Style1 腹筋&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;参考&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://corefit.jp/index.php?itemid=81"&gt;稲葉晃子さんによる「トレーニングジャーナル」2003年10月号から10回にわたって連載された論文&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://kinclimb.exblog.jp/12710416/"&gt;ヘビークライマー”きん”のクライミング日記 : 強いクライマーになるには(3)?&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;ROCK &amp; SNOW 2008冬号 No.42の&lt;q&gt;トップクライマーに学ぶ 強くなるためのトレーニング法&lt;/q&gt;で、安間佐千さんがドローインをしながらのクランチを紹介している。&lt;/li&gt;
&lt;li&gt;&lt;a href="http://blogs.yahoo.co.jp/sanjc2004/62079456.html"&gt;安間サチ君講演会。高田馬場カモシカスポーツにて。 - クライマー「Ｈ」の研究室 - Yahoo!ブログ&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="amazon-item-box" style="display: block; padding: 0; border: 1px solid  #999; margin: 8px;  -moz-border-radius: 10px;"&gt;&lt;div class="amazon-item-image" style="display: block; padding: 10px; float: left;"&gt;&lt;a href="http://www.amazon.co.jp/exec/obidos/ASIN/4635043274/burningdownth-22/ref=nosim" target="_blank"&gt;&lt;img src="http://ecx.images-amazon.com/images/I/51dGGtL6sCL._SL75_.jpg" alt="フリークライミング (ヤマケイ・テクニカルブック 登山技術全書)" title="フリークライミング (ヤマケイ・テクニカルブック 登山技術全書)" style="border: none; display: inline; vertical-align: bottom;" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;dl class="amazon-item-info" style="display: block; margin-left: 10px; padding: 0 8px 0 10px; font-size: 10pt; line-height: 110%;"&gt;&lt;dt class="amazon-item-name" style="display: block; margin-bottom: 5px; line-height: 120%;"&gt;&lt;a href="http://www.amazon.co.jp/exec/obidos/ASIN/4635043274/burningdownth-22/ref=nosim" target="_blank" title="フリークライミング (ヤマケイ・テクニカルブック 登山技術全書)"&gt;フリークライミング (ヤマケイ・テクニカルブック 登山技術全書)&lt;/a&gt;&lt;/dt&gt;&lt;dd&gt;&lt;ul class="amazon-item-info-list" style="list-style-type: none; padding-left: 0px; line-height: 120%;"&gt;&lt;li&gt;発売元: 山と溪谷社&lt;/li&gt;&lt;li&gt;価格: ￥ 1,890&lt;/li&gt;&lt;li&gt;発売日: 2005/05/01&lt;/li&gt;&lt;/ul&gt;&lt;/dd&gt;&lt;/dl&gt;&lt;p class="amazon-item-footer" style="clear: left; text-align: right; font-size: x-small; padding: 4px 10px 4px 10px; line-height: 100%"&gt;posted with &lt;a href="http://socialtunes.net"&gt;Socialtunes&lt;/a&gt;&lt;/p&gt;&lt;/div&gt;
&lt;p&gt;ページ数は少ないけど体幹のトレーニング方法について書かれている。&lt;/p&gt;

&lt;div class="amazon-item-box" style="display: block; padding: 0; border: 1px solid  #999; margin: 8px;  -moz-border-radius: 10px;"&gt;&lt;div class="amazon-item-image" style="display: block; padding: 10px; float: left;"&gt;&lt;a href="http://www.amazon.co.jp/exec/obidos/ASIN/B00020W97A/burningdownth-22/ref=nosim" target="_blank"&gt;&lt;img src="http://ecx.images-amazon.com/images/I/51KBN8KZ72L._SL75_.jpg" alt="リージェント・ファーイースト バランスバルーン パールブルー 39209" title="リージェント・ファーイースト バランスバルーン パールブルー 39209" style="border: none; display: inline; vertical-align: bottom;" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;dl class="amazon-item-info" style="display: block; margin-left: 10px; padding: 0 8px 0 10px; font-size: 10pt; line-height: 110%;"&gt;&lt;dt class="amazon-item-name" style="display: block; margin-bottom: 5px; line-height: 120%;"&gt;&lt;a href="http://www.amazon.co.jp/exec/obidos/ASIN/B00020W97A/burningdownth-22/ref=nosim" target="_blank" title="リージェント・ファーイースト バランスバルーン パールブルー 39209"&gt;リージェント・ファーイースト バランスバルーン パールブルー 39209&lt;/a&gt;&lt;/dt&gt;&lt;dd&gt;&lt;ul class="amazon-item-info-list" style="list-style-type: none; padding-left: 0px; line-height: 120%;"&gt;&lt;li&gt;発売元: リージェント・ファーイースト&lt;/li&gt;&lt;li&gt;価格: ￥ 2,058 (15% OFF)&lt;/li&gt;&lt;/ul&gt;&lt;/dd&gt;&lt;/dl&gt;&lt;p class="amazon-item-footer" style="clear: left; text-align: right; font-size: x-small; padding: 4px 10px 4px 10px; line-height: 100%"&gt;posted with &lt;a href="http://socialtunes.net"&gt;Socialtunes&lt;/a&gt;&lt;/p&gt;&lt;/div&gt;
&lt;p&gt;バランスボールは邪魔になるのでバランスディスクを購入してみた。変わった形をしているけど円形のものよりもいいと思う。&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3966127164017981232-8501248943587587586?l=insideflag.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3966127164017981232/posts/default/8501248943587587586'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3966127164017981232/posts/default/8501248943587587586'/><link rel='alternate' type='text/html' href='http://insideflag.blogspot.com/2010/03/blog-post.html' title='クライミングと体幹'/><author><name>a</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-3966127164017981232.post-6193500669558316494</id><published>2010-02-23T19:11:00.006+09:00</published><updated>2011-07-16T15:57:57.112+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Ubuntu'/><title type='text'>Migemo + minibuf-isearchで起きるエラーの回避方法</title><content type='html'>&lt;p&gt;Emacsで&lt;a href="http://0xcc.net/migemo/"&gt;Migemo&lt;/a&gt;と&lt;a href="http://www.sodan.org/~knagano/emacs/minibuf-isearch/"&gt;minibuf-isearch&lt;/a&gt;を一緒に使っていると、&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;
Invalid regexp: "Regular expression too big"
&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;とエラーになってしまうことがあるのだけど、もう一度ゆっくり入力し直せば正常に動作するので、これまでだましだまし使ってきた。が、今日はこのエラーに対して急に我慢ならなくなってきて解決方法を探したところ、&lt;/p&gt;
&lt;blockquote&gt;&lt;pre&gt;
(setq migemo-isearch-min-length 2)
&lt;/pre&gt;&lt;/blockquote&gt;
&lt;p&gt;または&lt;/p&gt;
&lt;blockquote&gt;&lt;pre&gt;
(setq minibuf-isearch-use-migemo nil)
&lt;/pre&gt;&lt;/blockquote&gt;
&lt;p&gt;とすればいいらしいことがわかった。前者はMigemoのisearchを開始する文字数を2に指定してエラーを回避する（1文字目からだと正規表現が大きすぎる）。後者はそもそもminibuf-isearchでMigemoを使用しないようにする。&lt;/p&gt;

&lt;p&gt;Ubuntuのパッケージだと&lt;code&gt;migemo-isearch-min-length&lt;/code&gt;に対応していないので、後者を採用してminibuf-isearchのときはMigemoをオフにするようにした。minibuf-isearchは&lt;a href="http://emacs-session.sourceforge.net/"&gt;session.el&lt;/a&gt;と組み合わせてファイルを開くときに使うことがほとんどで、自分は日本語のファイル名を使うことがないので特に問題はない。それじゃあ困るという人は最新版を&lt;a href="http://sourceforge.net/scm/?type=cvs&amp;group_id=111389"&gt;CVS&lt;/a&gt;からインストールする必要がある。&lt;/p&gt;

&lt;h4&gt;参考&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://www.ftnk.jp/~fumi/cl/2006-04-20-6.html"&gt;migemo-isearch-min-length - ~fumi/ChangeLog&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://d.hatena.ne.jp/higepon/20060911/1157976818"&gt;minibuf-isearchとmigemo - ひげぽん OSとか作っちゃうかMona-&lt;/a&gt;（コメント欄）&lt;/li&gt;
&lt;li&gt;&lt;a href="http://openlab.dino.co.jp/2008/09/26/230919351.html"&gt;session.el + minibuf-isearchが便利すぎる — ディノオープンラボラトリ&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3966127164017981232-6193500669558316494?l=insideflag.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3966127164017981232/posts/default/6193500669558316494'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3966127164017981232/posts/default/6193500669558316494'/><link rel='alternate' type='text/html' href='http://insideflag.blogspot.com/2010/02/migemo-minibuf-isearch.html' title='Migemo + minibuf-isearchで起きるエラーの回避方法'/><author><name>a</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-3966127164017981232.post-3899351886565708673</id><published>2010-01-28T19:16:00.026+09:00</published><updated>2011-09-27T08:06:37.656+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Ruby'/><title type='text'>ブロックを受け取るArray#uniq, Array#uniq!</title><content type='html'>&lt;p&gt;ブロックの評価結果にしたがって重複する要素を削除する&lt;code&gt;Array#uniq_by&lt;/code&gt;が必要になった。検索してみると同じことを考える人はたくさんいるようで、いろいろな方法があるみたいだけど、&lt;a href="http://facets.rubyforge.org/"&gt;Ruby Facets&lt;/a&gt;に含まれているのが一番シンプルでいいと思った。&lt;/p&gt;
&lt;blockquote&gt;&lt;pre&gt;
def uniq_by
  h = {}; inject([]) {|a,x| h[yield(x)] ||= a &lt;&lt; x}
end
&lt;/pre&gt;&lt;/blockquote&gt;
&lt;p&gt;ハッシュに入れることで重複を判定している。&lt;/p&gt;

&lt;p&gt;&lt;a href="http://redmine.ruby-lang.org/issues/show/1154"&gt;{Array,Enumerable}#uniq_by, #uniq_by!の実装は提案されている&lt;/a&gt;けど、&lt;code&gt;Array#uniq&lt;/code&gt;がブロックを受け付けていないので、&lt;code&gt;uniq_by&lt;/code&gt;を実装するよりも&lt;code&gt;uniq&lt;/code&gt;がブロックを取るようにするべき、ということで却下されたようだ。&lt;/p&gt;

&lt;h4&gt;ブロックを取るArray#uniq, uniq!&lt;/h4&gt;
&lt;p&gt;1.9.1でもブロックを受け取る&lt;code&gt;uniq&lt;/code&gt;は実装されていなかったので、自分でやってみた。等値判定をブロックの中で行うため、Facetsのように&lt;code&gt;Hash&lt;/code&gt;を利用することはできない。オリジナルの実装と同じように重複した要素は後ろにあるほうが削除されるようにした。&lt;/p&gt;
&lt;blockquote&gt;&lt;pre&gt;
class Array
  alias_method :orig_uniq!, :uniq!
  def uniq!
    return orig_uniq! unless block_given?
    
    size = self.size
    self.each_with_index do |a,i|
      (self.size - 1).downto(i + 1) do |j|
        self.delete_at(j) if yield a, self[j]
      end
    end
    self.size &lt; size ? self : nil
  end
  
  alias_method :orig_uniq, :uniq
  def uniq(&amp;block)
    if block_given?
      dup = self.dup
      dup.uniq!(&amp;block)
      dup
    else
      orig_uniq
    end
  end
end
&lt;/pre&gt;&lt;/blockquote&gt;

&lt;h4&gt;テスト&lt;/h4&gt;
&lt;p&gt;1.9.1と1.8.7で確認した。&lt;/p&gt;
&lt;blockquote&gt;&lt;pre&gt;
require "test/unit"

class UniqWithBlockTest &lt; Test::Unit::TestCase
  def setup
    @block = lambda {|a,b| a.casecmp(b) == 0 }
  end
  
  def test_uniq_with_block
    assert_equal([], [].uniq(&amp;@block))
    assert_equal(%w(a), %w(a).uniq(&amp;@block))
    assert_equal(%w(a b), %w(a b).uniq(&amp;@block))
    
    assert_equal(%w(a), %w(a A).uniq(&amp;@block))
    assert_equal(%w(a B), %w(a B A b).uniq(&amp;@block))
    
    a = %w(a B A a b c)
    b = a.dup
    assert_equal(%w(a B c), a.uniq(&amp;@block))
    assert_equal(b, a)
    
    assert_equal(%w(a B A b c), %w(a B A a b c).uniq)
  end
  
  def test_uniq_bang_with_block
    ary = []
    assert_nil(ary.uniq!(&amp;@block))
    assert_equal([], ary)
    
    ary = %w(a)
    assert_nil(ary.uniq!(&amp;@block))
    assert_equal(%w(a), ary)
    
    ary = %w(a b)
    assert_nil(ary.uniq!(&amp;@block))
    assert_equal(%w(a b), ary)
    
    ary = %w(a A)
    assert_same(ary, ary.uniq!(&amp;@block))
    assert_equal(%w(a), ary)
    
    ary = %w(a B A b)
    assert_same(ary, ary.uniq!(&amp;@block))
    assert_equal(%w(a B), ary)
    
    ary = %w(a B A a b c)
    assert_same(ary, ary.uniq!(&amp;@block))
    assert_equal(%w(a B c), ary)
    
    assert_equal(%w(a B A b c), %w(a B A a b c).uniq!)
  end
end
&lt;/pre&gt;&lt;/blockquote&gt;

&lt;h4&gt;ライセンス&lt;/h4&gt;
&lt;p&gt;パブリックドメイン。&lt;/p&gt;

&lt;div class="amazon-item-box" style="display: block; padding: 0; border: 1px solid  #999; margin: 8px;  -moz-border-radius: 10px;"&gt;&lt;div class="amazon-item-image" style="display: block; padding: 10px; float: left;"&gt;&lt;a href="http://www.amazon.co.jp/exec/obidos/ASIN/4873114454/burningdownth-22/ref=nosim" target="_blank"&gt;&lt;img src="http://ecx.images-amazon.com/images/I/51IV0ZuH%2BhL._SL75_.jpg" alt="Rubyベストプラクティス -プロフェッショナルによるコードとテクニック" title="Rubyベストプラクティス -プロフェッショナルによるコードとテクニック" style="border: none; display: inline; vertical-align: bottom;" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;dl class="amazon-item-info" style="display: block; margin-left: 10px; padding: 0 8px 0 10px; font-size: 10pt; line-height: 110%;"&gt;&lt;dt class="amazon-item-name" style="display: block; margin-bottom: 5px; line-height: 120%;"&gt;&lt;a href="http://www.amazon.co.jp/exec/obidos/ASIN/4873114454/burningdownth-22/ref=nosim" target="_blank" title="Rubyベストプラクティス -プロフェッショナルによるコードとテクニック"&gt;Rubyベストプラクティス -プロフェッショナルによるコードとテクニック&lt;/a&gt;&lt;/dt&gt;&lt;dd&gt;&lt;ul class="amazon-item-info-list" style="list-style-type: none; padding-left: 0px; line-height: 120%;"&gt;&lt;li&gt;発売元: オライリージャパン&lt;/li&gt;&lt;li&gt;価格: ￥ 3,360&lt;/li&gt;&lt;li&gt;発売日: 2010/03/26&lt;/li&gt;&lt;/ul&gt;&lt;/dd&gt;&lt;/dl&gt;&lt;p class="amazon-item-footer" style="clear: left; text-align: right; font-size: x-small; padding: 4px 10px 4px 10px; line-height: 100%"&gt;posted with &lt;a href="http://socialtunes.net"&gt;Socialtunes&lt;/a&gt;&lt;/p&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3966127164017981232-3899351886565708673?l=insideflag.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3966127164017981232/posts/default/3899351886565708673'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3966127164017981232/posts/default/3899351886565708673'/><link rel='alternate' type='text/html' href='http://insideflag.blogspot.com/2010/01/arrayuniq-arrayuniq.html' title='ブロックを受け取るArray#uniq, Array#uniq!'/><author><name>a</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-3966127164017981232.post-8458820521890543011</id><published>2010-01-24T16:24:00.029+09:00</published><updated>2011-09-30T13:05:22.632+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='クライミング'/><title type='text'>チンニングスタンド（懸垂マシーン）もいいかも</title><content type='html'>&lt;p&gt;引越しをしたことで、近くにクライミングのトレーニングをするのに手頃な公園がなくなり、最近は登るだけの日々になってしまった。自分の体は明らかに遅筋優位なので、フィジカルトレーニングをすることで効率的に強くなれるかなと思っていたのだけど、今はまだクライミングだけで十分なような気もしてきて、とりえあず現状に落ち着いている。&lt;/p&gt;

&lt;p&gt;引越し直後は自宅内でなんとかできないものかと思い、チンニングスタンド（懸垂マシン）の購入も検討したのだけど、結構邪魔になりそうでためらっているうちにトレーニング熱が冷めてしまった。ちなみに検討していたのはこちら。&lt;/p&gt;

&lt;div class="amazon-item-box" style="display: block; padding: 0; border: 1px solid  #999; margin: 8px;  -moz-border-radius: 10px;"&gt;&lt;div class="amazon-item-image" style="display: block; padding: 10px; float: left;"&gt;&lt;a href="http://www.amazon.co.jp/exec/obidos/ASIN/B001U729UG/burningdownth-22/ref=nosim" target="_blank"&gt;&lt;img src="http://ecx.images-amazon.com/images/I/317fLLKPuzL._SL75_.jpg" alt="トータルフィットネス(TotalFitness) 懸垂マシン2  STM047" title="トータルフィットネス(TotalFitness) 懸垂マシン2  STM047" style="border: none; display: inline; vertical-align: bottom;" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;dl class="amazon-item-info" style="display: block; margin-left: 10px; padding: 0 8px 0 10px; font-size: 10pt; line-height: 110%;"&gt;&lt;dt class="amazon-item-name" style="display: block; margin-bottom: 5px; line-height: 120%;"&gt;&lt;a href="http://www.amazon.co.jp/exec/obidos/ASIN/B001U729UG/burningdownth-22/ref=nosim" target="_blank" title="トータルフィットネス(TotalFitness) 懸垂マシン2  STM047"&gt;トータルフィットネス(TotalFitness) 懸垂マシン2  STM047&lt;/a&gt;&lt;/dt&gt;&lt;dd&gt;&lt;ul class="amazon-item-info-list" style="list-style-type: none; padding-left: 0px; line-height: 120%;"&gt;&lt;li&gt;発売元: トータルフィットネス(TotalFitness)&lt;/li&gt;&lt;li&gt;価格: ￥ 10,030 (32% OFF)&lt;/li&gt;&lt;/ul&gt;&lt;/dd&gt;&lt;/dl&gt;&lt;p class="amazon-item-footer" style="clear: left; text-align: right; font-size: x-small; padding: 4px 10px 4px 10px; line-height: 100%;"&gt;posted with &lt;a href="http://socialtunes.net"&gt;Socialtunes&lt;/a&gt;&lt;/p&gt;&lt;/div&gt;

&lt;p&gt;値段も手頃で、レビューを見た限りでは特に問題もなさそう。これだけでも荷重チンニングや&lt;a href="http://insideflag.blogspot.com/2009/05/blog-post_31.html"&gt;片手ロックオフ&lt;/a&gt;などいろいろできるけど、ロックリングスやフィンガーボードをつければ&lt;a href="http://insideflag.blogspot.com/2009/06/blog-post_27.html"&gt;指のトレーニング&lt;/a&gt;もできる。ジムに行く時間があまりとれない人にもいいと思う。ぶら下がり健康器はもっと安いけど強度が足りないらしい。&lt;/p&gt;

&lt;table border="0" cellpadding="0" cellspacing="0"&gt;&lt;tr&gt;&lt;td valign="top"&gt;&lt;div style="border:1px solid;margin:0px;padding:6px 0px;width:160px;text-align:center;float:left"&gt;&lt;a href="http://hb.afl.rakuten.co.jp/hgc/0e7cd630.4e06c78d.0e7cd631.5225251e/?pc=http%3a%2f%2fitem.rakuten.co.jp%2fraliguras%2f100010345%2f%3fscid%3daf_ich_link_tbl&amp;m=http%3a%2f%2fm.rakuten.co.jp%2fraliguras%2fi%2f10004051%2f" target="_blank"&gt;&lt;img src="http://hbb.afl.rakuten.co.jp/hgb/?pc=http%3a%2f%2fthumbnail.image.rakuten.co.jp%2f%400_mall%2fraliguras%2fcabinet%2f00986704%2fimg57003263.jpg%3f_ex%3d128x128&amp;m=http%3a%2f%2fthumbnail.image.rakuten.co.jp%2f%400_mall%2fraliguras%2fcabinet%2f00986704%2fimg57003263.jpg%3f_ex%3d80x80" alt="Metolius（メトリウス）ロックリングス3D持ち運び可能なトレーニングホールド" border="0" style="margin:0px;padding:0px"&gt;&lt;/a&gt;&lt;p style="font-size:12px;line-height:1.4em;text-align:left;margin:0px;padding:2px 6px"&gt;&lt;a href="http://hb.afl.rakuten.co.jp/hgc/0e7cd630.4e06c78d.0e7cd631.5225251e/?pc=http%3a%2f%2fitem.rakuten.co.jp%2fraliguras%2f100010345%2f%3fscid%3daf_ich_link_tbl&amp;m=http%3a%2f%2fm.rakuten.co.jp%2fraliguras%2fi%2f10004051%2f" target="_blank"&gt;Metolius（メトリウス）ロックリングス3D持ち運び可能なトレーニングホールド&lt;/a&gt;&lt;br&gt;&lt;span style=""&gt;価格：4,200円（税込、送料別）&lt;/span&gt;&lt;br&gt;&lt;/p&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;p&gt;そういえば、「&lt;a href="http://www.amazon.co.jp/exec/obidos/ASIN/4635922960/burningdownth-22/ref=nosim" target="_blank"&gt;クライミングjoy No.3 (別冊山と溪谷)&lt;/a&gt;」で小山田大さんが&lt;strong&gt;&lt;q&gt;懸垂は奥が深い&lt;/q&gt;&lt;/strong&gt;と言っていた。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;（追記）&lt;/strong&gt;&lt;a href="http://insideflag.blogspot.com/2010/08/blog-post.html"&gt;クライミングのための懸垂（チンニング）&lt;/a&gt;について書いた。&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3966127164017981232-8458820521890543011?l=insideflag.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3966127164017981232/posts/default/8458820521890543011'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3966127164017981232/posts/default/8458820521890543011'/><link rel='alternate' type='text/html' href='http://insideflag.blogspot.com/2010/01/blog-post.html' title='チンニングスタンド（懸垂マシーン）もいいかも'/><author><name>a</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-3966127164017981232.post-1140381752152499968</id><published>2009-12-29T15:59:00.004+09:00</published><updated>2010-08-27T02:44:44.307+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='iPhone/iPod Touch'/><title type='text'>EINいらなくなってた</title><content type='html'>&lt;p&gt;&lt;a href="https://itunesconnect.apple.com/"&gt;iTunes Connect&lt;/a&gt;がクリスマスで休止中になっていたので、休日明けの今日になって手続きを行った。&lt;/p&gt;

&lt;p&gt;Appleに払った金額分（iPhone Developer Programとかその他諸々）ぐらいは取り返したいので、今回開発したアプリは有料アプリとして公開することに決めていた。新しく&lt;q&gt;Paid Applications&lt;/q&gt;のContractをする必要があり、Bank InfoやTax Infoを記入する。Tax InfoのフォームでEINを記入すると聞いていたのだけど、そんな項目は全然なくて指示に従って進めると終了してしまった。本来ならこの後W-8BENを提出するはずだったのだけど…。&lt;/p&gt;

&lt;p&gt;検索してみるとだいぶ前に変更されたらしく、&lt;strong&gt;もはやEINもW-8BENの提出も必要ないっぽい。&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://d.hatena.ne.jp/matutune/20091102/1257134713"&gt;EIN 取得の必要なし - iPhoneのアプリ作るよ&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="http://insideflag.blogspot.com/2009/06/ein.html"&gt;先のことを見越してEINを取得した&lt;/a&gt;のだけど、もうちょっと待てばよかった。さらに、自分は引っ越しをしたためForm 8822(Change of Address)も記入して郵送してしまったという。まあ、面倒な手続きが簡略化されたのはよかったけど。&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3966127164017981232-1140381752152499968?l=insideflag.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3966127164017981232/posts/default/1140381752152499968'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3966127164017981232/posts/default/1140381752152499968'/><link rel='alternate' type='text/html' href='http://insideflag.blogspot.com/2009/12/ein.html' title='EINいらなくなってた'/><author><name>a</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-3966127164017981232.post-2580521575464609233</id><published>2009-12-23T16:05:00.003+09:00</published><updated>2011-08-16T05:57:28.420+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='iPhone/iPod Touch'/><title type='text'>iPhone Developer Programを購入したけどアクティベーションに失敗した</title><content type='html'>&lt;p&gt;開発していたiPhoneアプリが形になってきたので、実機で動かそうということで&lt;a href="http://developer.apple.com/iphone/program/"&gt;iPhone Developer Program&lt;/a&gt;を購入した。「&lt;a href="http://insideflag.blogspot.com/2009/05/iphone.html"&gt;iPhoneアプリの開発をはじめる&lt;/a&gt;」でアカウントの登録情報をすべて英語に変更しておいたためか、支払いまでは特に問題なく行えた。&lt;/p&gt;

&lt;p&gt;購入後のアクティベーションで失敗するケースがあるというのは、ちょっと検索しただけでも大量に出てくるので知っていた。アカウントを二つ用意して、支払いは日本語で登録したほうから行えばいいという情報もあったのだけど、その通りにしてもアクティベーションに失敗したという人もいたりして、&lt;strong&gt;もう何をどうすればいいのか全然わからない。&lt;/strong&gt;ということで、上記の英語に変更しておいたアカウントのまま進めたら、案の定アクティベーションに失敗した。&lt;/p&gt;

&lt;blockquote&gt;&lt;p&gt;
We are unable to activate your iPhone Developer Program membership because we are unable to successfully verify your identity. Please contact us and reference Enrollment ID# ********** for further assistance.
&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;というエラーメッセージが表示されたので、&lt;q&gt;Contact us&lt;/q&gt;のリンクからこのエラーメッセージをコピペして送信（他には何も書いていない）。&lt;/p&gt;

&lt;p&gt;その後のアップルの対応は意外にも早く、一時間程度で日本語のメールが送られてきた。請求先と連絡先、注文番号を知らせてほしいとのことなので、返信するとさらに一時間ぐらいでアカウント情報を調整したとのメールが送られてきた。そして、もう一度メールに書かれていたリンクからアクティベーションを試みると今度は無事成功。&lt;/p&gt;

&lt;h4&gt;結論&lt;/h4&gt;
&lt;p&gt;アップルの対応は意外に早いので、アカウント情報云々は気にせず、とりあえず&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;購入&lt;/li&gt;
&lt;li&gt;アクティベーション失敗&lt;/li&gt;
&lt;li&gt;Contact us&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;の手順を踏んで、あとは中の人にやってもらうのが一番早い。&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3966127164017981232-2580521575464609233?l=insideflag.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3966127164017981232/posts/default/2580521575464609233'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3966127164017981232/posts/default/2580521575464609233'/><link rel='alternate' type='text/html' href='http://insideflag.blogspot.com/2009/12/iphone-developer-program.html' title='iPhone Developer Programを購入したけどアクティベーションに失敗した'/><author><name>a</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-3966127164017981232.post-6041981332190171873</id><published>2009-12-16T23:23:00.019+09:00</published><updated>2011-08-16T05:56:24.010+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='iPhone/iPod Touch'/><category scheme='http://www.blogger.com/atom/ns#' term='Ubuntu'/><title type='text'>Ubuntuでffmpegを使ってiPhone/iPod touch用に動画変換</title><content type='html'>&lt;p&gt;どうせなら高画質、高圧縮といわれているH.264/MPEG-4 AVCへ変換したいのだけど、Ubuntuのパッケージのffmpegはライセンスの関係で必要なコーデックがはずされている。しかもバージョンも古いので自分でソースからコンパイルする必要がある。&lt;/p&gt;

&lt;p&gt;「&lt;a href="https://wiki.ubuntu.com/ffmpeg"&gt;ffmpeg - Ubuntu Wiki&lt;/a&gt;」に詳細な解説があるのだけど、最新のソースからインストールする場合は「&lt;a href="http://ubuntuforums.org/showthread.php?t=786095"&gt;HOWTO: Install and use the latest FFmpeg and x264 - Ubuntu Forums&lt;/a&gt;」を参照するようにとのこと。バージョンごにページがわかれていて、自分が使っているのは8.04なので「&lt;a href="http://ubuntuforums.org/showpost.php?p=6963607&amp;amp;postcount=360"&gt;Ubuntu Forums - View Single Post - HOWTO: Install and use the latest FFmpeg and x264&lt;/a&gt;」を参照した。&lt;/p&gt;

&lt;p&gt;基本的には上記のページ書いてある通りなのだけど、checkinstallでエラーになるところがあった。原因はcheckinstallのバグで、回避するためには&lt;code&gt;--fstrans=no&lt;/code&gt;オプションを追加すればいい。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://ubuntuforums.org/archive/index.php/t-950464.html"&gt;[ubuntu] Error with checkinstall [Archive] - Ubuntu Forums&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;インストールの準備&lt;/h4&gt;
&lt;p&gt;ffmpegとlibx264-devのパッケージがインストールされている場合は削除する。&lt;/p&gt;
&lt;blockquote&gt;&lt;pre&gt;
% sudo apt-get remove ffmpeg x264 libx264-dev
&lt;/pre&gt;&lt;/blockquote&gt;
必要なパッケージをすべてインストールする。universeリポジトリとmultiverseリポジトリが有効になっている必要がある。
&lt;blockquote&gt;&lt;pre&gt;
% sudo apt-get update
% sudo apt-get install build-essential subversion git-core checkinstall texi2html libfaac-dev libfaad-dev liblame-dev libsdl1.2-dev libx11-dev libxfixes-dev libxvidcore4-dev zlib1g-dev
&lt;/pre&gt;&lt;/blockquote&gt;

&lt;h4&gt;Yasm&lt;/h4&gt;
&lt;p&gt;Yasmはx264のコンパイルに必要なアセンブラ。Ubuntuのパッケージはバージョンが古すぎて、x264がコンパイルできないためソースからインストールする。&lt;/p&gt;
&lt;blockquote&gt;&lt;pre&gt;
$ cd /usr/local/src
% sudo wget http://www.tortall.net/projects/yasm/releases/yasm-0.8.0.tar.gz
$ sudo tar xzf yasm-0.8.0.tar.gz
% cd yasm-0.8.0
% sudo ./configure
% sudo make
% checkinstall --pkgname=yasm --pkgversion "0.8.0" --backup=no --default
&lt;/pre&gt;&lt;/blockquote&gt;
&lt;p&gt;checkinstallは自動でパッケージを作ってインストールしてくれるツール。インストール後はaptで管理ができる。&lt;/p&gt;

&lt;h4&gt;x264&lt;/h4&gt;
&lt;p&gt;x264はH.264/MPEG-4 AVCのエンコーダー。バージョンごとにリリースされるわけではないようなので、gitから最新のソースを取得してインストールする。&lt;/p&gt;
&lt;blockquote&gt;&lt;pre&gt;
% cd /usr/local/src
% sudo git clone git://git.videolan.org/x264.git
% cd x264
% sudo ./configure
% sudo make
% sudo checkinstall --pkgname=x264 --pkgversion "1:0.svn`date +%Y%m%d`-0.0ubuntu1" --backup=no --default
&lt;/pre&gt;&lt;/blockquote&gt;

&lt;h4&gt;opencore-amr&lt;/h4&gt;
&lt;p&gt;opencore-amrはAMR(Adaptive Multi-Rate)のコーデック。AMRは音声に特化していて、圧縮率は高いが音質は低いらしい。必要ないと思うけど勢いでインストールする。&lt;/p&gt;
&lt;blockquote&gt;&lt;pre&gt;
% cd /usr/local/src
% sudo wget "http://downloads.sourceforge.net/project/opencore-amr/opencore-amr/0.1.2/opencore-amr-0.1.2.tar.gz?use_mirror=jaist"
% sudo tar xzf opencore-amr-0.1.2.tar.gz
% cd opencore-amr-0.1.2
% sudo ./configure
% sudo make
% sudo checkinstall --pkgname="libopencore-amr" --pkgversion="0.1.2" --backup=no --default --fstrans=no
% sudo ldconfig
&lt;/pre&gt;&lt;/blockquote&gt;

&lt;h4&gt;libtheora&lt;/h4&gt;
&lt;p&gt;libtheoraはTheoraビデオコーデックのエンコーダー/デコーダー。TheoraはOggコンテナフォーマットの標準ビデオコーデック。いつか必要になるかもしれないのでインストールする。&lt;/p&gt;
&lt;blockquote&gt;&lt;pre&gt;
% sudo apt-get install libogg-dev
% cd /usr/local/src
% sudo wget http://downloads.xiph.org/releases/theora/libtheora-1.1.1.tar.gz
% sudo tar xzvf libtheora-1.1.1.tar.gz
% cd libtheora-1.1.1
% sudo ./configure
% sudo make
% sudo checkinstall --pkgname=libtheora --pkgversion "1.1.1" --backup=no --default --fstrans=no
&lt;/pre&gt;&lt;/blockquote&gt;

&lt;h4&gt;ffmpeg&lt;/h4&gt;
&lt;p&gt;ffmpegもバージョンごとにリリースされるわけではないので、SVNから最新のソースを取得してインストールする。&lt;/p&gt;
&lt;blockquote&gt;&lt;pre&gt;
% cd /usr/local/src
% sudo svn checkout svn://svn.ffmpeg.org/ffmpeg/trunk ffmpeg
% cd ffmpeg
% sudo ./configure --enable-gpl --enable-version3 --enable-nonfree --enable-pthreads --enable-libfaac --ena
ble-libfaad --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libtheora
--enable-libx264 --enable-libxvid --enable-x11grab
% sudo make
% sudo checkinstall --pkgname=ffmpeg --pkgversion "3:0.svn`date +%Y%m%d`-12ubuntu3" --backup=no --default
&lt;/pre&gt;&lt;/blockquote&gt;

&lt;h4&gt;動画変換&lt;/h4&gt;
&lt;p&gt;ffmpegはオプションがたくさんあり過ぎてわけが分からないので、「&lt;a href="http://ubuntuforums.org/showthread.php?t=786095"&gt;HOWTO: Install and use the latest FFmpeg and x264 - Ubuntu Forums&lt;/a&gt;」に書かれている通りにやることにした。あまりよくわかってないのだけど、Two-Passが勧められているのでTwo-Passにする。フレームサイズは640x480にして、ipod640というプリセットを指定している。&lt;/p&gt;
&lt;blockquote&gt;&lt;pre&gt;
ffmpeg -i INPUT.avi -pass 1 -an -vcodec libx264 -vpre fastfirstpass -vpre ipod640 -b 512k -bt 512k -s 640x480 -threads 0 -f rawvideo -y /dev/null &amp;&amp; ffmpeg -i INPUT.avi -pass 2 -acodec libfaac -ab 128k -ac 2 -vcodec libx264 -vpre hq -vpre ipod640 -b 512k -bt 512k -s 640x480 -threads 0 OUTPUT.mp4
&lt;/pre&gt;&lt;/blockquote&gt;
&lt;p&gt;ちなみに、プリセットは&lt;em&gt;/usr/local/share/ffmpeg/&lt;/em&gt;以下に置かれていて、320x240のも用意されている。320x240にする場合は&lt;q&gt;&lt;code&gt;-vpre ipod640&lt;/code&gt;&lt;/q&gt;を&lt;q&gt;&lt;code&gt;-vpre ipod320&lt;/code&gt;&lt;/q&gt;に、&lt;q&gt;&lt;code&gt;-s 640x480&lt;/code&gt;&lt;/q&gt;を&lt;q&gt;&lt;code&gt;-s 320x240&lt;/code&gt;&lt;/q&gt;にすればいい。&lt;/p&gt;

&lt;h4&gt;アップデート&lt;/h4&gt;
&lt;p&gt;ffmpegとx264は開発が活発だそうで、アップデートすることで新しい機能が使えるようになったり、バグが治ったりするかもしれない。&lt;/p&gt;

&lt;h5&gt;x264&lt;/h5&gt;
&lt;blockquote&gt;&lt;pre&gt;
% sudo apt-get remove ffmpeg x264 libx264-dev
% cd /usr/local/src/x264
% make distclean
% git pull
(./configureからやり直す)
&lt;/pre&gt;&lt;/blockquote&gt;

&lt;h5&gt;ffmpeg&lt;/h5&gt;
&lt;blockquote&gt;&lt;pre&gt;
% cd /usr/local/src/ffmpeg
% make distclean
% svn update
% (./configureからやり直す)
&lt;/pre&gt;&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3966127164017981232-6041981332190171873?l=insideflag.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3966127164017981232/posts/default/6041981332190171873'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3966127164017981232/posts/default/6041981332190171873'/><link rel='alternate' type='text/html' href='http://insideflag.blogspot.com/2009/12/ubuntuffmpegiphoneipod-touch.html' title='Ubuntuでffmpegを使ってiPhone/iPod touch用に動画変換'/><author><name>a</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-3966127164017981232.post-1666329966557399575</id><published>2009-11-27T19:20:00.006+09:00</published><updated>2010-08-27T04:13:27.054+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Ruby'/><category scheme='http://www.blogger.com/atom/ns#' term='Ubuntu'/><title type='text'>RubyGemsがHTTP Response 403で動かなくなった</title><content type='html'>&lt;p&gt;今までUbuntu 8.04のパッケージのRubyGemsをそのまま使っていたのだけど、昨日ふと&lt;q&gt;&lt;code&gt;gem update&lt;/code&gt;&lt;/q&gt;してみたら、&lt;/p&gt;
&lt;blockquote&gt;&lt;pre&gt;
ERROR:  While executing gem ... (Gem::RemoteSourceException)
    HTTP Response 403
&lt;/pre&gt;&lt;/blockquote&gt;
&lt;p&gt;となってしまい、他のRubyForgeに接続するコマンドもすべて同じエラーでにっちもさっちも行かなくなってしまった。ちなみに、RubyGemsのバージョンは0.9.4。最新バージョンが1.3.5なのでサポートしきれないのも理解できる。&lt;/p&gt;

&lt;p&gt;直接の原因は、古いgemがアクセスしている&lt;a href="http://gems.rubyforge.org/yaml"&gt;http://gems.rubyforge.org/yaml&lt;/a&gt;が403を返すようになったため。Webブラウザで見てみると&lt;/p&gt;
&lt;blockquote cite="http://gems.rubyforge.org/yaml"&gt;&lt;pre&gt;
Please update your RubyGems. Run: gem update --system
&lt;/pre&gt;&lt;/blockquote&gt;
&lt;p&gt;と表示されるのだけど、そんなことをしてももちろんどうにもならない。&lt;/p&gt;

&lt;p&gt;仕方ないので、&lt;a href="http://rubyforge.org/frs/?group_id=126"&gt;http://rubyforge.org/frs/?group_id=126&lt;/a&gt;からrubygems-update-1.3.4.gemをダウンロードして手動でインストールすることに。&lt;/p&gt;
&lt;blockquote&gt;&lt;pre&gt;
% sudo env PATH="/usr/sbin:/usr/bin:/sbin:/bin" gem install rubygems-update-1.3.4.gem
% sudo env PATH="/usr/sbin:/usr/bin:/sbin:/bin" /var/lib/gems/1.8/bin/update_rubygems
&lt;/pre&gt;&lt;/blockquote&gt;
&lt;p&gt;1.3.5だと何故かエラーになるので、とりあえず1.3.4をインストールして、後でもう一度&lt;q&gt;&lt;code&gt;gem install&lt;/code&gt;&lt;/q&gt;を実行する。&lt;/p&gt;

&lt;p&gt;&lt;q&gt;&lt;code&gt;sudo env&lt;/code&gt;&lt;/q&gt;は今回初めて知ったのだけど、環境変数を上書きしてsudoを実行することができる。&lt;em&gt;/usr/local/bin/&lt;/em&gt;にgemがインストールしてあると（ruby 1.9.1をインストールしている場合も）update_gemsをしたときに大変なことになるので、&lt;em&gt;/usr/local/*/&lt;/em&gt;を除いたPATHを指定する。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://arika.org/diary/2009/04/24/sudo-and-env"&gt;最近のsudoと環境変数 : \ay diary&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Ubuntuでは&lt;em&gt;/var/lib/gems/1.8/&lt;/em&gt;以下にそれぞれのgemパッケージがインストールされていたのだけど、update_gemsを実行することでそれが&lt;em&gt;/usr/local/lib/site_ruby/1.8/&lt;/em&gt;に変わる（RubyGems本体もそこ）。また、コマンドも新しいバージョンはgem1.8になり、gemは古いやつのままなので、シンボリックリンクで上書きしてしまう。&lt;/p&gt;
&lt;blockquote&gt;&lt;pre&gt;
% sudo ln -sf /usr/bin/gem1.8 /usr/bin/gem
&lt;/pre&gt;&lt;/blockquote&gt;

&lt;p&gt;最後に、1.3.5にアップデートするためにrubygems-updateをもう一度インストールする。&lt;/p&gt;
&lt;blockquote&gt;&lt;pre&gt;
% sudo env PATH="/usr/sbin:/usr/bin:/sbin:/bin" gem install rubygems-update
% sudo env PATH="/usr/sbin:/usr/bin:/sbin:/bin" update_rubygems
&lt;/pre&gt;&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3966127164017981232-1666329966557399575?l=insideflag.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3966127164017981232/posts/default/1666329966557399575'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3966127164017981232/posts/default/1666329966557399575'/><link rel='alternate' type='text/html' href='http://insideflag.blogspot.com/2009/11/rubygemshttp-response-403.html' title='RubyGemsがHTTP Response 403で動かなくなった'/><author><name>a</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-3966127164017981232.post-6140800284359947033</id><published>2009-11-21T13:45:00.003+09:00</published><updated>2011-08-16T05:54:31.836+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='クライミング'/><title type='text'>インサイドフラッギング補足</title><content type='html'>&lt;p&gt;ブログのタイトルをうっかり&lt;q&gt;インサイドフラッギング&lt;/q&gt;にしてしまったために（&lt;a href="http://insideflag.blogspot.com/2009/02/blog-post_24.html"&gt;ブログのタイトルについて&lt;/a&gt;）、その後このムーブについて悩まされることになってしまった。インサイドフラッギングを使っている人がほとんどいないため、教えてもらうこともできず本で調べるしかなかったのだけど、概ねムーブについては理解できたと思う（&lt;a href="http://insideflag.blogspot.com/2009/05/blog-post_22.html"&gt;インサイドフラッギング再考&lt;/a&gt;）。最近はまったく意識せずに勝手にインサイドフラッギングが出るようになってきた。&lt;/p&gt;

&lt;p&gt;「&lt;a href="http://insideflag.blogspot.com/2009/05/blog-post_22.html"&gt;インサイドフラッギング再考&lt;/a&gt;」では、インサイドフラッギングが有効な状況で足の踏み替えが省略でき、さらにとても安定する（らしい）ということだった。先日ふと気がついたのだけど、今保持しているホールドが悪すぎて、なるべく早く次のホールドを取らないと消耗してしまうような状況でも使えると思った。&lt;/p&gt;

&lt;p&gt;次のホールドがある程度いいのが前提なのだけど、そういう状況ではそもそも時間のかかる足の踏み替えなんかやっている場合ではなくて、できる限り短時間でバランスを作り、次の手を出さなければならない。ちょっとしたことだけど、こういった場合にもインサイドフラッギングは有効ということで補足しておく。&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3966127164017981232-6140800284359947033?l=insideflag.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3966127164017981232/posts/default/6140800284359947033'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3966127164017981232/posts/default/6140800284359947033'/><link rel='alternate' type='text/html' href='http://insideflag.blogspot.com/2009/11/blog-post_21.html' title='インサイドフラッギング補足'/><author><name>a</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-3966127164017981232.post-8833746214596957770</id><published>2009-11-07T12:35:00.007+09:00</published><updated>2011-09-30T13:03:31.097+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='クライミング'/><title type='text'>斬新なフィンガーボードの設置方法</title><content type='html'>&lt;p&gt;フィンガーボードはクライミングのトレーニングに有用だけど、賃貸だと設置ができないという話をよく聞く（自分もだけど）。ところが、マーブーのお知らせブログを眺めていたら斬新なフィンガーボードの設置方法が紹介されていた。&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;&lt;a href="http://info.maboo.jp/?eid=463"&gt;マンションでもトレーニングボードが設置できるってばよ！ | マーブーお知らせブログ2009&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;これは思いつかなかった！壁は鉄筋コンクリートで壁紙もしっかりしていれば問題ないんだろうけど、ドアの上枠の強度は大丈夫なんだろうか？&lt;/p&gt;

&lt;table border="0" cellpadding="0" cellspacing="0"&gt;&lt;tr&gt;&lt;td valign="top"&gt;&lt;div style="border:1px solid;margin:0px;padding:6px 0px;width:160px;text-align:center;float:left"&gt;&lt;a href="http://hb.afl.rakuten.co.jp/hgc/0e7cd630.4e06c78d.0e7cd631.5225251e/?pc=http%3a%2f%2fitem.rakuten.co.jp%2fraliguras%2f100010342%2f%3fscid%3daf_ich_link_tbl&amp;m=http%3a%2f%2fm.rakuten.co.jp%2fraliguras%2fi%2f10004048%2f" target="_blank"&gt;&lt;img src="http://hbb.afl.rakuten.co.jp/hgb/?pc=http%3a%2f%2fthumbnail.image.rakuten.co.jp%2f%400_mall%2fraliguras%2fcabinet%2f00986704%2fimg57003261.jpg%3f_ex%3d128x128&amp;m=http%3a%2f%2fthumbnail.image.rakuten.co.jp%2f%400_mall%2fraliguras%2fcabinet%2f00986704%2fimg57003261.jpg%3f_ex%3d80x80" alt="Metolius（メトリウス）シミュレーター3D自宅でもクライミングに近い負荷を手軽に再現" border="0" style="margin:0px;padding:0px"&gt;&lt;/a&gt;&lt;p style="font-size:12px;line-height:1.4em;text-align:left;margin:0px;padding:2px 6px"&gt;&lt;a href="http://hb.afl.rakuten.co.jp/hgc/0e7cd630.4e06c78d.0e7cd631.5225251e/?pc=http%3a%2f%2fitem.rakuten.co.jp%2fraliguras%2f100010342%2f%3fscid%3daf_ich_link_tbl&amp;m=http%3a%2f%2fm.rakuten.co.jp%2fraliguras%2fi%2f10004048%2f" target="_blank"&gt;Metolius（メトリウス）シミュレーター3D自宅でもクライミングに近い負荷を手軽に再現&lt;/a&gt;&lt;br&gt;&lt;span style=""&gt;価格：8,715円（税込、送料別）&lt;/span&gt;&lt;br&gt;&lt;/p&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;h4&gt;関連記事&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://insideflag.blogspot.com/2009/06/blog-post_27.html"&gt;デッドハングによる指のトレーニング&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3966127164017981232-8833746214596957770?l=insideflag.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3966127164017981232/posts/default/8833746214596957770'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3966127164017981232/posts/default/8833746214596957770'/><link rel='alternate' type='text/html' href='http://insideflag.blogspot.com/2009/11/blog-post.html' title='斬新なフィンガーボードの設置方法'/><author><name>a</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-3966127164017981232.post-318005397556239583</id><published>2009-10-24T17:33:00.014+09:00</published><updated>2011-08-16T05:53:36.463+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='HP 2133'/><category scheme='http://www.blogger.com/atom/ns#' term='Ubuntu'/><title type='text'>HP 2133+Ubuntu 8.04でopenChromeをインストールした</title><content type='html'>&lt;p&gt;今回も「&lt;a href="http://insideflag.blogspot.com/2009/09/hp-2133ubuntu8043.html"&gt;HP 2133上で使っているUbuntuが8.04.3になっていた&lt;/a&gt;」の続き。&lt;/p&gt;

&lt;p&gt;HP 2133+Ubuntuで使っている&lt;a href="http://linux.via.com.tw/support/downloadFiles.action"&gt;VIAのビデオドライバ&lt;/a&gt;がアップデートしてないかと思ってチェックしてみたけど、やっぱりしてなかったのでなんとなく&lt;a href="http://www.openchrome.org/"&gt;openChrome&lt;/a&gt;をインストールしてみた。openChromeはVIAのグラフィックチップセットであるUniChrome, UniChrome Pro, Chrome9に対応しているフリーでオープンなビデオドライバ。&lt;/p&gt;

&lt;p&gt;Ubuntu 8.04以降では、xserver-xorg-video-openchromeというパッケージが用意されているのでインストールは簡単で&lt;/p&gt;
&lt;blockquote&gt;&lt;pre&gt;
% sudo apt-get install xserver-xorg-video-openchrome
&lt;/pre&gt;&lt;/blockquote&gt;
&lt;p&gt;とするだけ。&lt;/p&gt;

&lt;p&gt;でも例によってパッケージのバージョンは古いので、ソースから新しいのをインストールすることにした。&lt;a href="http://openchrome.org/releases/"&gt;http://openchrome.org/releases/&lt;/a&gt;から一番新しいものをダウンロードして解凍後、&lt;/p&gt;
&lt;blockquote&gt;&lt;pre&gt;
% ./configure --prefix=/usr
% makel
% sudo make install
&lt;/pre&gt;&lt;/blockquote&gt;
&lt;p&gt;とすればインストールは完了。&lt;/p&gt;

&lt;p&gt;次に&lt;em&gt;/etc/X11/xorg.conf&lt;/em&gt;をエディタで開いて、DeviceセクションにあるDriverの値を&lt;q&gt;openchrome&lt;/q&gt;に変更し、Xを再起動する。&lt;/p&gt;
&lt;blockquote&gt;&lt;pre&gt;
--- /etc/X11/xorg.conf~ 2009-01-08 20:35:24.000000000 +0900
+++ /etc/X11/xorg.conf  2009-10-17 18:27:13.000000000 +0900
@@ -141,7 +141,7 @@

 Section "Device"
   BoardName    "Framebuffer Graphics"
-  Driver       "via"
+  Driver       "openchrome"
   Identifier   "Device[0]"
   Screen       0
   VendorName   "VIA Technolog
&lt;/pre&gt;&lt;/blockquote&gt;

&lt;p&gt;実際に使用してみて特に描画が速くなったりということはなかったのだけど、サスペンド/ハイバネーションの復帰で失敗することがなくなったので、とりあえずopenChromeを使い続けていこうと思う。&lt;/p&gt;

&lt;p&gt;ちなみに、openChromeでは3Dアクセラレーションは無効になるけど、代わりにいろいろな問題が解消されたりフリーズしなくなったりするとのこと。3DアクセラレーションはVIAが情報を公開してくれないため実装できないそう。&lt;/p&gt;

&lt;h4&gt;参考&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://help.ubuntu.com/community/OpenChrome"&gt;OpenChrome - Community Ubuntu Documentation&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3966127164017981232-318005397556239583?l=insideflag.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3966127164017981232/posts/default/318005397556239583'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3966127164017981232/posts/default/318005397556239583'/><link rel='alternate' type='text/html' href='http://insideflag.blogspot.com/2009/10/hp-2133ubuntu-804openchrome.html' title='HP 2133+Ubuntu 8.04でopenChromeをインストールした'/><author><name>a</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-3966127164017981232.post-6326966081304582768</id><published>2009-10-15T22:39:00.004+09:00</published><updated>2011-08-16T05:52:50.814+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='HP 2133'/><category scheme='http://www.blogger.com/atom/ns#' term='Ubuntu'/><title type='text'>PulseAudioを削除したら動画の再生が軽くなった</title><content type='html'>&lt;p&gt;「&lt;a href="http://insideflag.blogspot.com/2009/09/hp-2133ubuntu8043.html"&gt;HP 2133上で使っているUbuntuが8.04.3になっていた&lt;/a&gt;」の続き。&lt;/p&gt;

&lt;p&gt;8.04.3になったからといって動画の再生が軽くなったりはしなかったのだけど、いろいろ調べてみるとPulseAudioが重いことがわかった。PulseAudioは8.04から標準になったサウンドシステムなのだけど、これを削除してALSAを使うことにした。&lt;/p&gt;
&lt;blockquote&gt;&lt;pre&gt;
% dpkg -l "*pulseaudio*"
&lt;/pre&gt;&lt;/blockquote&gt;
&lt;p&gt;で表示されるインストール済みパッケージをすべて削除する。&lt;/p&gt;
&lt;blockquote&gt;&lt;pre&gt;
% sudo apt-get purge pulseaudio pulseaudio-esound-compat pulseaudio-module-gconf pulseaudio-module-hal pulseaudio-module-x11 pulseaudio-utils gstreamer0.10-pulseaudio
&lt;/pre&gt;&lt;/blockquote&gt;
&lt;p&gt;次に、[システム]-[設定]-[サウンド]ですべて&lt;q&gt;ALSA - Advanced Linux Sound Architecture&lt;/q&gt;を選択する。そしたらあとは再起動するだけ。&lt;/p&gt;

&lt;p&gt;PulseAudioを消すとログイン音が鳴らなくなるらしいのだけど、esoundをインストールすれば大丈夫らしい。自分は効果音の類はすべて鳴らないようにしているので関係ないけど。&lt;/p&gt;

&lt;p&gt;実際に削除してみて劇的に軽くなった、というわけではないのだけど、だいぶよくなった気がする。&lt;/p&gt;

&lt;h4&gt;参考&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://d.hatena.ne.jp/itiri/20080502/1209727880"&gt;Ubuntu 8.04のPulseAudioを無効にする - Sickly Life はてな版&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3966127164017981232-6326966081304582768?l=insideflag.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3966127164017981232/posts/default/6326966081304582768'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3966127164017981232/posts/default/6326966081304582768'/><link rel='alternate' type='text/html' href='http://insideflag.blogspot.com/2009/10/pulseaudio.html' title='PulseAudioを削除したら動画の再生が軽くなった'/><author><name>a</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-3966127164017981232.post-5644352927348754792</id><published>2009-09-24T14:01:00.009+09:00</published><updated>2010-08-27T03:37:40.479+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='HP 2133'/><category scheme='http://www.blogger.com/atom/ns#' term='Ubuntu'/><title type='text'>HP 2133上で使っているUbuntuが8.04.3になっていた</title><content type='html'>&lt;p&gt;ふと気づいたのだけど、GRUBのメニューに表示されるUbuntuのバージョンが&lt;blockquote&gt;&lt;p&gt;Ubuntu 8.04.3 LTS, kernel 2.6.24-24-generic&lt;/p&gt;&lt;/blockquote&gt;になっていた。&lt;a href="http://insideflag.blogspot.com/2009/02/ubuntu-on-hp-2133-mini.html"&gt;インストールしたとき&lt;/a&gt;は8.04.1だったので、8.04.2になっている期間もあったはずなのだけど、まったく気づかなかった。まあ、それはいいとして何か改善されていることはないかすこし試してみた。&lt;/p&gt;

&lt;h4&gt;サスペンドとハイバネーションが使えるようになった&lt;/h4&gt;
&lt;p&gt;以前はサスペンド/ハイバネーションの復帰に失敗していたのだけど、ちゃんと戻ってくるようになった。ただ、復帰後画面の表示がスクロールなどで激しく乱れるようになってしまう場合もあって、そうなったら再起動するしかない。だけど、失敗する確率は決して高くはないので、シャットダウンの代わりにとりあえずハイバネーションしておこうという気にはなる。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;（追記）&lt;/strong&gt;&lt;a href="http://insideflag.blogspot.com/2009/10/hp-2133ubuntu-804openchrome.html"&gt;openChromeをインストールしたら失敗しなくなった。&lt;/a&gt;&lt;/p&gt;

&lt;h4&gt;F-SpotフォトマネージャはSIGABRT&lt;/h4&gt;
&lt;p&gt;F-Spotフォトマネージャは相変わらずSIGABRTで起動できない。9.04とかでは直っているらしいのだけど、起動もしないものを残しておいても仕方ないので削除した。&lt;/p&gt;
&lt;blockquote&gt;&lt;pre&gt;
% sudo apt-get purge f-spot
&lt;/pre&gt;&lt;/blockquote&gt;

&lt;h4&gt;無線LANがデフォルトで動作するように&lt;/h4&gt;
&lt;p&gt;日本語Remix版の8.04.2以降では、デフォルトで無線LANが使用可能になったらしい。すでにインストールしてある自分には関係ないのだけど、これから新しくインストールする人にはうれしいと思う。&lt;p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://d.hatena.ne.jp/MIZUNO/20090214/1234590494"&gt;BCM4312 - May the Source be with you&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;動画の再生はやっぱり遅いまま&lt;/h4&gt;
&lt;p&gt;残念ながら動画の再生が軽くなったりはしなかった。これを機に高速化する方法がないか探ってみたい。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;（追記）&lt;/strong&gt;&lt;a href="http://insideflag.blogspot.com/2009/10/pulseaudio.html"&gt;PulseAudioを削除したら少し軽くなった。&lt;/a&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3966127164017981232-5644352927348754792?l=insideflag.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3966127164017981232/posts/default/5644352927348754792'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3966127164017981232/posts/default/5644352927348754792'/><link rel='alternate' type='text/html' href='http://insideflag.blogspot.com/2009/09/hp-2133ubuntu8043.html' title='HP 2133上で使っているUbuntuが8.04.3になっていた'/><author><name>a</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-3966127164017981232.post-8579144859704111492</id><published>2009-08-29T13:24:00.019+09:00</published><updated>2011-08-17T17:49:28.561+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='クライミング'/><title type='text'>クライマーズ・ボディ</title><content type='html'>&lt;p&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.amazon.co.jp/exec/obidos/ASIN/4808308355/burningdownth-22/ref=nosim"&gt;&lt;img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 113px; height: 160px;" src="http://images.amazon.com/images/P/4808308355.09._OU09_SCMZZZZZZZ_.jpg" border="0" alt="" /&gt;&lt;/a&gt;このブログでも何度か参考文献として登場している「&lt;a href="http://www.amazon.co.jp/exec/obidos/ASIN/4808308355/burningdownth-22/ref=nosim" target="_blank"&gt;クライマーズ・ボディ&lt;/a&gt;」。ちょっと読み返す機会があったので改めて紹介してみようと思う。&lt;/p&gt;

&lt;p&gt;この本は&lt;strong&gt;クライミングのフィジカル面についてのみ言及していて&lt;/strong&gt;、ムーブの解説やギアの使い方などは一切出てこない。&lt;strong&gt;ただひたすら、様々な角度から強くなるための手段、方法について解説されている。&lt;/strong&gt;&lt;/p&gt;

&lt;p style="clear:both"&gt;ちなみに、帯には&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;
全てのフリークライマーのためのフィジカル・バイブル&lt;br /&gt;
上手くなるためのトレーニング、長く続けるためのボディケア、をともに経験豊富なクライマーであるインストラクターと整形外科医が豊富な図版、最新の理論を駆使してわかりやすく解説
&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;と書いてある。&lt;/p&gt;

&lt;p&gt;自分が購入したきっかけは、効率的なトレーニングの方法が知りたかったというのもあったのだけど、手首を痛めてそれがなかなか直らなかったためだった。後述するが第3部はクライミングで起こりうる障害について述べられていて、クライマーズ・ボディを読んでそれがTFCC障害だということがわかった。さらに二割ぐらいの人が先天的にこの障害を起こしやすいことも知り、それ以来手首には気をつかうようになった。&lt;/p&gt;

&lt;p&gt;で、肝心の中身なのだけど、まずは平山ユージさんのインタビューからはじまる。このインタビューもトレーニングやボディケアの話題が豊富な、一般クライマーにも参考になりそうなもので興味深い。&lt;/p&gt;

&lt;p&gt;第1部は、筋肉や運動神経の仕組み、一般的なトレーニング理論などについて。最初から難しくて気持ちがパキりそうになる。書かれていることはスポーツ科学の基礎なのだろうけど、そっち系の本を読んだことがないならとても勉強になる（なった）。&lt;/p&gt;

&lt;p&gt;第2部は第1部の内容をクライミングというスポーツに当てはめて、クライミングのためのトレーニング方法（広い意味での）について述べられている。フィジカルトレーニングについてもページが割かれているのだけど、それよりも運動神経系を正しく発達させること、テクニックの習得を先行させることが大事だと繰り返し述べられている。また、コンディショニングやサプリメントについても触れらている。&lt;/p&gt;

&lt;p&gt;第3部は、クライマーでもあり整形外科医でもある前之園多幸先生によって、怪我とそのケアについて書かれている。クライミングに特化した内容で部位別、症状別に予防法、対処法が述べられている。怪我をしないことこそが強くなる近道だとよく言われるけど、そういう意味でもとても重要なパートだと思う。&lt;/p&gt;

&lt;p&gt;本書は、すでにある程度強いクライマーに有益なのはもちろんなのだけど、はじめたばかりの、でも強くなりたいモチベーションの高いクライマーも読むべきではないかと思う。そういった人ほど、懸垂などあまり意味のない筋力トレーニングをしたがったり、自分の最高グレードにこだわってムーブは上達しない、ということになりがちなようなので。&lt;/p&gt;

&lt;p&gt;最後に運動神経系の発達がなぜ大事なのかを示すパートを引用する。&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;
筋肉を鍛えてから神経系を鍛えるよりも、先に神経系を鍛える（動きを学習する）方が良いとされている。それは、動きの協調性を欠いた筋力トレーニングでは神経系が別個に発達するためその後のフォローがたいへんだが、先に正しい運動回路が構築されればその動きに従って必要な筋肉は自然に発達していくからである。&lt;/p&gt;
&lt;p style="color:#666666;text-align:right;font-style:italic;"&gt;&lt;cite&gt;p.42&lt;/cite&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;では、どういったトレーニングをすればいいのか、は実際に手に取って読んでみてください。&lt;/p&gt;

&lt;div class="amazon-item-box" style="display: block; padding: 0; border: 1px solid  #999; margin: 8px;  -moz-border-radius: 10px;"&gt;&lt;div class="amazon-item-image" style="display: block; padding: 10px; float: left;"&gt;&lt;a href="http://www.amazon.co.jp/exec/obidos/ASIN/4808308355/burningdownth-22/ref=nosim" target="_blank"&gt;&lt;img src="http://ecx.images-amazon.com/images/I/51QC23BJANL._SL75_.jpg" alt="クライマーズ・ボディ" title="クライマーズ・ボディ" style="border: none; display: inline; vertical-align: bottom;" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;dl class="amazon-item-info" style="display: block; margin-left: 10px; padding: 0 8px 0 10px; font-size: 10pt; line-height: 110%;"&gt;&lt;dt class="amazon-item-name" style="display: block; margin-bottom: 5px; line-height: 120%;"&gt;&lt;a href="http://www.amazon.co.jp/exec/obidos/ASIN/4808308355/burningdownth-22/ref=nosim" target="_blank" title="クライマーズ・ボディ"&gt;クライマーズ・ボディ&lt;/a&gt;&lt;/dt&gt;&lt;dd&gt;&lt;ul class="amazon-item-info-list" style="list-style-type: none; padding-left: 0px; line-height: 120%;"&gt;&lt;li&gt;発売元: 東京新聞出版局&lt;/li&gt;&lt;li&gt;価格: ￥ 1,785&lt;/li&gt;&lt;li&gt;発売日: 2005/06&lt;/li&gt;&lt;/ul&gt;&lt;/dd&gt;&lt;/dl&gt;&lt;p class="amazon-item-footer" style="clear: left; text-align: right; font-size: x-small; padding: 4px 10px 4px 10px; line-height: 100%;"&gt;posted with &lt;a href="http://socialtunes.net"&gt;Socialtunes&lt;/a&gt;&lt;/p&gt;&lt;/div&gt;

&lt;h4&gt;補足&lt;/h4&gt;
&lt;p&gt;前半を執筆された菊池敏之氏による&lt;a href="http://powernavi.erde.co.jp/lecture/kikuchi2008/kikuchi01.html"&gt;クライマーズ・ボディの造り方という講演&lt;/a&gt;が開催されたようで、講演内容のダイジェストが公開されている。これは&lt;a href="http://powernavi.erde.co.jp/"&gt;PowerNavi&lt;/a&gt;というBCAAサプリメントの発売1周年記念として開催されたようだ。&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3966127164017981232-8579144859704111492?l=insideflag.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3966127164017981232/posts/default/8579144859704111492'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3966127164017981232/posts/default/8579144859704111492'/><link rel='alternate' type='text/html' href='http://insideflag.blogspot.com/2009/08/blog-post_29.html' title='クライマーズ・ボディ'/><author><name>a</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-3966127164017981232.post-9143408197280630101</id><published>2009-08-21T14:05:00.020+09:00</published><updated>2011-08-16T06:29:11.643+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='クライミング'/><title type='text'>二本指ポケットは人差し指でも薬指でも持てるようにするべき</title><content type='html'>&lt;p&gt;二本指ポケットは人差し指・中指と中指・薬指のどちらでも持てるようにしたほうがいい、とジムでときどきお会いする激強な人から言われた。自分は人差し指・中指派なのだけど、周りを見ていると中指・薬指派のほうがかなり多いような気がする。トップクライマーも中指・薬指が多いようだ。その一方で、「&lt;a href="http://www.amazon.co.jp/exec/obidos/ASIN/4635043274/burningdownth-22/ref=nosim" target="_blank"&gt;フリークライミング (ヤマケイ・テクニカルブック 登山技術全書)&lt;/a&gt;」には、薬指は弱い指で痛めやすいのでなるべく人差し指を使うように書いてある。&lt;/p&gt;
&lt;div class="amazon-item-box" style="display: block; padding: 0; border: 1px solid  #999; margin: 8px;  -moz-border-radius: 10px;"&gt;&lt;div class="amazon-item-image" style="display: block; padding: 10px; float: left;"&gt;&lt;a href="http://www.amazon.co.jp/exec/obidos/ASIN/4635043274/burningdownth-22/ref=nosim" target="_blank"&gt;&lt;img src="http://ecx.images-amazon.com/images/I/51dGGtL6sCL._SL75_.jpg" alt="フリークライミング (ヤマケイ・テクニカルブック 登山技術全書)" title="フリークライミング (ヤマケイ・テクニカルブック 登山技術全書)" style="border: none; display: inline; vertical-align: bottom;" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;dl class="amazon-item-info" style="display: block; margin-left: 10px; padding: 0 8px 0 10px; font-size: 10pt; line-height: 110%;"&gt;&lt;dt class="amazon-item-name" style="display: block; margin-bottom: 5px; line-height: 120%;"&gt;&lt;a href="http://www.amazon.co.jp/exec/obidos/ASIN/4635043274/burningdownth-22/ref=nosim" target="_blank" title="フリークライミング (ヤマケイ・テクニカルブック 登山技術全書)"&gt;フリークライミング (ヤマケイ・テクニカルブック 登山技術全書)&lt;/a&gt;&lt;/dt&gt;&lt;dd&gt;&lt;ul class="amazon-item-info-list" style="list-style-type: none; padding-left: 0px; line-height: 120%;"&gt;&lt;li&gt;発売元: 山と溪谷社&lt;/li&gt;&lt;li&gt;価格: ￥ 1,890&lt;/li&gt;&lt;li&gt;発売日: 2005/05/01&lt;/li&gt;&lt;/ul&gt;&lt;/dd&gt;&lt;/dl&gt;&lt;p class="amazon-item-footer" style="clear: left; text-align: right; font-size: x-small; padding: 4px 10px 4px 10px; line-height: 100%"&gt;posted with &lt;a href="http://socialtunes.net"&gt;Socialtunes&lt;/a&gt;&lt;/p&gt;&lt;/div&gt;

&lt;p&gt;総合的にどちらがいいのかはわからないけど、ポケットの向きや次のホールドの位置によって、人差し指・中指のほうが次の一手を出しやすい場合もあるし、中指・薬指のほうがいい場合もある。実際に、そのゲキツヨ氏はジムの課題に打ち込んでいるとき、その課題ではどちらで保持するほうがいいのか検証していたことがある。&lt;/p&gt;

&lt;p&gt;ということで、数ヶ月前から中指・薬指も鍛えているのだけど、人差し指・中指と同じレベルまで持っていくのはかなり難しい。だいぶ強くなってきてはいるのだけど、自分の限界グレードの課題をやっているときはどうしても慣れているほうを使ってしまうので、易しめのポケット課題で鍛えるしかないっぽい。ついサボりがちになってしまうのだけど、引き続きちょっとずつでもやっていこうと思う。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;（追記）&lt;/strong&gt;二本指ポケットで普段使わないほうの指を鍛えるのは、ポケット以外のホールドでも大いに役に立つはず。特に自分は三本でのオープンハンドを多用するため、薬指がきっちり仕事をしてくれないと全体での保持力がかなり弱くなってしまう。&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3966127164017981232-9143408197280630101?l=insideflag.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3966127164017981232/posts/default/9143408197280630101'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3966127164017981232/posts/default/9143408197280630101'/><link rel='alternate' type='text/html' href='http://insideflag.blogspot.com/2009/08/blog-post.html' title='二本指ポケットは人差し指でも薬指でも持てるようにするべき'/><author><name>a</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-3966127164017981232.post-6238871351287194755</id><published>2009-08-12T17:49:00.009+09:00</published><updated>2011-08-16T05:49:05.162+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Ubuntu'/><title type='text'>w3m Tips</title><content type='html'>&lt;p&gt;今さらだけど自分が使っているw3mのTipsをまとめてみた。&lt;/p&gt;

&lt;h4&gt;ローカルCGIを利用して直接Googleで検索する&lt;/h4&gt;
&lt;p&gt;ローカルCGIは一言で言うと、w3mがHTTPサーバなしでCGIを動かす機能のこと。CGIの中からw3mのコマンドを実行することができるため、w3mの機能を拡張することができる。&lt;/p&gt;

&lt;p&gt;ここでは、&lt;q&gt;&lt;code&gt;U&lt;/code&gt;&lt;/q&gt;を押して、URLの代わりに&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;g:クライミング&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;と入力してGoogleで&lt;q&gt;クライミング&lt;/q&gt;を検索できるようにしてみる。実はそのためのCGIスクリプトはすでにw3mのソースに含まれている。Bonusディレクトリにあるgoogle.cgiがそれなので、ローカルCGIとして実行できるようにするため&lt;em&gt;/usr/lib/w3m/cgi-bin/&lt;/em&gt;（Ubuntuの場合）にコピーする。&lt;/p&gt;
&lt;blockquote&gt;&lt;pre&gt;
% sudo cp w3m-0.5.2/Bonus/google.cgi /usr/lib/w3m/cgi-bin/
&lt;/pre&gt;&lt;/blockquote&gt;
&lt;p&gt;このままだとUTF-8環境では文字化けしてしまうので、クエリー文字列のエンコーディングの部分を変更する。&lt;/p&gt;
&lt;blockquote&gt;&lt;pre&gt;
--- -   2009-08-12 16:49:36.610243896 +0900
+++ /usr/lib/w3m/cgi-bin/google.cgi     2009-08-12 16:13:41.000000000 +0900
@@ -14 +14 @@
-       $url .= "search?q=$_&amp;hl=ja&amp;lr=lang_ja&amp;ie=EUC-JP";
+       $url .= "search?q=$_&amp;hl=ja&amp;lr=lang_ja&amp;ie=UTF-8";
&lt;/pre&gt;&lt;/blockquote&gt;
&lt;p&gt;この時点で、URLに&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;file:///$LIB/google.cgi?クライミング&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;と入力すればGoogleで&lt;q&gt;クライミング&lt;/q&gt;の検索結果が表示される。&lt;/p&gt;

&lt;p&gt;次に&lt;em&gt;~/.w3m/urimethodmap&lt;/em&gt;に下記を追加。&lt;/p&gt;
&lt;blockquote&gt;&lt;pre&gt;
g:      file:///$LIB/google.cgi?%s
google: file:///$LIB/google.cgi?%s
&lt;/pre&gt;&lt;/blockquote&gt;
&lt;p&gt;&lt;q&gt;$LIB&lt;/q&gt;は上述した&lt;em&gt;/usr/lib/w3m/cgi-bin/&lt;/em&gt;に置き換えられる。&lt;q&gt;%s&lt;/q&gt;は&lt;q&gt;g:&lt;/q&gt;のあとに続く文字列が入る。これで、
&lt;blockquote&gt;&lt;p&gt;g:クライミング&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;が動くようになった。&lt;/p&gt;

&lt;h4&gt;辞書検索を便利に&lt;/h4&gt;
&lt;p&gt;w3mでは&lt;code&gt;ESC-w&lt;/code&gt;で入力した単語の辞書検索、&lt;code&gt;ESC-W&lt;/code&gt;でカーソル位置の単語の辞書検索ができる。ただし、辞書引き用のコマンドは自分で用意しないとならない。ここでは、&lt;a href="http://www.alc.co.jp/"&gt;スペースアルク&lt;/a&gt;の提供する英辞朗 on the WEBの検索結果へ移動するようにしてみる。&lt;/p&gt;

&lt;p&gt;まずは&lt;em&gt;/usr/lib/w3m/cgi-bin/&lt;/em&gt;にw3mdict.cgiというファイルを作り、実行権限を付ける。&lt;/p&gt;
&lt;blockquote&gt;&lt;pre&gt;
#!/bin/sh

cat &amp;lt;&amp;lt;EOF
w3m-control: GOTO http://eow.alc.co.jp/$QUERY_STRING/UTF-8/
w3m-control: DELETE_PREVBUF
EOF
&lt;/pre&gt;&lt;/blockquote&gt;
&lt;blockquote&gt;&lt;pre&gt;
% chmod +x /usr/lib/w3m/cgi-bin/w3mdict.cgi
&lt;/pre&gt;&lt;/blockquote&gt;
&lt;p&gt;次はw3mの設定画面を表示し、&lt;q&gt;辞書引きをCGI経由でおこなう&lt;/q&gt;を&lt;code&gt;YES&lt;/code&gt;にする。これだけで完了。ちなみに、&lt;code&gt;ESC-W&lt;/code&gt;でカーソル位置の単語を検索する場合は英単語しか検索できないようだ。&lt;/p&gt;

&lt;h4&gt;自動ベーシック認証&lt;/h4&gt;
&lt;p&gt;&lt;em&gt;~/.w3m/passwd&lt;/em&gt;に次の内容を追加する。&lt;/p&gt;
&lt;blockquote&gt;&lt;pre&gt;
machine &lt;ホスト名&gt;
port &lt;ポート番号&gt;
realm &lt;"Username for ***"の"***"の部分&gt;
path &lt;ローカルパート&gt;
login &lt;ユーザー名&gt;
passwd &lt;パスワード&gt;
&lt;/pre&gt;&lt;/blockquote&gt;
&lt;p&gt;portとpathは省略可能。また、realmには対象のWebページにアクセスしたときに表示される&lt;q&gt;Username for ***&lt;/q&gt;の&lt;q&gt;***&lt;/q&gt;の部分を指定する。また、passwdファイルのパーミッションは600にする必要がある。&lt;/p&gt;
&lt;blockquote&gt;&lt;pre&gt;
% chmod 600 ~/.w3m/passwd
&lt;/pre&gt;&lt;/blockquote&gt;

&lt;h4&gt;ttp://をhttp://と解釈する&lt;/h4&gt;
&lt;p&gt;&lt;em&gt;~/.w3m/urimethodmap&lt;/em&gt;に追加。&lt;/p&gt;
&lt;blockquote&gt;&lt;pre&gt;
ttp:    h%s
tp:     ht%s
&lt;/pre&gt;&lt;/blockquote&gt;
&lt;p&gt;&lt;q&gt;&lt;code&gt;:&lt;/code&gt;&lt;/q&gt;とあわせて使うと便利だけど、リンク先に移動してもURLはttp://...のままなので、そのページからさらに相対リンクで移動することはできない。そのときは&lt;q&gt;&lt;code&gt;U&lt;/code&gt;&lt;/q&gt;を押し、先頭に&lt;q&gt;h&lt;/q&gt;を追加して読み直せばOK.&lt;/p&gt;

&lt;h4&gt;GNU Screenと連携してコピー&amp;ペースト&lt;/h4&gt;
&lt;p&gt;w3mのオプションで&lt;q&gt;外部ブラウザに&lt;/q&gt;&lt;/p&gt;
&lt;blockquote&gt;&lt;pre&gt;
screen -X register .
&lt;/pre&gt;&lt;/blockquote&gt;
&lt;p&gt;を設定しておくと、&lt;code&gt;M&lt;/code&gt;や&lt;code&gt;ESC-M&lt;/code&gt;でそれぞれ現在表示しているページのURL、リンク先のURLがScreenのレジスタにコピーされる。ペーストはいつもの&lt;code&gt;^A]&lt;/code&gt;でできる。&lt;/p&gt;

&lt;p&gt;詳しくは元ネタである「&lt;a href="http://risky-safety.org/zinnia/screen/contribute1/"&gt;Screenを使う (Linux Japan 2002年1月号掲載記事原稿)&lt;/a&gt;」を参照。ありがたいことに原稿と掲載記事のPDFが公開されている。&lt;/p&gt;

&lt;h4&gt;その他&lt;/h4&gt;
&lt;p&gt;C/Migemoのインストール、設定については「&lt;a href="http://insideflag.blogspot.com/2009/03/migemo.html"&gt;Migemoのインストール&lt;/a&gt;」にまとめてある。UTF-8環境で表示が乱れる問題については、なんにも解決しなかったけど、「&lt;a href="http://insideflag.blogspot.com/2009/03/utf-8.html"&gt;UTF-8環境と曖昧な文字幅&lt;/a&gt;」を参照。&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3966127164017981232-6238871351287194755?l=insideflag.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3966127164017981232/posts/default/6238871351287194755'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3966127164017981232/posts/default/6238871351287194755'/><link rel='alternate' type='text/html' href='http://insideflag.blogspot.com/2009/08/w3m-tips.html' title='w3m Tips'/><author><name>a</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-3966127164017981232.post-6676776313205560287</id><published>2009-08-03T16:20:00.009+09:00</published><updated>2011-09-27T08:05:22.128+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='iPhone/iPod Touch'/><title type='text'>autoreleaseされたオブジェクトが解放されるタイミングについて</title><content type='html'>&lt;p&gt;リファレンスカウントをさらにお手軽に使えるようにした&lt;code&gt;autorelease&lt;/code&gt;の仕組みは、メモリ管理の手間を大幅に減らしてくれるとても便利なものだけど、あまり使いすぎると&lt;code&gt;NSAutoreleasePool&lt;/code&gt;に解放待ちのオブジェクトがたまってメモリを圧迫してしまう。と、思っていて&lt;code&gt;init&lt;/code&gt;/&lt;code&gt;release&lt;/code&gt;を使うようにしていたのだけど、Application KitやUIKitの場合はそうではないようだ。&lt;/p&gt;

&lt;p&gt;&lt;a href="http://developer.apple.com/iphone/library/documentation/Cocoa/Reference/Foundation/Classes/NSAutoreleasePool_Class/Reference/Reference.html"&gt;NSAutoreleasePool Class Reference&lt;/a&gt;によると、メインスレッドでイベントループの最初に&lt;code&gt;NSAutoreleasePool&lt;/code&gt;が作られ、イベントループの最後に&lt;code&gt;release&lt;/code&gt;が送られるということらしい。なので&lt;strong&gt;イベントループが一周するごとに&lt;code&gt;autorelease&lt;/code&gt;されたオブジェクトは解放される&lt;/strong&gt;ことになる。XCodeのテンプレートだと、&lt;code&gt;main&lt;/code&gt;関数の最初に&lt;code&gt;NSAutoreleasePool&lt;/code&gt;を作って最後に&lt;code&gt;release&lt;/code&gt;していたので、&lt;code&gt;autorelease&lt;/code&gt;されたオブジェクトはプログラムの終了時まで解放されないと勘違いしていた。&lt;/p&gt;

&lt;p&gt;今書いているプログラムで、&lt;code&gt;autorelease&lt;/code&gt;されたオブジェクトがいつの間にか解放されているという現象にあって調べてみたのだけど、原因はこれだった。現在のイベント処理が終わると解放されてしまうので、この場合はさらに&lt;code&gt;retain&lt;/code&gt;を送る必要がある。&lt;/p&gt;
&lt;blockquote&gt;&lt;pre&gt;
- (void)concatAndStoreString:(NSString*)a withString:(NSString*)b
{
    instanceVariable = [[a stringByAppendingString:b] retain];
}
- (void)dealloc
{
    [instanceVariable release];
    [super dealloc];
}
&lt;/pre&gt;&lt;/blockquote&gt;

&lt;p&gt;ということで、作ったオブジェクトを&lt;code&gt;autorelease&lt;/code&gt;したり、&lt;code&gt;autorelease&lt;/code&gt;されたオブジェクトを返すメソッドを呼んだりしてもメモリについてはそんなに気にしなくていい。ただし、ループなどで&lt;code&gt;autorelease&lt;/code&gt;されたテンポラリオブジェクトが大量に作られる場合は、自分で&lt;code&gt;NSAutoreleasePool&lt;/code&gt;を用意し解放するようにしたほうがいい。&lt;/p&gt;
&lt;blockquote&gt;&lt;pre&gt;
while (/* ... */) {
    NSAutoreleasePool* pool = [[NSAutoreleasePool alloc] init];
    
    /* autoreleaseされたテンポラリオブジェクトを大量に作る */
    
    [pool release]
}
&lt;/pre&gt;&lt;/blockquote&gt;

&lt;h4&gt;参考&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://developer.apple.com/iphone/library/documentation/Cocoa/Conceptual/MemoryMgmt/Articles/mmAutoreleasePools.html"&gt;Memory Management Programming Guide for Cocoa: Autorelease Pools&lt;/a&gt;（アップルのドキュメント。NSAutoreleasePoolについて詳しく解説されている）&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="amazon-item-box" style="display: block; padding: 0; border: 1px solid  #999; margin: 8px;  -moz-border-radius: 10px;"&gt;&lt;div class="amazon-item-image" style="display: block; padding: 10px; float: left;"&gt;&lt;a href="http://www.amazon.co.jp/exec/obidos/ASIN/4797361786/burningdownth-22/ref=nosim" target="_blank"&gt;&lt;img src="http://ecx.images-amazon.com/images/I/41aYUviRN3L._SL75_.jpg" alt="詳解 Objective-C 2.0 改訂版" title="詳解 Objective-C 2.0 改訂版" style="border: none; display: inline; vertical-align: bottom;" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;dl class="amazon-item-info" style="display: block; margin-left: 10px; padding: 0 8px 0 10px; font-size: 10pt; line-height: 110%;"&gt;&lt;dt class="amazon-item-name" style="display: block; margin-bottom: 5px; line-height: 120%;"&gt;&lt;a href="http://www.amazon.co.jp/exec/obidos/ASIN/4797361786/burningdownth-22/ref=nosim" target="_blank" title="詳解 Objective-C 2.0 改訂版"&gt;詳解 Objective-C 2.0 改訂版&lt;/a&gt;&lt;/dt&gt;&lt;dd&gt;&lt;ul class="amazon-item-info-list" style="list-style-type: none; padding-left: 0px; line-height: 120%;"&gt;&lt;li&gt;発売元: ソフトバンククリエイティブ&lt;/li&gt;&lt;li&gt;価格: ￥ 3,990&lt;/li&gt;&lt;li&gt;発売日: 2010/12/17&lt;/li&gt;&lt;/ul&gt;&lt;/dd&gt;&lt;/dl&gt;&lt;p class="amazon-item-footer" style="clear: left; text-align: right; font-size: x-small; padding: 4px 10px 4px 10px; line-height: 100%;"&gt;posted with &lt;a href="http://socialtunes.net"&gt;Socialtunes&lt;/a&gt;&lt;/p&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3966127164017981232-6676776313205560287?l=insideflag.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3966127164017981232/posts/default/6676776313205560287'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3966127164017981232/posts/default/6676776313205560287'/><link rel='alternate' type='text/html' href='http://insideflag.blogspot.com/2009/08/autorelease.html' title='autoreleaseされたオブジェクトが解放されるタイミングについて'/><author><name>a</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-3966127164017981232.post-8288607811052385369</id><published>2009-07-24T19:22:00.014+09:00</published><updated>2010-08-27T16:31:17.576+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Ubuntu'/><title type='text'>emacs-w3mのキーバインディングをw3mっぽくしたい</title><content type='html'>&lt;p&gt;&lt;a href="http://emacs-w3m.namazu.org/index-ja.html"&gt;emacs-w3m&lt;/a&gt;はEmacs上で動作するテキストブラウザで、レンダリングエンジンにw3mを使っている。&lt;/p&gt;

&lt;p&gt;Emacsでソースを書きながらリファレンスを参照するのに便利なので愛用しているのだけど、w3mを昔から使ってきたため独特のキーバインディングにどうしても馴染めなかった。なので自分はemacs-w3mのキーバインディングをw3mっぽく設定して使っている。&lt;/p&gt;

&lt;p style="clear:both"&gt;といっても、中身は完全に他力本願で、emacs-w3mのメーリングリストにあった次のポストを全面的に利用させてもらった。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://emacs-w3m.namazu.org/ml/msg05444.html"&gt;http://emacs-w3m.namazu.org/ml/msg05447.html&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://emacs-w3m.namazu.org/ml/msg05447.html"&gt;http://emacs-w3m.namazu.org/ml/msg05447.html&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;少しだけ変えてあるのだけど自分の&lt;em&gt;~/.emacs-w3m&lt;/em&gt;は次のとおり。このキーバインディングのおかげでemacs-w3mを快適に使えるようになった。&lt;/p&gt;
&lt;blockquote&gt;&lt;pre&gt;
;;
;; http://emacs-w3m.namazu.org/ml/msg05447.html
;;
(define-key w3m-mode-map "\C-@" 'set-mark-command) ; MARK
;;  (define-key w3m-mode-map "\C-a" 'beginning-of-line)
;;  (define-key w3m-mode-map "\C-b" 'backward-char)
;;  (define-key w3m-mode-map "\C-e" 'end-of-line)
;;  (define-key w3m-mode-map "\C-f" 'forward-char)
;;  (define-key w3m-mode-map "\C-g" 'what-line) ; LINE_INFO
(define-key w3m-mode-map "\C-h" 'w3m-db-history)
(define-key w3m-mode-map "\t" 'w3m-next-anchor)
(define-key w3m-mode-map "\C-j" 'w3m-view-this-url)
(define-key w3m-mode-map "\C-k" 'w3m-cookie)
;;  (define-key w3m-mode-map "\C-l" 'recenter)
(define-key w3m-mode-map "\C-m" 'w3m-view-this-url)
;;  (define-key w3m-mode-map "\C-n" 'next-line)
;;  (define-key w3m-mode-map "\C-p" 'previous-line)
;;  (define-key w3m-mode-map "\C-r" 'isearch-backward)
;;  (define-key w3m-mode-map "\C-s" 'isearch-forward)
(define-key w3m-mode-map "\C-u" 'w3m-previous-anchor)
;;  (define-key w3m-mode-map "\C-v" 'scroll-up)
;;  (define-key w3m-mode-map "\C-w" 'undefined)      ; WRAP_TOGGLE
(define-key w3m-mode-map "\C-z" 'w3m-close-window)

(define-key w3m-mode-map " " 'w3m-scroll-up-or-next-url)
(define-key w3m-mode-map "!" 'shell-command)
;;  (define-key w3m-mode-map "\"" 'undefined)        ; REG_MARK
;;  (define-key w3m-mode-map "#" 'undefined)         ; PIPE_SHELL
(define-key w3m-mode-map "$" 'end-of-line)
(define-key w3m-mode-map "," (lambda () (interactive) (w3m-scroll-right 1)))
(define-key w3m-mode-map "." (lambda () (interactive) (w3m-scroll-left 1)))
(define-key w3m-mode-map "/" 're-search-forward) ; SEARCH
;;  (define-key w3m-mode-map ":" 'undefined)         ; MARK_URL
;;  (define-key w3m-mode-map ";" 'undefined)         ; MARK_WORD
(define-key w3m-mode-map "&lt;" 'w3m-scroll-right)
(define-key w3m-mode-map "=" 'w3m-view-header)
(define-key w3m-mode-map "&gt;" 'w3m-scroll-left)
(define-key w3m-mode-map "?" 're-search-backward) ; SEARCH_BACK
;;  (define-key w3m-mode-map "@" 'undefined)         ; READ_SHELL
(define-key w3m-mode-map "B" 'w3m-view-previous-page)
(define-key w3m-mode-map "E" 'w3m-edit-this-url)
;;  (define-key w3m-mode-map "F" 'undefined)         ; FRAME
(define-key w3m-mode-map "G" 'end-of-buffer)
(define-key w3m-mode-map "H" 'describe-mode)
(define-key w3m-mode-map "I" 'w3m-view-image)
(define-key w3m-mode-map "J" (lambda () (interactive) (scroll-up 1)))
(define-key w3m-mode-map "K" (lambda () (interactive) (scroll-down 1)))
(define-key w3m-mode-map "M" 'w3m-view-url-with-external-browser)
(define-key w3m-mode-map "N" 're-search-backward) ; SEARCH_PREV
(define-key w3m-mode-map "Q" 'w3m-quit)
(define-key w3m-mode-map "R" 'w3m-reload-this-page)
;;  (define-key w3m-mode-map "S" 'undefined)         ; SAVE_SCREEN
(define-key w3m-mode-map "U" 'w3m-goto-url)
(define-key w3m-mode-map "V" 'w3m-find-file)
(define-key w3m-mode-map "W" 'backward-word)
(define-key w3m-mode-map "Z" 'w3m-horizontal-recenter)
(define-key w3m-mode-map "[" '(lambda () (interactive) (beginning-of-buffer)
                                (w3m-next-anchor)))
(define-key w3m-mode-map "]" '(lambda () (interactive) (end-of-buffer)
                                (w3m-previous-anchor)))
(define-key w3m-mode-map "^" '(lambda () (interactive) (beginning-of-buffer)
                                (w3m-next-anchor)))
(define-key w3m-mode-map "a" 'w3m-download-this-url)
(define-key w3m-mode-map "b" 'w3m-scroll-down-or-previous-url)
(define-key w3m-mode-map "c" 'w3m-print-current-url)
(define-key w3m-mode-map "g" 'beginning-of-buffer)
(define-key w3m-mode-map "h" 'backward-char)
;;  (define-key w3m-mode-map "i" 'undefined)         ; PEEK_IMG
(define-key w3m-mode-map "j" 'next-line)
(define-key w3m-mode-map "k" 'previous-line)
(define-key w3m-mode-map "l" 'forward-char)
(define-key w3m-mode-map "n" 're-search-forward) ; SEARCH_NEXT
(define-key w3m-mode-map "o" '(lambda () (interactive) (customize-group 'w3m)))
(define-key w3m-mode-map "q" 'w3m-close-window)
(define-key w3m-mode-map "s" 'w3m-switch-buffer)
(define-key w3m-mode-map "u" 'w3m-print-this-url)
(define-key w3m-mode-map "s" 'w3m-db-history)
(define-key w3m-mode-map "v" 'w3m-view-source)
(define-key w3m-mode-map "w" 'forward-word)
(define-key w3m-mode-map "z" 'recenter)

(define-key w3m-mode-map "\M-\t" 'w3m-previous-anchor)
(define-key w3m-mode-map "\C-\M-j" 'w3m-download-this-url)
(define-key w3m-mode-map "\C-\M-m" 'w3m-download-this-url)

;;  (define-key w3m-mode-map "\M-:" 'undefined)      ; MARK_MID
;;  (define-key w3m-mode-map "\M-&lt;" 'beginning-of-buffer)
;;  (define-key w3m-mode-map "\M-&gt;" 'end-of-buffer)
(define-key w3m-mode-map "\M-I" 'w3m-save-image)
;;  (define-key w3m-mode-map "\M-M" 'undefined)      ; EXTERN_LINK
;;  (define-key w3m-mode-map "\M-W" 'undefined)      ; DICT_WORD_AT
(define-key w3m-mode-map "\M-a" 'w3m-bookmark-add-current-url)
(define-key w3m-mode-map "\M-b" 'w3m-bookmark-view)
;;  (define-key w3m-mode-map "\M-e" 'undefined)      ; EDIT_SCREEN
(define-key w3m-mode-map "\M-g" 'goto-line)
;;  (define-key w3m-mode-map "\M-n" 'undefined)      ; NEXT_MARK
;;  (define-key w3m-mode-map "\M-p" 'undefined)      ; PREV_MARK
;;  (define-key w3m-mode-map "\M-s" 'undefined)      ; SAVE
(define-key w3m-mode-map "\M-u" 'w3m-goto-url) ; GOTO_RELATIVE
(define-key w3m-mode-map "\M-v" 'scroll-down)
;;  (define-key w3m-mode-map "\M-w" 'undefined)      ; DICT_WORD

(define-key w3m-mode-map [up] 'previous-line)
(define-key w3m-mode-map [down] 'next-line)
(define-key w3m-mode-map [right] 'forward-char)
(define-key w3m-mode-map [left] 'backward-char)

(define-key w3m-mode-map [home] 'beginning-of-buffer)
;;  (define-key w3m-mode-map [insertchar] 'undefined) ; MENU
(define-key w3m-mode-map [end] 'end-of-buffer)
(define-key w3m-mode-map [prior] 'scroll-up)
(define-key w3m-mode-map [next] 'scroll-down)

;;
;; http://emacs-w3m.namazu.org/ml/msg05444.html
;;
(define-key w3m-mode-map [up] 'previous-line)
(define-key w3m-mode-map [down] 'next-line)
(define-key w3m-mode-map [right] 'forward-char)
(define-key w3m-mode-map [left] 'backward-char)
(define-key w3m-mode-map "H" 'describe-mode)
(define-key w3m-mode-map "w" 'forward-word)
(define-key w3m-mode-map "W" 'backward-word)
(define-key w3m-mode-map "z" 'recenter)
(define-key w3m-mode-map "Z" 'w3m-horizontal-recenter)
(define-key w3m-mode-map "\C-t" 'w3m-view-this-url-new-session)
(require 'vi)
(define-key w3m-mode-map "/" 'vi-search-forward)
(define-key w3m-mode-map "?"  'vi-search-backward)
(define-key w3m-mode-map "n" 'vi-repeat-last-search)
(define-key w3m-mode-map "N" 'vi-reverse-last-search)
&lt;/pre&gt;&lt;/blockquote&gt;

&lt;p&gt;ちなみにUbuntuでは、emacs-w3mは&lt;/p&gt;
&lt;blockquote&gt;&lt;pre&gt;
% sudo apt-get install w3m-el
&lt;/pre&gt;&lt;/blockquote&gt;
&lt;p&gt;とすればインストールできる。設定は&lt;s&gt;.emacsに&lt;/p&gt;
&lt;blockquote&gt;&lt;pre&gt;
(require 'w3m-load)
&lt;/pre&gt;&lt;/blockquote&gt;
&lt;p&gt;を追加して、&lt;/s&gt;特に何もしなくても&lt;code&gt;M-x w3m&lt;/code&gt;で起動する。&lt;/p&gt;

&lt;p&gt;画像を表示する場合は&lt;/p&gt;
&lt;blockquote&gt;&lt;pre&gt;
(auto-image-file-mode t)
(setq w3m-default-display-inline-images t)
&lt;/pre&gt;&lt;/blockquote&gt;
&lt;p&gt;を.emacsに追加する。emacs-w3mでは画像表示はEmacsの機能で行っているので、ターミナルで起動している場合は表示されない。&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3966127164017981232-8288607811052385369?l=insideflag.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3966127164017981232/posts/default/8288607811052385369'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3966127164017981232/posts/default/8288607811052385369'/><link rel='alternate' type='text/html' href='http://insideflag.blogspot.com/2009/07/emacs-w3mw3m.html' title='emacs-w3mのキーバインディングをw3mっぽくしたい'/><author><name>a</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-3966127164017981232.post-6328754733046533912</id><published>2009-07-11T13:43:00.013+09:00</published><updated>2011-08-16T05:46:46.432+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='クライミング'/><title type='text'>今日の公園トレ</title><content type='html'>&lt;p&gt;最寄りの公園にはミニアスレチックがあるので、それと雲梯のバーを利用してクライミングのためのフィジカルトレーニングをしている（鉄棒は低いのしかない）。今日の公園トレのメニューはこんな感じ。&lt;/p&gt;

&lt;h4&gt;片手ロックオフ&lt;/h4&gt;
&lt;p&gt;一番引きつけた状態での&lt;a href="http://insideflag.blogspot.com/2009/05/blog-post_31.html"&gt;片手ロックオフ&lt;/a&gt;を左右1セットずつ。これは1セットだけなら10秒以上できるようになってきたので、その次に簡単な肘角が60度（一番引きつけた状態&lt;s&gt;を0度として&lt;/s&gt;は30度ぐらいか）でもやってみたのだけどこれはさすがにきつい。&lt;/p&gt;

&lt;h4&gt;デッドハング&lt;/h4&gt;
&lt;p&gt;あまりに人差し指と薬指が弱いので、斜め懸垂のような状態で片足だけついて体重を抜き、人差し指と薬指だけで保持する&lt;a href="http://insideflag.blogspot.com/2009/06/blog-post_27.html"&gt;デッドハング&lt;/a&gt;を3セット。負荷を小さくしているのは筋動員率よりもまず先に腱を鍛えるため。&lt;/p&gt;

&lt;p&gt;3本指のオープンハンドでも3セット（こちらは足はつかない）。ウエイトは使わず指の接地面積を小さくすることで負荷を調整。弱い人差し指と薬指を意識して行うようにしている。&lt;/p&gt;

&lt;h4&gt;フレンチーズ&lt;/h4&gt;
&lt;p&gt;懸垂をして降りる途中に肘角が60度のところで止めて10秒間耐える。下まで降りたらまた懸垂して次は90度のところで、その次は120度のところで静止するアイソメトリックトレーニング。肘角を変えての片手ロックオフは負荷が強すぎるのでこれを3セット。インターバルは時間がもったいないのでデッドハングをやるようにしている（使う筋肉も違うし）。&lt;/p&gt;

&lt;h4&gt;足上げ懸垂（っていうのかな？）&lt;/h4&gt;
&lt;p&gt;ルーフで足が切れたときにホールドに戻すのと同じやつを10回だけ（この時点で上半身の疲労が酷すぎてぶら下がっているだけでも辛いので）。&lt;/p&gt;

&lt;h4&gt;参考&lt;/h4&gt;
&lt;div class="amazon-item-box" style="display: block; padding: 0; border: 1px solid  #999; margin: 8px;  -moz-border-radius: 10px;"&gt;&lt;div class="amazon-item-image" style="display: block; padding: 10px; float: left;"&gt;&lt;a href="http://www.amazon.co.jp/exec/obidos/ASIN/4635043274/burningdownth-22/ref=nosim" target="_blank"&gt;&lt;img src="http://ecx.images-amazon.com/images/I/51dGGtL6sCL._SL75_.jpg" alt="フリークライミング (ヤマケイ・テクニカルブック 登山技術全書)" title="フリークライミング (ヤマケイ・テクニカルブック 登山技術全書)" style="border: none; display: inline; vertical-align: bottom;" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;dl class="amazon-item-info" style="display: block; margin-left: 10px; padding: 0 8px 0 10px; font-size: 10pt; line-height: 110%;"&gt;&lt;dt class="amazon-item-name" style="display: block; margin-bottom: 5px; line-height: 120%;"&gt;&lt;a href="http://www.amazon.co.jp/exec/obidos/ASIN/4635043274/burningdownth-22/ref=nosim" target="_blank" title="フリークライミング (ヤマケイ・テクニカルブック 登山技術全書)"&gt;フリークライミング (ヤマケイ・テクニカルブック 登山技術全書)&lt;/a&gt;&lt;/dt&gt;&lt;dd&gt;&lt;ul class="amazon-item-info-list" style="list-style-type: none; padding-left: 0px; line-height: 120%;"&gt;&lt;li&gt;発売元: 山と溪谷社&lt;/li&gt;&lt;li&gt;価格: ￥ 1,890&lt;/li&gt;&lt;li&gt;発売日: 2005/05/01&lt;/li&gt;&lt;/ul&gt;&lt;/dd&gt;&lt;/dl&gt;&lt;p class="amazon-item-footer" style="clear: left; text-align: right; font-size: x-small; padding: 4px 10px 4px 10px; line-height: 100%"&gt;posted with &lt;a href="http://socialtunes.net"&gt;Socialtunes&lt;/a&gt;&lt;/p&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3966127164017981232-6328754733046533912?l=insideflag.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3966127164017981232/posts/default/6328754733046533912'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3966127164017981232/posts/default/6328754733046533912'/><link rel='alternate' type='text/html' href='http://insideflag.blogspot.com/2009/07/blog-post.html' title='今日の公園トレ'/><author><name>a</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-3966127164017981232.post-4262299843914050341</id><published>2009-06-30T20:35:00.007+09:00</published><updated>2010-09-01T19:32:48.370+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Ubuntu'/><title type='text'>Ubuntuであらゆるビープ音を二度と鳴らさない方法</title><content type='html'>&lt;p&gt;カーネルからpcspkrモジュールをアンロードすれば、すべてのビープ音を止めることができる。&lt;/p&gt;
&lt;blockquote&gt;&lt;pre&gt;
$ sudo rmmod pcspkr
&lt;/pre&gt;&lt;/blockquote&gt;
&lt;p&gt;ただし、これだとOSの再起動後にはまた鳴るようになってしまう。再起動後にも無効にするためには、&lt;em&gt;/etc/modprobe.d/blacklist&lt;/em&gt;に&lt;q&gt;&lt;code&gt;blacklist pcspkr&lt;/code&gt;&lt;/q&gt;という一行を追加すればいい。&lt;/p&gt;
&lt;blockquote&gt;&lt;pre&gt;
% sudo su - 
# echo "blacklist pcspkr" &gt;&gt; /etc/modprobe.d/blacklist
&lt;/pre&gt;&lt;/blockquote&gt;

&lt;p&gt;ちなみに、ターミナルから発生するビープ音だけを消す場合は、&lt;/p&gt;
&lt;blockquote&gt;&lt;pre&gt;
% setterm -blength 0
&lt;/pre&gt;&lt;/blockquote&gt;
&lt;p&gt;のようにすればできる。次にシェルを起動するときにも有効にするためには、&lt;/p&gt;
&lt;blockquote&gt;&lt;pre&gt;
% echo "setterm -blength 0" &gt;&gt; ~/.bashrc
&lt;/pre&gt;&lt;/blockquote&gt;
&lt;p&gt;のようにして、.bashrcなどに上記の一行を足しておけばいい。&lt;/p&gt;

&lt;p&gt;また、.inputrcに&lt;q&gt;&lt;code&gt;set bell-style none&lt;/code&gt;&lt;/q&gt;と書いておくのは、readlineを使用しているコマンドでしか効かないため（.inputrcはreadlineの設定ファイル）あまり意味がない（と思う）。&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3966127164017981232-4262299843914050341?l=insideflag.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3966127164017981232/posts/default/4262299843914050341'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3966127164017981232/posts/default/4262299843914050341'/><link rel='alternate' type='text/html' href='http://insideflag.blogspot.com/2009/06/ubuntu_30.html' title='Ubuntuであらゆるビープ音を二度と鳴らさない方法'/><author><name>a</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-3966127164017981232.post-5807381438968727390</id><published>2009-06-27T02:03:00.026+09:00</published><updated>2011-09-30T13:02:47.653+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='クライミング'/><title type='text'>デッドハングによる指のトレーニング</title><content type='html'>&lt;p&gt;クライミングのトレーニングとして、この前からはじめた&lt;a href="http://insideflag.blogspot.com/2009/05/blog-post_31.html"&gt;片手ロックオフ&lt;/a&gt;なのだけど、すでに効果が出てきている気がする。筋動員率を高めるアイソメトリックトレーニングは最初は短期間で効果が出るらしいのだけど、本当にそのとおりになったと思う。&lt;/p&gt;

&lt;p&gt;ということで、これに気をよくして指の強化にもアイソメトリックトレーニングを取り入れてみようと思う。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;アイソメトリックトレーニングは筋肉の長さを変えないで負荷をかけるトレーニングで、筋肥大よりも神経系に働きかけて筋動員率を高める効果が高い。&lt;/li&gt;
&lt;li&gt;指のアイソメトリックトレーニングはフィンガーボードなどにぶら下がって、限界まで保持し続けるデッドハングで行う。&lt;/li&gt;
&lt;li&gt;ウェイトを身につけて加重したり、椅子に足を乗せて減重するなどして&lt;strong&gt;10秒程度&lt;/strong&gt;で限界に達するように負荷を設定し、これを&lt;strong&gt;数セット&lt;/strong&gt;行う。&lt;/li&gt;
&lt;li&gt;アイソメトリックは角度依存があるので様々な角度で行う必要がある。
「&lt;a href="http://www.amazon.co.jp/exec/obidos/ASIN/4635043274/burningdownth-22/ref=nosim" target="_blank"&gt;フリークライミング (ヤマケイ・テクニカルブック 登山技術全書)&lt;/a&gt;」によると&lt;strong&gt;4本指ハーフクリンプ&lt;/strong&gt;と&lt;strong&gt;3本指オープンクリンプ&lt;/strong&gt;&lt;s&gt;でそれぞれ行えば十分らしい。&lt;/s&gt;を優先させるといいとのこと。&lt;strong&gt;（追記）&lt;/strong&gt;クリンプ（カチ持ち）だと故障の原因になりやすいため。クリンプはやらなくていいということではない。&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="amazon-item-box" style="display: block; padding: 0; border: 1px solid  #999; margin: 8px;  -moz-border-radius: 10px;"&gt;&lt;div class="amazon-item-image" style="display: block; padding: 10px; float: left;"&gt;&lt;a href="http://www.amazon.co.jp/exec/obidos/ASIN/4635043274/burningdownth-22/ref=nosim" target="_blank"&gt;&lt;img src="http://ecx.images-amazon.com/images/I/51dGGtL6sCL._SL75_.jpg" alt="フリークライミング (ヤマケイ・テクニカルブック 登山技術全書)" title="フリークライミング (ヤマケイ・テクニカルブック 登山技術全書)" style="border: none; display: inline; vertical-align: bottom;" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;dl class="amazon-item-info" style="display: block; margin-left: 10px; padding: 0 8px 0 10px; font-size: 10pt; line-height: 110%;"&gt;&lt;dt class="amazon-item-name" style="display: block; margin-bottom: 5px; line-height: 120%;"&gt;&lt;a href="http://www.amazon.co.jp/exec/obidos/ASIN/4635043274/burningdownth-22/ref=nosim" target="_blank" title="フリークライミング (ヤマケイ・テクニカルブック 登山技術全書)"&gt;フリークライミング (ヤマケイ・テクニカルブック 登山技術全書)&lt;/a&gt;&lt;/dt&gt;&lt;dd&gt;&lt;ul class="amazon-item-info-list" style="list-style-type: none; padding-left: 0px; line-height: 120%;"&gt;&lt;li&gt;発売元: 山と溪谷社&lt;/li&gt;&lt;li&gt;価格: ￥ 1,890&lt;/li&gt;&lt;li&gt;発売日: 2005/05/01&lt;/li&gt;&lt;/ul&gt;&lt;/dd&gt;&lt;/dl&gt;&lt;p class="amazon-item-footer" style="clear: left; text-align: right; font-size: x-small; padding: 4px 10px 4px 10px; line-height: 100%"&gt;posted with &lt;a href="http://socialtunes.net"&gt;Socialtunes&lt;/a&gt;&lt;/p&gt;&lt;/div&gt;

&lt;p&gt;指を集中的に鍛えるので、トレーニング後はきっちりアイシングをするようにしたい。&lt;/p&gt;

&lt;table border="0" cellpadding="0" cellspacing="0"&gt;&lt;tr&gt;&lt;td valign="top"&gt;&lt;div style="border:1px solid;margin:0px;padding:6px 0px;width:160px;text-align:center;float:left"&gt;&lt;a href="http://hb.afl.rakuten.co.jp/hgc/0e7cd630.4e06c78d.0e7cd631.5225251e/?pc=http%3a%2f%2fitem.rakuten.co.jp%2fraliguras%2f100010342%2f%3fscid%3daf_ich_link_tbl&amp;m=http%3a%2f%2fm.rakuten.co.jp%2fraliguras%2fi%2f10004048%2f" target="_blank"&gt;&lt;img src="http://hbb.afl.rakuten.co.jp/hgb/?pc=http%3a%2f%2fthumbnail.image.rakuten.co.jp%2f%400_mall%2fraliguras%2fcabinet%2f00986704%2fimg57003261.jpg%3f_ex%3d128x128&amp;m=http%3a%2f%2fthumbnail.image.rakuten.co.jp%2f%400_mall%2fraliguras%2fcabinet%2f00986704%2fimg57003261.jpg%3f_ex%3d80x80" alt="Metolius（メトリウス）シミュレーター3D自宅でもクライミングに近い負荷を手軽に再現" border="0" style="margin:0px;padding:0px"&gt;&lt;/a&gt;&lt;p style="font-size:12px;line-height:1.4em;text-align:left;margin:0px;padding:2px 6px"&gt;&lt;a href="http://hb.afl.rakuten.co.jp/hgc/0e7cd630.4e06c78d.0e7cd631.5225251e/?pc=http%3a%2f%2fitem.rakuten.co.jp%2fraliguras%2f100010342%2f%3fscid%3daf_ich_link_tbl&amp;m=http%3a%2f%2fm.rakuten.co.jp%2fraliguras%2fi%2f10004048%2f" target="_blank"&gt;Metolius（メトリウス）シミュレーター3D自宅でもクライミングに近い負荷を手軽に再現&lt;/a&gt;&lt;br&gt;&lt;span style=""&gt;価格：8,715円（税込、送料別）&lt;/span&gt;&lt;br&gt;&lt;/p&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;h4&gt;関連記事&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://insideflag.blogspot.com/2009/05/blog-post.html"&gt;クライミングによる指の関節炎について&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://insideflag.blogspot.com/2009/11/blog-post.html"&gt;斬新なフィンガーボードの設置方法&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3966127164017981232-5807381438968727390?l=insideflag.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3966127164017981232/posts/default/5807381438968727390'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3966127164017981232/posts/default/5807381438968727390'/><link rel='alternate' type='text/html' href='http://insideflag.blogspot.com/2009/06/blog-post_27.html' title='デッドハングによる指のトレーニング'/><author><name>a</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-3966127164017981232.post-290698830545326200</id><published>2009-06-24T14:52:00.006+09:00</published><updated>2010-08-27T03:03:03.051+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='iPhone/iPod Touch'/><title type='text'>EINを郵送で取得した</title><content type='html'>&lt;p&gt;&lt;strong&gt;（追記）&lt;/strong&gt;現在ではiPhoneアプリの販売に&lt;strong&gt;EINは必要ありません&lt;/strong&gt;（&lt;a href="http://insideflag.blogspot.com/2009/12/ein.html"&gt;EINいらなくなってた&lt;/a&gt;）。&lt;/p&gt;

&lt;p&gt;iPhoneアプリの販売に備えてEINを郵送で取得した。今の段階では本当に販売するところまで辿り着けるかわからないけど、郵送だと時間がかかるということだったので念のため早めに書類を提出しておいた。&lt;/p&gt;

&lt;p&gt;iPhoneアプリをAppStoreを通じて販売すると、USAで所得が発生したことになって、おのずとUSAの所得税が課税され、源泉徴収もUSAでされてしまうようだ。日本でも課税されるので二重課税になってしまう。それはとても止めてほしいので、W-8BENという書類を提出することでUSAでは源泉徴収しないように申請することができる。日本の開発者はその書類にEIN（Employer Identification Number）を記入することになるので、アメリカの国税庁（IRS）にSS-4という書類を提出してEINを取得する必要があるということ（EINはいらないという情報もあるのだけど真偽のほどは不明。参考：&lt;a href="http://iphone.longearth.net/2009/03/04/%E3%80%90app-store%E3%80%91%E6%9C%89%E6%96%99%E3%82%A2%E3%83%97%E3%83%AA%E9%85%8D%E5%B8%83%E3%81%AE%E3%81%9F%E3%82%81%E3%81%ABein%E3%81%AF%E5%BF%85%E8%A6%81%EF%BC%9F/"&gt;【App Store】有料アプリ配布のためにEINは必要？ | iphoneアプリで稼げるのか&lt;/a&gt;、&lt;a href="http://d.hatena.ne.jp/KishikawaKatsumi/20090511/1242010376"&gt;W-8BEN/EINについて - 24/7 twenty-four seven&lt;/a&gt;）。&lt;/p&gt;

&lt;p&gt;日本からのEINの取得方法は電話、FAX、郵送の三つの方法がある。電話は英語での会話がつらいのでパス。FAXはコンビニから送ろうとしたのだけどなぜかエラー（海外対応しているのに）。ということで、仕方なく&lt;q&gt;4 weeks&lt;/q&gt;かかると書いてある郵送で提出することに。&lt;/p&gt;

&lt;p&gt;SS-4は編集可能なPDFがダウンロードできるので、記入してから印刷、手書きでサインをして送ることになる。SS-4の記入の仕方については次のページを全面的に参考にさせてもらった。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://blog.iphone-studio.com/2008/10/app-storeein.html"&gt;iPhone工房: App Storeへの道：EINの取得方法&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;郵便局に直接持っていって、お金を払って（よく覚えてないのだけど200円はしなかったと思う。）あとはただ待つのみ。4週間かかるつもりでいたら&lt;strong&gt;2週間程度&lt;/strong&gt;でエアメールが送られてきた。中にはちゃんとEINが書かれている書類が入っていて無事取得することができた。&lt;/p&gt;

&lt;p&gt;こちらのページも参考になる。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://d.hatena.ne.jp/iphone_dev/20080827/1219826302"&gt;AppStore販売用に EIN番号を取得する - iPhoneアプリケーション開発&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3966127164017981232-290698830545326200?l=insideflag.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3966127164017981232/posts/default/290698830545326200'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3966127164017981232/posts/default/290698830545326200'/><link rel='alternate' type='text/html' href='http://insideflag.blogspot.com/2009/06/ein.html' title='EINを郵送で取得した'/><author><name>a</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-3966127164017981232.post-9129098182114472523</id><published>2009-06-20T00:48:00.019+09:00</published><updated>2011-02-27T04:06:44.646+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='クライミング'/><title type='text'>カチ持ちはじめました</title><content type='html'>&lt;p&gt;以前から薄々気づいてはいたのだけど、自分は小さいホールドの保持が圧倒的に弱い。なんとなくではあるけど、自分の弱点として認識していたので、小さいホールドが連発するような課題を積極的にやるようにしてきた。にもかかわらず、依然として小さいホールドの保持は弱いまま。ということで、どうすればいいのか少し考えてみた、というか悩んだ。&lt;/p&gt;

&lt;p&gt;自分はカチ持ち（アーケ）ができず、オープン（タンデュ）またはセミアーケでカチホールドを保持しているのだけど、実はこれが全然弱いのではないかと考えた。カチ持ちなら強いのかもしれない。ということで、とりあえずカチ持ちのやり方を教わって、実際に自分で試して検証してみることにした。今のところまだ実戦投入には程遠いのだけど、ホールディング自体には慣れてきた。そこで実感したのは、&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;s&gt;カチ持ち強い&lt;/s&gt;（よくよく比べてみるとそうでもなかった。ずっとオープンとセミアーケで登ってきたため浅指屈筋が弱いらしい。オープンで使うのは深指屈筋。浅指屈筋のほうが大きいため&lt;strong&gt;カチ持ちのほうが強くなり得る。&lt;/strong&gt;）&lt;/li&gt;
&lt;li&gt;親指の力は大きい&lt;/li&gt;
&lt;li&gt;人差し指に力が入る&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;ということ。これはやはりカチ持ちを覚えたいところだ。関節を痛めやすいらしいので、基本はオープンで、どうしても保持できない場合のみ発動するのが理想。ちょっとずつ練習していこうと思う。&lt;/p&gt;

&lt;div class="amazon-item-box" style="display: block; padding: 0; border: 1px solid  #999; margin: 8px;  -moz-border-radius: 10px;"&gt;&lt;div class="amazon-item-image" style="display: block; padding: 10px; float: left;"&gt;&lt;a href="http://www.amazon.co.jp/exec/obidos/ASIN/4635912639/burningdownth-22/ref=nosim" target="_blank"&gt;&lt;img src="http://ecx.images-amazon.com/images/I/513R5lQEBkL._SL75_.jpg" alt="小山田大 DVDでボルダリング" title="小山田大 DVDでボルダリング" style="border: none; display: inline; vertical-align: bottom;" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;dl class="amazon-item-info" style="display: block; margin-left: 10px; padding: 0 8px 0 10px; font-size: 10pt; line-height: 110%;"&gt;&lt;dt class="amazon-item-name" style="display: block; margin-bottom: 5px; line-height: 120%;"&gt;&lt;a href="http://www.amazon.co.jp/exec/obidos/ASIN/4635912639/burningdownth-22/ref=nosim" target="_blank" title="小山田大 DVDでボルダリング"&gt;小山田大 DVDでボルダリング&lt;/a&gt;&lt;/dt&gt;&lt;dd&gt;&lt;ul class="amazon-item-info-list" style="list-style-type: none; padding-left: 0px; line-height: 120%;"&gt;&lt;li&gt;発売元: 山と渓谷社&lt;/li&gt;&lt;li&gt;価格: ￥ 2,520&lt;/li&gt;&lt;li&gt;発売日: 2009/12/09&lt;/li&gt;&lt;/ul&gt;&lt;/dd&gt;&lt;/dl&gt;&lt;p class="amazon-item-footer" style="clear: left; text-align: right; font-size: x-small; padding: 4px 10px 4px 10px; line-height: 100%;"&gt;posted with &lt;a href="http://socialtunes.net"&gt;Socialtunes&lt;/a&gt;&lt;/p&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3966127164017981232-9129098182114472523?l=insideflag.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3966127164017981232/posts/default/9129098182114472523'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3966127164017981232/posts/default/9129098182114472523'/><link rel='alternate' type='text/html' href='http://insideflag.blogspot.com/2009/06/blog-post.html' title='カチ持ちはじめました'/><author><name>a</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-3966127164017981232.post-2889463240301765842</id><published>2009-06-05T01:39:00.027+09:00</published><updated>2011-08-16T05:40:01.482+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Ubuntu'/><title type='text'>Ubuntuでスクリーンショット（お手軽に選択範囲のスクリーンショットを撮る方法）</title><content type='html'>&lt;p&gt;ブログを書き始めてしばらくするとスクリーンショットを載せたくなってきた。デスクトップ全体やウィンドウ単位だと簡単にできるのだけど、任意の範囲を選択してのスクリーンショットはちょっと面倒だ（Ubuntu 9.04以降だとそうでもない）。&lt;/p&gt;

&lt;p&gt;ということで、Ubuntu（Gnome環境）でのスクリーンショットについて一番お手軽だと思われる方法をまとめてみる。&lt;/p&gt;

&lt;h4&gt;デスクトップ全体&lt;/h4&gt;
&lt;p&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_pNXH1Lg1eZw/Sif4g_FFKvI/AAAAAAAAA8M/m3qMuc7ymEs/s1600-h/Screenshot-%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88%E3%81%AE%E4%BF%9D%E5%AD%98.png"&gt;&lt;img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 200px; height: 77px;" src="http://2.bp.blogspot.com/_pNXH1Lg1eZw/Sif4g_FFKvI/AAAAAAAAA8M/m3qMuc7ymEs/s200/Screenshot-%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88%E3%81%AE%E4%BF%9D%E5%AD%98.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5343512728470629106" /&gt;&lt;/a&gt;
&lt;strong&gt;[PrtScr]キー&lt;/strong&gt;を押すとファイル保存ダイアログが表示されるので、名前と場所を選んでファイルに保存する。&lt;/p&gt;

&lt;h4 style="clear:both"&gt;アクティブなウィンドウ&lt;/h4&gt;
&lt;p&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_pNXH1Lg1eZw/SmmI0oLE9rI/AAAAAAAABCM/CgeRidrqvAc/s1600-h/Screenshot-%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88%E3%81%AE%E4%BF%9D%E5%AD%98.png"&gt;&lt;img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 200px; height: 77px;" src="http://2.bp.blogspot.com/_pNXH1Lg1eZw/SmmI0oLE9rI/AAAAAAAABCM/CgeRidrqvAc/s200/Screenshot-%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88%E3%81%AE%E4%BF%9D%E5%AD%98.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5361967269079742130" /&gt;&lt;/a&gt;
&lt;strong&gt;[Alt + PrtScr]キー&lt;/strong&gt;を押すと同じようにダイアログが表示され保存できる。&lt;/p&gt;

&lt;h4 style="clear:both"&gt;範囲を選択&lt;/h4&gt;
&lt;p&gt;Ubuntu 9.04以降では後述する&lt;strong&gt;&lt;q&gt;スクリーンショットの取得&lt;/q&gt;&lt;/strong&gt;で可能。それ以外で自分が調べた限り一番お手軽な方法は&lt;a href="http://www.imagemagick.org/"&gt;ImageMagick&lt;/a&gt;を使うこと。まずはImageMagickをインストールする。&lt;/p&gt;
&lt;blockquote&gt;&lt;pre&gt;
% sudo apt-get install imagemagick
&lt;/pre&gt;&lt;/blockquote&gt;
&lt;p&gt;ImageMagickをインストールするといろいろなコマンドがインストールされるのだけど、&lt;strong&gt;import&lt;/strong&gt;というコマンドがスクリーンショットを撮るためのもの。&lt;/p&gt;
&lt;blockquote&gt;&lt;pre&gt;&lt;strong&gt;
% import screenshot.png
&lt;/strong&gt;&lt;/pre&gt;&lt;/blockquote&gt;
&lt;p&gt;とすると、マウスカーソルが十字型になるので、ドラッグ＆ドロップで選択した範囲がscreenshot.pngに保存される。ファイル名を*.jpegに変えればJPEGで保存される。ドラッグではなくただ単にクリックすると、カーソルの下にあるウィンドウのスクリーンショットが撮れる（&lt;code&gt;-frame&lt;/code&gt;オプションを指定することでウィンドウの枠も含めることができる）。&lt;/p&gt;

&lt;h4&gt;importコマンド&lt;/h4&gt;
&lt;p&gt;importコマンドはオプションを組み合わせることでいろいろできる。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://www.imagemagick.org/www/command-line-options.html"&gt;ImageMagick: Command-line Options&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;デスクトップ全体のスクリーンショットを撮る。&lt;/p&gt;
&lt;blockquote&gt;&lt;pre&gt;
% import -window root screenshot.png
&lt;/pre&gt;&lt;/blockquote&gt;

&lt;p&gt;3秒後にスクリーンショットを撮る。&lt;/p&gt;
&lt;blockquote&gt;&lt;pre&gt;
% import -pause 3 screenshot.png
&lt;/pre&gt;&lt;/blockquote&gt;

&lt;p&gt;3回続けてスクリーンショットを撮る。それぞれscreenshot-0.png、screenshot-1.png、screenshot-2.pngという名前で保存される。&lt;/p&gt;
&lt;blockquote&gt;&lt;pre&gt;
% import -snaps 3 screenshot.png
&lt;/pre&gt;&lt;/blockquote&gt;

&lt;p&gt;デスクトップの左上512x256ピクセルのスクリーンショットを撮り、PNGの圧縮率は高めで保存する。&lt;/p&gt;
&lt;blockquote&gt;&lt;pre&gt;
% import -window root -crop 512x256-0+0 -quality 90 screenshot.png
&lt;/pre&gt;&lt;/blockquote&gt;

&lt;h4&gt;スクリーンショットの取得&lt;/h4&gt;
&lt;p&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_pNXH1Lg1eZw/Sif3Ousd1MI/AAAAAAAAA8E/dB1z9AoL38Y/s1600-h/Screenshot-gnome-screenshot.png"&gt;&lt;img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 200px; height: 98px;" src="http://1.bp.blogspot.com/_pNXH1Lg1eZw/Sif3Ousd1MI/AAAAAAAAA8E/dB1z9AoL38Y/s200/Screenshot-gnome-screenshot.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5343511315323147458" /&gt;&lt;/a&gt;
[アプリケーション]-[アクセサリ]-[スクリーンショットの取得]で起動する。&lt;/p&gt;

&lt;p style="clear:both"&gt;GUIで設定してスクリーンショットを撮ることができ、デスクトップ全体やウィンドウ指定だけでなく、タイマー撮影なども可能。Ubuntu 9.04以降では範囲を選択してのスクリーンショットも実装されている。&lt;/p&gt;

&lt;h4&gt;参考&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://gihyo.jp/admin/serial/01/ubuntu-recipe/0029"&gt;Ubuntu Weekly Recipe：第29回　スクリーンショットを扱う・作業を記録する｜gihyo.jp … 技術評論社&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://palepoli.skr.jp/content/ubuntu/screenshot.php"&gt;スクリーンショットを取る&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://labs.unoh.net/2008/09/screencapture-on-mac.html"&gt;ウノウラボ Unoh Labs: Macでのスクリーンショットの撮り方まとめ&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3966127164017981232-2889463240301765842?l=insideflag.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3966127164017981232/posts/default/2889463240301765842'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3966127164017981232/posts/default/2889463240301765842'/><link rel='alternate' type='text/html' href='http://insideflag.blogspot.com/2009/06/ubuntu.html' title='Ubuntuでスクリーンショット（お手軽に選択範囲のスクリーンショットを撮る方法）'/><author><name>a</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_pNXH1Lg1eZw/Sif4g_FFKvI/AAAAAAAAA8M/m3qMuc7ymEs/s72-c/Screenshot-%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88%E3%81%AE%E4%BF%9D%E5%AD%98.png' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-3966127164017981232.post-970245813406226531</id><published>2009-05-31T14:01:00.027+09:00</published><updated>2011-09-28T10:50:40.963+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='クライミング'/><title type='text'>片手ロックオフ</title><content type='html'>&lt;p&gt;「&lt;a href="http://insideflag.blogspot.com/2009/04/blog-post.html"&gt;自宅でできるクライミングのためのトレーニング&lt;/a&gt;」で&lt;/p&gt;
&lt;blockquote cite="http://insideflag.blogspot.com/2009/04/blog-post.html"&gt;&lt;p&gt;ロックリングスを2セット購入して、壁にくっつけるようにそれぞれ高さをかえて設置すればキャンパシングができる。&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;と書いた。&lt;/p&gt;

&lt;p&gt;思いついたときはとてもいいアイディアのような気がしたのだけど、よく考えるとかなり微妙だ（設置が）。今住んでいるのは少し特殊なところなので、そういう都合のいい設置場所があるのだけど、引っ越したらまず間違いなくそんな使い方はできなくなるだろう（近々引越し予定）。ということで、このアイディアも断念することに。&lt;/p&gt;

&lt;p&gt;結局、&lt;a href="http://insideflag.blogspot.com/2009/03/blog-post_19.html"&gt;キャンパシング&lt;/a&gt;はジムでやることにして、自宅では別のトレーニングをしようと思っていたところ、強い人に片手ロックオフをやるといいと言われた。これだったら自宅から徒歩10秒の公園にある鉄棒でできる。&lt;/p&gt;

&lt;h4&gt;片手ロックオフ&lt;/h4&gt;
&lt;p&gt;両手で普通にチンニング（懸垂）をして、一番上で片手を離してできる限り長く保持する。あごは上に出す。&lt;/p&gt;

&lt;p&gt;降りるときは肘や肩を痛めないようにゆっくり、でも力を出しながら降りるようにする。これがエキセントリック・コンストラクション（負荷をかけながら筋肉を伸ばす運動）になるので負荷が高く効果的らしい。&lt;/p&gt;

&lt;p&gt;最初は逆手（手のひらを自分に向ける）で行い、10秒以上保持できるなら、順手（手のひらを自分とは反対に向ける）で行ったり、角度依存があるアイソメトリックトレーニングなので、肘角が60度、90度、120度のところでも行う。アイソメトリックトレーニングは筋肉の長さを変えずに負荷をかけ続ける運動で、&lt;strong&gt;筋繊維動員率のアップに効果的。&lt;/strong&gt;&lt;/p&gt;

&lt;h4&gt;フレンチーズ&lt;/h4&gt;
&lt;p&gt;片手ロックオフが難しい人はまずはフレンチーズをやるといい。フレンチーズも片手ロックオフと同じアイソメトリックトレーニングだけど負荷はもっと低い。また、前述したように角度依存があるので、肘角をかえてもやる必要があるのだけど、片手ロックオフで肘角をかえると負荷が強すぎるという場合もフレンチーズがいいと思う。&lt;/p&gt;

&lt;p&gt;やり方は、両手で懸垂をして一番上で止めて10秒間保持する。下まで降りたらまた懸垂して今度は降りる途中に60度のところで止めて10秒間保持。次は同じようにして90度のところで、その次は120度のところで静止する。&lt;/p&gt;

&lt;h4&gt;参考&lt;/h4&gt;
&lt;div class="amazon-item-box" style="display: block; padding: 0; border: 1px solid  #999; margin: 8px;  -moz-border-radius: 10px;"&gt;&lt;div class="amazon-item-image" style="display: block; padding: 10px; float: left;"&gt;&lt;a href="http://www.amazon.co.jp/exec/obidos/ASIN/4635043274/burningdownth-22/ref=nosim" target="_blank"&gt;&lt;img src="http://ecx.images-amazon.com/images/I/51dGGtL6sCL._SL75_.jpg" alt="フリークライミング (ヤマケイ・テクニカルブック 登山技術全書)" title="フリークライミング (ヤマケイ・テクニカルブック 登山技術全書)" style="border: none; display: inline; vertical-align: bottom;" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;dl class="amazon-item-info" style="display: block; margin-left: 10px; padding: 0 8px 0 10px; font-size: 10pt; line-height: 110%;"&gt;&lt;dt class="amazon-item-name" style="display: block; margin-bottom: 5px; line-height: 120%;"&gt;&lt;a href="http://www.amazon.co.jp/exec/obidos/ASIN/4635043274/burningdownth-22/ref=nosim" target="_blank" title="フリークライミング (ヤマケイ・テクニカルブック 登山技術全書)"&gt;フリークライミング (ヤマケイ・テクニカルブック 登山技術全書)&lt;/a&gt;&lt;/dt&gt;&lt;dd&gt;&lt;ul class="amazon-item-info-list" style="list-style-type: none; padding-left: 0px; line-height: 120%;"&gt;&lt;li&gt;発売元: 山と溪谷社&lt;/li&gt;&lt;li&gt;価格: ￥ 1,890&lt;/li&gt;&lt;li&gt;発売日: 2005/05/01&lt;/li&gt;&lt;/ul&gt;&lt;/dd&gt;&lt;/dl&gt;&lt;p class="amazon-item-footer" style="clear: left; text-align: right; font-size: x-small; padding: 4px 10px 4px 10px; line-height: 100%"&gt;posted with &lt;a href="http://socialtunes.net"&gt;Socialtunes&lt;/a&gt;&lt;/p&gt;&lt;/div&gt;

&lt;div class="amazon-item-box" style="display: block; padding: 0; border: 1px solid  #999; margin: 8px;  -moz-border-radius: 10px;"&gt;&lt;div class="amazon-item-image" style="display: block; padding: 10px; float: left;"&gt;&lt;a href="http://www.amazon.co.jp/exec/obidos/ASIN/B001U729UG/burningdownth-22/ref=nosim" target="_blank"&gt;&lt;img src="http://ecx.images-amazon.com/images/I/317fLLKPuzL._SL75_.jpg" alt="トータルフィットネス(TotalFitness) 懸垂マシン2  STM047" title="トータルフィットネス(TotalFitness) 懸垂マシン2  STM047" style="border: none; display: inline; vertical-align: bottom;" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;dl class="amazon-item-info" style="display: block; margin-left: 10px; padding: 0 8px 0 10px; font-size: 10pt; line-height: 110%;"&gt;&lt;dt class="amazon-item-name" style="display: block; margin-bottom: 5px; line-height: 120%;"&gt;&lt;a href="http://www.amazon.co.jp/exec/obidos/ASIN/B001U729UG/burningdownth-22/ref=nosim" target="_blank" title="トータルフィットネス(TotalFitness) 懸垂マシン2  STM047"&gt;トータルフィットネス(TotalFitness) 懸垂マシン2  STM047&lt;/a&gt;&lt;/dt&gt;&lt;dd&gt;&lt;ul class="amazon-item-info-list" style="list-style-type: none; padding-left: 0px; line-height: 120%;"&gt;&lt;li&gt;発売元: トータルフィットネス(TotalFitness)&lt;/li&gt;&lt;li&gt;価格: ￥ 10,030 (32% OFF)&lt;/li&gt;&lt;/ul&gt;&lt;/dd&gt;&lt;/dl&gt;&lt;p class="amazon-item-footer" style="clear: left; text-align: right; font-size: x-small; padding: 4px 10px 4px 10px; line-height: 100%;"&gt;posted with &lt;a href="http://socialtunes.net"&gt;Socialtunes&lt;/a&gt;&lt;/p&gt;&lt;/div&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="http://blog.goo.ne.jp/zcc-ichiro/e/bbbfbcca63d803a052a8d88af0653ebf"&gt;トレーニングねた第6弾；ロックオフ - クライミングNOTE&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;関連記事&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://insideflag.blogspot.com/2009/06/blog-post_27.html"&gt;デッドハングによる指のトレーニング&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3966127164017981232-970245813406226531?l=insideflag.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3966127164017981232/posts/default/970245813406226531'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3966127164017981232/posts/default/970245813406226531'/><link rel='alternate' type='text/html' href='http://insideflag.blogspot.com/2009/05/blog-post_31.html' title='片手ロックオフ'/><author><name>a</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-3966127164017981232.post-6730397590420580528</id><published>2009-05-28T15:12:00.005+09:00</published><updated>2011-03-09T17:59:48.500+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ラベルなし'/><title type='text'>I-O DATAの外付けHDDを買ったらUSBケーブルが腐っていた</title><content type='html'>&lt;p&gt;Macを外付けHDDからブートするためにI-O DATAのポータブルHDDを購入した（&lt;a href="http://www.iodata.jp/promo/hdd/useful/osxboot/osxboot.htm"&gt;I-O DATAはMacのブートに関して動作確認を行っている&lt;/a&gt;）。Macをインストールして使っていると、最初は問題なかったのだけど、しばらくすると突然フリーズするということが頻繁に起きた。&lt;/p&gt;

&lt;p&gt;同梱の説明書には電源供給が足りない場合があるので、ACアダプタを別途購入することをすすめる記述があり、原因は電源供給不足だろうと察しがついた。ACアダプタが必要ではポータブルHDDの意味がないと思うのだけど、なんとかならないかと探してみたらたまたま同じミニBタイプのUSBケーブルがあったので、あまり期待せずそれで試してみたところ、まったく問題なく使えるようになった。&lt;/p&gt;

&lt;p&gt;ということで、同梱されていたUSBケーブルに不良があったということなのだけど、Amazonのレビューを読むと同じ問題に遭遇している人が何人かいた。自分がたまたま初期不良品に当たってしまったというより、品質の低いUSBケーブルを同梱しているのではないかと疑ってしまう。&lt;/p&gt;

&lt;div class="amazon-item-box" style="display: block; padding: 0; border: 1px solid  #999; margin: 8px;  -moz-border-radius: 10px;"&gt;&lt;div class="amazon-item-image" style="display: block; padding: 10px; float: left;"&gt;&lt;a href="http://www.amazon.co.jp/exec/obidos/ASIN/B001HAMNSY/burningdownth-22/ref=nosim" target="_blank"&gt;&lt;img src="http://ecx.images-amazon.com/images/I/41MqMFJznbL._SL75_.jpg" alt="Transcend ポータブルHDD StoreJet 2.5 Mobile SATA 500GB TS500GSJ25M" title="Transcend ポータブルHDD StoreJet 2.5 Mobile SATA 500GB TS500GSJ25M" style="border: none; display: inline; vertical-align: bottom;" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;dl class="amazon-item-info" style="display: block; margin-left: 10px; padding: 0 8px 0 10px; font-size: 10pt; line-height: 110%;"&gt;&lt;dt class="amazon-item-name" style="display: block; margin-bottom: 5px; line-height: 120%;"&gt;&lt;a href="http://www.amazon.co.jp/exec/obidos/ASIN/B001HAMNSY/burningdownth-22/ref=nosim" target="_blank" title="Transcend ポータブルHDD StoreJet 2.5 Mobile SATA 500GB TS500GSJ25M"&gt;Transcend ポータブルHDD StoreJet 2.5 Mobile SATA 500GB TS500GSJ25M&lt;/a&gt;&lt;/dt&gt;&lt;dd&gt;&lt;ul class="amazon-item-info-list" style="list-style-type: none; padding-left: 0px; line-height: 120%;"&gt;&lt;li&gt;発売元: トランセンド・ジャパン&lt;/li&gt;&lt;li&gt;価格: ￥ 5,980&lt;/li&gt;&lt;li&gt;発売日: 2008/10/11&lt;/li&gt;&lt;/ul&gt;&lt;/dd&gt;&lt;/dl&gt;&lt;p class="amazon-item-footer" style="clear: left; text-align: right; font-size: x-small; padding: 4px 10px 4px 10px; line-height: 100%;"&gt;posted with &lt;a href="http://socialtunes.net"&gt;Socialtunes&lt;/a&gt;&lt;/p&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3966127164017981232-6730397590420580528?l=insideflag.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3966127164017981232/posts/default/6730397590420580528'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3966127164017981232/posts/default/6730397590420580528'/><link rel='alternate' type='text/html' href='http://insideflag.blogspot.com/2009/05/i-o-datahddusb.html' title='I-O DATAの外付けHDDを買ったらUSBケーブルが腐っていた'/><author><name>a</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-3966127164017981232.post-892697561504179492</id><published>2009-05-27T18:09:00.018+09:00</published><updated>2011-09-28T10:54:35.078+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='iPhone/iPod Touch'/><title type='text'>iPhoneアプリの開発をはじめる</title><content type='html'>&lt;p&gt;せっかく&lt;a href="http://insideflag.blogspot.com/2009/05/ipod-touch.html"&gt;iPod touchを購入した&lt;/a&gt;ので、iPhoneアプリでも開発してみようと思い立った。とりあえずどうすればいいのか調べてみるとiPhoneアプリの開発には以下のものが必要とのこと。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;インテルCPUを搭載したMac本体&lt;/li&gt;
&lt;li&gt;Mac OS X 10.5（Leopard）以降&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;さらに実機で動かしたりApp Storeで公開するためには&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://developer.apple.com/jp/iphone/program/"&gt;iPhoneデベロッパプログラム&lt;/a&gt;への登録（スタンダードプログラムで&lt;strong&gt;年間￥10,800&lt;/strong&gt;）&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;も必要になる。iPhone SDKに含まれているiPhone Simulatorで動かすだけなら登録は必要ないので、とりあえずは登録しないでiPhone Simulatorで試してみることにする。iPhone SDKは&lt;a href="http://developer.apple.com/iphone/"&gt;iPhone Dev Center&lt;/a&gt;にユーザ登録するだけで無料でダウンロードできる。&lt;/p&gt;

&lt;h4&gt;Mac&lt;/h4&gt;
&lt;p&gt;開発にMacが必要というのはかなりハードルが高い。自分は同居人のiMacを使わせてもらえるので、開発はそのiMacで行うことにする。新しく買うとなると最低でもMacBookで&lt;strong&gt;￥114,800&lt;/strong&gt;、iMacで&lt;strong&gt;￥128,800&lt;/strong&gt;かかるからとてもありがたい。&lt;/p&gt;

&lt;p&gt;ちなみに、どうしてもMacを安く手に入れたいのなら、整備済製品や旧モデルを&lt;a href="http://store.apple.com/jp"&gt;Apple Store&lt;/a&gt;で買うのがいいと思う。整備済製品は店頭商品、返品商品、初期不良品などをAppleがきちんと修理調整して1年保証をつけたもの。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://store.apple.com/jp/browse/home/specialdeals/mac"&gt;Mac整備済製品 - Apple Store (Japan)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://store.apple.com/jp/browse/home/specialdeals/clearance/mac"&gt;Mac旧モデル新品 - Apple Store (Japan)&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;iPhone Dev Centerにユーザ登録&lt;/h4&gt;
&lt;p&gt;iPhone SDKをダウンロードするために&lt;a href="http://developer.apple.com/iphone/"&gt;iPhone Dev Center&lt;/a&gt;にユーザ登録する（無料）。登録作業時の&lt;strong&gt;プロフィールの入力欄はすべて英語で入力&lt;/strong&gt;しないと、
&lt;a href="http://developer.apple.com/jp/iphone/program/"&gt;iPhoneデベロッパプログラム（有料のほう）&lt;/a&gt;に登録するときにエラーが発生して登録できなくなってしまうらしい。&lt;/p&gt;

&lt;p&gt;特に氏名は後から自分で変更することができないので、日本語で登録完了してしまった場合は「&lt;a href="http://developer.apple.com/contact/"&gt;Contact Us - Apple Developer Connection&lt;/a&gt;」から直接連絡してApple側で変更してもらうことになる（なった）。&lt;/p&gt;

&lt;p&gt;自分の場合は英語でメッセージを書いたのだけど、日本のAppleの人からすぐにメールが来て（日本語で）、登録画面のスクリーンショットを送ったり、短いやりとりの後、アメリカの担当部署に連絡したので待つように、ということになった。それで実際に変更されたのは&lt;strong&gt;約1ヶ月後&lt;/strong&gt;だったので、急いでいる人は新しくアカウントを作ったほうがいい。&lt;/p&gt;

&lt;h4&gt;OS X&lt;/h4&gt;
&lt;p&gt;iPhone SDKをダウンロードしてインストールを開始するとすぐエラーになってしまった。エラーメッセージは、要約すると&lt;q&gt;Mac OS X 10.5以降が必要&lt;/q&gt;ということで、このときはじめて知ったのだけど、使わせてもらっているiMacのバージョンは10.4だった。&lt;/p&gt;

&lt;p&gt;こればっかりはどうしようもないので、素直に購入することにする。ただし、自分のMacではないのでインストールは外付けHDDにする。USB接続であれば問題なくブートできるらしいのだけど、念のため動作確認を行っているI-O DATAのものを購入した。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://www.iodata.jp/promo/hdd/useful/osxboot/osxboot.htm"&gt;Intel Mac USBハードディスク OS Xインストール情報&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;結果的に、外付けHDDへのLeopardのインストール、ブートもうまくいき、iPhone SDKも起動できるようになった。実は外付けHDDのUSBケーブルが腐っていて四苦八苦したのだけど、それについてはまた後日（&lt;a href="http://insideflag.blogspot.com/2009/05/i-o-datahddusb.html"&gt;I-O DATAの外付けHDDを買ったらUSBケーブルが腐っていた&lt;/a&gt;）。&lt;/p&gt;

&lt;h4&gt;参考&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://kentaro-shimizu.com/lecture/iphone/step2.html"&gt;iPhone Developer Programの登録 / iPhoneアプリ&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://d.hatena.ne.jp/nakamura001/20080904/1220504793"&gt;iPhone Developer Programの登録時の注意点 - 強火で進め&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://d.hatena.ne.jp/uzulla/20080911"&gt;2008-09-11 - c/fe&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;関連記事&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://insideflag.blogspot.com/2009/12/iphone-developer-program.html"&gt;iPhone Developer Programを購入したけどアクティベーションに失敗した&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://insideflag.blogspot.com/2009/12/ein.html"&gt;EINいらなくなってた&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://insideflag.blogspot.com/2010/04/iphone.html"&gt;iPhoneアプリの売上を受け取る口座について&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3966127164017981232-892697561504179492?l=insideflag.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3966127164017981232/posts/default/892697561504179492'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3966127164017981232/posts/default/892697561504179492'/><link rel='alternate' type='text/html' href='http://insideflag.blogspot.com/2009/05/iphone.html' title='iPhoneアプリの開発をはじめる'/><author><name>a</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-3966127164017981232.post-7527298468208059736</id><published>2009-05-22T17:15:00.027+09:00</published><updated>2011-08-16T06:30:52.257+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='クライミング'/><title type='text'>インサイドフラッギング再考</title><content type='html'>&lt;p&gt;「&lt;a href="http://insideflag.blogspot.com/2009/02/blog-post_24.html"&gt;ブログのタイトルについて&lt;/a&gt;」でインサイドフラッギングについてちょっと書いたのだけど、その後なんとなくこの使いにくいムーブを意識するようになった。&lt;/p&gt;

&lt;p&gt;最近では自然とインサイドフラッギングが出るようにもなってきたのだけど、その次のムーブでひとつ前のインサイドフラッギングが無駄だったことに気づくこともある。たとえば、&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;インサイドフラッギングで次のホールドに手を伸ばす&lt;/li&gt;
&lt;li&gt;流していた足を次のスタンスへ&lt;/li&gt;
&lt;li&gt;次のホールドが遠いので足を踏み替えてダイアゴナル&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;というムーブをした場合、結局3.で足を踏み替えている。これは次のように1.で足を踏み替えた場合と比べて利点がないように思える（結果的に足数は等しいので）。&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;足を踏み替えて次のホールドに手を伸ばす&lt;/li&gt;
&lt;li&gt;流していた足を次のスタンスへ&lt;/li&gt;
&lt;li&gt;そのままダイアゴナルで次の遠いホールドへ&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;つまり、次のムーブで足の踏み替えが発生しない場合（もう1回インサイドフラッギングとか、片足を切ったまま正対デッドとか）だとインサイドフラッギングは正解だったということになると思う（足数がひとつ減るので）。&lt;/p&gt;

&lt;p&gt;別にインサイドフラッギングが無駄になったとしても、足数は使わなかった場合と等しくなるだけなので、インサイドフラッギングでいけるならとりあえずやっとけばいいのかもしれない。いや、よくわかんないけど。まあ最初からムーブが読めていればそれに越したことはないんだろうけど。&lt;/p&gt;

&lt;h4&gt;よくわかってないことがよくわかったので調べてみた&lt;/h4&gt;
&lt;p&gt;インサイドフラッギングの利点は、足の踏み替えが省略できることにのみあると思っていたのだけど、そもそもそれが間違っているのかもしれない。ということで調べてみた。Webページで一番わかりやすかったのがこちら。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://wind.ap.teacup.com/gaida/646.html"&gt;GAIDAのクライミング日記 - インサイドフラッギング&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;つまり、足の踏み替えが省略できる、と。&lt;/p&gt;

&lt;p&gt;さらに「&lt;a href="http://www.amazon.co.jp/exec/obidos/ASIN/4635043274/burningdownth-22/ref=nosim" target="_blank"&gt;フリークライミング (ヤマケイ・テクニカルブック 登山技術全書)&lt;/a&gt;」によると、&lt;/p&gt;
&lt;div class="amazon-item-box" style="display: block; padding: 0; border: 1px solid  #999; margin: 8px;  -moz-border-radius: 10px;"&gt;&lt;div class="amazon-item-image" style="display: block; padding: 10px; float: left;"&gt;&lt;a href="http://www.amazon.co.jp/exec/obidos/ASIN/4635043274/burningdownth-22/ref=nosim" target="_blank"&gt;&lt;img src="http://ecx.images-amazon.com/images/I/51dGGtL6sCL._SL75_.jpg" alt="フリークライミング (ヤマケイ・テクニカルブック 登山技術全書)" title="フリークライミング (ヤマケイ・テクニカルブック 登山技術全書)" style="border: none; display: inline; vertical-align: bottom;" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;dl class="amazon-item-info" style="display: block; margin-left: 10px; padding: 0 8px 0 10px; font-size: 10pt; line-height: 110%;"&gt;&lt;dt class="amazon-item-name" style="display: block; margin-bottom: 5px; line-height: 120%;"&gt;&lt;a href="http://www.amazon.co.jp/exec/obidos/ASIN/4635043274/burningdownth-22/ref=nosim" target="_blank" title="フリークライミング (ヤマケイ・テクニカルブック 登山技術全書)"&gt;フリークライミング (ヤマケイ・テクニカルブック 登山技術全書)&lt;/a&gt;&lt;/dt&gt;&lt;dd&gt;&lt;ul class="amazon-item-info-list" style="list-style-type: none; padding-left: 0px; line-height: 120%;"&gt;&lt;li&gt;発売元: 山と溪谷社&lt;/li&gt;&lt;li&gt;価格: ￥ 1,890&lt;/li&gt;&lt;li&gt;発売日: 2005/05/01&lt;/li&gt;&lt;/ul&gt;&lt;/dd&gt;&lt;/dl&gt;&lt;p class="amazon-item-footer" style="clear: left; text-align: right; font-size: x-small; padding: 4px 10px 4px 10px; line-height: 100%"&gt;posted with &lt;a href="http://socialtunes.net"&gt;Socialtunes&lt;/a&gt;&lt;/p&gt;&lt;/div&gt;
&lt;blockquote&gt;&lt;p&gt;
つま先で壁を押すようにすると左右の足の間に微妙なオポジション効果が生まれ、アウトサイドよりさらに安定し、ハンドホールドの位置によってはレストもできる。
&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;と書かれている。足の踏み替え云々については一言も触れられていないけど、ムーブそのものの説明なので、その結果である踏み替えの省略については言及していないだけだろう。&lt;/p&gt;

&lt;p&gt;それよりも重要なのは&lt;q&gt;アウトサイドよりさらに安定する&lt;/q&gt;という点だ。そもそもアウトサイドと比較するのがよくわからないのだけど（使いどころが違うと思う）、場合によっては&lt;strong&gt;レストもできるくらい安定する&lt;/strong&gt;ものらしい。まだそんな経験ないけど。&lt;/p&gt;

&lt;p&gt;さらにさらに、ジムに置いてある「&lt;a href="http://www.amazon.co.jp/exec/obidos/ASIN/4808308711/burningdownth-22/ref=nosim" target="_blank"&gt;かんたんフリークライミング&lt;/a&gt;」でも調べてみたのだけど、&lt;/p&gt;
&lt;div class="amazon-item-box" style="display: block; padding: 0; border: 1px solid  #999; margin: 8px;  -moz-border-radius: 10px;"&gt;&lt;div class="amazon-item-image" style="display: block; padding: 10px; float: left;"&gt;&lt;a href="http://www.amazon.co.jp/exec/obidos/ASIN/4808308711/burningdownth-22/ref=nosim" target="_blank"&gt;&lt;img src="http://ecx.images-amazon.com/images/I/41ZHgeyjauL._SL75_.jpg" alt="かんたんフリークライミング" title="かんたんフリークライミング" style="border: none; display: inline; vertical-align: bottom;" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;dl class="amazon-item-info" style="display: block; margin-left: 10px; padding: 0 8px 0 10px; font-size: 10pt; line-height: 110%;"&gt;&lt;dt class="amazon-item-name" style="display: block; margin-bottom: 5px; line-height: 120%;"&gt;&lt;a href="http://www.amazon.co.jp/exec/obidos/ASIN/4808308711/burningdownth-22/ref=nosim" target="_blank" title="かんたんフリークライミング"&gt;かんたんフリークライミング&lt;/a&gt;&lt;/dt&gt;&lt;dd&gt;&lt;ul class="amazon-item-info-list" style="list-style-type: none; padding-left: 0px; line-height: 120%;"&gt;&lt;li&gt;発売元: 東京新聞出版局&lt;/li&gt;&lt;li&gt;価格: ￥ 1,365&lt;/li&gt;&lt;li&gt;発売日: 2008/11/14&lt;/li&gt;&lt;/ul&gt;&lt;/dd&gt;&lt;/dl&gt;&lt;p class="amazon-item-footer" style="clear: left; text-align: right; font-size: x-small; padding: 4px 10px 4px 10px; line-height: 100%;"&gt;posted with &lt;a href="http://socialtunes.net"&gt;Socialtunes&lt;/a&gt;&lt;/p&gt;&lt;/div&gt;
&lt;p&gt;アウトサイドフラッギングについてさえ言及されていない。初心者向けの本だから仕方ないか。&lt;/p&gt;

&lt;h4&gt;まとめ&lt;/h4&gt;
&lt;p&gt;ということで、当初の理解で大きな間違いはなかったということになると思う。以下に簡単にまとめてみる。&lt;/p&gt;

&lt;h5&gt;何をするときに使うのか&lt;/h5&gt;
&lt;ul&gt;
&lt;li&gt;次の一手をスタティックに出す&lt;/li&gt;
&lt;li&gt;クリップ&lt;/li&gt;
&lt;li&gt;レスト&lt;/li&gt;
&lt;/ul&gt;

&lt;h5&gt;どういう状況で使うのか&lt;/h5&gt;
&lt;ul&gt;
&lt;li&gt;そのままの足ではバランスが悪くカウンターバランスが必要&lt;/li&gt;
&lt;li&gt;スタンスが低いためアウトサイドフラッギングは使えない&lt;/li&gt;
&lt;li&gt;踏み替えでもいける&lt;/li&gt;
&lt;li&gt;アウトサイドフラッギングでは地面に足がついてしまう&lt;/li&gt;
&lt;/ul&gt;

&lt;h5&gt;何がうれしいのか&lt;/h5&gt;
&lt;ul&gt;
&lt;li&gt;足の踏み替えが省略できて省エネ&lt;/li&gt;
&lt;li&gt;とても安定する（らしい）&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;（追記）&lt;/strong&gt;意外にも「&lt;a href="http://www.amazon.co.jp/exec/obidos/ASIN/4635922758/burningdownth-22/ref=nosim" target="_blank"&gt;クライミングJOY No.1 (別冊山と溪谷)&lt;/a&gt;」に詳しく書いてあった。基本的には上記のとおりなのだけど、ハイステップなど正対ムーブのあとや、ホールドがサイドプルやアンダーのときに使うことが多いとのこと。&lt;/p&gt;
&lt;div class="amazon-item-box" style="display: block; padding: 0; border: 1px solid  #999; margin: 8px;  -moz-border-radius: 10px;"&gt;&lt;div class="amazon-item-image" style="display: block; padding: 10px; float: left;"&gt;&lt;a href="http://www.amazon.co.jp/exec/obidos/ASIN/4635922758/burningdownth-22/ref=nosim" target="_blank"&gt;&lt;img src="http://ecx.images-amazon.com/images/I/61Z0GcaWn2L._SL75_.jpg" alt="クライミングJOY No.1 (別冊山と溪谷)" title="クライミングJOY No.1 (別冊山と溪谷)" style="border: none; display: inline; vertical-align: bottom;" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;dl class="amazon-item-info" style="display: block; margin-left: 10px; padding: 0 8px 0 10px; font-size: 10pt; line-height: 110%;"&gt;&lt;dt class="amazon-item-name" style="display: block; margin-bottom: 5px; line-height: 120%;"&gt;&lt;a href="http://www.amazon.co.jp/exec/obidos/ASIN/4635922758/burningdownth-22/ref=nosim" target="_blank" title="クライミングJOY No.1 (別冊山と溪谷)"&gt;クライミングJOY No.1 (別冊山と溪谷)&lt;/a&gt;&lt;/dt&gt;&lt;dd&gt;&lt;ul class="amazon-item-info-list" style="list-style-type: none; padding-left: 0px; line-height: 120%;"&gt;&lt;li&gt;発売元: 山と渓谷社&lt;/li&gt;&lt;li&gt;発売日: 2008/10/31&lt;/li&gt;&lt;/ul&gt;&lt;/dd&gt;&lt;/dl&gt;&lt;p class="amazon-item-footer" style="clear: left; text-align: right; font-size: x-small; padding: 4px 10px 4px 10px; line-height: 100%;"&gt;posted with &lt;a href="http://socialtunes.net"&gt;Socialtunes&lt;/a&gt;&lt;/p&gt;&lt;/div&gt;

&lt;p&gt;&lt;strong&gt;（追記2）&lt;/strong&gt;「&lt;a href="http://www.amazon.co.jp/exec/obidos/ASIN/4635912639/burningdownth-22/ref=nosim" target="_blank"&gt;小山田大 DVDでボルダリング&lt;/a&gt;」と「&lt;a href="http://www.amazon.co.jp/exec/obidos/ASIN/4635912620/burningdownth-22/ref=nosim" target="_blank"&gt;平山ユージ DVDでクライミング&lt;/a&gt;」でも確認してみた。動画だとイメージはつかみやすいのだけど解説はあまり詳しくない。&lt;/p&gt;

&lt;h4&gt;関連記事&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://insideflag.blogspot.com/2009/11/blog-post_21.html"&gt;インサイドフラッギング補足&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://insideflag.blogspot.com/2011/03/blog-post_31.html"&gt;インサイドフラッギングの使い過ぎに注意&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3966127164017981232-7527298468208059736?l=insideflag.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3966127164017981232/posts/default/7527298468208059736'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3966127164017981232/posts/default/7527298468208059736'/><link rel='alternate' type='text/html' href='http://insideflag.blogspot.com/2009/05/blog-post_22.html' title='インサイドフラッギング再考'/><author><name>a</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-3966127164017981232.post-512773248419568918</id><published>2009-05-16T01:01:00.050+09:00</published><updated>2012-01-03T04:59:56.226+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='クライミング'/><title type='text'>クライミングによる指の関節炎について</title><content type='html'>&lt;blockquote&gt;&lt;p&gt;おおよそクライマーと呼ばれる人種で、"健康な指"を持っている者はまずいまい。&lt;/p&gt;&lt;p style="color:#666666;text-align:right;font-style:italic"&gt;&lt;cite&gt;クライマーズ・ボディ p.132&lt;/cite&gt;&lt;/p&gt;&lt;/blockquote&gt;

&lt;p&gt;クライミングでは指を伸ばすほうの筋肉も鍛えたほうがいい、というのは重々承知しているので、それなりに気をつけて指のストレッチなどもなるべくやるようにしている。そのためかどの指もちゃんとまっすぐ伸びはするのだけど、気がついたら両手とも中指が曲がりきらなくなっていた。&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;指の第一関節と第二関節を内側に曲げてみて、指先が付け根あたりにつかない場合は、関節が変形を起こし可動域が小さくなっている。自分は両手とも中指だけがつかない。&lt;/li&gt;
&lt;li&gt;手のひらを開いて指を閉じたときに、指と指の間に隙間が空くようならこれも関節が変形を起こしているということ。自分は中指と人差し指の間に大きな隙間ができてしまう。中指と薬指の間は少しだけ。&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;上で挙げた指関節の障害は炎症からはじまっているものなので、予防にはアイシング、またはそもそも指に負荷をかけないようにする（テーピングも有効）。関節を押さえて痛みを感じる場合は、組織修復のために炎症を起こしている可能性が高い。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;（追記）&lt;/strong&gt;手を開いたときに指が伸びないのは、登るとき使うのと反対の伸ばす筋肉（拮抗筋）が弱いかららしい。関節炎が原因であるかのように書いていたのを修正。この場合は、単純に指を伸ばすストレッチをすればいい。&lt;/p&gt;

&lt;p&gt;アイシングについては「&lt;a href="http://www.amazon.co.jp/exec/obidos/ASIN/4808308355/burningdownth-22/ref=nosim" target="_blank"&gt;クライマーズ・ボディ&lt;/a&gt;」でも解説されているけど、「&lt;a href="http://www.amazon.co.jp/exec/obidos/ASIN/4635922898/burningdownth-22/ref=nosim" target="_blank"&gt;ROCK &amp; SNOW 2009夏号 No.44&lt;/a&gt;」の&lt;q&gt;Jack中根のクライミング道場&lt;/q&gt;がとても詳しい。間違ったアイシングは逆効果の場合もあるので、指が痛いから何となくアイシングしているという人は読んでみるといいと思う。&lt;/p&gt;

&lt;p&gt;関節炎とは関係ないのかもしれないけど、吉田和正さんのウェブページで「&lt;a href="http://yoshida.omiki.com/yubi/yubi.html"&gt;指の故障のハナシ&lt;/a&gt;」、「&lt;a href="http://yoshida.omiki.com/yubi2.html"&gt;指の故障のハナシ2&lt;/a&gt;」が公開されている。自分はカチ持ちができないので書かれているケースに当てはまらないような気がしなくもないのだけど、一応マッサージはやったりやらなかったりしている。&lt;/p&gt;

&lt;p&gt;あとは、&lt;a href="http://www.amazon.co.jp/exec/obidos/ASIN/B000BAHQAG/burningdownth-22/ref=nosim" target="_blank"&gt;MUSASHI（ムサシ）のJOINT（ジョイント）&lt;/a&gt;が効くという人もいるけど、自分は使ったことがないので効果のほどはわからない。アイシングで改善しないのならサプリメントに頼るのもいいかもしれない。&lt;/p&gt;

&lt;h4&gt;参考&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://slomosakuji.blogspot.com/2010/08/blog-post_04.html"&gt;sakujiのスローライフクライマー日記: クライミング　指が痛いときの対処法&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="amazon-item-box" style="display: block; padding: 0; border: 1px solid  #999; margin: 8px;  -moz-border-radius: 10px;"&gt;&lt;div class="amazon-item-image" style="display: block; padding: 10px; float: left;"&gt;&lt;a href="http://www.amazon.co.jp/exec/obidos/ASIN/4808308355/burningdownth-22/ref=nosim" target="_blank"&gt;&lt;img src="http://ecx.images-amazon.com/images/I/51QC23BJANL._SL75_.jpg" alt="クライマーズ・ボディ" title="クライマーズ・ボディ" style="border: none; display: inline; vertical-align: bottom;" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;dl class="amazon-item-info" style="display: block; margin-left: 10px; padding: 0 8px 0 10px; font-size: 10pt; line-height: 110%;"&gt;&lt;dt class="amazon-item-name" style="display: block; margin-bottom: 5px; line-height: 120%;"&gt;&lt;a href="http://www.amazon.co.jp/exec/obidos/ASIN/4808308355/burningdownth-22/ref=nosim" target="_blank" title="クライマーズ・ボディ"&gt;クライマーズ・ボディ&lt;/a&gt;&lt;/dt&gt;&lt;dd&gt;&lt;ul class="amazon-item-info-list" style="list-style-type: none; padding-left: 0px; line-height: 120%;"&gt;&lt;li&gt;発売元: 東京新聞出版局&lt;/li&gt;&lt;li&gt;価格: ￥ 1,785&lt;/li&gt;&lt;li&gt;発売日: 2005/06&lt;/li&gt;&lt;/ul&gt;&lt;/dd&gt;&lt;/dl&gt;&lt;p class="amazon-item-footer" style="clear: left; text-align: right; font-size: x-small; padding: 4px 10px 4px 10px; line-height: 100%;"&gt;posted with &lt;a href="http://socialtunes.net"&gt;Socialtunes&lt;/a&gt;&lt;/p&gt;&lt;/div&gt;
&lt;div class="amazon-item-box" style="display: block; padding: 0; border: 1px solid  #999; margin: 8px;  -moz-border-radius: 10px;"&gt;&lt;div class="amazon-item-image" style="display: block; padding: 10px; float: left;"&gt;&lt;a href="http://www.amazon.co.jp/exec/obidos/ASIN/4635922898/burningdownth-22/ref=nosim" target="_blank"&gt;&lt;img src="http://ecx.images-amazon.com/images/I/51mCTmiZ6pL._SL75_.jpg" alt="ROCK&amp;SNOW number44 (summer iss (別冊山と溪谷)" title="ROCK&amp;SNOW number44 (summer iss (別冊山と溪谷)" style="border: none; display: inline; vertical-align: bottom;" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;dl class="amazon-item-info" style="display: block; margin-left: 10px; padding: 0 8px 0 10px; font-size: 10pt; line-height: 110%;"&gt;&lt;dt class="amazon-item-name" style="display: block; margin-bottom: 5px; line-height: 120%;"&gt;&lt;a href="http://www.amazon.co.jp/exec/obidos/ASIN/4635922898/burningdownth-22/ref=nosim" target="_blank" title="ROCK&amp;SNOW number44 (summer iss (別冊山と溪谷)"&gt;ROCK&amp;SNOW number44 (summer iss (別冊山と溪谷)&lt;/a&gt;&lt;/dt&gt;&lt;dd&gt;&lt;ul class="amazon-item-info-list" style="list-style-type: none; padding-left: 0px; line-height: 120%;"&gt;&lt;li&gt;発売元: 山と溪谷社&lt;/li&gt;&lt;li&gt;価格: ￥ 1,400&lt;/li&gt;&lt;li&gt;発売日: 2009/06/03&lt;/li&gt;&lt;/ul&gt;&lt;/dd&gt;&lt;/dl&gt;&lt;p class="amazon-item-footer" style="clear: left; text-align: right; font-size: x-small; padding: 4px 10px 4px 10px; line-height: 100%;"&gt;posted with &lt;a href="http://socialtunes.net"&gt;Socialtunes&lt;/a&gt;&lt;/p&gt;&lt;/div&gt;
&lt;div class="amazon-item-box" style="display: block; padding: 0; border: 1px solid  #999; margin: 8px;  -moz-border-radius: 10px;"&gt;&lt;div class="amazon-item-image" style="display: block; padding: 10px; float: left;"&gt;&lt;a href="http://www.amazon.co.jp/exec/obidos/ASIN/B000BAHQAG/burningdownth-22/ref=nosim" target="_blank"&gt;&lt;img src="http://ecx.images-amazon.com/images/I/31N4J1K0APL._SL75_.jpg" alt="MUSASHI(ムサシ) JOINT (ジョイント) 100g" title="MUSASHI(ムサシ) JOINT (ジョイント) 100g" style="border: none; display: inline; vertical-align: bottom;" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;dl class="amazon-item-info" style="display: block; margin-left: 10px; padding: 0 8px 0 10px; font-size: 10pt; line-height: 110%;"&gt;&lt;dt class="amazon-item-name" style="display: block; margin-bottom: 5px; line-height: 120%;"&gt;&lt;a href="http://www.amazon.co.jp/exec/obidos/ASIN/B000BAHQAG/burningdownth-22/ref=nosim" target="_blank" title="MUSASHI(ムサシ) JOINT (ジョイント) 100g"&gt;MUSASHI(ムサシ) JOINT (ジョイント) 100g&lt;/a&gt;&lt;/dt&gt;&lt;dd&gt;&lt;ul class="amazon-item-info-list" style="list-style-type: none; padding-left: 0px; line-height: 120%;"&gt;&lt;li&gt;発売元: インフィニティ&lt;/li&gt;&lt;li&gt;価格: ￥ 3,683 (27% OFF)&lt;/li&gt;&lt;/ul&gt;&lt;/dd&gt;&lt;/dl&gt;&lt;p class="amazon-item-footer" style="clear: left; text-align: right; font-size: x-small; padding: 4px 10px 4px 10px; line-height: 100%"&gt;posted with &lt;a href="http://socialtunes.net"&gt;Socialtunes&lt;/a&gt;&lt;/p&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3966127164017981232-512773248419568918?l=insideflag.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3966127164017981232/posts/default/512773248419568918'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3966127164017981232/posts/default/512773248419568918'/><link rel='alternate' type='text/html' href='http://insideflag.blogspot.com/2009/05/blog-post.html' title='クライミングによる指の関節炎について'/><author><name>a</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-3966127164017981232.post-2371937265993348137</id><published>2009-05-11T12:08:00.006+09:00</published><updated>2011-08-16T05:24:47.620+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Ubuntu'/><title type='text'>GMarksを使い始めた</title><content type='html'>&lt;p&gt;「&lt;a href="http://insideflag.blogspot.com/2009/03/google.html"&gt;Googleブックマーク追加用のブックマークレット&lt;/a&gt;」に書いたように&lt;a href="http://www.google.com/bookmarks/?hl=ja"&gt;Googleブックマーク&lt;/a&gt;を使い始めたのだけど、わざわざブックマークのページを開いてから、さらに目的のページへというのがだんだん面倒になってきた（いまさらだけど）。&lt;/p&gt;

&lt;p style="clear:both"&gt;ということで、FirefoxのアドオンでメニューとしてGoogleブックマークを表示できるものはないかと探してみたら&lt;a href="https://addons.mozilla.org/ja/firefox/search?q=google+bookmarks"&gt;たくさんあった。&lt;/a&gt;そのなかから今回の目的に適った&lt;a href="https://addons.mozilla.org/ja/firefox/addon/7265"&gt;Google Bookmarks Button Reloaded&lt;/a&gt;、&lt;a href="https://addons.mozilla.org/ja/firefox/addon/2448"&gt;GBookmarks (Google Bookmarks for Firefox)&lt;/a&gt;、
&lt;a href="https://addons.mozilla.org/ja/firefox/addon/2888"&gt;GMarks&lt;/a&gt;を試してみた。&lt;/p&gt;

&lt;p&gt;Googleブックマークをメニューに表示したいだけなので、機能的にはどれでも問題ないのだけど、最終的にはカスタマイズできる項目が一番多い&lt;a href="https://addons.mozilla.org/ja/firefox/addon/2888"&gt;GMarks&lt;/a&gt;を選択した。&lt;/p&gt;

&lt;p&gt;GMarksはサイドバーに表示して使うことを想定して作られているようなのだけど、自分はブックマークの数も多くないためメニューとツールバーから使用している。&lt;q&gt;ブックマークの追加&lt;/q&gt;や&lt;q&gt;ブックマークの管理&lt;/q&gt;などは独自に実装されていて、Googleブックマークのページを開かなくても必要なことは一通りできるようになっている。&lt;/p&gt;

&lt;p&gt;&lt;q&gt;ブックマークの追加&lt;/q&gt;は&lt;q&gt;メモ&lt;/q&gt;に自動的にサイトの説明文が入ったりはしないので、「&lt;a href="http://insideflag.blogspot.com/2009/03/google.html"&gt;Googleブックマーク追加用のブックマークレット&lt;/a&gt;」で書いたものを引き続き使っている。&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3966127164017981232-2371937265993348137?l=insideflag.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3966127164017981232/posts/default/2371937265993348137'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3966127164017981232/posts/default/2371937265993348137'/><link rel='alternate' type='text/html' href='http://insideflag.blogspot.com/2009/05/gmarks.html' title='GMarksを使い始めた'/><author><name>a</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-3966127164017981232.post-5354796578592242085</id><published>2009-05-06T14:03:00.025+09:00</published><updated>2011-08-16T05:20:19.936+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='iPhone/iPod Touch'/><title type='text'>iPhone/iPod touchの株価アプリで為替レートの表示</title><content type='html'>&lt;p&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_pNXH1Lg1eZw/Sgequs0lxgI/AAAAAAAAAUI/0gA43VPcuVk/s1600-h/photo.jpg"&gt;&lt;img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 134px; height: 200px;" src="http://1.bp.blogspot.com/_pNXH1Lg1eZw/Sgequs0lxgI/AAAAAAAAAUI/0gA43VPcuVk/s200/photo.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5334420002926085634" /&gt;&lt;/a&gt;iPhone/iPod touchで為替レートを見たいときは、しぶしぶ「&lt;a href="http://quote.yahoo.co.jp/m3?u"&gt;Yahoo!ファイナンス - 外国為替情報&lt;/a&gt;」をSafariで見ていたのだけど、プレインストールされている&lt;q&gt;株価&lt;/q&gt;アプリで表示できることを知った。ネタ元は次のページ。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://ipodtouchlab.com/2008/07/iphone-ipod-touch-exchange-rate.html"&gt;iPhone・iPod touch の「株価」アプリで為替レートをチェックする方法 - iPhone・iPod touch ラボ&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p style="clear:both"&gt;やり方は簡単で、&lt;q&gt;株価&lt;/q&gt;アプリを開いたら、&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;右下に表示されている&lt;q&gt;&lt;strong&gt;i&lt;/strong&gt;&lt;/q&gt;をタップ&lt;/li&gt;
&lt;li&gt;次の画面に切り替わるので、今度は画面左上の&lt;q&gt;&lt;strong&gt;+&lt;/strong&gt;&lt;/q&gt;をタップ&lt;/li&gt;
&lt;li&gt;&lt;q&gt;企業名または銘柄コードを入力してください。&lt;/q&gt;というテキストフィールドが表示されるので、以下のコードを入力する（自分が実際に登録しているものを列挙）。&lt;strong&gt;自動補完はされない&lt;/strong&gt;ので手で全部入力する必要がある。また、大文字小文字は区別されない。
&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_pNXH1Lg1eZw/Sgeq0tjDTdI/AAAAAAAAAUQ/BIlcezVJ6kY/s1600-h/photo2.jpg"&gt;&lt;img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 134px; height: 200px;" src="http://3.bp.blogspot.com/_pNXH1Lg1eZw/Sgeq0tjDTdI/AAAAAAAAAUQ/BIlcezVJ6kY/s200/photo2.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5334420106200174034" /&gt;&lt;/a&gt;
&lt;dl&gt;
&lt;dt&gt;&lt;strong&gt;USDJPY=X&lt;/strong&gt;&lt;/dt&gt;&lt;dd&gt;アメリカドル/日本円&lt;/dd&gt;
&lt;dt&gt;&lt;strong&gt;EURJPY=X&lt;/strong&gt;&lt;/dt&gt;&lt;dd&gt;欧州ユーロ/日本円&lt;/dd&gt;
&lt;dt&gt;&lt;strong&gt;GBPJPY=X&lt;/strong&gt;&lt;/dt&gt;&lt;dd&gt;イギリスポンド/日本円&lt;/dd&gt;
&lt;dt&gt;&lt;strong&gt;AUDJPY=X&lt;/strong&gt;&lt;/dt&gt;&lt;dd&gt;オーストラリアドル/日本円&lt;/dd&gt;
&lt;dt&gt;&lt;strong&gt;NZDJPY=X&lt;/strong&gt;&lt;/dt&gt;&lt;dd&gt;ニュージーランドドル/日本円&lt;/dd&gt;
&lt;dt&gt;&lt;strong&gt;CHFJPY=X&lt;/strong&gt;&lt;/dt&gt;&lt;dd&gt;スイスフラン/日本円&lt;/dd&gt;
&lt;dt&gt;&lt;strong&gt;CADJPY=X&lt;/strong&gt;&lt;/dt&gt;&lt;dd&gt;カナダドル/日本円&lt;/dd&gt;
&lt;dt&gt;&lt;strong&gt;ZARJPY=X&lt;/strong&gt;&lt;/dt&gt;&lt;dd&gt;南アフリカランド/日本円&lt;/dd&gt;
&lt;/dl&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;p style="clear:both"&gt;3文字の通過コードの組み合わせなので、&lt;strong&gt;EURUSD=X&lt;/strong&gt;（欧州ユーロ/アメリカドル）や&lt;strong&gt;JPYUSD=X&lt;/strong&gt;（日本円/アメリカドル）なども使用可能。だけど、小数点以下2桁までしか表示されないため、後者は0.01などと表示されてしまいあまり意味がない。
&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3966127164017981232-5354796578592242085?l=insideflag.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3966127164017981232/posts/default/5354796578592242085'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3966127164017981232/posts/default/5354796578592242085'/><link rel='alternate' type='text/html' href='http://insideflag.blogspot.com/2009/05/iphoneipod-touch.html' title='iPhone/iPod touchの株価アプリで為替レートの表示'/><author><name>a</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_pNXH1Lg1eZw/Sgequs0lxgI/AAAAAAAAAUI/0gA43VPcuVk/s72-c/photo.jpg' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-3966127164017981232.post-5608967239413339275</id><published>2009-05-02T13:43:00.018+09:00</published><updated>2011-02-28T03:06:57.084+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='iPhone/iPod Touch'/><category scheme='http://www.blogger.com/atom/ns#' term='Ubuntu'/><title type='text'>iPod touch（第2世代）を購入した</title><content type='html'>&lt;p&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://images.amazon.com/images/P/B000IIOQJK.09._OU09_SCLZZZZZZZ_.jpg"&gt;&lt;img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 90px; height: 160px;" src="http://images.amazon.com/images/P/B000IIOQJK.09._OU09_SCMZZZZZZZ_.jpg" border="0" alt="" /&gt;&lt;/a&gt;先日思うところがあってiPod touchを購入した。&lt;a href="http://mb.softbank.jp/mb/iphone/everybody/"&gt;iPhone for everybody&lt;/a&gt;を利用してiPhoneを買う事も考えたのだけど、山とか沢とか岩場とかに持って行くことを考えたら現在使用しているCASIO G'zOne W42CA（防水で耐衝撃性能が高い携帯）をそのまま使うのがいいと思いiPod touchにしておいた。&lt;/p&gt;

&lt;p&gt;iPhoneは日本の携帯が持つ機能の多くを備えていないと言われるけど、いままで携帯を使いこなしてきたという訳ではないので、その点は別に問題なかったのだけど。&lt;/p&gt;

&lt;p style="clear:both"&gt;購入後、最初だけはUSBでiTunesにつなげてユーザ登録をしなければならない。&lt;a href="http://insideflag.blogspot.com/2009/02/ubuntu-on-hp-2133-mini.html"&gt;HP 2133 MiniをWindows Vistaとのデュアルブートにしておいてよかった。&lt;/a&gt;次にUbuntuをブートしてRhythmboxで同期させてみようと思ったのだけど、なぜかデジカメとして認識されてしまう。iPhoneの場合はカメラがついているので撮影した写真が見れて、コピーや削除もできるらしいのだけどiPod touchだとまったくうれしくない。&lt;/p&gt;

&lt;p&gt;とにかく音楽ファイルを同期させたかったのだけど、どうやらそれはできないらしい。iPodは昔からiTunesDBというファイルに音楽ファイルなどの情報を保存していたのだけど、いつからか各ファイルのハッシュ値も一緒に保存されるようになり、そのハッシュ値が一致しないと再生ができなくなっているので、ハッシュキーがわからないサードパーティのアプリケーションから同期するのは不可能、ということのようだ。&lt;/p&gt;

&lt;p&gt;ただし、Jailbreakすれば可能ということで、いまのところJailbreakする予定はないけどとりあえずリンクだけ残しておく。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://help.ubuntu.com/community/PortableDevices/iPhone"&gt;Using an iPhone or iPod Touch with Ubuntu - Community Ubuntu Documentation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://viva-ubuntu.net/?p=1507"&gt;iPhone 3GをUbuntuにマウント。音楽、ビデオ、写真を転送して再生/参照する | Viva! Ubuntu!!&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;Discover&lt;/h4&gt;
&lt;p&gt;&lt;strong&gt;（追記）DiscoverはiOS4では動作しない。&lt;/strong&gt;自分はGoodReaderを購入した。&lt;/p&gt;

&lt;p&gt;結局、音楽や動画を同期するためにはWindowsで起動し直してiTunesから行うことになるのだけど、別のアプリケーション内で再生するなら無線LAN経由でファイルを転送するだけで可能だ。自分が使っているのはDiscoverというアプリケーションで、起動するとiPhone/iPod touch内でWebDAVサーバが立ち上がるので、PCからファイルを転送することができる。&lt;/p&gt;

&lt;p&gt;同じようなアプリケーションは他にもあるのだけど、Discoverは無料で、広告は表示されるけど特に機能制限もない（広告の表示されない有料バージョンはDiscover Pro）。ファイル転送は起動時にDiscoverのURLが表示されるので、WebブラウザにそのURLを打ち込んでブラウザ上で行うこともできるし、WebDAVクライアントから行ってもいい。&lt;/p&gt;

&lt;p&gt;Discoverに転送したファイルはDiscoverの中でだけ有効なのだけど、音楽や動画の再生だけでなく画像やPDF, Excelの表示もできる。ただ残念なことに音楽プレイヤーというわけではないので、連続再生もサポートしていないし、バックグラウンドでの再生もできない（Discoverを起動したままでないと再生できない）。&lt;/p&gt;

&lt;p&gt;ということで、これがiPod機能の代わりになるわけではないのだけど、Discover自体はとても有用なアプリケーションだと思う。WebDAVサーバ以外にも、Mobile Meとの連携やiDiskからのダウンロード、近くのiPhone/iPod touchとのファイルのやり取りなどといった機能もある。&lt;/p&gt;

&lt;h4&gt;参考&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://www.moongift.jp/2009/01/discover/"&gt;MOONGIFT: » お勧め！iPhone/iPod TouchをWebDAVサーバ化「Discover」:オープンソースを毎日紹介&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.apptoiphone.com/2009/01/discover.html"&gt;iPhoneあっぷ使ってみた: Discover - ファイル転送&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3966127164017981232-5608967239413339275?l=insideflag.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3966127164017981232/posts/default/5608967239413339275'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3966127164017981232/posts/default/5608967239413339275'/><link rel='alternate' type='text/html' href='http://insideflag.blogspot.com/2009/05/ipod-touch.html' title='iPod touch（第2世代）を購入した'/><author><name>a</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-3966127164017981232.post-2163838677120880825</id><published>2009-04-24T18:42:00.047+09:00</published><updated>2011-09-30T13:01:33.409+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='クライミング'/><title type='text'>自宅でできるクライミングのためのトレーニング</title><content type='html'>&lt;p&gt;自宅でできるトレーニングについて考えてみた。ここでいう&lt;q&gt;トレーニング&lt;/q&gt;はただの筋力トレーニングのことではなく、もっとクライミングに近い前段階になるようなもの。別にジムに行く時間がとれないというわけではないのだけど、システマティックなトレーニングの必要性を感じてきたのと、ジムでは登るほうに重点を置いたほうがいいと思うので。&lt;/p&gt;

&lt;h4&gt;キャンパシング&lt;/h4&gt;
&lt;p&gt;効果はとても高いだろうけど（「&lt;a href="http://insideflag.blogspot.com/2009/03/blog-post_19.html"&gt;キャンパシング&lt;/a&gt;」参照）、まずはキャンパスボードを自作するところから始めなければならない。検索してみるとキャンパスボードを自作している人は意外に多いようだ。設置も自立式にすれば問題なさそう。でも製作のための材料や道具も買わなければならないので、費用はかなり高くなってしまうと思う。あと、はっきり言って面倒くさい。正直そこまでのモチベーションはないのであっさり断念。&lt;/p&gt;

&lt;h4&gt;ポータブルロック&lt;/h4&gt;
&lt;p&gt;東商アソシエートの&lt;a href="http://www.climbing-tosho.com/portable-rock/index.html"&gt;ポータブルロック&lt;/a&gt;は上で挙げたキャンパスボード自作の弱点？をすべて解決している。さらに折りたたみ収納もできるというすぐれもの。値段は39,900円プラス東京への送料が3700円で合計43600円。決して安くはないけど、自作の手間や材料費などを考えると悪くないかもしれない。ただ自分の場合はホールドは必要なくて、それよりも両面ともキャンパスラングだとよかった。あとは、あの足を投げ出した姿勢でキャンパシングと同じ効果が得られるかがわからないので、一度体験できるといいのだけどなかなかそうもいかないし、購入には踏みきれない。&lt;/p&gt;

&lt;h4&gt;フィンガーボード&lt;/h4&gt;
&lt;p&gt;もう少し敷居を下げてフィンガーボードはどうだろう。基本的にはチンニングによる筋力アップと、&lt;a href="http://insideflag.blogspot.com/2009/06/blog-post_27.html"&gt;デッドハング（静止ぶら下がり）&lt;/a&gt;による指の筋動員率アップが見込めるとのこと。値段もそんなに高くないので欲しいのだけど、致命的なことに設置場所が確保できない。&lt;a href="http://www.lostarrow.co.jp/support/pdf/clim_0406_02.pdf"&gt;メトリウスのフィンガーボードの説明書（PDF）&lt;/a&gt;に詳しく書いてあるけど、設置作業も意外に大変そう。&lt;/p&gt;

&lt;table border="0" cellpadding="0" cellspacing="0"&gt;&lt;tr&gt;&lt;td valign="top"&gt;&lt;div style="border:1px solid;margin:0px;padding:6px 0px;width:160px;text-align:center;float:left"&gt;&lt;a href="http://hb.afl.rakuten.co.jp/hgc/0e7cd630.4e06c78d.0e7cd631.5225251e/?pc=http%3a%2f%2fitem.rakuten.co.jp%2fraliguras%2f100010342%2f%3fscid%3daf_ich_link_tbl&amp;m=http%3a%2f%2fm.rakuten.co.jp%2fraliguras%2fi%2f10004048%2f" target="_blank"&gt;&lt;img src="http://hbb.afl.rakuten.co.jp/hgb/?pc=http%3a%2f%2fthumbnail.image.rakuten.co.jp%2f%400_mall%2fraliguras%2fcabinet%2f00986704%2fimg57003261.jpg%3f_ex%3d128x128&amp;m=http%3a%2f%2fthumbnail.image.rakuten.co.jp%2f%400_mall%2fraliguras%2fcabinet%2f00986704%2fimg57003261.jpg%3f_ex%3d80x80" alt="Metolius（メトリウス）シミュレーター3D自宅でもクライミングに近い負荷を手軽に再現" border="0" style="margin:0px;padding:0px"&gt;&lt;/a&gt;&lt;p style="font-size:12px;line-height:1.4em;text-align:left;margin:0px;padding:2px 6px"&gt;&lt;a href="http://hb.afl.rakuten.co.jp/hgc/0e7cd630.4e06c78d.0e7cd631.5225251e/?pc=http%3a%2f%2fitem.rakuten.co.jp%2fraliguras%2f100010342%2f%3fscid%3daf_ich_link_tbl&amp;m=http%3a%2f%2fm.rakuten.co.jp%2fraliguras%2fi%2f10004048%2f" target="_blank"&gt;Metolius（メトリウス）シミュレーター3D自宅でもクライミングに近い負荷を手軽に再現&lt;/a&gt;&lt;br&gt;&lt;span style=""&gt;価格：8,715円（税込、送料別）&lt;/span&gt;&lt;br&gt;&lt;/p&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;p&gt;&lt;strong&gt;（追記）&lt;/strong&gt;「&lt;a href="http://insideflag.blogspot.com/2009/11/blog-post.html"&gt;斬新なフィンガーボードの設置方法&lt;/a&gt;」も参照。&lt;/p&gt;

&lt;h4&gt;ロックリングス&lt;/h4&gt;
&lt;p&gt;さらにお手軽なものではメトリウスのロックリングスというのがある。トレーニングのバリエーションはフィンガーボードよりも少なくなってしまうけど、スリングをかけるだけで設置ができるというのは魅力的だと思う。そこでふと考え付いたのだけど、これを&lt;strong&gt;2セット購入して壁にくっつけるようにそれぞれ高さをかえて設置&lt;/strong&gt;すれば、キャンパシングができたりして？しっかり壁に固定するわけではないので、飛びついた瞬間に横に動きそうなのが心配だけど。&lt;/p&gt;

&lt;p&gt;日本で購入すると1セット5880円だけど、&lt;a href="http://www.rei.com/product/793157"&gt;REI&lt;/a&gt;で個人輸入すれば30ドルなので今の為替レートなら同じ値段で2セット買える（送料がいくらかわからないけど）。ということで2セット買いを現在検討中。ちなみに&lt;a href="http://www.lostarrow.co.jp/support/pdf/clim_0406_02.pdf"&gt;ロックリングスの説明書（PDF）&lt;/a&gt;はフィンガーボードのと共通で、トレーニング方法についても書いてある。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;（追記）&lt;/strong&gt;本文に書かれている値段は当時のもの。&lt;/p&gt;

&lt;table border="0" cellpadding="0" cellspacing="0"&gt;&lt;tr&gt;&lt;td valign="top"&gt;&lt;div style="border:1px solid;margin:0px;padding:6px 0px;width:160px;text-align:center;float:left"&gt;&lt;a href="http://hb.afl.rakuten.co.jp/hgc/0e7cd630.4e06c78d.0e7cd631.5225251e/?pc=http%3a%2f%2fitem.rakuten.co.jp%2fraliguras%2f100010345%2f%3fscid%3daf_ich_link_tbl&amp;m=http%3a%2f%2fm.rakuten.co.jp%2fraliguras%2fi%2f10004051%2f" target="_blank"&gt;&lt;img src="http://hbb.afl.rakuten.co.jp/hgb/?pc=http%3a%2f%2fthumbnail.image.rakuten.co.jp%2f%400_mall%2fraliguras%2fcabinet%2f00986704%2fimg57003263.jpg%3f_ex%3d128x128&amp;m=http%3a%2f%2fthumbnail.image.rakuten.co.jp%2f%400_mall%2fraliguras%2fcabinet%2f00986704%2fimg57003263.jpg%3f_ex%3d80x80" alt="Metolius（メトリウス）ロックリングス3D持ち運び可能なトレーニングホールド" border="0" style="margin:0px;padding:0px"&gt;&lt;/a&gt;&lt;p style="font-size:12px;line-height:1.4em;text-align:left;margin:0px;padding:2px 6px"&gt;&lt;a href="http://hb.afl.rakuten.co.jp/hgc/0e7cd630.4e06c78d.0e7cd631.5225251e/?pc=http%3a%2f%2fitem.rakuten.co.jp%2fraliguras%2f100010345%2f%3fscid%3daf_ich_link_tbl&amp;m=http%3a%2f%2fm.rakuten.co.jp%2fraliguras%2fi%2f10004051%2f" target="_blank"&gt;Metolius（メトリウス）ロックリングス3D持ち運び可能なトレーニングホールド&lt;/a&gt;&lt;br&gt;&lt;span style=""&gt;価格：4,200円（税込、送料別）&lt;/span&gt;&lt;br&gt;&lt;/p&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;h4&gt;チンニングスタンド（懸垂マシーン）&lt;/h4&gt;
&lt;p&gt;&lt;a href="http://insideflag.blogspot.com/2010/01/blog-post.html"&gt;チンニングスタンド（懸垂マシーン）もいいかもしれない。&lt;/a&gt;&lt;/p&gt;
&lt;div class="amazon-item-box" style="display: block; padding: 0; border: 1px solid  #999; margin: 8px;  -moz-border-radius: 10px;"&gt;&lt;div class="amazon-item-image" style="display: block; padding: 10px; float: left;"&gt;&lt;a href="http://www.amazon.co.jp/exec/obidos/ASIN/B001U729UG/burningdownth-22/ref=nosim" target="_blank"&gt;&lt;img src="http://ecx.images-amazon.com/images/I/317fLLKPuzL._SL75_.jpg" alt="トータルフィットネス(TotalFitness) 懸垂マシン2  STM047" title="トータルフィットネス(TotalFitness) 懸垂マシン2  STM047" style="border: none; display: inline; vertical-align: bottom;" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;dl class="amazon-item-info" style="display: block; margin-left: 10px; padding: 0 8px 0 10px; font-size: 10pt; line-height: 110%;"&gt;&lt;dt class="amazon-item-name" style="display: block; margin-bottom: 5px; line-height: 120%;"&gt;&lt;a href="http://www.amazon.co.jp/exec/obidos/ASIN/B001U729UG/burningdownth-22/ref=nosim" target="_blank" title="トータルフィットネス(TotalFitness) 懸垂マシン2  STM047"&gt;トータルフィットネス(TotalFitness) 懸垂マシン2  STM047&lt;/a&gt;&lt;/dt&gt;&lt;dd&gt;&lt;ul class="amazon-item-info-list" style="list-style-type: none; padding-left: 0px; line-height: 120%;"&gt;&lt;li&gt;発売元: トータルフィットネス(TotalFitness)&lt;/li&gt;&lt;li&gt;価格: ￥ 10,030 (32% OFF)&lt;/li&gt;&lt;/ul&gt;&lt;/dd&gt;&lt;/dl&gt;&lt;p class="amazon-item-footer" style="clear: left; text-align: right; font-size: x-small; padding: 4px 10px 4px 10px; line-height: 100%;"&gt;posted with &lt;a href="http://socialtunes.net"&gt;Socialtunes&lt;/a&gt;&lt;/p&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3966127164017981232-2163838677120880825?l=insideflag.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3966127164017981232/posts/default/2163838677120880825'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3966127164017981232/posts/default/2163838677120880825'/><link rel='alternate' type='text/html' href='http://insideflag.blogspot.com/2009/04/blog-post.html' title='自宅でできるクライミングのためのトレーニング'/><author><name>a</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-3966127164017981232.post-2189446594030875509</id><published>2009-04-18T14:44:00.004+09:00</published><updated>2010-08-27T16:25:01.375+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Ubuntu'/><title type='text'>GNOMEでEmacsキーバインディング</title><content type='html'>&lt;p&gt;GNOMEアプリケーションのテキストボックスなどでEmacsキーバインディングを使うには、昔は&lt;em&gt;~/.gtkrc-2.0&lt;/em&gt;に&lt;/p&gt;
&lt;blockquote&gt;&lt;pre&gt;
gtk-key-theme-name="Emacs"
&lt;/pre&gt;&lt;/blockquote&gt;
&lt;p&gt;と書いておけばよかったのだけど、今はこれは効かないみたいだ。どうすればいいかというと、&lt;/p&gt;
&lt;blockquote&gt;&lt;pre&gt;
% cp /usr/share/themes/Emacs/gtk-2.0-key/gtkrc ~/.gtkrc-2.0
&lt;/pre&gt;&lt;/blockquote&gt;
&lt;p&gt;または、ターミナルエミュレータからgconf-editorを起動して、&lt;em&gt;/desktop/gnome/interface/gtk_key_theme&lt;/em&gt;の値を&lt;q&gt;Emacs&lt;/q&gt;に変更すればいい。&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3966127164017981232-2189446594030875509?l=insideflag.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3966127164017981232/posts/default/2189446594030875509'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3966127164017981232/posts/default/2189446594030875509'/><link rel='alternate' type='text/html' href='http://insideflag.blogspot.com/2009/04/gnomeemacs.html' title='GNOMEでEmacsキーバインディング'/><author><name>a</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-3966127164017981232.post-4424764327802772327</id><published>2009-04-10T00:41:00.009+09:00</published><updated>2011-08-16T05:14:08.119+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Ubuntu'/><title type='text'>mltermのインストールと設定</title><content type='html'>&lt;h4&gt;インストール&lt;/h4&gt;
&lt;blockquote&gt;&lt;pre&gt;
% sudo apt-get install mlterm mlterm-tools
&lt;/pre&gt;&lt;/blockquote&gt;
&lt;p&gt;GUIで設定を行うためにはmlterm-toolsもインストールする必要がある。&lt;/p&gt;

&lt;h4&gt;メタキーの設定&lt;/h4&gt;
&lt;p&gt;デフォルトではmetaキーがaltキーに割り当てられていないので、コンソールでEmacsを起動した場合などにとても困る。解決するには&lt;q&gt;Ctrl+右クリック&lt;/q&gt;で設定用のウィンドウが表示されるので、[その他]-[メタキー]の値を&lt;q&gt;Esc&lt;/q&gt;に変更する。または次のように直接設定ファイルに追加することもできる。&lt;/p&gt;
&lt;blockquote&gt;&lt;pre&gt;
% echo "mod_meta_mode = esc" &gt;&gt; ~/.mlterm/main
&lt;/pre&gt;&lt;/blockquote&gt;

&lt;h4&gt;曖昧な文字幅の文字を全角で表示&lt;/h4&gt;
&lt;p&gt;詳しくは「&lt;a href="http://insideflag.blogspot.com/2009/03/utf-8.html"&gt;UTF-8環境と曖昧な文字幅&lt;/a&gt;」を参照。&lt;/p&gt;
&lt;blockquote&gt;&lt;pre&gt;
% echo "col_size_of_width_a = 2" &gt;&gt; ~/.mlterm/main
&lt;/pre&gt;&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3966127164017981232-4424764327802772327?l=insideflag.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3966127164017981232/posts/default/4424764327802772327'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3966127164017981232/posts/default/4424764327802772327'/><link rel='alternate' type='text/html' href='http://insideflag.blogspot.com/2009/04/mlterm.html' title='mltermのインストールと設定'/><author><name>a</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-3966127164017981232.post-5940780129384010434</id><published>2009-04-03T21:08:00.005+09:00</published><updated>2011-09-27T07:55:15.890+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Ubuntu'/><title type='text'>$HOMEにある日本語ディレクトリを英語にする</title><content type='html'>&lt;p&gt;Ubuntuをインストールしたら&lt;code&gt;$HOME&lt;/code&gt;の下に「デスクトップ」や「ドキュメント」「画像」「音楽」など日本語のディレクトリがデフォルトで作られていた。日本語ディレクトリはコンソールからはとても使いにくいのこれは困る。&lt;/p&gt;
&lt;blockquote&gt;&lt;pre&gt;
% LANG=C xdg-user-dirs-gtk-update
&lt;/pre&gt;&lt;/blockquote&gt;
&lt;p&gt;とすれば英語に変更することができる。もし任意の名前に変更したい場合は&lt;em&gt;~/.config/user-dirs.dirs&lt;/em&gt;を直接編集すればいい。&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3966127164017981232-5940780129384010434?l=insideflag.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3966127164017981232/posts/default/5940780129384010434'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3966127164017981232/posts/default/5940780129384010434'/><link rel='alternate' type='text/html' href='http://insideflag.blogspot.com/2009/04/home.html' title='$HOMEにある日本語ディレクトリを英語にする'/><author><name>a</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-3966127164017981232.post-885273094237907434</id><published>2009-03-30T16:53:00.030+09:00</published><updated>2010-10-17T02:10:06.718+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='クライミング'/><title type='text'>キャンパシング</title><content type='html'>&lt;p&gt;効率的に強くなるためにキャンパシングをやったほうがいいということで（ジムで強い人に言われた）、キャンパシングについて改めて調べてみたのでまとめてみる。&lt;/p&gt;

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

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

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

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

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

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

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

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

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

&lt;h4&gt;スタティック&lt;/h4&gt;
&lt;p&gt;キャンパシングによってスタティックな力も向上するが、パワースローを短い間隔で可能な限りゆっくりとしたスピードでやればスタティックな力専用のトレーニングになる。他にもスタティックなラダー（&lt;strong&gt;1-2-3-4-5-6-6-5-4-3-2-1&lt;/strong&gt;）やロックオフ（懸垂で体を引きつけた状態で片手を離して耐えつづける。下りるときは肘や肩を痛めないようにゆっくり）なども有効。&lt;/p&gt;

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

&lt;h4&gt;参考&lt;/h4&gt;
&lt;div class="amazon-item-box" style="display: block; padding: 0; border: 1px solid  #999; margin: 8px;  -moz-border-radius: 10px;"&gt;&lt;div class="amazon-item-image" style="display: block; padding: 10px; float: left;"&gt;&lt;a href="http://www.amazon.co.jp/exec/obidos/ASIN/4635043274/burningdownth-22/ref=nosim" target="_blank"&gt;&lt;img src="http://ecx.images-amazon.com/images/I/51dGGtL6sCL._SL75_.jpg" alt="フリークライミング (ヤマケイ・テクニカルブック 登山技術全書)" title="フリークライミング (ヤマケイ・テクニカルブック 登山技術全書)" style="border: none; display: inline; vertical-align: bottom;" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;dl class="amazon-item-info" style="display: block; margin-left: 10px; padding: 0 8px 0 10px; font-size: 10pt; line-height: 110%;"&gt;&lt;dt class="amazon-item-name" style="display: block; margin-bottom: 5px; line-height: 120%;"&gt;&lt;a href="http://www.amazon.co.jp/exec/obidos/ASIN/4635043274/burningdownth-22/ref=nosim" target="_blank" title="フリークライミング (ヤマケイ・テクニカルブック 登山技術全書)"&gt;フリークライミング (ヤマケイ・テクニカルブック 登山技術全書)&lt;/a&gt;&lt;/dt&gt;&lt;dd&gt;&lt;ul class="amazon-item-info-list" style="list-style-type: none; padding-left: 0px; line-height: 120%;"&gt;&lt;li&gt;発売元: 山と溪谷社&lt;/li&gt;&lt;li&gt;価格: ￥ 1,890&lt;/li&gt;&lt;li&gt;発売日: 2005/05/01&lt;/li&gt;&lt;/ul&gt;&lt;/dd&gt;&lt;/dl&gt;&lt;p class="amazon-item-footer" style="clear: left; text-align: right; font-size: x-small; padding: 4px 10px 4px 10px; line-height: 100%"&gt;posted with &lt;a href="http://socialtunes.net"&gt;Socialtunes&lt;/a&gt;&lt;/p&gt;&lt;/div&gt;

&lt;div class="amazon-item-box" style="display: block; padding: 0; border: 1px solid  #999; margin: 8px;  -moz-border-radius: 10px;"&gt;&lt;div class="amazon-item-image" style="display: block; padding: 10px; float: left;"&gt;&lt;a href="http://www.amazon.co.jp/exec/obidos/ASIN/4808308355/burningdownth-22/ref=nosim" target="_blank"&gt;&lt;img src="http://ecx.images-amazon.com/images/I/51QC23BJANL._SL75_.jpg" alt="クライマーズ・ボディ" title="クライマーズ・ボディ" style="border: none; display: inline; vertical-align: bottom;" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;dl class="amazon-item-info" style="display: block; margin-left: 10px; padding: 0 8px 0 10px; font-size: 10pt; line-height: 110%;"&gt;&lt;dt class="amazon-item-name" style="display: block; margin-bottom: 5px; line-height: 120%;"&gt;&lt;a href="http://www.amazon.co.jp/exec/obidos/ASIN/4808308355/burningdownth-22/ref=nosim" target="_blank" title="クライマーズ・ボディ"&gt;クライマーズ・ボディ&lt;/a&gt;&lt;/dt&gt;&lt;dd&gt;&lt;ul class="amazon-item-info-list" style="list-style-type: none; padding-left: 0px; line-height: 120%;"&gt;&lt;li&gt;発売元: 東京新聞出版局&lt;/li&gt;&lt;li&gt;価格: ￥ 1,785&lt;/li&gt;&lt;li&gt;発売日: 2005/06&lt;/li&gt;&lt;/ul&gt;&lt;/dd&gt;&lt;/dl&gt;&lt;p class="amazon-item-footer" style="clear: left; text-align: right; font-size: x-small; padding: 4px 10px 4px 10px; line-height: 100%;"&gt;posted with &lt;a href="http://socialtunes.net"&gt;Socialtunes&lt;/a&gt;&lt;/p&gt;&lt;/div&gt;

&lt;ul style="clear:both"&gt;
&lt;li&gt;&lt;a href="http://www.metoliusclimbing.com/pdf/Campus_Board_Brochure.pdf"&gt;メトリウスのキャンパスラング取扱い説明書・英語（PDF）&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.lostarrow.co.jp/support/pdf/clim_0306_06.pdf"&gt;メトリウスのキャンパスラング取扱い説明書・日本語（PDF）&lt;/a&gt;（ところどころ日本語訳に間違いがあるような）&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;関連記事&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://insideflag.blogspot.com/2009/06/blog-post_27.html"&gt;デッドハングによる指のトレーニング&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://insideflag.blogspot.com/2009/05/blog-post_31.html"&gt;片手ロックオフ&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3966127164017981232-885273094237907434?l=insideflag.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3966127164017981232/posts/default/885273094237907434'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3966127164017981232/posts/default/885273094237907434'/><link rel='alternate' type='text/html' href='http://insideflag.blogspot.com/2009/03/blog-post_19.html' title='キャンパシング'/><author><name>a</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-3966127164017981232.post-4035817538903133368</id><published>2009-03-18T03:50:00.012+09:00</published><updated>2011-08-16T05:07:45.309+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Ubuntu'/><title type='text'>UTF-8環境と曖昧な文字幅</title><content type='html'>&lt;p&gt;UbuntuはデフォルトでUTF-8環境なのだけど、ターミナルエミュレータ上でw3mやEmacsを使っていると表示が乱れることがときどきある。Unicodeが持つ&lt;q&gt;東アジアの曖昧な文字幅(East Asian Ambiguous Character Width)&lt;/q&gt;というのが原因で起きる問題らしい。&lt;/p&gt;

&lt;p&gt;&lt;q&gt;東アジアの曖昧な文字幅&lt;/q&gt;とは文脈によって文字幅が変化する文字があって、そういう文字をアプリケーション側で全角(fullwidth)として扱えばいいらしいのだけど、半角(halfwidth)として扱うと表示されるフォント幅と食い違って、結果として表示が乱れるということのようだ。&lt;/p&gt;

&lt;p&gt;いろいろなWebページを参考にして設定をしてみたのだけど、&lt;strong&gt;ほとんどまったく解決しなかった。&lt;/strong&gt;あまり深追いもしたくないので、とりあえずやれるだけやったことを各アプリケーションごとにメモしておく。&lt;/p&gt;

&lt;h4&gt;mlterm&lt;/h4&gt;
&lt;p&gt;mltermは設定ファイルに1行追加することで回避できる。&lt;/p&gt;
&lt;blockquote&gt;&lt;pre&gt;
% echo "col_size_of_width_a = 2" &gt;&gt; ~/.mlterm/main
&lt;/pre&gt;&lt;/blockquote&gt;
&lt;p&gt;または、起動時にオプションを指定することでも可能。&lt;/p&gt;
&lt;blockquote&gt;&lt;pre&gt;
% mlterm -a 2
&lt;/pre&gt;&lt;/blockquote&gt;
&lt;p&gt;これで全角で表示されるはずの文字（■とか）が半角で表示されることはなくなったのだけど、その前の文字をバックスペースで消したりすると表示が乱れる。&lt;/p&gt;

&lt;h4&gt;Screen&lt;/h4&gt;
&lt;p&gt;&lt;em&gt;~/.screenrc&lt;/em&gt;に&lt;/p&gt;
&lt;blockquote&gt;&lt;pre&gt;
defencoding utf-8
encoding utf-8 utf-8
cjkwidth on
&lt;/pre&gt;&lt;/blockquote&gt;
&lt;p&gt;を追加して、起動時に&lt;code&gt;-U&lt;/code&gt;オプションを渡す。&lt;/p&gt;
&lt;blockquote&gt;&lt;pre&gt;
% screen -U
&lt;/pre&gt;&lt;/blockquote&gt;
&lt;p&gt;&lt;q&gt;&lt;code&gt;defutf8 on&lt;/code&gt;&lt;/q&gt;とか&lt;q&gt;&lt;code&gt;utf8 on&lt;/code&gt;&lt;/q&gt;は&lt;code&gt;-U&lt;/code&gt;オプションで起動すれば必要ない。&lt;q&gt;&lt;code&gt;cjkwidth on&lt;/code&gt;&lt;/q&gt;が曖昧な文字幅問題を解決するための設定で、Ubuntuのパッケージはパッチが取り込まれていて使用可能になっているのだけど、mlterm単体でもおかしいのでよくわからない。&lt;/p&gt;

&lt;h4&gt;Emacs 22&lt;/h4&gt;
&lt;p&gt;&lt;em&gt;~/.emacs&lt;/em&gt;に下記を追加する。&lt;/p&gt;
&lt;blockquote&gt;&lt;pre&gt;
(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)
&lt;/pre&gt;&lt;/blockquote&gt;
&lt;p&gt;Emacs 22では&lt;a href="http://nijino.homelinux.net/emacs/utf-cjk.html"&gt;utf-translate-cjk-mode&lt;/a&gt;というマイナーモードが追加され、デフォルトで有効になっているためmule-ucsは必要ない。曖昧な文字幅問題は「&lt;a href="http://www.pqrs.org/tekezo/emacs/doc/wide-character/index.html"&gt;Emacs22 + UTF-8 における文脈依存な文字幅の問題について&lt;/a&gt;」に書いてある設定で解決する。試してみたところGUIで起動した場合は確かにまったく問題ない。でも&lt;code&gt;-nw&lt;/code&gt;オプションをつけてmlterm上で起動した場合はやっぱりだめ。まあ当然か。&lt;/p&gt;

&lt;h4&gt;w3m&lt;/h4&gt;
&lt;p&gt;一番問題になるのがw3m。ページによっては表示の乱れが激しすぎて使い物にならない。&lt;a href="http://www.j10n.org/files/w3m-cvs-1.914-ambwidth.patch"&gt;w3m-cvs-1.914-ambwidth.patch&lt;/a&gt;を当てて、&lt;q&gt;ある種のUnicode文字を全角にする&lt;/q&gt;を&lt;q&gt;Yes&lt;/q&gt;にすればいいらしいのだけど、パッケージを作り直すのとか面倒そうなのであっさりあきらめる。&lt;a href="http://insideflag.blogspot.com/2009/02/ubuntu-on-hp-2133-mini.html"&gt;HP 2133購入&lt;/a&gt;後はFirefoxをメインに使うようになったので、別にw3mはなくても問題ないし。&lt;/p&gt;

&lt;h4&gt;参考&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://ja.wikipedia.org/wiki/%E6%9D%B1%E3%82%A2%E3%82%B8%E3%82%A2%E3%81%AE%E6%96%87%E5%AD%97%E5%B9%85"&gt;東アジアの文字幅 - Wikipedia&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://d.hatena.ne.jp/macks/20060930/p1"&gt;w3m - Unicode の曖昧な文字幅問題 その1 - diary of a madman&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://d.hatena.ne.jp/macks/20061001/p1"&gt;Unicode の曖昧な文字幅問題 その2 - diary of a madman&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://d.hatena.ne.jp/macks/20090304"&gt;2009-03-04 - diary of a madman&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://vdr.jp/d/20070322.html#p01"&gt;[comp] 続々・rxvt-unicode ×問題再び - vdrめも (2007-03-22)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://lists.debian.or.jp/debian-devel/200703/msg00038.html"&gt;[debian-devel:16693] East Asian Width Problem at rxvt-unicode-ml&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://sho.tdiary.net/20090207.html#p03"&gt;screenとUTF-8の相性をなんとかする - ただのにっき(2009-02-07)&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3966127164017981232-4035817538903133368?l=insideflag.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3966127164017981232/posts/default/4035817538903133368'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3966127164017981232/posts/default/4035817538903133368'/><link rel='alternate' type='text/html' href='http://insideflag.blogspot.com/2009/03/utf-8.html' title='UTF-8環境と曖昧な文字幅'/><author><name>a</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-3966127164017981232.post-6711831237206845837</id><published>2009-03-16T02:10:00.013+09:00</published><updated>2010-08-27T16:21:15.078+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Ubuntu'/><title type='text'>Ubuntuのw3mで画像を表示する</title><content type='html'>&lt;p&gt;Ubuntuのw3mで画像を表示するには、w3m本体だけではなくw3m-imgというパッケージもインストールする必要がある。w3mのオプションは変更しなくいい。&lt;/p&gt;
&lt;blockquote&gt;&lt;pre&gt;
% sudo apt-get install w3m-img
&lt;/pre&gt;&lt;/blockquote&gt;

&lt;h4&gt;関連記事&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://insideflag.blogspot.com/2009/08/w3m-tips.html"&gt;w3m Tips&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3966127164017981232-6711831237206845837?l=insideflag.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3966127164017981232/posts/default/6711831237206845837'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3966127164017981232/posts/default/6711831237206845837'/><link rel='alternate' type='text/html' href='http://insideflag.blogspot.com/2009/03/w3m.html' title='Ubuntuのw3mで画像を表示する'/><author><name>a</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-3966127164017981232.post-216998587999204264</id><published>2009-03-07T00:01:00.011+09:00</published><updated>2010-08-27T16:19:01.160+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Ubuntu'/><title type='text'>Migemo(C/Migemo)のインストール</title><content type='html'>&lt;p&gt;Ubuntuは&lt;a href="http://www.kaoriya.net/#CMIGEMO"&gt;C/Migemo&lt;/a&gt;のパッケージがないのだけど、&lt;a href="http://insideflag.blogspot.com/2009/02/ubuntu-on-hp-2133-mini.html"&gt;新しいPC&lt;/a&gt;は速いし普通の&lt;a href="http://0xcc.net/migemo/"&gt;Migemo&lt;/a&gt;でも大丈夫だろということで普通のMigemoを試してみた。&lt;/p&gt;
&lt;blockquote&gt;&lt;pre&gt;
% sudo apt-get install migemo
&lt;/pre&gt;&lt;/blockquote&gt;
&lt;p&gt;まずはEmacsから。&lt;em&gt;~/.emacs&lt;/em&gt;に&lt;/p&gt;
&lt;blockquote&gt;&lt;pre&gt;
(load "migemo")
&lt;/pre&gt;&lt;/blockquote&gt;
&lt;p&gt;と書くだけで問題なく使えた。&lt;/p&gt;

&lt;p&gt;次はw3m. &lt;q&gt;雑多な設定&lt;/q&gt;の&lt;q&gt;Migemoコマンド&lt;/q&gt;のところに&lt;/p&gt;
&lt;blockquote&gt;&lt;pre&gt;
migemo -t egrep /usr/share/migemo/migemo-dict
&lt;/pre&gt;&lt;/blockquote&gt;
&lt;p&gt;としてみたけど日本語をまったく検索できない。いろいろ調べてみたところ、どうやらMigemoはUTF-8に対応していないようだ。じゃあ何故Emacsは大丈夫なのだろう？elispが吸収しているとか…？いや、きっとそうだ。そうに違いない。調べてないけど。&lt;/p&gt;

&lt;h4&gt;やっぱりC/Migemoで&lt;/h4&gt;
&lt;p&gt;Migemoのスクリプトを修正するのも面倒なので、やっぱりC/Migemoにしよう、ということで結局ソースからインストールする。まずは&lt;a href="http://www.kaoriya.net/#CMIGEMO"&gt;http://www.kaoriya.net/#CMIGEMO&lt;/a&gt;からtarballをダウンロードして&lt;em&gt;/usr/local/src&lt;/em&gt;に展開する。続けてシェル上で&lt;/p&gt;
&lt;blockquote&gt;&lt;pre&gt;
% cd /usr/local/src/cmigemo-1.3c-MIT
% sudo ./configure
% sudo make gcc
% cd dict
% sudo make utf-8
% cd ..
% sudo make gcc-install
&lt;/pre&gt;&lt;/blockquote&gt;
&lt;p&gt;としてインストールする。Emacsの設定は&lt;/p&gt;
&lt;blockquote&gt;&lt;pre&gt;
(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)
&lt;/pre&gt;&lt;/blockquote&gt;
&lt;p&gt;のようにして、w3mは&lt;/p&gt;
&lt;blockquote&gt;&lt;pre&gt;
cmigemo -q -d /usr/local/share/migemo/utf-8/migemo-dict
&lt;/pre&gt;&lt;/blockquote&gt;
&lt;p&gt;でOK. ちなみにC/Migemoをインストールしても、Emacsで使うためにはmigemo.elが必要なので、普通のMigemoもインストールしなければならなかった。&lt;/p&gt;

&lt;h4&gt;参考&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://0xcc.net/unimag/2/"&gt;横着プログラミング 第2回: Migemo: 日本語のインクリメンタル検索&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3966127164017981232-216998587999204264?l=insideflag.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3966127164017981232/posts/default/216998587999204264'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3966127164017981232/posts/default/216998587999204264'/><link rel='alternate' type='text/html' href='http://insideflag.blogspot.com/2009/03/migemo.html' title='Migemo(C/Migemo)のインストール'/><author><name>a</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-3966127164017981232.post-9075003330491902427</id><published>2009-03-06T00:31:00.006+09:00</published><updated>2010-08-27T04:14:24.354+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Ruby'/><title type='text'>RackのCGIハンドラでErrno::ESPIPEがraiseされるバグ</title><content type='html'>&lt;p&gt;&lt;a href="http://rack.rubyforge.org/"&gt;Rack&lt;/a&gt;の最新バージョンは現時点で0.9.1なのだけど、CGIで&lt;code&gt;Rack::Request#[]&lt;/code&gt;などを使うと&lt;code&gt;Errno::ESPIPE&lt;/code&gt;がraiseされるバグがある。エラーメッセージは&lt;q&gt;Illegal seek&lt;/q&gt;となっていてrewindできないものをrewindしているために起きる例外のようだ。&lt;/p&gt;

&lt;p&gt;バグ報告はすでにされていてパッチも存在する。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://rack.lighthouseapp.com/projects/22435/tickets/18"&gt;#18 Multipart test coverage and another rewind fix - rack&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;マルチパートパーサのバグのようなので、ファイルアップロードでも同じ問題が起きるのかもしれない。&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3966127164017981232-9075003330491902427?l=insideflag.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3966127164017981232/posts/default/9075003330491902427'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3966127164017981232/posts/default/9075003330491902427'/><link rel='alternate' type='text/html' href='http://insideflag.blogspot.com/2009/03/rackcgi-2-errnoespipe-raise.html' title='RackのCGIハンドラでErrno::ESPIPEがraiseされるバグ'/><author><name>a</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-3966127164017981232.post-8412533396486069404</id><published>2009-03-05T02:27:00.023+09:00</published><updated>2011-08-16T05:10:18.225+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Ubuntu'/><title type='text'>Googleブックマーク追加用のブックマークレット</title><content type='html'>&lt;p&gt;&lt;a href="http://insideflag.blogspot.com/2009/02/ubuntu-on-hp-2133-mini.html"&gt;HP 2133を購入&lt;/a&gt;して普通にFirefoxが使えるようになった（大昔のLOOXでは重すぎて基本的にw3mを使用していた）。そこでメールだけじゃなくてブックマークもオンラインのサービスに移行しようと思い立ち&lt;a href="http://www.google.com/bookmarks/?hl=ja"&gt;Googleブックマーク&lt;/a&gt;を使い始めた。&lt;/p&gt;

&lt;p&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_pNXH1Lg1eZw/SgezOJFE9fI/AAAAAAAAAUw/a42XRE_9tJU/s1600-h/%E3%83%94%E3%82%AF%E3%83%81%E3%83%A3+1.png"&gt;&lt;img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 200px; height: 146px;" src="http://2.bp.blogspot.com/_pNXH1Lg1eZw/SgezOJFE9fI/AAAAAAAAAUw/a42XRE_9tJU/s200/%E3%83%94%E3%82%AF%E3%83%81%E3%83%A3+1.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5334429339180398066" /&gt;&lt;/a&gt;ブックマークレットでブックマークの追加をやろうと思ったのだけど、&lt;a href="http://googlesystem.blogspot.com/2007/03/google-bookmarks-faq.html"&gt;Google Bookmarks FAQ&lt;/a&gt;に載っているのだとサイト名とURLしかフォームに表示されない。どうせなら&lt;q&gt;メモ&lt;/q&gt;にmeta descriptionに書かれているサイトの説明文を読み込ませたい、ということでGoogle Bookmarks FAQのを改造して作ったのがこれ。&lt;/p&gt;
&lt;blockquote style="clear:both"&gt;&lt;pre&gt;
javascript:(function(){var%20a=window,b=document,c=encodeURIComponent,d=a.open("http://www.google.com/bookmarks/mark?op=edit&amp;output=popup&amp;bkmk="+c(b.location)+"&amp;title="+c(b.title)+"&amp;annotation="+(function(n){var%20e=document.getElementsByName(n);return%20e.length&gt;0?e[0]["content"]:""})("description"),"bkmk_popup","left="+((a.screenX||a.screenLeft)+10)+",top="+((a.screenY||a.screenTop)+10)+",height=420px,width=550px,resizable=1,alwaysRaised=1");a.setTimeout(function(){d.focus()},300)})();
&lt;/pre&gt;&lt;/blockquote&gt;

&lt;p&gt;最初は&lt;q&gt;ラベル&lt;/q&gt;をmeta keywordsから読み込ませるようにしてみたのだけど、meta keywordsをやたらとたくさん書いてあるサイトをブックマークしたらラベルの数が多くなりすぎてしまい一瞬で破綻した。&lt;/p&gt;

&lt;p&gt;ちなみに改造前のはこんな感じ。&lt;/p&gt;
&lt;blockquote cite="http://googlesystem.blogspot.com/2007/03/google-bookmarks-faq.html"&gt;&lt;pre&gt;
javascript:(function(){var%20a=window,b=document,c=encodeURIComponent,d=a.open("http://www.google.com/bookmarks/mark?op=edit&amp;output=popup&amp;bkmk="+c(b.location)+"&amp;title="+c(b.title),"bkmk_popup","left="+((a.screenX||a.screenLeft)+10)+",top="+((a.screenY||a.screenTop)+10)+",height=420px,width=550px,resizable=1,alwaysRaised=1");a.setTimeout(function(){d.focus()},300)})();
&lt;/pre&gt;&lt;/blockquote&gt;

&lt;p&gt;&lt;strong&gt;（追記）&lt;/strong&gt;&lt;a href="http://insideflag.blogspot.com/2009/05/gmarks.html"&gt;GMarksを使い始めた&lt;/a&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3966127164017981232-8412533396486069404?l=insideflag.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3966127164017981232/posts/default/8412533396486069404'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3966127164017981232/posts/default/8412533396486069404'/><link rel='alternate' type='text/html' href='http://insideflag.blogspot.com/2009/03/google.html' title='Googleブックマーク追加用のブックマークレット'/><author><name>a</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_pNXH1Lg1eZw/SgezOJFE9fI/AAAAAAAAAUw/a42XRE_9tJU/s72-c/%E3%83%94%E3%82%AF%E3%83%81%E3%83%A3+1.png' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-3966127164017981232.post-4867269702199258733</id><published>2009-02-28T14:48:00.044+09:00</published><updated>2011-08-16T05:04:46.054+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='HP 2133'/><category scheme='http://www.blogger.com/atom/ns#' term='Ubuntu'/><title type='text'>Ubuntu on HP 2133 Mini</title><content type='html'>&lt;p&gt;&lt;strong&gt;（追記）&lt;/strong&gt;&lt;a href="http://insideflag.blogspot.com/2010/07/hp-2133ubuntu1004-lts.html"&gt;Ubuntu 10.04 LTSにアップグレードした。&lt;/a&gt;8.04で遭遇した問題はすべて解決し（動画の再生が遅い以外）、起動時間が大幅に短くなった。&lt;/p&gt;

&lt;p&gt;今までかたくなに大昔のLOOXでLinuxを使ってきたのだけど、ネットブックが安く手に入るようになってきたためとうとう新しいノートPCに移行した。&lt;/p&gt;

&lt;p&gt;値段とHDDが理由で&lt;a href="http://h50146.www5.hp.com/products/portables/personal/mini_note2133/"&gt;HP 21333 Mini&lt;/a&gt;のスタンダードモデルを選択。ちょうど値下げ直後に買えたのは幸運だった。インストールしたのは前のノートPCでも使っていた&lt;a href="http://www.ubuntulinux.jp/"&gt;Ubuntu&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;使い始めてすでに数ヶ月なんだけどとても快適。GNOMEデビューも果たすことができたし。Firefoxが動画サイトによっては遅いこともあるけど他には特に不満もない。&lt;/p&gt;

&lt;h4&gt;デュアルブートについて&lt;/h4&gt;
&lt;p&gt;インストール前から気になっていたのだけどWindows Vistaとのデュアルブートはとても簡単にできる。というのも、Ubuntuのインストーラ自体にNTFSのパーティションをリサイズする機能があるからだ。GRUBのメニューにも自動的に反映される。なので細かいことは気にせずとりあえずインストーラを起動すればいい。&lt;/p&gt;

&lt;h4&gt;インストール&lt;/h4&gt;
&lt;p&gt;HP 2133にはCD/DVDドライブはついてないけどSDカードリーダがついている。自分は外付けのCD/DVDドライブを持っていないのでSDカードからインストールした。メディアに焼くことを考えるとSDカードかUSBメモリが手っ取り早いと思う。&lt;/p&gt;

&lt;p&gt;インストールしたバージョンは8.04.1 LTSで、Ubuntu Desktop 日本語 RemixのCDイメージをダウンロードして使った。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://www.ubuntulinux.jp/products/JA-Localized/download"&gt;Ubuntu Desktop 日本語 Remix CDのダウンロード&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;基本的には「&lt;a href="https://wiki.ubuntu.com/LaptopTestingTeam/HP2133"&gt;HP 2133 Mini-Note - Ubuntu Wiki&lt;/a&gt;」のとおりにやれば問題ないけど、不必要な手順もあるようなので「&lt;a href="http://forums.ubuntulinux.jp/viewtopic.php?id=2362"&gt;Ubuntu日本語フォーラム / HP2133 Mini-Note PC で無線LANが動きました&lt;/a&gt;」も見ておくべき。Rhythmboxで音楽が再生できないのはハマった。&lt;/p&gt;

&lt;h4&gt;追記&lt;/h4&gt;
&lt;ol&gt;
&lt;li&gt;そういえばサスペンドとハイバネーションの復帰に失敗する。仕方ないので毎回ブートしている。&lt;/li&gt;
&lt;li&gt;F-Spotフォトマネージャが起動でコケる。&lt;/li&gt;
&lt;li&gt;Firefoxで動画があるページを開いていると（再生していなくても）、mplayerなどの動画再生ソフトが使用できない（絶望的に遅い）。&lt;/li&gt;
&lt;li&gt;&lt;a href="http://insideflag.blogspot.com/2009/09/hp-2133ubuntu8043.html"&gt;HP 2133+Ubuntu 8.04のその後について。&lt;/a&gt;サスペンド/ハイバネーションの復帰は解決。動画の再生についてもある程度はよくなった。&lt;/li&gt;
&lt;/ol&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3966127164017981232-4867269702199258733?l=insideflag.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3966127164017981232/posts/default/4867269702199258733'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3966127164017981232/posts/default/4867269702199258733'/><link rel='alternate' type='text/html' href='http://insideflag.blogspot.com/2009/02/ubuntu-on-hp-2133-mini.html' title='Ubuntu on HP 2133 Mini'/><author><name>a</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-3966127164017981232.post-2958758575833751313</id><published>2009-02-27T01:52:00.005+09:00</published><updated>2010-08-27T02:28:19.506+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ラベルなし'/><title type='text'>ぐるなびAPIを使うときに知っておきたいこと</title><content type='html'>&lt;ul&gt;
&lt;li&gt;604のエラーコードがときどき返ってくるけど、そんなときは気にせずもう一度同じリクエストを送ればいい。アクセス制限とかではないので。&lt;/li&gt;
&lt;li&gt;sortパラメータは&lt;blockquote cite="http://api.gnavi.co.jp/api/manual.htm"&gt;&lt;p&gt;1:店舗名、2:業態（デフォルト:店舗名）&lt;/blockquote&gt;&lt;/p&gt;となっているけど3で更新日時順。&lt;/li&gt;
&lt;li&gt;任意のリクエストパラメータで取得できるデータは999件目まで。たとえばhit_per_pageが100ならoffset_pageが10でエラーが発生する（コードは603）。1000件目も含まれてしまうので。&lt;/li&gt;
&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3966127164017981232-2958758575833751313?l=insideflag.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3966127164017981232/posts/default/2958758575833751313'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3966127164017981232/posts/default/2958758575833751313'/><link rel='alternate' type='text/html' href='http://insideflag.blogspot.com/2009/02/api.html' title='ぐるなびAPIを使うときに知っておきたいこと'/><author><name>a</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-3966127164017981232.post-2120073504502069511</id><published>2009-02-24T02:38:00.025+09:00</published><updated>2011-08-16T04:59:55.696+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='クライミング'/><title type='text'>インサイドフラッギングについて</title><content type='html'>&lt;p&gt;このブログのタイトルの&lt;q&gt;インサイドフラッギング&lt;/q&gt;はクライミングのムーブ（クライミングにおける独特な動きのこと）からとっている。とくに深い意味はなくブログの登録のときになんとなく思いついただけである。&lt;/p&gt;

&lt;p&gt;インサイドフラッギングは使いどころがとても難しい。クライミングのムーブの中で一番使いにくいムーブかもしれない。インサイドフラッギングの利点は、&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;カウンターバランスを使いたいけど&lt;/li&gt;
&lt;li&gt;アウトサイドフラッギングは使えない状況で（スタンスが低い）&lt;/li&gt;
&lt;li&gt;足の踏み替えを省略できる（ダイアゴナルだと踏み替えが発生してしまう）&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;ことだと思う。たぶん。自分は無駄な足の踏み替えが発生しないかちゃんと考えながらじゃないと使えないのだけど、慣れてくれば無意識のうちにできるようになるんだろうか。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;（追記）&lt;/strong&gt;「&lt;a href="http://insideflag.blogspot.com/2009/05/blog-post_22.html"&gt;インサイドフラッギング再考&lt;/a&gt;」で続きを書いた。&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3966127164017981232-2120073504502069511?l=insideflag.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3966127164017981232/posts/default/2120073504502069511'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3966127164017981232/posts/default/2120073504502069511'/><link rel='alternate' type='text/html' href='http://insideflag.blogspot.com/2009/02/blog-post_24.html' title='インサイドフラッギングについて'/><author><name>a</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-3966127164017981232.post-6978829339639257195</id><published>2009-02-23T12:53:00.059+09:00</published><updated>2011-02-27T02:49:10.150+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Ruby'/><title type='text'>RackでCGI</title><content type='html'>&lt;p&gt;&lt;a href="http://rack.rubyforge.org/"&gt;Rack&lt;/a&gt;はWebサーバとWebフレームワークをつなぐ最低限のAPIを提供するライブラリで、ハンドラはMongrelやWebrickだけではなくCGIもサポートしている。ということで、Rackを使えばCGIを書くのにcgi.rbを使う必要がなくなる。また、CGIからMongrelなどに切り替える場合も特にアプリケーションへの変更なしで可能になる。&lt;/p&gt;

&lt;p&gt;CGIの場合だとWebサーバは別で立ち上がっているはずだから、実はrackupは必要ない。とりあえずHelloWorldをCGIハンドラを使って書いてみるとこんな感じになる。&lt;/p&gt;
&lt;blockquote&gt;&lt;pre&gt;
#!/usr/bin/env ruby
require "rubygems"
require "rack"

class HelloWorld
  def call(env)
    [200, {"Content-Type" =&gt; "text/plain"}, "Hello world"]
  end
end

Rack::Handler::CGI.run(HelloWorld.new)
&lt;/pre&gt;&lt;/blockquote&gt;
&lt;p&gt;あとは普通のCGIと同じように実行権限をつけてcgi-binなどに置けばいい。&lt;/p&gt;

&lt;p&gt;ミドルウェアを使う場合は&lt;/p&gt;
&lt;blockquote&gt;&lt;pre&gt;
Rack::Handler::CGI.run(Rack::Session::Cookie.new(HelloWorld.new))
&lt;/pre&gt;&lt;/blockquote&gt;
&lt;p&gt;のようにすればいい。RackのミドルウェアはDecoratorパターンで実装されているので、newの引数にアプリケーションをわたすことで何回でもDecorateできる。&lt;/p&gt;

&lt;h4&gt;テスト&lt;/h4&gt;
&lt;p&gt;とりあえずWebrickを使ってテストしてみる。CGIとして実行させたいのでrackupは使えない。自分でサーバを書く必要があるけどとても簡単。&lt;/p&gt;

&lt;blockquote&gt;&lt;pre&gt;
require "webrick"

DOCUMENT_ROOT = File.dirname(__FILE__)

srv = WEBrick::HTTPServer.new(:DocumentRoot =&gt; DOCUMENT_ROOT,
                              :BindAddress =&gt; "127.0.0.1",
                              :Port =&gt; 3000)
srv.mount("/hello_world.cgi",
          WEBrick::HTTPServlet::CGIHandler,
          File.join(DOCUMENT_ROOT, "hello_world.cgi"))
trap("INT"){ srv.shutdown }
srv.start
&lt;/pre&gt;&lt;/blockquote&gt;

&lt;p&gt;このスクリプトを実行してから、&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;
http://localhost:3000/hello_world.cgi
&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;にアクセスすれば&lt;q&gt;Hello world&lt;/q&gt;と表示されるはず。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;（追記）&lt;/strong&gt;上記のHelloWorldクラスはContent-Typeしかヘッダを返してないけど、&lt;code&gt;Rack::Lint&lt;/code&gt;を使った場合はエラーになる。これを解決するためにはヘッダにContent-Lengthも追加すればいい。Content-Lengthの値は数値ではなく文字列で渡さないといけない。ちなみに&lt;code&gt;Rack::Lint&lt;/code&gt;はアプリケーションがRackのスペックに適合しているかをチェックしてくれるミドルウェア。&lt;/p&gt;
&lt;blockquote&gt;&lt;pre&gt;
class HelloWorld
  def call(env)
    body = "Hello world"
    [200, {"Content-Type" =&gt; "text/plain", "Content-Length" =&gt; body.size.to_s}, body]
  end
end
&lt;/pre&gt;&lt;/blockquote&gt;
&lt;p&gt;実際のアプリケーションでは&lt;code&gt;Rack::Request&lt;/code&gt;と&lt;code&gt;Rack::Response&lt;/code&gt;を使うだろうからあまり問題にはならないかもしれないけど。&lt;/p&gt;

&lt;h4&gt;参考&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://mono.kmc.gr.jp/%7Eyhara/d/?date=20080716"&gt;Greenbear Diary - 5分でわかるRack , シュレーディンガーの猫たち&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://labs.unoh.net/2007/05/rackweb.html"&gt;ウノウラボ Unoh Labs: RackでWebアプリのWebサーバー依存を無くす&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://aligach.net/diary/20081206.html"&gt;あーありがち - CGI を rackup してみた&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://blog.koshigoe.jp/archives/2008/09/rack_1.html"&gt;KoshigoeBLOG: Rack解説を試みて失敗しつつも晒す、の巻&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://blog.hacklife.net/archives/51439023.html"&gt;満足せる豚。眠たげなポチ。:CGI から Mongrel まで、Rack で Web アプリを Web サーバから抽象化する&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3966127164017981232-6978829339639257195?l=insideflag.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3966127164017981232/posts/default/6978829339639257195'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3966127164017981232/posts/default/6978829339639257195'/><link rel='alternate' type='text/html' href='http://insideflag.blogspot.com/2009/02/rackcgi.html' title='RackでCGI'/><author><name>a</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-3966127164017981232.post-1673307215371817812</id><published>2009-02-19T16:12:00.007+09:00</published><updated>2010-05-28T18:46:33.666+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ラベルなし'/><title type='text'>ブログをはじめてみる</title><content type='html'>&lt;p&gt;今まで&lt;a href="http://0xcc.net/unimag/1/"&gt;ChangeLogメモ&lt;/a&gt;的なことを実践してきたけど、メモがWeb上にあったほうが何かと便利なのでブログに移行してみる。ブログだと検索が最大の弱点になると思うのだけど、Googleを使えばたぶんなんとかなるだろう。&lt;/p&gt;

&lt;p&gt;とりあえず今まで書いてきたメモから役に立ちそうなもの、まだ内容が古くなっていないものを少しずつ移していこう。あとクライミングの練習記録も書いたり書かなかったりしてみるとか。&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3966127164017981232-1673307215371817812?l=insideflag.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3966127164017981232/posts/default/1673307215371817812'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3966127164017981232/posts/default/1673307215371817812'/><link rel='alternate' type='text/html' href='http://insideflag.blogspot.com/2009/02/blog-post.html' title='ブログをはじめてみる'/><author><name>a</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry></feed>
