Popplerをインストール

PDFをスクレイピングするライブラリです。

ダウンロード

popplerとpoppler-dataの両方が必要です。
(poppler-dataパッケージを入れないと日本語が扱えないらしい)
http://poppler.freedesktop.org/

導入

いつもどおり、解凍・コンパイル・インストールするだけです。

sakura% mkdir -p local/src
sakura% tar -xvzf poppler-0.8.2.tar.gz
sakura% cd poppler-0.8.2
sakura% ./configure -prefix=$HOME/local
sakura% make
sakura% make install
sakura% cd ../
sakura% tar -xvzf poppler-data-0.2.0.tar.gz
sakura% cd poppler-data-0.2.0
sakura% make install datadir=$HOME/local/share

使い方

sakura% ~/local/bin/pdftohtml -noframes -enc UTF-8 example.pdf

オプション

-enc 出力HTMLの文字コードの指定
-noframes フレームを使わず、1つのHTMLにまとめる
-c 画像でテーブルなどを表示する

各種botについて (改訂版)

としまえんぼっと」「いわきぼっと」「ねりまぼっと」の作者は私です。

としまえんぼっと (としまえんbot)

http://twitter.com/toshimaen_bot

  • 「豊島園」「としまえん」という言葉に反応します。
  • 作者は豊島園を愛しています。
  • ミラトレの豊島園先輩はイケメンだと思います。

いわきぼっと (いわきbot)

http://twitter.com/iwaki_bot

  • 「いわき」という言葉に反応します。
  • 作者は故郷いわきを誇りに思っています。
  • 「やる気元気いわき」というフレーズの根強い人気に驚いています。

ねりまぼっと (練馬bot)

http://twitter.com/nerima_bot

  • 「練馬」という言葉に反応します。
  • 作者は東京23区で練馬区がいちばん好きです。
  • 最初から公式RTを使っているのでフォローは増えないと思います。

各種botの挙動について

特定のキーワードに反応して、その内容を引用してつぶやきます。
以前までは非公式RTを使用していましたが、OAuth移行のタイミングで完全に公式RTに切り替えました。公式RTはユーザに引用したことが通知されず、フォロー数が全く増えないのが気がかりです。。。
なお検索は、下記のAPIを使用させていただいております。感謝しております。
http://pcod.no-ip.org/yats/
2バイト文字の検索がまともにできない公式のAPIなんか、今後も絶対に使いません。

フォロー返しについて

フォローして下さった方をフォロー返しさせていただきます。
また、一方通行になってしまったフォローは一定期間経過後、解除する場合があります。
(フォロー2000件制限のため)

最後に

ユーザ様のTwitter生活を妨げないような配慮はしているつもりです。
ご意見やご質問、苦情などありましたら、こちらのブログまたはTwitterで@oosukaまでご連絡ください。
単純なロジックのbotですが、これからも宜しくお願いします。

各種botについて

予想に反してフォロー数も多くなってきたので、ここで情報をまとめます。
としまえんぼっと」「いわきぼっと」の作者は私です。

としまえんぼっと (としまえんbot)

http://twitter.com/toshimaen_bot

  • 「豊島園」「としまえん」という言葉に反応します。
  • 作者は豊島園を愛しています。
  • ミラトレの豊島園先輩はイケメンだと思います。

いわきぼっと (いわきbot)

http://twitter.com/iwaki_bot

  • 「いわき」という言葉に反応します。
  • 作者は故郷いわきを誇りに思っています。
  • 「やる気元気いわき」というフレーズの根強い人気に驚いています。

各種botの挙動について

特定のキーワードに反応して、その内容を引用してつぶやきます。
引用元のユーザ名も表示しますが@は付加しません。
また、@を含む投稿も引用しません。
どちらも、ユーザのMentionsに入ってしまうのを防ぐためです。
ただし、botの存在と引用通知も兼ねてそのユーザを自動フォローします。

