2010-04 / 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30

2010-04-29 (木)

StatusNet のセッションが異常に短い [StatusNet]

Debian squeeze は問題ないのですが、Debian lenny ではすぐログアウト
する問題に悩まされていました。セッションが短いと、こうなるそうです。

/etc/cron.d/php5 を以下のように修正して解決しました。

修正前

09,39 * * * * root [ -x /usr/lib/php5/maxlifetime ] && [ -d /var/lib/php5 ] && find /var/lib/php5/ -type f -cmin +$(/usr/lib/php5/maxlifetime) -print0 | xargs -n 200 -r -0 rm

修正後

00 6 10,20,30 * * root [ -x /usr/lib/php5/maxlifetime ] && [ -d /var/lib/php5 ] && find /var/lib/php5/ -type f -cmin +$(/usr/lib/php5/maxlifetime) -print0 | xargs -n 200 -r -0 rm


セッションの削除を毎時 9,39 分から、毎月 10,20,30 日の 6:00 に変更
しました。数十人くらいしか使わない環境なので、設定は適当です。

PHP のセッションは session.gc_divisor, session.gc_maxlifetime,
session.gc_probability が関係しているそうです。これは以下の cgi で
確認できます。

<?php phpinfo(); ?>



Debian Lenny はこのような設定でした。

session.gc_divisor100
session.gc_maxlifetime1440
session.gc_probability0
session.gc_probability/session.gc_divisor = 0/100 = 0

0 だと PHP からはセッションの削除はしないそうです。

結論


Debian Lenny は、cron が 30 分おきに PHP のセッションを削除する。
cron の設定を変えることで、これを制御できる。

参考情報:
セッション(session)の有効期限を設定するには - spanstyle::monolog

StatusNet インストーラのバグ [StatusNet]

[2010-04-18-1] の補完。

後日ネットを彷徨っていたら、こんなページを見つけました。(良く知った
方もいらっしゃいます。)

どうやら statusnet-0.9.1 のインストーラにはバグがあるようです。ただ
し PHP のバージョンによっては発生しないそうです。実際 5.3.2-1 で発
生しましたが、5.2.6-1+lenny では発生しませんでした。

インストールが途中で止まった 5.3.2-1 はその後も
/var/log/apache2/error.log にこんなログが吐かれ続けていました。

[Sun Apr 25 14:42:15 2010] [error] [client 192.168.1.11] PHP Warning: Parameter 1 to RSSCloudPlugin::onRouterInitialized() expected to be a reference, value given in /var/www/statusnet/lib/event.php on line 105


気持ち悪いので、前述のページからリンクされていた以下のパッチを当て
ました。

--- orig/statusnet-0.9.1/plugins/RSSCloud/RSSCloudPlugin.php	2010-03-29 00:39:56.000000000 +0900
+++ statusnet-0.9.1/plugins/RSSCloud/RSSCloudPlugin.php	2010-04-25 16:48:46.000000000 +0900
@@ -105,7 +105,7 @@
      * @return boolean hook return
      */

