Archive for the ‘programming’ Category

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

日曜日, 6月 22nd, 2008
[`evernote` not found]
Facebook にシェア

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

(さらに…)

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

土曜日, 6月 21st, 2008
[`evernote` not found]
Facebook にシェア

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

(さらに…)

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

日曜日, 5月 11th, 2008
[`evernote` not found]
Facebook にシェア

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

(さらに…)

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

火曜日, 2月 12th, 2008
[`evernote` not found]
Facebook にシェア

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

(さらに…)

Leopardの「辞書」アプリで郵便番号辞書を使う

火曜日, 11月 20th, 2007
[`evernote` not found]
Facebook にシェア

zip_conv1.pngMac OS X v10.5 “Leopard”の辞書(Dictionary.app)が面白くて仕方がない。control+command+Dを押していれば、どんどん自動的に辞書を引いていってくれるのは、思っていた以上に快適だ。
先の記事では、英辞郎の変換方法を紹介したが、ほかのデータでも辞書アプリを活用したい。そこで、日本郵便が公開している郵便番号データを辞書アプリ用に変換してみた。これから年賀状のシーズンだし。
この辞書では、郵便番号から住所を、あるいは逆に住所から郵便番号を引ける。読み方のわからない住所を調べるのにも役立つかもしれない。

(さらに…)

OS Xの「辞書」アプリで「英辞郎」を使う

火曜日, 11月 6th, 2007
[`evernote` not found]
Facebook にシェア

先の記事でも書いたように、Mac OS X v10.5 “Leopard”の「辞書」アプリケーション(辞書.app / Dictionary.app)用の辞書はユーザーが追加できるようになっている。そこで、定番の英和辞書「英辞郎」を変換するツールを作ってみた。英辞郎は、現時点で最新のv108を使用している。

(さらに…)

今だから、読書会

水曜日, 2月 28th, 2007
[`evernote` not found]
Facebook にシェア

編集作業などを効率化するために、時々Rubyで簡単なスクリプトを書いて使っている。PCJapan用語辞典デジタル版の制作作業も半自動化しているのだけど、私のスクリプトはグローバル変数を多用したそれはそれは汚いものだったりする(よくここまでオブジェクト指向プログラミング言語っぽくないようにRubyを使えるものだ……)。また、Ruby on RailsによるWebアプリケーションにも興味があるため、きちんとRubyを勉強してみたいとは思ってはいるが、仕事の合間にやろうとしてもなかなか身につかない。何かいい方法はないかなと探したところ、「Rubyの本読書会」が開催されていることを知り、早速参加してみる。
内容は、30数人が会議室に集まり、小グループに分かれて『プログラミングRuby 第2版 言語編』を交代で音読していくというもの。声を出したり、人の声を聞きながらゆっくり読み進めていくと、理解せずにいい加減にとばしていたところが多いことに気づく。簡単そうなサンプルコードに実は高度な内容が盛り込まれていることも、スタッフの方に教えていただいて本当に勉強になる。また、参加者ともいろいろ有益な情報交換ができた。主催されたスタッフの方々、どうもご苦労様でした。
音読なんて聞くとアナクロな印象を受けるが、自発的に参加するなら(まあ何でもそうだが)かなり効果的な学習メソッドかも。参加するために、急いで仕事を片付けようとするし、ちょっとでも予習するという副次的な効果もある。
知識をインプットする際は、こういうアナログなやり方の方が脳を刺激していいのかな。とりあえず、しばらくはがんばって参加してみたい。

超いーかげん、Safariで開いているタブをはてなブックマークに登録するスクリプト

木曜日, 9月 14th, 2006
[`evernote` not found]
Facebook にシェア

前のエントリで書いた「Mac OS XのSafariで開いているタブをまとめてはてなブックマークに登録するAppleScript」がいちおうできたけど……。
こちらのページによれば、はてなブックマークはだいぶ前に仕様変更されて、確認画面なしでは登録できなくなったようだ。タグを付けた状態で確認画面を呼び出すこともできない。確かにこれが可能だと、スパム的なブックマークががんがん登録されてしまうから仕方ないのか。
そういうわけで、「タブで開いているページをまとめてはてなブックマークへ登録するのがちょっと楽になるAppleScript」になってしまった。Safariで複数タブを開いた状態で下記のスクリプトを実行すると、それぞれのページについてのはてなブックマーク登録画面が現れる。タブの切り替えルーチンが非常にいい加減なので、同じURLのページが複数あるとそこで止まってしまうし、複数ウィンドウにも対応していない。KOTOERAで公開されている「Safari で開いている全ての URL からロケーションファイルを作成」スクリプトのタブ切り替えルーチンは、複数ウィンドウでタブを開いている場合でもうまく動作するようだ。

