<?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-32159354</id><updated>2012-01-26T11:01:39.468+09:00</updated><category term='PHP'/><category term='Diary'/><category term='Vim'/><category term='Seminar'/><category term='StyleSheet'/><category term='Gadget'/><category term='Xcode'/><category term='Ruby'/><category term='Buy'/><category term='Mac'/><category term='Cocoa'/><category term='Software'/><category term='Widget'/><category term='Customize'/><category term='PaSoRi'/><category term='Book'/><category term='Java'/><category term='Google'/><category term='MacPorts'/><title type='text'>mig-ration</title><subtitle type='html'>物忘れエンジニアの備忘録</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://mig-ration.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/32159354/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://mig-ration.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>mig</name><uri>http://www.blogger.com/profile/00706852036321820024</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_05xQD7vc4ag/Sf8Jrz3NQGI/AAAAAAAAARw/jb3n1rTWBaY/S220/mig-guitar.JPG'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>26</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-32159354.post-8163999357441493079</id><published>2010-09-07T23:05:00.003+09:00</published><updated>2010-09-07T23:07:37.621+09:00</updated><title type='text'>またまた移転</title><content type='html'>またまた移転しました
&lt;a href="http://m.igrs.jp/"&gt;http://m.igrs.jp/&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/32159354-8163999357441493079?l=mig-ration.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mig-ration.blogspot.com/feeds/8163999357441493079/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=32159354&amp;postID=8163999357441493079' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/32159354/posts/default/8163999357441493079'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/32159354/posts/default/8163999357441493079'/><link rel='alternate' type='text/html' href='http://mig-ration.blogspot.com/2010/09/httpm.html' title='またまた移転'/><author><name>mig</name><uri>http://www.blogger.com/profile/00706852036321820024</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_05xQD7vc4ag/Sf8Jrz3NQGI/AAAAAAAAARw/jb3n1rTWBaY/S220/mig-guitar.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-32159354.post-5466933227013388906</id><published>2008-09-08T01:57:00.002+09:00</published><updated>2008-09-08T21:44:40.067+09:00</updated><title type='text'>移転</title><content type='html'>To &lt;a href="http://migrs.blogspot.com/"&gt;http://migrs.blogspot.com/&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/32159354-5466933227013388906?l=mig-ration.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mig-ration.blogspot.com/feeds/5466933227013388906/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=32159354&amp;postID=5466933227013388906' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/32159354/posts/default/5466933227013388906'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/32159354/posts/default/5466933227013388906'/><link rel='alternate' type='text/html' href='http://mig-ration.blogspot.com/2008/09/blog-post.html' title='移転'/><author><name>mig</name><uri>http://www.blogger.com/profile/00706852036321820024</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_05xQD7vc4ag/Sf8Jrz3NQGI/AAAAAAAAARw/jb3n1rTWBaY/S220/mig-guitar.JPG'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-32159354.post-1428665602408469623</id><published>2007-05-31T11:51:00.000+09:00</published><updated>2007-05-31T14:48:43.921+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Seminar'/><category scheme='http://www.blogger.com/atom/ns#' term='Google'/><title type='text'>Google Developer Day 2007</title><content type='html'>&lt;p&gt;参加中。メモ用、あとでまとめる。&lt;/p&gt;
&lt;dl&gt;
&lt;dt&gt;&lt;a href="http://maps.google.co.jp/preview"&gt;Google Maplets&lt;/a&gt;&lt;/dt&gt;
&lt;dd&gt;&lt;/dd&gt;
&lt;dt&gt;&lt;a href="http://gears.google.com/"&gt;Google Gears&lt;/a&gt;&lt;/dt&gt;
&lt;dd&gt;ウェブアプリケーション オフラインソリューション&lt;/dd&gt;
&lt;/dl&gt;
&lt;h4&gt;昼食&lt;/h4&gt;
&lt;h4&gt;午後&lt;/h4&gt;
&lt;dl&gt;
&lt;dt&gt;Google Maps API Introduction(Chris Atenasio)&lt;/dt&gt;
&lt;dd&gt;&lt;/dd&gt;
&lt;dt&gt;Google Desktop Gadgets(James Yum)&lt;/dt&gt;
&lt;dd&gt;&lt;/dd&gt;
&lt;dt&gt;Intro to Google Data APIs: Mashing up Google Calendar, Spreadsheets and more!(Ryan Boyd)&lt;/dt&gt;
&lt;dd&gt;&lt;/dd&gt;
&lt;dt&gt;Software Engineer in Google(Fumitoshi Ukai)&lt;/dt&gt;
&lt;dd&gt;&lt;/dd&gt;
&lt;/dl&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/32159354-1428665602408469623?l=mig-ration.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mig-ration.blogspot.com/feeds/1428665602408469623/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=32159354&amp;postID=1428665602408469623' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/32159354/posts/default/1428665602408469623'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/32159354/posts/default/1428665602408469623'/><link rel='alternate' type='text/html' href='http://mig-ration.blogspot.com/2007/05/google-developer-day-2007.html' title='Google Developer Day 2007'/><author><name>mig</name><uri>http://www.blogger.com/profile/00706852036321820024</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_05xQD7vc4ag/Sf8Jrz3NQGI/AAAAAAAAARw/jb3n1rTWBaY/S220/mig-guitar.JPG'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-32159354.post-1790292871892549665</id><published>2007-05-24T01:28:00.000+09:00</published><updated>2007-05-24T01:33:06.516+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><title type='text'>なぜ sun.* パッケージを利用すべきでは無いのか？</title><content type='html'>&lt;p&gt;
久しぶりにJavaに触れた。
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://en.wikipedia.org/wiki/Certificate_signing_request"&gt;&lt;acronym title="Certificate Signing Request"&gt;CSR&lt;/acronym&gt;&lt;/a&gt;
のデコードがしたくてそれを実現できそうなクラスが無いかと標準クラスライブラリを探し、
&lt;code&gt;sun.security.pkcs.*&lt;/code&gt; にそれらしいものがあったので使ってみることにしたのだが、
何故か&lt;a href="http://java.sun.com/javase/ja/6/docs/ja/api/"&gt;APIリファレンス&lt;/a&gt;に
&lt;code&gt;sun.*&lt;/code&gt; パッケージの項目が見あたらない。
いくらググっても出てこない。
&lt;/p&gt;
&lt;p&gt;
おかしいな〜と思いながら &lt;a href="http://java.sun.com/javase/"&gt;Sun/Java SE&lt;/a&gt; のページを眺めていたところ、&lt;a href="http://java.sun.com/reference/faqs/"&gt;FAQ&lt;/a&gt;にその答えを見つけた。
&lt;/p&gt;
&lt;p&gt;&lt;a href="http://java.sun.com/products/jdk/faq/faq-sun-packages.html"&gt;JDK and Sun.* Packages FAQ&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;要約すると、&lt;/p&gt;
&lt;div style="border:1px #333 dotted;margin:10px;padding:10px;"&gt;
なぜ &lt;code&gt;sun.*&lt;/code&gt; パッケージを利用すべきでは無いのか？
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;sun.*&lt;/code&gt; は Pure Java 実装でない(OS毎に実装が異なる）&lt;/li&gt;
&lt;li&gt;&lt;code&gt;sun.*&lt;/code&gt; は将来のバージョンで予告なしに変更される可能性がある&lt;/li&gt;
&lt;li&gt;&lt;code&gt;sun.*&lt;/code&gt; はサポートされないパブリックインターフェースである&lt;/li&gt;
&lt;li&gt;だから &lt;code&gt;sun.*&lt;/code&gt; のドキュメントは提供していない&lt;/li&gt;
&lt;li&gt;&lt;code&gt;sun.*&lt;/code&gt; は各ベンダー実装のJavaプラットフォームには存在しない&lt;/li&gt;
&lt;li&gt;別に &lt;code&gt;sun.*&lt;/code&gt; を利用することを禁止しているわけではない&lt;/li&gt;
&lt;li&gt;使うなら自己責任でよろしく&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&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/32159354-1790292871892549665?l=mig-ration.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mig-ration.blogspot.com/feeds/1790292871892549665/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=32159354&amp;postID=1790292871892549665' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/32159354/posts/default/1790292871892549665'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/32159354/posts/default/1790292871892549665'/><link rel='alternate' type='text/html' href='http://mig-ration.blogspot.com/2007/05/javase-sun-packages.html' title='なぜ sun.* パッケージを利用すべきでは無いのか？'/><author><name>mig</name><uri>http://www.blogger.com/profile/00706852036321820024</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_05xQD7vc4ag/Sf8Jrz3NQGI/AAAAAAAAARw/jb3n1rTWBaY/S220/mig-guitar.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-32159354.post-4993729121405351667</id><published>2007-05-23T10:17:00.000+09:00</published><updated>2007-05-24T00:08:13.257+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Diary'/><category scheme='http://www.blogger.com/atom/ns#' term='Seminar'/><category scheme='http://www.blogger.com/atom/ns#' term='Google'/><title type='text'>Googleに行ってきた</title><content type='html'>&lt;p&gt;
無料・朝食付き・「Google行ってみたい！」 ということで、
今朝、&lt;a href="http://googlejapan.blogspot.com/2007/05/google-enterprise-breakfast-seminar.html"&gt;Google Enterprise Breakfast Seminar&lt;/a&gt; に参加してきた。
&lt;/p&gt;
&lt;p&gt;
黄色い受付を過ぎ、セミナールームに入ると思ったより多い参加者。
定員は10名程度のはずだったが、申し込みが多かったらしく25名くらいまで枠を広げたらしい。
&lt;/p&gt;
&lt;p&gt;朝食のコーヒー&amp;amp;マフィンは&lt;a href="http://www.starbucks.co.jp/"&gt;スターバックス&lt;/a&gt;製。&lt;/p&gt;
&lt;p&gt;
内容は、告知どおり&lt;a href="http://www.google.co.jp/enterprise/gsa/"&gt;検索アプライアンス&lt;/a&gt;と&lt;a href="http://www.google.co.jp/a/help/intl/ja/admins/premier.html"&gt;Google Apps&lt;/a&gt;の企業向け製品説明。
時間も短いので概要説明と導入事例紹介程度であったが、
セミナー終了後も個別に直接担当者に問い合わせることもできる。
&lt;/p&gt;
&lt;p&gt;このセミナーはこれからも定期的に開催し内容も毎回少しずつ変えていくとのこと。&lt;/p&gt;
&lt;p&gt;
最近、Breakfast Meeting が密かに流行ってるみたいだけど、
フレッシュな気分で参加できるし、フランクな意見の交換もできそうでいいかもしれない。
&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/32159354-4993729121405351667?l=mig-ration.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mig-ration.blogspot.com/feeds/4993729121405351667/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=32159354&amp;postID=4993729121405351667' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/32159354/posts/default/4993729121405351667'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/32159354/posts/default/4993729121405351667'/><link rel='alternate' type='text/html' href='http://mig-ration.blogspot.com/2007/05/google-enterprise-breakfast-seminar.html' title='Googleに行ってきた'/><author><name>mig</name><uri>http://www.blogger.com/profile/00706852036321820024</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_05xQD7vc4ag/Sf8Jrz3NQGI/AAAAAAAAARw/jb3n1rTWBaY/S220/mig-guitar.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-32159354.post-1969660160713839052</id><published>2007-05-16T08:03:00.000+09:00</published><updated>2007-05-31T07:19:03.233+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='MacPorts'/><category scheme='http://www.blogger.com/atom/ns#' term='Vim'/><title type='text'>Macでいろいろ対応したVim7.1(gvim)のインストール</title><content type='html'>&lt;p&gt;以前の&lt;a href="http://mig-ration.blogspot.com/2007/04/mac-vim70-216.html"&gt;エントリ&lt;/a&gt;にて、&lt;/p&gt;
&lt;blockquote cite="http://mig-ration.blogspot.com/2007/04/mac-vim70-216.html"&gt;
普段 MacPorts 版の Vim7 を利用しているのだが、いつのまにか gvim がビルドされなくなっているようだ。
&lt;/blockquote&gt;

&lt;p&gt;なんて言っていたのだが、実は、vim-app として分かれていただけだった。&lt;/p&gt;

&lt;pre class="term"&gt;
% port info vim-app
vim-app 7.1.000, editors/vim-app (Variants: universal, big, huge, multibyte, xim, perl, python, ruby, tcl, cscope, darwin_i386)
http://www.vim.org/

This port provides Vim.app, a GUI version of the famous editor vim. Vim is a highly configurable text editor built to enable efficient text editing.

Library Dependencies: gettext, ncurses
Platforms: darwin freebsd
Maintainers: raimue@codingfarm.de
&lt;/pre&gt;

&lt;p&gt;ただし、相変わらず日本語のインライン入力には対応しておらず、我々日本人にとって常用できるレベルのものでは無い。&lt;/p&gt;

&lt;p&gt;そこで、様々なパッチを適用した Local Portfile を&lt;a href="http://lapangan.net/darwinports/index.php?cmd=read&amp;page=PrivatePortfile%2FVim"&gt;公開&lt;/a&gt;してる&lt;a href="http://splhack.blogspot.com/"&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;a href=""&gt;migemo&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;アンチエイリアス / &lt;a href="http://wiki.macvim.org/wiki/VimPatches/ATSUI"&gt;ATSUI&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;半透明&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;と、至れり尽くせり。&lt;/p&gt;
&lt;p&gt;今回、Local Portfile を利用するのは初めてなので、&lt;a href="http://lapangan.net/darwinports/index.php?HowTo%2FLocalPortfile"&gt;自前の Portfile の作り方・使い方&lt;/a&gt; を参考にしながら Local Ports Repository を構築する。&lt;/p&gt;
&lt;pre class="term"&gt;
% sudo mkdir /opt/local/var/db/dports/sources/private
% cd /opt/local/var/db/dports/sources/private
% sudo mkdir `ls -F1 /opt/local/var/db/dports/sources/rsync.rsync.darwinports.org_dpupdate_dports/ | grep '\/$'`
% sudo vi /opt/local/etc/ports/source.conf
&lt;/pre&gt;
&lt;pre class="code"&gt;
&lt;span class="Comment"&gt;# To enable your local ports repository, uncomment and customize the&lt;/span&gt;
&lt;span class="Comment"&gt;# following line to point at your local dports directory&lt;/span&gt;
&lt;span class="Comment"&gt;# Example: file:///Users/landonf/misc/darwinports/dports&lt;/span&gt;
&lt;span class="Comment"&gt;#&lt;/span&gt;
&lt;span class="Comment"&gt;# To get darwinports from the darwinports rsync server use:&lt;/span&gt;
&lt;span class="Comment"&gt;# rsync://rsync.darwinports.org/dpupdate/dports&lt;/span&gt;
file:///opt/local/var/db/dports/sources/private
rsync://rsync.darwinports.org/dpupdate/dports
&lt;/pre&gt;
&lt;p&gt;予め、以下の Portfile をダウンロードしておきます。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://lapangan.net/darwinports/index.php?plugin=attach&amp;refer=PrivatePortfile%2FCMigemo&amp;openfile=cmigemo.1.3c_3.tbz2" title="2007/03/29 17:11:00 2.5KB"&gt;cmigemo.1.3c_3.tbz2&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://lapangan.net/darwinports/index.php?plugin=attach&amp;refer=PrivatePortfile%2FVim&amp;openfile=vim7.1.000.0.tbz2" title="2007/05/14 08:44:04 44.4KB"&gt;vim7.1.000.0.tbz2&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;pre class="term"&gt;
% sudo tar jxvf ~/src/cmigemo.1.3c_3.tbz2
textproc/cmigemo/
textproc/cmigemo/files/
textproc/cmigemo/files/patch-config.mk.diff
textproc/cmigemo/files/patch-config.mk.in.diff
textproc/cmigemo/files/patch-config_default.mk.diff
textproc/cmigemo/files/patch-dict.mk.diff
textproc/cmigemo/files/patch-Make_osx.mk.diff
textproc/cmigemo/Portfile

% sudo tar jxvf ~/src/vim7.1.000.0.tbz2
editors/vim/
editors/vim/Portfile
editors/vim/files/
editors/vim/files/GVim_app.tar.gz
editors/vim/files/atsui+inline.diff
editors/vim/files/checksums_dist
editors/vim/files/checksums_patch
editors/vim/files/gvim.sh
editors/vim/files/gvimrc
editors/vim/files/patch-Info.plist
editors/vim/files/transparency.diff
editors/vim/files/vimrc

% sudo portindex
Creating software index in /opt/local/var/db/dports/sources/private
Adding port editors/vim
Adding port textproc/cmigemo

Total number of ports parsed:   2 
Ports successfully parsed:      2        
Ports failed:                   0
&lt;/pre&gt;
&lt;p&gt;インストール済みのMacPorts版Vimは削除しておいてから、LocalPorts版Vimをインストールします。&lt;/p&gt;
&lt;pre class="term"&gt;
% sudo port install cmigemo +utf8
---&amp;gt;  Installing cmigemo 1.3c_3+utf8
---&amp;gt;  Activating cmigemo 1.3c_3+utf8
---&amp;gt;  Cleaning cmigemo

% sudo port install vim +huge +kaoriya +cscope +ruby +aqua +macvim
---&amp;gt;  Fetching vim
---&amp;gt;  Verifying checksum(s) for vim
---&amp;gt;  Extracting vim
---&amp;gt;  Configuring vim
---&amp;gt;  Building vim with target all
---&amp;gt;  Staging vim into destroot
---&amp;gt;  Installing vim 7.1.000_0+aqua+cscope+darwin_i386+huge+kaoriya+macvim+ruby
---&amp;gt;  Activating vim 7.1.000_0+aqua+cscope+darwin_i386+huge+kaoriya+macvim+ruby
---&amp;gt;  Cleaning vim
&lt;/pre&gt;
&lt;p&gt;これで完成です。&lt;/p&gt;
&lt;a href="http://4.bp.blogspot.com/_05xQD7vc4ag/Rko7fM_TqXI/AAAAAAAAAHA/P-E9zVE1x0c/s1600-h/vim71.png"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;" src="http://4.bp.blogspot.com/_05xQD7vc4ag/Rko7fM_TqXI/AAAAAAAAAHA/P-E9zVE1x0c/s400/vim71.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5064926138180282738" /&gt;&lt;/a&gt;
&lt;div style="margin-top:50px"&gt;
&lt;p&gt;かなり良いですね。&lt;/p&gt;
&lt;p&gt;フォントも綺麗になったし、半透明は嬉しいし、migemoは便利だし。&lt;/p&gt;
&lt;p&gt;PrivatePortfile公開ありがとうございます &amp;gt; &lt;a href="http://splhack.blogspot.com/"&gt;sakamoto&lt;/a&gt;様&lt;/p&gt;
&lt;/div&gt;
&lt;h4 style="clear:both;"&gt;関連URL&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://splhack.blogspot.com/2007/05/vim-71-release.html"&gt;splhack: vim 7.1 release&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://lapangan.net/darwinports/index.php?cmd=read&amp;page=PrivatePortfile%2FVim" title="PrivatePortfile/Vim  (1d)"&gt;PrivatePortfile/Vim&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;2007/05/31 修正&lt;/h4&gt;
&lt;p&gt;Local Port Repository のパスを &lt;code&gt;~/src/ports&lt;/code&gt; から &lt;code&gt;/opt/local/var/db/dports/sources/private&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/32159354-1969660160713839052?l=mig-ration.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mig-ration.blogspot.com/feeds/1969660160713839052/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=32159354&amp;postID=1969660160713839052' title='30 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/32159354/posts/default/1969660160713839052'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/32159354/posts/default/1969660160713839052'/><link rel='alternate' type='text/html' href='http://mig-ration.blogspot.com/2007/05/mac-vim71.html' title='Macでいろいろ対応したVim7.1(gvim)のインストール'/><author><name>mig</name><uri>http://www.blogger.com/profile/00706852036321820024</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_05xQD7vc4ag/Sf8Jrz3NQGI/AAAAAAAAARw/jb3n1rTWBaY/S220/mig-guitar.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_05xQD7vc4ag/Rko7fM_TqXI/AAAAAAAAAHA/P-E9zVE1x0c/s72-c/vim71.png' height='72' width='72'/><thr:total>30</thr:total></entry><entry><id>tag:blogger.com,1999:blog-32159354.post-8492193753341564553</id><published>2007-05-15T23:29:00.001+09:00</published><updated>2007-05-15T23:38:14.507+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Vim'/><title type='text'>Vim 7.1 リリース</title><content type='html'>&lt;a href="http://mig.s2.xrea.com/images/Vim.png"&gt;&lt;img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;" src="http://mig.s2.xrea.com/images/Vim.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5058514460676958482" /&gt;&lt;/a&gt;
&lt;p&gt;いつの間にか &lt;a href="http://www.vim.org/"&gt;Vim&lt;/a&gt; 7.1 が&lt;a href="http://tech.groups.yahoo.com/group/vimannounce/message/178"&gt;リリース&lt;/a&gt;されています。&lt;/p&gt;
&lt;p style="clear:both;"&gt;何が変わったのかというと、&lt;/p&gt;
&lt;blockquote cite="http://www.vim.org/"&gt;There are many bug fixes and updated runtime files. No amazing new features.&lt;/blockquote&gt;
&lt;p&gt;だそうです。。。&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.macports.org/"&gt;MacPorts&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/32159354-8492193753341564553?l=mig-ration.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mig-ration.blogspot.com/feeds/8492193753341564553/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=32159354&amp;postID=8492193753341564553' title='241 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/32159354/posts/default/8492193753341564553'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/32159354/posts/default/8492193753341564553'/><link rel='alternate' type='text/html' href='http://mig-ration.blogspot.com/2007/05/vim71-released.html' title='Vim 7.1 リリース'/><author><name>mig</name><uri>http://www.blogger.com/profile/00706852036321820024</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_05xQD7vc4ag/Sf8Jrz3NQGI/AAAAAAAAARw/jb3n1rTWBaY/S220/mig-guitar.JPG'/></author><thr:total>241</thr:total></entry><entry><id>tag:blogger.com,1999:blog-32159354.post-996801498518198082</id><published>2007-05-08T18:32:00.000+09:00</published><updated>2007-05-08T18:53:27.759+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PHP'/><title type='text'>PHPUnit のインストール</title><content type='html'>&lt;p&gt;&lt;a href="http://www.phpunit.de/"&gt;PHPUnit&lt;/a&gt;をインストールしようと思ったら以下のようなエラーが発生。&lt;/p&gt;
&lt;pre class="term"&gt;
% sudo pear channel-discover pear.phpunit.de
Discovery of channel "pear.phpunit.de" failed (channel-add: Cannot open "http://pear.phpunit.de/channel.xml")
&lt;/pre&gt;
&lt;p&gt;&lt;a href="http://pear.php.net/"&gt;PEAR&lt;/a&gt;が 1.5.0 以上であることが原因&lt;a href="http://programmernodougubako.blogspot.com/2007/04/osxphpunit.html"&gt;らしい&lt;/a&gt;。&lt;/p&gt;
&lt;p&gt;一旦、1.4.3 に戻してから実行するとうまくいく。&lt;/p&gt;
&lt;pre class="term"&gt;
% sudo pear install -f PEAR-1.4.3
Did not download optional dependencies: pear/XML_RPC, use --alldeps to download automatically
pear/PEAR can optionally use package "pear/XML_RPC" (version &amp;gt;= 1.4.0)
downloading PEAR-1.4.3.tgz ...
Starting to download PEAR-1.4.3.tgz (276,859 bytes)
.............................done: 276,859 bytes
install ok: channel://pear.php.net/PEAR-1.4.3
PEAR: Optional feature webinstaller available (PEAR's web-based installer)
PEAR: Optional feature gtkinstaller available (PEAR's PHP-GTK-based installer)
To install use "pear install pear/PEAR#featurename"

% sudo pear channel-discover pear.phpunit.de
Adding Channel "pear.phpunit.de" succeeded
Discovery of channel "pear.phpunit.de" succeeded

% sudo pear install phpunit/PHPUnit
Did not download optional dependencies: pear/Image_GraphViz, pear/Log, pear/Testing_Selenium, use --alldeps to download automatically
phpunit/PHPUnit can optionally use package "pear/Image_GraphViz" (version &amp;gt;= 1.2.1)
phpunit/PHPUnit can optionally use package "pear/Log"
phpunit/PHPUnit can optionally use package "pear/Testing_Selenium" (version &amp;gt;= 0.2.0)
phpunit/PHPUnit can optionally use PHP extension "xdebug" (version &amp;gt;= 2.0.0RC2)
downloading PHPUnit-3.0.6.tgz ...
Starting to download PHPUnit-3.0.6.tgz (100,140 bytes)
......................done: 100,140 bytes
install ok: channel://pear.phpunit.de/PHPUnit-3.0.6
&lt;/pre&gt;
&lt;p&gt;あとは最新版に更新しとくだけ。&lt;/p&gt;
&lt;pre class="term"&gt;
% sudo pear upgrade-all
Will upgrade pear
Did not download optional dependencies: pear/XML_RPC, use --alldeps to download automatically
pear/PEAR can optionally use package "pear/XML_RPC" (version &amp;gt;= 1.4.0)
downloading PEAR-1.5.4.tgz ...
Starting to download PEAR-1.5.4.tgz (293,070 bytes)
........................................done: 293,070 bytes
upgrade-all ok: channel://pear.php.net/PEAR-1.5.4
PEAR: Optional feature webinstaller available (PEAR's web-based installer)
PEAR: Optional feature gtkinstaller available (PEAR's PHP-GTK-based installer)
PEAR: Optional feature gtk2installer available (PEAR's PHP-GTK2-based installer)
To install use "pear install PEAR#featurename"
&lt;/pre&gt;
&lt;p&gt;一応確認。&lt;/p&gt;
&lt;pre class="term"&gt;
% pear list                   
Installed packages, channel pear.php.net:
=========================================
Package          Version State
Archive_Tar      1.3.2   stable
Console_Getopt   1.2.2   stable
PEAR             1.5.4   stable
Structures_Graph 1.0.2   stable

% pear list -c pear.phpunit.de
Installed packages, channel pear.phpunit.de:
============================================
Package Version State
PHPUnit 3.0.6   stable
&lt;/pre&gt;
&lt;h4&gt;関連URL&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://www.phpunit.de/pocket_guide/2.3/ja/index.html"&gt;PHPUnit ポケットガイド&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://programmernodougubako.blogspot.com/2007/04/osxphpunit.html"&gt;osxでphpunitをインストールしようとして。&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/32159354-996801498518198082?l=mig-ration.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mig-ration.blogspot.com/feeds/996801498518198082/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=32159354&amp;postID=996801498518198082' title='29 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/32159354/posts/default/996801498518198082'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/32159354/posts/default/996801498518198082'/><link rel='alternate' type='text/html' href='http://mig-ration.blogspot.com/2007/05/install-phpunit.html' title='PHPUnit のインストール'/><author><name>mig</name><uri>http://www.blogger.com/profile/00706852036321820024</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_05xQD7vc4ag/Sf8Jrz3NQGI/AAAAAAAAARw/jb3n1rTWBaY/S220/mig-guitar.JPG'/></author><thr:total>29</thr:total></entry><entry><id>tag:blogger.com,1999:blog-32159354.post-6494117368882682804</id><published>2007-04-30T08:28:00.000+09:00</published><updated>2007-04-30T13:49:51.171+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PaSoRi'/><category scheme='http://www.blogger.com/atom/ns#' term='Ruby'/><title type='text'>Ruby で Suica を覗いてみる</title><content type='html'>&lt;p&gt;以下を参考に Suica のデータを具体的に解析してみましょう。&lt;/p&gt;
&lt;blockquote cite="http://www.imfj.net/people/nomura/soft/PaSoRi/SuicaValue.html"&gt;
最初の1バイトが 0x1B だとクレジット入金、0x07 or 0x08だと入金、0x46だとサンクスチャージの入金で、0x16が自動改札乗降、0xC7が購買のようです。5バイト目から２バイトが日付で、先頭から7ビットが年、４ビットが月、残り５ビットが日のようです。（ここが面倒でしたね。パズルみたい）7バイト目からの２バイトが入った駅、続く２バイトが出た駅がコードで入っています。駅のコードは、路線コード／駅コードの組合わせで、有志によるデータベースが公開されています。IC SFCard Fan DB Srevice　このソフトではコードからの変換はしていません。1２バイト目から２バイトが残金（リトルエンディアン）です。
&lt;/blockquote&gt;
&lt;p&gt;&lt;code&gt;160100020e98e376e37d2e2200008000&lt;/code&gt; を例として詳しく見ていくと以下のようになります。&lt;/p&gt;
&lt;style type="text/css"&gt;
.suica {
  border: dashed 1px #AAA;
  background-color:#F8F8F8;
  padding:15px;
}
.suica table {
  border-collapse : collapse;
}
.suica table td {
  border: solid 1px #CCC;
  padding: 2px 10px;
}
.suica ul {
  margin:0;
}
.suica ul li {
  list-style: none !important;
  padding-left: 0;
  background:none !important;
}
.suica dl dt {
  font-weight:bold;
}
.suica dl dd {
  margin-bottom:10px;
}
&lt;/style&gt;
&lt;div class="suica"&gt;
&lt;table style="text-align:center;font-family:monospace;" cellspacing="0"&gt;
  &lt;tr&gt;
    &lt;td&gt;&lt;code&gt;16&lt;/code&gt;&lt;/td&gt;
    &lt;td&gt;&lt;code&gt;010002&lt;/code&gt;&lt;/td&gt;
    &lt;td&gt;&lt;code&gt;0e98&lt;/code&gt;&lt;/td&gt;
    &lt;td&gt;&lt;code&gt;e376&lt;/code&gt;&lt;/td&gt;
    &lt;td&gt;&lt;code&gt;e37d&lt;/code&gt;&lt;/td&gt;
    &lt;td&gt;&lt;code&gt;2e22&lt;/code&gt;&lt;/td&gt;
    &lt;td&gt;&lt;code&gt;00008000&lt;/code&gt;&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td&gt;1&lt;/td&gt;
    &lt;td&gt;2-4&lt;/td&gt;
    &lt;td&gt;5,6&lt;/td&gt;
    &lt;td&gt;7,8&lt;/td&gt;
    &lt;td&gt;9,10&lt;/td&gt;
    &lt;td&gt;11,12&lt;/td&gt;
    &lt;td&gt;13-16&lt;/td&gt;
  &lt;/tr&gt;
&lt;/table&gt;
&lt;dl&gt;
  &lt;dt&gt;1 バイト（タイプ）&lt;/dt&gt;
  &lt;dd&gt;
    &lt;ul&gt;
      &lt;li&gt;&lt;code&gt;1b&lt;/code&gt; クレジット入金&lt;/li&gt;
      &lt;li&gt;&lt;code&gt;07&lt;/code&gt;,&lt;code&gt;08&lt;/code&gt; 入金&lt;/li&gt;
      &lt;li&gt;&lt;code&gt;46&lt;/code&gt; サンクスチャージ入金&lt;/li&gt;
      &lt;li&gt;&lt;code&gt;16&lt;/code&gt; 自動改札乗降&lt;/li&gt;
      &lt;li&gt;&lt;code&gt;c7&lt;/code&gt; 購買&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/dd&gt;
  &lt;dt&gt;2-4 バイト&lt;/dt&gt;
  &lt;dd&gt;不明。私の場合、すべて &lt;code&gt;010002&lt;/code&gt; になっている。&lt;/dd&gt;
  &lt;dt&gt;5,6 バイト（日付）&lt;/dt&gt;
  &lt;dd&gt;
    &lt;code&gt;0e98&lt;/code&gt; を2進数表記にすると &lt;code&gt;0000 1110 1001 1000&lt;/code&gt;
    &lt;p&gt;年(7bit)/月(4bit)/日(5bit) なので &lt;code&gt;0000111 0100 11000&lt;/code&gt; となりこれを10進数にして &lt;code&gt;7 4 24&lt;/code&gt;&lt;/p&gt;
    &lt;p&gt;年に2000を足すことで 2007年4月24日 という日付が求められる。&lt;/p&gt;
  &lt;/dd&gt;
  &lt;dt&gt;7,8 バイト（入場駅）&lt;/dt&gt;
  &lt;dd&gt;
    前半1バイトが &lt;span style="color:green;font-weight:bold;"&gt;線区コード&lt;/span&gt; で後半1バイトが &lt;span style="color:green;font-weight:bold;"&gt;駅順コード&lt;/span&gt; と言うらしい。
    &lt;p&gt;これは、&lt;a href="http://www014.upp.so-net.ne.jp/SFCardFan/"&gt;IC SFCard Fan&lt;/a&gt; のページで調べられる。&lt;a href="http://e-words.jp/w/SOAP.html"&gt;SOAP&lt;/a&gt; による &lt;a href="http://e-words.jp/w/WebE382B5E383BCE38393E382B9.html"&gt;Web Service&lt;/a&gt; も&lt;a href="http://www.denno.net/SFCardFan/webservice.html"&gt;公開&lt;/a&gt;されているのでこれを利用するとよさそう。&lt;/p&gt;
  &lt;/dd&gt;
  &lt;dt&gt;9,10 バイト（出場駅）&lt;/dt&gt;
  &lt;dd&gt;同上&lt;/dd&gt;
  &lt;dt&gt;11,12 バイト（残額）&lt;/dt&gt;
  &lt;dd&gt;&lt;a href="http://e-words.jp/w/E383AAE38388E383ABE382A8E383B3E38387E382A3E382A2E383B3.html"&gt;リトルエンディアン&lt;/a&gt;(&lt;code&gt;2e22&lt;/code&gt;)らしいので&lt;a href="http://e-words.jp/w/E38393E38383E382B0E382A8E383B3E38387E382A3E382A2E383B3.html"&gt;ビッグエンディアン&lt;/a&gt;(&lt;code&gt;222e&lt;/code&gt;)に変換して10進数にすると 8750円 となる。&lt;/dd&gt;
  &lt;dt&gt;13-16 バイト（連番？）&lt;/dt&gt;
  &lt;dd&gt;15バイト目が 1 or 2 づつインクリメントしていることが確認できるが、それが意味するところは分からない。&lt;/dd&gt;
&lt;/dl&gt;
&lt;/div&gt;
&lt;p&gt;これを Ruby で実装すると以下のような感じになります。&lt;/p&gt;
&lt;pre class="code"&gt;
&lt;span class="PreProc"&gt;def &lt;/span&gt;&lt;span class="Identifier"&gt;Pasori&lt;/span&gt;.&lt;span class="Identifier"&gt;parse_suica_raw_value&lt;/span&gt; data
  d = &lt;span class="Special"&gt;&amp;quot;&lt;/span&gt;&lt;span class="Constant"&gt;%016b&lt;/span&gt;&lt;span class="Special"&gt;&amp;quot;&lt;/span&gt; % data[&lt;span class="Constant"&gt;8&lt;/span&gt;, &lt;span class="Constant"&gt;4&lt;/span&gt;].hex
  {
    &lt;span class="Identifier"&gt;:type&lt;/span&gt; =&amp;gt; data[&lt;span class="Constant"&gt;0&lt;/span&gt;, &lt;span class="Constant"&gt;2&lt;/span&gt;],
    &lt;span class="Identifier"&gt;:date&lt;/span&gt; =&amp;gt; &lt;span class="Identifier"&gt;Time&lt;/span&gt;.local(d[&lt;span class="Constant"&gt;0&lt;/span&gt;, &lt;span class="Constant"&gt;7&lt;/span&gt;].to_i(&lt;span class="Constant"&gt;2&lt;/span&gt;) + &lt;span class="Constant"&gt;2000&lt;/span&gt;, d[&lt;span class="Constant"&gt;7&lt;/span&gt;, &lt;span class="Constant"&gt;4&lt;/span&gt;].to_i(&lt;span class="Constant"&gt;2&lt;/span&gt;), d[&lt;span class="Constant"&gt;11&lt;/span&gt;, &lt;span class="Constant"&gt;5&lt;/span&gt;].to_i(&lt;span class="Constant"&gt;2&lt;/span&gt;)),
    &lt;span class="Identifier"&gt;:in&lt;/span&gt;   =&amp;gt; data[&lt;span class="Constant"&gt;12&lt;/span&gt;, &lt;span class="Constant"&gt;4&lt;/span&gt;],
    &lt;span class="Identifier"&gt;:out&lt;/span&gt;  =&amp;gt; data[&lt;span class="Constant"&gt;16&lt;/span&gt;, &lt;span class="Constant"&gt;4&lt;/span&gt;],
    &lt;span class="Identifier"&gt;:yen&lt;/span&gt;  =&amp;gt; data[&lt;span class="Constant"&gt;20&lt;/span&gt;, &lt;span class="Constant"&gt;2&lt;/span&gt;].hex + (data[&lt;span class="Constant"&gt;22&lt;/span&gt;, &lt;span class="Constant"&gt;2&lt;/span&gt;].hex &amp;lt;&amp;lt; &lt;span class="Constant"&gt;8&lt;/span&gt;),
  }
&lt;span class="PreProc"&gt;end&lt;/span&gt;
&lt;/pre&gt;
&lt;p&gt;&lt;a href="http://mig-ration.blogspot.com/2007/04/using-pasori-with-ruby.html#dump_suica"&gt;こちら&lt;/a&gt;で作成したプログラムに上記関数を適用します。&lt;/p&gt;
&lt;code&gt;dump_suica_2.rb&lt;/code&gt;
&lt;pre class="code"&gt;
&lt;span class="PreProc"&gt;require&lt;/span&gt; &lt;span class="Special"&gt;'&lt;/span&gt;&lt;span class="Constant"&gt;pasori&lt;/span&gt;&lt;span class="Special"&gt;'&lt;/span&gt;
&lt;span class="Identifier"&gt;Pasori&lt;/span&gt;.felica_raw_values &lt;span class="Identifier"&gt;Pasori&lt;/span&gt;::&lt;span class="Identifier"&gt;POLLING_SUICA&lt;/span&gt;, &lt;span class="Identifier"&gt;Pasori&lt;/span&gt;::&lt;span class="Identifier"&gt;SERVICE_SUICA&lt;/span&gt;, &lt;span class="Constant"&gt;true&lt;/span&gt; &lt;span class="Statement"&gt;do&lt;/span&gt; |&lt;span class="Identifier"&gt;data&lt;/span&gt;|
    d = &lt;span class="Identifier"&gt;Pasori&lt;/span&gt;.parse_suica_raw_value data
    str = sprintf &lt;span class="Special"&gt;&amp;quot;&lt;/span&gt;&lt;span class="Constant"&gt;%s %s %s %s %5s&lt;/span&gt;&lt;span class="Special"&gt;&amp;quot;&lt;/span&gt;, d[&lt;span class="Identifier"&gt;:type&lt;/span&gt;], d[&lt;span class="Identifier"&gt;:date&lt;/span&gt;].strftime(&lt;span class="Special"&gt;'&lt;/span&gt;&lt;span class="Constant"&gt;%Y/%m/%d&lt;/span&gt;&lt;span class="Special"&gt;'&lt;/span&gt;), d[&lt;span class="Identifier"&gt;:in&lt;/span&gt;], d[&lt;span class="Identifier"&gt;:out&lt;/span&gt;], d[&lt;span class="Identifier"&gt;:yen&lt;/span&gt;]
    puts str
&lt;span class="Statement"&gt;end&lt;/span&gt;
&lt;/pre&gt;
&lt;p&gt;実行結果(dump_suica.rb)&lt;/p&gt;
&lt;pre class="term"&gt;
% ruby dump_suica.rb
160100020e9bf101f20c661c00008e00
160100020e9bf102c5026a1d00008c00
160100020e9be37de532781e00008a00
160100020e9ae532e37d361f00008800
160100020e9ae37de532f41f00008600
160100020e99e532e37db22000008400
160100020e99e37de532702100008200
160100020e98e376e37d2e2200008000
1d0100020e98f102f104a62200007e00
160100020e98c502f102502300007c00
160100020e98f102c5025e2400007a00
160100020e98e37de5326c2500007800
160100020e97e355e37d2a2600007600
160100020e97e43ee3552a2600007400
160100020e97e355e43ee82600007200
160100020e97e37de37a062700007000
160100020e9625020102a62700006e00
160100020e9501022502462800006c00
160100020e95e37de37ae62800006a00
1b023f000e9500000000862900006800
&lt;/pre&gt;
&lt;p&gt;実行結果(dump_suica_2.rb)&lt;/p&gt;
&lt;pre class="term"&gt;
% ruby dump_suica_2.rb 
16 2007/04/27 f101 f20c  7270
16 2007/04/27 f102 c502  7530
16 2007/04/27 e37d e532  7800
16 2007/04/26 e532 e37d  7990
16 2007/04/26 e37d e532  8180
16 2007/04/25 e532 e37d  8370
16 2007/04/25 e37d e532  8560
16 2007/04/24 e376 e37d  8750
1d 2007/04/24 f102 f104  8870
16 2007/04/24 c502 f102  9040
16 2007/04/24 f102 c502  9310
16 2007/04/24 e37d e532  9580
16 2007/04/23 e355 e37d  9770
16 2007/04/23 e43e e355  9770
16 2007/04/23 e355 e43e  9960
16 2007/04/23 e37d e37a  9990
16 2007/04/22 2502 0102 10150
16 2007/04/21 0102 2502 10310
16 2007/04/21 e37d e37a 10470
1b 2007/04/21 0000 0000 10630
&lt;/pre&gt;
&lt;p&gt;&lt;a href="http://mig-ration.blogspot.com/2007/04/mac-pasori.html#lptest"&gt;こちら&lt;/a&gt;で実行したものと同じような結果を得ることができるようになりました。あとは何とか駅名を日本語表示にしてみたいものです。&lt;/p&gt;
&lt;h4&gt;関連URL&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://www.imfj.net/people/nomura/soft/PaSoRi/SuicaValue.html"&gt;Macで Suica や PASMO の履歴を読む&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www014.upp.so-net.ne.jp/SFCardFan/"&gt;IC SFCard Fan&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://mig-ration.blogspot.com/2007/04/using-pasori-with-ruby.html"&gt;Ruby で PaSoRi 使ってみる&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://mig-ration.blogspot.com/2007/04/mac-pasori.html"&gt;Mac で PaSoRi&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/32159354-6494117368882682804?l=mig-ration.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mig-ration.blogspot.com/feeds/6494117368882682804/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=32159354&amp;postID=6494117368882682804' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/32159354/posts/default/6494117368882682804'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/32159354/posts/default/6494117368882682804'/><link rel='alternate' type='text/html' href='http://mig-ration.blogspot.com/2007/04/ruby-suica.html' title='Ruby で Suica を覗いてみる'/><author><name>mig</name><uri>http://www.blogger.com/profile/00706852036321820024</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_05xQD7vc4ag/Sf8Jrz3NQGI/AAAAAAAAARw/jb3n1rTWBaY/S220/mig-guitar.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-32159354.post-1473182943605314396</id><published>2007-04-29T08:37:00.000+09:00</published><updated>2007-04-29T08:49:24.368+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Vim'/><category scheme='http://www.blogger.com/atom/ns#' term='Gadget'/><title type='text'>コーヒー飲みながら Vi を覚える</title><content type='html'>&lt;a href="http://2.bp.blogspot.com/_05xQD7vc4ag/RjPbKc_TqSI/AAAAAAAAAGI/BAvThtsdPxc/s1600-h/vi_mug.jpg"&gt;&lt;img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;" src="http://2.bp.blogspot.com/_05xQD7vc4ag/RjPbKc_TqSI/AAAAAAAAAGI/BAvThtsdPxc/s400/vi_mug.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5058627779094096162" /&gt;&lt;/a&gt;
&lt;p&gt;&lt;a href="http://nostarch.com/frameset.php?startat=mug"&gt;こんなの&lt;/a&gt;発見。&lt;a href="http://digg.com/linux_unix/The_Vi_Mug"&gt;via. Digg&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Vi 覚えなければいけない新人さん向け。ちょっと欲しい。&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/32159354-1473182943605314396?l=mig-ration.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mig-ration.blogspot.com/feeds/1473182943605314396/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=32159354&amp;postID=1473182943605314396' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/32159354/posts/default/1473182943605314396'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/32159354/posts/default/1473182943605314396'/><link rel='alternate' type='text/html' href='http://mig-ration.blogspot.com/2007/04/mug-of-vi.html' title='コーヒー飲みながら Vi を覚える'/><author><name>mig</name><uri>http://www.blogger.com/profile/00706852036321820024</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_05xQD7vc4ag/Sf8Jrz3NQGI/AAAAAAAAARw/jb3n1rTWBaY/S220/mig-guitar.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_05xQD7vc4ag/RjPbKc_TqSI/AAAAAAAAAGI/BAvThtsdPxc/s72-c/vi_mug.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-32159354.post-7897219446947798215</id><published>2007-04-29T02:43:00.000+09:00</published><updated>2007-04-29T11:53:17.432+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Book'/><title type='text'>WEB+DB 総集編 (1-36)</title><content type='html'>&lt;a href="http://astore.amazon.co.jp/migration0b-22/detail/4774130729/249-0229130-1541148"&gt;&lt;img src="http://ec1.images-amazon.com/images/I/51zN26DxMpL._SL210_.jpg" width="149" height="210" style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;" alt="WEB+DB 総集編 1-36" /&gt;&lt;/a&gt;
&lt;p&gt;
すべてのWeb技術者必携。&lt;br /&gt;
しかも驚きの低価格。&lt;br /&gt;
全部読んだけど、これ買います。
&lt;/p&gt;

&lt;a href="http://astore.amazon.co.jp/migration0b-22/detail/4774130729/249-0229130-1541148"&gt;商品の詳細を見る&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/32159354-7897219446947798215?l=mig-ration.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mig-ration.blogspot.com/feeds/7897219446947798215/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=32159354&amp;postID=7897219446947798215' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/32159354/posts/default/7897219446947798215'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/32159354/posts/default/7897219446947798215'/><link rel='alternate' type='text/html' href='http://mig-ration.blogspot.com/2007/04/webdb-1-36.html' title='WEB+DB 総集編 (1-36)'/><author><name>mig</name><uri>http://www.blogger.com/profile/00706852036321820024</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_05xQD7vc4ag/Sf8Jrz3NQGI/AAAAAAAAARw/jb3n1rTWBaY/S220/mig-guitar.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-32159354.post-1370069767006366012</id><published>2007-04-29T01:11:00.000+09:00</published><updated>2007-04-29T02:31:47.878+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Mac'/><category scheme='http://www.blogger.com/atom/ns#' term='Software'/><title type='text'>手軽にハイバネーションさせるソフト DeepSleep</title><content type='html'>&lt;a href="http://2.bp.blogspot.com/_05xQD7vc4ag/RjN0Gc_TqRI/AAAAAAAAAGA/DinVa86BxMc/s1600-h/DeepSleep.png"&gt;&lt;img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;" src="http://2.bp.blogspot.com/_05xQD7vc4ag/RjN0Gc_TqRI/AAAAAAAAAGA/DinVa86BxMc/s400/DeepSleep.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5058514460676958482" /&gt;&lt;/a&gt;
&lt;p&gt;Mac に&lt;a href="http://e-words.jp/w/E3838FE382A4E38390E3838DE383BCE382B7E383A7E383B3.html"&gt;ハイバネーション&lt;/a&gt;は無いの？と思って&lt;a href="http://d.hatena.ne.jp/mig50/20060528/1148787758"&gt;調べた&lt;/a&gt;ことがあり、結果使えることはわかったのですが、手順が面倒で結局これまで利用することはありませんでした。&lt;/p&gt;
&lt;p&gt;しかし、今回紹介するこのソフト。起動するだけで即座にハイバネーションさせることができます。つまり、アイコンをダブルクリックするだけ、Dockに入ってたらワンクリックです。&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.axoniclabs.com/DeepSleep/"&gt;DeepSleep&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;ただし、これが利用できるのはセーフスリープに対応した機種だけですので気を付けてください。&lt;/p&gt;
&lt;p&gt;スリープ時の微小な消費電力も気になる人には精神衛生上良いソフトです。&lt;/p&gt;
&lt;h4&gt;関連URL&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://www.axoniclabs.com/DeepSleep/"&gt;DeepSleep&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://d.hatena.ne.jp/mig50/20060528/1148787758"&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/32159354-1370069767006366012?l=mig-ration.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mig-ration.blogspot.com/feeds/1370069767006366012/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=32159354&amp;postID=1370069767006366012' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/32159354/posts/default/1370069767006366012'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/32159354/posts/default/1370069767006366012'/><link rel='alternate' type='text/html' href='http://mig-ration.blogspot.com/2007/04/deepsleep.html' title='手軽にハイバネーションさせるソフト DeepSleep'/><author><name>mig</name><uri>http://www.blogger.com/profile/00706852036321820024</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_05xQD7vc4ag/Sf8Jrz3NQGI/AAAAAAAAARw/jb3n1rTWBaY/S220/mig-guitar.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_05xQD7vc4ag/RjN0Gc_TqRI/AAAAAAAAAGA/DinVa86BxMc/s72-c/DeepSleep.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-32159354.post-572395004932668866</id><published>2007-04-28T22:50:00.000+09:00</published><updated>2007-05-24T06:28:54.103+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Vim'/><category scheme='http://www.blogger.com/atom/ns#' term='Mac'/><title type='text'>Macでインライン入力に対応したVim7(gvim)を作成するスクリプト(7.0.216)</title><content type='html'>&lt;p&gt;
普段 &lt;a href="http://www.macports.org/"&gt;MacPorts&lt;/a&gt; 版の &lt;a href="http://www.vim.org/"&gt;Vim7&lt;/a&gt; を利用しているのだが、いつのまにか gvim がビルドされなくなっているようだ。&lt;/p&gt;
&lt;p&gt;
MacPorts 版 gvim はインライン入力に対応していなかったのだが、&lt;a href="http://openlab.jp/skk/index-j.html"&gt;SKK&lt;/a&gt; 使いの私にとって &lt;a href="http://www.vim.org/scripts/script.php?script_id=1589"&gt;skk.vim&lt;/a&gt; のおかげでさほど重要では無かったのだけれど、これを機にインライン入力対応版 gvim をビルドしてみることにした。&lt;/p&gt;
&lt;h4&gt;パッチ拝借元&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://www.kaoriya.net/#VIM70"&gt;KaoriYa.net Vim 7.0&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://2xup.org/log/2006/09/13-0220" title="Vim7.0 + KaoriYa を Mac OSX にインストールする"&gt;Vim7.0 + KaoriYa を Mac OSX にインストールする&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://d.hatena.ne.jp/mio-su/20060926"&gt;インライン入力可能な Mac 用 Vim 7.0 (2)&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;必要なもの&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;gcc (&lt;a href="http://www.apple.com/jp/macosx/features/xcode/"&gt;Xcode&lt;/a&gt; をインストール)&lt;/li&gt;
&lt;li&gt;wget (MacPorts の場合：&lt;code&gt;sudo port install wget&lt;/code&gt;)&lt;/li&gt;
&lt;li&gt;7za (MacPorts の場合：&lt;code&gt;sudo port install p7zip&lt;/code&gt;)&lt;/li&gt;
&lt;/ul&gt;
&lt;div style="font-size:1em;padding:0 3em"&gt;
7za の実行に失敗する場合、以下を実行
&lt;pre class="term"&gt;
% cd /opt/local/bin
% sudo rm 7za
% sudo ln -s /opt/local/lib/p7zip/7za
&lt;/pre&gt;
&lt;/div&gt;
&lt;h4&gt;ビルドスクリプト&lt;/h4&gt;
&lt;pre class="code"&gt;
&lt;span class="Comment"&gt;#!/bin/zsh&lt;/span&gt;

&lt;span class="Comment"&gt;# &lt;a href="http://mig-ration.blogspot.com/2007/04/mac-vim70-216.html"&gt;http://mig-ration.blogspot.com/2007/04/mac-vim70-216.html&lt;/a&gt;&lt;/span&gt;

&lt;span class="Identifier"&gt;KAORIYA_REV&lt;/span&gt;=&lt;span class="Constant"&gt;216&lt;/span&gt;

mkdir mac-vim70-&lt;span class="PreProc"&gt;$KAORIYA_REV&lt;/span&gt;
&lt;span class="Statement"&gt;cd&lt;/span&gt; mac-vim70-&lt;span class="PreProc"&gt;$KAORIYA_REV&lt;/span&gt;

&lt;span class="Comment"&gt;# Download vim7&lt;/span&gt;
wget ftp://ftp.vim.org/pub/vim/unix/vim&lt;span class="Constant"&gt;-7&lt;/span&gt;.&lt;span class="Constant"&gt;0&lt;/span&gt;.tar.bz2
wget ftp://ftp.vim.org/pub/vim/extra/vim&lt;span class="Constant"&gt;-7&lt;/span&gt;.&lt;span class="Constant"&gt;0&lt;/span&gt;-extra.tar.gz
wget ftp://ftp.vim.org/pub/vim/extra/vim&lt;span class="Constant"&gt;-7&lt;/span&gt;.&lt;span class="Constant"&gt;0&lt;/span&gt;-lang.tar.gz

&lt;span class="Comment"&gt;# Download vim patches&lt;/span&gt;
wget http://www.kaoriya.net/testdir/vim7-daily-w32j.exe
wget http://2xup.org/repos/vim/configure.diff
wget http://iplab.naist.jp/member/mio-su/dist/vim/inline0.&lt;span class="Constant"&gt;2&lt;/span&gt;.diff

perl &lt;span class="Special"&gt;-i&lt;/span&gt; &lt;span class="Special"&gt;-pe&lt;/span&gt; &lt;span class="Statement"&gt;'&lt;/span&gt;&lt;span class="Constant"&gt;s/vim70-inline/./g&lt;/span&gt;&lt;span class="Statement"&gt;'&lt;/span&gt; inline0.&lt;span class="Constant"&gt;2&lt;/span&gt;.diff

&lt;span class="Comment"&gt;# Download vim patches (official)&lt;/span&gt;
mkdir vim70-patches
&lt;span class="Statement"&gt;cd&lt;/span&gt; vim70-patches
wget ftp://ftp.vim.org/pub/vim/patches/&lt;span class="Constant"&gt;7&lt;/span&gt;.&lt;span class="Constant"&gt;0&lt;/span&gt;/&lt;span class="Constant"&gt;7&lt;/span&gt;.&lt;span class="Constant"&gt;0&lt;/span&gt;.&lt;span class="Special"&gt;{&lt;/span&gt;&lt;span class="Constant"&gt;001&lt;/span&gt;..&lt;span class="PreProc"&gt;$KAORIYA_REV&lt;/span&gt;&lt;span class="Special"&gt;}&lt;/span&gt;

&lt;span class="Comment"&gt;# Extract archives&lt;/span&gt;
&lt;span class="Statement"&gt;cd&lt;/span&gt; ..
tar jxvf vim&lt;span class="Constant"&gt;-7&lt;/span&gt;.&lt;span class="Constant"&gt;0&lt;/span&gt;.tar.bz2
tar zxvf vim&lt;span class="Constant"&gt;-7&lt;/span&gt;.&lt;span class="Constant"&gt;0&lt;/span&gt;-extra.tar.gz
tar zxvf vim&lt;span class="Constant"&gt;-7&lt;/span&gt;.&lt;span class="Constant"&gt;0&lt;/span&gt;-lang.tar.gz
7za x vim7-daily-w32j.exe

&lt;span class="Comment"&gt;# Apply patches&lt;/span&gt;
&lt;span class="Statement"&gt;cd&lt;/span&gt; vim70
cat ../vim70-patches/&lt;span class="Constant"&gt;7&lt;/span&gt;.&lt;span class="Constant"&gt;0&lt;/span&gt;.* &lt;span class="Statement"&gt;|&lt;/span&gt; patch &lt;span class="Special"&gt;-p0&lt;/span&gt;
cat ../vim7-daily-w32j/patches/* &lt;span class="Statement"&gt;|&lt;/span&gt; patch &lt;span class="Special"&gt;-p0&lt;/span&gt;
cat ../configure.diff &lt;span class="Statement"&gt;|&lt;/span&gt; patch &lt;span class="Special"&gt;-p0&lt;/span&gt;
cat ../inline0.&lt;span class="Constant"&gt;2&lt;/span&gt;.diff &lt;span class="Statement"&gt;|&lt;/span&gt; patch &lt;span class="Special"&gt;-p0&lt;/span&gt;

&lt;span class="Comment"&gt;# Build and Install&lt;/span&gt;
./configure &lt;span class="Special"&gt;--with-features=big&lt;/span&gt; &lt;span class="Special"&gt;--enable-multibyte&lt;/span&gt;
make
sudo make install
sudo rm &lt;span class="Special"&gt;-rf&lt;/span&gt; /Applications/Vim.app/Contents/Resources/vim/runtime
sudo cp &lt;span class="Special"&gt;-R&lt;/span&gt; runtime /Applications/Vim.app/Contents/Resources/vim
&lt;/pre&gt;
ダウンロード：&lt;a href='http://www.box.net/shared/q8ltjuyhat'&gt;mac-vim70-216.sh&lt;/a&gt;
&lt;h4&gt;インストール方法&lt;/h4&gt;
&lt;p&gt;このスクリプトを実行すると &lt;code&gt;/Applications/Vim.app&lt;/code&gt; が作成されます。&lt;/p&gt;
&lt;pre class="term"&gt;
% chmod +x mac-vim70-216.sh
% ./mac-vim70-216.sh
&lt;/pre&gt;
&lt;p&gt;途中パスワードの入力が求められる場合があります。（要管理者権限）&lt;/p&gt;
&lt;h4&gt;完成&lt;/h4&gt;
&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_05xQD7vc4ag/RjNLQc_TqQI/AAAAAAAAAF4/T7GfmtOFuQM/s1600-h/vim70-216.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://2.bp.blogspot.com/_05xQD7vc4ag/RjNLQc_TqQI/AAAAAAAAAF4/T7GfmtOFuQM/s400/vim70-216.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5058469552498911490" /&gt;&lt;/a&gt;
&lt;h4&gt;関連URL&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://www.vim.org/"&gt;vim online&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.kaoriya.net/#VIM70"&gt;KaoriYa.net Vim 7.0&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://2xup.org/log/2006/09/13-0220" title="Vim7.0 + KaoriYa を Mac OSX にインストールする"&gt;Vim7.0 + KaoriYa を Mac OSX にインストールする&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://d.hatena.ne.jp/mio-su/20060926"&gt;インライン入力可能な Mac 用 Vim 7.0 (2)&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;追記（2007.05.24）&lt;/h4&gt;
&lt;p&gt;こちらの方がお勧めです。&lt;br/&gt;
&lt;a href="http://mig-ration.blogspot.com/2007/05/mac-vim71.html"&gt;Macでいろいろ対応したVim7.1(gvim)のインストール&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/32159354-572395004932668866?l=mig-ration.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mig-ration.blogspot.com/feeds/572395004932668866/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=32159354&amp;postID=572395004932668866' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/32159354/posts/default/572395004932668866'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/32159354/posts/default/572395004932668866'/><link rel='alternate' type='text/html' href='http://mig-ration.blogspot.com/2007/04/mac-vim70-216.html' title='Macでインライン入力に対応したVim7(gvim)を作成するスクリプト(7.0.216)'/><author><name>mig</name><uri>http://www.blogger.com/profile/00706852036321820024</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_05xQD7vc4ag/Sf8Jrz3NQGI/AAAAAAAAARw/jb3n1rTWBaY/S220/mig-guitar.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_05xQD7vc4ag/RjNLQc_TqQI/AAAAAAAAAF4/T7GfmtOFuQM/s72-c/vim70-216.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-32159354.post-5705440723135665259</id><published>2007-04-26T00:34:00.000+09:00</published><updated>2007-04-29T02:29:51.926+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='StyleSheet'/><title type='text'>overflow:auto で横スクロールバーが表示されない件（解決）</title><content type='html'>&lt;p&gt;Blogger デフォルトスタイルシートの方で &lt;code&gt;word-wrap: break-word;&lt;/code&gt;が定義されていたのが原因でした。&lt;/p&gt;
&lt;pre class="code"&gt;
&lt;span class="Identifier"&gt;#main&lt;/span&gt; &lt;span class="Identifier"&gt;{&lt;/span&gt;
  &lt;span class="Type"&gt;float&lt;/span&gt;: &lt;span class="Type"&gt;left&lt;/span&gt;;
  &lt;span class="Type"&gt;width&lt;/span&gt;: &lt;span class="Constant"&gt;460px&lt;/span&gt;;
  &lt;span class="Type"&gt;margin&lt;/span&gt;: &lt;span class="Constant"&gt;20px&lt;/span&gt; &lt;span class="Constant"&gt;0&lt;/span&gt; &lt;span class="Constant"&gt;0&lt;/span&gt; &lt;span class="Constant"&gt;0&lt;/span&gt;;
  &lt;span class="Type"&gt;padding&lt;/span&gt;: &lt;span class="Constant"&gt;0&lt;/span&gt; &lt;span class="Constant"&gt;0&lt;/span&gt; &lt;span class="Constant"&gt;0&lt;/span&gt; &lt;span class="Constant"&gt;1em&lt;/span&gt;;
  &lt;span class="Type"&gt;line-height&lt;/span&gt;: &lt;span class="Constant"&gt;1.5em&lt;/span&gt;;
  word-wrap: break-word; &lt;span class="Comment"&gt;/* fix for long text breaking sidebar float in IE */&lt;/span&gt;
  &lt;span class="Type"&gt;overflow&lt;/span&gt;: &lt;span class="Type"&gt;hidden&lt;/span&gt;;     &lt;span class="Comment"&gt;/* fix for long non-text content breaking IE sidebar float */&lt;/span&gt;
&lt;span class="Identifier"&gt;}&lt;/span&gt;
&lt;/pre&gt;
&lt;p&gt;ユーザー定義スタイルシートの方で &lt;code&gt;word-wrap:normal;&lt;/code&gt;を指定することで解決。&lt;/p&gt;
&lt;pre class="code"&gt;
&lt;span class="Statement"&gt;pre&lt;/span&gt; &lt;span class="Identifier"&gt;{&lt;/span&gt;
  &lt;span class="Type"&gt;margin&lt;/span&gt;:&lt;span class="Constant"&gt;3px&lt;/span&gt;;
  &lt;span class="Type"&gt;padding&lt;/span&gt;:&lt;span class="Constant"&gt;3px&lt;/span&gt; &lt;span class="Constant"&gt;8px&lt;/span&gt;;
  &lt;span class="Type"&gt;overflow&lt;/span&gt;: &lt;span class="Type"&gt;auto&lt;/span&gt;;
  word-wrap:&lt;span class="Type"&gt;normal&lt;/span&gt;;
&lt;span class="Identifier"&gt;}&lt;/span&gt;
&lt;span class="Statement"&gt;pre&lt;/span&gt;&lt;span class="Special"&gt;.&lt;/span&gt;term &lt;span class="Identifier"&gt;{&lt;/span&gt;
  &lt;span class="Type"&gt;background-color&lt;/span&gt;:&lt;span class="Constant"&gt;#111&lt;/span&gt;;
  &lt;span class="Type"&gt;color&lt;/span&gt;:&lt;span class="Constant"&gt;#EEE&lt;/span&gt;;
&lt;span class="Identifier"&gt;}&lt;/span&gt;
&lt;span class="Statement"&gt;pre&lt;/span&gt;&lt;span class="Special"&gt;.&lt;/span&gt;&lt;span class="Statement"&gt;code&lt;/span&gt; &lt;span class="Identifier"&gt;{&lt;/span&gt;
  &lt;span class="Type"&gt;background-color&lt;/span&gt;: &lt;span class="Constant"&gt;#E5E5E5&lt;/span&gt;;
&lt;span class="Identifier"&gt;}&lt;/span&gt;
&lt;/pre&gt;
&lt;p&gt;なーんだ。&lt;/p&gt;
&lt;h4&gt;関連URL&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://www.htmq.com/style/overflow.shtml"&gt;overflow－スタイルシートリファレンス&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/32159354-5705440723135665259?l=mig-ration.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mig-ration.blogspot.com/feeds/5705440723135665259/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=32159354&amp;postID=5705440723135665259' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/32159354/posts/default/5705440723135665259'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/32159354/posts/default/5705440723135665259'/><link rel='alternate' type='text/html' href='http://mig-ration.blogspot.com/2007/04/overflowauto-resolved.html' title='overflow:auto で横スクロールバーが表示されない件（解決）'/><author><name>mig</name><uri>http://www.blogger.com/profile/00706852036321820024</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_05xQD7vc4ag/Sf8Jrz3NQGI/AAAAAAAAARw/jb3n1rTWBaY/S220/mig-guitar.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-32159354.post-8618209723015882419</id><published>2007-04-25T23:29:00.000+09:00</published><updated>2007-04-29T02:29:03.558+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='StyleSheet'/><title type='text'>overflow:auto にしてるのに横スクロールバーが表示されない</title><content type='html'>&lt;p&gt;
Safari での現象。&lt;br /&gt;
以下のページでは横スクロールバーが表示されてます。
&lt;/p&gt;
&lt;a href="http://hail2u.net/pub/test/069.html"&gt;preへのスタイル指定&lt;/a&gt;
&lt;p&gt;&lt;strike&gt;これと同じHTMLを以下に記述したんだけど、横スクロールバーが表示されないのです。&lt;/strike&gt;&lt;/p&gt;
&lt;pre style="padding: 1em;border: 1px solid #000;width: auto;_width: 90%;overflow: auto;_overflow: scroll;color: #000;background-color: #f6f6f6;font-family:monospace;"&gt;
&amp;lt;div class=&amp;quot;asamashi&amp;quot;&amp;gt;

  &amp;lt;p class=&amp;quot;image&amp;quot;&amp;gt;
    &amp;lt;a href=&amp;quot;http://www.amazon.co.jp/gp/redirect.html%3FASIN=4873110270%26tag=hail2unet-22%26lcode=xm2%26cID=2025%26ccmID=165953%26location=/o/ASIN/4873110270%253FSubscriptionId=08PWFCAAQ5TZJT30SKG2&amp;quot;&amp;gt;
      &amp;lt;img alt=&amp;quot;JavaScript&amp;quot; src=&amp;quot;http://images.amazon.com/images/P/4873110270.09._SCMZZZZZZZ_.jpg&amp;quot; width=&amp;quot;109&amp;quot; height=&amp;quot;140&amp;quot; /&amp;gt;
    &amp;lt;/a&amp;gt;
  &amp;lt;/p&amp;gt;

  &amp;lt;h4 class=&amp;quot;title&amp;quot;&amp;gt;
    &amp;lt;a href=&amp;quot;http://www.amazon.co.jp/gp/redirect.html%3FASIN=4873110270%26tag=hail2unet-22%26lcode=xm2%26cID=2025%26ccmID=165953%26location=/o/ASIN/4873110270%253FSubscriptionId=08PWFCAAQ5TZJT30SKG2&amp;quot;&amp;gt;JavaScript&amp;lt;/a&amp;gt;
  &amp;lt;/h4&amp;gt;

  &amp;lt;ul&amp;gt;
    &amp;lt;li&amp;gt;デイビッド フラナガン、 David Flanagan、 村上 列、 垰井 正雄、 安藤 進&amp;lt;/li&amp;gt;
    &amp;lt;li&amp;gt;オライリー・ジャパン&amp;lt;/li&amp;gt;
    &amp;lt;li&amp;gt;2000-12&amp;lt;/li&amp;gt;
    &amp;lt;li&amp;gt;￥ 4,410&amp;lt;/li&amp;gt;
  &amp;lt;/ul&amp;gt;

&amp;lt;/div&amp;gt;
&lt;/pre&gt;
&lt;p&gt;&lt;strike&gt;どうして？教えて〜。&lt;/strike&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="/2007/04/overflowauto-resolved.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/32159354-8618209723015882419?l=mig-ration.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mig-ration.blogspot.com/feeds/8618209723015882419/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=32159354&amp;postID=8618209723015882419' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/32159354/posts/default/8618209723015882419'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/32159354/posts/default/8618209723015882419'/><link rel='alternate' type='text/html' href='http://mig-ration.blogspot.com/2007/04/overflowauto.html' title='overflow:auto にしてるのに横スクロールバーが表示されない'/><author><name>mig</name><uri>http://www.blogger.com/profile/00706852036321820024</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_05xQD7vc4ag/Sf8Jrz3NQGI/AAAAAAAAARw/jb3n1rTWBaY/S220/mig-guitar.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-32159354.post-5097525508912005694</id><published>2007-04-25T06:55:00.001+09:00</published><updated>2007-04-30T08:42:39.563+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PaSoRi'/><category scheme='http://www.blogger.com/atom/ns#' term='Ruby'/><title type='text'>Ruby で PaSoRi 使ってみる</title><content type='html'>&lt;p&gt;&lt;a href="http://www.ruby-lang.org/"&gt;Ruby&lt;/a&gt; には&lt;a href="http://www.ruby-lang.org/ja/man/?cmd=view;name=dl"&gt;ダイナミックリンカへのインターフェース&lt;/a&gt;が用意されているのでこれを利用してみます。&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.ruby-lang.org/ja/man/?cmd=view;name=dl%2Fimport"&gt;DL::Importable&lt;/a&gt; を利用しヘッダファイルを参考にしながらライブラリ関数に対してラッパーメソッドを定義していきます。&lt;/p&gt;
&lt;code&gt;pasori.rb&lt;/code&gt;
&lt;pre class="code"&gt;
&lt;span class="PreProc"&gt;require&lt;/span&gt; &lt;span class="Special"&gt;'&lt;/span&gt;&lt;span class="Constant"&gt;dl/import&lt;/span&gt;&lt;span class="Special"&gt;'&lt;/span&gt;

&lt;span class="PreProc"&gt;module &lt;/span&gt;&lt;span class="Type"&gt;Pasori&lt;/span&gt;
  &lt;span class="PreProc"&gt;extend&lt;/span&gt; &lt;span class="Identifier"&gt;DL&lt;/span&gt;::&lt;span class="Identifier"&gt;Importable&lt;/span&gt;
  dlload &lt;span class="Special"&gt;'&lt;/span&gt;&lt;span class="Constant"&gt;/usr/local/lib/libpasori.dylib&lt;/span&gt;&lt;span class="Special"&gt;'&lt;/span&gt;

  typealias &lt;span class="Special"&gt;'&lt;/span&gt;&lt;span class="Constant"&gt;uint8&lt;/span&gt;&lt;span class="Special"&gt;'&lt;/span&gt;, &lt;span class="Special"&gt;'&lt;/span&gt;&lt;span class="Constant"&gt;unsigned char&lt;/span&gt;&lt;span class="Special"&gt;'&lt;/span&gt;
  typealias &lt;span class="Special"&gt;'&lt;/span&gt;&lt;span class="Constant"&gt;uint16&lt;/span&gt;&lt;span class="Special"&gt;'&lt;/span&gt;, &lt;span class="Special"&gt;'&lt;/span&gt;&lt;span class="Constant"&gt;unsigned int&lt;/span&gt;&lt;span class="Special"&gt;'&lt;/span&gt;
  &lt;span class="Comment"&gt;#typealias 'uint16', 'unsigned short int'&lt;/span&gt;

  &lt;span class="Comment"&gt;# libpasori.h&lt;/span&gt;
  extern &lt;span class="Special"&gt;'&lt;/span&gt;&lt;span class="Constant"&gt;pasori* pasori_open(char*)&lt;/span&gt;&lt;span class="Special"&gt;'&lt;/span&gt;
  extern &lt;span class="Special"&gt;'&lt;/span&gt;&lt;span class="Constant"&gt;void pasori_close(pasori*)&lt;/span&gt;&lt;span class="Special"&gt;'&lt;/span&gt;
  extern &lt;span class="Special"&gt;'&lt;/span&gt;&lt;span class="Constant"&gt;int pasori_send(pasori*,uint8*,uint8,int)&lt;/span&gt;&lt;span class="Special"&gt;'&lt;/span&gt;
  extern &lt;span class="Special"&gt;'&lt;/span&gt;&lt;span class="Constant"&gt;int pasori_recv(pasori*,uint8*,uint8,int)&lt;/span&gt;&lt;span class="Special"&gt;'&lt;/span&gt;

  &lt;span class="Identifier"&gt;POLLING_ANY&lt;/span&gt; = &lt;span class="Constant"&gt;0xffff&lt;/span&gt;
  &lt;span class="Identifier"&gt;POLLING_SUICA&lt;/span&gt; = &lt;span class="Constant"&gt;0x0003&lt;/span&gt;
  &lt;span class="Identifier"&gt;POLLING_EDY&lt;/span&gt; = &lt;span class="Constant"&gt;0xfe00&lt;/span&gt;

  &lt;span class="Identifier"&gt;SERVICE_SUICA&lt;/span&gt; = &lt;span class="Constant"&gt;0x090f&lt;/span&gt;
  &lt;span class="Identifier"&gt;SERVICE_EDY&lt;/span&gt; = &lt;span class="Constant"&gt;0x170f&lt;/span&gt;

  &lt;span class="Comment"&gt;# libpasori_command.h&lt;/span&gt;
  extern &lt;span class="Special"&gt;'&lt;/span&gt;&lt;span class="Constant"&gt;int pasori_init(pasori*)&lt;/span&gt;&lt;span class="Special"&gt;'&lt;/span&gt;
  extern &lt;span class="Special"&gt;'&lt;/span&gt;&lt;span class="Constant"&gt;int pasori_write(pasori*,uint8,uint8)&lt;/span&gt;&lt;span class="Special"&gt;'&lt;/span&gt;
  extern &lt;span class="Special"&gt;'&lt;/span&gt;&lt;span class="Constant"&gt;int pasori_read(pasori*,uint8,uint8)&lt;/span&gt;&lt;span class="Special"&gt;'&lt;/span&gt;
  extern &lt;span class="Special"&gt;'&lt;/span&gt;&lt;span class="Constant"&gt;felica* felica_polling(pasori*,uint16,uint8,uint8)&lt;/span&gt;&lt;span class="Special"&gt;'&lt;/span&gt;
  extern &lt;span class="Special"&gt;'&lt;/span&gt;&lt;span class="Constant"&gt;int felica_read_without_encryption02(felica*,int,int,uint8,uint8*)&lt;/span&gt;&lt;span class="Special"&gt;'&lt;/span&gt;
&lt;span class="PreProc"&gt;end&lt;/span&gt;
&lt;/pre&gt;
&lt;p&gt;
これで、&lt;a href="http://libpasori.sourceforge.jp/"&gt;libpasori&lt;/a&gt; で提供されている関数郡を Ruby から透過的に利用できるようになりました。&lt;/p&gt;
&lt;p&gt;
次に、&lt;a href="http://cvs.sourceforge.jp/cgi-bin/viewcvs.cgi/libpasori/libpasori/src/lptest.c?view=markup"&gt;lptest.c&lt;/a&gt; を参考に各値をパースして出力している部分を省略し、生データ（16バイト ビックエンディアン）で返す関数を書いてみます。&lt;/p&gt;
&lt;code&gt;pasori.rb&lt;/code&gt; 続き
&lt;pre class="code"&gt;
&lt;span class="PreProc"&gt;module &lt;/span&gt;&lt;span class="Type"&gt;Pasori&lt;/span&gt;
  &lt;span class="PreProc"&gt;class &lt;/span&gt;&amp;lt;&amp;lt; &lt;span class="Constant"&gt;self&lt;/span&gt;
    &lt;span class="PreProc"&gt;def &lt;/span&gt;&lt;span class="Identifier"&gt;felica_raw_values&lt;/span&gt; systemcode, servicecode, little_endian = &lt;span class="Constant"&gt;false&lt;/span&gt;
      values = []
      b = &lt;span class="Identifier"&gt;Array&lt;/span&gt;.new(&lt;span class="Constant"&gt;4&lt;/span&gt;).to_ptr
      psr = pasori_open &lt;span class="Special"&gt;&amp;quot;&amp;quot;&lt;/span&gt;
      pasori_init psr
      flc = felica_polling psr, systemcode, &lt;span class="Constant"&gt;0&lt;/span&gt;, &lt;span class="Constant"&gt;0&lt;/span&gt;
      i = &lt;span class="Constant"&gt;0&lt;/span&gt;
      &lt;span class="Statement"&gt;while&lt;/span&gt; felica_read_without_encryption02(flc, servicecode, &lt;span class="Constant"&gt;0&lt;/span&gt;, i, b) == &lt;span class="Constant"&gt;0&lt;/span&gt;
        row = b.to_a(&lt;span class="Special"&gt;'&lt;/span&gt;&lt;span class="Constant"&gt;I&lt;/span&gt;&lt;span class="Special"&gt;'&lt;/span&gt;)
        data = &lt;span class="Special"&gt;&amp;quot;&amp;quot;&lt;/span&gt;
        row.size.times &lt;span class="Statement"&gt;do&lt;/span&gt; |&lt;span class="Identifier"&gt;j&lt;/span&gt;|
          &lt;span class="Statement"&gt;if&lt;/span&gt; little_endian
            &lt;span class="Constant"&gt;4&lt;/span&gt;.times { |&lt;span class="Identifier"&gt;k&lt;/span&gt;| data += sprintf &lt;span class="Special"&gt;&amp;quot;&lt;/span&gt;&lt;span class="Constant"&gt;%02x&lt;/span&gt;&lt;span class="Special"&gt;&amp;quot;&lt;/span&gt;, (row[j].to_i &amp;gt;&amp;gt; (&lt;span class="Constant"&gt;8&lt;/span&gt; * k)) &amp;amp; &lt;span class="Constant"&gt;0xff&lt;/span&gt; }
          &lt;span class="Statement"&gt;else&lt;/span&gt;
            data += sprintf &lt;span class="Special"&gt;&amp;quot;&lt;/span&gt;&lt;span class="Constant"&gt;%08x&lt;/span&gt;&lt;span class="Special"&gt;&amp;quot;&lt;/span&gt;, row[j].to_i &amp;amp; &lt;span class="Constant"&gt;0xffffffff&lt;/span&gt;
          &lt;span class="Statement"&gt;end&lt;/span&gt;
        &lt;span class="Statement"&gt;end&lt;/span&gt;
        &lt;span class="Statement"&gt;yield&lt;/span&gt; data &lt;span class="Statement"&gt;if&lt;/span&gt; block_given?
        values &amp;lt;&amp;lt; data
        i += &lt;span class="Constant"&gt;1&lt;/span&gt;
      &lt;span class="Statement"&gt;end&lt;/span&gt;
      pasori_close psr
      values
    &lt;span class="PreProc"&gt;end&lt;/span&gt;
  &lt;span class="PreProc"&gt;end&lt;/span&gt;
&lt;span class="PreProc"&gt;end&lt;/span&gt;
&lt;/pre&gt;
&lt;p&gt;これを利用し、データを表示するだけのプログラムを書いてみます。&lt;/p&gt;
&lt;a name="dump_suica"&gt;&lt;/a&gt;
&lt;code&gt;dump_suica.rb&lt;/code&gt;
&lt;pre class="code"&gt;&lt;span class="PreProc"&gt;require&lt;/span&gt; &lt;span class="Special"&gt;'&lt;/span&gt;&lt;span class="Constant"&gt;pasori&lt;/span&gt;&lt;span class="Special"&gt;'&lt;/span&gt;
&lt;span class="Identifier"&gt;Pasori&lt;/span&gt;.felica_raw_values &lt;span class="Identifier"&gt;Pasori&lt;/span&gt;::&lt;span class="Identifier"&gt;POLLING_SUICA&lt;/span&gt;, &lt;span class="Identifier"&gt;Pasori&lt;/span&gt;::&lt;span class="Identifier"&gt;SERVICE_SUICA&lt;/span&gt;, &lt;span class="Constant"&gt;true&lt;/span&gt; &lt;span class="Statement"&gt;do&lt;/span&gt; |&lt;span class="Identifier"&gt;data&lt;/span&gt;|
    puts data
&lt;span class="Statement"&gt;end&lt;/span&gt;
&lt;/pre&gt;
&lt;p&gt;それでは、実際に PaSoRi に Suica / PASMO を置いてこのコードを実行してみましょう。&lt;/p&gt;
&lt;pre class="term"&gt;% ruby dump_suica.rb
160100020e98e376e37d2e2200008000
1d0100020e98f102f104a62200007e00
160100020e98c502f102502300007c00
160100020e98f102c5025e2400007a00
160100020e98e37de5326c2500007800
160100020e97e355e37d2a2600007600
160100020e97e43ee3552a2600007400
160100020e97e355e43ee82600007200
160100020e97e37de37a062700007000
160100020e9625020102a62700006e00
160100020e9501022502462800006c00
160100020e95e37de37ae62800006a00
1b023f000e9500000000862900006800
160100020e95e532e37d760200006700
160100020e94e37de532340300006500
160100020e93e376e37df20300006300
1d0100020e93f102f1046a0400006100
160100020e93d204e532140500005f00
160100020e92e001e0074a0600005d00
160100020e92e532e534e00600005b00
&lt;/pre&gt;
&lt;p&gt;
最新20履歴のデータが表示されました。&lt;br /&gt;
次回は、これを人間が見ても分かる表示にしていきましょう。
&lt;/p&gt;
&lt;h4&gt;関連URL&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://mig-ration.blogspot.com/2007/04/ruby-pasori.html"&gt;Ruby で PaSoRi を使いたい&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.ruby-lang.org/ja/man/?cmd=view;name=dl"&gt;Rubyリファレンスマニュアル - dl&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://ttsky.net/ruby/ruby-dl-doc-ja/rbdl.pdf"&gt;Ruby/DL&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/32159354-5097525508912005694?l=mig-ration.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mig-ration.blogspot.com/feeds/5097525508912005694/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=32159354&amp;postID=5097525508912005694' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/32159354/posts/default/5097525508912005694'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/32159354/posts/default/5097525508912005694'/><link rel='alternate' type='text/html' href='http://mig-ration.blogspot.com/2007/04/using-pasori-with-ruby.html' title='Ruby で PaSoRi 使ってみる'/><author><name>mig</name><uri>http://www.blogger.com/profile/00706852036321820024</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_05xQD7vc4ag/Sf8Jrz3NQGI/AAAAAAAAARw/jb3n1rTWBaY/S220/mig-guitar.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-32159354.post-2197074861653242202</id><published>2007-04-24T08:11:00.000+09:00</published><updated>2007-04-29T02:06:55.277+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Mac'/><category scheme='http://www.blogger.com/atom/ns#' term='Software'/><category scheme='http://www.blogger.com/atom/ns#' term='Widget'/><title type='text'>Twitter + Widget = Twidget</title><content type='html'>&lt;p&gt;なんだか最近流行中の &lt;a href="http://twitter.com/"&gt;Twitter&lt;/a&gt; できる&lt;a href="http://www.apple.com/jp/downloads/dashboard/"&gt;ウィジェット&lt;/a&gt;。&lt;/p&gt;
&lt;a href="http://3.bp.blogspot.com/_05xQD7vc4ag/Ri09hW5W7XI/AAAAAAAAAEo/q5OOCpIJ9WM/s1600-h/twidget.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://3.bp.blogspot.com/_05xQD7vc4ag/Ri09hW5W7XI/AAAAAAAAAEo/q5OOCpIJ9WM/s400/twidget.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5056765599898070386" /&gt;&lt;/a&gt;
&lt;p&gt;Twitterしている人には便利そうだけどIMで十分か。私はやってない。&lt;/p&gt;
&lt;h4&gt;関連URL&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://www.frankmanno.com/widgets/twidget/"&gt;Twidget - Twitter.com Dashboard Widget&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/32159354-2197074861653242202?l=mig-ration.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mig-ration.blogspot.com/feeds/2197074861653242202/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=32159354&amp;postID=2197074861653242202' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/32159354/posts/default/2197074861653242202'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/32159354/posts/default/2197074861653242202'/><link rel='alternate' type='text/html' href='http://mig-ration.blogspot.com/2007/04/twidget.html' title='Twitter + Widget = Twidget'/><author><name>mig</name><uri>http://www.blogger.com/profile/00706852036321820024</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_05xQD7vc4ag/Sf8Jrz3NQGI/AAAAAAAAARw/jb3n1rTWBaY/S220/mig-guitar.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_05xQD7vc4ag/Ri09hW5W7XI/AAAAAAAAAEo/q5OOCpIJ9WM/s72-c/twidget.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-32159354.post-550636598746916060</id><published>2007-04-23T04:43:00.000+09:00</published><updated>2007-04-29T01:53:26.849+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Mac'/><category scheme='http://www.blogger.com/atom/ns#' term='Software'/><title type='text'>SFTP や FTP をマウントするソフト MacFusion</title><content type='html'>&lt;a href="http://4.bp.blogspot.com/_05xQD7vc4ag/Riu98G5W7UI/AAAAAAAAAEQ/JXSogvCNa5o/s1600-h/MacFusion.png"&gt;&lt;img style="float:right; margin:10px; text-align:center;cursor:pointer; cursor:hand;" src="http://4.bp.blogspot.com/_05xQD7vc4ag/Riu98G5W7UI/AAAAAAAAAEQ/JXSogvCNa5o/s400/MacFusion.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5056343846994505026" /&gt;&lt;/a&gt;&lt;br /&gt;
ユーザスペースで動作するファイルシステム &lt;a href="http://fuse.sourceforge.net/"&gt;FUSE&lt;/a&gt; の Mac 版である &lt;a href="http://code.google.com/p/macfuse/"&gt;MacFUSE&lt;/a&gt; を GUI で手軽に扱えるようにしたソフト。&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://www.sccs.swarthmore.edu/users/08/mgorbach/MacFusionWeb/"&gt;The GUI for MacFUSE&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
これを利用することで、SFTP/FTP をディスクイメージと同様に手軽にマウント/アンマウントすることができます。&lt;br /&gt;
&lt;br /&gt;
利用するためには、予め &lt;a href="http://code.google.com/p/macfuse/downloads/list"&gt;Google MacFUSE Core&lt;/a&gt; をインストールしておかなくてはならないのですが、&lt;a href="http://www.macports.org/"&gt;MacPorts&lt;/a&gt; で検索(&lt;code&gt;port search fuse&lt;/code&gt;)したら &lt;a href="http://www.gtlib.gatech.edu/pub/macports/dpupdate/dports/fuse/libfuse/"&gt;libfuse&lt;/a&gt; なるものを発見。&lt;br /&gt;
インストールして試したところこれでも問題無く動作しました。&lt;br /&gt;
もちろん、お勧めは &lt;a href="http://code.google.com/p/macfuse/downloads/list"&gt;Google MacFUSE Core&lt;/a&gt; の方ですよ。&lt;br /&gt;&lt;br /&gt;

&lt;a href="http://4.bp.blogspot.com/_05xQD7vc4ag/RivDGG5W7VI/AAAAAAAAAEY/COSvxg3xm9A/s1600-h/macfusion-icons.png"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;" src="http://4.bp.blogspot.com/_05xQD7vc4ag/RivDGG5W7VI/AAAAAAAAAEY/COSvxg3xm9A/s400/macfusion-icons.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5056349516351335762" /&gt;&lt;/a&gt;
&lt;br /&gt;
メニューバーに MacFusion のアイコンが登場するので、マウント作業はそちらで行います。&lt;br /&gt;
&lt;br /&gt;
マウントに成功すると、CD/DVD やディスクイメージをマウントした時と同様にマウントアイコンが登場し、アンマウント作業も同様に行うことができます。&lt;br /&gt;
&lt;div style="clear:both;"&gt;&lt;/div&gt;
よく使う接続先は以下のようにお気に入りとして設定しておくことも可能です。&lt;br /&gt;
&lt;a href="http://4.bp.blogspot.com/_05xQD7vc4ag/RivD0G5W7WI/AAAAAAAAAEg/aQGDKq3VpTs/s1600-h/macfusion-favs.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://4.bp.blogspot.com/_05xQD7vc4ag/RivD0G5W7WI/AAAAAAAAAEg/aQGDKq3VpTs/s400/macfusion-favs.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5056350306625318242" /&gt;&lt;/a&gt;
今までは &lt;a href="http://cyberduck.ch/"&gt;Cyberduck&lt;/a&gt; を利用していたのですが、もう必要無くなるかも知れません。
&lt;h4&gt;関連URL&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://www.sccs.swarthmore.edu/users/08/mgorbach/MacFusionWeb/"&gt;The GUI for MacFUSE&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://journal.mycom.co.jp/column/osx/213/"&gt;【コラム】OS X ハッキング! (213) 噂の「MacFUSE」を試す(1)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.hasta-pronto.org/archives/2007/03/05-2349.php"&gt;MacFUSE + sshfs はテラ便利&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/32159354-550636598746916060?l=mig-ration.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mig-ration.blogspot.com/feeds/550636598746916060/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=32159354&amp;postID=550636598746916060' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/32159354/posts/default/550636598746916060'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/32159354/posts/default/550636598746916060'/><link rel='alternate' type='text/html' href='http://mig-ration.blogspot.com/2007/04/macfusion.html' title='SFTP や FTP をマウントするソフト MacFusion'/><author><name>mig</name><uri>http://www.blogger.com/profile/00706852036321820024</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_05xQD7vc4ag/Sf8Jrz3NQGI/AAAAAAAAARw/jb3n1rTWBaY/S220/mig-guitar.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_05xQD7vc4ag/Riu98G5W7UI/AAAAAAAAAEQ/JXSogvCNa5o/s72-c/MacFusion.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-32159354.post-3158530635583723731</id><published>2007-04-22T23:11:00.000+09:00</published><updated>2007-04-29T02:24:31.752+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Mac'/><category scheme='http://www.blogger.com/atom/ns#' term='Google'/><category scheme='http://www.blogger.com/atom/ns#' term='Customize'/><title type='text'>Google Reader の外観をゴージャスにする</title><content type='html'>&lt;p&gt;日々愛用させて頂いている &lt;a href="http://www.google.com/reader/"&gt;Google Reader&lt;/a&gt; 、サービス開始当初は使い難いUIで有名でしたが、現在ではかなりまともなものになりました。&lt;/p&gt;
&lt;a href="http://2.bp.blogspot.com/_05xQD7vc4ag/Ri1AFG5W7YI/AAAAAAAAAEw/uCAsBDOfU3M/s1600-h/greader-before.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://2.bp.blogspot.com/_05xQD7vc4ag/Ri1AFG5W7YI/AAAAAAAAAEw/uCAsBDOfU3M/s400/greader-before.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5056768413101649282" /&gt;&lt;/a&gt;
&lt;p&gt;個人的にはこれで満足なのですが、さらにゴージャスにする方法についての記事を&lt;a href="http://digg.com/apple/Gorgeous_Mac_like_skin_for_Google_Reader"&gt;Digg経由&lt;/a&gt;で見つけたので紹介します。&lt;/p&gt;
&lt;a href="http://www.hicksdesign.co.uk/journal/google-reader-theme"&gt;Google Reader Theme&lt;/a&gt;&lt;br /&gt;
&lt;p&gt;これを利用すると上の画像は以下のようになります。&lt;/p&gt;
&lt;a href="http://4.bp.blogspot.com/_05xQD7vc4ag/RitxUG5W7NI/AAAAAAAAADQ/6aOtRRp0UYY/s1600-h/greader-after.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://4.bp.blogspot.com/_05xQD7vc4ag/RitxUG5W7NI/AAAAAAAAADQ/6aOtRRp0UYY/s400/greader-after.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5056259596916026578" /&gt;&lt;/a&gt;
&lt;p&gt;&lt;a href="http://www.mozilla-japan.org/products/firefox/"&gt;Firefox&lt;/a&gt;/&lt;a href="http://jp.caminobrowser.org/"&gt;Camino&lt;/a&gt;/&lt;a href="http://www.apple.com/jp/safari/"&gt;Safari&lt;/a&gt;/&lt;a href="http://www.omnigroup.com/applications/omniweb/"&gt;Omniweb&lt;/a&gt;/&lt;a href="http://jp.opera.com/"&gt;Opera&lt;/a&gt; など幅広いブラウザにも対応しています。&lt;/p&gt;
&lt;p&gt;Safariの場合、&lt;a href="http://hetima.com/safari/stand.html"&gt;SafariStand&lt;/a&gt; が必要になります。&lt;/p&gt;
&lt;a href="http://2.bp.blogspot.com/_05xQD7vc4ag/Rit0bm5W7PI/AAAAAAAAADg/k701NIrJwog/s1600-h/greader-setting.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://2.bp.blogspot.com/_05xQD7vc4ag/Rit0bm5W7PI/AAAAAAAAADg/k701NIrJwog/s400/greader-setting.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5056263024299928818" /&gt;&lt;/a&gt;
&lt;p&gt;スタイルシートをカスタマイズするだけで、これだけ印象を変えられるのはすごいですね。&lt;/p&gt;
&lt;h4&gt;関連URL&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://www.hicksdesign.co.uk/journal/google-reader-theme"&gt;Google Reader Theme&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/32159354-3158530635583723731?l=mig-ration.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mig-ration.blogspot.com/feeds/3158530635583723731/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=32159354&amp;postID=3158530635583723731' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/32159354/posts/default/3158530635583723731'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/32159354/posts/default/3158530635583723731'/><link rel='alternate' type='text/html' href='http://mig-ration.blogspot.com/2007/04/google-reader.html' title='Google Reader の外観をゴージャスにする'/><author><name>mig</name><uri>http://www.blogger.com/profile/00706852036321820024</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_05xQD7vc4ag/Sf8Jrz3NQGI/AAAAAAAAARw/jb3n1rTWBaY/S220/mig-guitar.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_05xQD7vc4ag/Ri1AFG5W7YI/AAAAAAAAAEw/uCAsBDOfU3M/s72-c/greader-before.png' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-32159354.post-5073410425398864429</id><published>2007-04-21T18:29:00.000+09:00</published><updated>2007-05-16T23:22:05.929+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Diary'/><category scheme='http://www.blogger.com/atom/ns#' term='Cocoa'/><title type='text'>Cocoaセミナー 開催のご案内</title><content type='html'>&lt;p&gt;
&lt;a href="http://www.apple.com/jp/macosx/features/xcode/"&gt;Xcode&lt;/a&gt; 触ってたら &lt;a href="http://developer.apple.com/cocoa/"&gt;Cocoa&lt;/a&gt; に興味が湧いてきた。&lt;br /&gt;
勢いで &lt;a href="http://developer.apple.com/jp/briefing/cocoa.html"&gt;Cocoaセミナー&lt;/a&gt; のすべてに申し込んだ。&lt;br /&gt;
今は後悔していない。
&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/32159354-5073410425398864429?l=mig-ration.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mig-ration.blogspot.com/feeds/5073410425398864429/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=32159354&amp;postID=5073410425398864429' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/32159354/posts/default/5073410425398864429'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/32159354/posts/default/5073410425398864429'/><link rel='alternate' type='text/html' href='http://mig-ration.blogspot.com/2007/04/entry-cocoa-seminar.html' title='Cocoaセミナー 開催のご案内'/><author><name>mig</name><uri>http://www.blogger.com/profile/00706852036321820024</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_05xQD7vc4ag/Sf8Jrz3NQGI/AAAAAAAAARw/jb3n1rTWBaY/S220/mig-guitar.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-32159354.post-567356260149425943</id><published>2007-04-21T17:11:00.000+09:00</published><updated>2007-04-29T02:20:57.462+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PaSoRi'/><category scheme='http://www.blogger.com/atom/ns#' term='Mac'/><category scheme='http://www.blogger.com/atom/ns#' term='Xcode'/><title type='text'>libpasori の共有ライブラリ化</title><content type='html'>&lt;p&gt;&lt;a href="http://libpasori.sourceforge.jp/"&gt;libpasori&lt;/a&gt; 共有ライブラリ化なんて、gcc のオプションをちょこっと変更してあげればOKでしょ？くらいに思っていたんだけど、何だか Mac の gcc はちょっと勝手が違うらしい。&lt;/p&gt;
&lt;a href="http://www.fortran-2000.com/ArnaudRecipes/sharedlib.html"&gt;Using static and shared libraries across platforms&lt;/a&gt;
&lt;p&gt;
共有ライブラリの拡張子も libhoge.so じゃなくて libhoge.dylib なんだそうだ。いままで気が付かなかった。gcc のオプションいろいろ試してみるがなかなかうまくいかない。もういいやと諦めかけたころ、ふと &lt;a href="http://www.apple.com/jp/macosx/features/xcode/"&gt;Xcode&lt;/a&gt; の存在を思いだした。Mac Switch 歴 10ヶ月、いままで全く使ったことは無かったし必要も無かったけれども、これを機会に試してみよう。
&lt;/p&gt;
&lt;a href="http://www.macports.org/"&gt;MacPorts&lt;/a&gt; を使うため &lt;a href="http://www.apple.com/jp/macosx/developertools/"&gt;Developer Tools&lt;/a&gt; は導入済み。&lt;br /&gt;
&lt;p&gt;Xcode を起動し、ファイル -&gt; 新規プロジェクト... を選択。&lt;/p&gt;
&lt;p&gt;それらしいプロジェクト発見！&lt;/p&gt;
&lt;a href="http://3.bp.blogspot.com/_05xQD7vc4ag/Rim76W5W7CI/AAAAAAAAAB4/lQx8dXzv_eo/s1600-h/Xcode01.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://3.bp.blogspot.com/_05xQD7vc4ag/Rim76W5W7CI/AAAAAAAAAB4/lQx8dXzv_eo/s400/Xcode01.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5055778667953056802" /&gt;&lt;/a&gt;
&lt;p&gt;こんな画面が開きます。&lt;/p&gt;
&lt;a href="http://3.bp.blogspot.com/_05xQD7vc4ag/Rim8DW5W7DI/AAAAAAAAACA/XbbwDGaVFk0/s1600-h/Xcode02.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://3.bp.blogspot.com/_05xQD7vc4ag/Rim8DW5W7DI/AAAAAAAAACA/XbbwDGaVFk0/s400/Xcode02.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5055778822571879474" /&gt;&lt;/a&gt;
&lt;p&gt;libpasori のソースコードを追加しましょう。&lt;/p&gt;
&lt;p&gt;左ペイン「グループとファイル」にある、Source を右クリック -&gt; 追加 -&gt; 既存のファイル... を選択します。&lt;/p&gt;
&lt;a href="http://4.bp.blogspot.com/_05xQD7vc4ag/Rim8Im5W7EI/AAAAAAAAACI/I4ATEH0R0eQ/s1600-h/Xcode03.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://4.bp.blogspot.com/_05xQD7vc4ag/Rim8Im5W7EI/AAAAAAAAACI/I4ATEH0R0eQ/s400/Xcode03.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5055778912766192706" /&gt;&lt;/a&gt;
&lt;p&gt;以下のファイルを選択し、追加します。&lt;/p&gt;
&lt;a href="http://3.bp.blogspot.com/_05xQD7vc4ag/Rim8MW5W7FI/AAAAAAAAACQ/n0By0uxafco/s1600-h/Xcode04.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://3.bp.blogspot.com/_05xQD7vc4ag/Rim8MW5W7FI/AAAAAAAAACQ/n0By0uxafco/s400/Xcode04.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5055778977190702162" /&gt;&lt;/a&gt;
&lt;p&gt;ディスティネーショングループのフォルダに項目をコピーするをチェックします。&lt;/p&gt;
&lt;a href="http://2.bp.blogspot.com/_05xQD7vc4ag/Rim8QG5W7GI/AAAAAAAAACY/8vvMgHiB2cs/s1600-h/Xcode05.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://2.bp.blogspot.com/_05xQD7vc4ag/Rim8QG5W7GI/AAAAAAAAACY/8vvMgHiB2cs/s400/Xcode05.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5055779041615211618" /&gt;&lt;/a&gt;
&lt;p&gt;こんな感じになります。&lt;/p&gt;
&lt;a href="http://4.bp.blogspot.com/_05xQD7vc4ag/Rim8Tm5W7HI/AAAAAAAAACg/v8ODUu-j9pc/s1600-h/Xcode06.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://4.bp.blogspot.com/_05xQD7vc4ag/Rim8Tm5W7HI/AAAAAAAAACg/v8ODUu-j9pc/s400/Xcode06.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5055779101744753778" /&gt;&lt;/a&gt;
&lt;p&gt;プロジェクト -&gt; プロジェクト情報を編集 -&gt; ビルド にてビルド設定できるようです。&lt;/p&gt;
&lt;p&gt;何を設定すべきかは、libpasori 添付のビルドスクリプトを参考にしましょう。&lt;/p&gt;
&lt;code&gt;buildline-libusb.sh&lt;/code&gt;
&lt;pre class="code"&gt;
&lt;span class="Comment"&gt;#!/bin/sh&lt;/span&gt;
gcc &lt;span class="Special"&gt;-o&lt;/span&gt; lpdump &lt;span class="Special"&gt;`libusb-config --cflags`&lt;/span&gt; -D__LIBPASORI_WITH_LIBUSB lptest.c libpasori_command.c libpasori_com_libusb.c libpasori_polling.c &lt;span class="Special"&gt;`libusb-config --libs`&lt;/span&gt;
&lt;/pre&gt;
&lt;p&gt;バッククォートの部分を実行してみます。&lt;/p&gt;
&lt;pre class="term"&gt;
% libusb-config --cflags
-I/opt/local/include
&lt;/pre&gt;
&lt;pre class="term"&gt;% libusb-config --libs
-L/opt/local/lib -lusb -Wl,-framework -Wl,IOKit -Wl,-framework -Wl,CoreFoundation -Wl,-prebind
&lt;/pre&gt;
&lt;p&gt;これらを参考にして、以下のように設定します。&lt;/p&gt;
&lt;a href="http://4.bp.blogspot.com/_05xQD7vc4ag/Rim8Wm5W7II/AAAAAAAAACo/KnNhcFrz_0k/s1600-h/Xcode07.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://4.bp.blogspot.com/_05xQD7vc4ag/Rim8Wm5W7II/AAAAAAAAACo/KnNhcFrz_0k/s400/Xcode07.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5055779153284361346" /&gt;&lt;/a&gt;
&lt;p&gt;必要ライブラリ・フレームワークを追加します。&lt;/p&gt;
&lt;p&gt;プロジェクト(pasori) を右クリック -&gt; 追加 -&gt; 既存のファイル... から以下のファイルを追加します。&lt;/p&gt;
&lt;code&gt;/opt/local/lib/libusb.dylib&lt;/code&gt;

&lt;p&gt;プロジェクト(pasori) を右クリック -&gt; 追加 -&gt; 既存フレームワーク... から以下のフレームワークを追加します。&lt;/p&gt;
&lt;code&gt;/System/Library/Frameworks/IOKit.framework&lt;/code&gt;&lt;br /&gt;
&lt;code&gt;/System/Library/Frameworks/CoreFoundation.framework&lt;/code&gt;
&lt;p&gt;すると、こうなります。&lt;/p&gt;
&lt;a href="http://3.bp.blogspot.com/_05xQD7vc4ag/Rim8aW5W7JI/AAAAAAAAACw/6hbuND8Ky0Q/s1600-h/Xcode08.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://3.bp.blogspot.com/_05xQD7vc4ag/Rim8aW5W7JI/AAAAAAAAACw/6hbuND8Ky0Q/s400/Xcode08.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5055779217708870802" /&gt;&lt;/a&gt;
&lt;p&gt;それではビルドしてみましょう。金槌アイコンクリックです。&lt;/p&gt;
&lt;a href="http://2.bp.blogspot.com/_05xQD7vc4ag/Rim8fG5W7KI/AAAAAAAAAC4/akivS9YspbU/s1600-h/Xcode09.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://2.bp.blogspot.com/_05xQD7vc4ag/Rim8fG5W7KI/AAAAAAAAAC4/akivS9YspbU/s400/Xcode09.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5055779299313249442" /&gt;&lt;/a&gt;
&lt;p&gt;無事完成したようです。&lt;/p&gt;
&lt;a href="http://3.bp.blogspot.com/_05xQD7vc4ag/Rim8iW5W7LI/AAAAAAAAADA/y9pNlMuJVbE/s1600-h/Xcode10.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://3.bp.blogspot.com/_05xQD7vc4ag/Rim8iW5W7LI/AAAAAAAAADA/y9pNlMuJVbE/s400/Xcode10.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5055779355147824306" /&gt;&lt;/a&gt;
&lt;p&gt;これで Ruby から libpasori を利用する準備は完了です。&lt;/p&gt;
&lt;h4&gt;関連URL&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://mig-ration.blogspot.com/2007/04/ruby-pasori.html"&gt;Ruby で PaSoRi を使いたい&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/32159354-567356260149425943?l=mig-ration.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mig-ration.blogspot.com/feeds/567356260149425943/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=32159354&amp;postID=567356260149425943' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/32159354/posts/default/567356260149425943'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/32159354/posts/default/567356260149425943'/><link rel='alternate' type='text/html' href='http://mig-ration.blogspot.com/2007/04/libpasori.html' title='libpasori の共有ライブラリ化'/><author><name>mig</name><uri>http://www.blogger.com/profile/00706852036321820024</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_05xQD7vc4ag/Sf8Jrz3NQGI/AAAAAAAAARw/jb3n1rTWBaY/S220/mig-guitar.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_05xQD7vc4ag/Rim76W5W7CI/AAAAAAAAAB4/lQx8dXzv_eo/s72-c/Xcode01.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-32159354.post-4194573441787187374</id><published>2007-04-21T12:22:00.000+09:00</published><updated>2007-04-29T02:19:18.483+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PaSoRi'/><category scheme='http://www.blogger.com/atom/ns#' term='Ruby'/><title type='text'>Ruby で PaSoRi を使いたい</title><content type='html'>&lt;p&gt;
&lt;a href="http://libpasori.sourceforge.jp/"&gt;libpasori&lt;/a&gt; に付属している Suica の情報を読み取るサンプルプログラム &lt;a href="http://cvs.sourceforge.jp/cgi-bin/viewcvs.cgi/libpasori/libpasori/src/lptest.c?view=markup"&gt;lptest.c&lt;/a&gt; 等によると、一件の履歴情報は16バイトに収められているらしい。
&lt;/p&gt;
&lt;p&gt;
あとはこの情報を解析したりファイルやDBに保存したり駅コードから駅名を調べるためにネットに接続したりしていきたいのだが、これらをCで書くのは面倒くさいので、FeliCaから各16バイトの情報を読み取る部分だけをC(libpasori)にやらせて、あとの処理はLightWeightな言語で扱えるようにしていきたい。
&lt;/p&gt;
&lt;p&gt;ということで、ますは libpasori を共有ライブラリ化し、それをRubyで利用する方向で実現していこう。&lt;/p&gt;
&lt;h4&gt;関連URL&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://mig-ration.blogspot.com/2007/04/mac-pasori.html"&gt;Mac で PaSoRi&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/32159354-4194573441787187374?l=mig-ration.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mig-ration.blogspot.com/feeds/4194573441787187374/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=32159354&amp;postID=4194573441787187374' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/32159354/posts/default/4194573441787187374'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/32159354/posts/default/4194573441787187374'/><link rel='alternate' type='text/html' href='http://mig-ration.blogspot.com/2007/04/ruby-pasori.html' title='Ruby で PaSoRi を使いたい'/><author><name>mig</name><uri>http://www.blogger.com/profile/00706852036321820024</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_05xQD7vc4ag/Sf8Jrz3NQGI/AAAAAAAAARw/jb3n1rTWBaY/S220/mig-guitar.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-32159354.post-1472046232756715798</id><published>2007-04-19T09:34:00.000+09:00</published><updated>2007-04-25T23:00:37.312+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Mac'/><category scheme='http://www.blogger.com/atom/ns#' term='Software'/><category scheme='http://www.blogger.com/atom/ns#' term='Widget'/><title type='text'>Google Analytics を手軽に確認できるウィジェット Dashalytics</title><content type='html'>&lt;a href="http://dashalytics.rovingrob.com/"&gt;Dashalytics: A Google Analytics Widget For Your OSX Dashboard&lt;/a&gt;

&lt;a href="http://dashalytics.rovingrob.com/"&gt;&lt;img style="float:none; cursor:pointer; cursor:hand;" src="http://3.bp.blogspot.com/_05xQD7vc4ag/Ria7DDTStRI/AAAAAAAAABw/R0Pgnpwpp-c/s400/27.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5054933292870186258" /&gt;&lt;/a&gt;

&lt;p&gt;&lt;a href="http://analytics.google.com/"&gt;Google Analytics&lt;/a&gt; の情報をお手軽に確認できる&lt;a href="http://www.apple.com/jp/macosx/features/dashboard/"&gt;ウィジェット&lt;/a&gt;。&lt;/p&gt;&lt;p&gt;Hourly / Weekly / Monthly のグラフと数値リストを見ることができる。グラフをクリックすると数値リストが展開されます。&lt;/p&gt;
&lt;h4&gt;関連URL&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://dashalytics.rovingrob.com/"&gt;Dashalytics: A Google Analytics Widget For Your OSX Dashboard&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/32159354-1472046232756715798?l=mig-ration.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mig-ration.blogspot.com/feeds/1472046232756715798/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=32159354&amp;postID=1472046232756715798' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/32159354/posts/default/1472046232756715798'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/32159354/posts/default/1472046232756715798'/><link rel='alternate' type='text/html' href='http://mig-ration.blogspot.com/2007/04/dashalytics.html' title='Google Analytics を手軽に確認できるウィジェット Dashalytics'/><author><name>mig</name><uri>http://www.blogger.com/profile/00706852036321820024</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_05xQD7vc4ag/Sf8Jrz3NQGI/AAAAAAAAARw/jb3n1rTWBaY/S220/mig-guitar.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_05xQD7vc4ag/Ria7DDTStRI/AAAAAAAAABw/R0Pgnpwpp-c/s72-c/27.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-32159354.post-8853555321828677957</id><published>2007-04-17T06:35:00.000+09:00</published><updated>2007-04-30T09:06:31.915+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PaSoRi'/><category scheme='http://www.blogger.com/atom/ns#' term='Mac'/><title type='text'>Mac で PaSoRi</title><content type='html'>&lt;p&gt;それでは早速、&lt;a href="http://libpasori.sourceforge.jp/"&gt;libpasori&lt;/a&gt; の動作確認をしてみる。&lt;/p&gt;
&lt;p&gt;
まず、&lt;a href="http://libusb.sourceforge.net/"&gt;libusb&lt;/a&gt; に依存しているのでこれを導入する必要がある。
ソースをダウンロードする前に &lt;a href="http://www.macports.org/"&gt;MacPorts&lt;/a&gt; での存在チェック。
&lt;/p&gt;
&lt;pre class="term"&gt;
% port search libusb
libusb                         devel/libusb   0.1.12       Library providing access to USB devices
&lt;/pre&gt;
&lt;p&gt;おお、あった。一応オプションも確認。&lt;/p&gt;
&lt;pre class="term"&gt;
% port variants libusb
libusb has no variants
&lt;/pre&gt;
&lt;p&gt;とくに無いようなのでそのままインストール。&lt;/p&gt;
&lt;pre class="term"&gt;% sudo port install libusb
---&gt;  Fetching libusb
---&gt;  Verifying checksum(s) for libusb
---&gt;  Extracting libusb
---&gt;  Configuring libusb
---&gt;  Building libusb with target all
---&gt;  Staging libusb into destroot
---&gt;  Installing libusb 0.1.12_0
---&gt;  Activating libusb 0.1.12_0
---&gt;  Cleaning libusb
&lt;/pre&gt;
&lt;p&gt;もちろん、&lt;a href="http://libusb.sourceforge.net/"&gt;libusb&lt;/a&gt; からソースダウンロード&amp;コンパイルでもOK。&lt;/p&gt;
&lt;p&gt;
次に、ライブラリパスを登録しなければいけないのだが、Mac版 &lt;a href="http://www.linux.or.jp/JM/html/ld.so/man8/ldconfig.8.html"&gt;ldconfig&lt;/a&gt; は無いのかな？本流の作法が分からないがLD_LIBRARY_PATH的環境変数を設定することにする。&lt;/p&gt;
&lt;p&gt;
Mac では &lt;code&gt;DYLD_LIBRARY_PATH&lt;/code&gt; と &lt;code&gt; DYLD_FALLBACK_LIBRARY_PATH &lt;/code&gt; というのがあるらしい。&lt;/p&gt;
&lt;blockquote cite="http://hetima.com/pblog/article.php?id=99"&gt;
「DYLD_LIBRARY_PATH」はここにライブラリがあったらデフォルトのパスよりも優先して使う、「DYLD_FALLBACK_LIBRARY_PATH」はデフォルトのパスにライブラリが見つからない場合ここを探して見つかれば使う、という意味。詳細は Manual Page For dyld(1) を参照のこと。&lt;/blockquote&gt;
&lt;p&gt;
ということらしいので、ここでは &lt;code&gt; DYLD_FALLBACK_LIBRARY_PATH &lt;/code&gt; を設定する。&lt;/p&gt;
&lt;pre class="term"&gt;% export DYLD_FALLBACK_LIBRARY_PATH=/opt/local/lib&lt;/pre&gt;
&lt;p&gt;
これで準備環境なので、&lt;a href="http://libpasori.sourceforge.jp/"&gt;libpasori&lt;/a&gt; の動作を確認してみよう。&lt;/p&gt;
&lt;p&gt;サンプルプログラムが二つ添付されているので、それぞれ実行してみる。&lt;/p&gt;
&lt;p&gt;まずは、lpdump&lt;/p&gt;
&lt;pre class="term"&gt;
% tar jxvf libpasori02.tar.bz2
% cd libpasori/src
% ./buildline-libusb.sh
% ./lpdump
# lpdump : Tue Apr 17 05:36:34 2007
# --- IDm info (FeliCa) ---
# Manufacture Date = 2001/2/7
#               SN = 15938
# Manufacture Code = 0101
#      Equip. Code = 0105
# FELICA SYSTEM_CODE = 0003
# card IDm = xxxxxxxxxxxxxxxx
# card PMm = xxxxxxxxxxxxxxxx
... snip ...
&lt;/pre&gt;
&lt;p&gt;まさにダンプデータで中身は理解不能。&lt;/p&gt;
&lt;p&gt;次に、lptest&lt;/p&gt;
&lt;a name="lptest"&gt;&lt;/a&gt;
&lt;pre class="term"&gt;
% cp buildline-libusb.sh buildline-libusb-lptest.sh
% perl -i -pe 's/lpdump/lptest/g' buildline-libusb-lptest.sh
% ./buildline-libusb-lptest.sh
% ./lptest
lptest : start
read test
[00] : 08 03 00000E81 E3-3E -&gt; 00-00      0000 -     0 Yen        00013E00
[01] : 16 01 00020E81 E3-55 -&gt; E3-5D      0A00 -    10 Yen        00013D00
[02] : 1A 06 000E0E81 F0-3A -&gt; F0-3A      C800 -   200 Yen        00013B00
[03] : 16 01 00020E81 E3-7D -&gt; E3-7A      C800 -   200 Yen        00013900
[04] : 16 01 00020E7F F2-06 -&gt; F2-0A      6801 -   360 Yen        00013700
... snip ...
&lt;/pre&gt;
&lt;p&gt;あ、0円。こちらは、比較的分かり易いSuicaの利用履歴となっています。&lt;/p&gt;
&lt;p&gt;ただ、日付や入出場駅名がコード化されているようなので、これを解析する必要があります。&lt;/p&gt;
&lt;p&gt;そこらへんは、以下を参考に。&lt;/p&gt;
&lt;blockquote cite="http://www.imfj.net/people/nomura/soft/PaSoRi/SuicaValue.html"&gt;
Suicaのデータは残金や通番など一部のバイトの並びが逆（リトルエンディアン）です。最初の1バイトが 0x1B だとクレジット入金、0x07だと入金、0x46だとサンクスチャージの入金で、0x16が自動改札乗降、0xC7が購買のようです。5バイト目から２バイトが日付で、先頭から7ビットが年、４ビットが月、残り５ビットが日のようです。（ここが面倒でしたね。パズルみたい）7バイト目からの２バイトが入った駅、続く２バイトが出た駅がコードで入っています。 駅のコードは、路線コード／駅コードの組合わせで、有志によるデータベースが公開されています。IC SFCard Fan DB Srevice このソフトではコードからの変換はしていません。1２バイト目から２バイトが残金（リトルエンディアン）です。
&lt;/blockquote&gt;
&lt;p&gt;とにかく、Mac でもなんとか利用できることは分かりました。&lt;br /&gt;
次は、これを活用できるようにしていきたいと思います。&lt;/p&gt;
&lt;h4&gt;関連URL&lt;/h4&gt;&lt;ul&gt;
&lt;li&gt;&lt;a href="http://libpasori.sourceforge.jp/"&gt;libpasori - RC-S320操作コード&lt;/a&gt; &lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.imfj.net/people/nomura/soft/PaSoRi/SuicaValue.html"&gt;Macで Suica や PASMO の履歴を読む&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://mig-ration.blogspot.com/2007/04/pasori.html"&gt;PaSoRi 購入&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/32159354-8853555321828677957?l=mig-ration.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mig-ration.blogspot.com/feeds/8853555321828677957/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=32159354&amp;postID=8853555321828677957' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/32159354/posts/default/8853555321828677957'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/32159354/posts/default/8853555321828677957'/><link rel='alternate' type='text/html' href='http://mig-ration.blogspot.com/2007/04/mac-pasori.html' title='Mac で PaSoRi'/><author><name>mig</name><uri>http://www.blogger.com/profile/00706852036321820024</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_05xQD7vc4ag/Sf8Jrz3NQGI/AAAAAAAAARw/jb3n1rTWBaY/S220/mig-guitar.JPG'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-32159354.post-3143971545589156310</id><published>2007-04-16T21:46:00.000+09:00</published><updated>2007-04-29T08:49:41.901+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PaSoRi'/><category scheme='http://www.blogger.com/atom/ns#' term='Buy'/><category scheme='http://www.blogger.com/atom/ns#' term='Gadget'/><title type='text'>PaSoRi 購入</title><content type='html'>&lt;a href="http://astore.amazon.co.jp/migration0b-22/detail/B0009YVAW4/249-0229130-1541148"&gt;&lt;img src="http://ec1.images-amazon.com/images/I/312WXC455AL._SL210_.jpg" width="199" height="210" style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;" alt="SONY RC-S320" /&gt;&lt;/a&gt;&lt;p&gt;Suica/Pasmo の履歴データを保存したい。&lt;/p&gt;
&lt;a href="http://libpasori.sourceforge.jp/"&gt;http://libpasori.sourceforge.jp/&lt;/a&gt;
&lt;p&gt;これ使ってなんとかなりそう。&lt;/p&gt;

&lt;a href="http://astore.amazon.co.jp/migration0b-22/detail/B0009YVAW4/249-0229130-1541148"&gt;商品の詳細を見る&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/32159354-3143971545589156310?l=mig-ration.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mig-ration.blogspot.com/feeds/3143971545589156310/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=32159354&amp;postID=3143971545589156310' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/32159354/posts/default/3143971545589156310'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/32159354/posts/default/3143971545589156310'/><link rel='alternate' type='text/html' href='http://mig-ration.blogspot.com/2007/04/pasori.html' title='PaSoRi 購入'/><author><name>mig</name><uri>http://www.blogger.com/profile/00706852036321820024</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_05xQD7vc4ag/Sf8Jrz3NQGI/AAAAAAAAARw/jb3n1rTWBaY/S220/mig-guitar.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-32159354.post-8417080332689230631</id><published>2007-04-16T01:00:00.000+09:00</published><updated>2008-11-09T07:52:51.357+09:00</updated><title type='text'>migration from Hatena</title><content type='html'>&lt;a href="http://d.hatena.ne.jp/mig50/"&gt;http://d.hatena.ne.jp/mig50/&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/32159354-8417080332689230631?l=mig-ration.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mig-ration.blogspot.com/feeds/8417080332689230631/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=32159354&amp;postID=8417080332689230631' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/32159354/posts/default/8417080332689230631'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/32159354/posts/default/8417080332689230631'/><link rel='alternate' type='text/html' href='http://mig-ration.blogspot.com/2007/04/migration-from-hatena.html' title='migration from Hatena'/><author><name>mig</name><uri>http://www.blogger.com/profile/00706852036321820024</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_05xQD7vc4ag/Sf8Jrz3NQGI/AAAAAAAAARw/jb3n1rTWBaY/S220/mig-guitar.JPG'/></author><thr:total>0</thr:total></entry></feed>
