Macademia 別館

nutじゃないよ。

myLibrary公開サイトの更新

2005年12月28日 | myLibraly
myLibraryの公開サイトを更新する。
手書きでごりごりタグを書いているので面倒い。

リスト表示の修正

2005年12月16日 | myLibraly
書き込みをするとアクセス増えるけど、なんで?
exiteみたいに新着がどこかで纏められているのか?

リスト表示にバグを発見したので修正した。

Macademia別館

2005年12月15日 | Weblog
えーっと、久しぶりに来てみたら、入力欄が変わっている。
「ジャンル(必須)」とあるが、これはなに?トラックバックみたいなのになるんかな?そういうのがなかったからgooが良かったのに・・・。
つうかですね、selectでアイテムが100近くあるのは、UIとして最低だ。デフォルトをノージャンルとかにほしい。

Macdamiaという名のBlogをここでやっている。
Blogというシステムに興味がある訳ではなく、昔で言う日記システムというか「人に公開しても差し支えの無いメモを取る」ということが目的で「簡単で無料」という点に魅力を感じて利用している。メモの内容がある程度まとまったら、一つのドキュメントとして公開したいけど、無料ブログシステムにはそういうことは出来ないんだよね。それをしたければ、結局昔ながらのWeb siteとなる訳で、別の場所にスペースを借りることにした。

別のスペースは、自作ウェブアプリケーションを公開することが目的だったのだけど、やはりFTPでチマチマ更新するのが面倒なので頻繁に更新できるところをBlog化しようかとも一瞬考えたが、結局ここをそのまま利用することにした。我ながら、バカバカしいくらいに堂々巡りしていて笑える。

つうことでここはMacademia別館ちゅうことになります。
本体は、Macademiaになる予定。


PDFファイルにKeywordを登録するいくつかの方法

2005年11月01日 | どっかで誰かのお役に立てばいい情報
仕事柄、膨大な量のPDFファイルを所有する(管理する)必要があり、外からダウンロードするファイルに加えて最近は自分で作成した様々な形式のファイルをPDFで保管するようにしたのでさらにPDFがあふれかえっている。
PDFファイルは基本的には後から操作できないことになっているが、ファイルのメタデータとしてKeywordを登録することができる。これは何がいいかというと、MacOSXのSpotlightがこの情報を読んでくれるという点。Keywordを入れなくても、SpotlightはPDFの内容を読み込んで検索を実行してくれるのだが、系統的なKeywordを入力することによりSpotlightによる検索がより賢くなるのではないかと期待できる。(実際のところは知らない、笑)

PDFにKeywordを登録する方法は以下の通り。(Acrobatが重すぎて使えないという理由でAcrobatおよびReaderは無視)
1) (難易度:易)
MacOSXのプレビューを使う。PDFをPreviewで開いて、「ツール」>「情報を見る」を選択すると、ウインドウが開かれる。このウインドウには3つのタブがあり、「キーワード」を選ぶとKeyword入力ができる。入力した後に確定すると、ファイルメニューの「保存」がアクティブになり保存が可能になる。

2) (難易度:難)
PHPを使う方法。自前ソフトはPHPベースなのでPHPから一発でPDFを操作できるようになると、Keywordの自動入力処理等が実現できる。最近、いろいろ調べたあげくにPDFにKeyword情報を付加することができるようになった。

PHPでPDFを扱う方法は2つあってPDFLibかFPDFを使う。PDFLibはMacOSXには標準で入っていないので、要コンパイル&インストールなのでちと敷居が高い。FPDFはクラスライブラリだけでPDFを作成することができる。しかもフリー。

FPDF
FPDF(日本語による情報)
FPDI


このFPDFの拡張として、FPDIというものがありこれは既存のPDFファイルを読み込んでそのデータをそのまま利用できる(注意:オリジナルのPDFそのものを操作できる訳ではなく、新たにPDFを作る)。この時点まだKeyWordを入力できない。このFPDIをさらに拡張するクラスがFPDIのサイトに公開されていた[FPDI Demo]。そのクラス(concat_pdf)の目的は、複数のPDFファイルをマージして一つのPDFファイルを"新たに"作成するということでこれはこれで便利な機能なんだが、このクラスに対して一つのPDFを投げ、新たなファイルを作成する前にKeywordを仕込んでやると、PDFの内容は全く同じだけどメタデータが仕込まれたファイルができる。
これで目的のPDFにkeywordを設定することができる。問題は、フォントの埋め込みが出来ない点だけど、まあいいや。