【2010/03/28 追記】
本日、フォロー数2000人制限を超えてしまったため、
発言を引用したことを通知する手段が無くなってしまいました。
よって、ID名に「.@」を付加することにしました。
今まで「都度リプライ(Mentions)に通知されてしまうのはウザい」
というポリシーで運用していましたが、さすがに無断引用は気が引けます。。。
苦情などは、このブログや@oosukaまでお願い致します。

botのタイムランは閲覧しておりませんが、気になる方はブロックをお願いします。
たまに、他のbotの発言によりbot同士の投稿ループに入ってしまうようです。
既に対策はしておりますが、引き続き有効策を練っているところです。
最近アフィリエイトのURLなどを付加するbotがあるようですが、その様な行為を行う予定は全くございません。

最後に

上島珈琲が謝罪 ツイッターで大量の宣伝文送信
このニュースは、bot作者として、とても他人事とは思えませんでした。
挙動の説明にもあるように、ユーザのTwitter生活を妨げないような配慮はしているつもりです。
ご意見やご質問、苦情などありましたら、こちらのブログまたはTwitterで@oosukaまでご連絡ください。
単純なロジックのbotですが、これからも宜しくお願いします。

「としまえんBot」を作ってみました

せっかくレンタルサーバを借りたので、TwitterBotというものを作ってみました。
何の役にも立ちませんが運用していきたいと思います。
もし苦情などあれば@oosukaまでよろしくお願いします。

としまえんBot

http://twitter.com/toshimaen_bot

  • 「豊島園」「としまえん」という言葉に反応して、その内容をつぶやきます。
  • 引用元のユーザ様を自動でフォローします。(うざかったらブロックしてください)
  • @を含む文章は引用しません。(Mentionsに入るのを防ぐため)
  • バグがたくさんあるかもしれません。(気づき次第すぐに修正します)
  • 作者は豊島園を愛しています。
【追記】
まさか、Twitterの検索機能がこんなにバギーだとは思いませんでした!
「としまえん」で検索するとNG「としまえ」で検索するとOKなパターンが多いです。
よって、「としまえ」で検索して抽出した文章に「としまえん」が含まれていればOK。
というロジックにしました。

また、OR検索とsince_idの組み合わせが非常に悪いです。
結果をリアルタイムで持ってきてくれません。
よって、OR検索は使用せずに別々に動かしています。
(OR検索が悪いのではなく、時間帯が悪いのかもしれません)

とても気持ち悪いので、はやく直って欲しいです。
【追記の追記】
since_id使うのやめました!だって、しょっちゅう空で返ってくるんだもん。
cURLなんて古典的な方法が悪いのかな・・・。
けどオフィシャルではcURLを推奨してるんですよね。

なお、後輩からのアドバイスで「日本語検索なら、yatsを使った方がいいですよ」とのこと。

twitter検索
http://pcod.no-ip.org/yats/

Gitを導入

何かと話題のGitを導入してみました。
ソース管理どころか、まだ何も書いてないのですが。。。

Gitのダウンロードと解凍

以前作成したsrcディレクトリに移動して、Gitをダウンロードします。
下記サイトから最新っぽいソースを選びます。
http://kernel.org/pub/software/scm/git/
その後、解凍します。

sakura% cd ~/local/src/
sakura% wget http://kernel.org/pub/software/scm/git/git-1.6.6.tar.bz2
sakura% tar -xjvf git-1.6.6.tar.bz2 

インストール

いつもの感じでインストールです。
注意しなければならないのは、コンパイルはmakeじゃなくてgmakeを使用することです。

sakura% cd git-1.6.6
sakura% ./configure --prefix=$HOME/local
sakura% gmake
sakura% gmake install

リポジトリ作成とコミット

導入がサクっと終わってしまったので、さっそくリポジトリの作成と、最初のコミットをしてみます。

sakura% cd
sakura% mkdir git
sakura% cd git/
sakura% echo "This is my git repository" > README
sakura% git init
sakura% git add README 
sakura% git commit -m "first commit"

最初のコミットが完了しました。
あとは、ゆっくりコマンドを覚えていきますか。

vimをインストール

エディタはやっぱりvim
ということで、vimをインストールします。

