2003年05月30日
地図サイト
同じ場所の同じようなスケールでも、これだけ違う。
実用的なのは、mapion。でも位置情報として面白いのは@NAVI。
mapionの地図にはアドレス(何町何丁目とか)が載っているので、頭の中で場所の特定はしやすい。でも実際の場所を反映しているのは道路と地割りくらい。街というのはこんなもんじゃないだろうと思ってしまう。一方@NAVIはアドレスがないので不便だけど場所の様子がわかる(ような感じがする)。この「ような感じがする」のが面白いポイント。
2003年05月29日
2003年05月28日
なるほど便利!GIS道具箱
なるほど便利!GIS道具箱
いろいろあります。
でも「便利」というのには無理がある。
別に「おもしろい」でいいのでは。おもしろいというのは充分社会の役に立っていることだと思うんだけどなー
国土交通省の地図データはほとんど白地図に近いから、イマイチ臨場感がないというのが残念なところ。
2003年05月27日
2003年05月26日
2003年05月25日
2003年05月23日
2003年05月22日
moblogシステム概要
このweblogに携帯メールから書き込めるようにしているシステムの概要とセットアップ方法
環境:
Mac OS X 10.2 (10.3以降はSendmailからPostfixに変更されているので、後半のSMTPの設定方法が異なる)
概要:
1.メールサーバでメールを受ける
2.題名、本文、添付ファイルをとりだす
3.weblogに書き込む
という動作をするスクリプトを使用。XMLRPCを使用しているので、メールサーバとMovable Typeが動いているWebサーバは別のマシンでも良い。
更新履歴
- 2005-06-13: セキュリティ対策(投稿内容のサニタイズ)
- 2004-04-13: A5501TのExifタグに対応。(GPSタグの度が1/100000、分・秒共に0)
- 2004-02-13:
- [Movable Type 2.661 + 日本語化パッチ]に対応。
- GPS情報の抽出をexiflistからImage::Infoに変更。
- mencoderによるamcファイルの変換を廃止。(QuickTime6.5によりamc再生環境が整ったため不要と判断)
- 2003-07-24: Extendedが生成されないバグを修正。
- 2003-07-20: Altitudeタグがない場合に対応。
この手の動作をするpythonのスクリプトとしてmail2entryというものがすでにあるが、これがOS X10.2に含まれるバージョンのpythonではうまく動かなかったので、perlで書いてしまった。車輪の再発明かも。
Download file
GNU General Public License version 2(日本語) に従ったフリーウェアです。
位置付写真を添付したメールでMovable Typeに書き込むための基本的な機能しか実装してません。
- 想定している測地系は、WGS-84。
- 地図へのリンクは、@NAVI。
- カテゴリーは扱いません。
- ffmpegをインストールしておけば、auムービーメールのサムネールを作って同時にアップロード。
- ムービーに埋め込んだ位置情報には対応していません
測地系の変換をして日本測地系のMapionを使う、自動的にカテゴリーを設定する、などの拡張をするには、nob sekiさんのSync A World You Want To Explore: GPSは正確だが、地図情報は?が参考になります。
メールから書き込む機能はいらない、画像に地図リンクだけ付け足したい、という場合は、AddMapsプラグインをどうぞ。
スクリプトの設定:
my $url = 'http://www.your-site.com/movabletype/mt-xmlrpc.cgi';
Movable Type のmt.cgiをmt-xmlrpc.cgiに置き換えたもの。
my $blog_id = 2;
書き込みたいweblogのid。Entry編集画面のURLにblog_id=で表示されているもの。
my $username = 'Melody';
my $password = 'Nelson';
書き込むユーザ名とパスワード。メール書き込み用に新しくユーザを追加したほうがいいかも。
my $code = utf8; # utf8, euc, jis, sjis(2.661+日本語化パッチではXML-RPCがutf8に統一されているようなので、この設定は削除)
書き込む漢字コード
my $MT_DIR = '/Library/WebServer/Documents/mt/';
同じマシンにMovable Type をインストールしているならば、そのディレクトリ。文字列の最後は/で。
my $parse_path = '/Users/Shared/post2blog';
テンポラリファイルを作るディレクトリを用意する。OS Xの場合、Finder上から確認しやすい/Users/Shared/に作るのが良いかも。
モジュールのインストール:
OS XでMovable Typeが動いている環境の標準以外で必要なperlモジュール
http://search.cpan.org/author/ERYQ/IO-stringy-2.108/
http://search.cpan.org/author/GAAS/MIME-Base64-2.20/
http://search.cpan.org/author/MARKOV/MailTools-1.58/
http://search.cpan.org/author/ERYQ/MIME-tools-5.411a/
http://search.cpan.org/author/DANKOGAI/Jcode-0.83/
http://search.cpan.org/~gaas/Image-Info-1.16/
MIME-toolsをインストールする前に、その上の3つをインストール。
それぞれを展開したディレクトリの中で
% perl Makefile.PL
% make
% sudo make install
でインストールできる。
OS Xの標準に含まれていないものとしては、SOAP::Liteも必要だが、Movable Typeが動いている環境ならば、すでにインストールされている。Movable Typeを動かしているマシンとは別のマシンでこのスクリプトを動かす場合は、SOAP::Liteもインストールする。SOAP::Liteは依存するモジュールが多くてややこしいので、CPANモジュールを使ったほうがいいかもしれない
まずはCPANモジュール自身のアップデート。途中でいろいろ聞いてくるが、基本的にはすべてデフォルトでよい。つまりひたすらリターンキー。
% perl -MCPAN -e shell
cpan> install Bundle::CPAN
ただしlibwww-perlのインストール中に
Do you want to install the HEAD alias? [y]
と聞いてくるので、これだけはnと答えないと、大文字小文字を区別しないHFS+ボリュームの場合/usr/bin/headコマンドを潰してしまう。
cpan> reload cpan
CPANモジュールを使っていると、途中でperl5.8.0とかのインストールが始まってしまうことがある。そんなときはダウンロード中にすかさずCtrl+Cで中断。
cpan> install SOAP::Lite
sendmailの設定:
まずはサーバとして動くようにする。
[参考ページ]
http://pisa.csrs.is.uec.ac.jp/TechInfo/Macintosh/SendmailOnJaguar/UptheSendmailOnJaguar.html
[参考ページ]に書いてないこと:
DNSで引けるマシン名がなくてIPアドレスだけの場合
/etc/mail/local-host-names
に、生IPアドレスを[]で囲んだものを記入。仮にアドレスを192.168.0.1とすると
192.168.0.1
[192.168.0.1]
これは、SMTPサーバによってはTo: user@192.168.0.1では送信ができず、To: user@[192.168.0.1]とする必要があるため。.macはこのパターン。ezwebは[]なしで送信可。
次に、サーバに届いたメールをスクリプトに渡すようにする。
スクリプトを/usr/adm/sm.bin内に置く。
% sudo mkdir -p /usr/adm/sm.bin
% sudo cp post2blog /usr/adm/sm.bin
% sudo chmod 555 /usr/adm/sm.bin/post2blog
NetInfoマネージャで[参考ページ]の通りにaliasesを追加。ただし、"members"にはアドレスのかわりにスクリプトへのパイプをフルパスで記入。
| /usr/adm/sm.bin/post2blog
再起動。
これで、
alias名@IPアドレス
にメールを送信すれば書き込まれる。
2004-04-13以前の版には以下のセキュリティホールがあります。最新のものをダウンロードしなおして使用するか、以下の対策を取ってください。
内容1:
添付ファイル名のサニタイズを行っていないため、投稿先メールアドレスが漏洩すると、最悪の場合、メールを受信するサーバ上で任意のコードの実行が可能です。
対策1:
オリジナルの添付ファイル名を使用しないようにしてください。
内容2:
同じく投稿先メールアドレスが漏洩した場合、題名、本文などを利用したXSSが可能になります。
対策2:
投稿内容のサニタイズを行ってください。
以上二つの変更を行ったものと旧バージョンとのdiffは以下。
2003年05月21日
論理的
Mac OS X Troubleshooting: 問題を特定する方法
たしかにその通りだし、ぼくもそうしているけれど、コンピュータというのは面倒なものであるなぁということがよく伝わる文章。あーめんどくさい。
これを皆に勧めるのは無理だなぁ。
2003年05月20日
2003年05月18日
2003年05月14日
ムービーのサムネイル
S_030513_1909~01.amc
( --> MPEG1 )
結局MEncoderとは別にffmpegをmake。やっとmpegのサムネイルが生成可能になった。
最終的にはffmpegというメジャーなところに青い鳥的に落ち着いたけど、いろいろ調べたり様々なライブラリをmakeしようとしてエラーに悩まされたり、ずいぶん遠回りをしてほとんど丸一日費やしてしまった。
おかげで今まで疎かった動画関係なんかの情報をちょっとは得られたけど…
2003年05月13日
ムービーメールで書き込み
S_030402_1307~01.amc ( --> MPEG1 )
専用アプリがないMacではezmovieを再生できないと思っていたが、内部データはmpeg4なので、試しにオープンソースのMPlayerに放り込んでみると再生できた。
MPlayerの動作を見ていると、きちんとファイルの構造と内容を解析してから内部のデータを取り出して再生しているようだ。再生開始の際、この解析に少し時間を取られるが、多数のフォーマット入り乱れてデータ内部で入れ子のようになっている動画や音声データを扱うには、特定の構造と内容の組み合わせしか再生しようとしないQuickTimePlayerよりずいぶん頼もしい。
が、音声が消えてしまう。音声トラックのデータはqcelpだが、MPlayerでそれらしきフォーマットをデコードするライブラリはQuickTime。設定を書き替えて無理やりデコードさせようとするとQuickTimeを呼ぶ段階でクラッシュする。
なんでqcelpなんて古いフォーマットを採用したんだろう。cdmaone機の再生チップとかの問題かなー。
というわけでMPEGには音声トラックがありません。
2003年05月09日
設計製図
場所 (海抜66m)
提出日に採点しきれず、今日も大学に来るはめに。
他の先生は全員採点済み。なぜオレだけ終わっていないのか。トホホ。
http://www.at-navi.com/map/checkMap.jsp?datum=0&unit=0&lat=+35.41.58.94&lon=+139.44.29.94&fm=0
移動と読書
場所 (海抜88m)
場所 (海抜142m)
ケータイのGPS情報には速度は含まれているのだろうか?
[地図]
あらためて、大勢の人が一斉に移動する、電車というものの不思議さを思う。それぞれに何かをしながら(ぼーっとする、というのも含む)で、しかも、その移動は横向きだ。
http://www.at-navi.com/map/checkMap.jsp?datum=0&unit=0&lat=+35.40.21.02&lon=+139.39.49.38&fm=0
地下
場所 (海抜29m)
http://www.at-navi.com/map/checkMap.jsp?datum=0&unit=0&lat=+35.40.52.67&lon=+139.41.09.43&fm=4
GPSは届かない。位置情報はどうなっているのだろう?
春
場所 (海抜70m)
http://www.at-navi.com/map/checkMap.jsp?datum=0&unit=0&lat=+35.40.50.25&lon=+139.41.12.70&fm=0