圧倒的に後半のほうが面倒だけど、自前ソフトと連携するととっても素敵なことになりそう。
という訳で以上備忘録。

Omni Outlinerでプロトコルを書く

2005年10月19日 | Weblog
研究に関係ある話題でも・・・

以前から実験プロトコルを書くソフトとしてOmni Outlinerを使っている。
生物実験系研究者なのでプロトコルなんていってもフォーマットはだいたい以下の感じで足りてしまう。
特にルーチンワークの実験なんて定型のフォーマットにしておくといろいろ便利。
(例)
sample
↓ add xxx
  note: prepare xxx freshly before use.
↓ centrifuge
sup
↓ incubate for 30 min
↓ spin down

実際は途中で分岐が入ったりするんだけど、こういうのを簡単に書く方法を探していて、見つけたのがOmni Outlinerだった。
Omni Outlinerを使うと何がいいかというと、項目の修正(入れ替え、挿入、削除)が楽。ソフト自体がシンプルなので動作が軽快。
で、少し設定をいじってやると、上に書いたような形式(矢印が重要)に書き出せる。
拡大したスクリンショットを見てもらうとわかるけどRTFに書き出す設定の「下位項目のない行」の設定を矢印にするだけで、
書き出したファイルが上の例のようになる。各項目のノート部分はRTFで書き出すと上の例のように挿入される。

拡大したスクリンショット

米Appleに投稿してみた

2005年10月09日 | PubMedRSS.wdgt
いろいろと一段落したので、米AppleのDownloadに投稿してみた。
相変わらず日本アップルは反応無し。電話番号入れなかったから拒否られたのか?

追記:米Appleに掲載されました。ウッホーイ!(10/13/2005)

追記2:記念ダウンロードしてみたらいきなりバグ発見。アチャー

PubMedRSS.wdgt

2005年10月01日 | PubMedRSS.wdgt
Widget Name: PubMedRSS.wdgt

Category: Dashboard Widget
Require : MacOSX 10.4 and later
Version: beta
Licence: freeware

Abstract: This widget, "PubMedRSS.wdgt" is a dashboard application for browsing the RSS-formated PubMed search results issued for your query by PubMed (NCBI).

Download: PubMedRSS.wdgt

Message from Apple
"Mac OS X 10.4 Tiger is required. If you’re using Safari, click the download link. When the widget download is complete, show Dashboard, click the Plus sign to display the Widget Bar and click the widget’s icon in the Widget Bar to open it. If you’re using a browser other than Safari, click the download link. When the widget download is complete, unarchive it and place it in /Library/Widgets/ in your home folder. show Dashboard, click the Plus sign to display the Widget Bar and click the widget’s icon in the Widget Bar to open it."

Update history:
10/18/2005 version 1.0.1 (miner fix of appearance problem when no RSS was registered.)
9/7/2005 release version 1
7/21/2005 fix some problem and upload this document (English ver.)
7/18/2005 first release

Screen Shot:
screenshot 7 (08/08/2005)
screen shot 6 (07/29/2005)
screen shot 4 (07/27/2005)
screen shot 3 (07/21/2005)
screen shot 2 (07/21/2005)
screen shot 1 (07/19/2005)


Features:
Display publication title list up to 10 records.
By selecting a title in the list, the detail informations of that (title, authors, journal information and summary) are displayed in widget.
Widget keeps multiple "rss_guid"s. You can select and switch the RSS from backside of the widget.

How to use?:
At first, you have to get your "rss_guid" from PubMed.
+with Safari+
1) Visit PubMed, and search PubMed database with some words whatever you want.
2) The link to the RSS feed generator is in "send to" button, which is pop-up select button located right above the list of search results.
3) In the RSS feed generator, you can name the RSS feed as you like, and then clicking "create feed" button.
4) In the next page, there is a tiny xml icon (orange one). This is the link to your RSS feed.
5) Click this icon and look at the URL in the address bar of your browser.
6) At the terminus of URL, there is a query strings like a "?rss_guid=xxxxxxxxxxxxxxxxxxxxxxxxxx".
7) Copy "xxxxxxxxxxxxxxxxxxxxxxxxx" part from URL and activate "PubMedRSS.wdgt".

