エンジニアのためのデータ可視化実践入門 の訂正

今年のはじめに「エンジニアのためのデータ可視化実践入門」を出版しました。 私の不手際で多くの方にご迷惑をお掛けしました。

遅くなってしまいましたが、その中でもソースコードを確認する時間を十分に確保できなかったために 多くの間違いがございました。

共著者のあんちべ様はじめ、レビューしてくださった皆様とは無関係の私の責任です。 購入してくださった皆様、申し訳ありません。

下記サポートページで訂正しております。 サポートページ:エンジニアのための データ可視化[実践]入門 ―D3.jsによるWebの可視化:|技術評論社

下記のリポジトリに実際に動作するコードをすべて置きました。

muddydixon/WebVisualizationSample · GitHub

お世辞にも素晴らしいコードではありませんが、よろしければご参考ください。

また、CoffeeScriptで書かれていることにも言及されておられる方がおりましたが、 この目的は、共著者の方と相談し、なるべく安価な値段設定にできるようにとも 考え、どうしても増えると考えられたソースコードの記述量を減らすために用いたものです。

今後、このような機会をいただけた際には、自分自身で行うだけではなく、 お願いする方にはお手数おかけするかもしれませんが、コード自体のより十分な レビューをお願いし、対応したいと思います。

家庭を支える技術アドベントカレンダー 14日目(ごめんなさい

家庭を支える技術 Advent Calendar 2014 - Adventar

数日、夫婦の家庭が続いたので、子どもがいる家庭について多めに書いてみます。

スペック * 妻 * 子(年長) * 子(年少)

夫婦間のコミュニケーションツール

  • Google Calendar
    • 幼稚園の行事の共有は大事
    • 習い事の予定の共有は大事
  • Google Spread Sheet
    • 年賀状やお歳暮を送る。最近はネットで年賀状が便利
    • スマホで見られるので、不意に何か贈ろう!と思った時にも便利
  • Line
    • 帰るコールなどはこちらで

子どものデータ

  • 外付けHDD/メモリースティック: データぶっ飛び2回
    • 1回目8GBで10万近い金額
    • 2回目250GBで見積もり怖くて出してない) 1人目の出産時動画・・・どうしよう
  • flickrのプロ契約で対応(解像度下がっても見られないよりまし
    • 依存度が高すぎて困る
    • アップロード時間かかりすぎ
    • 選択ダウンロードのUIへぼすぎ

子どもへのデータ

  • ChromeCast
    • 映画とかビデオを見せるのにとても良い
    • motownのplaylistとか流しっぱなしでレゴやったりもしてます
  • Kano
    • キーボードの刻印が大文字のみ、「次をタイプしろ」という表示は「小文字」で、子どもは探せない
    • 4歳時が「startx」を打った時にちょっと感動した

f:id:muddydixon:20140927100608j:plain

その他、非IT技術

うちがいっている幼稚園は、小規模幼稚園なので保護者の協力が不可欠で、大変ですが楽しいです。 また、マンションもマンモスマンションなので同年代がだいたい30人近くいるのでそこのコミュニケーションも多く、こちらもなかなか円満な関係を築いていて楽しいです。

餅つき

30臼とかを15人位のお父さんたちでつききるので体力まじ大事。あと、手返しができる(うまい)ヒトも希少価値があります。

f:id:muddydixon:20141130102236j:plain

行事もの

行事ごとに「あれ作れ」「これ作れ」と言われるのですが、子どもたちが喜ぶのであればと思ってシコシコ作っています

f:id:muddydixon:20141007022915j:plain

家事

  • 料理: なんだかんだで平日一日中子どもたちの相手をしている妻に代わって、土日料理を作ったりすることが多いので、料理スキルは大事です。
    • 小松菜をどう食べさせるか→ミキサーに掛けてパスタのソースに
    • ほうれん草をどう食べさせるか→餃子の皮にねりこむ
    • ごぼうをどう食べさせるか→ボロネーゼにしてパスタのソースに
    • 魚をどう食べさせるか→子どもたちにはあえて与えず、僕が美味しそうに食べ始めてから味見させ、一人前食べさせる
      • あいつら、ちゃんと出すと食べないくせに、ヒトが食べだすと取りに来る

レゴ

レゴを始めると子どもたちは1〜2時間遊んでくれるので、こちらも作りがいがあります。

f:id:muddydixon:20141214105553j:plain

地域とのコミュニケーション

  • 幼稚園の連絡手段がメーリングリスト(広告入り)なので、なんとかしたい
  • 地域の人とは、FBグループ/LINE/メールなのでなんとかしたい
  • 幼稚園お父さんたちとも仲がいいととても楽
    • 仕事関係ない友だちができて楽しい
  • マンションのお父さんたちとも仲がいいとても楽
    • 仕事関係ない友だちができて楽しい

欲しいガジェット

Chipolo :: Nothing Is Lost

やってみたい

これが次世代の砂遊びか……! 本物の砂を使うセガのアーケードゲーム「え〜でる すなば」が面白そう - ねとらぼ

まだ早いですが子どもの小遣いはこうやりたい

鉄道系電子マネーを利用した子供のお金管理が便利な件 - ベンチャー役員三界に家なし

mackerel meetup #2 に参加しました

mackerel meetup #2に参加しています

Mackerel Current Status @stanaka

  • Overview & Update
  • 正式化と今後の予定

Overview & Update

監視

  • ホスト/ロール単位:来月そうそう
  • サービスメトリクス:来月早々

アラート通知(チャンネル)

  • メール
  • Webhook
  • sladk 来週くらい

正式化と今後の予定

  • ベータリリース(5/8)
  • 正式リリース(9/19)

  • 2000円/ホスト/月(台数20+でディスカウントあり)

  • 無料トライアルあり

    • 5台, ログ24h, サービスメトリクス・監視数に制限
  • 個人・小規模ユーザ向けプラン

  • GitHubログイン
  • Monitor対象の詳細化(ロール単位)
  • サービスメトリクス監視
  • カスタムメトリックプラグイン拡充
  • Slack連携など通知先拡充

イベント機能

  • アラート・デプロイなど
  • グラフ改善
  • アラート改善
  • ダッシュボードカスタマイズ

ヌーラボがMackerelに移行した3つの理由 @tksmd

まとめ

id:stanaka さん, id:songmu さん、はじめhatenaの皆様、会場のフリークアウトの皆様ありがとうございました!

Travis CI Meetup Tokyoに参加しました

Travis CI Meetup Tokyo

Hiro Asari さんの Travis CI の demo

Travis-CI のライフサイクル

Setup -> Services
 |
 v
before_install
 |
 v
install
 |
 v
before_script
 |
 v
script
 |
 v
after_success   after_failure
 |                    |
 v                    |
 before_deploy        |
 |                    |
 v                    |
 after_deploy         |
 |                    |
 v                    v
after_script

.travis.yml

# build地にsudoを利用しない設定
sudo: false # アカウントに依存して、通常は動かない設定

language: ruby

bash の wait というオプションで標準出力がない場合に殺されないで済む

110+ vms 68+ servers heroku

openvz and docker

82000 jobs 125,435 jobs per day 7,000 repositories

|node.js | 2800| | python |1900| | ruby |1600| |php| 1500| |default (=ruby)|1000| ...

in COM, ruby is top usage.

team

  • team teal: ui ux
  • team blue: infrastructure
  • BIWOMM but it works on my machine

points

  1. Case sensitive
  2. inode deference
  3. Package difference dev and travis CI
  4. Services which are slow to start or configured differently
  5. 'apt get update' system packages change and are removed overtime
  6. test ordering and isolation
  7. time zone dependent test and timing differences
  8. capabilities turned off in container based virtualization systems

tachikoma.io

  • 依存関係とかのチェックを実現する

travisselenium

  • travisならxvfbもfirefoxjavaも入ってる!
  • screenshopを撮るAPIもある!→エクセルの証跡も作れる!

YAPC::ASIA 2014に参加しました

YAPC::ASIA 2014に参加しました。

当然個人スポンサーチケットです! パーカーが欲しかったので。。。

また、29日のみでしたが、昨年に引き続き「YAPC::Asia 2014 スペシャルレポート」のレポーターとしても参加しました。

ですので内容のレポートは上記を見ていただければ。。。 個人的には

@toritori0318 さんのTV連携の運用改善の話と、 @deeeet さんのツールを作る話、 @aoneko さんの自動デプロイが本質的なところで面白かったです。 両者ともに共通していたのが、「いま現状の課題に全力で取り組む一方、(自分の身を守るという意味での)エゴからくる利他精神」だと思いました。 共通化する、ドキュメント化する、自動化する、頻繁に利用するものだからこそ準備をする(プロセスにする、README/USAGE/MANPAGEを書く)、これはまさに「楽をするために苦労を厭わない」というエンジニアスピリッツにあふれたものだなぁと思いました。

あ、あと、レポーターはどんなに混んでいても一番いい席に座れるので皆様本当にお勧めです。 また、毎年参加の id:hiratara さんやその他素晴らしい人と事前にお会いしてYAPCのワクワク感を高められることも嬉しい事です。 ぜひ、来年のYAPCやその他のイベントでもレポーター枠があれば参加することをおすすめします

切り戻しの話

懇親会で @koemu さんと @risou さん、あと id:papix さんと話していたのですが、アプリケーションレイヤのデプロイ/切り戻しは楽になっている(自動化やスクリプト化で)とは思うのですが、DBの切り戻しがどうにも楽になっていない気がします。

どうしてもここだけはデプロイプロセスに人手を介入させ、ターミナルのフォントサイズを上げ、「いいですか?」「ダイジョブです」みたいなやりとりを経て実施しているので、とても辛いです。

例えば、onreadyみたいなコマンドで、新しいDBホストが立ち上がってマスターへの書き込み時にクエリを新しいアプリ向けに書き換えて流し込んでいき、launchで旧DBから新DBへの切り替えがされ、そのタイミングで今度は新DBへの書き込みのクエリを旧DBのクエリに書き換えて流しこみを続けてくれて、いつでも切り戻しができるようになってて、ここぞというタイミングで切り離す、などができる様になってくれると嬉しいなと思っています。

YAPCの優しさ

こうなって

YAPC最高や!

LLDiverの見どころ

久しぶりに書くのですが今年で14回目のLLイベント LL Diver をお手伝いしております。

スタッフを申し込んだ時点ではこんなに忙しくなるとは思っておらず、あまりお手伝いできなかったのですが「ご紹介」という形で3つのセッションにご協力することができました。

http://ll.jus.or.jp/2014/wp-content/uploads/2014/05/lldiver.logo_.jpg

1.

あんちぽくんさんはGMOペパボの技術責任者として「みんなと仲良くする」「ファンを増やすこと」「アウトプットすること」という3つの軸に準じた評価をされ「GMOペパボ株式会社の技術責任者に就任いたしました」「ペパボの2014年上半期エンジニア評価について」などのエントリをあげてらっしゃる方です。 この方が「新人研修」をどのように設計しているかはとても興味深いところです。

2.

hiroki_daichi さんは

とおっしゃっていますが、Qiitaにたくさん投稿しているかたです。

これらのQiitaの投稿は目にしたかも多いのではないでしょうか。

多岐にわたってQiitaを上げているhirokiさんに様々な質問をぜひぶつけたいところです。

3.

一時期ドワンゴの技術者退職エントリが続いた時の状況を立て直したかについてmeso さんが質問を受け付けてくださいます。 現在は、下記の記事にあるようにドワンゴでエンジニアが働く環境の整備や採用、教育、技術広報を担当されています。

どしどし質問を投げつけましょう!

前日だぞ!!

と @hourin さんの叱られそうですが、上記の他にも禁断とも言われている「誰得なエディタセッション」や夜の部は酒を入れなければ聞けないようなセッションまで魅力あるセッションが盛り沢山です。 まだまだチケットは余っていますので(汗)、ぜひ足をお運びください!

Hadoop Conference Japan 2014に参加しました

Hadoop Conference Japan 2014に参加しました。

最近あまり触ってなかったのですが、また案件で利用するニーズが出てきたので最新情報の収集目的です。

今日の収穫としてはこんな感じ

  • Apache Spark
    • 一週間の活動量がすごい
      • 500 patch updates / w
      • 200 updates / w
      • 140 thread / w
      • 80 merged patches / w
  • Facebook Presto
    • プラガブルよさ気
    • Facebookの中で使われてるリポジトリ←すごい
    • 各種DBマージして使える
    • DBに投げるときにすでにクエリを入れてフィルタリングしてから取り出すこともできる←mongohadoopでも実装してたの懐かしい
  • BigQuery
    • 公開してるBigQueryと中で使われてるのは同じ(リソース競合あり)
    • お高いお金を払えば専有できるリソースもあるって
    • DataFlowパイプライン処理のダッシュボード、流量とかソースからのLAGとか出てて素晴らしい。リアルタイムを謳うなら「どの程度」リアルタイムなのか出さないとな、と思った
    • millwheelの論文読みたい
    • flumeJava
  • HBaseは死火山←これはあんまり信じてない
  • YARN使いたかったらHadoop 2.4系使わないとスケジューラで困る(CDH5はHadoop2.3 + patchだから大丈夫)
  • YARNの初期設定はCDHHDPVMから設定ファイルも初期ディレクトリ構成もパクればいい。Ambariでもいいけど、直接設定見て書き換えられる方がrecipeにも書きやすい
  • hivemallアルゴリズムすごく多くてすごいAROWとかCSWとか
    • Apache Incubatorになるかもとか
  • DATABRICKS CLOUDのダッシュボード便利そう

その他

  • Sparkはオンメモリで高速にぶん回すこと考えるといろいろジョブ作成前に考えたりするから大変そう(溢れたらSpillしてくれるとはいえ)
  • Prestoはジョブが落ちるけど、そっちの方が潔い気もするし、各種のDBとマージして処理できるのは助かる感じある
  • Hive回して中間データを保持しておいてそいつをSpark/Prestoで処理する+直近データのみESとkibanaとかそういう構成が良さそう

今日のハイライト