Shizuoka.py #4 やりました

去年の春とは異なり、今年はshizuokaではGoが盛り上がっていたみたいですが、富士川東ラインまで撤退してShizuoka.py #4を開催してきました。

静岡言語勢力図

時間が余りそうだったので、身内しかわからないようなやっつけLTを用意しましたが… jsないだろうとかいうツッコミは置いといてください。

Pythonコミュニティが東に移動したのは、とあるチームが三島に移転したり、東部の製薬企業の人たちがPythonを書き始めたりして静岡でやるよりも、三島とか富士のあたりでやるほうが都合が良くなったという理由が大きかったりします。

次回は沼津でやって懇親会をタップルーム(ベアードビール)にしようかなとか思っています。

メインの発表はIPython notebookの話をしてきましたがネタが皆無で、本当にIPythonの説明をするという… オープンなデータを使ってIPython notebookでデモをしてきました。

他の発表者のスライドはconnpassから。いろいろと勉強になりました。個人的にはpip-toolsmarshmallowがツボった感じです。

おやつはたむら屋の団子をチョイスしておきました。

1418039056

懇親会は筋肉系居酒屋で。

1418039058

プロテインを補給しつつ、楽しく会話ができましたね。

来年も開催予定ですのでまたご参加ください。

吉原まるごとフェスタに行ってきた

吉原というところはやたらと祭りの類が多いんだが、先週もよしわらまるごとフェスタなるお祭りが開催されていたので行ってみた。

目当てはB1。というかB1グランプリは混みすぎて行く気にならん。

到着したら大道芸やってた。なかなか楽しいパフォーマンスだった。

で、相変わらずのナポリン。主役はビール

1417432447

B1コーナーに行ったらひるぜん焼きそばといなりずしのところが混んでいて萎えそうだったという理由で塩かつおうどんに並んだ。毎年塩かつお買っているからなーと思いつつも、期待をいい意味で裏切られた。カツオ味のうどんなんだけど美味しかった。

1417432448 1417432450

行列誘導のお兄さんと話していたら、塩かつおを焼いてほぐして卵かけご飯に醤油の代わりにパラパラかけると美味らしい、これはいいこと聞いたと。冷凍庫に封印している半身の封印を解く日がきたなとw

塩かつおってマジで塩なので、焼くと鰹塩になりますよ。フライパンに何もひかずに塩かつおを焼くと鰹感たっぷりの塩が析出しますw そのままだとしょっぱすぎて酒のあてにもならんので塩抜きするとかいろいろ工夫する必要があるけど、塩かつおうどんの塩かつおの塩分はちょうどよかったので秘密が知りたかった。

あとは、甲府の鳥もつ煮を食べた。予想通りの味だけどきんかん久しぶりに食べて満足。

1417432451

今週末はShizuoka.py #4ですよ

時間が余ったらみんなでCheck.IOでもやるか、飛び入りLTでもやりましょう☆

スライド作らなきゃなーとIPython Interactive Computing and Visualization Cookbookを読み直しているが、僕の利用シーンってipython notebook + pandas(plot)なので。

まぁ王道だけどw

ProductName IPython Interactive Computing and Visualization Cookbook
Cyrille Rossant
Packt Publishing / ?円 ( 2014-09-25 )


対話的ビジュアライゼーションはSpotfireみたいな可視化ツールが優っているんだけど、要約統計量を表にして眺めたいとか、再現可能な形にして保存しておきたいとか行った場合はipython notebook+pandasは有用なのでそういった話をしようかなと思っています。

いや、もちろんRでもいいんですよ。でも、対話の末に完成したワークフローをwebサービス化しようと思ったらPythonのほうが便利なんですよね。

あと、エントリ書いてたらちょうどDMが来て@ando_ando_andoのScrapy話はなしになりました。

というわけで、発表を引き続き募集しております。

中飛車で棒銀の受け方がよくわからん

立て続けに負けて四級のヒトとあたった。中飛車で対棒銀がわからないので、乱戦模様というか、序盤で作戦負けしてる感じになってしまった。