+with widget+
Paste "xxxxxxxxxxxxxxxxxxxxxxxxx" in the text box on backside of the widget.
Click widget (anywhere except for text box) once, and click "Done" button.
RSS content will show up within a few second.

Click title in the list >> Show summary in widget
Click title in the summary view >> Open summary with Safari

To keep your "rss_guid" in widget, go back to backside of the widget. (RSS feed should be imported at least once.)
Check the "Current RSS" and click a small "+" mark.
If your RSS feed title appeared in below list, your rss_guid has been saved in the preference.

To delete a "rss_guid" from your widget, click "delete" on the left of list. A confirmation message will appear in the below of list. Click "OK" or "cancel".

On front side of widget, there is 2 triagle button on the top. By clicking these, you can change the RSS feeds kept in the preference.

From author:
This dashboard widget is a freeware. But I appreciate any kinds of donation for my works. It wil encoradge me and keep up my motivation. I prefer "iTunes Music Store Gift Certificate", because I am usually listening to music when I am coding. If you told me your favarate song with certificate, I gonna buy that song. Thank you.

Mail address: goaggies@mail.goo.ne.jp (copy & paste this address in your mailer, please. I'm sorry for inconvenience.)

MAMP 1.0.1の設定

2005年09月16日 | MAMP
PubMedRSS.wdgtをApple-Jの方に登録申請したもの、全くお返事こない。

最近、怒濤の締め切りラッシュが終わりやっと落ち着いて実験できるようになったので(といってもオレの論文じゃないのに現在1報執筆中、とほほ)、ついでにかれこれ2年近く作り続いている論文管理アプリケーションに手を入れ始めた。
ものとしては、既に(自分の脳内では)完成していて実際に実戦投入しているものだけど、上記の締め切りラッシュの間に出てきたバグと使い勝手の悪い部分の改善がメインの作業だ。
まあ、あとは当初からの懸案だったWordとの連携をどうするかという課題になんとか答えが出た気がするので、実装してみる。これはEndN○teのようにはできない(wordのマクロ書けない)ので、根本的に手法を変えて(論文の書き方も変わる)連携というよりはreference listを自動整形って感じになってしまったが、その分付加機能が高機能化していると思う。

そんなことはどうでも良くて、これを期にUTF-8化したいという野望を実行してみることにした。
開発当初のMySQLの安定板が4.0系でUTF-8をサポートしていなかった。従って日本語を扱うにはEUC-JPを文字コードとして利用するしかなかったのだが、1) EUC-JPではヨーロッパ言語圏のウムラウト等が表示できない、2) 論文情報の元になるものはXML形式(文字コードはUTF-8) という2つの理由から、内部でとてつもなく面倒な処理をしなければ行けなかった。さらに、EUC-JPで記録してあるDBをバックアップして書き戻すと、ウムラウト等の情報が化けるという問題もあった。
これをUTF-8に統一することで、ソースコードの修正に伴う不具合から解放され、バックアップの問題も回避できるだろうと以前から考えていたことだった。

しかし、メインで使用しているシステム(MacOSX 10.4にMySQL4.0系をインストール)を日常的に利用しているので、これを開発用(MySQL4.1系)に変更するわけにはいかないという理由から、実行できずにいた。
最近、MAMP (MacOSX+Apache+MySQL+PHP)という環境を構築してくれるアプリケーションが、公開され(正式版になる前のものも前から使っていたけどそれはMySQL4.0系)そのMySQLに4.1系が採用されているということを知った。PHPも4と5を切り替えて使えるらしいということで早速利用してみた。

ココまでが長ーい前置きです(笑)。

で、配布されているMAMP 1.0.1を使用するにあたり、日本語入力周りがいろいろ変だったので修正してみた。
以下にやったことに記録を書くので、誰かの参考になれば幸いである。

