トップ 最新 追記

ヨタの日々

2001|08|09|10|11|12|
2002|01|02|03|04|05|06|07|08|09|10|11|12|
2003|01|02|03|04|05|06|07|08|09|10|11|12|
2004|01|02|03|04|05|06|07|08|09|10|11|12|
2005|01|02|03|04|05|06|07|08|09|10|11|12|
2006|01|02|03|04|05|06|07|08|09|10|11|12|
2007|01|02|03|04|05|06|07|08|09|10|11|12|
2008|01|02|03|04|05|06|07|08|09|10|11|12|
2009|01|02|03|04|05|06|07|08|09|10|11|12|
2010|01|02|03|04|05|06|07|08|09|10|11|12|
2011|01|02|03|04|05|06|07|08|09|10|11|12|
2012|01|02|03|04|05|06|07|08|09|10|11|12|
2013|01|02|03|04|05|06|07|08|09|10|11|12|
2014|01|02|03|04|05|06|07|08|09|10|11|12|
2015|01|02|03|04|05|06|07|08|09|10|11|12|
2016|01|02|03|04|05|06|07|08|09|10|11|12|
2017|01|02|03|04|05|06|07|08|09|10|11|12|
2018|01|02|03|04|05|06|07|

2011-05-01 :-)

_ 午前

1000 起床

1030 おひる。カルボナーラ

1130 Lua る

_ 午後

1300 pkgsrc モクモク

_

1700 pkgsrc モクモク

1900 gnuls を入れて現実逃避 ref. 【コラム】漢のzsh (9) 世界はモノクロからカラーへ

% cd /usr/pkgsrc/misc/gnuls
% make install clean-depends

2200 飯。豚肉炒め


2011-05-02 :-)

_ 午前

0930 起床

1030 おひる。うどん

_ 午後

1400 散歩

1500 コーヒー

1600 pkgsrc モクモク

_

1700 pkgsrc モクモク

2000 pkgsrc モクモク patches まで出来た。オプションはまだ

2100 飯。サーモンムニエル

2230 pkgsrc モクモク files まで出来た

2300 pkgsrc モクモク rc スクリプトまで出来た

_ C# から Lua

ググッたらあったので

Using Lua with C#

ただ、LuaInterface の 2.0.3 ( 2009-03-08 ですってよ! )が .NET 2 向けにビルドされてるらしく、.NET 4 のしか無い手元の環境だと動作しない。もう少しググったら Google code にミラーされてて、そこに同様のひとがいた。

Downloads - luainterface - Current release: LuaInterface 2.0.3 - A library for integration between the Lua language and Microsoft .NET platform's Common Language Runtime (CLR) - Google Project Hosting

<startup useLegacyV2RuntimeActivationPolicy="true">
    <supportedRuntime version="v4.0"/>
</startup>

こんだけ

Tags: C# Lua

_ オレンジミントのフレッシュハーブティーを作ってみた

先日買ったアレ[ 20110313#p04 ] が程良く育ったので作ってみた。そもそも生のハーブを使ったお茶のことを「フレッシュハーブティー」と呼ぶのだということすら知らん。

  • オレンジミントは茎の上から 10 cm くらい切り取ったもの x 3
  • 600 ml のお湯

ほむほむ

オレオレなので世間と比べて味は良いのか悪いのか判断つかない

携帯百景(ケイタイヒャッケイ)

参考


2011-05-03 :-)

_ 午前

0900 起床

1030 カルボナーラ

1100 読書

_ 午後

1300 読書

1530 pkgsrc モクモク

1600 pkgsrc モクモク options.mk を書いた

1630 pkgsrc モクモク gnuplot をインストールするためにインストールディスクから X セットをインストール

_

1700 寝る

1900 RR7 リハビリ

2000 pkgsrc モクモク おや? DESTDIR のようすが

2100 飯。鶏肉の照り焼き


2011-05-04 :-)

_ 午前

0900 起床

1000 髪を切る

1130 おひる。そうめん

_ 午後

1300 散歩

1343 すがや 世界各国のビールが豊富らしい

1500 寝る

_

1730 pkgsrc モクモク DESTDIR がよく分からん

2200 飯


2011-05-05 :-)

_ 午前

1000 起床

_ 午後

1300 pkgsrc モクモク

1500 pkgsrc モクモク ひとまずインストールできた。あとは動作確認なんだがローカルで環境作れるのかこれ

_

1700 飯

2000 飯2

_

月の雫 新宿通り

miwarin Namiki Usada

平野綾の読売新聞のアレをどうのこうのするなど

IMG_0011.jpg

IMG_0012.jpg

IMG_0013.jpg

IMG_0014.jpg

IMG_0015.jpg

IMG_0016.jpg

IMG_0017.jpg

IMG_0018.jpg

IMG_0019.jpg

IMG_0020.jpg

IMG_0021.jpg

IMG_0022.jpg

_ 飯2

新宿 嵯峨野

しょこたんライブ後の Moto と合流してどうのこうの

IMG_0023.jpg

IMG_0024.jpg

IMG_0026.jpg

IMG_0027.jpg

IMG_0028.jpg

IMG_0029.jpg

_ 買い物

amazon

5/2 に届けられる予定になっていたものが 4/30 に千葉県市川市から発送されたのを最後に音信が途絶えていたので amazon に問い合わせたところ「今日出ました」という蕎麦屋メソッドを食らった。

魔法少女まどか☆マギカ 1 【完全生産限定版】 [Blu-ray]

アニプレックス
¥ 5,200


2011-05-06 :-)

_ 午前

1000 起床

1030 おひる。うどん

1100 読書

_ 午後