強引に詰ませにいったけど、まぁ負け将棋だったなと…

ちょっと悔しいのでググって中飛車対棒銀が載っている本を買ってしまった。Kindleはこういう時には罪深い…w

ProductName よくわかる中飛車
藤倉 勇樹
マイナビ / ?円 ( 2010-12-23 )


実験医学増刊 Vol.32 No.20 今日から使える! データベース・ウェブツール 達人になるための実践ガイド100

実験医学の増刊号です、meso本を見て知った。只今絶賛予約受付中です☆

ナニゲに実験医学に記事を載せるのは二度目だったりする。

前回の記事はバイオインフォマティクス的な話題で、ゲノムの配列から、以下に創薬ターゲット(キナーゼとかプロテアーゼとか)の遺伝子を探すかという話だったと思う。そういえばこの前もそういうイメージを保たれていたので、筋金入りの社内ニートというイメージを定着させたい。

十数年ぶりに前の職場時代の先輩と飲んだ

御殿場でシンポジウムがあったので、久しぶりにその当時の研究所の面々で飲むことになった(ノリというか流れというかw)。

三島駅の北口のフレンチのお店。

牡蠣のなんか。これはとても美味しかった。

1416648009

鴨のコンフィも美味しかったのだけど自分の体調的にちょっと重かった。食べる気満々で頼んだのに… 

1416648011

デザートはタルトタタンにした。メニュー見た瞬間にあんぽ柿に決めたのだけど、終わっていて残念。

1416648012

あとは、小布施ワイナリーのワインがやたらと美味くて感動した。ワインは自分で選ばずにヒトに選んでもらうに限るw

その後、香香飯店に移って、ちょっと飲んで終電ギリギリで帰宅。楽しかったので泊まればよかったかなーとw

いろんな話が聞けてとても良かった。ここ数年社内ニート気味だったけど、頑張ろうかなっていう気持ちにさせられた。

ホストのサーバーを起動したらゲストの仮想マシンが自動起動してそれに乗っかっているサービスも起動するようにする

最近はホストのサーバーに仮想マシン(KVM)を複数たてて、それぞれnginx+supervisord+gunirocrn+Flaskとかnginx+unicorn+RoRみたいなウェブアプリを動かすパターンが多い。というかそれが全部。

面倒くさいのだけど、(自動化するための手間をかけるほうがよりめんどくさかったので)サービスの起動まで手でやっていたのだが、ちょっと同僚に立ち上げをお願いしなきゃいけなくなって、作業手順を繰り返してもらうのもなんか悪いなーと思ったのでサーバー立ち上げればウェブアプリが動くところまで自動で進むようにすることにした。

まぁ、今更感満載だけどね…(僕はインフラエンジニアじゃないのでそっち方面詳しくないのでそういうところまでやろうとするとコストが半端無いからなぁ)と想いつつもで今どきのウェブアプリ書く人は基本として知らなあかんのかなぁとも思うとしんどいですね。

手順としては

  1. ホストサーバー起動
  2. ifupでブリッジとイーサをアクティブにする
  3. GUIのVMマネージャで仮想マシンを立ち上げ
  4. それぞれの仮想マシンにsshで入ってサービス立ち上げ(supervisordとかを起動)

なんだけど、書き出してみるとやっぱり面倒臭い。よく手動で起動していたもんだw

2. ifupでブリッジとイーサをアクティブにする

onboot=yesをつけておく。以前試したんだけど何故かうまくいかなくて放置してたけど、これを見ながらきちんと設定したら動いた。

chkconfig NetworkManager off
chkconfig network on
service NetworkManager stop
service network start

このあたりかな。あとfedora19だとこのあたりをいじるとsystemctlとcheckconfigが混在しててややこしい

3. GUIのVMマネージャで仮想マシンを立ち上げ

GUIのアプリを使って仮想マシンを起動してたんだけど、virsh便利。

sudo virsh autostart [vm_name]

で自動起動できるので、最初からそうしておけばよかった。すでにGUIは使っていない。

4. それぞれの仮想マシンにsshで入ってサービス立ち上げ(supervisordとかを起動)

