2016年1月2日土曜日

大森浅間神社

なんでも、絶世の美女をまつった神社が近場にある、とのことで詣でてきた。
お姫様で火属性とか、つい最近ラノベ原作アニメでよく見かけていた系の神様だ。

大森浅間神社。
http://sengenjinjya.com/

大森浅間神社

建物の中で祈祷を受けてる参拝者がすでにいたものの、神社につきものの、鈴と紐や、参拝の待ち行列もなかったので、どこでお参りしていいのか分からず数分迷った。
いっつも、前の人の参拝のやり方を見よう見まねでやってるクチなので、他の一般参拝者が来てホッとするという始末。神社の鈴って、必ずあるもんじゃないのだね。

この辺(大田区)は、川崎大師を初詣場所にしている人が多いのだろうか。
参拝者の数はまばらだ。が、安産の神様でもあるからだろうか、若い人が多かった。

それにしても、露店が並び、三が日過ぎても初詣客が行列する、町田天満宮は立地に恵まれているのだなぁ。

今年は、ちょっと奮発して、悪魔に投げつける系のアイテムも購入してみた。
で、今、その置き場所に困っているところ。

2015年10月25日日曜日

今期 これを見る(2015年秋)

「面白いアニメしか見たくないなど甘え。皆が等しくこの不幸を負うべき」
今期のラインナップは、そんな、意識の高いアニメファンに試練を与えられた試練である。
もちろんつきあってられないので、私自身はいつもどおり、どんどん消し込んでいくのだけど。

うたわれるもの 偽りの仮面

前作アニメ→前作ゲーム→今作ゲーム→今作アニメ(←いまここ)
家出少女達が成り行きでいろいろやっちゃう作品。
主人公が女の子のみならず、男の子たちからもモテモテなのまで前作通り。
ファンタジーなりに、割と一般人の生活や風俗をていねいに描こうとしていて、そこが個人的な見所。

ヘビーオブジェクト

初見の印象は、刃が立たなさそうな敵を手持ちのリソースだけで仕留める展開が『アルドノア・ゼロ』みたいだな、だった。
主人公補正甚だしい昨今のアニメの見過ぎで感覚がおかしくなっていた。こっちの構図の方がむしろ王道だ。普通の作りなのだから似てるも何もない。

ブレイブビーツ

大好評だった(オレ調べ)『トライブクルクル』の後継番組なんだけど、ちょっと控えめ。
ダンス人生まっしぐらだった前作に比べて、本作は味付け程度になるのだろうか。
このままだともったいないので、何らかの大盤振る舞いが欲しいところ。

鉄血のオルフェンズ

「『ロミオ』だった。」(←悪い『ロミオと青い空』ファン)
ソロモン72柱を模したガンダムが用意されるのなら、1話で2体くらいずつ出していかないと悪魔図鑑が完成しないので困るのだけれど。
『Gガンダム』に負けないくらいの飛ばしたデザインのガンダムを希望。(ガンダム・ベルフェゴールはやっぱり便器に座った姿で登場するのだろうかと思ったけど、かの悪魔は72柱に数えられた中にはいなかった。残念!)


2015年4月4日土曜日

ちょっとした改良

RasberryPiを利用しての楽々リモコン生活構築も一段落。もうそろそろ気になってた別のプロジェクトを進めるか〜。
とは言っても、そんな大掛かりなことを始めるつもりはなくて、以前作った小さいサービスの小さな改善。

ComicDashの新刊カレンダーをiCalendar形式に変換するサービスcomdashcal。
以前から、時折エラーを吐くのを気にはしていた。元サイトのアクセスに時間がかかると処理を中断してしまうのだ。
気にしつつ放置していたのは、ユーザー数の少なさもさることながら、エラーによるユーザーへの影響を小さく考えていたことによる。
オンラインのカレンダーに読み込んで使われる前提なので、多少のエラーがあっても更新が滞るだけで、いきなり消えてしまうことは無いから平気くらいに考えていたのだ。