1300 pkgsrc モクモク ふむ

1500 pkgsrc モクモク send-pr してみた

_

1700 まどか☆マギカ BD1 巻

1830 RR7 リハビリ

2000 C# と Lua

2200 飯

2300 ロゴ

_ ソニーのアレに関連して

「これは完全にエンジニアが無知で無能でクズ。アホでバカ。低脳でワーキングプア」

という言葉を思い出したがすでに nowa が終了しているので元ネタがない。

ref. 刺身の上にタンポポのせる仕事を一生懸命やっている人のほうがよほど偉い


2011-05-07 :-)

_ 午前

1000 起床

1100 部屋掃除

_ 午後

1300 飯。うどん

1400 買い物

_

1730 コーヒーる

1800 もしドラ

2100 飯

_ SourceForge.net: work-in-progress pkgsrc packages: pkgsrc-wip-cvs

I am importing after some edits

...!?

Chapter 20.Debugging

Run pkglint from pkgtools/pkglint, and fix the problems it reports

あ゛ ('A`)

_ 花壇を購入した

白いこれ。同じような形の花壇( 奥にある )があるのでそれに合わせた。

IMG_7441

_ 車乗るときに Nanosweep がいいねと君が言ったとか言わないとか記念日

まあリッジやってるひとならみんな大好き塊魂かもしれない NanoSweep - SweepRecordSHOP

コンチさんのアレの動画の BGM ( 02:55 - )

4:00pm とかマジほむほむ

_ 2010 年イベントまとめ

takumiKんとこ を見て思い出したことを思い出したのですげえ今更だけどこんな

植松伸夫8
伊藤賢治3
すぎやまこういち2
EARTHBOUND-PAPAS2
岡宮道生2
細江慎治1
KNOCKHEADZ1
Daigo1
川島和子1
米澤粋夏1

というかさっきいろいろ修正した

2010まとめ

2010タグクラウド


2011-05-08 :-)

_ 午前

0900 起床

1030 おひる。カルボナーラ

_ 午後

1300 読書など

1500 散歩 || 旧宅は更地になった

1600 コーヒー

_

1800 RR7 リハビリ || BASS CRUISER とか無理ゲ

2100 ATF || 2 回目の実行結果が変わった。ほげ

2200 飯


