When it’s ready.

出来るまで出来ない

GoogleIO 2015 Day0

今年もGoogleIOのシーズンです。去年に引き続き今年もIOに来ています。

今年は、Keynote(Day1)の前日夕方入りという結構ぎりぎりのスケジュールでした。 去年と違い今年は、Keynoteの整理券が前日に配布されるという方式に変わったらしく 前日にもかかわらず、9時のRegistrationオープン前に長蛇の列が出来るという 整理券で並ぶかKeynoteで配るかかわらなくない?的な状況になっていたらしいです。 私は到着が18時前だったのであまり関係ないですが・・・

19時前に空港から会場に直行してバッジを受け取ろうと思ったのですが 19時にもかかわらず結構長い列ができていて(60mくらい)去年までは 前日の夕方はガラガラでルーズな感じだったのに、どうなっちゃったんだろう という印象でした。長蛇の原因は、セキュリティーで空港のように一人ずつ 金属探知機でのチェック体制をとっていた事と、必要最小限の人数のみ 建物内に入れるという方法だったので会場外側に列ができてしまい 逆に建物内に入ると人はガラガラで、手続きもスムーズに行うことが出来ました。

QNAP Fanエラー

自宅ファイルサーバの置き場はトイレと相場は決まっていますが1つ欠点があります。 エラーの音が聞こえにくい・・・

ココ最近、遠くでミィミィ何かがなってると思っていました。QNAPがファンエラーを 起こしていた音でした。管理Web見ても正常に動いているぽいし、完全に壊れた訳ではなく たまにエラーを検出してたまにミィミィなっているようでした。

使用しているQnapは6スロットのやつで2010年後半に買っていたようです。 http://a2c.hatenablog.com/entry/20100923/1285185506 足掛け4年ですがここまでで、Diskが1本壊れただけで後は非常に快適に使用できています。 CCCで日々バックアップとったり、REGZAの録画先に使用しています。 まだ数TB空きがあるのでまだまだ現役で使えそうです。

さて、エラーの出ているFANは01番でしたが02も壊れるかもしれないので この際両方交換しようと思い引っ越し以来1年ぶりに電源落としました。 埃が結構溜まっていたので、HDDを全本抜き一つづつ丁寧に掃除機がけ。

背面の3本のネジを抜くと、ガワが外せます。 標準で付いているファンは

Y.S.TECHのFD129225LB DC12V 0.15A が2機ついています。 9cm角の2.5cm厚のファン。 http://www.ystech.com.tw/ysfan/products_detail.asp?id=57

スペックは 1900 回転 40.2CFM 1.7mm-H2O 25db

ということなのでコレ以上のスペックのものをamazonで物色

オウルテック PCケース用山洋電気製標準PWMファン 9cm 25mm厚  600~3150rpm F9-PWM

オウルテック PCケース用山洋電気製標準PWMファン 9cm 25mm厚 600~3150rpm F9-PWM

注文したのはコレ。¥2600なり 9cmの静音ファンは600円位からあるんだけど ファンはやっぱり山洋電気ですよね。 最近は違うのかもしれないけど、昔は結局山洋のファンを買い直していたので今回ははじめからコレ。

スペック見ると全然違うんだよね。 http://www.owltech.co.jp/products/case_fan/sanyo/F9/F9.html

静圧とか風量とか同じサイズ同じ回転なのに安い奴と雲泥の差。

山洋 51.2CFM 1.45m3/min

某UCTB9P 13.23~42.67CFM 0.37~1.2㎥/min

QNAPはケースの密閉度が高いのでエアフロー確保するなら 静圧が重要。静音ファンと比較してるのがアレだけど 山洋買っておけば間違いないよね。

ということで、明日ファン届くので今日は ばらして掃除まで。

sakura VPS上のUbuntuのDropboxのバージョンアップ

いつのまにやらDropboxクライアントのバージョンが2を超えていた。 osxやwinはインストーラーで簡単にアップデートできるがサーバー版はちょいとめんどくさいので今後のためにメモ

