2016年7月26日火曜日

ぽけもんご

自分でもちょっとやってみて、トレーナー特有の行動を把握したところで、街中のそれとおぼしき人々を観察。

私(あるいは、たまたまプレイ中でないトレーナー)が他のトレーナー(あるいは、たまたまプレイ中である人々)を見て違和感を感じるとき、私は実際には何に違和感を感じているのか。
公共の場所の中に、他人の私的な空間が突如入り込み、公共の場所が切り取られてしまったというのが実感に近い。
はた迷惑なヲタク……例えば一部の撮り鉄のような……とされる限られた人々だけが、無自覚かつ特権的に行ってきた迷惑行為が一般化したのか。確かにそんな風にも見える。

では、実際に起こっているのは、今まであまり見られなかった事態であるのか。一概にそうとも言えない。
泥酔して暴れ出す者、歩き煙草、大音量で音楽を流しながら街中をゆく車、ヘッドフォンからの音漏れ。公共の場所に私空間を持ち込む行為は枚挙に暇が無い。
むしろ、「公共」の中にいる、我々の方がこの新しい迷惑に不慣れで扱いかねているとも言える。慣れることによって、違和感それ自体は薄くなっていくだろう。

では迷惑さ、危険さを減じることはできないだろうか。
必要なものは公共心? 技術? ルール?

私自身に関して言えば、公共心にはあまり期待するところがない。
そもそも公共とはいうが、それ自体が不確実なものだ。
例えば、その昔に新興宗教系のPCショップが行っていた路上での呼び込み(この宗教団体は後に比較にならないほどの迷惑行為……事件を起こした後に壊滅させられた)。その宗教活動に関心の無い我々にとっては、私企業が行う私(わたくし)の行為だ。他方、店に所属する店員自身にとっては公(おおやけ)の行為だ。
例えば、ある系統の劇団が時折企画する、突如街中で始まる演劇。警察の許可は得ているだろうが、あずかり知らぬ通行人は驚くだろうし、そもそもがそれを意図しての企画だ。通行人に(適法かつ穏当に)迷惑をかけることで、公共と信じられていた場所を、複数のエゴが拮抗する場所に変えて、日常を破壊してみせる試みだ。
意図してのことにせよそうでないにせよ、公共そのものは相対化されうる。このようなときに、何を許して何を許さないかのよりどころになるのは公共心そのものではない。どこまでを公共とするかを規定するのは法の役目だ。

技術という面で見れば、なにかと拡張現実という言葉で説明されてきたPokémonGoだ。が、今までの考えからすると、結局拡張されている現実って何なの? とも言いたくなってくる。
現実世界に存在しない物が映る窓は手に入ったが、その窓が物理的に小さすぎて視野が狭くなってしまっている。
狭くなった視野が、その中への視線と注意の集中を求めてくる。結果、プレイヤーは自覚無く、獲物を狙う猫のように無防備な状態に陥る。
ゲームの製作者は、今までプレイヤーに没入感を与えるための工夫と研究を行ってきた。今、ここに至ってはむしろプレイヤーをゲームの中に埋没させない工夫が必要になってきている。
この没入にブレーキをかけることが技術的に難しいのなら、没入とそれに伴う危険を意識させ続けることが必要だ。

今でも語りぐさになっているバーチャルボーイ。拡張現実のずっと手前で、仮想現実を最新の技術として求めていた頃。
ゲームに没入するためには、むしろ儀式が必要だった。ゲーム機を据え置く専用の場所。外からのノイズを遮る黒いウレタンの覆い。プレイヤーの目の疲労を抑制するために、あえて赤一色とされた液晶画面。
これからゲームをするのだという明確な意志。今から始まるのは特別な時間なのだという神妙さ。否が応でもそれらを要求する機械だった。
我々は今こそかのゲーム機を物置の中から取り出すべきなのだ。

2016年7月23日土曜日

Bash on Ubuntu on Windows

MicrosoftがUbuntu環境をWindows上で動かす魔改造に取り組んでいるというので、参加してみている。

例えば、対人間のコミュニケーションはExcelやWord文書なので、会社のPCはWindows一択。でも、開発するときはサーバと同じ*nix環境でやりたい……といったとき。事務用と開発用のPC実機を2台持つ、あるいは片方の中に仮想PCとしてもう片方を構築する、といった選択肢が今までもあった。
しかし、PC2台は場所を取る、仮想PCは動きがトロくなりがち、といった固有の回避しがたい問題もあった。