ちょっと考えを改める気になったのは、1時間に数回とか、割と頻繁にアクセスしてくる(本人が意識しているか否かはともかく)ヘビーな使い方をしてくるユーザーもぼちぼち現れてきたから。こちらに行われるアクセス1回が、まんま元サイトへのアクセス1回になってしまうのがさすがに申し訳ないような気がしてきたのだ。寄生虫なりの遠慮というものがあってしかるべきだ。

なので、今までサボっていたキャッシュ機能の実装というのが今回の改善のテーマである。
一つのページヘのアクセスが連続したら、以前アクセスしたときのデータを再利用することとし、元サイトへのアクセスを控える。comdashcalの場合、アクセスするページはそのユーザーの新刊カレンダーのページなので、ユーザーごとに1ページずつ、その内容を保存することになる。
とはいえ、GoogleAppEngineにはmemcacheが最初から入っているので、これを使うだけ。新しいミドルウェアの導入とか必要ない。なんで今までやらなかったのか。
そういや、金融でも物流でもオンラインは当然即時反映、さもなきゃ夜間バッチで翌日反映が当たり前。今までキャッシュなんか扱ったことなかった。I am COBOLer.
人生初のネットワーク・ソケット・プログラミングの次はキャッシュを使った通信量削減に初挑戦だ。この歳で。

ついでに、これまた今更ながらTask Queueという仕組みも導入している。
キャッシュへのページ内容の保存は、元サイトにアクセスしたときのついでに行うのだが、元サイトへのアクセスが中断する場合は当然その内容を保存できない。
これでは「たまたまうまくいく」ことを期待して、元サイトへのアクセスを繰り返すことになってしまう。(実際、うまくいくことも多かった)
ユーザーからの直接のリクエストが失敗した時に、裏でこっそり(もう少し気長に)処理をやり直してキャッシュへのページ内容の保存の部分だけ行い、次に同じユーザーがやってきた時に「こんなこともあろうかと」と取り出してみせる。そんなことを目論んでいる。

果てさて、うまく動きますかどうか。

2015年3月21日土曜日

やってきたこと。そしてアン死亡

学習リモコンiRemoconWiFiを、さらにブラウザから操作するWebアプリを造った。

操作するだけならスマホアプリがある。一般的な利用ならコレで十分だ。便利に使えている。
定型的な操作を前もってタイマー登録する作業を、既に登録されているタイマーのリストを確認しつつやりたかった。
この、既に登録されているタイマーの情報がスマホアプリでは薄い。これはiRemoconWiFiが学習済みの赤外線信号を(どの家電のどのボタンという情報を持たず)番号で管理していることによる制限だ。

iRemoconWiFiそのものから情報を得られないなら、別な機器に情報を持たせて、ついでにiRemoconWiFiそのもののコントロールもソイツに任せたい。そういう発想だ。

何しろWebアプリなので、PCからでもiPadからでも操作できる。
しかし、Webアプリのサーバーが常時待機している体制にないとほとんど実用にならない。寝床からiPadで操作するのに、いちいち起き上がってPCを立ち上げてから、というのは寒い。PCを立ち上げっぱなしにしておけるほどの余裕も無い。

最初に考えたのは月額1,000円のVPSだが、iRemoconWiFiは家庭内ネットワークの外からの操作には現状、個人利用向けでは対応していない。(法人なら応相談とか)
なので、実現には家庭内ネットの中にWebアプリを動かせるサーバーが必要だ。どこかに、安くて(予算1万円)小さくて(手のひらサイズ以下)電力消費の少ないPC(ネットワーク機能とプログラミング環境が必要)はないものか。Android端末、超小型PC等いろいろ物色した結果、RasberryPiを選択。こんなの。
この手のひらサイズの機器に、ディスプレイとキーボード、マウスが繋がる。ある程度セットアップしたら、ネットワーク経由での操作に切替えて、ディスプレイ等は外してしまえる(何しろウチではテレビと兼用だ)。
Raspberry PiにはLinux系列のOSをインストールして使う。推奨のRaspbianを使った。これにiRemoconWiFiと通信するための自作ソフトと、それを操作するためのやっぱり自作のWebアプリ、Webアプリを動かすためのサーバー(gunicornを利用)やらウンタラカンタラ。

