Archive for the ‘programming’ Category

WordPressで作る多国語対応ブログ

土曜日, 12月 26th, 2009 このエントリをはてなブックマークに登録 Deliciousにブックマーク

“The Magnesium Civilization”というブログでは、日本語と英語の両方で情報発信するために「qTranslate」というWordPress用プラグインを使っている。このプラグインを使うと、記事本文だけでなく、記事タイトルやその他の要素も簡単に多言語対応できてとても便利。
ただqTranslateを使うと、表示しているカテゴリ内の記事一覧を行うウィジェット「Posts of Current Category」で、日本語と英語のタイトルがいっしょに表示されてしまい、見苦しいことになっていた。
qTranslateのサポートフォーラムを見ると、プラグインのqTranslate対応方法がしっかり書かれている。文字列を表示する時に、Gettext関数を使うようにすればいいらしい。
Posts of Current Categoryの場合は、ソースコードの終わり近くにある

$post_title = htmlspecialchars(stripslashes($post->post_title));

$post_title = htmlspecialchars(stripslashes(__($post->post_title)));

に変更するだけで、qTranslate対応ができた。

Mac OS Xの「サービス」から、bit.lyを呼びだしてURLを短縮

月曜日, 11月 23rd, 2009 このエントリをはてなブックマークに登録 Deliciousにブックマーク

Mac OS Xには「サービス」というあまり知られていない機能がある。要するに、あるアプリから別のアプリの機能を呼び出すというものなんだけど、私もあまり使っていなかった。文字列を選択して、shift+command+LでGoogle検索するくらいか。
ところが、Snow Leopardになって、このサービスが秘かにパワーアップされている。

【コラム】OS X ハッキング! (341) 知られざるSnow Leopard (サービス編) | パソコン | マイコミジャーナル
404 Blog Not Found:#osxtips – Scripters のための Automator入門

ということは、Web上のサービスを使って、好きなようにテキストを加工することができる! 例えば、URLを選択して、bit.lyを呼びだして短縮URLに加工なんてことができそう!
で、bit.lyを呼び出すRubyやPerlのサンプルを探して作ろうとしたけど、挫折orz。
もうちょい探してみたら、すでに作っている人がいた。感謝。
下記のページで公開されているワークフローを、ホームフォルダの「Library/Services」フォルダに入れれば、コンテクストメニューから呼び出せるようになる。

Bit.ly URL shortening with Mac OS X Snow Leopard Services and Applescript

service-bitly-1
service-bitly-2
元のワークフローは、短縮URLをクリップボードにコピーするようになっていたけど、私は元のテキストを置換するようにして使っている。
メールにURLを貼り付ける時などに、とても便利。

Snow Leopardで、辞書.appのデータもダイエット

月曜日, 8月 31st, 2009 このエントリをはてなブックマークに登録 Deliciousにブックマーク

Mac OS X 10.6 “Snow Leopard”では、目立った新機能はないものの、10.5 “Leopard”に比べてさまざまな部分が最適化されている。OS自体の最適化もそうなのだが、地味なところもしっかり手が入っているのだ。
その1つが、”Dictionary Development Kit”。Leopardでは「辞書アプリ」(辞書.app / Dictionary.app)用のデータをユーザー自身で作成できるようになった。Snow Leopard付属のDictionary Development Kitで辞書データを作成すると、Leopard上で作るより大幅にデータのサイズが小さくなる。Snow Leopardというより、Xcode 3.2というべきかな。

以前公開した「英辞郎辞書変換スクリプト」で変換したXMLファイル(v110の英辞郎+略語郎)を、Snow LeopardのDictionary Development Kitにかけてみた。Leopardでは1.3GB(1,481,183,232バイト)だったデータが、Snow Leopardでは986.9MB(986,865,341バイト)に! データサイズが約2/3になっている。
Snow Leopardでは、辞書データの構造を刷新したのかもしれない。辞書.appでは、Leopard上で作成したデータもそのまま使えるが、時間があればSnow Leopard上で作り直すことをお勧めする。
ただし、辞書データの作成にかかる時間は大幅に長くなっているので、注意。上記の英辞郎データを変換したところ、makeするのに22時間以上もかかってしまった(初代MacBook)。

OmniGraffleは、AppleScriptを使う人にとって神アプリかも

日曜日, 6月 14th, 2009 このエントリをはてなブックマークに登録 Deliciousにブックマーク

B001FW0CP0テキストフレームに文字を流し込んで、それをビットマップ画像化するという作業をやる必要ができた。Adobe IllustratorをAppleScriptで制御したら簡単にできるんじゃないかと思ったのだが……。

(続きを読む…)

Evernoteに複数のファイルをまとめて登録する

