ページ

2011-04-21

RubyでRedmineのWikiに書き込みたい

なんか小学生の作文みたいなタイトルだけど、要するに、RedmineのWikiページを人間が手で編集するのでなく、外部のRubyスクリプトから編集したいという話である。

最初、APIがあるんじゃないかと調べたけど、どうもまだWikiに関しては実装中らしいので、Mechanizeを利用することにした。

$ gem install mechanize

サクッとgemでインストール。

ちなみに、RedmineはDebian、RubyはCygwinの1.8.7である。

で、



うまくいくかと思いきや、何故かBadRequestになる?


な状況に。

調べたら、Digest認証がかかったページに、パラメータ付きでGETするとダメらしいということが分かった。

https://github.com/tenderlove/mechanize/issues/31

これに従って、Mechanizeを修正し、再度試すとうまくとれた。

こうなりゃ、あとは簡単で、以下のようなソースで実際に書き込むことができた。



('ω`)

2011-04-16

Synergy

以前からSynergyを使っていたのだが、少し前に開発が停止し、古いバージョンのまましばらく使っていた。ところが最近新プロジェクトが発足し、新バージョンが出てるということで試してみた。

Synergy

最初、調子にのってbeta版を入れたら、色々アレだったので、1.3系の最新にした。

自分の環境は、MacOSXをホストにして、Win7/64bitを操作したい。

synergyでキーボードによるscreenの切り替えを設定する方法を参照して書いた設定ファイルがこちら。



まあ、ホスト名には目を瞑ってほしいところ。

注意点としては、

1) Win7側でUACをオフにしておかないと、32bitアプリに触ることができない
2) MacOSXでもユニバーサルアクセスで、補助装置にアクセスできるようにするを有効にしておく必要がある

UACはウザかったので、当初からオフってたが、それでは問題のあるソフトが出てきたので、昨日からオンにしてた。そうしたら、あふwにフォーカスを移すことができず焦った。まあ、これは今後どんどん解決されていくのかな。

