ニコニコ超会議の臨時列車とりに行ってきた

ニコニコ超会議の臨時列車が2本走るとのことで、撮りに行ってきた。
最初は品川で485系宴のミステリートレインを撮影。出発予定時間ギリギリの入線になったから撮影終了し次第速攻で京浜東北線に乗車し、東十条へ。
東十条で、24系の臨時列車を撮る予定だったが、東十条到着と同時に列車が通過していったから全く準備できなかった…orz
東十条で、とし様と合流。そのまま北千住へ。
北千住でE531系とE657系を撮影し、府中本町に行こうということになったが、途中で中断し西国分寺駅から中央快速線->御茶ノ水->錦糸町と乗り継いで総武快速線へ。この段階でニコニコ生放送とtwitterで実は北千住出発の30分後にミステリートレインが北千住を通過していたことが判明。その後も津田沼で折り返すところまでは分かったが、間に合わず。誉田まで逃げられたので、蘇我から千葉みなとに移動して待機。無事に撮影し、千葉都市モノレールで千葉に移動。昼食ったあと西船橋を経由して中浦和に移動し、埼京線を撮影。
その後は、秋葉原で少し買い物して東京駅で解散。
とし様、お疲れ様でした。

CMakeでtexのビルド

CMakeでtexをビルドする方法が大体わかったからメモ書き。これを応用すれば、texに限らず好きにビルドできるかな。
CMakeLists.txt


SET(Document_BINARY_DIR ${CMAKE_CURRENT_BINARY_DIR})
SET(Document_SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR})
ADD_CUSTOM_TARGET(DOCUMENT ALL echo DEPENDS ${Document_BINARY_DIR}/network.pdf)
ADD_CUSTOM_COMMAND(OUTPUT ${Document_BINARY_DIR}/network.pdf DEPENDS ${Document_SOURCE_DIR}/network.tex
	COMMAND platex ARGS ${Document_SOURCE_DIR}/network.tex
	COMMAND dvipdfmx ARGS ${Document_BINARY_DIR}/network.dvi
)

Document_BINARY_DIRとDocument_SOURCE_DIRは気分で変えてるだけだから割りとどうでもよくて。
ADD_CUSTOM_STAGETでビルドターゲットに「DOCUMENT」を追加し、Document_BINARY_DIR/network.pdfを完成バイナリに指定。
ADD_CUSTOM_COMMANDで出力をDocument_BINARY_DIR/network.pdfに、入力をDocument_SOURCE_DIR/network.texに指定。COMMANDでnetwork.texをビルドし、dviに続いてのCOMMANDでそれをpdfに変換。dviの出力先はDocument_BINARY_DIRになるので、そこだけ注意。
あとは、cmakeでMakefileを作って、make DOCUMENTでビルド。Document_BINARY_DIR/network.pdfができてた。

CMake導入中

Autotoolsのスクリプトを書くのが大変なので、CMakeを導入してみた。
とりあえず、boost::asioの練習ついでにhttpクライアントとTCPサーバーをCMakeでビルド。
単純にビルドするだけなら、
/CMakeLists.txt


CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
PROJECT(AsioTest)
#Boostディレクトリの設定
IF(WIN32 AND NOT UNIX)
	SET(BOOST_INCLUDEDIR C:/MinGW32/msys/1.0/local/include)
	SET(BOOST_LIBRARYDIR C:/MinGW32/msys/1.0/local/lib)
ELSE(WIN32 AND NOT UNIX)
ENDIF(WIN32 AND NOT UNIX)
#boost::systemの捜索
FIND_PACKAGE(Boost COMPONENTS system REQUIRED)
INCLUDE_DIRECTORIES(${Boost_INCLUDE_DIRS})
#サブディレクトリの設定
ADD_SUBDIRECTORY(httpClient)
ADD_SUBDIRECTORY(server)

/httpClient/CMakeLists.txt


ADD_EXECUTABLE(http src/main.cpp)
TARGET_LINK_LIBRARIES(http ${Boost_LIBRARIES})
IF(WIN32 AND NOT UNIX)
#Windowsの場合は、winsock2とmswsockが必要
find_library(WS2_32_LIBRARY ws2_32)
TARGET_LINK_LIBRARIES(http ${WS2_32_LIBRARY})
find_library(MSWSOCK_LIBRARY mswsock)
TARGET_LINK_LIBRARIES(http ${MSWSOCK_LIBRARY})
ELSE(WIN32 AND NOT UNIX)
#Linux系はpthreadが必要
	find_library(PTHREAD_LIBRARY pthread)
	TARGET_LINK_LIBRARIES(http ${PTHREAD_LIBRARY})
endif(WIN32 AND NOT UNIX)

/server/CMakeLists.txt