ファイル構成など

  • dropboxdの本体
~/.dropbox-dist
  • 管理スクリプト
~/bin/dropbox.py

最新版のDLからインストール

  1. 一旦downloadフォルダに落としておいて展開する
  2. 既存のサービスを停止
  3. 既存フォルダをリネーム
  4. DLしたフォルダを標準Pathにmv
  5. max_user_watches数を変更
  6. 新しいdropboxdを起動
cd download
wget -O - "https://dl-web.dropbox.com/u/17/dropbox-lnx.x86_64-2.0.7.tar.gz" | tar xzf -
pyhon ~bin/dropbox.py stop
mv ~/.dropbox-dis ~/.dropbox-dist.org
mv ~/download/.dropbox-dist ~/.
echo 100000 | sudo tee /proc/sys/fs/inotify/max_user_watches
pyhon ~bin/dropbox.py start

上記コマンドは手打ち(ターミナルからコピペしてない)ので、間違っているかもしれません。 DLするバージョンは、適宜際し版に書き換えてください。上記サンプルは、Ver.2.07_64bit版です

動いているか確認

python ~/bin/dropbox.py status

これで今何をしているのかわかります。

sakuraVPSで12.04にアップデートしたらapt-getが不動作の件

12.04からDNSの取り扱いが変わって設定ファイルが/etc/resolv.confじゃなくなったらしい。 そのおかげで名前解決できなくなってapt-getが動かなくなってる。っていうか、全般動かなくなってる。外からアクセスするには問題ないが、能動的に動かないのでやや困り

sakuraVPSを使っている場合

/etc/resolvconf/resolv.conf.d/base ファイルに以下を追加

search sakura.ne.jp
nameserver 210.188.224.10
nameserver 210.188.224.11

反映させるコマンド

% sudo resolvconf -u

Py旅館 2013/03 参加

いつぶりになるんだろう、Py旅館というPySpaのショートバージョン(1泊版)に参加した。 金曜の昼から土曜の昼過ぎまで24時間強の1day もくもく会

やったこと

Jenkins設定

bitbucket監視して、特定ブランチ更新されたらpullしてきてテスト 公開サーバーにpushしてupする

AngularUIでsortable使いこなせるようになる

これは全然出来なかった・・・

FlaskとYeomanの共有開発環境構築

Flaskのstatic部分をyeoman管理下におければ色々幸せかと思ったけどそうでもなかった。

理由:

  • yeomanのdevサバはnodeで独自のhttpサバ立てやがるのでFlaskから行くと使えない
  • yeomanソースは、buildするまでappフォルダ内でbuildしたら別フォルダ。Flaskのdevサバと相性悪い

開発環境と本番環境でstaticファイルを変える方法は、app作るときに指定するのでそこを変えればいいはずな何だけど、defaultから変えると複数階層追ってくれないので諦めムード

from flask import Flask

app = Flask(__name__)
app.debug = True

if app.debug:
  app.static_url = '/app'
  app.static_path = 'app'
  app.static_url_path = '/app'
else:
  app.static_url = '/buld'
  app.static_path = 'build'
  app.static_url_path = '/build'

ということで、今後はサーバーサイドはGoでシンプルなRESTfullなサーバ書いて、クライアントサイドは、YeomanでAngularJS組み上げるほうが楽なんじゃないかと思う今日この頃・・・ GoでWebApp書いたこと無いけどww

22時からrcファイル 公開大会

お互いvimとzshの秘伝のタレを公開しあう会が突如開催。 それぞれ100行近い秘伝のタレを舐めまわす。

気になった書き方zsh:ファイルの有り無しで挙動を変えたい時if使ってたけど使わないやり方がスマート

[ -f ~/.hogerc] && source ~/.hogerc

他にも色々あってとっても有意義な時間だった。 またあったら参加したい。

AngularJS ハッカソ#1 参加しました。

