<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
    <title>Switch! -WindowsからMacへ</title>
    <link rel="alternate" type="text/html" href="http://palm.mods.jp/switch/" />
    <link rel="self" type="application/atom+xml" href="http://palm.mods.jp/switch/atom.xml" />
    <id>tag:palm.mods.jp,2007-11-02:/switch//4</id>
    <updated>2010-01-28T12:57:34Z</updated>
    <subtitle>何気なくIntel iMacを買ってしまったWindowsユーザの奮闘記</subtitle>
    <generator uri="http://www.sixapart.com/movabletype/">Movable Type Pro 4.23-ja</generator>

<entry>
    <title>移動します</title>
    <link rel="alternate" type="text/html" href="http://palm.mods.jp/switch/2010/01/post_19.html" />
    <id>tag:palm.mods.jp,2010:/switch//4.1239</id>

    <published>2010-01-28T12:46:38Z</published>
    <updated>2010-01-28T12:57:34Z</updated>

    <summary>このサーバーに最後まで残っていたMovable Type型の本ブログですが、よう...</summary>
    <author>
        <name>hiroe</name>
        <uri>http://palm.mods.jp</uri>
    </author>
    
    
    <content type="html" xml:lang="ja" xml:base="http://palm.mods.jp/switch/">
        <![CDATA[このサーバーに最後まで残っていたMovable Type型の本ブログですが、ようやくBloggerに移行できたので、Bloggerに移行します。

移転先はこちら
<a href="http://palmtimesmac.blogspot.com/">椰子の実とMac</a>
Feedはこちら
<a href="http://feeds.feedburner.com/palmmac">http://feeds.feedburner.com/palmmac</a>]]>
        
    </content>
</entry>

<entry>
    <title>Twitterアプリはどれがいいのか</title>
    <link rel="alternate" type="text/html" href="http://palm.mods.jp/switch/2009/12/twitter.html" />
    <id>tag:palm.mods.jp,2009:/switch//4.1238</id>

    <published>2009-12-22T23:45:17Z</published>
    <updated>2009-12-23T00:06:42Z</updated>

    <summary>Twitterにつぶやくときは、iPhoneでつぶやくことが多いです。何か面白い...</summary>
    <author>
        <name>hiroe</name>
        <uri>http://palm.mods.jp</uri>
    </author>
    
        <category term="software" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="iphoneアプリ" label="iPhoneアプリ" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="ja" xml:base="http://palm.mods.jp/switch/">
        <![CDATA[Twitterにつぶやくときは、iPhoneでつぶやくことが多いです。何か面白いものを見つけてつぶやくときは、家にいる時よりも外に出てるときのほうが多いわけで、そんなときにiPhoneはなかなか便利なのです。最近はモバツイッターという携帯用Twitterもあるようですが、機能的にはやっぱりiPhoneアプリのほうが上でしょう。多分iPhoneを買ってなければ、Twitter結構面白いなーと思う前に飽きてたかもしれません。

先日、d-laboの長尾先生と濱野さんの対談の時も「質問はTwitterで投稿してください」というすごい一言が出ていました。「Twitterのアカウントを持っていること」「この場でそのTwitterにアクセスできること」が全ての前提なのです。さすがにウェブ学会とは異なり、「それは・・・」という声もあって、「じゃあ挙手も受け付けます」ということになりましたが、それでもハッシュタグ付きで書き込んでる人はたくさんいましたし、iPhoneで書きこんでる人も多かったです。

つまりiPhoneアプリの中でもTwitterアプリはTwitter人気も手伝って、種類も多いのです。それぞれ一長一短ありますし、値段も違うし、Twitter自体も成長している最中で、やりとりで出てくる新しい機能(RTとか)などにも対応できるかどうかは、アップデートの速さも関係します。最初はTwitterfonを使ってたのですが、EchofonになったころにTweetieに浮気し、さらにTweetie2になったら有料になったのでTwitbirdをインストール、Premiumがクリスマスシーズンで無料になったのでさらにTwitbird　Premiumを入れたけど、やっぱりTLはウェブみたいな形がいいし、投稿した写真が横になっちゃうのがね・・・ということでTweetie2を買ってしまったという、なんかこうTwitterアプリジプシーになっている私です。

今のところは完成度とか、インターフェースの使いやすさとかは、Tweetieが一番かなーと思ってるんですが、各個人の使い方にもよるし、それぞれ良い部分もあったので、ここらで一度それぞれの特徴をまとめてみようと思います。

最初に書いたように、私は自転車に乗ってあちこちに出かけることが多く、見つけた面白いものを自分メモ兼用でつぶやくことが多いです。ですので、写真アップロード機能は必須。どれも写真機能はついていますが、TwitbirdはiPhoneで撮った縦長写真が横になっちゃうという問題があります（無料版もPremiumも同様でした)。

見た目の違いは結構使い勝手に影響します。タイムラインの表示方法ですが、Twitbirdはそれぞれのアイコンから吹き出しが出ていて、そこにつぶやきが流れるという方式。ただ、まとめてタイムラインを読むことが多い私は、あまり好きになれません。ざーっと見るには、ウェブと同じ形式のほうがよいのです。なので、Tweetie2か、Echofonかということになります。

私はTwitterは今起こってることや様々な情報をリアルタイムで消費するツールだと思っているので、検索機能は必須です。なので、できればタイムライン画面に検索ボタンがあるのがうれしいのです。それができるのは、EchofonとTweetie2。初期のころ、Echofonは日本語で検索するとうまくいかない不具合がありましたが（それが乗り換えた理由でもあった）、今は大丈夫なようです。

価格も大切でしょう。無料で最も機能が多いのは、Twitbirdだと思います。Echofonは無料ではマルチアカウントが使えず、Tweetieはそもそも無料版が無くなってしまいました。Echofon有料版は600円　Tweetie2は350円です。

私の使いかただと、Tweetie2が一番良いのですが、しかし！Tweetie2には致命的な問題があって、なんとRetweetをRT @usernameと表示しません。via @usernameの形式なのです。Tweetieユーザー内でも、RTが良い、いやviaだ、という議論は昔からあるようですが、頑なにviaを守り通しています(<a href="http://blog.atebits.com/2009/01/rt-vs-via-round-2/">RT形式に対応する気はない</a>とのこと)。日本ではvia @usernameという形式はあまり見ないですから、私はRetweetをするときだけ、TwitbirdやEchofonを使います。

なお、母艦用(Mac用)のソフトウェアがあるのは、Tweetieと、Echofon。母艦ではEchofonが機能も大目で使い勝手がよく、最近TweetieからEchofonに乗り換えました。Tweetieが、起動時に有料版を買えとうるさいのも理由のひとつです。Echofonは読み終わったポイントをiPhoneと同期してくれる(現在は有料版のみ)も便利です。iPhoneもEchofonに戻りそうな感じ・・・そして無限ループにハマる(笑)。

この無限ループに加えるべき、新たなおすすめTwitterアプリがありましたら、ぜひコメントしてくださいませ。]]>
        
    </content>
</entry>

<entry>
    <title>iMac設定終了</title>
    <link rel="alternate" type="text/html" href="http://palm.mods.jp/switch/2009/10/imac_2.html" />
    <id>tag:palm.mods.jp,2009:/switch//4.1237</id>

    <published>2009-10-24T09:44:47Z</published>
    <updated>2009-10-24T10:11:46Z</updated>

    <summary>やってきた27インチiMac。とりあえず旧iMacから移行しようと思ったら、「F...</summary>
    <author>
        <name>hiroe</name>
        <uri>http://palm.mods.jp</uri>
    </author>
    
        <category term="hardware" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="imac" label="iMac" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="ja" xml:base="http://palm.mods.jp/switch/">
        <![CDATA[やってきた27インチiMac。とりあえず旧iMacから移行しようと思ったら、「Firewireケーブルで繋いで下さい」とか出ます。仕方なく外付けハードディスクについてるケーブルを引っこ抜いて繋ぎました。移行に約３時間。再起動したら、しっかりと動きました。よくできてますね。

ちゃんと設置してみましたが、思っていたより威圧感が無いように思います。でも大きいことは確か。

<a href="http://picasaweb.google.com/lh/photo/Wp3k6BS6myIhdJzDIz2-aw?authkey=Gv1sRgCNi2xdCRvZ_kigE&feat=embedwebsite"><img src="http://lh3.ggpht.com/_C49HrReQywc/SuLPWY-nqtI/AAAAAAAAFMg/3xlh9x7nMog/s288/iMac2009_1.jpg" /></a>

一方で、やっぱり基本的なハードウェア構成がかなり改良されているだけに、Lightroomの起動とか処理は、びっくりするほど速いです。やはり画像系の処理はマシンパワーを利用するということなのでしょう。

やたらと小さくなったキーボードは最初はちょっととまどいましたが、慣れればどうということもなさそうです。一方、肝心のMagic Mouseは、慣れるまでに少し時間がかかりそう。ホイールが無いので、加減がわかりにくいというか、画面の動きに目が追いついていってない感じ。少しスクロールを遅くしてみました。

また、真ん中のボタンが無くなったので、Dashboardtの起動が少し面倒。端までマウスカーソルを動かせばいいだけなのですが、端まで遠いというか・・・。これも慣れかな。

まあとりあえず画像処理系が速くなったのは確かなので、楽しんで使いたいと思います。画面も広いので便利は便利。]]>
        
    </content>
</entry>

<entry>
    <title>iMac買ってしまいました</title>
    <link rel="alternate" type="text/html" href="http://palm.mods.jp/switch/2009/10/imac_1.html" />
    <id>tag:palm.mods.jp,2009:/switch//4.1236</id>

    <published>2009-10-22T11:17:26Z</published>
    <updated>2009-10-22T12:02:04Z</updated>

    <summary>新しいiMacを買ってしまいました。OS自体もアップデートされましたし、メイン機...</summary>
    <author>
        <name>hiroe</name>
        <uri>http://palm.mods.jp</uri>
    </author>
    
        <category term="hardware" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="ja" xml:base="http://palm.mods.jp/switch/">
        新しいiMacを買ってしまいました。OS自体もアップデートされましたし、メイン機をEOS 40Dに替えてから、写真を現像するのに今のスペックではやや力不足の感もあったので、買い替えようと思ってはいたのです。それに私は常々Mighty Mouseに不満があって、これが更新されたら速買おうと思っていたのもあったところに、なんかすごいスペックアップ＋価格も手ごろのiMacが登場。「どれにしようか」レベルでスペック比較してしまいました。

一番安いやつでいいかなーと思ったら、グラフィックオンボードだし、しかもハードディスクが一つ上のスペックのやつだと1TBになる。じゃあ、21.5インチの2番手のやつにしようかなーと思ったら、あと2万も出せば21.5インチが27インチになるということに気づきます。もともと次の出たら24インチにしようと思っていたので、ちょっと考えてしまいました。今、デスクライトにHighwire Smoothを使っているのですが、このデスクライトが「24インチまで対応」って書いてあったのを思い出し、高さが邪魔にならないかと確認すると、高さは52cmぐらい、旧版の24インチより低いのです。メジャーで測っても問題なさそう、と勢いで27インチのCore 2 Duoモデルをポチってしまいました。3万プラスでQuad Coreという手もありますが、さすがにそれはオーバースペックだと思ったのと、発表直後のCPUはさすがに人柱すぎかなーというのがCore 2 Duoモデルを選んだ理由です。いつもなら、実機を触って、あーでもないこーでもないと言いつづけ（そしてブログに書き綴り）、うーどうしようかなーとか迷いつつ、でも結局最終的には買ってしまうのがパターンなのですが、今回はまさに衝動買い。なんか今回は「もう買おう」って気分だったんですよね。今買えば、どうせカードの支払いは冬のボーナス後ですし。

が、その後あちこちのサイトを見ていたら、どうも今回の改訂で縦横の比率が変わったらしいということに気づきます。つまり、高さは旧版の24インチとほとんど変わらないのに、横幅が圧倒的に大きいということです。Macはテレビじゃないので、視線の移動や机上での利用を考えると、あまり上下に高くなると使いにくさが増すということなのかもしれません。人間工学的には正しそうです。

しかし青ざめたのは私です。横幅は全く見ていませんでした。スペック表を再度確認すると、なんと65cmです。引っ越す前に使っていた机だったら余裕ではみ出す大きさです。今の机は100cm以上あるので入りはしますが、机はMacだけを置いてるわけではありません。慌てて再びメジャーを取り出し、横幅を確認。案の定、Highwireを置いたらぎりぎりの大きさ。とりあえず左手に置いていたソフトウェアやドライバを入れてるCD-ROM類を移動。机上で使うマニュアル系の書籍も移動を余儀なくされそうです。

今日はあ！そういえばソフトウェアは確認したけどATOK忘れてた、と思いだして慌ててATOKサイトを見たりしたのですが、ATOK2008はやや問題は出るものの、パッチを当てれば動作するようです。一安心。よかった2008買っておいて。

とりあえずそのまま移行すると問題が起こりそうなSIMBL(&amp;Safari Stand)とCyber duckはアンインストールしておいて、後は移行ツールで移動予定。今日さっそく出荷メールが来ていたので、明日には触れそうです。Magic Mouseがどれだけ&quot;Magic&quot;なのか、今からわくわくしています。
        
    </content>
</entry>

<entry>
    <title>iMacとMagic Mouse</title>
    <link rel="alternate" type="text/html" href="http://palm.mods.jp/switch/2009/10/imacmagic_mouse.html" />
    <id>tag:palm.mods.jp,2009:/switch//4.1235</id>

    <published>2009-10-21T10:52:06Z</published>
    <updated>2009-10-21T12:06:12Z</updated>

    <summary>昨晩？発表された新しいiMac。OSも変わったし、なによりMighty Mous...</summary>
    <author>
        <name>hiroe</name>
        <uri>http://palm.mods.jp</uri>
    </author>
    
        <category term="software" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="ja" xml:base="http://palm.mods.jp/switch/">
        <![CDATA[昨晩？発表された新しいiMac。OSも変わったし、なによりMighty Mouseが更新されたのが嬉しいです。実機に触れてみないと何とも言えませんが、標準で4GBのメモリ、1TBのHDDと、十分すぎるスペックを持ってると思います。OSも変わったし、買う気満々なんですが、ふと思い出したのがソフトウェアの対応状況。今よく使うソフトウェアが使えないのでは困ります。とりあえずDockに入れているものを中心に、対応状況を確認してみました。

公式に対応してるもの
・<a href="http://www.squirrelapp.com/">Squirrel</a> 
・<a href="http://bathyscaphe.sourceforge.jp/">BathyScaphe</a>
・<a href="http://plasq.com/skitch">Skitch</a>
・<a href="http://www.skype.com/">Skype</a>
・Firefox 3.5.3
・<a href="http://my.smithmicro.com/mac/stuffit/expander.html">Stuffit Expander 2010</a>
・<a href="http://support.intego.com/kb/index.php?x=&mod_id=2&id=483">VirusBarrier X5</a>
・OpenOffice.org
・Evernote

大丈夫そうなもの
・Adobe Lightroom ver 1.4
・Adobe Photoshop Elements 6
・TrailRunner
・Tweetie
・Picasa

ダメなもの
・Cyberduck (ベータ版で対応中)

なんとか大丈夫そう。Elementsはver8がもうすぐ出るので、それも考えておこうと思ってます。Lightroomは3が出るくらいまでは引っ張りたいかな〜。
]]>
        
    </content>
</entry>

<entry>
    <title>TwitterfonでConnection Errorが出る[解決]</title>
    <link rel="alternate" type="text/html" href="http://palm.mods.jp/switch/2009/08/twitterfonconnection_error.html" />
    <id>tag:palm.mods.jp,2009:/switch//4.1234</id>

    <published>2009-08-09T05:38:43Z</published>
    <updated>2009-08-09T05:52:42Z</updated>

    <summary>どうも先日のDDoS攻撃が尾を引いているらしく、このところTwitterFonで...</summary>
    <author>
        <name>hiroe</name>
        <uri>http://palm.mods.jp</uri>
    </author>
    
        <category term="software" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="twitterfon" label="Twitterfon" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="iphoneアプリ" label="iPhoneアプリ" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="ja" xml:base="http://palm.mods.jp/switch/">
        <![CDATA[どうも先日のDDoS攻撃が尾を引いているらしく、このところTwitterFonでTwitterにアクセスすると" Secure connection Failed" (セキュアな接続に失敗しました)って出てたんですが、ネットを探してたら、<a href="http://robocrunch.com/?q=IPhone" target="_blank">こちら</a>に、

<blockquote>
Had lots of post-DDOS Twitterfon problems. Uninstalled Twitterfon. Reset iPhone. Reinstalled. And now Twitterfon seems fine. :) 
</blockquote>

つまり、一度TwitterfonをiPhoneから削除します。そして電源をオフにして、再度オン。iTunesからTwitterfonを再インストールしてください。モノは試しとやってみたところ、見事復活。もうセキュアな接続に失敗しましたとか出なくなりました。]]>
        
    </content>
