体重を公開しました

ゴールデンウィーク中に体重記録&公開用のアプリをRails作って公開しました

背景

会社のSlackで #kenkou というチャンネルの主をしていて、そこでは体重の公開義務があり参加者は毎日体重をポストしています。
これが1年間ぐらい続いたので、ポストした体重を抽出してグラフ化して公開しました。

体重公開を義務付けたら誰もいなくなって1人で体重をポストし続けている初期の健康チャンネルの様子

体重を公開するという発想はパーフェクトBody(仮)というスライドに影響を受けています。

使用技術

SlackAPI使って体重のPOST抽出してseedにしてDBに入れてHighchartsで描画しただけ

その後

その他

http://www.amazon.co.jp/dp/B00V35HEIC

「会社に遊びに行く」と具体的に何をして遊んでもらえるのか知りたかったので会社に遊びに行ってきた

最近よく「会社に遊びに行く」というのをよく聞くようになったけど、具体的に何をして遊ぶのかよく考えたらわからなかったので、「会社に遊びに行く」という風潮を作った(と自分は思ってる)Wantedlyさんに遊びに行ってきた。Wantedly経由で。

きっかけ

最近人づてで採用を行う際に、「会社に遊びに来てください」って言って実際に遊びに来てもらうことになったものの、いざ当日になって「会社に遊びに行くって具体的に何するんだろう」って思ったのがきっかけだった。

その日は結局遊びに来てくれた人とずっと話をしていて、具体的に下記のような話をしたとなんとなく記憶してる。

  • 会社について
  • 会社が運営しているサービスについて
  • 運営してるサービスのシステムについて
  • 給料について
  • 労働時間について
  • コードの書き方について
  • 福利厚生について

最近また1人遊びにきてもらったけど、基本的な内容は同じだったと思う。ただ、1回目は中途採用の募集要項が無かったので、システムについての話は募集要項と絡めて、もう少し踏み込んで話をした気がする。他には、新卒採用のプロジェクトもみんなでやってるから手伝ってほしい的な話もした記憶がある。

そんな感じだったので

じゃあ自分が遊びに行く立場になってみようと思って、せっかくなのでWantedlyさんに行ってみた。

幸い、RubyKaigi1日目の寿司に目が眩んで「話を聞きに行きたい」ボタンをクリックしてたので、すぐ話を聞きに行けた。あと、業務時間内の様子が見たかったので業務時間内に行った。

遊びに行って

何をして遊んだか、結論から言うとずっと話をしてただけだった。内容については覚えてる範囲で、こんな話をしてたと思う。

  • 自分が会社でどんなことをしてるのか
  • 自分がプログラマーになったきっかけ
  • Wantedlyさんのエンジニアについて
  • お互いのサービスについて
  • 会社の文化について
  • サービスのミッションとゴールについて
  • 社長について
  • お互いの前職の話とか
  • 業務スペース軽く覗く
  • Wantedly Culture Book 2016年度版もらった

具体的に何を話すとかは決まってなくて、遊びに行ったり誘ったりするってことは少なくともお互い興味は持ち合ってるはずなので、自然と会話が弾んだ。

遊んでくださった方も、いつも対応するときは具体的に何を話すか決めてないとおっしゃってた。

結論

自分がやってたこととそんな変わらなかった。話す内容もこうして箇条書きにしてみると普通話す事だよねという感じがする。話す内容以外で今の所自分のノウハウはこんな感じ。

  • 誠実に対応する
  • 時間は1時間程度で終わらせるのがいいと思う
  • 短期的な効果を期待しない
    • 会社の評判を地道によくしたり、口コミを狙ってさらに遊びに来る人を増やしたり、最終的に面接に来そうな人を地道に増やす活動
    • 気長にやっていこう
  • 当たり前だが、採用面接ではない
    • ここ勘違いした人がやると、遊びに来た人が萎える
  • 遊び相手は遊びに誘った人がする
    • 特定の職種の人が遊びに来たからといって、その職種の人が対応する必要は無いと思う
      • 例えば、エンジニアの人が来たからといって、エンジニアが必ずしも対応する必要は無いと思う
      • 今回遊び相手してくださった方が広報の方だったのでそう思った
      • でも人による
    • 特定の職種や、特定の内容や、特定の人の話が聞きたければ遊びに行く側がそう言った方がいい
  • 誠実に対応する
  • 遊び相手をする人は、会社とサービスのミッションとゴールについてぐらいは理解して話せた方がいい
    • 遊び相手の方がそれをちゃんと話せる方だったので、会社の魅力をちゃんと伝えてくれたと思う
    • 職種が異なってても今回楽しめたのはそれがあったからだと思う
      • でも人による
  • 給料の話はするべき
  • 誠実に対応する
  • 誠実に対応する
  • 誠実に対応する

そういえばペパランチョンにも以前行ったんだけど、やっぱり同じ感じの内容を話した記憶がある。

会社に遊びに行く文化いいですね