そこにMicrosoftが、Windows上に*nixの各種お約束が通じる場所を直接作り込んでしまうという新しいアプローチを試み始めた、というところが今の局面。

  • シェルはbashがデフォルトだが、インストールすれば他への切替えも可能。
  • ファイル名のルールはWindowsではなく、*nixのお約束に従う。
  • ファイルのアクセス権管理もWindowsではなく、*nixのお約束ベースで……ここは未完成。
  • パッケージ管理はaptで、linux用のソフトウェアを直接持ってこれる!
  • ネットワークは機能するが、未だ開発途上。avahiはもちろんpingもダメ。

Vimはもちろん。

byobu(tmux)上でPowerlineでさえ動く。

いっそ、Ansibleでローカル環境も管理しようかと試みたが、情報収集時点でfailした。
原因は、*inx環境ならあるはずのシステムファイルが完全には再現されていないため。
でも、このBash on Ubuntu on Windowsを管理用のPCとして、他のPCの環境を構築することはできそうだ。(AnsibleはWindowsサーバの環境構築も可能だが、管理用のPCは*nixしか使えない)

ssh使えるし、ちょっとサーバにログインしてログを読んだり、設定ファイルを微調整……的な使い方には向いているはず。

今、一番気にしている問題は、bashとの窓口となる端末アプリが貧弱なこと。コマンドプロンプトの強化版といったところで、カーソルキーが使えない場面があったり(Vimmerにはおなじみのjkで上下移動)、日本語入力ができなかったり。流し見にPageUp、PageDownを使う勢なので、これらのキーが使えないのも。あとコピペがお察し。

2016年6月11日土曜日

How do I do?

「あれ?今、何しようとしてたんだっけ?」という疑問が頭をよぎることがある。
それとは別に「ロボットにこういう処理をさせたいんだけど、どう書けば?」という疑問が頭をよぎることもある。
前者は現在の科学力ではいかんともしがたいが、後者については藁をもつかむ気持ちで試しておきたい手立てが無いわけでもない。

https://github.com/gleitz/howdoi

howdoiは、たまたま、……ホンのたまたま、お決まりのプログラム表現をド忘れしてしまった年寄りプログラマのためのツールである。
英文っぽく、やりたいことと今利用中のプログラム言語をパラメータとして与えると、インターネッツ(基本、StackOverflow)からなんとなくそれっぽいプログラムの断片を探し出してくれる……かもしれないツールである。


howdoi自体はコマンドラインからの実行を想定したものである。が、厨学二年生のためのエディタ、Vimから利用するためのプラグインも公開されている。

https://github.com/laurentgoudet/vim-howdoi
https://github.com/isovector/vim-howdoi

前者のURLは、外国のオッサンが作ったオリジナル。
その次のものは、そのオリジナルをまた別の外国のオッサンが魔改造したものだ。
オリジナルのvim-howdoiは、機能を利用するためのキー割当が固定で、かつその固定された割当が他のユーザが便利に使っている機能と被っていたのがイマイチとされていた。それを他のキー割当が可能になるように改造されたのである。

ここまでくれば至れり尽くせり……と思っていたが、私自身が利用するにはまだ足りなかった。

私はプログラム言語としてPythonをよく利用する。イチから書くときは最新バージョンのPython3系を利用するが、他方既存のツールはまだPython3に対応しておらず、1つ前のメジャーバージョンであるPython2系のままなのも多い。(こちらもこちらでセキュリティ維持他の理由でバージョンアップが続いている。だから、なかなか乗り換えが進まない)
howdoi自体はPython2, Python3どちらでも動作するが、問題はVim。
Python2系、Python3系、Vimは両方の環境と連携できるのだが、1回の起動で片方と連携してしまうと、もう片方とは連携できなくなる。複数のプラグインがそれぞれ片方のバージョンにしか対応していないと、後から適用した方がエラーになる。なった。困った。

vim-howdoiが利用しているPythonのバージョンは2だった。
Pythonバージョンを2に揃えてしまおうか……。
いや、ダメだ。自分で書いたプログラムは多くがPython3系だ。エディタの、かつオフィシャルでない付加機能のためだけに、それらを巻き戻すのは辛すぎる。
また、自宅PCから間借りしているVPSまで、複数の環境を持っていて、Vim自体の対応Pythonバージョンも様々だ。

改めて考えてみれば、howdoi自体はPython2, Python3の両方に対応している。しかも外部コマンドとして実行するので、VimのPythonインターフェースはそもそも不要だ。
結局、さらにもう一人の外国のオッサン、つまり自分でPython依存部分をVimScriptで書き直すことにした。

https://github.com/morinatsu/vim-howdoi/tree/repure

