ページ

2009年1月30日

2009年1月29日

Parallelsの中のUbuntuのキーボード

MacにはParallelsの英語版をインストールしています。そのParallelsにはUbuntuが入っています。基本的にはUbuntuをMacからsshでつないで使うことが多かった(そのくせ、Xは動いている)のですが、いくつかのキーボードが使えません。

GNOMEの設定の[キーボード]を確認すると、Generic 105-keyになっています。これはusキーボード?「日本語 106-key」にすると大丈夫そうです。でも「英数」と「かな」のキーがうまくハンドリングできていないような・・・

2009年1月27日

Pylons 0.9.7にしたらエラー

Pylonsを0.9.7にアップグレードしました。今までは、確か0.9.6とかだったと思います。アップグレードした途端、wsgiorg.routing.argsがないとKeyErrorがでて動きません。「What's new in Pylons 0.9.7」によるといろいろ変更しないと行けないそうです。

プロジェクトのlib/helpers.pyに

from webhelpers.date import *
from webhelpers.text import *
from webhelpers.html.converters import *
from webhelpers.html.tools import *
from webhelpers.util import *

を追加して、hを使っている場合は

from webhelpers.rails.wrapped import *
も入れておきなさいと言うお達しです。railsって・・・。これで大丈夫だと思ったら大間違いで、さらにmiddleware.pyの# CUSTOM MIDDLEWARE HEREの次の行に

import pylons
if pylons.__version__ >= "0.9.7":
# Routing/Session/Cache Middleware
from beaker.middleware import CacheMiddleware, SessionMiddleware
from routes.middleware import RoutesMiddleware
app = RoutesMiddleware(app, config['routes.map'])
app = SessionMiddleware(app, config)
app = CacheMiddleware(app, config)

と書けば幸せになれるそうです。これで、とりあえず、動いた。めでたしめでたし。

dojoのお話はまた今度。

2009年1月23日

今日のランチ

手前みその焼鳥丼。690円

linuxでIEを動かしてみる


僕が会社でメインで使っているOSはWindowsじゃなくってUbuntuです。変態的な会社ですね。さて、メインでどんなにLinuxなりMacなりを使おうがWindowsでの動作検証と言うか、特にIEでの検証はかかせません。で、とあるところからIEs4Linuxと言うものが便利だというお達しがあったので入れてみました。

まずは、sudo apt-get install wineでwineをいれます。IEs4LinuxはWine上でIEが動くんですね。バーチャルマシンだとWindowsのライセンスが必要なのですがこっちは必要ないのでいいですね。あれ?本当に大丈夫なのかな?グレーな気がしてきた。

その後は、tarボールwget http://www.tatanka.com.br/ies4linux/downloads/ies4linux-latest.tar.gz として落としてきて、ies4linuxを起動させるとIEのインストール画面がでます。インストールするIEのバージョン(5, 5.5, 6)を選べばどこからともなくIEがLinuxに降臨してくれます。複数のIEも共存できます。すげー。IE7はまだ無理らしいですが・・・。

インストールが終わるとコマンドからie6とかってやるとie6が動きます。でも、動作がのろま。デフォルトのフォントはいまいち(これはWineの問題だけど)。半透明とかがうまく扱えていないっぽい。

ちゃんとした検証には向かないですが、ちょこっとだけ確認したいときなどにはいいかも。

2009年1月22日

MacBookにPylonsインストールとか

MacBookにはまだ、Pylonsが入っていませんでした。また、いろいろあってPylonsを使うことになったので、sudo easy_install pylonsでインストール。

それからそのプロジェクトで、dojoのバージョンをあげようと思います。でも、バックワードコンパチビリティがあるとか言っているのに、1.0から1.1にしたときにいろいろ問題がでたので、うーん。まあ、そのプロジェクトが一年ぶりの再開なのでまあいいですが。

2009年1月19日

誕生日プレゼントもらった


今日は誕生日だったらしいです。会社の女の子たちがプレゼントをくれました。もらえるのはうれしいですが、恥ずかしい。

今年もバレンタインにチョコを配らねば・・・。って会社の中に女性は何人いるんだ?去年より結構増えているような気がする。

2009年1月16日

2009年1月14日

WindowsにPythonをインストールした

いろいろあって、Windows XP(Parallelsで動いている)のPythonを2.5にしました。Python2.6にしなかったのには訳があります。単に、依存しているライブラリのインストーラーが2.5用のものしかなかったからです。

まずは、python.orgからPython 2.5のインストーラーを落としてきてインストールします。そのあと、twistedmatrix.comからtwisted 8.2(Python2.5用)をダウンロードしてきてインストールします。

twistedでhttpsを扱いたいので、ssl関係のモジュールを入れます。古い記憶をたどるとpycryptoとpyopensslとopensslが必要です。低レベルなものから入れることにします。opensslはここからWindowsのインストーラーをダウンロードしてインストールしました。