水曜日, 4月 22nd, 2009 このエントリをはてなブックマークに登録 Deliciousにブックマーク

先のエントリで、EvernoteにPDFを登録しておくとiPhoneからも検索できて便利と書いた。大量のファイルがある時にいちいち手作業で登録するのは面倒なので、簡単なAppleScriptを書いてみた。
(2009年4月23日追記)→Finderでファイルを選択して、EvernoteにドロップするだけでOKでした……。ただし、フォルダアクションに関しては、依然として便利なはず。

(2009年4月23日追記)
ScanSnapから取り込んだデータ(名刺など)をEvernoteに登録するなら、フォルダアクションを使うことで作業はもっと楽になる。
スクリプトエディタに下記のスクリプトを貼り付け、適当な名前を付けて「/Library/Scripts/Folder Action Scripts」もしくは「ホームフォルダ/Library/Scripts/Folder Action Scripts」に保存する。
—-ここから—-

on adding folder items to this_folder after receiving added_items
tell application "Evernote"
repeat with obj in added_items
create note from file obj
end repeat
end tell
end adding folder items to

—-ここまで—-
Finderで、ScanSnapで取り込んだファイルの保存先フォルダを右クリック。「フォルダアクションを使用」選択。もう一度右クリックして、「フォルダアクションを関連づける」を選択し、先ほど保存したスクリプトを指定する。このフォルダにファイルが追加されると、それがEvernoteに自動登録されるようになる。
4行目の「create note from file obj」を「create note from file obj tags {“名刺”}」などとしておくと、タグを付けられる。タグを付けておくと、特定のタグだけを一覧表示できて便利だ。
また、「create note from file obj notebook “名刺”」としておけば、「名刺」というノートブックに登録できる。タグを付けて整理するか、別のノートブックに登録するかはお好みで。

オーディオファイルのチャプターを自動生成する

日曜日, 12月 7th, 2008 このエントリをはてなブックマークに登録 Deliciousにブックマーク

Audibleで売られているオーディオブックにはチャプターが振られている。iTunesならshift+command+「←」「→」でチャプターを移動できるし、iPhone/iPod touchでもチャプターリストを表示させて移動可能だ。
私はradioSHARK 2で長時間のラジオ番組を録音することが多い。こういう自分で作成したファイルに、指定した間隔でチャプターを付けられたら便利だろうなあと思って方法を探してみた。

(続きを読む…)

日本Ruby会議2008のメモ(2)

日曜日, 6月 22nd, 2008 このエントリをはてなブックマークに登録 Deliciousにブックマーク

日本Ruby会議2008のメモの続き。

(続きを読む…)

日本Ruby会議2008のメモ(1)

土曜日, 6月 21st, 2008 このエントリをはてなブックマークに登録 Deliciousにブックマーク

日本Ruby会議2008で、面白いと思ったネタのメモ。あくまでも非プログラマの視点ですが。

(続きを読む…)

Leopardの「辞書」アプリで「ランダムハウス英語辞典」を使う

日曜日, 5月 11th, 2008 このエントリをはてなブックマークに登録 Deliciousにブックマーク

ランダムハウス英語辞典 第二版 CD-ROM版Leopardの辞書アプリ(Dictionary.app)で英辞郎を使えるようにしたおかげで、海外のサイトを読むのもずいぶん楽になった。しかし、単語の意味などをもう少し詳しく知りたいという時は、英辞郎だとちと物足りない。そこで、だいぶ前に買ったまま、ほとんど活用していなかったランダムハウス英語辞典(第二版)をDictionary.app用に変換してみることにする。
ランダムハウス英語辞典が使えるMac用の辞書ソフトとしては、すでにJammingがあるが、できればDictionary.appにまとめたいところ。検索機能はJammingが格段に優れているが、日常的にさっと調べるならDictionary.appの方が使いやすく感じる。まあ、変換処理自体が面白くなってきたというのもあるのだけど。

(続きを読む…)

Leopardの「辞書」アプリでEPWING辞書を使う

火曜日, 2月 12th, 2008 このエントリをはてなブックマークに登録 Deliciousにブックマーク

dic_epwing.pngこれまでに、Leopardの「辞書」アプリケーション(Dictionary.app)で英辞郎郵便番号辞書を使う方法を紹介してきたが、EPWING形式の辞書を使いたいという要望が結構あるようなのでチャレンジしてみた。
ありがたいことに、hishida氏がEPWING構造解析ツール「EBDump」を、太田純氏がEBDumpの出力をHTMLに変換する「ebd2html」を発表されているのでこれらを利用させていただいた。なお、両ソフトともWindows用なので、以下で述べる作業を行うにはWindowsが必要になる(Parallels Desktop for Macなどの仮想環境でもOK)。

(続きを読む…)