unicorn+RoRな構成のよくあるRailsアプリだとRedmineをCentOS 7上で動かすーUnicornとNginx編を参考にsystemd用の定義ファイルを用意すればよいです。

supervisord+gunirocrn+Flaskが目下悩み中なのだけど/etc/init.dに書く方法しか見つからなかった。どうせだったらsystemctlコマンドで制御したいので引き続き調べる。

今日の負け将棋(20141119)

今日っていうか昨日だけど。

5八金型っていうのか。

ProductName 楽しく勝つ!! 力戦振り飛車 (マイコミ将棋BOOKS)
戸辺 誠
毎日コミュニケーションズ / ?円 ( 2008-08-26 )


3五歩ついて5四飛に浮けばいいらしいけど、相手が先に3六歩を突いたからなぁ。あと穴熊は無理があった。

Numpyのas_strided

移動平均を効率よく計算する方法を調べていてNumpyのas_stridedというのが出てきたのだが、ぱっと見てよくわからなかったので調べてみた。

とりあえずアレイを作る

import numpy as np
from numpy.lib.stride_tricks import as_strided

x = np.arange(10)

Int型なので8byte

print x.strides
# (8,)

最初のタプルは作成する配列の次元。 次のタプルがよくわからなかったので調べたら、最初がrowのstrideで次がcolumnのstrideだった。

as_strided(x, (5, 6), (8, 8))

# array([[0, 1, 2, 3, 4, 5],
#        [1, 2, 3, 4, 5, 6],
#        [2, 3, 4, 5, 6, 7],
#        [3, 4, 5, 6, 7, 8],
#        [4, 5, 6, 7, 8, 9]])

100 numpy exercisesでもやっておいたほうがいいような気がしてきた。

それから、12/6にShizuoka.pyをやります。12/20にはShizuoka.goがあります。

Shizuoka.pyでは発表者絶賛募集中です☆

他人に質問するということ

最近質問と答えが離れていてイライラさせられるという出来事があったのでよく考えてみた。

会話の流れとしてはこれがなんとなく近いかな、または教えて君というタイプなんだろうなぁと思う。仮にOさんとしておこう。

自分がなんであれほどイライラしたのか(重要)と、相手は何を期待していたのかという分析をしてみたかったので、週末考えていた。

自分は質問された時、「ある程度自分で調べてそれでも解決出来なかったら、解決の糸口を一緒に探して欲しい、またはそのためのポインタを示して欲しい」と受け取るので、「コマンド叩いたけど動かなかった」という質問に対して「エラーの内容はなにかとか、聞くまでに検討したこと」を情報として一緒に考えるのが質問された時に取る態度だと考えている。

なので、Oさんの「そんなことはどうでもいいから、どうすれば動くのか教えてよ」っていう言い方にかなりイライラさせられ、ちょっと言い合いっぽくなったわけだが、その過程でOさんのマインドもちょっと理解した。

Oさんとしては「自分の知らないことは聞いたことが早い、以前プログラムを動かしたことのある僕なら聞けばすぐに答えられるはず」というのが正しい質問だと考えているらしく、すぐに回答出来ない僕に対して「知っているならもったいぶらずに教えてくれればいいのに…(けちくさいな(意訳))」という感情をもっているらしかった。

まぁ、3年前に実行したコードなんて覚えてないですけど、トラブっているから一緒に解決してあげようと思ったんだけどね。いろいろ考えて、Oさんの満足する答えは「昔のことなんで全然覚えてません、すいません☆」なのかなーと。

それにそういうマインドだと、毎度毎度同じような質問をすることになって、質問される方はだんだん飽き飽きしてくると思う。僕も同じような質問をされたせいもあって相当苛ついたのかなと(今となっては)。

自分の知らないことを聞くのはいいけど、それは相手の時間を奪っているということに考えが至らないのかなと思うんだけど、どうなんだろうね?

教えて君的なマインドだと驚くほど周辺知識量が少なくなるね。知識の積み重ねっていうのは複利だからなんだろうな。