2011-05-09 :-(

_ 午前

0500 起床

0830 出勤

0900 実機

_ 午後

1300 実機

_

1700 残業アワー

2030 退勤

2230 飯。鶏の照り焼き


2011-05-10 :-(

_ 午前

0500 起床

0830 出勤

0900 実機

_ 午後

1300 実機

1700 退勤

_

1900 Lua る

2030 レンズ修理サポート申し込み

2200 飯


2011-05-11 :-)

_ 午前

0500 起床

0830 出勤

0900 実機

_ 午後

1300 実機

1700 退勤

_ ウェブオペレーション - サイト運用管理の実践テクニック

O'Reilly Japan - ウェブオペレーション

献本頂きました。kdmsnr さんが翻訳レビューア募集してたので応募したアレ( 翻訳レビューアの募集します。 - capsctrldays(2010-10-27) )

Yahoo! や Flickr をどうやって運用していたか、などを書いたもの。日本語訳スペシャルとして 18 章はクックパッドの事例が書いてある。らしい。まだ読んでない。

ウェブオペレーション ―サイト運用管理の実践テクニック (THEORY/IN/PRACTICE)
John Allspaw/Jesse Robbins/角 征典
オライリージャパン
¥ 2,730


2011-05-12 :-(

_ 午前

0500 起床

0830 出勤

0900 実機

_ 午後

1300 実機

1700 退勤

_

1930 cygwin で SpiderMonkey をビルドしようとして挫折

2130 飯。豚肉生姜焼き


2011-05-13 :-(

_ 午前

0500 起床

0830 出勤

0900 手順書

_ 午後

1300 ほむほむ

1700 退勤

_

1930 ubuntu で spidermonkey をビルドしようとして挫折

2000 centos で spidermonkey をビルドしようとして挫折

2130 飯

2400 とらのあなでRKGKMDK を買おうとした。ような


2011-05-14 :-)

_ 午前

0830 起床

1000 キヤノン新宿サービスセンター || レンズ預けた

_ 午後

1300 買い物

_

1700 庭を耕す

_

あいなま 連呼してたが結局 2, 3 日で熱が冷めた。そんなもん


2011-05-15 :-)

_ 午前

0830 起床

1030 おひる。カルボナーラらしきもの。昨日ベーコン買うの忘れたんだよ

_ 午後

1300 読書

1500 PS3 システムアップデート。Papo豆さんが言ってるのを見かけたんで

1530 RR7 ベースクルーザー修行のために RSGP の EXTREME BATTLE など。緩いコースならそこそこ走れるようになったんだが細かいコースはまだ走れない。TIME DOMAIN さんや Papo さんのように走れるようになるには修行が足りない。

なんでベースクルーザーでこんなに走れるんだ....!

_

1700 昼寝

2130 飯。サーモンムニエル

_ 1日じゅう山道

一歩も外に出ずにひたすら自宅に居た。

_ 花咲くいろは

OP の冒頭を聞いた瞬間は「わざと下手に歌って電波ソング風にしているに違いない」と思ったんだがどうやらまともに歌ってることに気づいてしまったことを気付かなかったことにする。

_ いま聴いてる曲を skype に表示するのをやめた

たぶんけっこう鬱陶しいことになってるに違いないので。

Last.fm Scrobbler( iTunes などで聴いてる曲を Last.fm へ転送するもの ) には、いま聴いてる曲を skype のステータス欄に表示する設定がある。skype ステータス欄は自分のみならずコンタクトのひとたちであってもステータスに変化があるとステータス欄が更新されるようなんだが、これはつまり、Last.fm Scrobbler でそういう設定にしておくと私のコンタクトリストの方々のステータス欄がひたすら私の再生曲で埋まることになる。と思う。かなり鬱陶しいはずなのでやめた。

本日のツッコミ(全2件) [ツッコミを入れる]

_ ファブリーズ [ベスクルは未だに無理です( ´◠‿ゝ◠`) てか乗れる気がしない]

_ みわ [オンバトでは乗りたくない ( ◕ ‿‿ ◕ )]


2011-05-16 :-(

_ 午前

0500 起床

0830 出勤

0900 仕様書読み

_ 午後

1300 プログラム書いた。ような

1700 退勤

_

1930 RR7 ベースクルーザー修行。SeasideRoute765 R 難しすぎワロエナイ

2130 飯。簡単チャーシュー

_ Directory not empty

% su
$ /bin/rm -rf /usr/src
rm: src/tools/compat: Directory not empty
rm: src/tools: Directory not empty
rm: src: Directory not empty

? ('A`)

本日のツッコミ(全11件) [ツッコミを入れる]

Before...

_ 街道プレジデント [まあ、そんな感じでしょうか(笑) 元気(ハイテンション)に張り切って行きましょう!!!!!]

_ みわ [行きましょう (>'A`)>]

_ 街道プレジデント [なんか鼻血が・・・・ 止まらねえやばいっす どうしよう ハイテンションしすぎたか]

_ みわ [落ち着け]

_ 街道プレジデント [落ち着いてたら鼻血がメルトダウンした よっしゃー!!!!!]


2011-05-17 :-(

_ 午前

0500 起床

0830 出勤

0900 実機

_ 午後

1300 もぐ

1700 退勤

_

1800 コーヒー購入

1830 コーヒー飲む

2000 RR7 ベースクルーザー修行 (>'A`)>

_ facebook

なお、facebook にいるゲーム音楽なひとたちを手当たり次第に「友達」申請してみたところ 8 割くらいは「友達」になった。( 感覚 )


2011-05-18 :-(

_ 午前

0500 起床

0830 出勤

0900 コード

_ 午後

1300 もぐ

1700 移動

_

1800 自社 || ナントカWG || 基本的には「もしアニメの〇〇が現実になったら」という思考にしている

1930 退勤

2030 xperia では着ボイスダウンロードできないので諦めた 『僕は友達が少ない』明日18日に新聞朝刊に参戦!!! 重大発表あり!!? 限定着ボイスもゲット♪

2100 Ruby試験認定証がいまだに届かないんですけど && メール投げた

2250 月

IMG_7517


2011-05-19 :-(

_ 午前

0500 起床

0830 出勤

0900 コード

_ 午後

1300 もぐ

_

1800 退勤

2130 飯。サーモンムニエル

_ SpiderMonkey

入った。ような

環境

  • Microsoft Windows 7
  • cygwin ( devel カテゴリは全部入れておけ )

手順

SpiderMonkeyのビルド - ラシウラ のまま

$ cvs -d :pserver:anonymous@cvs-mirror.mozilla.org:/cvsroot login
password: anonymous
$ cvs -d :pserver:anonymous@cvs-mirror.mozilla.org:/cvsroot co mozilla/js/src
$ cd mozilla/js/src
$ make -f Makefile.ref OS_ARCH=Linux
$ make -f Makefile.ref OS_ARCH=Linux js

↓エラーが出まくるけど

:
/usr/lib/libm.a(t-d000976.o):(.text+0x2): undefined reference to `_imp__floor'
/usr/lib/libm.a(t-d000985.o):(.text+0x2): undefined reference to `_imp__fmod'
/usr/lib/libm.a(t-d000688.o):(.text+0x2): undefined reference to `_imp__acos'
/usr/lib/libm.a(t-d000708.o):(.text+0x2): undefined reference to `_imp__asin'
/usr/lib/libm.a(t-d000715.o):(.text+0x2): undefined reference to `_imp__atan'
/usr/lib/libm.a(t-d000716.o):(.text+0x2): undefined reference to `_imp__atan2'
/usr/lib/libm.a(t-d000760.o):(.text+0x2): undefined reference to `_imp__ceil'
/usr/lib/libm.a(t-d000792.o):(.text+0x2): undefined reference to `_imp__cos'
/usr/lib/libm.a(t-d000913.o):(.text+0x2): undefined reference to `_imp__exp'
/usr/lib/libm.a(t-d001249.o):(.text+0x2): undefined reference to `_imp__log'
/usr/lib/libm.a(t-d001381.o):(.text+0x2): undefined reference to `_imp__pow'
/usr/lib/libm.a(t-d001655.o):(.text+0x2): undefined reference to `_imp__sin'
/usr/lib/libm.a(t-d001675.o):(.text+0x2): undefined reference to `_imp__sqrt'
/usr/lib/libm.a(t-d001744.o):(.text+0x2): undefined reference to `_imp__tan'
/usr/lib/libm.a(t-d001250.o):(.text+0x2): undefined reference to `_imp__log10'
make[1]: *** [Linux_All_DBG.OBJ/libjs.so] エラー 1
make[1]: ディレクトリ `/cygdrive/c/home/rin/usr/local/mozilla/js/src' から出ま
make: *** [all] エラー 2

無視して make すりゃいいらしい。えー

% make -f Makefile.ref OS_ARCH=Linux js
cat: ../../dist/Linux_All_DBG.OBJ/nspr/Version: No such file or directory
make: 循環 jscpucfg.h <- Linux_All_DBG.OBJ/jsautocfg.h 依存関係が破棄されました.
make: 循環 Linux_All_DBG.OBJ/jsautocfg.h <- Linux_All_DBG.OBJ/jsautocfg.h 依存関係が破棄されました.
gcc -o Linux_All_DBG.OBJ/js.o -c -Wall -Wno-format -MMD -g3 -DXP_UNIX -DSVR4 -DSYSV -D_BSD_SOURCE -DPOSIX_SOURCE -DHAVE_LOCALTIME_R -DX86_LINUX  -DDEBUG -DDEBUG_rin -DEDITLINE -ILinux_All_DBG.OBJ  js.c
gcc -o Linux_All_DBG.OBJ/js -Wall -Wno-format -MMD -g3 -DXP_UNIX -DSVR4 -DSYSV -D_BSD_SOURCE -DPOSIX_SOURCE -DHAVE_LOCALTIME_R -DX86_LINUX  -DDEBUG -DDEBUG_rin -DEDITLINE -ILinux_All_DBG.OBJ  Linux_Al
l_DBG.OBJ/js.o Linux_All_DBG.OBJ/libjs.a  -lm  \
            editline/Linux_All_DBG.OBJ/libedit.a

ファイルが出来てることは出来ている

% ls Linux_All_DBG.OBJ/js.exe
Linux_All_DBG.OBJ/js.exe*

実行

とりあえず実行してみる ( SpiderMonkey で JavaScript のインタラクティブシェル - bkブログ )

% ./Linux_All_DBG.OBJ/js.exe
js> a = [1,2,3]
1,2,3
js> a.push(4)
4
js> a.unshift(0)
5
js> a
0,1,2,3,4
js> a.concat([5,6,7])
0,1,2,3,4,5,6,7
js> a
0,1,2,3,4
js> a = a.concat([5,6,7])
0,1,2,3,4,5,6,7
js> a
0,1,2,3,4,5,6,7
js> quit
function quit() {
    [native code]
}
js> exit
typein:10: ReferenceError: exit is not defined
js>

2011-05-20 :-(

_ 午前

0500 起床

0830 出勤

0930 コード

_ 午後

1300 コード

1700 退勤

_

1930 JavaScript ほげ。さっぱり分からん

2130 飯。豚肉炒め

_ compinit:526: fork failed: resource temporarily unavailable

compinit:526: fork failed: resource temporarily unavailable

cygwin zsh 起動したら怒られた。

ググったら自分の過去の日記がヒットした[ 20100430#p03 ]

ということでこう

  1. 他の cygwin プロセスを全て殺しておく
  2. C:\cygwin\bin\ash.exe を起動
  3. /bin/rebaseall

また怒られた

$ /bin/rebaseall
/usr/lib/cygicudata.dll: skipped because nonexistent
/usr/lib/cygicui18n.dll: skipped because nonexistent
/usr/lib/cygicuio.dll: skipped because nonexistent
/usr/lib/cygicule.dll: skipped because nonexistent
/usr/lib/cygiculx.dll: skipped because nonexistent
/usr/lib/cygicutu.dll: skipped because nonexistent
/usr/lib/cygicuuc.dll: skipped because nonexistent
FixImage (/usr/x86_64-w64-mingw32/sys-root/mingw/bin/libgcc_s_sjlj-1.dll) failed with last error = 13

CygwinでCPANのremapエラーが解けない人へ (Windows 7 64 bit) - バイオ系研究室PC管理担当のメモ

ここに書いてある Node.js on Windows 7 under Cygwin, ”FixImage error 13” problem が 404 なのでお茶を飲んだあとにもう一度ググる

visible true : メモ

マネしてみる。

これを

C:\cygwin\usr\x86_64-w64-mingw32\sys-root\mingw

以下のようにする

C:\cygwin\usr\x86_64-w64-mingw32\sys-root\mingw.d

rebaseall してみる

$ /bin/rebaseall
/usr/lib/cygicudata.dll: skipped because nonexistent
/usr/lib/cygicui18n.dll: skipped because nonexistent
/usr/lib/cygicuio.dll: skipped because nonexistent
/usr/lib/cygicule.dll: skipped because nonexistent
/usr/lib/cygiculx.dll: skipped because nonexistent
/usr/lib/cygicutu.dll: skipped because nonexistent
/usr/lib/cygicuuc.dll: skipped because nonexistent
/usr/x86_64-w64-mingw32/sys-root/mingw/bin/libgcc_s_sjlj-1.dll: skipped because nonexistent
/usr/x86_64-w64-mingw32/sys-root/mingw/bin/libgomp-1.dll: skipped because nonexistent
/usr/x86_64-w64-mingw32/sys-root/mingw/bin/libssp-0.dll: skipped because nonexistent
/usr/x86_64-w64-mingw32/sys-root/mingw/bin/libgfortran-3.dll: skipped because nonexistent
/usr/x86_64-w64-mingw32/sys-root/mingw/bin/libstdc++-6.dll: skipped because nonexistent
/usr/x86_64-w64-mingw32/sys-root/mingw/bin/libobjc-2.dll: skipped because nonexistent
/usr/x86_64-w64-mingw32/sys-root/mingw/bin/pthreadGC2.dll: skipped because nonexistent

ok ....なのか?

C:\cygwin\usr\x86_64-w64-mingw32\sys-root\mingw に戻しておく


2011-05-21 :-)

_ 午前

0800 起床 || 部屋掃除

1000 キヤノンサービスセンター新宿 || レンズ引き取り

1050 日比谷公園

_ 午後

1500 コーヒー

_

1900 飯

_ オクトーバーフェスト2011日比谷

いつものアレ。いつものメンバーで行ってきた。miwarin, daresore, yo_1, studio5

IMG_7532

_ 日比谷公園

離脱していつものように公園を移動。ぬこ撮影会

IMG_7558

_ ちょっと休憩

椿屋珈琲店 日比谷離れ店

いわゆる制服系。女性従業員は全員ポニーテールでまとめており、コーヒーを入れる等 当然その振る舞いは給仕として洗練されていて、見ている客に安心をもたらす。そしてそのようなプロフェッショナルとしての仕事をしている最中であるが、ふとしたはずみに肩のエプロンが落ちてしまったときなどは、緊張で張り詰めていた空気を緩めたときに見せる素顔を見たようで、むしろ人間らしさを垣間見て感動すら覚える。( 意訳「萌えた」)

IMG_7577

_

中園亭

うまうま

IMG_7581


2011-05-22 :-)

_ 午前

0700 地震があった。ような || 二度寝

0800 起床

0930 植木取り替え

1000 ドラクエコンサートチケット発売 || 購入 || die

1030 おひる。たらこのスパゲtぃ

_ 午後

1500 wiki 作るなど

_

1700 読書

2130 飯。鶏肉の照り焼き。胸肉はツラい

_ ローズマリーとタイムの鉢を分けた

同じ鉢に植えてたんだが、タイムの繁殖力が高すぎて、ローズマリーが成長しない。鉢を掘り返してみたらタイムの根が全体に蔓延っていた。なお、以前はタイムとバジルを同じ鉢に入れてたんだがバジルが見る間に衰えていくので別の鉢にしたらバジルはちゃんと復活した。

IMG_7593

IMG_7592

_ オンラインゲームを支える技術

だいぶ前に本屋で見かけて「オンラインゲームといえばすなわちリッジレーサー7であるが(視野が狭い)、ところでリッジレーサー7の裏はどうなってんでしょう」と好奇心が湧いたので買ってみた。

この本には、オンラインゲームの歴史、計画、開発、運営について書いてある。

典型的なオンラインゲームの形式について触れているので、ウルティマオンライン、ラグナロクオンライン、ファイナルファンタジーXI、リッジレーサー7、グランツーリスモ5、ストリートファイターIV などのオンラインゲームをプレイしたことがあるひとならば楽しめる。

開発部分については詳細に踏み込んでいる。技術評論社のページ オンラインゲームを支える技術 ―壮大なプレイ空間の舞台裏 で目次を見ると分かるのだが、第 0 章が Ethernet ヘッダやソケット API などについても書いてあったりする。本格的すぎるだろ。

用語

  • C/S: データセンターに専用サーバー(Dedicated Server)を運営側が所有し、そのサーバを経由してゲームプログラム間のデータの送受信をさせます。(p.161)
  • P2P: クライアントどうしが通信しあう。ゲームの処理はクライアントがおこなう (本書内に引用しやすいちょうどいい概要が見当たらない)
  • MO( Multiplayer Online ): 2人~100人程度の同時プレイ数のゲームをMO(MOG)と呼ぶ。ゲームは数時間以内と比較的短時間で終了し、ゲームごとに毎回、ゲームの状態はリセットされる(将棋で対戦ごとに将棋盤を並べ直すのと同様)。( p.166 )
  • MMO( Massively Multiplayer Online ): 数百、数千以上の同時プレイ数のゲームを MMO (MMOG) と呼ぶ。参加人数が多いため、ゲームは数十時間の長時間に及ぶこともあり、リセットされないものもある。( p.166 )

リッジレーサー7 のアーキテクチャ (※想像)

リッジレーサー7 のオンラインゲーム的な仕組みを知るだけならば第 2 章と第 3 章を読めばよい。これらの章でオンラインゲームのアーキテクチャについて説明している。アーキテクチャは、大雑把に分類して物理構造による分類( C/S, P2P )と、論理構造による分類( MO, MMO )がされている。p.123 表2.4 がゲームジャンルごとの形式が書いてある

MOMMO
C/SカジュアルMMORPG(仮想世界、大戦)
P2PARPGアクションRPG) 対戦格闘、FPS、レース、RTS、シューティング×

MO 型の物理構造についてさらに分類されている ( p.167 )

  • 同期式/フルメッシュ型
  • 同期式/スター型
  • 非同期式/フルメッシュ型
  • 非同期式/スター型

同期式は、全てのクライアントのデータが同期している。つまり全員が同じデータを持っている。非同期は、多少のデータ不整合を受け入れてゲームを組み立てる。フルメッシュ型は、全員が全員と通信する。

スター型は、クライアント 1 人が中心となり他のクライアントとの通信を担う。( ref. LANの基礎を丸かじり- @IT自分戦略研究所 )

これらについてリッジレーサー7がどのようなアーキテクチャになってるかを判断するには「同期式/フルメッシュ型と 3 つの問題点 ( p.171 )」の説明がピッタリに見える。

  • 人数が増えると、送受信の完全性が急激に崩れやすくなる ←ラグだよね
  • 最も遅い端末に引っ張られる ←海外のプレイヤーが参加するとラグしやすいよね
  • ゲームへの途中参加ができなくなる ←レース中にルームに入るとレースが終わるまで待たされるよね

以上により、リッジレーサー7 のアーキテクチャは P2P MO 型、同期式/フルメッシュ型であろうことが分かる。

実際 リッジレーサー7 プレイ中に「他のプレイヤーとの通信が途絶えました」などの現象が発生することからも、おそらくフルメッシュ型であろうと思われる。

リッジレーサー7 以外のアーキテクチャ

本書では C/S MMO 型のゲームについても触れているので「ファイナルファンタジーXI の【ワールド】はこういうものなのだ」などといったことも分かるようになる。

オンラインゲームを支える技術  --壮大なプレイ空間の舞台裏 (WEB+DB PRESS plus)
中嶋 謙互
技術評論社
¥ 3,024

_ 数あるうちの手段

昔 自己啓発なセミナーに通っていた(というかライフハックとしていろいろイベントに参加してた)ときによく見た光景として

講師「○○のときは○○するとよい」

聴衆「うちは○○なので○○出来ないのだけど、そういうときはどうすればよいのか」

という展開があった。

こういうところで「わざわざ質問する」というのはどういうひとなのだろうと不思議だった。ライフハックなるものは目的を達成するための手段に過ぎず、講師は手段の 1 つを宣伝しているに過ぎない。自分の目的を達成するための手段のうちの 1 つとして捉えるだけなので、引き出しが 1 つ増えるだけだ。あとは自分の目的に合わせてアレンジしたり、別の手段と組み合わせるなどすればよい。という考えだけで参加していたので、「あなたの目的を達成するための手段はこれ 1 つしか無い」または「これをおこなえばあなたの目的を達成できますよ。絶対」などと言っているわけではない、というのは頭がそれほど優秀ではない私ですら考えつく着地点であるのに、もっと頭が良さそうな方々がそのように考えないとはいったいどういうことが起きているのか、といつも不思議だった。いまでも不思議だが。

高いカネを払って「カネを払うので私のコンサルタントをしてくれ」などと契約しているならば話は別だが、私が行っていたのは「参加条件は本を買ったひと」「無料。誰でも参加してくれ」といったカネがかからないものばかりだ。カネナイから。そのようなイベントならば、わざわざ講師が聴衆の問題を解決してやるほどのスジはあるだろうけど、それを真面目にやるのは講師の自由だが、聴衆としては手段の 1 つをカネを払う( または無料で )教えてもらった。というだけに過ぎない。はずであろう。

まあどうでもよろ


2011-05-23 :-(

_ 午前

0500 起床

0830 出勤

0900 実機

_ 午後

1300 実機

_

1700 残業アワー

2015 退勤

2200 飯。メカジキムニエル

_ お察し下さい

|ω・)


2011-05-24 :-(

_ 午前

0500 起床

0830 出勤 || やる気でろー

0900 実機

_ 午後

1300 実機

_

1700 残業アワー

1815 退勤

2130 飯。牛丼


2011-05-25 :-(

_ 午前

0500 起床

0830 出勤

0900 実機

_ 午後

1300 実機

1700 退勤

_

1730 ヨドバシカメラ

1830 送別会

2230 /sbin/shutdown のコードを読むなど


2011-05-26 :-(

_ 午前

0500 起床

0830 出勤

0900 実機

_ 午後

1300 実機

_

1700 残業アワー

2030 退勤


2011-05-27 :-(

_ 午前

0500 起床

0830 出勤

0900 実機

_ 午後

1300 実機

1700 退勤

_

1800 自社

2200 飯。ジャガイモと豚ロースのローズマリー蒸し煮 を参考にしつつバジルが成長しまくってるのでバジルを使った。

_ test

ソフトウェア開発者の 一般教養として ソフトウェアテストとか読んでたんだがどうやら本業になっちまったのでそろそろ本気出す。

ソフトウェア・テスト PRESS Vol.1 (PRESSシリーズ)
ソフトウェア・テスト PRESS編集部
技術評論社
¥ 1,659


2011-05-28 :-)

_ 午前

0930 起床 || 部屋掃除

1100 おひる。たらこスパゲティ

_ 午後

1330 NHK技研公開

_

1800 コーヒー

1900 Aチャンネルを見てたら takumi からそろそろヤサグレるから酒飲むぞという誘いがきた。ような

2100 飯

2200 RR7

2400 RR7 ジャクチョーさん部屋が空いたから入ったら最後の1レースのあとに阻止レースが始まった。何を言ってるのか

_ NHK技研公開2011

今年も行ってきた。

ニュース放送当時「30km 離れたところから撮影しています」と「今サラっととんでもないことを言ったよね?」と驚愕させた 30km 望遠のアレ( NHK秘密兵器30キロ超望遠カメラだ! (1/2ページ) - 社会 - SANSPO.COM )と フレキシブル制作システム ソースプログラム公開 のアレを目当てにして来てみた。

IMG_7595

会場をめぐるガイドツアーが 30 分間隔くらいで稼働していたはずなのでツアーに参加申し込んだら、最後のツアーにギリギリ間に合ったというレベル。今年は節電の影響で技研公開の終了時刻が早まっているのでツアーも少ないのであった。あぶねえ

IMG_7601

んだが、30km望遠のアレはカメラ実物は無かった。パネルだけあった。まあさすがにカメラ実物は無いか。

フレキシブル制作システム ソースプログラム公開 のブースでもあるかと思ってふらふらと 分散ファイルシステム のブースのひとに聞いてみたら「ああ、フレキシブル制作システムは去年のネタで、今年はとくに差分が無いのでブースも無いです」という「 1 周遅れ m9 」状態だった。Hadoop とかマジメに遊ばないとイカンなあ。

と割りとガッカリ気味だったんだが地下で P2P型ライブ映像配信技術 というブースに遭遇。話を聞いてみたら先日読んだオンラインゲーム本[ 20110522#p05 ] にあった仕組みであった。こんなところで知識が役立つとは思ってなかったわー。ちなみに ライブ配信 がこの仕組を利用しているんだそうな。

IMG_7599

今年は終了時刻が早いので駆け足になってしまいじっくり見た感がなかったなあ。技研公開に到着したのが遅かったか。どうも食堂も使えるようなので、来年はもっと早めに来よう。

今年もグッズ販売してたのでトミカを買った。渋谷駅とNHKスタジオパークを往復しているバスと、現場で活躍するエコな番組制作設備 のクルマ。

IMG_7631

IMG_7634

_ リッジレーサー7

  • 走行距離 97656 km
  • RSGP 進行度 100.0 %
  • 名声 26447 FP
  • オンラインバトル勝利数 1201/4332

2011-05-29 :-)

_ 午前

0300 待機 【とらのあなWebSite】【apricot+】の蒼樹うめ先生がお贈りする、非公式まどかマギカ同人誌がついに再登場!これは決して見逃せない!!

0400 先に進めないなんて、そんなの絶対おかしいよ

0500 力尽きた

0930 起床 || まどか完売

1030 おひる

1100 コーヒー

_ 午後

1300 金曜日の英語でしゃべらナイトを見てみた。カプコンの一井克彦さん 英語でしゃべらナイト 放送内容

1500 Linux

_

1700 お茶

2100 飯。鮭のムニエル

_ [痛デバドラ] /dev/louise_love作ってみた [Linux] - ψ(プサイ)の興味関心空間

写経する

環境

CentOS5 on VMware on Windows 7

準備

git 入れる ( centos5.3でyumを使ってgitをインストールする - Inquisitive! )

/etc/yum.repos.d/CentOS-Base.repo に追加

[dag]
name=Dag RPM Repository for Redhat EL5
baseurl=http://apt.sw.be/redhat/el$releasever/en/$basearch/dag
gpgcheck=1
enabled=1
gpgkey=http://dag.wieers.com/packages/RPM-GPG-KEY.dag.txt

入れる

% yum install git

カーネルヘッダーファイルとソースファイルをインストール HowTos/I need the Kernel Source - CentOS Wiki

% yum install kernel-devel

写経

痛デバドラのソース取得

% git clone git://github.com/ledyba/louise_love_driver.git

おもむろに make

% make
make -C /usr/src/linux-2.6.18-238.9.1.el5 M=`pwd` V=1 modules
make: *** /usr/src/linux-2.6.18-238.9.1.el5: そのようなファイルやディレクトリはありませ

ディレクトリはここにある

% ls /usr/src/kernels/
2.6.18-238.9.1.el5-x86_64

uname -m も必要

% uname -rm
2.6.18-238.9.1.el5 x86_64

これだけだと r と m の間に空白があるので - でつなぐ

% echo `uname -r`-`uname -m`
2.6.18-238.9.1.el5-x86_64

Makefile を変更しとく

% diff -u Makefile.orig  Makefile
--- Makefile.orig       2011-05-29 02:44:22.000000000 +0900
+++ Makefile    2011-05-29 02:44:51.000000000 +0900
@@ -2,7 +2,7 @@
 # こちらのmakefileを元にしました。

 ifndef LINUX_HEADERS
-LINUX_HEADERS:=$(shell if [ -e /usr/src/linux-headers-`uname -r` ] ;   then echo /usr/src/linux-headers-`uname -r` ; else echo /usr/src/linux-`uname -r` ; fi)
+LINUX_HEADERS:=$(shell if [ -e /usr/src/linux-headers-`uname -r` ] ;   then echo /usr/src/linux-headers-`uname -r` ; else echo /usr/src/kernels/`uname -r`-`uname -m` ; fi)
 endif

 TARGET:= louise_love.ko userland_louise_love

make して install する

% make install
sudo mknod /dev/louise_love c 0x0721 0
sudo chmod 0666 /dev/louise_love
sudo insmod louise_love.ko

見る

% lsmod | grep louise
louise_love           321280  0

クンカクンカ

% dmesg | grep louise
louise_love : kunka kunka.    <= init_module()
louise_love : uwaaaaaaaaaaaaaaaaaaaaaaaa    <= louise_open()
louise_love : boku ni ha louise chan ga iru !!    <=  louise_open()

ルイズたん

% cat /dev/louise_love

_ Linux デバイスドライバ読み書き

というかカーネルモジュール的な何か

read/write をたんに使ってみただけ。パイプライン的な使い方とか文字列比較しようとしたけど割りと手間がかかりそうなのでやめ。

ルイズたんの read/write を変更しただけ。strlen() て使えるのね

//fread
static ssize_t louise_read( struct file* filp, char* buf, size_t count, loff_t* pos ){

        int len = message_count;
        if( len == 0 )
                return 0;

        char* msg = "ガッ\n";
        if ( copy_to_user( buf, msg, strlen( msg ) ) ) {
                printk( KERN_INFO "louise_love : copy_to_user failed\n" );
                return -EFAULT;
        }

        message_count = 0;
        return len;
}



//fwrite
static ssize_t louise_write(struct file* filp, const char* buf, size_t count, loff_t* pos ){
        if( count > BUF_MAX )
                return count;

        printk( KERN_INFO "cdev_write count = %d\n", count );

        if( copy_from_user( dev_buf, buf, count ) ){
                printk( KERN_WARNING "copy_from_user failed\n" );
                return -EFAULT;
        }

        dev_buf[ count ] = '\0';
        printk( KERN_INFO "dev_buf = %s\n", dev_buf );
        *pos += count;
        message_count = count;
        return count;
}
% echo ぬるぽ > /dev/louise_love && cat /dev/louise_love
ガッ

ref. 簡単なキャラクタデバイスをつくる


2011-05-30 :-(

_ 午前

0500 起床

0830 出勤

0900 実機

_ 午後

1300 実機

_

1700 残業アワー

1800 退勤

2130 飯。鶏の照り焼き

_ 読売新聞の広告の サボイ

バッグの店なのに、モデルが横乳してパンチラしているのが意味が分からない。

_ 私が教師になったら

伊庭かおりのような感じになりそうだ。または鎌手。

教師やらないけど

ref.

_ NetBSD Blog - libcxxrt C++ runtime now available under BSD license C++ ランタイムライブラリ libcxxrt が BSD ライセンスで使えるようになった

May 30, 2011 posted by S.P.Zeidler

The FreeBSD Foundation and the NetBSD Foundation have acquired a non-exclusive copyright license to the libcxxrt C++ runtime software from PathScale, a leader in high performance Fortran, C, and C++ compiler products for AMD64, Intel64, and MIPS. This software is an implementation of the C++ Application Binary Interface originally developed for Itanium and now used for the x86 family by BSD operating systems. Libcxxrt will be available under the 2-clause BSD license.

The FreeBSD Foundation と the NetBSD Foundation は、PathScale による C++ ランタイムライブラリ libcxxrt へ非排他的著作権ライセンスを取得した。AMD64、Intel64、そして MIPS での高パフォーマンス Fortan、C、そして C++ コンパイラ製品の先駆者である。このソフトウェアは、C++ アプリケーションバイナリインターフェースの実装であり、もともと Itanium 向けに開発されたものだ。いまでは BSD オペレーティングシステムにより x86 ファミリーで使われている。Libcxxrt は 2 つの BSD ライセンスのもとで使用できる。

Read the press release for details.

詳細は press release を参照。


2011-05-31 :-(

_ 午前

0500 起床

0830 出勤

0900 実機

_ 午後

1300 実機

1700 退勤

_

1930 Postfix あげ

2100 飯。ブリの照り焼き

_ /usr/pkgsrc/mail/postfix

===> Building binary package for postfix-2.8.3
=> Creating binary package /usr/pkgsrc/packages/All/postfix-2.8.3.tgz
===> Install binary package of postfix-2.8.3
postfix-2.8.3: /usr/pkg/etc/postfix/main.cf already exists
postfix-2.8.3: /usr/pkg/etc/postfix/master.cf already exists
postfix-2.8.3: setting permissions on /usr/pkg/sbin/postdrop (o=postfix, g=maildrop, m=2555)
postfix-2.8.3: setting permissions on /usr/pkg/sbin/postqueue (o=postfix, g=maildrop, m=2555)
===========================================================================
The following files are used by postfix-2.8.3 and have
the wrong ownership and/or permissions:

        /etc/rc.d/postfix (m=0755)

===========================================================================
===========================================================================
$NetBSD: MESSAGE,v 1.8 2004/07/19 22:03:13 jlam Exp $

Please run the following command to update main.cf and master.cf with
the latest Postfix services and configuration directives:

        /usr/pkg/sbin/postfix upgrade-configuration

If you are upgrading from a previous Postfix installation, you may want
to back up any existing configuration files before running the above
command.

Postfix may be activated by executing:

        /usr/pkg/sbin/postfix start

===========================================================================
===========================================================================
$NetBSD: MESSAGE.NetBSD,v 1.5 2010/03/02 08:07:36 martti Exp $

The existing /etc/rc.d/postfix can be forced to start /usr/pkg/sbin/postfix
instead of /usr/sbin/postfix, by adding the following lines to
/etc/rc.conf.d/postfix:

        postfix_command='/usr/pkg/sbin/postfix'
        required_files='/usr/pkg/etc/postfix/main.cf'
        start_cmd='/usr/pkg/sbin/postfix start'
        stop_cmd='/usr/pkg/sbin/postfix stop'
        reload_cmd='/usr/pkg/sbin/postfix reload'
        postconf='/usr/pkg/sbin/postconf'

Please note that /etc/rc.conf.d/postfix does not exist by default so
you need to create that file if you need to override the default settings.

Remember to modify /etc/mailer.conf to use /usr/pkg/sbin/sendmail instead
of /usr/libexec/postfix/sendmail.
===========================================================================

言われたとおりに仕事する。

% cd /usr/pkg/etc/postfix
% sudo  /usr/pkg/sbin/postfix upgrade-configuration
Editing /usr/pkg/etc/postfix/master.cf, adding missing entry for retry service
Editing /usr/pkg/etc/postfix/master.cf, adding missing entry for proxywrite service
Editing /usr/pkg/etc/postfix/master.cf, adding missing entry for postscreen TCP service
Editing /usr/pkg/etc/postfix/master.cf, adding missing entry for smtpd unix-domain service
Editing /usr/pkg/etc/postfix/master.cf, adding missing entry for dnsblog unix-domain service
Editing /usr/pkg/etc/postfix/master.cf, adding missing entry for tlsproxy unix-domain service

    Note: the following files or directories still exist but are
    no longer part of Postfix:

     /usr/pkg/etc/postfix/postfix-files /usr/pkg/etc/postfix/postfix-script
     /usr/pkg/etc/postfix/post-install

んん?

% su
#  /usr/pkg/sbin/postfix upgrade-configuration

    Note: the following files or directories still exist but are
    no longer part of Postfix:

     /usr/pkg/etc/postfix/postfix-files /usr/pkg/etc/postfix/postfix-script
     /usr/pkg/etc/postfix/post-install

ふむ

% sudo rm post-install postfix-files postfix-script

あとは /etc/rc.d/postfix を適当に書いて再起動

Tags: postfix