遊びに行く側と遊び相手両方やったけど、お互いをよく知るための取り組みとしてはとてもいいと思う。もっと広まってほしい。みなさんもっと会社に遊びにいくといいですよ。

そして、Wantedlyの方がおっしゃってた

「彼氏彼女とおつきあいする前に、お互いを知りたくて知るためにデートするじゃないですか。それと一緒です。」

っていうのがとてもしっくりきた。

一方で、遊び相手をした人は遊びに来てくれた人に情が湧きやすくなってしまうので、本格的な採用面接時にフラットに評価する仕組みやガイドラインは考えておくべきだと思った。(リファラルリクルーティングも同じ問題抱えてると思うんですがどうしてるんですかね。知見吸いたい)

それに対する直接的な対策ではないけど、Wantedlyさんでは採用候補の人と1日一緒に実務をやってみるという試みもしてるようで、非常に興味深かった。

直接関係無い話で

Wantedlyさんってネットで見る広報的な記事見て「チャラチャラしてんなこいつら」とか思ってあんまり良い印象持ってなかったけど、中の人と話したり業務中の雰囲気見て、実際はそうでもないなと思った。(これも遊んでくれた方に言った)広報活動はいろいろ模索してるっぽい。

とても楽しくて有意義な時間を過ごせたし、行く前よりずっと会社に良い印象を持てたので、「遊びに行く」という施策の効果は得られたと思う。

最後に

Wantedlyさん、ありがとうございました。

所属会社にRubyKaigi2015のSilver Sponsorになってもらいました #rubykaigi

正確に言うと、自分が今所属してるtenso株式会社の持株会社のBEENOS株式会社です。

Webエンジニアとして働くようになってから、色々なカンファレンスや勉強会に行くようになり、こういうののスポンサーになる企業で働きたいと思うようにりました。
今年YAPC::Asia 2015に同僚と行って、終わった後のテンションで「ヘーシャもスポンサーやろうぜ!!!!」という話になり、社長(グループ会長)にプレゼンすることにしました。

全社員に対して発表できる機会があったので、結局全社員に対してプレゼンしました。
以下がその時のメモです。

非エンジニアを対象に、会社のエンジニアコミュニティへの理解と貢献の推進を目的とした発表のメモ

もともと技術や環境に対して理解もあり、投資もしてくれる会社だったのですんなり通りました。
長年ソフトウェア開発コミュニティに貢献を行っている企業からすると、まだまだ小さなものと思えるかもしれません。
しかし、これは今自分が所属する会社にとって、とても大きな一歩になったと思っています。
これからも引き続き、会社としてソフトウェア開発コミュニティに貢献する活動を続けていきたいです。

謝辞

この内容を書くにあたり、@sunaotさんにレビューをしていただきました。本当にありがとうございました。

また、同じくプレゼンのレビューをしてくれて、後押しと理解をしてくれた同僚、そして、スポンサー費用を出してくれた会社に対し、この場でお礼申し上げます。

勤務先のオフィスビルのシャトルバスの時刻表APIを作ってHubotで見れるようにした

これ作った。

onigra/gotenyama_trust_bus_api

4月から御殿山トラストタワーっていうビルにいて、駅から遠くてシャトルバスが出てるんだけど、カジュアルにバスの時間確認できるようにしたくて、雑にAPI作ってHerokuにホストした。

HerokuのURLとかAPIの使い方はREADME参照。御殿山トラストタワーに勤めてる人はよかったら使ってください。

で、これを作った本当の目的はHubotから使えるようにするためで、なるべくjs書きたくないからAPIを用意することにした。
(このAPI使ってChromeエクステンション作りたいって人がいたっていうのもある)

hubot1 hubot2

余談

js書きたくないならRuboty使えばいいじゃんって思うし、実際plugin作ったんだけどなんとなくやめた。

あと、連休初日の朝に38度の熱が出て、病み上がりで頭が回ってない時に書いたのと、Ruboty Pluginの方の実装をコピペして作ったから命名が変。あとでなおす。

連休を寝て過ごしただけっていう結果にどうしてもしたくないというモチベーションで作った。

SIRENの屍人、闇人の生みの親である高橋美貴さんが参加するグループ展stella Novaに行ってきた

みんなのトラウマである恩田美奈(閲覧注意)太田ともえ(閲覧注意)を生み出したデザイナー、高梨美貴さんが出展するstella novaというグループ展に行ってきた。

stella nova

高橋さんはSIRENの10周年記念ニコ生で、SIREN2が出た時に2chで「闇人乙式がトラウマになったからもう2度とこのゲームをやらない」という書き込みを読んで「やった!!!」って思ったって話がめっちゃ面白くてファンになった。

今日はご本人もいらっしゃるというので、これはと思い見に行ってきた。運良く少しお話できた。やったぜ。

作品は退廃的、幻想的で美しかった。基本Photoshopで書いてて、一部展示するものはプリントした後に加筆していてご本人のTumblrでも見れる“朝、雷鳴”なんかは加筆されてて荘厳さが増していた。