vimをダウンロード

ディレクトリを作成して、vimをダウンロードします。
下記サイトから最新っぽいソースを選びます。
ftp://ftp.vim.org/pub/vim/unix/

sakura% mkdir -p local/src
sakura% cd local/src/
sakura% wget ftp://ftp.vim.org/pub/vim/unix/vim-7.2.tar.bz2
sakura% wget ftp://ftp.vim.org/pub/vim/extra/vim-7.2-extra.tar.gz
sakura% wget ftp://ftp.vim.org/pub/vim/extra/vim-7.2-lang.tar.gz

解凍

解凍した後、作成されたディレクトリに移動します。

sakura% tar jxf vim-7.2.tar.bz2 
sakura% tar zxf vim-7.2-extra.tar.gz 
sakura% tar zxf vim-7.2-lang.tar.gz
sakura% cd vim72/

パッチの取得

ディレクトリを作成して、パッチを取得します。
下記にアクセスして、最終のパッチ番号を確認します。
ftp://ftp.vim.org/pub/vim/patches/7.2/
この時点の最終パッチ番号は"320"だったので、001-320までを全て記述します。

sakura% mkdir patches
sakura% cd patches/
sakura% curl -O 'ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.[001-320]'

パッチの適用

上に戻って、パッチを適用します。

sakura% cd ../
sakura% cat patches/7.2.* | patch -p0

オプション設定とインストール

必要なオプションを記述します。
正直、他の方々が指定しているオプションをそのまま指定しました。
一応、下記のような感じらしいです。

--enable-multibyte マルチバイト表示
--enable-xim マルチバイト表示
--enable-fontset マルチバイト表示
--with-features=big 多くの機能を有効に
--prefix=$HOME/local インストール先の指定

その後、コンパイルしてインストールします。
これで、~/local/binにvimが入ります。

sakura% ./configure --enable-multibyte --enable-xim --enable-fontset --with-features=big --prefix=$HOME/local
sakura% make
sakura% make install

sakura% cd local/bin/
sakura% ls -alt
total 1430
drwxr-xr-x  2 oosuka  users      512 Dec 18 01:51 .
lrwxr-xr-x  1 oosuka  users        3 Dec 18 01:51 ex -> vim
lrwxr-xr-x  1 oosuka  users        3 Dec 18 01:51 rview -> vim
lrwxr-xr-x  1 oosuka  users        3 Dec 18 01:51 rvim -> vim
lrwxr-xr-x  1 oosuka  users        3 Dec 18 01:51 view -> vim
lrwxr-xr-x  1 oosuka  users        3 Dec 18 01:51 vimdiff -> vim
-rwxr-xr-x  1 oosuka  users    14284 Dec 18 01:51 xxd
drwxr-xr-x  5 oosuka  users      512 Dec 18 01:51 ..
-rwxr-xr-x  1 oosuka  users  1419676 Dec 18 01:51 vim
-rwxr-xr-x  1 oosuka  users     2084 Dec 18 01:51 vimtutor

PATHの設定

今回作成したlocalディレクトリにPATHを通します。
ついでに、環境変数LANGにUTF-8を指定します。

sakura% vi .bash_profile 

if [ -f ~/.bashrc ]; then
    source ~/.bashrc
fi
 
export PATH="$HOME/local/bin:$PATH"
export LANG=ja_JP.UTF-8

シェルをbashに変更

さくらのサーバのデフォルトのシェルはcshのようです。
仕事で使い慣れているbashに変更します。

シェルの変更

ログイン時のシェルを変更します。

sakura% chsh -s /usr/local/bin/bash

.bash_profileの作成

sakura% vi ~/.bash_profile

ひとまずこんな感じです。

if [ -f ~/.bashrc ]; then
    source ~/.bashrc
fi

.bashrcの作成

vi ~/.bashrc

とりあえず最低限のものだけ。どんどん充実させていきたいです。

alias cp='cp -i'
alias mv='mv -i'
alias rm='rm -i'

これで、デフォルトのシェルがbashになりました。