ADD_EXECUTABLE(server src/main.cpp src/server.cpp src/user.cpp)
TARGET_LINK_LIBRARIES(server ${Boost_LIBRARIES})
IF(WIN32 AND NOT UNIX)
#Windowsの場合は、winsock2とmswsockが必要
	FIND_LIBRARY(WS2_32_LIBRARY ws2_32)
	TARGET_LINK_LIBRARIES(server ${WS2_32_LIBRARY})
	FIND_LIBRARY(MSWSOCK_LIBRARY mswsock)
	TARGET_LINK_LIBRARIES(server ${MSWSOCK_LIBRARY})
ELSE(WIN32 AND NOT UNIX)
#Linux系はpthreadが必要
	FIND_LIBRARY(PTHREAD_LIBRARY pthread)
	TARGET_LINK_LIBRARIES(server ${PTHREAD_LIBRARY})
ENDIF(WIN32 AND NOT UNIX)

これだけ。
boost::asioを要求するため、FIND_PACKAGEでパッケージ探したり、boost::asioが要求するライブラリがOSごとに違っているけど、そこはIFで分岐してFIND_LIBRARYで探してやればOK。
cygwinだけ何かしたい場合は、「IF (CYGWIN)~ENDIF(CYGWIN)」でいいっぽい。
設定次第ではインストーラーも作れるみたい。
こっちはちょっとややこしいけど、WindowsならNSISが、Linux系ならDEBが作れるらしい。
ビルドするときに、/buildを作って、cd。cmake ..ってやると、オブジェクトファイルもリンク済みバイナリも/build以下にできるから、

SET(CPACK_SOURCE_IGNORE_FILES  "/build/" "/.svn/" "/.deps/" "/.settings/" ".cproject" ".project")

でパック指定から外してやれば、make package-sourceでソースパッケージを作っても、余計なものが入らなくて便利。
公式のWin32バイナリは-Gで指定しないとVisual Studioのslnを出力しようとするから、MSYSでビルドしたければ、-G”MSYS Makefiles”がいるのに注意。
CMakeLists.txtを書くのなら、vimかEclipse + CMakeEdが便利。

富士急ハイランド行ってきた

2日前だけど
先週雪でほとんどのアトラクションが運休していたので、今日友人Kを連れてリベンジ。
朝に新宿駅で集合して、ホリデー快速河口湖号で富士急ハイランド駅へ。
富士急行線内富士山駅まで後ろ3両ドアが開かないみたい。指定席は最後尾の1号車なのに…
富士急ハイランド駅に10時頃に到着。この時点では、すべてのアトラクションが運転中。
フリーパス(5000円)買って入場。何故か最初に写真撮影。
ええじゃないかに並ぼうとするも、2時間待ちとのことで中断。FUJIYAMAの列に並ぶ。
…雨降ってきた。2時間弱運休に怯えながらなんとか乗車。この時点で若干氷混じり。最高速度130km/hで走行中に正面から氷がぶつかるから痛い。しかも曇ってて富士山見えない…
FUJIYAMA完走後、さすがに雨がひどくなってたからか、ほとんどの絶叫アトラクションが運休。
ちょっと遠くのマック行って帰ってくる頃には高飛車が運転再開してたから2時間並んで乗車。
こっちは1kmのコースを上へ下へ右へ左へ揺さぶられまくりながら完走。目玉の120°降下は手前で停止してから落下。ただまぁ…停止中に覚悟できちゃうんだよなぁ…おまけに富士山見えないし…
高飛車が終わった頃にドドンパが運転再開に向けて試運転してたけど、時間的にきついんでスルー。エヴァのブースとガンダムのブースを回って普通電車で帰宅。
ガンダムのアトラクションあれムリゲーwww1日やって多い日でクリア10~20人程度って難易度高すぎるだろwww
そのうち乗れなかった乗りに行こう。

河口湖行ってきた

2月29日に富士急行に元205系の6000系が導入されたから、写真取りに大月へ。
ついでに富士急ハイランドであそぼうかと思ったが、生憎の雪でアトラクション運休…orzしかも雪がすごくてあまりまともに撮れなかった…
朝、八王子から普通電車で高尾に移動し、高尾から115系スカ色に乗車。よく見たら先頭3両は河口湖行きだったので、相模湖駅で前に行こうとしたら、スマホ落としたorz
駅員さん呼びに行ってるまに電車は発車。しょうがないから後続の115系長野色で大月へ。大月で切符買ってホームヘ。ちょうど6000系が来てたから雪の中撮影。
その後、三つ峠で下車。撮影地に向かって徒歩で移動開始。浅間神社で雨宿りしつつ、列車待ち。
数本撮ったあと、寿駅に向かって移動しつつ、撮影地点の確認。寿で6000系撮影の後、トーマスランド号で下吉田駅へ。下吉田ではスハネフ14が静態保存されているので、乗車。少ししてからSHIMOYOSHIDA CLUBでさくら茶を飲んで下り電車で富士山駅へ。
富士山駅でマック食いに行こうとしたら、実は隣の富士急ハイランドのほうが近いことに気づかずに移動したため、結局1区間歩き通したうえにちょっと迷った。
なんとか富士急ハイランド駅についたら、ちょうどフジサン特急が来たので、河口湖へ。河口湖でモ1号撮ったら、フジサン特急で帰路についた。
その帰り道、手元の割といい加減なダイヤグラムだと谷村町駅の手前で6000系とすれ違うみたいなことになってたんだけど、谷村町駅周辺は単線。てっきり到着時間入れなかったせいで誤差が出てるんだとおもいきや、特急が停止寸前まで減速して6000系の入線と、ポイントの切替を待ってた…いっそ止まれよ。
大月からかいじに乗り換えて更に乗り換えて帰宅。今度はもっと天気のいい日に来よう…