</entry>

<entry>
    <title>Amazon Production Advertising APIとCocoa 第３回</title>
    <link rel="alternate" type="text/html" href="http://palm.mods.jp/switch/2009/08/amazon_production_advertising_2.html" />
    <id>tag:palm.mods.jp,2009:/switch//4.1233</id>

    <published>2009-08-05T10:48:19Z</published>
    <updated>2009-08-05T11:05:54Z</updated>

    <summary>署名を作成する前段階まできました。 5. 作成した文字列と秘密キーで、HMAC-...</summary>
    <author>
        <name>hiroe</name>
        <uri>http://palm.mods.jp</uri>
    </author>
    
        <category term="Cocoa" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="amazonapi" label="Amazon API" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="ja" xml:base="http://palm.mods.jp/switch/">
        <![CDATA[署名を作成する前段階まできました。

5. 作成した文字列と秘密キーで、HMAC-SHA256形式の署名を作成する。

これはどうあがいても理解できそうになかったので、CCHMACを使うことに。
Google Codeにあった<a href="http://code.google.com/p/wimframework/source/browse/trunk/WimFramework/Classes/WimSession.m?spec=svn20&r=20" target="_blank">ここ</a>とか、stackoverflowにあった<a href="http://stackoverflow.com/questions/756492/objective-c-sample-code-for-hmac-sha1" target="_blank">ここ</a>とかすごく参考になりました。

まず最初にファイルをインポート。

<blockquote>

#import &lt;CommonCrypto/CommonHMAC.h&gt;

</blockquote>

そして署名を作成します。

<blockquote>

unsigned char cHMAC[CC_SHA256_DIGEST_LENGTH];
	
const char *cKey = [S_ID cStringUsingEncoding:NSASCIIStringEncoding];
const char *cData = [forSignString cStringUsingEncoding:NSASCIIStringEncoding];
	
CCHmac(kCCHmacAlgSHA256, cKey, strlen(cKey), cData, strlen(cData), cHMAC);
</blockquote>

解説はできません（笑）。<a href="http://developer.apple.com/documentation/Darwin/Reference/ManPages/man3/CCHmac.3cc.html" target="_blank">AppleのDocument</a>によると、CCHmacは

<blockquote>

void
     CCHmac(CCHmacAlgorithm algorithm, const void *key, size_t keyLength, const void *data, size_t dataLength, void *macOut);

</blockquote>

という定義がされているようです。CCHmacAlgorithm algorithmの部分を変更すれば、SHA1やMD5の署名も作れます。

6. 署名を付けたRESTリクエストを作成

署名(cHMAC)をNDDataに変換、再度Urlencodeして、urlStringの後に&Signature=[署名]の形式でくっつけ、その頭にhttp://ecs.amazonaws.jp/onca/xml?を付けてURLの形にします。

<blockquote>

NSData *HMAC = [[NSData alloc] initWithBytes:cHMAC
										  length:sizeof(cHMAC)];
	
NSString *hash = [self urlencode:[HMAC stringEncodedWithBase64]];
	
NSString *url = [NSString stringWithFormat:@"http://ecs.amazonaws.jp/onca/xml?%@&Signature=%@", urlString, hash];

</blockquote>

これでＯＫ。生成されたurlにFirefoxなどでアクセスしてみると、XMLが返ってくると思います。XMLが返ってきたときはとっても嬉しかったです。]]>
        
    </content>
