• MT5に移行した

    「GAEに移行した」で書いたようにここのサイトは、手元のサーバ上においてMTで編集/生成した静的HTMLを、GAEのアプリケーションにリソースとして組み込みServletで返しているだけなので、MT4でもMT5でも関係ないといえばない。

    MT4のときはSQLiteを使っていたので、MySQLに移行せざるを得なかった。
    • [MT4]システムメニューからバックアップ
    • [MT4]MySQLにMT用のDBとユーザを作成
    • [MT4]mt-config.cgiを書き換えてMySQLを参照する設定に。
    • [MT4]この状態でmt.cgiにアクセスすると新規セットアップになるので、適当に。
    • [MT4]システムメニューからバックアップを復元
    • [MT5]MT5のファイルをおいてアップグレード→再構築
    てな感じで移行自体はできたんだけど、よく見るとカテゴリのリンクがまったく張られていない。
    なんでかと思ったら全ての記事からカテゴリの情報が消えてた!!

    ちまちまちまちま全記事にカテゴリを設定しなおすはめに。
    記事の一括編集でカテゴリ設定できることに途中まで気がつかず無駄にしんどかった。あーぁ。

    結果的に過去のエントリを見返すことになったのだけど、今も使ってるアプリ/OSSが結構古いバージョンのときから使ってたので驚いた。

    環境:
     CentOS 5.5 x86
      MovableType 5.04


  • XP mode動いた

    XPモードやっと動いた。
    クリーンインストールにXP mode(とVPC)を入れただけの状態で「他の仮想化ソフトウェアの実行中にWindows Virtual PCを起動することはできません。~~」という理解しがたいメッセージが出てきて足止めされてた。
    ※CPUの仮想化サポートが効いてない(BIOSでdisabledなど)ときとは違うメッセージ。

    この辺の話のようにAMD CPU(Phenom II X4 965)とGigabyte M/B(GA-MA790FX-DQ6)の食い合わせなのか。
    GigabyteのサイトからBIOS F7dを持ってきて再チャレンジしたらいけた。
    @BIOSを使ってWindows 7からBIOS更新という冒険魂。@BIOSの自動DLを使うと「F7b」に更新しようとする(僕が試したときは)ので、BIOSを先にDLしておいてファイルを指定した。

    xpm.png

    Windows 7の電卓とXPモードのFirefoxの図。スクリーンショット撮るために始めて起動したけど電卓が進化しすぎてて笑った。
    ホストのUSBデバイスと接続できるのがすごい便利というか感動。
    仮想PC側の通知(ウイルス対策の警告など)が、ホスト側の通知に統合されて表示されるんだな。

    もっといろんなアプリで試そうと考えたけど、どうしてもXP側で動かさないといけないアプリが特になかったりで。。。このごろはウェブアプリ多いし。
    まーしかし結構便利かもという印象。

  • Windows7来た

    ドスパラで予約しておいたWindows7 x64 Ultimate来た(^^
    さっそくインストール。
    • CPU:Phenom II 965
    • M/B:Gigabyte MA790FX-DQ6
    • メモリ:6GB(ここで書いた理由でDDR2)
    • VGA:Radeon HD 3850
    • HDD:WDC WD740ADFD(結構前のRaptor)
    もともとVista x64がインストールされていたHDDに新規でインストール。
    インストールの最終処理で妙に時間がかかったけど、じっと待ってたら完了した。

    エクスペリエンスインデックスは↓のスクリーンショットのとおり。5.4。
    HDDがSATA/1500なので、SATA/3000にしたらちょっとは違うだろうか。
    wexp.png

    Vista x64をずっと使ってきたので大きな変化は感じない。
    ドスパラの予約特典で「窓辺ななみオリジナルテーマ」がついてきて、一度はセットアップしたものの壁紙/サウンドが萌え萌えしすぎてて人前では使えん(^^; でもまー いいと思います。

    2~3時間さわってみたちょっとした感想。
    • Teraterm:ちょうどCentOS5.4が公開されたところでサーバメンテ用にインストールした。フォントの設定に「Terminal」が現れず困った。
      コンパネ→フォントで、Terminalフォントを「表示」にしないと選択肢に出てこない。
    • iTunes:x64版をインストール。ストアの表示であるとか、iPodの同期は普通に出来た。
    • アンチウイルス:とりあえずのインストール(ライセンス認証も保留にした)なので、いつものNOD32でなく「Microsoft Security Essentials」をインストール。重いのか軽いのかもう1つ実感はわかず。
    • Vista 64ビットでは動かなかった(ウチの環境固有の問題かも)USB外付けDVD-ROMドライブ(Logitec LDR-PMC8U2)が標準ドライバで使えたのはちょっとうれしい。
      ※CD-ROMの読みこみに使っただけなので、書き込めるかどうかは知らない。
    • Aeroシェイクの使いどころがわからん・・・。
    • 左右にウィンドウをスナップさせるやつの使いどころがわからん・・。ウィンドウを左右並べて比較することってそんな多いかなあ。




  • X40を SSDに換装した

    1.8インチHDDを8GBのCFに換装して快適に使って一年ちょい。
    Thinkpad X40のHDDをCFに換装してVista
    CF 8GBな X40に Vista SP1統合セットアップ
    魔が差したというかなんというかWindowsサーチ4.0をインストールしてしまったあたりから残容量が低空飛行。とうとう1月の定例updateで容量不足に。

    困ったなぁと思ってたら日立型I/Fで1.8インチなSSDが出たじゃないですか。
    容量も32GBと8GB環境から見れば4LDK級。
    PhotoFast SSD 1.8 IDE 32GB MLC
    月初に買いに出かけたのだけどすでに次回入荷待ち。買えないとなるとなおさら今欲しいんだ。

    ~以下自己責任でお願いします~
    MTRON製 SSD 1.8インチ ZIF(PATA)接続MSD-PATA3018-032ZIF2
    カッとなって、MTRON製 SSD 1.8インチ ZIF(PATA)接続MSD-PATA3018-032ZIF2と、ZIF変換アダプタを購入した。

    電源の違いがあるそうで通常の変換アダプタに手をいれないといけないらしい、のだけど若松で加工済みのものを入手。
    ブログ等を見ていると自分で改造してる方もいるようですげぇなと尊敬しつつお金で解決(^^)

    上記若松のページやこちらとリンク先のIBM公式保守マニュアルを見ながら、バッテリ、キーボード、上部ケースを外す。
    ネットで検索するとあっさり換装されているようなのだけど、不器用なのかとにかく上部ケースが外せなくて苦労した・・・・

    保守マニュアルの86ページの「1」の加減がわからなくて困った。結構大きなバキィって感じの音がして持ち上がったので「やってもうた~」と思ったけどセーフだった。
    「3」のラッチというのをケース底面側から見える銀色のツメ的な部分と勘違いしてひたすら責めてたんだけど、これは関係なかった。。
    HDDが収まるスペースにある枠も外す。

    上記の加工済み変換アダプタには、フレキケーブルが2つ同梱されてた。
    僕が買ったのだと、両端が青いのと片方が白いの。
    厚さが違うことに気がつかず「こんなすっぽぬける感じでいいんだろうか???」と悩んだがSSD側を白い方にしたら深く入った。SSDのコネクタ部分にあるロックをおろして固定。

    断線しちゃうんじゃないか、と思うぐらいケーブルをぐねっと曲げてなんとか納める。
    SSDと底面の間に隙間が出来るので緩衝材を突っ込んだ。

    で今度は、上部ケース、キーボード、HDDカバー、バッテリを元に戻す。
    電源を入れてBIOS画面でHDD認識を確認する。どうやら問題ないみたい。

    またVistaをセットアップするわけだけど、以前このX40用にSP1統合ディスクを作ったので再利用。
    これはあっさり完了。

    • ページファイルなし運用
    • ハイバネーション(休止)も無効に
    とりあえずlenovo公式から「ThinkVantage System update」を入手して、ドライバ周りを一度にそろえた。前回はCFだったから必要なものだけ個別にインストールしたけど32GBもあるから豪勢に。それになんだかんだで結構便利だSystem Update。

    後は直近使うアプリだけインストール。
    • アンチウイルス:
      いつものESET NOD32アンチウイルス V3.0。やはり軽快なのがいい。
    • RAMディスク:
      今度はGavotte。256MB割り当てた。これはもっと少なくてもいいかも。
      RAM PhantomはX60に入れたときにハングしたので不採用に。せっかく購入したけど。
    • ブラウザ:
      Firefox 3。これもいつもの。
    • ターミナル:
      TeraTerm。これもいつもの。
    • PDFリーダ:
      以前はFoxit ReaderだったけどAdobe Readerをおごってみた(^^
    • テキストエディタ:
      サクラエディタ
    • その他:
      TortoiseSVN。自宅サーバとの間の文書/ソースの出し入れに。
    CPUパワーとメモリのバランスと考えるとMTRON製 SSD 1.8インチ ZIF(PATA)接続MSD-PATA3018-032ZIF2のスペックを完全には引き出せないんだろうな~、という感じはする。
    体感する快適さではCFの時とあまり違いを感じないけど、ディスクの残量が17GBもあるのは精神衛生にいい(^^
    残量不足になってからX60常用(こっちもSSDに換装済み)に逃げてたけどまたまたX40復活。キーボードの感触はX40の方が好きなので地味にうれしい。

    インターネット側にデータ(ブックマークとかRSSリーダとかメール)を置いていることが功を奏しセットアップが簡単でいい。OSの準備が出来たらいつもの状態でシームレスに継続できるってすごいことだ。ネットを普遍に押し上げた(下げた?)人々に感謝だなぁ。


  • 集合知プログラミング

    集合知プログラミング
    購入したままになっていた「集合知プログラミング 」を読み始めた。

    ナレッジを扱うシステムに関わっているので、何かしら応用できないかな、と考えたのだった。

    よくあるのが検索の際に「プロクシとプロキシ」「引越しと引っ越し」を同じとみなすような検索が出来ないか?ということ。
    ※他に「ossとオープンソース/opensource」「セマンティックwebとsemantic web/semanticweb」みたいな。

    単純に考えると辞書を用意して検索ワードを拡張して検索エンジンに食わせよう、となる。けど、どうせなら自動的になんとかできないだろうか。

    で、「集合知プログラミング

    ユーザの与えた語に対し、類似あるいは関連の強い語を推薦できないかと考えた。
    googleのように巨大なコーパスを扱える状況ならともかく、少ないリソース・計算力でどうにかそれらしい結果を出したい。

    近年の分類方法の1つといえばタグ。多数のタグが集まる場所といえばソーシャルブックマーク。

    あるURLで識別されるリソースに対し、不特定多数の人がタグをつける。
    よほどおふざけな人が集まらない限り、ついたタグはリソースにまつわる一定の関連があるだろう。さらにそこには表記ゆれもある。これらタグ同士の相関係数を事前に計算しておいて提示するという試み。

    僕ははてブを使っている。ちょうどいいことに特定URLをブックマークに関する情報をJSONで取得するAPIがある。
    とりあえず自分のブックマークを起点に、他の人がつけたタグの数を取得し計算した。
    URLの数は1300ちょい。タグの種類は約5500種類。

    うーん、それっぽい結果になっているものもあるけど・・・・
    ※負の相関が降順なのは(僕のコードの)仕様です。
    ※ケンドールの順位相関係数です。

    セマンティックweb
        0.866666666667: semantic web
        0.8: semanticweb
        0.6: メタデータ
        0.6: web
        -0.733333333333: rdf
        -0.142857142857: xml

    rails
        0.733333333333: ruby on rails
        0.642857142857: ror
        0.6: soft
        0.52380952381: develop
        0.444444444444: web開発
        0.428571428571: rubyonrails
        0.418181818182: tutorial
        -0.8: manual
        -0.6: tools
        -0.6: 資料
        -0.52380952381: reference
        -0.4: ソフトウェア開発
        -0.357142857143: web制作
        -0.333333333333: リファレンス

    oop
        0.6: モデリング
        0.6: agile
        0.575757575758: オブジェクト指向
        0.563636363636: oo
        0.466666666667: design pattern
        0.433333333333: programming
        0.4: devel
        -0.6: 未読
        -0.6: 設計
        -0.428571428571: デザインパターン
        -0.4: programing
        -0.333333333333: design
        -0.222222222222: システム開発
        -0.2: develop

    母集団が小さいからなのか。母集団が偏っているのか。

    考えてみれば、ソーシャルブックマークのタグに全て(といいたくなるくらいたくさん、の意)の語が登場するわけではなく、「自分がブックマークするときのタグの推薦に使える」ぐらいの結果か。
    母集団の中には「ソーシャルブックマークを便利に使う工夫のタグ」も存在するので、そもそも推薦に向かないものがある。
    ※「*お役立ち」とか「2-便利」とか「あとでよむ」みたいな

    表記ゆれのネタにしようと思ったら、「同じURLに対して同じ人がつけたタグ同士」は表記ゆれではなくて、何かしら別の軸の意味を持った言葉のはず。なので、こういうタグ同士でペナルティを加味したらもう少しマシになるかな。

    ま、それでもなんとなーく相関のありそうな語の固まりが取り出せたのは、ちょっと面白かった。
    サンプルをどーんと拡大してhadoopで分散処理、みたいなことをやってみたいな。