[MySQL]
とにかく、日本語が入力できなかった。すべて化けてしまう。で技術的なことはよく分らないけど(をい)サーバ、クライアントともにデフォルトのCharacter-setをUTF-8にする。
やり方は、my.cnfを"MAMP/db/mysql/my.cnf"となるように置く。my.cnfはエディタでゴリゴリ書いても良いけど、"MAMP/bin/mysql4/share/mysql/"にmy-xxxxx.cnf (xxxxxは任意)があるので適当に選んで先のフォルダにコピー&renameすると良いかも。
この中の、[mysqld]の下に
character-set-server=utf8
と書き込んでみたら、日本語が入力できるようになった。

追記:ちょっと嘘でした。自前アプリからは激しく化け化けでした。
正確に状況を書くと、phpMyAdminからは日本語が読め、入力できるけど自前アプリからは全くダメポ。
MySQL ユーザ会をいろいろ調べた結果、上の設定だとサーバ側の文字コードがUTF-8になるだけ。
そして、phpMyAdminを使ってシステム変数を調べると、character-set-cliant=utf8になってるけど、これはphpMyAdminがそういう設定に自前で変更しているのでそう見えるだけ。自前アプリはデフォルトの設定=latin1のままなので、MySQLにUTF-8で入力してあるものはクライアント(自前アプリ)に渡す時にlatin1に変換して渡すらしい。入力する時も多分変なことが起きているんだろうと思う(あはは、よく分からない)で、文字が化け化けになるらしい。
これを回避するにはphpMyAdminのようにクライアントの文字コードをUTF-8に変更する。
具体的には、mysql_connectで接続を確立した直後に、"SET NAMES utf8"というSQLを送ると良いらしい。
mysql_connect("ホスト", "ユーザ名", "パスワード");
$sql = "SET NAMES utf8";
mysql_query($sql);

とする。(いろいろ省略しているが)
その上で、my.cnfを書き換えれば文字化けしなくなる。

[phpMyAdmin]
インストールされているパッケージのバージョンが古く、言語設定を日本語(ja-utf-8)にすると真っ白になるので、安定板の最新である2.6.4に置き換える。
"MAMP/bin/phpMyAdmin/"をフォルダごと捨て、2.6.4をフォルダごとコピー。フォルダ名を"phpMyAdmin"に変更。
中の"config.inc.php"を開いて、usernameとpasswordをMAMPのものに変更。(74, 75行めくらい)

[PHP4]
PHP4は特に問題ないけど、念のため内部エンコードをUTF-8に変更する。
MAMP/conf/php4/php.ini
[mbstring]
mbstring.internal_encoding = UTF-8 (1053行目くらい)
とする。

[PHP5]
いまいち把握できていないけど、XML-parserが変。XMLのパーサの中で関数間の変数をやり取りする時にM? (Mの次にウムラウトのu)という文字列のMが消える。Mが消えるタイミングは変数をやり取りする時で、文字情報を取り出す関数内ではちゃんと取り出せている。同じスクリプトをPHP4で走らせると問題ない。ウムラウトの前の文字が取り出せないようである。対処法がない(自分にはできない)ので、PHP5を使わない方向で・・・ああもったいない。

PubMedRSS.wdgt

2005年08月08日 | PubMedRSS.wdgt
MacOSX 10.4から導入された DashBoard の Widget を自作して楽しんでいるのですが、初めて実用的で公開してもいいレベルのものが出来たので公開します。

Widget 名:PubMedRSS.wdgt
機能:「NCBI の PubMed が提供する RSS を読むための Widget」

括弧の内容が分らない人には全く使いようが無いものですが、以下に簡単に説明します。

"National Center for Biotechnology Information" というアメリカ合衆国の政府機関が、特に生物学の分野の研究に関する学術論文をデータベース (PubMed) 化し公開しています。全世界の研究者は、この PubMed を自由に検索することができ、今日の生物系研究者には欠かすことの出来ないものとなっています。最近、PubMed の一つの機能として「検索語に対して RSS を生成する機能」が実装されました。この Widget はその RSS を読むためのものです。

Screen Shot:
背面の説明 (08/06/2005)
screenshot 7 (08/08/2005)
screen shot 6 (07/29/2005)
screen shot 4 (07/27/2005)
screen shot 3 (07/21/2005)
screen shot 2 (07/21/2005)
screen shot 1 (07/19/2005)