(この作品の女性が着てるの、ウェディングドレスっぽく見えるんだけど、雰囲気は葬式に見える。。。展示されてたやつだとうっすら幽霊みたいな他の顔も書き込まれてた。)

ベクシンスキーとかH.Rギーガーとか好きな人にオススメです。

余談・個人的に秀逸だと思うホラーゲームのクリーチャー3選

生理的嫌悪感重視。レッドピラミッドシングもいいけどカッコ良すぎて生理的嫌悪感が無いので選外。

渋谷.rbでCircleCI、Docker、Serverspec、Ansibleあたりの話をしてきた #shibuyarb

渋谷.rb[:20150318]の資料です。 本当はAzusaColors使おうとしたんですけど、普通のAzusa使うよりもセンスいるなと思って諦めたら@cyber_yoshidaさんの資料で使われててセンスの差を感じました。

「インフラのテスト、何やっていいかあんまり思い浮かばない」的な相談したら、

  • 新しく作るサーバのテストと動いてるサーバの状態を変えたい時のテストは分けて考えられる
  • 新しく作るサーバのテストはそのぐらいの観点でいいと思う
  • Serverspecとは違うが、動いてるサービスに対してのテストでntfっていうの使って

などなど、参考になるアドバイスを多くいただけました。ありがとうございます。 また、Itamae、chefの話が出てAnsibleと比べてどうなの?的な話が出てたので、「Ansibleはchefと比べて学習コスト低い的な風潮あるけど、実際両方やってみてそんな変わらんよ」的なことを言っておきました。

Tweetもされてましたが、Ruby界隈はやっぱりItamae使いはじめてる人、気になってる人が多い印象でした。 なので、次回のmeetupでAnsibleの話したいとおもってます。

それとは別に、Reactを使ってみてる、気になってるという話も結構聞きました。

渋谷Ruby会議02

が企画中みたいですよ。

https://github.com/shibuyarb/shibuya02

あわせて読みたい

コーポレートサイトを自動デプロイするようにした

このコーポレートサイトはCIにwercker使ってて、この間自動デプロイするようにした。

http://www.exvisionz.jp/

関連記事

ざっくり概要

  • デプロイツールはcapistano3を使用
    • デプロイ先のipはdeploy/production.rbaws-sdkを使って取得
    • プライベートリポジトリからのソースの取得はSSH Agent Forwadingで行っている
  • デプロイ開始時、終了時にslackに通知
  • masterのテストが通ったらでwercker.ymlに記述したデプロイタスクが動くようにしてある
  • 要は、werckerがCI用に立てたUbuntuのインスタンスからcapistranoを叩くようにすればいい

コーポレートサイトのNginxの設定をチューニングも兼ねていじった

年末にリニューアルしたコーポレートサイトのNginxの設定をチューニングも兼ねていじった。

年末ハッカソンしてコーポレートサイトをAWS + Nginx + Unicorn + Sinatra構成でリニューアルした

構成

  • Amazon EC2 t2.small 1台
    • Amazon Linux
    • ELB無し
    • Public Subnetのみ
    • EC2インスタンスにEIP割り当てて、DNSのAレコード設定してるだけ
  • Nginx 1.7.7
  • Ruby 2.2.0
    • Sinatra
      • 基本的に分割したhtmlをpartialでマージしてindex.htmlを返してるだけ
    • Unicorn
      • worker 4

最終的なnginx.confとビルド時のコマンド

https://gist.github.com/onigra/ff92467d1107a5b868e1

やったこと

httpサーバの設定を本格的にいじったのが初めてなので、インフラ専門の人から見て特に目新しいことはしてないと思う。

  • チューニング
    • worker_processesをautoにする
    • worker_rlimit_nofileとworker_connectionsの数値をいじる
    • use epoll
    • 静的コンテンツをgzipで返す設定
    • proxy cacheを使う
    • 静的コンテンツはNginxに返させる
  • セキュリティ
    • server_tokens off
    • DDos対策
  • 趣味
    • GeoIPの情報をログに出す

例えば、アプリケーションでWebAPIのバージョニングをしない

注意

  • AWSの前提で話をしています
  • 実際にこの構成を試したわけではありません
  • 識者のご意見お待ちしております

年末にWebAPIのバージョニングについて考えてて、2014年にその話題で盛り上がった時の記事読みあさったり、Web API: The Good parts読んだりしたんだけど、発端になった@kennさんの記事のブコメでmod_rewriteでやるべきっていうのを見てなるほど、と思ったのと同時にそもそもバージョニングをアプリケーションにやらせない方が幸せになれるんじゃないかと思って、思いついたのが下記の方法。

年末ハッカソンしてコーポレートサイトをAWS + Nginx + Unicorn + Sinatra構成でリニューアルした

弊社コーポレートサイトのデザインが非常に味わい深く、以前から作り直そうという話題が出てたものの、なかなか実施されなかったので、年末全社員(5名)集まってハッカソン形式で1日で作り直すことにした。

自分が言い出しっぺなのでオーガナイザーをやった。

Before

old_design