2009年9月26日

identi.ca の Twitter 互換 API

identi.ca には Twitter 互換 API が実装されているのですが、日本語ではあんまり情報が無いみたいなのでメモしておきます。

identi.ca の API 仕様は http://status.net/wiki/TwitterCompatibleAPI?source=laconica に記述があります。XML と JSON で提供されています。

JSONの主要な物だけここでは書いておきますが、XMLも同じです。

Twitter 互換 API(json)
API Methods API endpoint
statuses/show https://identi.ca/api/statuses/show/###ID###.json
statuses/update https://identi.ca/api/statuses/update.json
statuses/user_timeline https://identi.ca/api/statuses/user_timeline.json

他の物も基本 Twitter と同じになっています。Twitter の API 文書は http://apiwiki.twitter.com/Twitter-API-Documentation にあります。

またAPIではありませんが、Webで見れる情報を取得できるのが以下のURLになります。

identi.ca 主要URL
Methods URL
home https://identi.ca/###USERNAME###
statuses/friends https://identi.ca/notice/###STATUS###
search/hashtag https://identi.ca/###HASHTAG###

identi.ca は PHP で作成されたオープンソースなプロダクトで作成されています。

最新版は http://status.net/wiki/Source からダウンロードできます。会社内とか自宅とかで Twitter のような物を構築したい場合利用してみると良いのではないでしょうか。

2009年9月23日

Cyberduck 3.3b3 が起動するけどウィンドウが出ない件

2009/09/21にリリースされた Cyberduck 3.3b3 ですが Snow Leopard 利用者がアップデートすると起動はするけれどもウィンドウが表示されません。

Cyberduck の beta 版は http://update.cyberduck.ch/beta/ 以下に置いてありますので、ウィンドウが表示されない人は、 3.3b2 等の旧バージョンを取得して上書きすると良いでしょう。

原因ですがバグで現在 nightly build で修正されていますので次のリリースでは問題ないでしょう。

2009/10/12追記:2009/10/09にリリースされた Cyberduck 3.3b4 にてこの問題は解消されています。
一部の人が 3.3b4 を起動すると接続先に接続しに行く問題(?)が発生しているようですが、設定を確認してください。
環境設定の「一般」に「接続先を記憶し、再起動後に接続」という設定が存在しますので、チェックを外してください。

2009年9月22日

tubuyakix.user.js に identi.ca 投稿機能をつけてみた

  • 公開場所: 紹介マニア
  • ライセンス:GPL2 もしくはそれ以降
  • 動作確認環境:Firefox3 + Greasemonkey 0.8.20080609.0 以上

Twitter、Wassrへの投稿に対応したグリモンのtubuyakix.user.jsに identi.ca への投稿機能をつけてみました。

identi.ca は1年前とかに一時的に話題になったけど、日本語への対応が微妙だったこともあってすぐに日本人の利用者が利用しなくなってしまったサービス。
現在は日本語に比較的まっとうに対応しています。

twitter 互換 API が存在するので nowa が閉鎖されたかわりに投稿機能に対応してみました。

おためしください。

2009年9月12日

Snow Leopard で mod_wsgi を設定する

Snow Leopard で mod_wsgiをコンパイルして動作させてみます。

curl -O http://modwsgi.googlecode.com/files/mod_wsgi-3.0c4.tar.gz
tar xvfz mod_wsgi-3.0c4.tar.gz
cd mod_wsgi-3.0c4
./configure

もし Python2.6.2 を独自インストールしている場合は Makefile の修正が必要です。以下の修正を実施しないと、デフォルトでインストールされている 2.6.1 の方を参照しようとします。

--- Makefile.org        2009-09-12 20:35:02.000000000 +0900
+++ Makefile    2009-09-12 20:35:44.000000000 +0900
@@ -20,8 +20,8 @@

 CPPFLAGS =  -I/Library/Frameworks/Python.framework/Versions/2.6/include/python2.6 -DNDEBUG
 CFLAGS =  -Wc,'-arch x86_64' -Wc,'-arch i386' -Wc,'-arch ppc7400'

-LDFLAGS =   -L/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/config  -arch x86_64 -arch i386 -arch ppc7400
-LDLIBS =  -lpython2.6 -ldl
+LDFLAGS =   -L/Library//Frameworks  -arch x86_64 -arch i386 -arch ppc7400
+LDLIBS =  -framework Python -ldl

 all : mod_wsgi.la

コンパイルしてインストールします。

make
sudo make install

Apache の設定ファイルにモジュール設定を記述します。特にこだわりがないなら「/etc/apache2/httpd.conf」に追加してください。

LoadModule wsgi_module libexec/apache2/mod_wsgi.so

Trac を wsgi で動作させてみます。

「/Users/ユーザ名/Sites/trac/index.wsgi」として以下のようなファイルを作成します。

import sys
sys.stdout = sys.stderr

import os
os.environ['TRAC_ENV_PARENT_DIR'] = "/path/to/trac"
os.environ['PYTHON_EGG_CACHE'] = '/path/to/trac/eggs'

os.environ["HGENCODING"] = "UTF-8"

import trac.web.main

application = trac.web.main.dispatch_request

「/private/etc/apache2/other」以下に「wsgi.conf」のファイル名で以下のようなファイルを作成します。

WSGIScriptAlias /trac /Users/ユーザ名/Sites/trac/index.wsgi


<Directory /Users/ユーザ名/Sites/trac>
WSGIApplicationGroup %{GLOBAL}
Order deny,allow
Allow from all
</Directory>

設定ファイルの文法が正しいことをチェックします。

apachectl configtest

Apache を再起動します。

sudo apachectl restart

「http://localhost/trac」にアクセスして動作が確認できれば成功です。

Snow Leopard を上書きインストールした場合の fink の update 手順

以下の手順は 32bit モードで起動している場合の手順です。

  • 「/sw/etc/fink.conf」ファイルを開いて末尾に「NoAutoIndex: true」を追加
  • sudo fink index -f
  • sudo fink reinstall fink
  • sudo fink update fink
  • sudo fink install perl588-core

必要に応じて設定を変更します。設定の変更は以下のコマンドで実施します。

  • sudo fink configure

パッケージに関してはテストがまだ完全ではないため一部は上手く動作しない物も存在しますが徐々に対応されるでしょう。

2009年9月5日

Mac Python2.6.2 Universal Binary のビルド

本家で配布されている Python2.6.2 には x86_64 のバイナリが含まれない。
自分で作成する場合の Python2.6.2 Universal Binary の作成手順。

curl -O http://www.python.org/ftp/python/2.6.2/Python-2.6.2.tar.bz2
tar xvfj Python-2.6.2.tar.bz2
cd Python-2.6.2
unset DYLD_LIBRARY_PATH
unset LD_LIBRARY_PATH
./configure --enable-framework --enable-universalsdk=/ MACOSX_DEPLOYMENT_TARGET=10.5 --with-universal-archs=all --with-readline-dir=/usr/local --with-threads --with-gcc=gcc-4.0 CC=gcc-4.0 CXX=g++-4.0
make
sudo make frameworkinstall
sudo ln -s /Library/Frameworks/Python.framework/Versions/2.6/bin/python /usr/local/bin/python
file /Library/Frameworks/Python.framework/Versions/2.6/Python