さて、動作も良好だし、事故に備えてバックアップでも……というところで、MicroSDメモリ(Raspberry Piではハードディスク代わりにSDメモリを利用する)が壊れて、起動しなくなった。えっ、これからバックアップを取るトコなんですけど?!

Raspberry Piの弱点はこのメモリと電源。何しろナリが小さいので自前の安定化装置とかは内蔵不能。ACアダプタが頼りだ。そして、電力供給が一瞬でも途切れたら、お皿の上の料理が床にぶちまけられる。3秒ルールを適用する暇もなく、即生ゴミだ。
……ということを3回ほど繰り返した。

このままではダメだ。
楽するために色々買ってきたのだ。各種ソフトのインストールの練習ならわざわざ機器を買うまでもなかった。
よし、自動化しよう!

以前、Chefにチャレンジしていたが、仕掛けが複雑すぎて逆に手間だった。数十台のサーバの管理が仕事ならともかく、やりたいのは1台のサーバのセットアップを(壊れる度に何度でも)繰り返すことだ。もうちょっと手軽なAnsible(あんしぼー)に乗り換える、今がそのチャンス。

何度か繰り返したセットアップ作業中に利用したコマンドを1つずつ順番に、Ansibleの設定に置き換えていく。同じPCに同じ設定を適用できれば十分なので、再利用性とか汎用性とか考えず、安直にベタ打ち。
設定書く→実行する→失敗する→修正する→実行する→成功する→設定継ぎ足す→実行する→失敗する→......
実行の繰り返し回数は増えるものの、叩くコマンドが1種類で済むのと、一旦成功した部分を飛ばして失敗したところから進める機能があるので、早いし気楽だ。

サーバー機器向けの構成管理ツールは色々あるけれど、Ansibleは事前に準備が必要なものが少なくて済むのが嬉しい。というか、設定する相手がサーバーなら必ず弄るところばかりなので、独自の準備らしいものと言えば手元のPCにAnsible自体を入れることくらいだ。始めやすいのが大きな利点と言える。

とは言え、学習コストはゼロにはならない。
自分が参考にしたものは、これら。

とっかかりを得るために一読した。

途中でつまずいたら。
http://qiita.com/tags/ansible

結局、一番頼りになるのは、なんと言っても公式。
http://docs.ansible.com/

2015年2月8日日曜日

そのうちやりたかった

で、webの続きのさらに続き。

1. センサー情報の自動更新
ザ・黒い画面ザ・黒い画面

やった。
ブラウザ内でJavaScript動かして、3分おきに最新の情報で該当箇所を書き換えている。JavaScriptで直接センサー情報を取得する……と言うことはさせずに、サーバーを間に挟んでJSON型式でデータをもらっている。
サーバー側は元のページと同様にPython製。最初にページを表示する時の情報取得のロジックを流用して、iRemoconWiFiからの情報を(ページの一部として編集する代わりに)JSON型式に再編集してあげるということをやっている。
結果、そのセンサー情報の取得とページの更新がサボらず行われているかは、右側の黒い画面で確認している。


2. タイマーの取り消し機能
3. タイマーの追加機能
PCからでも
iPadからでも

PCからでも、iPadからでも。学習済みのリモコンの番号は以前データ化してあるので、読み込んだそれと日時を選択して、どんどん一覧に追加していく感じで。で、一覧にはキャンセルするためのボタンが1つ1つ用意されていて、「せっかくだから取り消ししてみよう!」とユーザーを誘惑するという寸法だ。
こっちも、iRemoconWiFiとの通信部分と表示とを別々に切り分けるつもりだったんだけど、そこまでやるかどうかは思案中。

2015年1月29日木曜日

で、webの続き

ちょっと見栄えを変えてみたよ。


