« 2011年1月 | トップページ | 2011年3月 »

2011年2月の3件の記事

2011年2月24日

DeliciousからGoogleブックマークに移行テスト

オンラインブックマークのDeliciousがサービス停止になるかもしれないというニュースを聞いて、ちょっと焦った。さいわい直ちに終了というわけではなく、売却先を探しているようだ。とはいえ、サービスが今後どうなるか不透明である。脱出先を探すユーザ向けに、いろいろなサービスがデータの移行方法を提供している。

Is Yahoo Shutting Down Del.icio.us? [Update: Del.icio.us Responds](TechCrunch)
http://techcrunch.com/2010/12/16/is-yahoo-shutting-down-del-icio-us/

Yahoo Trying To Unload Del.icio.us, Not Shut It Down(TechCrunch)
http://techcrunch.com/2010/12/17/yahoo-trying-to-sell-del-icio-us-not-to-shut-it-down/

Googleブックマークへのインポートツールを試した。3700件強のブックマークが、ざっと見たところ文字化けもなくインポートできて、タグやブックマークした日付も引き継いでいる。Googleブックマークはあまり機能追加が行われておらず、モバイル対応を含め、今後どうなるかいまひとつ不安ではある。英語版で使えるリスト機能も、日本語版ではメニューすら出てこない(注1)。

インポートツールを使うときは、NoScriptを無効にしておくこと。有効のままだと、Firefoxのメモリ使用量がみるみる増大し、しまいに1GBを超える。画面は「Uploading」のまま処理が停止してしまい、データが全くインポートされない。

Delicious to Google Bookmarks
https://www.google.com/bookmarks/deliciousimport

Deliciousへブックマークするには、FirefoxアドオンやiPhoneのブックマークレット、iPhoneアプリReederを使っている。Googleブックマークに移行したとして、PCでのブックマークにどのアドオンを使うか。Googleツールバーは、メモをその場で入力できず、あとでGoogleブックマークのページで編集しなければならないのが気にくわないが、我慢できる範囲だ。ツールバーでブラウザの表示域を狭くされないように、ツールバーを非表示にし、ブックマークボタンだけをFirefoxアドレスバーの横に表示する。これにショートカットキーを割り当てられれば完璧なのだが。ポピュラーなGmarksはFirefox 3.6までしかサポートしておらず、Firefox 4のサポートがいつになるのかわからない。GBookmarksやDeng Google Bookmakrsは評判がいまひとつ。iPhoneにはGB BookmarksやLinks In a Blinkというサードパーティアプリがある。Safariのブックマークレットでもできるようだ。

GB Bookmarks
http://itunes.apple.com/us/app/gb-bookmarks-sync-w-google/id368993982

Links In a Blink
http://itunes.apple.com/jp/app/links-in-a-blink/id297542214

Google Bookmarks bookmarklet(bluedot.net)
http://bluedot.net/2006/01/30/google-bookmarks-bookmarklet/

無料で使える脱出先には、他にEverNoteやはてなブックマークがある。EverNoteは、Delicious終了の噂が流れたあとすぐに移行方法を出してくるなど、ユーザ獲得にかなり積極的だ。ビジネスもうまくいっているようで、将来性がある。しかしその方法というのが、DeliciousからエクスポートしたHTMLファイルをひとつのノートとして読み込むというもので、ちょっとがっかりだった。ブックマークは1件1データの原則を守りたい。EverNoteのWebクリップも、面白いと思ったWeb記事をメモ付きで保存したいだけの私にはちょっと高機能すぎる。Deliciousくらい軽快にブックマークできてほしい。さらにEverNoteのデスクトップアプリは、Outlookにツールバーを無断でインストールし、外すこともできないのが気にくわない。

Making the transition from Delicious to Evernote(EverNote Noteworthy Blog)
http://blog.evernote.com/2010/12/16/making-the-transition-from-delicious-to-evernote/

Deliciousの前に使っていたはてなブックマークは、メモが100文字以内という制約が気に入らなかったので、いまさら戻るわけにいかない。Deliciousで書いた長いコメントが途中で切れてしまう。しかもDeliciousからデータをインポートしたら盛大に文字化けしてしまった。

Firefoxのローカルブックマークも選択肢のひとつだ。Placesの開発に力が入っているようで、データが大量になっても性能が問題にならなくなっているらしい。Firefox Syncで複数のブラウザ間で同期したり、iPhoneアプリFirefox Homeでブックマークを参照したりできる。機能的にはよさそうだが、DeliciousからFirefoxのローカルブックマークにインポートするWebサービスがあって試してみらエラーになってしまった。私のデータ(たとえば日本語)が問題なのだろうか。

Import Delicious Bookmarks into Firefox(Ghacks)
http://www.ghacks.net/2008/06/29/import-delicious-bookmarks-into-firefox/

以上のように、どの脱出先も完璧ではなく、Googleブックマークがなんとかマシというレベルである。Deliciousが使えなくなるまでに、Googleブックマークレットのアドオンや対応アプリが充実してくるだろうか。

(注1)Googleブックマーク英語版には、ブックマークを他の人と共有できるリスト機能や、表示をタイトル順と日付順で切り替える機能がある。www.google.com/bookmarks/lと、URLの最後に小文字のエルを付ければ英語版が使える。

| | コメント (0)

2011年2月21日

PowerShellの日本語文字コード

PowerShellで日本語テキストファイルを処理するときの原則をまとめた。

  • 入力テキストファイルはシフトJISかUTF-16とする。
  • PowerShellスクリプトファイルはシフトJISかUTF-16で保存する。
  • ファイルに結果を出力するときは、簡易的には「>」でよいが、スクリプトにするときはOut-Fileコマンドレットに-Encodingオプションを付けて文字コードを明示する。
  • 入力ファイルのエンコーディングも、指定できるコマンドレットでは明示しておく。
  • 文字コードを自動判定し、現在の文字コードを表示できるエディタを使う(例えば秀丸エディタ)。