Widget の機能:
RSS の上位10 論文を論文タイトルのリストにして表示します。
各論文タイトルをクリックすると、論文の要旨を表示します。
複数の RSS を記憶します。

バージョン: 1.0.1
配布形態: freeware

使い方:
PubMed で自分用 RSS の URL を取得してください。RSS の取得は、特定の検索語に対する通常の検索結果画面を表示し、"send to" というプルダウンボタンのなかに RSS feed という項目があります。これを選択すると、自分用 RSS の URL を発行するためのページが開きます。あとは PubMed の指示に従ってください。
この URL の末尾に rss_guid=(30文字くらいのランダムな文字列) がありますので、これを Widget 背面のテキストボックスに入力します。

Widget への登録は、一度表に返して RSS を表示する必要があります。(RSS のタイトル取得と表示確認のためこのような仕様にしています)
正しく表示できていればもう一度裏に返し、真ん中辺りの "Current_RSS" という項目に RSS に関する情報が表示されますので、右端の小さい "+" マークをクリックすると、その下のリストに登録されます。

Download: PubMedRSS.wdgt

以下はApple Computer, Inc.からのお知らせ
Mac OS X 10.4 Tigerが必要です。ダウンロードにSafariを使用する場合は、はじめにダウンロードのリンクをクリックしてください。次にダウンロードの完了後、ウィジェットを表示し、プラスボタンをクリックしてウィジェットバーを表示させ、ダウンロードしたウィジェットを追加してください。Safari以外のブラウザを使用する場合は、はじめにダウンロードのリンクをクリックしてください。次にダウンロードの完了後、解凍したウィジェットを /ライブラリ/Widgets/ フォルダに配置してください。ウィジェットを表示し、プラスボタンをクリックしてウィジェットバーを表示させ、ダウンロードしたウィジェットを追加してください。


更新履歴:
10/18/2005 ?バージョン1.0.1公開 RSSが登録されていない状態での表示を修正
10/10/2005 米Appleのウェブサイトに登録?バージョン1.0公開
8/6/2005 20050806版を公開 このバージョンからリリース候補にする。登録したRDFの削除を行えるようにした。
7/21/2005 20050721版を公開 不具合の修正、アピアランスを若干変更、意図していない動作はしてないハズ。
7/20/2005 20050720版を公開 不具合の修正
7/19/2005 20050719版を公開 PubMedの仕様変更に対応、不具合の修正、iconの添付。
7/18/2005 20050718版を公開

謝辞:
公開当初から、ご意見ご感想をいただいた複数の名称未設定さんに感謝いたします。ご協力ありがとうございました。

このソフトは、フリーウェアですのでご自由にお使いください。ライセンスは、同梱のApple Computer, Inc. が著作権を保持するファイル "base.js" 以外は、クリエイティブコモンズライセンスです。詳細はここのファイルで確認してください。
また、widget の開発に対するご寄付は受け付けています。何でもかまいませんが、iTunes Music Store のGift Certificate を goaggies(アットマーク)mail.goo.ne.jp に送っていただけると一番うれしいです。

PubMedRSS.wdgt (その3、日本語版)

2005年08月07日 | PubMedRSS.wdgt
PubMedRSS.wdgtの基本的な使い方に関してはこのエントリーをご覧下さい。

今回のバージョンが正式版候補となります。前回のエントリーで、full versionとstandard vaersionの2種類を公開しましたが、full versionのほうは時々表示が乱れるので、standard version を採用しました。

今回の修正部分
某所で指摘のあった登録したRDFを消去できるようにしました。
背面での操作が実行されているか分りづらいので、Status を表示するように設定。
表面のボタンを平面にしました。

Download
PubMedRSS.wdgt (release: 2005/08/06)
過去のバージョンは消去しました。

screen shot:
背面の説明 (08/06/2005)
screenshot 7 (08/08/2005)

祝! iTMS Japan

2005年08月05日 | Weblog
やっと始まったね。

祝!iTMSってことで、以前に作って放置中のwidgetを紹介。
iTMS の RDF もしっかり解釈します。iTMSのRSSはこちらからどうぞ

しっかり作り込めてないので、自己責任でお使いください。
screen shot