細かい支障はあるにせよ、便利なことには変わらないので、複数マシンを行ったり来たりする人は是非導入してみるといいです('ω`)

2011-03-28

gitとJenkinsの連携(Windows7/64bit)

絶対忘れそう(次にセットアップする際に同じ過ちを繰り返す可能性が高い)ので、メモる。


http://jenkins-ci.org/

Windows版のNative Packageを落としてインストール。


http://code.google.com/p/msysgit/

msysgitのFull Installerを落としてインストール。

ちなみに、この際、Windowsの環境変数PATHに、cygwinという文字列が含まれていると問題ありなので要注意(これで一日無駄にした)。


Jenkinsでジョブを作る。

Hudson氏の頃は、ジョブのワークスペースは、C:\Users\Hoge\.hudson\jobs\JobHogeに作られていたが、Jenkins氏はC:\Program Files (x86)\Jenkins\jobs\JobHogeに作るので要注意。これは、ワークスペースでビルドするツール等に空白を含むパスが渡されることを意味する。ショボいツールは一巻の終わりだ。

なので、プロジェクトの高度なオプションで、カスタムワークスペースより、空白を含まないパスを指定してやるといい。

#どうでもいいけど、jobなのかプロジェクトなのかはっきりしないんだな('ω`)


あ、と、その前にJenkins GIT pluginを入れよう。インストールは簡単。

インストール後、Jenkinsの管理 -> システムの設定からGitのパスを指定する。msysgitなので、デフォルトのままならC:/msysgit/msysgit/bin/git.exe(必ずスラッシュで!)を入れておく。


プロジェクトの設定で、gitのリポジトリを指定する……のだが、その前に、msysgit単体でリポジトリにアクセスできるようにしておく必要がある。具体的には、OpenSSHの設定。

環境変数を特に指定していない場合は、HOME/c/Users/Hoge等になっている(要確認)ので、$HOME/.ssh以下に、id_rsaというファイルで秘密鍵を設置。パーミッションはWindowsなので気にしなくて大丈夫。

msysgitコンソールから、

$ git clone git@hogehoge:hoge.git

として無事クローン出来ればおk。


で、プロジェクトの設定。ヘルプには、ssh://git@hogehoge/hoge.gitみたいに指定しろとあるが、実際はgit@hogehoge:hoge.gitで大丈夫。

しかし、Jenkinsをサービスとして動かしているアカウントでは、$HOMEがないので、手動で指定する。この環境変数は、msysgitによって参照されるので、Windowsパスでなく、/c/Users/Hogeのように(mingw?)指定する。


ここまでで、手動でビルド実行すると、ワークスペース以下にリポジトリがクローンされるところまで出来ているはず。


確認後、マスターのリポジトリのhooks/post-updateを、

wget -q -O /dev/null "http://hogehoge/job/hoge/build?delay=5sec&token=hogehoge&cause=gitcommit" || echo "failed."

とし、push後にJenkinsのジョブをキックするようにする。

ちなみに、ここで指定しているトークンは、プロジェクト設定 -> ビルドトリガ -> リモートからビルドで指定したもの。

ここでもヘルプに、「buildWithParameters〜と書け」とあるけど、buildでおk。

とりあえずこんなもんか。あとは好きなようにすればいい('ω`)

2011-03-21

戦国無双3Z & 真・三國無双6



2011年の2月から3月にかけて、戦国無双3Z、真・三國無双6、TROY無双……と三作三ヶ月連続リリース(TROY無双は延期になってしまったが)というスケジュールを見て、「おいおいマジかよ。いくら決算直前だからってやり過ぎだぜ」と思っていたのだが、実際に二作をプレイして、「これは決して乱発じゃない」という感触を得た。


まず、先に出た戦国無双3Z(以下、3Zと略す)だが、これは先立ってWiiで発売されていた戦国無双3に、アペンド版である戦国無双3猛将伝を加えてPS3に移植した物。Wii版については、未プレイ。

買う前までは、だいぶ無双に食傷気味だったので、あまり期待していなかったのだが、これが意外にもよく出来ていたというか、3Zは、PS2版の真・三國無双から始まる十年(+1)の歴史の集大成と言えると思う。

ちなみに、なんで無双に食傷気味だったかというと、期待していた真・三國無双5、無双OROCHI Z、ガンダム無双3が……('A`)

うって変わって、3Zはきちんと敵もワラワラ出るし、消えない(二人でプレイすると流石にキツいみたいだが)。PS3の性能を生かしているかどうかというと、Wii版とのマルチタイトルなので、そこはさもありなんだけど、不満が出るレベルではないと思う。それよりも、遊びやすさであるとか、プレイしていて気持ちいいか等、和ゲー(敢えてこの言葉を使う)的な極め細やかな計らいが、今までの無双シリーズの中でほぼ最高なんじゃないかと思う。

例えば、3Z以前だと、遊んでいる最中に画面が切り替わって短いムービーが流れることがあったのだが、3Zではほぼ全廃されている。これは昔からウザいなーと思っていたので、素直にありがたいし、テンポを落とすことなくプレイできるので、改良と言っていいと思う。

一度でも無双シリーズを遊んだことがある人なら、かなり不満点が解消されていると感じるんじゃないかな。


で、次に真・三國無双6(以下、6と略す)なんだけど、これ、元々「そんな連続で出すの?」的な見方をしていたので、ほとんど期待していなかったのだが、6も3Zとは違った意味で意外だった。

とりあえず、簡単に言うと、良い意味で洋ゲー(和ゲーと対比させるために敢えて(ry)っぽくなった。

武器のシステムなんかは瑣末な話なので割愛するけど、まず、オフィシャルでもウリにしているシームレスプレイ。

これは、洋ゲーのFPSなんかだと特に目新しくもないのだが、無双シリーズでは、戦前、戦後のムービーと、(3Zの所でも書いたが)戦中のムービーは、画面が切り替わるのが常だった。それを今回は、切れ目なくプレイとムービーが繋がるようにした。

また、マップ中、ゲームの都合によって視覚上は行けそうな所でも行かせないぜ!というのが、少なくなった(まだプレイ時間が少ないので、最終的にどう感じるかは不明だが、少なくとも以前よりは減った)。

俺は、無双シリーズというのは、アクションアドベンチャーだと思っているので、イベントの都合によって通れたり通れなかったりは気にしないのだが、その場合は、ちゃんと当たり判定だけでなく、視覚上壁を作ってほしいとは思ってる。今までの無双だと、崖を降りれなかったり、水に入れなかったりしたのだが、6では崖も降りられるし、足のつかない川でも泳げる。

これ、地味に凄いことだと思う。何故かというと、プレイヤーの移動の自由度を上げてしまうことによって、イベントの進みが破綻する可能性が大きくなるから。いきなり本陣に殴りこんだりとかできる訳で。この場合は、そういう本陣直撃的なケースも含めてイベントを作成しなければいけないので、手間は単純に増えると思う。

余談だが、洋ゲーらしく可変フレームレートになった(3Zは固定)。

と、いいことばっか書いてきた気がするが、荒削りなのも事実で、クロニクルモードの一つのステージが余りにも短い等、不満点はある。

が、これは裏をかえせば、真・三國無双7に期待出来るということにほかならない。不満点はあるが、6の挑戦は実を結んでると思うから。それを収穫するのは7でもいい(でも6を買わないと7も出ないよ)。


というわけで、今回の発売ラッシュは乱発でなく、旧世代無双の究極系から新世代無双へ移行する儀式だったんだよ!(これは言い過ぎか)

まあ、どちらのタイトルも、今まで無双が好きだったんだけど、いろいろあって離れてしまっていた人がカムバックするのに最適なタイトルだと思う。新しいものが見たいなら6かな('ω`)

#こうなると、TROY無双はどっちだったのか気になるなあ。開発自体はかなり前からやってたはずだけど。

2011-02-21

断絶への航海(VOYAGE FROM YESTERYEAR)



去年亡くなった、ジェイムズ・P・ホーガンの作。

“ホーガン=東京創元社”みたいなイメージが脳内で出来ており、よもやハヤカワからも出てるとは思わなかったのだが、本屋に行ったら平置きされていたので読んでみた。


そう遠くない未来、最も近い恒星系(それでも約四光年)であるアルファ・ケンタウリへ、居住可能な惑星を探索にコンピュータ船(クヮン・イン)を送り出した人類は、同時に自らの遺伝情報をもそれに託していた。

果たして数十年後、コンピュータはアルファ・ケンタウリに居住可能な惑星(ケイロン)を発見。ただちに地球へ連絡をとるとともに、託された遺伝情報を利用し、人類の再生を始めた。

その報を受けた人類は、大型移民船“メイフラワー二世”に数万人規模を乗せ、アルファ・ケンタウリへ向かった。

二十年後、無事にケイロンにたどり着いた人類は、先にコンピュータの手によって再生されていたケイロン生まれの人間たちと出会う……。


てな感じで、何も争いのないところで再スタートを切った新たな人類であるケイロン人と、カオス渦巻く地球から来た旧人類との出会いを描いた物語。

おそらく、ケイロン人社会というものが、ホーガンの理想郷なんだろうと感じた。

科学技術によって、常識であるとされているものがぶち壊されていく感覚が楽しめそうならお薦め。


原題が、「〜FROM」なのに対し、放題は「〜へ」なのも面白い。

原題は、未だに醜い争いを続ける地球を捨て去り新たな旅路へ向かう姿を、邦題は、醜い争いの連鎖を断ち切るべく新天地へ向かう姿を表している。

どこに視点を置くかの違いではあるが、こういう訳し方は好きだ。


しかし、これ、ホーガンの作品としてはだいぶ初期なのよね。

揺籃の星、黎明の星でも似たようなことをしていたが、これが原点なのだな('ω`)

2011-02-05

Haskellとかgistとか



横へなのHaskellでなんか書こう会でFizzBuzz書いた。

更に、gist.github.comの存在を聞いたので試してみる('ω`)

2011-02-01

バーサーカー 赤方偏移の仮面(BERSERKER)



静岡県立美術館ロボ美を観に行った際、バーサーカーの造形を見、「読まなきゃ!」と言うことで読んだ。

が、残念なことに、新装版になっており、件のバーサーカーには会えず('A`)

話としては、遥か昔、人類が発生する以前に何者かによって建造された、“パーサーカー”と呼ばれる、全ての生きとし生けるものを殲滅せんとする機械と人類との戦いをオムニバス的に描いている。

一つ一つはそれぞれ完結しているが、世界観を一つとしているので、同じ人物が別の話に登場したりする。

また、バーサーカーとの“戦い”と書いたが、人類との“交流”が描かれる話もある(心温まるようなものではないが)。

個人的には、このバーサーカーの設定が好きだな。誰が、何のために、等想像も広がるし。


同じバーサーカーシリーズで、別の作品も文庫化されているので、そちらも読みたい('ω`)

2011-01-28

ノパルガース(NOPALGARTH)



タイトルのへんちくりんさに釣られて買ってしまったんだが、思いの外面白かった。


ザックス人の頭には、“ノパル”と呼ばれる、通常では見ることも触ることも出来ない生物が寄生していた。

ふとしたことからノパルを除去することに成功した、最初の解放者はトープチュと呼ばれ、以来解放者を増やしていった。

だが、寄生の影響により、それを由としない寄生されたままの集団であるチチュミーは、トープチュと戦い、百年の戦争の後、トープチュ達が勝利を収めた。

戦争の後、諸悪の根源ノパルが発生するとされる惑星、ノパルガースを浄化しようとするザックス人だったが、異星人である彼らは、ノパルガースでは自由に行動できない。そこで現地人の代表を立て、それにノパル駆除を託すことにする。

そのノパルガースというのは……。


抱腹絶倒ではないが、タイトルや、劇中に出てくる名詞がいい感じに狂っていて楽しい。

割と中盤に差し掛かるまで、一向に問題が解決する兆しを見せないので、「どうすんのこれ?」と思ったが、そこからあれよあれよという間に、どんでん返しと伏線の回収が行われる。

翻訳及び刊行は最近なのだが、原著が書かれたのはだいぶ昔らしく、古臭い部分も多少あるが、今読んでも十分に楽しいホラ話。

地球最後の野良猫(THE LAST FREE CAT)



猫が、致死性のインフルエンザを媒介する生き物として駆除、管理されるようになった世界の話。


野良猫は残らず駆除され、猫の繁殖は一企業によって管理されている。管理された猫には高値が付けられ、金持ち以外に買う(飼う)ことは許されない。

そんな中、主人公のジェイドは、ひょんなことから野良猫と出会う。

その野良猫をフィーラと名付け、家で隠れるように世話をするが、あえなく猫を不法に所持していることが発覚してしまう……。


読んでる時に感じたのだが、主人公の行動がとにかく少女漫画っぽい。というか、あの年頃の女子は皆ああなのか。

また、猫を題材にしているが、猫自体の描写はさほど多くないので、猫萌えにはあまり響かないかも。

ただ、垂れ流される公的な情報をみんなが正しいと信じていることについて、疑問をひたすら促すところや、人間のためだからと、“野良”を疑いもなく駆除してしまう人間に対する批判が、自分たちの生きるこの現実世界においても被るのではないかな。