番町梅屋敷

iRemoconWiFiで意外に重宝したのがタイマー機能。動きを予約できるようになると、PC、スマホを一日中点けっぱなしにしなくて良くなるので。


そのうちやりたいリスト

     
  • タイマーの取り消し機能はそのうち追加しようと思ってる。
  •  
  • 新しいタイマーを追加できるようにするには、リモコンに設定してある家電から信号を選ぶ必要があって、クライアントサイドJavaScriptが必要になってくるとみている。これは私自身の経験が少ないので時間がかかりそう。
  •  
  • どうせJavaScript触るなら、センサーの情報の自動更新もやらないとね。
  •  
  • こうなると、センサー類の数字をログに溜めたくなるんだが、こればかりはiRemocon単独じゃムリだよなぁ。

2015年1月18日日曜日

モンスターハンター 第二期

モンハン、楽しいけれどG級相手ばかりだと辛くて辛くて。たまに、下位のモンスターに普段使用しない武器で挑んでみたりするんだけれど。
その他に上手なプレイヤーのプレイ動画を見るってこともやってる。手際がいい人の作業を見て「とても、こんなことはできない」と不器用な自分を慰める。そんな感じ。

ちょっと前に評判になったこのプレイヤー、最近復活したらしい。
http://ch.nicovideo.jp/aldnoahzero

彼のプレイについて、一部で「チートを使用しているのでは」などとの疑いの声もあるようだ。しかし、彼自身はまっとうで、かつ確立した方法論を持っているプレイヤーだと私は思う。彼はきちんと自分の行っている分析と準備を説明しながらプレイしており、言わばタネと仕掛けを公開した上で、衆人環視の中、堂々とハンティングを行っているのだ。

とは言え、やはりプレイ動画ならではの不自然さは残る。

まず、モンスターの攻撃方法を見切るアプローチが消去法中心であること。「考えられる全ての可能性を除去して最後に残ったものが……」というのは本格ミステリの常道ではある。が、神ならぬ我々人間の想像力には限界があり、マークシート式の試験における‘あり得ない選択肢を除外したら、全部消えてしまった’問題とか、‘実は設問に不備があり、正解が無かった’問題とかがあり得る。初見のモンスターであれば、なおさら‘色々試して結局、全部駄目’ということもあったはずだが、それではプレイ動画にならないだろう。しかし、そういう要素を動画から完全に排除してしまえば、提示される説明はなんとなく後付けっぽく聞こえてしまう。

また、これも皆の手本として用いられるプレイ動画ならではの不自然さではあるが、彼は凡ミスというものを全くしない。機械のような正確さとは言うが、機械だって様々な調整を経て、初めて正しく動くもの。この例えで言えば、彼は最初から調整済みの完成品であるかのように見える。

しかし、これらの不自然さは、動画として公開する以上、仕方が無い性格のものであると思う。彼の、一分の隙も無いハンティングの陰には、クエスト失敗して退場していく多くのハンターがいるのだ。我々は、たまたま打率100%のラッキーボーイのプレイを見ているだけなのだ。
いや、もしかしたら、カメラの回っていないところで、実は彼自身もいろいろと失敗していて、最終回のエンディングや映像特典などでは、NG集の公開が企画されているのかもしれない。

モンスターについては、第一期含め、今作は豊作と言える。火を吐いたり、物を投げつけてきたり、凍らせてみたりと、それぞれが特徴的なキャラクターと行動パターンを持っているし、基本の戦術を変更してくることがないので、対処法が分かってしまえば、運任せになることもない。良モンス揃いだ。こちらの戦術に対応してきたり、また、攻撃方法が分かっていても対応できない、いわゆるクソモンスが今作にはいない。

もっとも、最近になって、特定の条件を満たしたプレイヤーを付け狙うモンスターが乱入……というのが追加要素としてでてきたようだ。
スレインは鎧武における、ミッチになっていくのだろうか。それは確かに虚淵モノで女性に振られた男の既定路線ではあるのだが……。