以前書いた「LuaでTwitterるわ!」の「もごもご」版です。
2008/01/31
vimでもごもご(vim-mogo2リリースとvim-twitter改良版リリース)
vimからもごもごを閲覧/更新できるアプリケーションを作りました。ベースとなっているのは、Twitter : A simple client for Twitterです。
以前、この「Twitter : A simple client for Twitter」のマルチバイト周りとWindowsで動作するように修正した物をtwitter上でひっそりとアナウンスしましたが、それをベースにもごもごバージョンを作ってみました。
もごもごって、public_timelineでも認証がいるんですね...汗
使い方は、twitter版と同じ
publicステータス取得
:Mogo2PublicTimeline
friendsステータス取得
:Mogo2FriendsTimeline
ステータス更新
:Mogo2StatusUpdate 今日も、もごもご
となります。※スレッドへの発言も同様に
:Mogo2StatusUpdate >>343473 もごもご...
と実行します。ダウンロード:※witter.pyがpythonスクリプト内でグローバルなメソッド名称定義してくれてますので、mogo2.pyでは接頭語「Mogo2」を付けてます。
また、オリジナルのtwitter版をマルチバイト/Windows対応した物も一緒に配布します。こちらは精神衛生上の都合もあり上記接頭語を「Twitter」に変更しています。
ダウンロード:上記スクリプトのインストール方法は...メンドイので省略
SQLite3のWin32シェル版を簡単に作る手順
ローカルDBやメモリDBとして使えるSQLiteは、開発者にとってかなり有用なツールです。 私はよく「あーーーあのSQLどう書こう」なんて悩む時にSQLiteのshell版を使います。今日はそのWin32 SQLite3のshell版sqlite3.exeの作り方をご紹介。
まず、ダウンロードページからsqlite-3_5_0.zipというファイルをダウンロードします。
次に、ソースツリー内の「src」ディレクトリに移動し、以下のMakefileを置きます。
.SUFFIXES: .c .obj
all : sqlite3.exe
sqlite3.exe : alter.obj analyze.obj attach.obj auth.obj btree.obj build.obj callback.obj complete.obj date.obj delete.obj expr.obj func.obj hash.obj insert.obj legacy.obj loadext.obj main.obj opcodes.obj os.obj os_os2.obj os_unix.obj os_win.obj pager.obj parse.obj pragma.obj prepare.obj printf.obj random.obj select.obj shell.obj table.obj tokenize.obj trigger.obj update.obj utf.obj util.obj vacuum.obj vdbe.obj vdbeblob.obj vdbeapi.obj vdbeaux.obj vdbefifo.obj vdbemem.obj vtab.obj where.obj mutex.obj mem1.obj malloc.obj
cl /Fesqlite3.exe alter.obj analyze.obj attach.obj auth.obj btree.obj build.obj callback.obj complete.obj date.obj delete.obj expr.obj func.obj hash.obj insert.obj legacy.obj loadext.obj main.obj opcodes.obj os.obj os_os2.obj os_unix.obj os_win.obj pager.obj parse.obj pragma.obj prepare.obj printf.obj random.obj select.obj shell.obj table.obj tokenize.obj trigger.obj update.obj utf.obj util.obj vacuum.obj vdbe.obj vdbeblob.obj vdbeapi.obj vdbeaux.obj vdbefifo.obj vdbemem.obj vtab.obj where.obj mutex.obj mem1.obj malloc.obj
.c.obj :
cl /c /DSQLITE_THREADSAFE=0 $<
後は、Visual Studioのコンパイラにパスが通ってるならば「nmake」でコンパイルします。
なおSQLiteは、内部処理がUTF-8でやり取りされており、Win32版の場合はNTかどうかでCreateFileA/CreateFileW等、ワイド文字APIの呼び方を変えています。しかし、コマンドライン引数には対応出来ておらず
C:¥> sqlite3.exe データベース.db
なんて事すると、エラーが発生します。ちなみにNTでない場合には変換無しにCreateFileAを使いますから問題なく動きます。これって、コマンドラインをUTF-8にすれば動くんだろうけど
C:¥> chcp 65001
やってUTF-8にしても文字は化けるし、IME動かないし意味無いですよね。適当に
--- os_win.c.orig Mon Sep 03 22:39:38 2007
+++ os_win.c Fri Sep 28 22:17:50 2007
@@ -137,6 +137,8 @@
# define isNT() (1)
#else
static int isNT(void){
+ if( GetACP() != CP_UTF8 )
+ return FALSE;
if( sqlite3_os_type==0 ){
OSVERSIONINFO sInfo;
sInfo.dwOSVersionInfoSize = sizeof(sInfo);
こんなパッチ当てて、実行すると日本語のファイル名も扱える様になります。このEXEをUSBなんかで常備しておくと、いざという時に助けられるかもしれませんね。