</entry>

<entry>
    <title>Amazon Production Advertising APIとCocoa 第２回</title>
    <link rel="alternate" type="text/html" href="http://palm.mods.jp/switch/2009/08/amazon_production_advertising_1.html" />
    <id>tag:palm.mods.jp,2009:/switch//4.1232</id>

    <published>2009-08-03T10:02:20Z</published>
    <updated>2009-08-04T12:45:58Z</updated>

    <summary>さて、タイムスタンプまで作成が終わりました。 ３．項目名と項目内容で対の配列を作...</summary>
    <author>
        <name>hiroe</name>
        <uri>http://palm.mods.jp</uri>
    </author>
    
        <category term="Cocoa" scheme="http://www.sixapart.com/ns/types#category" />
    
        <category term="software" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="amazonapi" label="Amazon API" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="ja" xml:base="http://palm.mods.jp/switch/">
        <![CDATA[さて、タイムスタンプまで作成が終わりました。

３．項目名と項目内容で対の配列を作り、かつ項目内容をURLエンコードする。

1.で作ったRESTの文字列のうち、?以下の内容を、項目名(例えばService）と項目内容(AWSECommerceService)を対にした配列にします。配列というか、Rubyでいうハッシュでしょうか。私はNSMutableDictionaryを使いました。
AWS_IDは、ヘッダファイルに

#define AWS_ID @"アクセスキー"

として定義しています。
同じく秘密キーも

#define S_ID @"秘密キー"

として定義しました。

<blockquote>

 NSMutableDictionary *dict = [NSMutableDictionary dictionary];
[dict setValue:@"AWSECommerceService" forKey:@"Service"];
[dict setValue:AWS_ID forKey:@"AWSAccessKeyId"];
[dict setValue:@"ItemLookup" forKey:@"Operation"];
[dict setValue:isbn forKey:@"ItemId"];
[dict setValue:@"ISBN" forKey:@"IdType"];
[dict setValue:@"Books" forKey:@"SearchIndex"];
[dict setValue:[self urlencode:@"Medium,Offers,Images"] forKey:@"ResponseGroup"];
[dict setValue:[self urlencode:@"2009-03-31"] forKey:@"Version"];
[dict setValue:[self urlencode:time] forKey:@"Timestamp"];

</blockquote>

urlencodeというメソッドが出てきますが、これは例えば,(カンマ)を%2にするようなURLに含めない文字列を%付きの文字にするものだそうです。なんかそれらしきメソッドもあるらしいのですが、問題が起こるという話もあったので、<a href="http://mesh.typepad.com/blog/2007/10/url-encoding-wi.html" target="_blank">こちらにあったもの</a>を流用させていただきました。

<blockquote>

-(NSString *)urlencode:(NSString *) url
{
	NSArray *escapeChars = [NSArray arrayWithObjects:@";" , @"/" , @"?" , @":" ,
							@"@" , @"&" , @"=" , @"+" ,
							@"$" , @"," , @"[" , @"]",
							@"#", @"!", @"'", @"(", 
							@")", @"*", nil];
	
	NSArray *replaceChars = [NSArray arrayWithObjects:@"%3B" , @"%2F" , @"%3F" ,
							 @"%3A" , @"%40" , @"%26" ,
							 @"%3D" , @"%2B" , @"%24" ,
							 @"%2C" , @"%5B" , @"%5D", 
							 @"%23", @"%21", @"%27",
							 @"%28", @"%29", @"%2A", nil];
	
	int len = [escapeChars count];
	
	NSMutableString *temp = [url mutableCopy];
	
	int i;
	for(i = 0; i < len; i++)
	{
		
		[temp replaceOccurrencesOfString: [escapeChars objectAtIndex:i]
							  withString:[replaceChars objectAtIndex:i]
								 options:NSLiteralSearch
								   range:NSMakeRange(0, [temp length])];
	}
	
	NSString *out = [NSString stringWithString: temp];
	
	return out;
}

</blockquote>

NSStringクラスにメソッドを上書きしても良いのかも知れません。リンク先ではNSStringのクラスメソッドとして作成されていますが、どうもクラスメソッドとインスタンスメソッドの違いが分かっていない私は、同じところで使いたいので、インスタンスメソッドにしちゃいました。ただし、このエンコードはスペースをエスケープしてくれないみたいです。

4. 項目名のバイト順に並べ替え、署名を作るための文字列を作る

さて、dictを項目名順に並べ替え、それを配列にします。

<blockquote>
NSArray *keyArr = [[dict allKeys]sortedArrayUsingSelector:@selector(compare:)];
</blockquote>

さらに、項目名でdictから項目内容を取り出し、&で繋いで文字列にします。

<blockquote>

NSMutableString *urlString = [[NSMutableString alloc]init];
NSEnumerator *enumerator = [keyArr objectEnumerator];

id key;

while (key = [enumerator nextObject]){

　　if([keyArr indexOfObject:key] > 0){
　　　[urlString appendString:@"&"];
　　 }

　　[urlString appendFormat:@"%@=%@", key, [dict valueForKey:key]];

}

NSString *signHead = [[NSString alloc] initWithString:@"GET\necs.amazonaws.jp\n/onca/xml\n"];
NSString *forSignString = [NSString stringWithFormat:@"%@%@", signHead, urlString];

</blockquote>

最後に以下の文字列をくっつけています（改行要）。後の処理を考えると、urlStringとsingHeadは別々にしておいたほうがベターです。

<blockquote>

GET
ecs.amazonaws.jp
/onca/xml

</blockquote>

これで署名を取得するための文字列が完成です。]]>
        
    </content>
</entry>

<entry>
    <title>Amazon Production Advertising APIとCocoa 第１回</title>
    <link rel="alternate" type="text/html" href="http://palm.mods.jp/switch/2009/08/amazon_production_advertising.html" />
    <id>tag:palm.mods.jp,2009:/switch//4.1231</id>

    <published>2009-08-03T09:31:40Z</published>
    <updated>2009-08-03T10:01:55Z</updated>

    <summary>５月ごろだったでしょうか、AmazonのWebservicesからメールが届きま...</summary>
    <author>
        <name>hiroe</name>
        <uri>http://palm.mods.jp</uri>
    </author>
    
        <category term="Cocoa" scheme="http://www.sixapart.com/ns/types#category" />
    
        <category term="software" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="amazonapi" label="Amazon API" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="objectivec" label="Objective-C" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="ja" xml:base="http://palm.mods.jp/switch/">
        <![CDATA[５月ごろだったでしょうか、AmazonのWebservicesからメールが届きました。８月からAPIには認証を含める必要があるから準備せよと。その時はまだ先だし、春の忙しい時期だったので、放置していたのですが、Amazonは本気だったのです。
しばらくして「あなたのリクエストには認証が含まれてない」旨のリマインドメールが日本語で２度、英語で１度ほど届き、ようやく数日前に重い腰を上げたのでした。

ちなみに私がAmazon APIを使っているのは、近日発売予定の本のISBNをリスト化しておいて、Amazonに在庫が出てくるのを定期的にチェックするためのソフトウェアです。
言語はRubyCocoa。ただ、今回ようやくHillegass著"Cocoa programming for Mac OS X 3rd ed."を読み終わり、Objective-Cでも書けそうと思えたので、無謀にもObjective-Cを使ってCocoa(XCode 3.1)で作成しています。

なんとかXMLを取得するところまで行けたので、自分の覚え書きの意味合いも込めて、書いておきたいと思います。ちなみに配布する予定がないソフトウェアなので、互換性とか全く考えていません。かつ、Objective-Cは初心者です。ご注意を。

やることの流れは、<a href="http://www.ajaxtower.jp/ecs/signature/index.html" target="_blank">このページ</a>(Ajax Tower)が最もまとまっていて、わかりやすかったです。

※最初にすること
アクセスキーの他に、署名を作成するための秘密キー(Secret Access Key)が必要です。<a href="https://affiliate.amazon.co.jp/gp/associates/help/t126/a5?ie=UTF8&pf_rd%5Ft=501&ref%5F=amb%5Flink%5F84041576%5F5&pf%5Frd%5Fm=AN1VRQENFRJN5&pf%5Frd%5Fp=&pf%5Frd%5Fs=center-1&pf%5Frd%5Fr=&pf%5Frd%5Fi=assoc%5Fhelp%5Ft126" target="_blank">ここ</a>を見て確認してください。


1.　今まで通り、RESTのリクエストを作成してみます。例えば、ISBN9784844323457の本を検索するのであれば、
http://ecs.amazonaws.jp/onca/xml?Service=AWSECommerceService&AWSAccessKeyId=[アクセスキー]&Operation=ItemLookup&ItemId=9784844323457&IdType=ISBN&SearchIndex=Books&ResponseGroup=Medium&Version=2009-03-31

FirefoxなどでそのURLを叩いてみると、XMLが返戻されてくると思います。文字列で検索をしたいとか、他のResponseGroupが欲しいとか、細かいことはAmazonのドキュメントを見て下さい。

2. 1.にTimeStampを加える
さらに、タイムスタンプを加える必要があります。しかも日本時間ではなく、GMTの時間が必要です。以下のように作ってみました。標準形式だそうなので、もっと簡単にできるのかと思ってドキュメントを散々探しましたが、これで力尽きました。まあ出来たからいいか。

<blockquote>

NSTimeZone *zone = [NSTimeZone timeZoneWithAbbreviation:@"GMT"]; 
NSCalendarDate *timeStamp = [NSCalendarDate calendarDate];
[timeStamp setTimeZone:zone];
NSString *time = [timeStamp descriptionWithCalendarFormat:@"%Y-%m-%dT%H:%M:%S.000Z"];

</blockquote>

とりあえず署名を作るのに必要な項目が揃いました。

次回は、項目名と項目内容を対にした配列を作成と、URLエンコードです。

 ]]>
        
    </content>
</entry>

<entry>
    <title>新iMacはGeForce搭載</title>
    <link rel="alternate" type="text/html" href="http://palm.mods.jp/switch/2009/03/imacgeforce.html" />
    <id>tag:palm.mods.jp,2009:/switch//4.1230</id>

    <published>2009-03-03T14:45:24Z</published>
    <updated>2009-03-03T14:53:18Z</updated>

    <summary>Apple Updates Consumer Desktop Line 待ってた...</summary>
    <author>
        <name>hiroe</name>
        <uri>http://palm.mods.jp</uri>
    </author>
    
        <category term="hardware" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="ja" xml:base="http://palm.mods.jp/switch/">
        <![CDATA[<blockquote><div class="quotetitle"><a title="Apple Updates Consumer Desktop Line" href="http://www.apple.com/pr/library/2009/03/03consumer.html" target="_blank">Apple Updates Consumer Desktop Line</a></div>
</blockquote>

待ってたNVIDIA GeForce搭載のiMacが出ました。が、思ったよりも早かったですね。。。Ｓｎｏｗ Leopardの登場を待つのかと思ってました。ただ24インチでも20万切ってるのはすごいなー。

引っ越し前に買うことはないですが、実を言うとEOS 40Dを買い増ししてからファイルサイズが大きくなったからか、今のiMacにやや限界を感じてたんですよね。Snow Leopardの動向を待ちつつ、検討しようかなーと思います。待ってるうちに夏になるような気もしますが。
]]>
        
    </content>
</entry>

<entry>
    <title>GoogleカレンダーとiPod touchを直接同期(オフィシャル版)</title>
    <link rel="alternate" type="text/html" href="http://palm.mods.jp/switch/2009/02/googleipod_touch.html" />
    <id>tag:palm.mods.jp,2009:/switch//4.1229</id>

    <published>2009-02-10T11:59:50Z</published>
    <updated>2009-02-10T12:42:59Z</updated>

    <summary>Official Google Blog: Calendar and conta...</summary>
    <author>
        <name>hiroe</name>
        <uri>http://palm.mods.jp</uri>
    </author>
    
        <category term="news" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="google" label="Google" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="ipodtouch" label="iPod touch" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="ja" xml:base="http://palm.mods.jp/switch/">
        <![CDATA[<blockquote><div class="quotetitle"><a title="Official Google Blog: Calendar and contact syncing for iPhone and Windows Mobile devices" href="http://googleblog.blogspot.com/2009/02/calendar-and-contact-syncing-for-iphone.html" target="_blank">Official Google Blog: Calendar and contact syncing for iPhone and Windows Mobile devices</a></div>
</blockquote>

待っていた機能がようやく正式な形で出てきました。これでJailbreakしなくてもGoogle CalendarとiPod touchを同期できます。オンラインでもオフラインでも使えて、オフラインのときはオンラインになったときに同期してくれます。NemusSyncには本当にお世話になったけど、オフィシャル版はさすが速いですね。

<a href="http://www.google.com/mobile/apple/sync.html" taget="_blank">Google Sync (Beta) for your iPhone</a>を見ればSync方法は分かるのですが、単純に<a href="http://www.google.com/support/mobile/bin/answer.py?answer=138740&topic=14252" target="_blank">Sync: Set Up Your iPhone or iPod Touch</a>だけをやると、メインカレンダーしか同期してくれません。メインしか使っていない方は問題ないと思いますが、そうじゃない人は、iPhoneまたはiPod touchで、一度<a href="http://m.google.com/sync" target="_blank">http://m.google.com/sync</a>にアクセスし(そのとき日本語バージョンだとログイン画面が出ないので、言語を選択してEnglishを選ぶ）、ログインしてどのカレンダーを同期するか、設定をしなければなりません。私はその設定をしなければならないことが分からなくて、しばらく右往左往しました。ただ選択できるのが５つまでというのがちょっとつらい。せめて10個くらい選択できればいいのに。

設定をし終えたら、iPod touchのカレンダーを開くと自動的に同期します。かなり速いです。自宅の無線LANだったからかもしれませんが、全くストレスを感じませんでした。

カレンダーと一緒にコンタクトも同期してくれるそうですが、私はMacのアドレス帳をかなりいじってるので、そちらとの同期にしていますので使ってません。なのでそちらの感想はまた別のところでどうぞ。

試しに無線LANを停止させてからカレンダーを更新、再度無線LANと繋いで同期したところ、ちゃんとGoogle Calendarに反映されました。カレンダーの選択もできるし、今まで、カレンダー関係はベータというと日本語の問題が散見されるというイメージがありましたが、日本語でも全く問題ありません。ただ通知機能はちゃんと同期してくれないようでした。iPod Touchで作成した通知は、Pop-upとしてGoogle Calendarに同期されましたが、逆はダメみたいです。まあ通知機能はほとんどメールにしてるので、Google Calendarのほうで設定されてれば十分なんですけど。あと欲を言えば、カレンダーの色、せめてGoogle Calendarと揃えて貰えると嬉しいんだけどなー。うーん。

iPhoneだとさらに便利ですよね。ほぼ常時接続でしょうから、オンラインであればずーっと同期してくれるようなものですし。]]>
        
    </content>
</entry>

<entry>
    <title>日経・朝日・読売も追随したみたい・・・だけど（無くなった？）</title>
    <link rel="alternate" type="text/html" href="http://palm.mods.jp/switch/2009/01/post_18.html" />
    <id>tag:palm.mods.jp,2009:/switch//4.1228</id>

    <published>2009-01-30T12:35:52Z</published>
    <updated>2009-01-30T12:43:40Z</updated>

    <summary>日経・朝日・読売を読みくらべるiPhoneアプリ「allatanys」 | パソ...</summary>
    <author>
        <name>hiroe</name>
        <uri>http://palm.mods.jp</uri>
    </author>
    
        <category term="software" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="iphoneアプリ" label="iPhoneアプリ" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="ipodtouch" label="ipod touch" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="ja" xml:base="http://palm.mods.jp/switch/">
        <![CDATA[<blockquote><div class="quotetitle"><a title="日経・朝日・読売を読みくらべるiPhoneアプリ「allatanys」 | パソコン | マイコミジャーナル" href="http://journal.mycom.co.jp/news/2009/01/30/055/index.html" target="_blank">日経・朝日・読売を読みくらべるiPhoneアプリ「allatanys」 | パソコン | マイコミジャーナル</a></div>
</blockquote>

１足遅れてこの記事を見て、産経と比べようかなーと思ってダウンロードしようと探したのに、無い！無い！無い！既にブログにはレビューも出ていて、App Storeへの直リンクもあったのでクリックしてみたけど、

<img src="http://img.skitch.com/20090130-bhm6ie91b68us26hs5ii1sp5af.jpg" alt="iTunes"/>

なんて寂しいメッセージが。一体何があったのでしょう。

でも記事を見る限りでは、<a href="http://palm.mods.jp/switch/2008/12/iphoneipod_touch.html" target="_blank">産経新聞iPhone版</a>のような思い切りはなさそう。産経は本当にすごいです。おすすめです。毎日朝起きるとまずiPod touchに産経をダウンロードして通勤時間の半分で読んでます。]]>
        
    </content>
</entry>

<entry>
    <title>iPod touchのケース</title>
    <link rel="alternate" type="text/html" href="http://palm.mods.jp/switch/2009/01/ipod_touch_6.html" />
    <id>tag:palm.mods.jp,2009:/switch//4.1227</id>

    <published>2009-01-17T13:21:27Z</published>
    <updated>2009-01-17T13:29:53Z</updated>

    <summary>iPod touchを買ってから、何に入れようかといろいろあたったところ、gol...</summary>
    <author>
        <name>hiroe</name>
        <uri>http://palm.mods.jp</uri>
    </author>
    
        <category term="hardware" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="golla" label="golla" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="ipodtouch" label="ipod touch" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="ja" xml:base="http://palm.mods.jp/switch/">
        <![CDATA[iPod touchを買ってから、何に入れようかといろいろあたったところ、<a href="http://www.golla.jp/" target="_blank">golla</a>のがかわいいなぁと思い東急ハンズで買ってきました。

<a href="http://picasaweb.google.com/lh/photo/y-6g49DIbysd-BJ3ckQ07Q?authkey=ish96RoRW1g&feat=embedwebsite"><img src="http://lh4.ggpht.com/_C49HrReQywc/SXHa3g8ArpI/AAAAAAAAC9M/DZ24pPhYFFQ/s400/golla_1.jpg" /></a>

汚れそうな布感がちょっと・・・ですが。ついでにアンチグレアシールをApple storeで買ったところ、今まで指紋がぺたぺた付いてた画面がすっかり綺麗に。これ先に買えばよかったと思いましたよ（今更？）

gollaはまた新しいデザインのが出たりするみたいですし、結構安いので気に入ったのがあったらまた買いたいと思ってます。]]>
        
    </content>
</entry>

<entry>
    <title>備忘録ジプシー　：　Ｇｏｏｇｌｅ　ＮｏｔｅｂｏｏｋからEvernoteへ</title>
    <link rel="alternate" type="text/html" href="http://palm.mods.jp/switch/2009/01/evernote.html" />
    <id>tag:palm.mods.jp,2009:/switch//4.1226</id>

    <published>2009-01-17T11:39:28Z</published>
    <updated>2009-01-17T11:47:43Z</updated>

    <summary>Official Google Notebook Blog: Stopping ...</summary>
    <author>
        <name>hiroe</name>
        <uri>http://palm.mods.jp</uri>
    </author>
    
        <category term="software" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="evernote" label="Evernote" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="google" label="Google" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="ja" xml:base="http://palm.mods.jp/switch/">
        <![CDATA[<blockquote><div class="quotetitle"><a title="Official Google Notebook Blog: Stopping development on Google Notebook" href="http://googlenotebookblog.blogspot.com/2009/01/stopping-development-on-google-notebook.html" target="_blank">Official Google Notebook Blog: Stopping development on Google Notebook</a></div>
</blockquote>

先週、Google Notebookのサービスが終了（アクセスは継続してできるとのこと）というニュースをOfficial Blogで見てがっくりしてました。確かにGoogle DocsやTasks in Gmailも使ってますが、あ、これブックマークするほどじゃないけど、後で確認しようと思ったページとか、いますぐ読むわけじゃないけど、時間が出来たときに読もうと思う本とか、おいしそうなお店のウェブとかクリップしたりしてたんです。ブックマークは本当に頻繁に使うサイトが主体で、クリップとは違いますよね。RSSリーダーで取得したやつは★マークつけておけばいいけど、そうじゃないサイトは後で見つけようとするとすごく大変だったりするので。

今後もちゃんとクリップとして使えるのか、継続するとは言ってもいつまで継続するのかを考えると、Notebookの代替を見つける必要があるかなーと思い、評判のよい<a href="http://evernote.com/" target="_blank">Evernote</a>を再びインストールしてみました。以前入れたときは「うーん、Notebookのほうがいいなー」と思っちゃったんですよね。

iPod touchともリンクできるし、<a href="https://addons.mozilla.org/ja/firefox/addon/8381" target="_blank">Firefoxの拡張</a>もあって、Notebookとほぼ同じように使えます。月にアップロードできる容量が決まってしまっているのがちょっと残念ですが（有料版にすれば制限無し）、まーある程度はいいかなー。

どちらかというとWebクリップ主体というより、思い浮かんだことをすぐメモするための道具に近い感じですよね。私の場合、Notebookは備忘録に近い形で使ってたので、慣れるまでちょっと時間かかりそう。]]>
        
    </content>
</entry>

<entry>
    <title>Squirrel for iPhone/iPod touch</title>
    <link rel="alternate" type="text/html" href="http://palm.mods.jp/switch/2009/01/squirrel_for_iphoneipod_touch.html" />
    <id>tag:palm.mods.jp,2009:/switch//4.1225</id>

    <published>2009-01-06T12:03:22Z</published>
    <updated>2009-01-19T13:41:53Z</updated>

    <summary>去年末、Squirrelという家計簿ソフトを知り、使ってみたらそのMacらしさに...</summary>
    <author>
        <name>hiroe</name>
        <uri>http://palm.mods.jp</uri>
    </author>
    
        <category term="software" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="ja" xml:base="http://palm.mods.jp/switch/">
        <![CDATA[去年末、<a href="http://www.squirrelapp.com/" target="_blank">Squirrel</a>という家計簿ソフトを知り、使ってみたらそのMacらしさに魅了されて今年は完全にSquirrelに乗り換えようと思っています。(Squirrelについては<a href="http://palmtimes.blogspot.com/2008/12/all-about-all-about.html" target="_blank">ここ</a>にちょこっと書きました)。

今も精力的に開発が進んでいて、Official SiteのFORUMには次々とリクエストが書き込まれています。私もまだ分析モードやクレジットカード機能などがもう少しかなーと思っているのですが、私が思うようなことは大抵の人が書き込んでいて、作者からそれに細かく返信もされ、機能追加される予定もあるようなので楽しみです。

さっそく大きなヴァージョンアップとして、0.7updateと共に、iPhone/iPod touch対応となりました。昨年末アップデートされて、1月６日にiPhone版がiTunes Storeで公開されるよ、と作者からもアナウンスがあったので楽しみにしてたのですが、ちゃんと日本版でも公開されてましたよ。

<a href="http://itunes.apple.com/WebObjects/MZStore.woa/wa/viewSoftware?id=300672406&mt=8"><img height="15" width="61" alt="Squirrel" src="http://ax.itunes.apple.com/images/badgeitunes61x15dark.gif" /></a>

作者のブログには、<a href="http://blog.squirrelapp.com/?p=6" target="_blank">映像によるpreview</a>が掲載されています。これで、出先で「あーこれ欲しいけど、今月あとどのくらい使えるかなー」とか思ったときとか、ちょっとした出費でレシートが貰えないときなど、その場で入力できたりするので、モバイルと同期してくれるというのはありがたいですね。使ってみてわかったのですが、USB経由で繋ぐのではなく、WifiをONにしてないとSyncしてくれないようです。もちろん私のiPod touchでも使えました。

<img src="http://img.skitch.com/20090106-q7h2yrgyryu8aa9sdu7prfp11n.jpg" alt="SquirreliPhone"/>]]>
        
    </content>
</entry>

</feed>