あけましておめでとうございます。
今年から、Bloggerに引っ越そうと思っているa2cです。

本日、Googleさんで開催されたAngularJSハッカソン#1に参加しました。
久しぶりのガッツリハッカソン系のイベントで、チーム分けしたり、デモ出来るレベルまで実装したり
全チーム発表を行ったりして、充実したイベントでした。チュータ役で参加だったので、どのチームにも
所属していませんでしたが、発表直前に@can_i_do_webさんといっしょにペアプログラミングでAngularの
とっても便利な機能の1つng-classのデモを作成したので紹介します。

はてな記法を忘れてしまったので、Qiitaで書きました

Qiita上でhtml編集したので、動かないかもしれないです。おかしかったら教えて下さい。

デモページ

AngularJSについて

AngularJSを触ったことない人はちょっと触ってみるといいかと思います。
クライアントサイドのMVCに関しては興味があって都度エントリーしてきた。

結局2013年になり、現在様々なJSのライブラリーが登場してるよね。ほんとに、めっちゃ沢山出てるから正直どれを
使えばいいのかわけわかめ状態だったですよ。そんでもって、思考停止して、今のところjQuery使って問題ないからOKじゃね?
みたいなコンサバジジイがそこかしこにはびこるようになった。そんなんでいいのか?
4−5年前の自分にそんな自分を見られて恥ずかしくないのか?オレ
という感じになっていたので、周りに使ってる人がたまたまいたAngular教に年末頃に、入信してみた。

結果、ヤベーよヤベーよ。コレ使わずにjQueryで頑張るとかどんだけ苦行だよって感じになった。
例えて言うと、jQuery教の人が、「JSゴリゴリ書いてて、$()ってなんですか?」って言ってる人に感じる思い。