機能
基本的にはRDF 1.0を読む。
iTMSの場合、RDF 2.0 なので特別に拡張。
使い方はPubMedRSS.wdgtとほとんど同じ(中身がほとんど同じだから)

Download
rssreader.wdgt

1週間くらいたったら消してしまうかも。

PubMedRSS.wdgt (その2、日本語版)

2005年07月29日 | PubMedRSS.wdgt
PubMedRSS.wdgtの基本的な使い方に関しては前回のエントリーをご覧下さい。

RSSを読み込む機能に関する変更
RDFにレコードがない場合に固まる現象を回避するように修正。

アピアランスとUIの変更
前面にRDFを切り替えるボタンを付けました。上の青いバーの右側にある2つのボタンです。
思いつきで実装したためか、本来異なる目的のために用意された機能を利用しているためか(多分両方)、ちょっぴり表示がバギーになってしまったので二つのバージョンに分けます。

Download
1) PubMedRSSf.wdgt (full version)
2) PubMedRSSs.wdgt (standard version)

Full version はファイル名(拡張子を除く部分)の末尾に f がついています。RDFを切り替えると、widgetが一度ひっくり返ります。
Standard はファイル名(拡張子を除く部分)の末尾に s がついています。ただ単に表示が切り替わります。

アピアランスはwidgetの底辺部分が素っ気なかったので若干修正しました。

このバージョンがのどちらかが正式版になると思います。
しばらく自分で使ってみて、問題なければAppleに投稿してみようかなと考えてます。

screen shot:
screen shot 6 (07/29/2005)

PubMedRSShtml

2005年07月23日 | PubMedRSS.wdgt
MacOS X 10.3.x以前用にPubMedRSS.wdgtのHTML版を作りました。

基本機能は同じですが、Widgetでしか実現できない機能は削ってあります。
その代わりに、表示論文数の制限を解除してあります。

使い方:
一番上のTEXT boxにrss_guidを入力してください。TEXT boxからフォーカスが外れる(window内の他の場所をクリック)
と自動的に読み込み始めます。
その他の使い方はWidgetと同じです。

エラー回避のためにデフォルトにあるRSSを入れておきました。あまり気にしないでください。

Download:
PubMedRSShtml.zip
Screenshot:
Screenshot1 (07/22/2005)

注意:
MacOSX 10.4 のSafari 2.0でのみ表示の確認をしています。
その他のOS、ブラウザ等での表示に関して対応できません。

発音記号が入力出来るかのテスト他

2005年03月05日 | Weblog
置き換えるコード/発音記号/読めない時の説明
æ /æ / aとeがくっついたもの 

文字色指定が全然黒くならないのは何故だ?

Mac de 辞書 その2

2005年03月05日 | Weblog
その1で書いた目標は解釈出来る構造にするというのは、結局テキストファイルで見出し語、定義、項目の区切りが簡単に判別出来れば言い訳で、XMLにでもおさめとけば将来的には何とかなるかなと考えている。

ということで、目標はUnicodeでXML化

Macで(というかPCでもなんでもいいけど)表示されているテキストなら単純にコピペでいいじゃんという話になるけど、それを手作業で10万語なんて到底出来ないので、自動化を目論む。
その前に、辞書ソフトもつまるところはテキスト主体なわけで意外と本体ファイルをテキストエディタでえいやっ!と開いてしまえばさくっと内容を取り出せるのではないかと思ったんだけど・・・、「その1」で書いた通りEPWINGは日本独自フォーマットなので内部文字コードがJIS X0208というものらしい。んっで、いつも使っているeditor ”mi"はこの文字コード理解しない・・・あぅ。
んっでは、辞書ビューワーはちゃんと表示するんだからそこからコピペ?と思ったけど、MacOSXでの辞書ビューワーには全内容を一括表示できるものが無い。

そういうことが出来るソフトはWindows上のDDwinというソフト(だけ?)らしいので、しょうがないから久々にVPCを起動。共有フォルダに「とある英和辞書ソフト」をコピり、Web上の情報を基に書き出し書き出し。
30分くらいかかって取り出したテキストファイルは大体27MB。これをMacOSX側に取り出して、"mi"で開き文字コードをさくっとUTF-8にしてみた。