とりあえず動いてはいるようだ。
もうちょっと、元のvim-howdoiの挙動に近づけたいし、エラーハンドリングとかもやりたいなぁ。
そうしたら、fork元にPull Request送って、取り込んでもらいたいなぁ。

……と思ったら、このソフトウェア、公衆便所ライセンス(WTFPLv2 License)だ..... orz

2016年6月9日木曜日

アンダーカバー

古き良き時代(?)のスパイ戦争を題材にしたボードゲーム。
ぱっと見の印象では、幼い頃(30年以上前だ)に親戚にもらった「Cluedo」らしきゲームの日本語版(「探偵」とか、そんな名前で売られていたと思う)に近い。

「Cluedo」ではプレイする度に犯人、凶器、犯行現場が変わり、各々のプレイヤーはそれらを明らかにすべく行動する。
この、アンダーカバーではむしろ逆で、プレイヤーは自分の正体を他のプレイヤーから隠しつつ、彼らを出し抜いて利を図る。
読み合いのゲームである、という点は変わらないのだろう。そう思っていた。

人間は、自分が行動する際は気分を優先するくせに、他人の行動には何らかの合理性を期待する。
人間は、自分の行動には環境や状況をもって説明するのに、他人の行動には本人の性向をもって説明する。

読み合いを成立させるには、互いがそれなりに熟練し、ゲームを理解していることが必要だ。
あるプレイヤーは、自分の正体を隠すのに夢中で、ゲーム自体の勝利を二の次にしていた。
また、別のプレイヤーは純粋に勝利を求めていたが、肝心の自分の正体を間違ったままプレイしていた。

たった1つのゲーム版の上で、我々は全く別のゲームをプレイしていたのである。
我々は、某超大国がかつて犯した過ちと同様に、ありもしない大量殺戮兵器を求め、それ自体が頓珍漢な他プレイヤーの思惑を推測すべく、狭い街の中をぐるぐる廻っていた。

陰謀はある。常にある。あなたにも、かなたにも。老人には老人の。赤子には赤子なりの。
だが、それは必ずしも世界がその特定の陰謀に支配されていることを意味しない。

このゲームは、特定の団体ないし個人の陰謀によって世界が支配されているという、素朴な陰謀論に対する反論である。

「パンプキン・シザーズ」9巻より


2016年5月31日火曜日

Black Stories

他の割と大きめなボードゲームの合間に、息抜きがわりにプレイしたカードゲーム。

カードゲームとは言いつつ、1回のプレイで使うのはカード1枚だけ。
複数人でプレイするのだが、勝ち負けがあるわけでもない。

Black Storiesの名の印象通り、「死んだ」とか「殺された」とか、あまりイメージのよろしくないシチュエーションがカードの表面に書かれていて、そのカードを選んだプレイヤー以外の全員で、その死因なり犯人の動機なりを推理していくのである。
カードを選んだプレイヤーは、いわば審判役として、他のプレイヤーの質問に答えたり、ヒントを出したりする。

面白いのは、提示されている情報が少ないので、与えられた情報からは理詰めで正解を導き出すことが不可能な点。自ら進んで審判役のプレイヤーに質問して情報を集めていかなくてはならない。しかも、審判役はyes/noで答えられる程度の質問にしか回答できないルール。しかも、多くの問題は「これ、普通は思いつかない」と思えるほど突飛だ。

地頭の良さ、という表現では大ざっぱに過ぎるだろう。第一印象に引きずられない想像の枠の広さや、問題を切り分けたり、逆に切り広げたりする質問を生み出す着眼点。説明されていることから、説明されていないことを見つけ出す疑り脳。色々な能力が必要だ。
色々な能力が必要なのだが、ポイントになるのはこのゲームが多人数プレイ用であるところ。何も全てを自分一人で解き明かす必要はないのだ。

何度かプレイしていくうちに、良く見知っていたはずの友人の意外な面が見えてきたり、秘かに思っていたことが腑に落ちたりするだろう。
三人寄れば文殊の知恵。Black Storiesはチームワークのゲームである。

惜しいのは、カード(=問題)の数が有限であること。既に正解を知っているプレイヤーがいるカードは使うことができない。ま、しょうがないことだけどね。


2016年5月29日日曜日

フンタ(JUNTA)

SF研の後輩に誘ってもらって、学生時代にすらほとんど経験してないボードゲームを秋葉原で。

フンタ日本語版
https://hobbyjapan.co.jp/junta/


 

南米の某国で、権力者達が国連からの援助金を巡って、暗殺やクーデターを繰り返しながら蓄財に励んでいく……という、身も蓋もない設定のゲーム。
私自身はもちろん、他にも初プレイのメンバーがいたので、ルールを教えてもらいながらのプレイとなった。
その顛末は。