はやぶさの映画見に行った

新聞屋がMovixのチケット置いてったとのことで、黒を誘って亀有のMovixに映画を見に行った。
見に行ったのは「はやぶさ 遥かなる帰還」。はやぶさ映画を見たのはこれで4作品目(BACK TO THE EARTH, BACK TO THE EARTH 帰還編, はやぶさ HAYABUSA, これ)。しかもまだあるという乱発っぷり…
昼前に亀有について、黒を待ちつつダイソーでペン立て購入。合流してから昼飯食ってアリオ亀有店3階のMovixへ。
今回の映画も管制室よりの視点。なのはいいんだけど…記者の家族の話とか、果たしているのだろうか…あと、新聞社のPCとプリンターにハヤブサのプロセッサなど、NECの製品が多かった。確かに関わっていたけど。タイプ音とエディタの入力が一致していなかったり、微妙に抜けたところもあった。
見終わってから綾瀬で5000系見て散歩してから北千住で日比谷線に乗り換え、南千住で常磐快速線に乗り換えて帰宅。
ところで…なんでみんな揃いも揃ってミネルバのことスルーするんだろう…

PS3届いたー

先週末から今週頭にかけて注文した机と椅子とPS3とモニタが届いた。
机は家具屋が持ってきて組み立てて終了。モニタを置いてPS3を置いてPC置いた所で、HDMI端子が1個しか見つからず、慌てて切替器買ったら、横についてた…orz
配線してUbuntuを設定してみるが、再起動すると画面モードが合わないとエラー。どうしようもないからWindowsメインにするために移行作業。
VirtualBoxにUbuntu入れて、Linux用開発環境を整備。WindowsのEclipseに足りないプラグイン入れてソースをチェックアウト。よく見たら最新の編集がなかったから、後で回収予定。
PS3はさっさとアップデートして、A.C.E.Rを起動。HDDにインストールしたけどディスク読み込みうるさい…
あと、USBメモリが一つ壊れてた…リムーバブルメディアと認識はするけど、中身が見れない…(´・ω・`)

lua5.2で困ったこと

lua使うときのメモ書き
luaのテーブルにC関数を登録するとき、lua5.1では

const luaL_Reg aiStatus[] = {
	{"getHand", AIStatus::getHand},
	{NULL, NULL}
};
luaL_register(l, "AIStatus", aiStatus);

で済んでいたのが、luaL_registerが廃止されたらしく、コンパイルできなくなっていた。
いろいろいじった結果

const luaL_Reg aiStatus[] = {
	{"getHand", AIStatus::getHand},
	{NULL, NULL}
};
luaL_newlib(l, aiStatus);
lua_setglobal(l, "AIStatus");

これで動くみたい。

RAIL WARS! -日本國有鉄道公安隊- 買ってみた。

RAIL WARS!-日本國有鉄道公安隊-を買った。
バーニア600様がイラスト書いてるとのことで、主にそっち目当てで購入。もしも国鉄が解体されなかったらの話。
未だに京浜東北線に205系が走ってたり、中央線新型車両が鋼鉄車体だったり(201系ではない)と、割と古い電車好き得な世界。かとおもえば、300系がエアロストリーム形状(700系)だったりする。
とりあえず、終盤出てくる機関車がやたらとかっこ良かった。あれNゲージで出たら買うかもしれん…

PixivRSSとニコニコ静画RSSのブックマークレットを作った

PixivRSSの登録にいちいち登録フォーム開くのが不便だと思ったんで、RSS作成ブックマークレットを作った。
昨日作ったときにはサーバー不調でデバッグすらあまり出来なかったけど、今朝サーバーが安定してからデバッグしてリリース。
URLはhttp://mattyan.net/Pixivrss/の便利ツールから
ついでで、ニコニコ静画RSSのブックマークレットも作成。こっちはあっさりデバッグも通ってリリース。
URLはhttp://mattyan.net/NSRSS/の便利ツールから
そのあと、PixivRSSをプログラムページに登録。代わりにベースOSの古くなった東方OSを公開停止処理。
東方OSは出向が終わってある程度余裕ができたら書きなおす予定。
ただ、UbuntuデフォルトテーマがEclipseと相性悪いので、先にテーマだけ移植するかも。
ツールチップが黒背景に黒文字で全然見えないとか…