きっかけは、Deliciousからエクスポートしたブックマークと、Googleブックマークにインポートしたものが一致するかどうかを、PowerShellで検証してみようと思ったことである。双方からエクスポートしたファイル(UTF-8)をソートして件数を比較しようとしたら、文字化けしたりして一筋縄ではいかなかった。

まずPowerShellの文字コードはUnicode(UTF-16)が基本である。Windowsの内部表現がUTF-16なのでもっともだ。たとえばファイル一覧を出力するGet-ChildItemコマンドレット(エイリアスls)の結果をファイルに出力してみる。

ls > file_list.txt

このときfile_list.txtの中身はUTF-16である。シフトJISやUTF-8で出力したいときは、Out-Fileコマンドレットを使ってエンコーディングを指定すればよい。日本語Windowsでdefaultを指定するとシフトJISになる。

ls | Out-File file_list.txt -Encoding default
ls | Out-File file_list.txt -Encoding UTF8

Select-Stringコマンドレット(エイリアスgrep)は、入力ファイルのエンコーディングを指定できる。デフォルトはUTF-16を意味する「Unicode」であるが、このままでUTF-8のファイルも正しく処理できてしまうのは、便利とも紛らわしいとも言える。

Select-String input.txt -pattern "検索文字列"

入力ファイルがシフトJISのときはdefaultを指定する。この場合はもちろんUTF-8やUTF-16のファイルを処理できない・・・と思ったら、UTF-16は処理できてしまった。UTF-8は処理できない。頭がこんがらがる。

Select-String input.txt -pattern "検索文字列" -Encoding default

スクリプトで実行する場合は、スクリプトファイルをUnicode(UTF-16)かシフトJISで保存しておく。UTF-8でスクリプトファイルを書くと、日本語文字列の部分を正しく認識できずエラーになる。

Get-Contentコマンドレット(エイリアスcat)でファイルの中身を出力したり他のコマンドレットにパイプで渡したりするときは、入力ファイルをUTF-16かシフトJISにしておく。UTF-8だと盛大に文字化けしてしまう。

cat input.txt > output.txt
cat input.txt | sort > output.txt

input.txtがUTF-8だとoutput.txtの中身は文字化けする。シフトJISのinput.txtの場合は、Unicodeにコード変換したoutput.txtが生成される。細かくチェックしてないが、正しく変換しているようだ。UNIXならファイルコピーと同義の「cat input.txt > output.txt」がコード変換してしまうので、UNIX屋は頭がこんがらがる。

入力ファイルや出力ファイルにどんな文字コードを想定しているかをスクリプトに明示しておけば、あとで読んだり、他の人が読んだりしたときに混乱しないだろう。

コンソールに出力するWrite-Outputはエンコーディングが指定できないから、出力をファイルにリダイレクトすると、UTF-16のファイルができてしまう。これを別の文字コードに変換するにはnkf等を使えばよい。たとえばCygwinでテキスト処理するときはUTF-8に変換すればよい。

nkf.exe -W16 -w8 -O <入力ファイル> <出力ファイル>

(参考記事)
GUIユーザーのためのPowerShell入門(第11回)の囲み部分「日本語文字コードに注意」
http://journal.mycom.co.jp/column/powershell/011/index.html

| | コメント (0)

2011年2月 7日

Readabilityの新バージョン

Web ページの広告などを取り除き、本文だけを抜き出して表示するWebサービスReadabilityが新しいビジネスを始めた。月5ドルで会員登録すると、 従来からの本文抽出機能Read Nowに加えて、記事をあとで読むために保存するRead Laterが使える。このサービスの面白いところは、会費の70%が記事の執筆者/発行者に行くところだ。執筆者/発行者はあらかじめReadabilityに登録し ておく。さまざまな管理ツールも提供している。残りの30%がReadabilityの取り分である。

Read Later機能を使うにはFirefoxアドオンをインストールしなければならないようだ。私は無料サービスで十分である。ブックマークレットを入れ替えた。以前のブックマークレットは動作しない。

NoScriptでJavaScriptをブロックしていると、この手のブックマークレットを動かすときに苦労する。案の定、新ブックマークレットがうまく動かない。次のように設定すれば動くようになった。
  • readability.comをWhitelistに追加
  • ^https://www.readability.com/articles/queueを対XSS保護の例外設定に追加
ふたつめの設定は以前は不要だった。どうやらJavaScriptを元のページに挿入しているようだ。

操作性もちょっと変わった。新ブックマークレットは、まずreadabillity.comドメインのページの中に、元のページをフレームとして表示する。 見た目がまるっきり同じなのにドメインが違うというのは、セキュリティ的にあまりよろしくない気がする。次に最上部の「Enjoy this article by switching to Readability view」のリンクをクリックすると、本文だけを抽出して表示する。クリックがひとつ多くなって面白くない。フォントやレイアウトがその場で動的に変えられるのは、使う頻度は少ないが便利。以前はブックマークレットの中に設定がハードコードされていた。

現在は日本語のタイトル(<html>タグ)が「?????」と文字化けする。Twitterでレポートしておいたので、そのうち修正されるだろう。

(本ブログの関連記事)
Distraction-free Web Reading ー Webの記事を読むのに集中できるツール
http://raven.air-nifty.com/night/2010/09/distraction-fre.html



| | コメント (0)

« 2011年1月 | トップページ | 2011年3月 »