-    function onRouterInitialized(&$m)
+    function onRouterInitialized($m)
     {
         $m->connect('/main/rsscloud/request_notify',
                     array('action' => 'RSSCloudRequestNotify'));



追記(2010-05-08):
0.9.2 で修正されたことを確認しました。

この記事に言及しているこのブログ内の記事

StatusNet のおかしな日本語 [StatusNet]

例えば誰かにフォローされるとこんな件名のメールが飛んできます。

誰かさん は StatusNet であなたのつぶやきを聞いています。


ちょっと気持ち悪いです...。

locale/ja/LC_MESSAGES/statusnet.po にはこのように書いてありました。
翻訳ソフトか何かを使ったのでしょうか。

msgid "%1$s is now listening to your notices on %2$s."
msgstr "%1$s は %2$s であなたのつぶやきを聞いています。"


以下に変更し、

msgstr "%1$s は %2$s であなたをフォローしました。"

msgfmt コマンドで .mo ファイルに変換しました。

% msgfmt -o statusnet.mo statusnet.po


※ Debian Lenny では msgfmt は gettext パッケージに含まれています。

Git コマンドまとめ [Git]

個人的なメモ。ページ番号は「入門 Git」より。

P21

# グローバル変数の確認
% git config --global --list

# グローバル変数に自分の名前とメールアドレスを追加
% git config --global user.name "Takashi Masuda"
% git config --global user.email "masutaka.net@gmail.com"

# 大半の出力に色づけ
% git config --global color.ui true

# グローバル変数とローカル変数の確認
% git config --list


P42

# コミットのための対話的なステージング
% git add -i


% git pull
% git pull git://github.com/hayamiz/twittering-mode.git master


git pull と同じ意味

% git fetch
% git merge origin/master


% git push --dry-run git@github.com:masutaka/twittering-mode.git
% git push git@github.com:masutaka/twittering-mode.git


mergeしてコンフリクトが発生し、面倒で止めたくなったらこれ。

% git reset --hard ORIG_HEAD


ローカルで rm したファイルの復活

# ファイルを指定
% git checkout hoge/huga/hogehoge.txt
or
# 全ファイル(編集したファイルも上書きするので超危険なコマンド!!)
% git checkout .


git log はこれらのコマンドをよく使う

# 修正したファイル名とログメッセージを参照
% git log --stat --summary

# 修正した差分を全て表示
% git log -p

# Author, Committer 両方の名前を表示
git log --pretty=full


リポジトリ自体のクローン(git でのリポジトリのコピーがこれという認識)

% git clone --bare rep.git rep2.git


直前のコミットログの訂正

% git commit --amend


直前のコミットの取り止め。git add した直後の Staging 状態になる。

% git reset --soft 'HEAD^1'


直前のコミットの削除。危険。

% git reset --hard 'HEAD^1'


リモートリポジトリの場所

% git remote -v


リネームしたファイルを追跡した diff

% git diff -M
% git log -p -M


特定リビジョンのファイルの中身を確認

% git show リビジョン:ファイルパス


http://blog.ecworks.jp/archives/1145
http://d.hatena.ne.jp/Ubuntu/20081023/github


この記事に言及しているこのブログ内の記事

2010-04-23 (金)

Firefox アドオン KeySnail から StatusNet を使おう [StatusNet][KeySnail][Firefox]

[2010-04-18-7] の補完です。

statusnet は http://example.com/statusnet/ に構築し、
[2010-04-18-3] の Fancy URLs の設定を行ったものとします。

KeySnail でツイートすることも出来ます。以下を .keysnail.js にコピペ
すれば、"C-c t" または "C-c C-t" でツイートできます。

key.setGlobalKey([['C-c', 't'], ['C-c', 'C-t']], function (aEvent) {
    prompt.read("tweet:", function (aTweet) {
        var username = "アカウント";
        var password = "パスワード";
        var xhr = new XMLHttpRequest;
        xhr.open("POST", "http://example.com/statusnet/api/statuses/update.json", false, username, password);
        xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
        xhr.setRequestHeader("X-Twitter-Client", "KeySnail");
        xhr.setRequestHeader("X-Twitter-Client-Version", "0.1");
        xhr.send("status=" + aTweet);
    });
}, 'Twitter投稿');



いろんな意味で本家の "C-c t" に遠く及ばないです。とりあえずツイート
出来るよといったレベルです。"C-c T" の「このページのタイトルと URL
を使ってつぶやく」の実装もまだです。

出来れば、オリジナルの Yet Another Twitter Client KeySnail を修正
する方向で実装したいですねえ。Twitter アカウントがあれば、オフィシャ
ルな StatusNet のサイト https://identi.ca/ にログイン出来ます。誰か
試してー。^^;

参考情報:
Firefox via KeySnailでtwitterに投稿するjavascript

この記事に言及しているこのブログ内の記事

2010-04-18 (日)

Firefox アドオン Identifox から StatusNet を使おう [StatusNet][Firefox]

StatusNet のデモサイト https://identi.ca/ 用のクライアント
Identifox を少し修正すると、イントラネットに構築した StatusNet でも
使えます。

statusnet は http://example.com/statusnet/ に構築し、
[2010-04-18-3] の Fancy URLs の設定を行ったものとします。

Identifox


Firefox 用アドオンです。ある時点の Ecofon を StatusNet 用にポーティ
ングしたようです。

https://identi.ca/api/ がハードコーディングされているので、
identifox-0.9-fx.xpi を zip 伸長し、以下のような修正を加え、
また zip 圧縮します。

--- orig/identifox-0.9-fx/components/nsIdenticaNotifier.js	2009-03-09 03:15:06.000000000 +0900
+++ identifox-0.9-fx/components/nsIdenticaNotifier.js	2010-04-18 17:18:38.000000000 +0900
@@ -17,7 +17,7 @@
 var insert_status_stmt = null;
 var find_status_stmt = null;

-const IDENTICA_API_URL = "https://identi.ca/api/";
+const IDENTICA_API_URL = "http://example.com/statusnet/api/";
 const NETWORK_TIMEOUT_TIME = 120;
 const APP_NAME = "IdentiFox";



他にも KeySnailtwittering-mode が使えそうですが、まだ調査中です。

参考情報:
Web Apps|StatusNet
Twmode

追記(2010-04-23):
[2010-04-23-1] に KeySnail の記事をアップしました。まだ暫定です。

StatusNet クリーンルーム特有の問題 [StatusNet]

StatusNet は一部、インターネットサービスにアクセスする箇所があるの
で、私がクリーンルームに設置した時はいくつかエラーが発生しました。

参考までに、情報と対策をまとめておきます。

続きを読む

StatusNet SMTP の設定 [StatusNet]

フォローされた時や、お気に入りに追加された時に、ユーザにメール通知
されるようになるので、SMTP の設定をすると良いでしょう。パスワードを
忘れた時にユーザが再発行手続きを行えるので、メンテナンスコストも下
がります。

以下は認証なしの SMTP サーバの場合です。config.php に追記します。

// Email info, used for all outbound email
$config['mail']['notifyfrom'] = 'noreply@example.com';

// Domain for generating no-reply and incoming email addresses, if enabled.
// Defaults to site server name.
$config['mail']['domain'] = 'example.com';

// See http://pear.php.net/manual/en/package.mail.mail.factory.php for options
$config['mail']['backend'] = 'smtp';
$config['mail']['params'] = array(
        'host' => 'SmtpServerName',
        'port' => 25,
        );



$config['mail']['notifyfrom'] は StatusNet が送るメールの From: に
なります。適当に設定してください。

私が設置したクリーンルームでは、メールヘッダが常に文字化けしてしま
いました。メールサーバが怪しげな変換をしているようなんですが、そも
そも StatusNet がメールヘッダの MIME ENCODE をしていないことが原因
です。

適当なパッチを作りましたので、もし困っていたらご利用下さい。

続きを読む

StatusNet のカスタマイズ [StatusNet]

設定はある程度 Web から出来ますが、出来ない設定も多いです。
そんな場合は config.php を修正しましょう。

私は以下の設定をしました。

$config['attachments']['uploads'] = false;

→必要になったら ON にすれば良いと思うので、添付ファイルは OFF にし
ました。

$config['location']['share'] = 'never';

→ツイートしたときに、常に「狛江市, 東京都, 日本」と挿入されるので
OFF にしました。今回設置したのはクリーンルームだったので、そもそも
位置情報が不要です。

その他の設定は config.php.sample が参考になると思います。ただ、ここ
にも載っていない設定があるので、*.php を common_config 等で grep す
る必要があるかもしれません。

StatusNet Fancy URLs の設定 [StatusNet]

Fancy URLs を設定すると、URL から index.php がなくなります。
クールな URL を実現するためにも、是非設定しましょう。

設定は比較的簡単です。

1. .htaccess を作成します。

statusnet 直下の htaccess.sample を .htaccess という名前で保存し、
修正します。以下は http://example.com/statusnet/ というサイトの場合です。

--- /var/www/statusnet/htaccess.sample	2010-03-29 00:39:56.000000000 +0900
+++ /var/www/statusnet/.htaccess	2010-04-13 01:36:37.000000000 +0900
@@ -7,7 +7,7 @@
   #   http://example.com/        => /
   #   http://example.com/mublog/ => /mublog/
   #
-  RewriteBase /mublog/
+  RewriteBase /statusnet/

   ## Uncomment these if having trouble with API authentication
   ## when PHP is running in CGI or FastCGI mode.



http://example.com/statusnet/<AdministratorNickname>/all に
アクセス出来ることを確認しましょう。

<AdministratorNickname> は [2010-04-18-1] の通りに設定した場合、
root になります。

アクセス出来ない場合は、mod_rewrite が有効でないのかもしれません。
[2010-04-13-1] を参考にしてみてください。

2. Fancy URLs を有効にします。

管理者権限(今回は root)でログインし、Admin → パスに進みます。
Fancy URLs にチェックを入れれば有効になります。

上のメニューにある Personal や Admin へのリンク先から "index.php"
が消えたはずです。

また、以降の各ツイートや各グループへのリンクからも "index.php" が消
えます。これらは MySQL のデータベースに直に書かれるので、Fancy
URLs は早めに設定することをオススメします。

参考情報:
statusnet-0.9.x.tar.gz の README
ブログを作る際のクールなURLを考える - Open MagicVox.net

StatusNet のログイン画面を日本語にする [StatusNet]

Admin → Site の Default language を日本語にするだけではログイン画
面は日本語になりませんでした。ブラウザ側の言語設定によるそうですが、
少なくとも Firefox-3.5.8 は日本語になりませんでした。

language.php を修正します。すぐにログイン画面が日本語になります。

--- orig/statusnet-0.9.1/lib/language.php	2010-03-29 00:39:56.000000000 +0900
+++ statusnet-0.9.1/lib/language.php	2010-04-12 13:20:56.000000000 +0900
@@ -307,6 +307,7 @@
         'ia'      => array('q' => 0.8, 'lang' => 'ia', 'name' => 'Interlingua', 'direction' => 'ltr'),
         'is'      => array('q' => 0.1, 'lang' => 'is', 'name' => 'Icelandic', 'direction' => 'ltr'),
         'it'      => array('q' => 1, 'lang' => 'it', 'name' => 'Italian', 'direction' => 'ltr'),
+        'ja'      => array('q' => 0.5, 'lang' => 'ja', 'name' => 'Japanese', 'direction' => 'ltr'),
         'jp'      => array('q' => 0.5, 'lang' => 'ja', 'name' => 'Japanese', 'direction' => 'ltr'),
         'ko'      => array('q' => 0.9, 'lang' => 'ko',    'name' => 'Korean', 'direction' => 'ltr'),
         'mk'      => array('q' => 0.5, 'lang' => 'mk', 'name' => 'Macedonian', 'direction' => 'ltr'),



参考情報:
Twitter Clone なStatusNet を入れてみる - matoken’s meme -hatena-

StatusNet の構築 [StatusNet]

[2010-04-11-1] の補完。

Debian squeeze でのイントラネット版 Twitter「StatusNet」の構築方法
をまとめます。

構築の前に


StatusNet は PHP で書かれているので、以下のような基本的な PHP スク
リプトが Web サーバ上で動くことを確認しておきます。

<?php phpinfo(); ?>



構築手順


※ "#" は root での作業、"%" は一般ユーザでの作業です。

1. http://status.net/ から tar ball を落とし、/var/www に展開します。


# cd /var/www
# tar xzf statusnet-0.9.1.tar.gz


2. リネームします。


# mv statusnet-0.9.1 statusnet


3. アクセス権を適切に設定します。


# cd statusnet
# chown -R root:root .
# chown www-data:www-data . avatar background file


4. MySQL の DB を作成します。


% mysql -u root -p
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 1292
Server version: 5.1.45-1 (Debian)

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
+--------------------+
2 rows in set (0.00 sec)

mysql> create database statusnet;
Query OK, 1 row affected (0.00 sec)

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| statusnet          |
+--------------------+
3 rows in set (0.00 sec)

mysql> grant all privileges on statusnet.* to statusnetuser@localhost identified by 'statusnetpassword';
Query OK, 0 rows affected (0.00 sec)

mysql> exit;
Bye



5. http://<インストールするマシン名>/statusnet/install.php にアクセスします。


以下を参考に StatusNet の設定をします。

設定名
Site nameHoge StatusNet
Fancy URLsdisable
Hostnamelocalhost
TypeMySQL
Namestatusnet(※1)
DB usernamestatusnetuser(※1)
DB passwordstatusnetpassword(※1)
Administrator nicknameroot(※2)
Administrator passwordrootpassword(※2)
Subscribe to announcementsチェック
(※1) 4 で設定した DB 名やユーザ名を入力します。
(※2) これが StatusNet の管理者アカウントになります。

6. 問題なくインストール完了


インストーラにバグがあるのか、今回はここで止まってしまいましたが、
http://<インストールするマシン名>/statusnet/ には問題なくアクセスで
きたので、まあ良しとします。

Install StatusNet
・Starting installation...
・Checking database...
・Changing to database...
・Running database script...
・Adding SMS carrier data to database...
・Adding notice source data to database...
・Adding foreign service data to database...
・Writing config file...


curl や gd、mysql 関連のエラーが出たら、該当のパッケージをインストー
ルし、Apache を再起動してください。

# /etc/init.d/apache2 restart


私の場合は php5-curl, php5-gd, php5-mysql をインストールする必要が
ありました。

参考情報:
statusnet-0.9.x.tar.gz の README

この日に言及しているこのブログ内の記事

2010-04-13 (火)

Debian squeeze での mod_rewrite 有効方法 [Apache][Debian]

http://localhost/hoge/ で .htaccess から mod_rewrite を使う方法。

root になって a2enmod で有効にする。

# a2enmod rewrite


これだけで使えない場合は、.htaccess の読み込みが許可されていない場
合が多い。というか私がそうだった。

/etc/apache2/sites-available/default を以下のように修正。

修正前

<Directory /var/www/>
	Options Indexes FollowSymLinks MultiViews
	AllowOverride None
	Order allow,deny
	allow from all
</Directory>


修正後

<Directory /var/www/>
	Options Indexes FollowSymLinks MultiViews
	AllowOverride FileInfo Options
	Order allow,deny
	allow from all
</Directory>



.htaccess が読み込まれているか否かは、必ずエラーが発生する内容にし
て試せば良いと思う。

mod_rewrite とは関係なくなってしまうが、.htaccess の以下のような
Order を許可するには AllowOverride の行に Limit を続けて書けば良い。

<FilesMatch "\.(ini)">
  Order allow,deny
</FilesMatch>



参考情報: AllowOverride ディレクティブ - Apache コア機能

この記事に言及しているこのブログ内の記事

2010-04-11 (日)

「しゃべる」と「StatusNet」を比較した [Twitter][StatusNet]

某所で「社内マイクロブログ しゃべる」をテスト稼働していますが、不満
な点があるので @fortunan オススメの「StatusNet」を試してみました。
どちらもいわゆるイントラネット版 Twitter です。

まずは両者の比較です。

しゃべるStatusNet
言語JavaPHP
データベースしゃべる付属の MySQLMySQL or pgsql
インストールパッケージ(msi,rpm,deb)からtar ball を展開し、Web サーバ上で動作させる
ユーザ登録管理者権限で作成ユーザ権限でも作成可(※1)
まとめてユーザ登録csv からインポート可能ユーザが自由に作れるので、実質必要なし
言語対応日本語のみサポート多言語サポート
検索出来ない(※2)出来るが、日本語検索がやや怪しい
ReTweet非サポート公式 RT が出来る
ハッシュタグ非サポートサポート
開発状況2009.3 から停止状態活発
クライアントP3fSV:PeraPeraPrv for ShovelIdentifox(※3)
(※1) 試してないが LDAP プラグインが同封されている。
(※2) 「エンタープライズサーチ どこかな?」はこれを補うツールではある
      が、doko-0.5.0 では shovel-0.9.12 のクロールが出来ないため、
      実質検索できない。
(※3) nsIdenticaNotifier.js に書いてある IDENTICA_API_URL を自サイト
      に変更すれば使えます。[2010-04-18-7]

「しゃべる」は言語が Java で且つ開発が停止しているので、バグがあっ
たら諦めるしかありません。その点、「StatusNet」は PHP で書かれてい
るので、例え開発が停止してもなんとかなります。これだけの理由で
「StatusNet」に軍配が上がるでしょう。

実際、「しゃべる」にはバグらしきものが確認されています。

▼時々ログインできなくなることがあり、Admin 権限でも対応できない。
  → 2010.3.9 に開発元に問い合わせたが、今のところ返信なし。現状、
     例えば masutaka アカウントを破棄し、masutaka2 アカウントを発
     行して凌いでいる。
▼時々「しゃべる」からの応答がなくなり、再起動が必要になることがある。
  → cron で毎日深夜 3 時に再起動するようにした。

機能面から見ても「StatusNet」は勝っているので、これを導入することに
なりそうです。構築編は後日アップします。

追記(2010-04-17):
StatusNet のクライアントは Identifox が使えたので、記事を修正しまし
た。他、KeySnail や twittering-mode も使えないか調べているところです。

追記(2010-04-18):
構築編をアップしました。→ [2010-04-18]

この記事に言及しているこのブログ内の記事

2010-04 / 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30

最終更新時間: 2017-10-23 00:08

検索


最近の話題
- 2017-10-22
  github-nippou を golang で書き換えて v4.0.1 リリースしてました
- 2017-10-21
  async.el 使ったら helm-github-stars.el を変更せずに非同期化できた
- 2017-10-15
  golang の並列処理を Ruby と比較しながら学ぶ
- 2017-09-24
  『応仁の乱』を読んだ
- 2017-08-31
  ZenHub と GitHub の Issue/PR URL をトグルするブックマークレットを作った
- 2017-08-07
  github-nippou v3.0.0 released
- 2017-08-02
  『サーバーレスシングルページアプリケーション』を読んだ
最近追記された記事
- 2017-06-02-1 (114日前)
- 2017-04-29-1 (176日前)
- 2017-04-13-1 (190日前)
- 2017-04-13-1 (192日前)
- 2017-03-02-1 (234日前)
- 2017-02-25-1 (239日前)
- 2017-02-21-1 (243日前)
- 2015-06-07-1 (249日前)
- 2016-10-19-1 (258日前)
- 2016-01-01-1 (270日前)
カテゴリ
- Anthy (3)
- Apache (11)
- Apple (1)
- ATOK (4)
- au (3)
- AWS (19)
- Bazaar (1)
- Berkshelf (2)
- BigQuery (1)
- BitBar (3)
- Book (88)
- Boxen (2)
- Bugsnag (1)
- capistrano (4)
- chalow (56)
- ChatWork (1)
- Chef (17)
- Chrome (3)
- Chromecast (1)
- CircleCI (10)
- clang (26)
- Comics (2)
- Cooking (10)
- cvs (15)
- cygwin (12)
- D3.js (1)
- Debian (55)
- Docker (3)
- E-mail (8)
- elasticsearch (4)
- Emacs (221)
- Emacs講座 (10)
- English (4)
- feedforce (7)
- fetchmail (3)
- Firefox (20)
- Fluentd (4)
- ftp (1)
- Game (20)
- GCP (1)
- Gem (5)
- Git (9)
- GitHub (19)
- golang (7)
- Google (1)
- gpg (4)
- GrowthForecast (7)
- Health (3)
- Heroku (9)
- Homebrew (10)
- HTML (6)
- iBook (1)
- iPhone (15)
- IRC (1)
- Jenkins (8)
- JS (1)
- Karabiner (1)
- KeySnail (3)
- Kibana (1)
- Kindle (1)
- Kubernetes (2)
- Langrich (7)
- LDAP (6)
- Life (19)
- Linux (6)
- Mackerel (1)
- Mew (18)
- MongoDB (1)
- Mozilla (19)
- Music (1)
- MySQL (1)
- NAS (4)
- nginx (6)
- NHK (1)
- Node (1)
- ntp (4)
- OOP (1)
- OpenID (2)
- openssl (1)
- Opera (2)
- OSX (41)
- Perl (14)
- PHP (19)
- PostgreSQL (1)
- procmail (4)
- Programing (3)
- Puppet (1)
- Python (2)
- Rails (12)
- Rake (2)
- RaspberryPi (1)
- RedHat (29)
- Redmine (3)
- Rspec (1)
- Ruby (50)
- samba (3)
- screen (7)
- sed (5)
- serverspec (6)
- sh (8)
- Slack (2)
- Solaris9 (22)
- Spring (2)
- ssh (4)
- StatusNet (21)
- svn (12)
- Swift (1)
- Tablet (1)
- tdiary (3)
- Twitter (14)
- Twmode (6)
- Ubuntu (5)
- UNIX (102)
- vagrant (8)
- Video (21)
- vim (1)
- Wercker (9)
- Windows (29)
- Wine (3)
- XML (11)
- XP (1)
- zsh (25)
- インストールメモ (33)
- クイックシェイプ (12)
- ネタ (15)
- 勉強会 (15)
- 携帯 (6)
- 正規表現 (4)
過去ログ
2017 : 01 02 03 04 05 06 07 08 09 10 11 12
2016 : 01 02 03 04 05 06 07 08 09 10 11 12
2015 : 01 02 03 04 05 06 07 08 09 10 11 12
2014 : 01 02 03 04 05 06 07 08 09 10 11 12
2013 : 01 02 03 04 05 06 07 08 09 10 11 12
2012 : 01 02 03 04 05 06 07 08 09 10 11 12
2011 : 01 02 03 04 05 06 07 08 09 10 11 12
2010 : 01 02 03 04 05 06 07 08 09 10 11 12
2009 : 01 02 03 04 05 06 07 08 09 10 11 12
2008 : 01 02 03 04 05 06 07 08 09 10 11 12
2007 : 01 02 03 04 05 06 07 08 09 10 11 12
2006 : 01 02 03 04 05 06 07 08 09 10 11 12
2005 : 01 02 03 04 05 06 07 08 09 10 11 12
2004 : 01 02 03 04 05 06 07 08 09 10 11 12
2003 : 01 02 03 04 05 06 07 08 09 10 11 12
2002 : 01 02 03 04 05 06 07 08 09 10 11 12
2001 : 01 02 03 04 05 06 07 08 09 10 11 12
Google+