2009/03/03(火)暫くTwitterは放置していたのだけど (w2t_tiny.pl)

Twitterが一時まったく安定していなくて、そのときにWasserを使い始めて以来なんとなくWassrに居ついていた。
暫くTwitterは放置していたのだけど、最近なんとなくfollowしてくれる人が出てきたみたいなので、何もポストしないのも気が引ける。

ということで、面倒だからWassrにポストしたコメントをTwitterに勝手に投稿しなおしてくれるスクリプトを作った。

w2t_tiny.pl WassrからTwitterへ自動投稿

ちょー手抜き。
cronで*/15で起動しているので、最大15分投稿が遅れます。

2009/03/02(月)pythonのお勉強 (DBアクセス編)

(03/03追記は「続きを読む」の後)

相変わらずpython。
MySQLとOracleに接続する必要がある。
まあ、このあたりがとても参考になる。
Cafe de Paison: MySQLdb
Cafe de Paison: cx_Oracle

ところで、MySQLdbにはDictCursorという便利なものがあります。
しかしこれ、undocumentedなの?
みなさん普通に使っているみたいですが。
そもそもMySQLdb本家を見に行ってもドキュメントが空に見えるんですが...
help('MySQLdb')でオンラインドキュメントは出てきましたが、DictCursorについては書いてない様子。


一方、cx_Oracleにはそういうなのはないらしい。
MLでも「MySQLdbのDictCursor見たいなのはないの?」「自分で作ればいいと思うよ!*1的なやり取りがあるようですが。

pythonはDBの抽象化レイヤがない代わりにDatabase API 2.0に準拠して作られているから大抵大丈夫だよ!という話を聞いていたのですが、パラメータのバインド方法に始まりDBごとに微妙に違う部分があって戸惑ってます。
Perlでもある程度は違うんだけどね。

↓03/03追記↓

続きを読む

2009/02/27(金)pythonのお勉強 (unix timestampを可読表現に)

この期に及んでpythonを初めて触ってみる。

チュートリアルとかリファレンスとか読みながらぼちぼち書いているのだけど、なかなかピンと来ない部分がある。
たとえば、unix timestampを可読な文字列に変更しようとする場合。
>>> import datetime
>>> datetime.datetime.fromtimestamp(1235051482).ctime()
'Thu Feb 19 22:51:22 2009'
動作はしているけど、一見して何が何だかな表記ではある。

どうやら
・datetimeネームスペースになるdatetime型(クラス)のコンストラクタfromtimestamp()を呼び出す
→datetime型のオブジェクトが生成される
・datetime型のメソッドctime()が呼び出される
→string型の返値が得られる
ということらしい。
>>> hoge = datetime.datetime.fromtimestamp(1234567890)
>>> hoge
datetime.datetime(2009, 2, 14, 8, 31, 30)
>>> hoge.ctime()
'Sat Feb 14 08:31:30 2009'
このように書くとhogeにdatetime型のオブジェクトが格納されていると言うことが確認できる。
>>> fuga = datetime.datetime
>>> fuga.fromtimestamp(1234567890)
datetime.datetime(2009, 2, 14, 8, 31, 30)
すごく紛らわしかったのが、これ。
fugaには何が代入されてるのかというと、datetimeネームスペースにあるdatetime型の参照を代入していると言うことらしい...
>>> from datetime import *
>>> datetime.fromtimestamp(1234567890)
datetime.datetime(2009, 2, 14, 8, 31, 30)
とかやって名前空間をインポートしてしまえ、ということなんだろう。

photo
Pythonチュートリアル
鴨澤 眞夫
オライリー・ジャパン 2007-09-22

by G-Tools , 2009/02/27


2009/02/26(木)秋月のGPSロガー

この前秋月に行ったときに見つけた。

USB接続GPSモジュール

パッケージには「GPS USB DONGLE」と書いてある。
型番は「GT-730F(L)」らしい。(L)がないモデルもあるが、これはロガー機能がついていないモデルなので間違えないように。

USB接続のGPSレシーバーとしても使えるし、単独で動作するGPSロガーとしても使えるらしい。ただし電源がないのでUSBにつながる電池ボックスを用意しないといけないようだが。(秋月から買うとおまけでもらえる)

USB接続GPSモジュール/ロガー アーカイブ (エレキジャック)
GPSロガー>GT-730F(L)購入 (ヤマガタンver8)
に使用レポートが載ってますが、それなりに使えるらしい。


4200円ならいい感じのおもちゃですね。
ちょっと欲しいなぁ。

2009/02/20(金)Windows VistaでMMCスナップインのリモートデスクトップは利用できないものか

Vista生活にもずいぶん慣れてきました。

ところで、Windows環境ではリモートデスクトップをよく使います*1が、Windows Vistaに入っているリモートデスクトップクライアント(mstsc.exe)は「1接続1ウィンドウ」なので多数のサーバに対して接続して作業するときには画面中がウィンドウだらけになって困ります。

Windows XPの時は、Windows Server 2003に添付されている「MMCスナップインのリモートデスクトップクライアント」というのがありまして、是が非常に便利でした。
より実用的なサーバ・コンピューティングに向けて強化されたターミナル・サービス(後編) (@IT)
に写真が出ていますが、
・複数の接続を1ウィンドウで切り替えながら作業できる
・保存されている接続先の一覧が見やすく表示される
・コンソールセッションへの接続をコマンドラインオプションによらずに指定できる
などなど、ずいぶん便利でした。

ちなみに、このスナップインはAdminpak.msiとしてServer 2003のメディアに添付されている意外に、Microsoftからも入手できるらしいです。


ところが、VistaではこのMMCスナップインが使えません。
Windows Vista ベースのコンピュータに Windows Server 2003 管理ツールをインストールすると、インストール エラーと互換性の問題が発生する (Microsoft サポートオンライン)
とあるように、無理矢理インストールしてもまともに動かないようです。

RSATツールでWindows Server 2008をリモート管理する(@IT)
にあるとおり、Windows Server 2008ではRSATというツールを使うのですが、どちらかと言えばこれはAdminpak.msiに入っていたリモートデスクトップ以外のMMCスナップインに相当するもののようです。2008環境ではリモートデスクトップでターゲットにログオンして操作をするような野蛮な?方法は推奨されていないと言うことでしょうか。


しかし、困りました。
手元の端末がVista化している今日この頃ですが、サーバはまだまだ2003で動き続けることになると思うんですよね。なのにVistaでは従来の管理ツールが使えないというのは困ります。
あと、単純にMMCスナップインのリモートデスクトップは「高機能なリモートデスクトップクライアント」としても役に立っていたのですが。(どっちかというとこちらが切実)
なにか代替品はないんでしょうかね。

*1 : 使うよね?