私はクーデター時の戦闘指揮で名を挙げた後、大統領に就任。
その後、形の上では部下であるライバル達に地位と資金を分配してパワーバランスと不平不満のバランスを調節しつつ、彼らのクーデターや暗殺に怯えながら、居場所を転々とするというチキンプレイ。
反対者なしという消極的な理由で再選を続けて、前代未聞の長期政権となったところで、クーデター発生。
みるみるうちに追い詰められ、政権を追われるかと思いきや、クーデターの首謀者達からまさかの再指名。その後も(心情的には)他のプレイヤーの傀儡みたいな形で大統領を続けた。
(大統領以上に悪評を被っていた、内務長官が代わりに処刑された)

プレッシャーと恐怖から(プレイヤーである私自身が)逃避しようと訪れた、
愛人宅でまさかのスキャンダル発覚、政治家生命と全財産を失った。
(他のプレイヤーからは、強固な支持基盤と清貧な暮らしぶり、公平さを賞賛されていたので、酷く驚かれ……その後大いに笑われた)

ボードゲーム、面白そうとは思ってたのだけど、一人では遊べないし、単価も(ユーザーが少ないので)割と高め。
もうちょっと気軽に遊べる環境があればなぁ。

2016年5月22日日曜日

アン死亡(Ansible)は二度死ぬ

家庭内LANで稼働していたRaspberryPiサーバが音信不通になった。
別に盗まれたわけでもなく、電源が消えたわけでもない。日に一度送って寄こす稼働報告メールがある日から届かなくなったのだ。
調べてみると、他の機器からのネット接続は受け付けられず、直接ディスプレイとキーボードを繋いでも無反応だ。

電源抜いて起動しなおしても……というか起動しなくなった。
リカバリ機能自体は生きていて、さあリカバリするディスクを選んでくださいとなるのだが、ディスクの候補が出てこない。
何が起こったか分かった。ディスク代わりに使っているSDカードの障害だ。おそらく寿命(書込可能回数)を使いきってしまったのだろう。

このサーバの役割は赤外線リモコン機器の制御と、外で借りているVPS(仮想サーバ)の稼働監視。そして我が家の室温や湿度といった情報の記録だ。年間365日24時間データを書き続ける仕事をさせていたのだから、当然の結果と言える。

復旧に必要な作業は…


  1. 代わりのSDカードを入手する。ともかく、これがないとRaspberryPiは起動しない。
  2. メインで使うHDDを用意する。SDカードだけでは同じ問題が再発するから。
  3. 一旦、SDカードに専用OS(Raspbian)をインストールして、起動確認。
  4. インストールしたOSをHDDにコピーする。
  5. SDカードでの起動後に、その後をHDDにスイッチするように、SDカードの情報を書き換える。
  6. OS以外のソフトウェア、各種設定を元のとおりに再現する。


一番面倒な作業は6だ。そもそも元のRaspberryPiに何を入れていたか思い出さなければならない。1〜5は割と皆が同じようにやる作業なので参考になる情報があるが、6は過去の自分がやったことなので、記録がないと始まらない。半年前の自分は他人というヤツ。

実のところ記録はあった。しかも、それ自体が自動実行可能な記録だ。
Ansibleのplaylistの形で構築作業の記録をしていたのである。

Ansibleスゴい。自分じゃすっかり忘れてた細かい作業まで、ロボットのように進めてくれる。
自分はといえば、そのロボットが作業しているところを横目で見ることもなく、録画したアニメの視聴に没頭していた。
この記事ではAnsibleの働きぶりを書くつもりでいたのだけど、むしろスムーズすぎて書くことがなかった。

実を言えば、コマンド一つでまったく手を出さずに済んだわけではなかった。Ansible自体のバージョンアップに追随するための書き換えとか。
ただ、今やるべきこと、過去やったことはすでにそこ書いてある。あるべき手順をイチからひねり出すことなく、古い記述を書き換え、空欄を埋めるだけの比較的頭を使わない作業だけで、進められるというのは脳にかかる負担が段違いだ。

一番面倒なはずの作業6があっさり終わった。

欲が出て、今はVPSの構築のほうの自動化に取り組んでいるのだけれど、これはまた別の話。



Ansibleを覚え始めのころ参考にしていた本。
紹介され始めた時期、ネットの情報は(当たり前だけど)「やってみた」程度のあっさりしていたものばかりだったので、包括的な知識を欲していた身にはありがたい存在だった。
今ではAnsibleのバージョンが上がっているので、そのまま使うというわけにはいかないかもしれない。根っこの部分が分かれば、あとはなんとでも……という人には有用。