「$()でゴリゴリ書いてて、$scopeなんですか?」って言った自分にはよ改宗せいともっと早くに言ってやりたかった。
もうねIDとかDOM操作をJSから手動でやるとか、許されるのは、小学生か35歳以上の老害グラマーですよ(嘘

AngularJSの20%くらいしかかじってないですが、コード量も修正しやすさも読みやすさも断然簡単かつ便利に使えてます。
ただし、HTMLに直接イベント書いたりするので、jQ派だった身としては少なからず違和感ある部分もあります。
しかし、それに目をつぶってしまえるくらいの恩恵がたーくさんあります。

とりあえずは、最近いっぱい出てきてるJS フレームワークの一種でしょ、jQueryみたいなやつだよね
みたいな風にAngularJSの事を思っている人は15分でいいので、AngularJSのチュートリアルやってみませんか?

私は、dotInstallのAngularJSでtutorialやりました。
ファイル構成も今のままいけるし、jQueryと併用可能だし、学習コストもかなり低いので知っといて損はないはず。

そして、沢山スニペットやTipsなどをネットの海に垂れ流して下さい。みんなが楽できるように・・・フフ


## JSで多次元配列をシンプルに作る方法知りたい。

デモ作ってる時に、座標とフラグ{’tate':1, 'yoko':1,'flg':false} のデータを作る必要があったのだけど、普通にforで回した。

     var data_grid = []
     for (var dan=0; dan<20; dan++){
        var temp_arr = [];
        for (var retu=0; retu < 20; retu++){
            temp_arr[retu] = [retu, false]
        }
        data_grid.push(temp_arr)
     }

これって、めんどくさくない?

例えばPythonみたく

[[{'tate':x, 'yoko':y, 'flag':"false"} for x in range(20)] for y in range(20)]

みたいに書く方法ないのでしょうか?

俺とお前とPython温泉

PySpa Advent Calendar Day16
Python界の無職、こんにちはa2cです。タイトルに意味はありません。

はじめに

PySpaに参加するとどうなるのか?自分なり視点で綴りたい。

PySpaは、全日ではDay1~3(2泊3日)のイベントでIT系のユーザーレベルイベントではかなり長めなイベントとなっている。さらに、PC部屋(ネット、電源、テーブル、イスが完備)と寝室は、24時間いつでも自分のタイミングで利用することが出来る。(例外:食事と温泉は行かなければならない)

参加する殆どの人は、到着すると直ぐにUnPackingして席につきPCを開く。大抵の場合、そこから晩御飯を経由して眠くなるまでPCをいじり続ける、Day2も朝から晩(時には朝)までいじり続ける。もしコレが業務や、やらされていることだったらブラック以外の何物でもない状態と言える。自分も寝室に戻らずにPC部屋で朝まで過ごしたことが何回かある。ぶっちゃけ十分な休息が身体的にとれてない状態。それでも可能な限りPySpaには参加している。それはなぜか?

2晩で何が起きるのか?

1年365晩のたった2晩で何が起きるのか?もちろん参加している人それぞれ思うことがあるだろうし一概には言えないが、一枚の写真を見て欲しい。PySpaの解散する時に撮った写真では、みんな笑ってる。2日ロクに寝てなかったりするそんな後に撮った写真です。


"オリジナルの解像度ではより細かく表情が見られる"
みんな、緊張もなく、無表情もなく、みーんな笑顔。この写真がPySpaに参加すると何が起きるのかを表していると思う。

それぞれのバックボーンが全く違う野郎達が一つ屋根の下で、同じ釜の飯を食い、同じ風呂に入り、夜通しくだらない会話をする。なぜそんなに笑顔になるのか?なぜ年2回開催されていたPySpaにほぼ同じメンバーが再度参加するのか?

PySpaに参加すると***が身に付きます。みたいなシンプルなものではない。それは数年スパンで熟成された運営の妙と参加者の織り成す情報のカオスが絶妙なコントラストをもって参加者を包み込む。あの場所、あのタイミングでないと味わえない何かがそこにはある。

ネタは各自持参

PySpaにテーマはない。「**やりましょう」とか「**してください」とかそういうイベントではない。強いて言えばルールは2つ

  • お酒はなし
  • 食事は全員で食べる

(例外はない)

同じ意識の人が集まりましょうってのがオフ会だったり勉強会だったりとかだと思うのだがPySpaはそもそもの設定が可怪しい。メールを使えるとか、プログラミングしたことあるとか、PCを持っているとかその程度の共通項しかない。一般的な成人ならだれでも当てはまると思う。

ただし、ほとんどの参加者が何がしかの調査対象や課題設定をして参加してくる。あるフレームワークを身に着けたいとか、ある言語を触ってみたいとか、既存のサービスを改修するとか、別に何かテーマを用意して来るようにとかそういうルールはなにもないけどみんなそれぞれやりたいことを持ってくる。カードゲーム仲間を探すとかそういうのもあったりするような無いような気もする。

このネタは各自持参してくるという流れが、フレッシュなネタ集めに一役買ってると思う。自分が持っていったネタを消化しつつ、他の参加者が持ってきたネタももれなくおみやげで持って変えることが出来て非常に濃い時間を過ごすことが出来る。PySpaに参加することで期待してようがしてなかろうが、良さげなConfigを知ることが出来たり、新しいツールを持って変えることが出来る

HogeSpaに期待!

もうね、なんでもいいからSpaっちゃえばいいと思うんですよ。PySpaは参加するのが(定員的に)かなーり難しいので、参加できなかったら出来なかったで自分たちでやればいいと思うんですよ。3日間も取れない時には、Py旅館とかいう1泊2日のに参加したりしてるので別に長さはそんなに重要じゃないです。ただ、日帰りは終電等々時間が短めになるので1泊以上がおすすめですよ。もし開催する人がいたら呼んでクダサーイ。

ということで、PySpaに参加するとなぜかみんな笑顔になるよっていう紹介でした。
いよいよPySpカレンダーも、明日からラスト1weekです。楽しみにしております!

あしたは世界のtk0miyaさんです。