TurboGearsの20分でWikiを作るチュートリアル

TurboGearsの20分でWikiを作るチュートリアル を試してみました。なるほど、最低限必要な事柄が網羅されていて良いチュートリアルですね。

最新版の0.9a4を使って試す際に注意しなければいけない点を書いておきます。

  • JSON形式で結果を返すtg_format=jsonがエラーになる
    0.9a4のバグのようです(参考: SaikyoLine.jp
    TurboGears-0.9a4-py2.4.egg/turbogears/controllers.py への パッチ で解消しました。
  • 日本語対応(1) wiki20/config/app.cfg にてエンコーディングを指定

    kid.encoding="utf-8"

  • 日本語対応(2) model.py にてデータモデルを定義する際にユニコードを指定

    StringCol() → UnicodeCol()

あとはMocikitの使い方を覚えないと。まぁ、prototype.js + Scriptaculousもクライアント側に普通に使えるので、とりあえずprototype.jsで書いておくっていうのもありですかね。

IE6がScriptaculousを使っているページで異常終了する件

めざにゅ〜

ちょっと前から、Internet Explorer 6(XP SP2, fully patchedな環境)でscript.aculo.usを使ったページを開くと、kernel32.dllのエラーによりブラウザが異常終了するという問題が発生して困っていました。これが、エフェクトとかを何も使わないようにしても、ライブラリをロードしただけで落ちるというやっかいな症状なんですよ。

設定で[サードパーティ製のブラウザ拡張を有効にする]のチェックを外したら普通に動くようになったので、いろいろ調べた結果、どうやら"QUICKfind BHO Object"というアドオンが悪さをしているらしいことが分かりました。下記のページがそのものずばりなのですが、[ツール]メニューの[アドオンの管理]にてこの"QUICKfind BHO Object"というのを無効にしてあげると問題は発生しなくなりました。

IE6 + scriptaculous + QuickFind BHO = pure virtual function call error = IE crash - aplus moments


TextWare's QuickFind BHOというのは、「Cambridge Advanced Learner's Dictionary」等のソフトをインストールすると一緒に付いてくるもので、IEでサイト閲覧中に単語の意味をポップアップ表示してくれるような代物だそうです。日本では、この件に関する記述が見つからなかったけど、同じような問題は起こってないのかな..

TurboGearsをFC5にインストール

素敵な眼鏡を買いたいなぁ、と思っている今日この頃。
今夜は何だか眠れないので、TurboGears 0.9a4をインストールしてみました。

TurboGears というのは、AjaxライブラリやO/Rマッパー、テンプレートエンジンを統合したRuby on RailsのようなPythonによるWebアプリケーション開発用フレームワークです。簡単にインストールできるとのことでしたが、ライブラリの依存関係で少し引っかかりました。PythonってLinuxでは標準のインストーラや設定ツール等に使われているので、依存関係が悩ましいんですよね。まぁ、この辺はPerlやPHPとかでも一緒だと思いますが、RPMなどのOSパッケージ管理にするかその言語用のパッケージ管理ツールを使うかで結構悩みます。一応、Fedora ExtrasにはTurboGearsのRPMパッケージも用意されているのですが、0.8a5とちょっちゅ古いようです。私は最新版を使いたいので、Fedora Core5に標準添付のライブラリは残しつつeasy_installを使ってインストールすることにしました。

1. python-setuptoolsのアップデート

python-setuptools-0.6a11-1.noarch.rpm をダウンロードしてインストール。Fedora Extrasのsetuptoolsが入っていると依存関係でエラーになりますが、これを入れれば大丈夫です。

# rpm -Uvh python-setuptools-0.6a11-1.noarch.rpm

2. TurboGearsのインストール

# easy_install -f http://www.turbogears.org/preview/download/index.html \
--script-dir /usr/local/bin TurboGears

以上です。あら簡単。

当面の目標は、あらゆる所で「それTurboGearsでも出来るよ」と言えるようになること。

ちょっと調子に乗りすぎた

むしゃくしゃしてやった。今は反省している。

でも、シューマッハが勝ったからいいやw

やっぱり、その場に居合わせたという感覚。プレゼンスが大切なんじゃないかな。

なんだかちょっぴりデスマ

なんだか最近は、デスマな日々を送っています。毎日3時間くらいしか寝てないよ。今日はさすがに起きれなかったので10:00出社で… でも、とある人曰く、寝れるだけマシらしいです。効率が悪いだけのような気がするんだけど..

というわけで、流行りのヘッドライン形式で近況と気になっていることを綴ります。

  • 変わらなきゃも変わらなきゃ。
  • JavaScriptが面白い。単なる文字や図形に、命を吹き込む魔法使いになった気分。
  • そろそろ仕事は、まとめに入りたい。
  • 与えられた時間は短い、問題は何にコミットメントするかだ。
  • 携帯アプリの「数独」にはまっている。
  • 電車の中で脳のウォームアップ。会社に付く頃には、3速に入ってる。
  • OpenZaurus(Opie)で POBoxによる日本語入力 が可能になったらしい。
  • 迫害を受けているWinnyが 合法的な用途に活用 されるようだ。道具は使いよう。
  • 渋谷はボットの街になりつつある。(Python Powered in the RoR world.)
  • お誕生日おめでとう!

春ですねー

チューリップが綺麗だったので思わず携帯でカシャッ!
この季節、いろいろな花が咲き乱れていて通勤路も楽しい(特に都心から離れていると)。
毎日、1つ前の駅で降りて会社まで歩いています。

こないだは、初めて幼稚園バスに乗るわが子をビデオで撮影しているママもいました。微笑ましい(^^)

Google Maps API v1からv2への移行

先日、Google Maps API version2が公開されました。変更点は、

  • オーバービュー地図表示の追加
  • 拡張性の高いGMap2クラスの追加
  • JavaScriptライブラリのサイズ軽減
  • メモリーリーク問題の解消
  • デバッグ情報表示機能の追加
  • 詳細な衛星写真を見られる範囲の拡大
  • 1日50万PV制限の撤廃

version1との互換性は、ほぼ保たれているようです。私の Moblog地図 でも、<script>タグの"v=1"を"v=2"にするだけで問題なく動いてしまいました。


これだけでは面白くないので、オーバービュー地図を表示するGOverviewMapControlとGMap2クラスを使ってみることにしました。基本的にGMapをGMap2に、Gpoint()をGLatLng()に置き換えるだけです。注意する点としては、GPoint()とGLatLng()で引数の順序が逆になっていること、Zoomレベルを示す値の大小が逆になっていることです。あとは、メソッドの名前がいろいろと変わっているので、これも注意しましょう( Google Maps API Version 2 Upgrade Guide参照 )。そして、GOverviewMapControlですが、デフォルトだとブラウザ画面の右下に表示されるようになっています。本家のGoogle Mapsだとそれでいいのですが、うちの場合は右側に表示されるMoblog地点のリストと重なってしまいます。なので、次のようにしてオーバービュー地図の位置を地図の右下に移動させました。

function positionOverview() {
    var map = document.getElementById("map");
    var omap = document.getElementById("map_overview");
    x = map.offsetLeft + map.clientWidth - omap.clientWidth;
    y = map.offsetTop + map.clientHeight - omap.clientHeight;
    omap.style.left = x+"px";
    omap.style.top = y+"px";
}

残念なことに、IEでは、このオーバービュー地図が表示されないようです。マーカーをクリックしたときの挙動も何か変だし、API v2はIEとあんまり相性が良くないのかな..

Fedora Core5にアップグレード

yumでのアップグレードに失敗した私のFedoraですが、DVDイメージをダウンロードしてきてアップグレードインストールすることで復活しました。FC5になってかなり動作が軽快になった気がします。でも、emacsが起動しない、Firefoxも数ページ表示すると落ちるといった状態でかなり不安定です。

emacsは「Undefined color: "black"」というエラーが出て起動しなかったのですが、これは色の定義をしているrgb.txtの位置が"/usr/X11R6/lib/X11/"から"/usr/share/X11/"に変わったためでした。これは、/etc/X11/xorg.confを次のように書き換えることで解決しました。

Section "Files"
      RgbPath      "/usr/share/X11/rgb"
EndSection

私が使っているのは、Fedora Core2からyum upgradeを重ねてきたもので、さらにHDDのパーティションをddで吸い出してVMwareのイメージに変換したものなので、かなり老朽化してきているみたいです。そろそろクリーンインストールを考える時期ですかね。まぁ、ソフトウェアが経時劣化するわけはないので、コンフィグファイルが最新版に追い付かなくなってきただけですが…

どうせ新規で入れるなら、やっぱり次はGentooかな。

たかのり村に遊びに行くの巻

先日、どうぶつの森で初めてWi-Fi通信で他の村に遊びに行きました。既に2人が遊びに来ていて、通信可能な最大人数の4名でした。

っていうか、たかのりさん、DS Liteをこないだ買ったばかりだと思ってたのに凄いですよ!たぬきちの店は、とっくにデパートになってるし、家もでっかくなってるし。やっぱり、 plone.orgにプロダクトを登録 しちゃうような人は違いますね。で、何をしたかというと、果物をもらったり、釣った魚を自慢し合ったり、虫を取る網でチャンバラしたり、鉄仮面とセーラー服を借りて麻宮サキになったり(^^; 面白いですねー。チャットはソフトウェアキーのみで漢字が使えないので入力が大変ですが、何とかお話できます。

その後、場所を変えてうちの村にも遊びに来てもらったのですが、久しぶりに電源入れたので、うちのビレッジ村は雑草が生い茂っている状態(>_<) 「へー、雑草はじめてみたー」なんて言われたりしつつ、草取りなんかもしてもらっちゃいました。次回までには、花も植えて綺麗にしておこうと思います。

というわけで、また遊んでくださーい。

FC4からFC5へのアップグレード失敗

yumで楽してアップグレードしようとしたのが悪かったのか、PRMのTransaction Testが終わった後にlibgccをインストールするところで落ちました。rpmとyumコマンドは、

/lib/libc.so.6: version \`GLIBC_2.4' not found
(required by /libc/libgcc_s.so.1)
なんていうエラーが出て起動できません(T_T)
rpmもyumも同じエラーが出て動きません。libc.so.6を他から持って来ないとだめかな。sshdは普通に動いているようです。とりあえず、今はBitTorrentでFedoraのインストールイメージをダウンロード中なのですが、新規インストールにしようかな..

Python Workshop the Edge 2006

場所は、Microsoftのセミナールーム。今、kizasi.jpのセッションを聞いたところなんですが、検索エンジンの部分以外はPythonで書かれているそうです。なんでもチームのボスがスタンフォード大学でラリー・ペイジに勧められたとかで、Python好きなのだそう。 参加者は60人くらいかな?もっといそうな感じもしますが。100人弱でした。まだ始まったばかりなので、残りのセッションが楽しみです。特にフレームワーク対決。

4月8日は、忠犬ハチ公の日

4月8日は、忠犬ハチ公の日なんだそうです。渋谷で慰霊祭が行われていました。

は、春は出会いと別れの季節なんだからねっ!

春は出会いと別れの季節。私の職場でも異動などで4人の方が去って行き、4人の方が新しく加わりました。昨日はその歓迎会があり、窓際の席で桜を見ながらのお酒。テニスコートの灯りに照らされてなかなか風情がありました。桜は散ってしまっているかもしれませんが、今週末の4月9日(日)には、庭園開放日というのがあって中に誰でも入れます(って、リンクは張らないけど)。

そのお酒の席で知ったのですが、去年入社してきた女の子が、あと2週間で20歳になるそうです。お祝いを兼ねて職場の何人かで遊びに行こうという話になりました。まー、遊びたい盛りだろうし、上京してきて同世代の友達もまだ少ないだろうし。最近は、学校に行くべく勉強しているみたいなので、頑張れ〜と影ながら応援しています。しかし、今の若い人達が羨ましいです。自分の学生時代に今のブロードバンド環境があったらなぁ..

ウェブ進化論の羽生名人ではないですが、Blogやソーシャルブックマークのおかげでトップランナーの人達に付いていくことは確かに楽になりました。インターネットの発展により、情報のインプットという点ではかなりの変化があって、1日に見るサイトの数は5年前とは比べ物になりません。ちょっとアンテナを張り巡らせていれば、誰でもある程度のところまでは到達することができます。しかし、そこから頭一つ抜け出るのはやっぱり難しい。羽生名人が言う「高速道路を走りぬけた先では大渋滞がおきています」とは、とても巧い表現だと思います。これからは、アウトプットを加速する仕組みが必要なのかもしれません。

# タイトルは、覚えたてのをちょっと使ってみたかっただけ:-P

Life Hacks PRESS ~デジタル世代の「カイゼン」術~

Life Hacks PRESSは、「シンプル&ストレスフリーの仕事術」をメインテーマにGTD(Getting Things Done)の手法やプレゼンに関するTips、マインドマップの書き方などを紹介した本です。

  • それが頭の中にある限り、あなたの頭はクリアにならない
  • 仕事において一番難しいのは、「始める」こと
  • 仕事ができる人のもっとも重要な習慣は、「定期的なレビュー」である
と、これらGTDの基本概念の説明から入って、実際にToDoリストの棚卸しから整理の方法と順を追って説明しています。PDAを使っていると、それで全部済まそうと思いがちなのですが、やっぱり紙のメモ帳などをうまく使っていくことが重要だと思いました。それから、最適な方法は人それぞれなので、自分で試行錯誤することも大切ですね。

また、巻末に執筆陣の時間の使い方や利用しているPDA/手帳、PCソフトウェアが載っているのが面白かったです。私は、角谷さんに近いですね。最近は、仕事以外の時間を確保することが自分のテーマなので、朝は4時か5時に起きるようにしています。そう決めると前日の夜に如何にして早く寝るかが問題となってきます。そして、そのために昼間の仕事を効率的に進める方法を考えるようになったりと、自分の中で良い循環が生まれてきているような気がします。つくづく習慣って大切だなぁと、禁煙も3ヶ月目に入って思うのでした。