(お知らせ) はてなブログに移行しました

年単位で放置していたはてなダイアリーですが、サービス終了とのことなので、はてなブログに移動させました。

旧ページからのリダイレクトなどの設定を有効にしているため、変なことが起こるかもしれませんが、ご了承ください。

SciPyとその仲間たち(NumPy, IPython など)の違いと関係

python でちょっとした信号処理をしたくて、存在だけは以前から知っていた numpy に手を出したので、関連パッケージなどをまともに調べてまとめました。(ある程度素人の主観が入っているので、鵜呑みにしないように)

SciPy

総本山: http://www.scipy.org/

語源は Science + Python で、発音は "Sigh Pie(サイパイ)"。

今日の記事で挙げる各種ソフトの組み合わせによって実現されている、Python ベースの数学・科学技術計算用ソフトウェアエコシステムの名称。つまり、個別のソフトではなく、その集合体による計算環境のこと。乱暴にざっくり言ってしまえば、「Mathmatica や Matlab に代わる環境を Python でつくろうプロジェクト」 が SciPy。

なお、SciPy のコアパッケージの1つに、後述の SciPy library があり、そちらを指して SciPy と言うことも多い(というか大抵そっち)ので文脈で判断を。

続きを読む

純 Python で C のライブラリを呼び出す(Linux inotifyを例に)

Python は Batteries included 哲学のもと、豊富なモジュールが標準で組み込まれていますので、大抵のことは標準モジュールを使えばできますし、そうでなくても、どこかの誰かが Python binding を作ってくれているはずですので、Cのライブラリを直接呼び出すような必要はほとんどありません。

ただ、今回、Cのコンパイル無しに(≒モジュールの追加インストール無しに) inotify を使いたい、という事情があり、直接 libc を呼び出す binding を作りました。コード自体はすごく簡単なのですが、概念が若干わかりにくかったので、今日の記事はその備忘録です。

ctypes と struct を使う!

続きを読む

RewriteRule を .htaccess に記述する際の罠

先日、ちょっとやりたいことがあり、 mod_rewrite を使ったのですが、うまく動かなくてapache の mod_rewrite のドキュメントを確認したところ、意外な罠があったのでそのメモです。

私がやろうとしたのは以下のようなものです。

  • myapp ディレクトリのなかに .htaccess と test.py がある
  • http://www.example.com/myapp/q/param へのアクセスを http://www.example.com/myapp/search.py/param と書き換えて、 search.py に PATH_INFO として "/param" が渡るようにする

最初に書いた失敗例の .htaccess はこんな感じです。

RewriteEngine on
RewriteRule ^q/ search.py/$1 [L]

で、結局正しい記述はこう。

RewriteEngine on
RewriteBase /myapp/
RewriteRule ^q/ search.py/$1 [L]

あ、それは知ってる、って人もいるとは思いますが、これ、PATH_INFO じゃなくて、パラメータとして渡す場合は、RewriteBaseを書いていなくても大丈夫だったりと、意外と複雑なトリックが隠されています。

.htaccess では RewriteRule の挙動が変わる

続きを読む

CentOS 5 に Python 2.6 & PIP を導入(EPELリポジトリの利用)

我が家には CentOS 5 で動作しているサーバーがいるのですが、そいつに新しいことをやらせたくて、Python 環境をアップグレードしようとしたので、今日はそのメモです。

CentOS 5 は Python 2.4 が標準となっていますが、PIP以前ネタにした setuptools の上位版のようなもの)は、2.6以降にしか対応していません。 CentOS のオフィシャルなリポジトリには Python のアップデートはありませんので、今回は EPEL リポジトリを有効にしてそちらから Python 2.6 を入れ、その上で easy_install と PIP を導入しました。

続きを読む

Tiny Tiny RSS のアップデート

以前、Google Reader がサービス終了になった際、私は乗り換え先として Tiny Tiny RSS (以下、TTRSS) を選択しました。サーバー設置型なので、同じような憂き目に合うことは無いですし、公式のAndroid アプリもあるので、自分の用途にはこれで十分です。

私がインストールした当初は、TTRSSは適当なタイミングで新しいバージョン番号が振られてリリースされ、告知のRSSなんかも飛んでいたのですが、最近は、ローリングリリース形式になったので、気をつけていないと置いていかれがちです。頻繁なアップデートに合わせて、できるだけ作業は定式化しておくのが良いでしょう。

というわけで、TTRSSのアップデートについて、自分の事情込みの手順をメモしておきます。

アップデート手順

続きを読む

Android Studio を Ubuntu 14.04 (64bit) にインストール

久々にちょっとAndroidでやりたいことがあったのですが、Ubuntuクリーンインストールでアップグレードしたため手元に開発環境が無く、せっかくなので昔は無かった Android Studio をインストールしてみようとしたところ、微妙にハマったので今日はその小ネタです。

インストール方法

続きを読む