tell application "Safari"
set i to true
set URL_list to {}
repeat
if exists the URL of document 1 then
set this_URL to the URL of document 1
else
set this_URL to ""
end if
repeat with j from 1 to count of URL_list
if this_URL = item j of URL_list then
set i to false
exit repeat
end if
end repeat
if i = true then
set URL_list to URL_list & {this_URL}
my next_tab()
else
exit repeat
end if
end repeat
repeat with j from 1 to count of URL_list
open location "http://b.hatena.ne.jp/add?mode=confirm&url=" & item j of URL_list
end repeat

end tell

on next_tab()
tell application "Safari" to activate
tell application "System Events"
tell process "Safari"
click menu item "次のタブを選択" of menu "ウインドウ" of menu bar 1
end tell
end tell
end next_tab

SafariのAppleScriptに苦闘

水曜日, 9月 13th, 2006
[`evernote` not found]
Facebook にシェア

この前のエントリで書いた、「Mac OS XのSafariで開いているタブをすべてはてなブックマークに登録するスクリプト」を作ってみようと思い立つ。ちょっとした息抜きになるかと思ったら、これがかなりややこしい。AppleScript超初心者の私がいうのも何だけど、AppleScriptから呼び出せるSafariの機能ってあまりにも貧弱すぎじゃないか。特にタブ関連。
そもそも、開いているタブの数を取得したり、タブを切り替えることすらできないのだ。複数のタブのURLを取得する方法として、ちょっと思いついたのは、
・現在のページのURLを取得
・そのURLを配列(AppleScriptだとリスト)に保存
・AppleScriptのUI Scripting(メニューやボタン操作をAppleScriptから行う)を使って、次のタブを選択
・これだと無限にタブを切り替え続けてしまうから、現在のページのURLを配列内のデータと比較して、一致したら終了(このアルゴリズムだと同じURLのページを開いていた場合問題になるけど、とにかく手軽さ最優先)

これでうまく行くかと思いきや、処理の途中で無限ループに入ってしまう。うーむ、AppleScript(というかプログラム全般ですが)はよくわからん……。

携帯電話でのRSS、Webブラウジングについてあれこれ

月曜日, 9月 11th, 2006
[`evernote` not found]
Facebook にシェア

前のエントリーでも書いたが、RSSリーダーとしてNetNewsWireNewsGatorの組み合わせはかなり使いやすい。Mac OS X上では、NetNewsWireでサクサクSpotlight検索もできるし、フィードの整理も楽。未読や既読の状態をNewsGatorにそのまま引き継げるから、携帯電話上で続きを読める(フィードによってはなぜかNewsGator側で読み込まれないものもあるけど)。
ただ、気になった記事を携帯電話から「はてなブックマーク」に登録するのがちょっと面倒。はてなブックマーク登録用のブックマークレットは、私が使っているauのW41CAでも使えることは使える。しかし、ブックマークレットを呼び出すといちいちはてなのIDとパスワードを入力しないといけない(PCサイトビューアを終了するまでは覚えていてくれるが)。要するに、W41CAのPCサイトビューア(Opera)にはパスワードなどの認証管理機能が搭載されていないのだ。W41CAのメモ帳にIDやパスワードを書き込んでおいて、入力画面で呼び出すということをやっているが、これだと使い勝手がイマイチ。しかし、かなり気に入っているW41CAを認証管理機能のためだけに買い換えるのもちょっとなあ……。

あと、パソコンと携帯電話の連携ということで、パソコンのブラウザで開いているページをそのまま携帯電話でも見られると便利なのではないかと考えた。開いているページのURLをすべて取得して、それらをはてなブックマークに登録して「あとで読む」タグを付けておくとよいかなと。簡単なスクリプトでできそうに思えたのだが、これが意外に厄介。Mac OS XのSafariはAppleScriptでコントロールできるようになっているのだが、実はJavaScriptを実行する機能と現在のページのURLを取得する機能ぐらいしかなかったりする。開いているタブやウィンドウの数をAppleScriptで取得して、処理してやればいいだけのはずなんだけど。