次に、pycryptoはここ。pyopensslはここ。すべてインストーラーからインスールできて簡単です。でも、インストーラーを探しまわるのが大変です。まあMacは大体自分でビルドしちゃうし、LinuxというかUbuntuとかはパッケージ管理でさくっと入るし・・・。

さて、インストールが終わってとりあえず動作確認すると、win32apiがないと怒られます。pywin32をインストールします。今までにインストールした覚えがなかったのですが、昔は、ActiveStateのバイナリを使っていたような気がします。その違いです。

あとは、py2exeをインストールします。exeを作ろうとするとmsvcr90.dllが見つからないとエラーがでてビルドできません。あまり時間がなかったので、msvcr90.dllを見つけてきてコピペしておきます。今度はビルドできるのですが、できた配布物を見てもmsvcr90.dllは含まれていないし、それがなくても動きます。単にビルドするときに必要のように見せかけているだけのようです。

そんなこんなで動きました。めでたし、めでたし。

さて、

2009年1月9日

今日のランチ

スープカレーの「うどん」(うどん屋さんではなくカレー屋さん)。
季節のカレー1000円。からっ。

2009年1月8日

memcachedをMacでビルドした

memcachedをMacで動かしたくなって、自分でビルドしました。MacPortsはなんとなーく使いたくなし・・・。

で、memcachedをビルドしようとしたらlibeventが必要だと怒られます。libeventをおっことしてきてお決まりの./configure && make && sudo make installして、memcachedも同様に./configure && make && sudo make installで完了。

memcachedを起動するとちゃんと動いているっぽい。めでたし。めでたし。

今日のランチ

菊寿司のちらし大
ご飯多すぎ

Python 3.0への準備、ちょっとだけ

PyHyperEstraierでPython 3.0を無視し続けるつもりでしたが、ちょっとだけ、対応中。で、そのメモ。

Python2.6でPython 3.0でdeprecateの機能を使っているかをチェックします。pythonの引数に-3をつければよいらしいです。PyHyperEstraierをこれを使ってチェックすると、って、printに括弧がないのが大杉。なので、まず、それらを直してから、再度チェックすると、dict.has_keyは使っちゃいやん警告がでます。inを使えということらしい。

>>> d = { 1:2, 3:4}
>>> 1 in d
True
>>> 2 in d
False

ということらしい。大きなところはこのぐらいです。で、別のところで、タイプが違うものを比較しようとしていて、やめてよ警告がでます。こんな感じ。

class Hoge:
    def __init__(self):
        self.fuga = None
    
    def f(self):
        if self.fuga > 0:
            return True
        return False

とかってあると、self.fugaのところでNoneと0を比較しようとしているって怒られます。えーっと、実行時じゃなくってパースした時です。ちょっとすげー。なので、これを直すととりあえず、PyHyperEstraierに関する警告は出なくなりました。でも、Twistedで沢山出ます。まあ、仕方ないです。

2009年1月7日

今、Macで動いているアプリたち

  • Safari
  • Mail
  • Skype
  • Terminal
  • TwitterPod
  • iTunes
  • 辞書
  • CotEdit
  • Komodo Edit
  • Number
  • Firefox
  • Eclipse
  • ParallelsでUbuntu
  • ParallelsでWindows XP(IE7とThunderbird)
メモリが4Gあると大丈夫です。CPUの2.4Gはほとんどがアイドルなのでいいや。

今日のランチ

2009年1月6日

忘れさられていたUbuntuにいろいろインストール

MacのParallelsで動いていたUbuntu8.10ですが、OSをインストールしただけで何もやっていなかったことが判明しました。本当はPython3.0をそろそろインストールしてみるかなー、と軽い気持ちだったのですが…。

で、まずはipythonをインストールして、なんとなーくDjangoをインストール。Subversionを使おうとしたらコマンドがないと怒られるので、Subversionもインストール。あと、HyperEstraierと。

ここで、apt-get install python3とやって、Python3.0をインストールしたつもりになったのに、実は、3.0のrc1だった。自分でビルドしようかなー、と思いつつ、今日はここまでに。

今日のランチ

2009年1月5日

HyperEstraierのPython実装の0.10.7

HyperEstraierのPython実装の0.10.7です。検索結果で一部取りこぼしがあったみたいで、その修正です。Michaelさん、ありがとう。って、日本語読めないか・・・。HyperEstraierの本家はどうなっているんだろう?本体は修正がほとんど入らないし、分岐しちゃえという人もいるみたいだけど・・・。

Python 3.0にも対応したいけど、Twistedがまだ対応してなさげだし・・・。ブロッキングIOの部分だけでもPython3.0に対応してもいいけど、うーん。何が大変って、Python3.0をインストールすることかな。