読者です 読者をやめる 読者になる 読者になる

Siriに身の回りのお世話をしてもらう

こんにちは、id:takanamito です。
私は海外事業部のエンジニアで、普段業務ではインドネシア向けのメディア開発に携わっています。
今回は、SpeeeKaigiで話したSiriを使ったお家ハックについて話していきます。

SpeeeKaigiについてはこちら↓

tech.speee.jp

発表資料

はじめに

今回はSiri経由で

  • TV
  • エアコン
  • 電気

を操作してみました。

またMackerelで温度管理をすることで
お部屋を快適な温度に保つことにも挑戦してみました。

動機

とにかく電気を消すために布団から出てリモコンをとりにいくのがだるかったのと
インフルエンザ予防のためにお部屋の温度管理を厳密にしたかったのがきっかけです。

構成

  • Siri
  • HomeKit
  • Raspberry Pi (Homebridge)
  • IRKit

を使った構成でいきます。

中核をなすのがRaspberry Piの中で稼働しているHomebridge

GitHub - nfarina/homebridge: HomeKit support for the impatient

GitHub - senyoltw/homebridge-irkit: Supports IRKit on Homebridge Platform. IRKitをSiri(Homekit)で操作するやつ。

HomeKit互換のNode.js製サーバーで
設定ファイルにIRKitから取得した赤外線情報をjsonで定義することで
HomeKitから各家電の操作ができるようになります。

個人ブログに詳しい解説記事があるのでそちらも合わせてご参照ください。

takanamito.hateblo.jp

Mackerelを使った温度管理

無事にSiriから家電を操作できるようになってからは、より進んだ自動化を考えるようになりました。
今回はエアコンの温度設定を自動で調整して、快適な室温維持を実現しています。

発表資料にも記載しているのですが、最初は愚直に温度を取得して定期バッチで温度設定の上下を操作していたところ
ドアを開けたときに一瞬入り込む冷気や、室温の変化自体がすごくゆっくりで過剰に温度操作を繰り返してしまう。といった問題が発生し
「一定時間 xx℃を下回った場合に温度設定を上げる」みたいな処理をつくる必要がありました。

もちろんDBやファイルなどに一定期間の温度レコードを保持しておいてそれを元に判断してもよかったのですが

  • Raspberry Pi上で稼働させているため、立ち上げるミドルウェアの数は増やしたくなかった(メモリ不足などの懸念)
  • 温度の記録を取るなら可視化までやってしまいたい

みたいな理由からMackerelを採用しました。

f:id:takanamito:20170211235420p:plain

最終的にMackerel上で 「10分間連続で xx℃を下回ったらアラート」という監視モニターを作ることで、先程の問題を解決しています。

こちらについても個人ブログに詳しい解説記事があるので、気になる方はご参照ください。
サムネは室温が低くアラート判定を食らっている様子です↓ takanamito.hateblo.jp

まとめ

この仕組みのおかげか、この冬はインフルエンザなどの大きな病気にならずに乗り切れそうです。

「Speee Cafe Meetup #5」レポート!

デジタルコンサルティング事業部エンジニアの岩崎(@suthio_)です。 ネイティブ広告の配信ネットワーク、UZOUの開発を行っております。

本記事では、2/17(金)に 弊社 SpeeeのLoungeで開催された、 第5回 Speee Cafe Meetupの様子について レポートさせて頂きます!!!

第5回は株式会社ごちぽんの尾崎さん、株式会社Basicから五島さん、株式会社VASILYから今村さん、Speeeからは平山、岩崎が発表しました。 f:id:mogmog2:20170224104638j:plain

「VICOLLEのAPI層のモデル設計」 by 株式会社Speee 平山 裕也

「ごちぽんで位置情報の導入への流れ」 by 株式会社ごちぽん 尾崎 豊

「ferretOneのAWS活用事例」 by 株式会社Basic 五島 僚太郎

「広告配信サーバーにおけるBlue Green Deploymentの導入事例について」 by 岩崎 裕馬

「3年連続ベストアプリ受賞のプロダクトを支える裏側」 by 株式会社VASILY 今村 雅幸

最後に

たくさんの人に来ていただき、非常に嬉しいです。 最後に、一緒にこの会をつくってくださった株式会社VASILYさん、株式会社ごちぽんさん、株式会社Basicさん、ありがとうございました。
f:id:mogmog2:20170224122423j:plain

第二回SpeeeKaigiを開催しました

SpeeeKaigiを開催しました(半年ぶり二回目)

エンジニア組織推進室の渡辺です。採用や広報を中心に、開発部をより良くすることをミッションにしています。 本日は半年ぶりの実施となった第二回SpeeeKaigiについて、レポートします。

f:id:yt-tanabe:20170218182646j:plain

SpeeeKaigiとは

Speeeで実施される技術のお祭りです。今回でめでたく二回目を迎えました。前回の様子はこちら。

tech.speee.jp

概要

Speeeでは様々な事業部にエンジニアが属しているため、他チームの業務の深い部分まで完全に理解することができないのが課題の一つです。Speeeではエンジニア全体mtgというものが週に一度あり、事業部持ち回りで毎週発表しているのですが、開発部の人も増える中で業務内外問わず、自身の技術をよりオープンに発信する文化にしたい・・

暗黙知が増えることへの打ち手として、あーだこーだ言ってた中で、 「だったら社内で全員発表する機会を創れば良いのでは?」という方向になり、 どうせやるなら本気でやろう。と思い、審査員、賞品を用意して実施したのがSpeeeKaigiとなります。エンジニアによる技術のお祭りと位置づけてます。

プログラム

前回よりも発表時間(7分→10分)を長くし、課題の背景や技術による課題解決をより正しく伝えられる時間構成にしました。 また、カンファレンスを意識しオープニングセレモニーとして、技術顧問の藤さん(@gfx)に基調講演を実施していただきました。

f:id:yt-tanabe:20170218183208j:plain

今回の発表テーマは下記のとおりです。Bizサイドのメンバーにも興味を持ってもらうために、このプログラムは事前に公開しました。 エンジニア以外の職種のメンバーも、会場やSlack実況チャンネルに参加してもらうことで、多くのメンバーにSpeeeKaigiのライブ感を知ってもらいました。

f:id:yt-tanabe:20170217035456p:plain:w650

審査員

前回同様、審査員には外部の方に協力をお願いし、厳格な審査を行っていただきました。

  • ビットジャーニー株式会社代表取締役社長 兼 株式会社Speee 開発部顧問 井原 正博氏
  • クックパッド株式会社 技術部長 兼 人事部長 庄司 嘉織氏
  • 株式会社リブセンス 取締役 桂 大介氏

f:id:mogmog2:20170217115710j:plain 審査員の皆様、休日にもかかわらず、お時間いただきありがとうございました。

評価基準

下記のような5つの評価項目で審査を実施。
審査員3名+参加したエンジニアの投票で最終的な順位を決定、という形式にしました。

  • 課題解決: レバレッジが効く課題解決をできているか
  • 技術的チャレンジ: 規模、速度等において難易度の高い取り組みができているか
  • 新規性: まだ一般化していない分野に取り組んでいるか
  • ワクワク感: 今後の展開が期待できるか
  • プレゼン力: 時間通りか、わかりやすいか、おもしろいか

当日の様子

銅鑼(笑)とともにSpeeeKaigi開催。 (いつか大きな銅鑼を用意したい・・・!)

f:id:mogmog2:20170217115934j:plain

発表資料一例

id:takanamito による「Siriに身の回りのお世話をしてもらう」の発表資料です。 Siri + Raspberry Pi + IRKitを駆使して、室温を計測し、規定の温度を外れた場合に自動でエアコンを操作して お部屋の温度を快適に保つ方法について発表していました。

業務内外問わず、バラエティに富んだ発表が多く、第一回以上にクセの強いテーマが多かったのが印象的でした。

SpeeeKaigiはSlackで実況しながらワイガヤやるスタイルで、技術の話(や関係ない話)がガシガシ流れます。 質疑応答のタイムロスを防ぐため、質問もSlack上で集約(質問は:question:をつけ、pinnedし、発表後にまとめて回答)するスタイルとしています。 長時間のイベントになりましたが、最後まで息切れすること無くあっという間に終焉。

f:id:yt-tanabe:20170218190504p:plain:w400

審査員も参戦

当初予定していなかったのですが、審査員を務めていた庄司さん(@yoshiori)も急遽、参戦。

f:id:mogmog2:20170217115639j:plain

終わってみての感想

準備する側は大変だと思うけど、とにかく楽しい。
普段の業務とは異なる場で技術について、アウトプットする機会は純粋によい。

f:id:mogmog2:20170217120010j:plain f:id:mogmog2:20170217115912j:plain

Speee唯一の「がんばる」勉強会

Speeeでは日常的にラフな形での技術共有や、やりたい人が勝手にやる勉強会が行われており、「がんばらない」勉強会を一つのスタンスとして運営しています。

tech.speee.jp

一方で、SpeeeKaigiは非日常的な雰囲気を全力で楽しむために、約2ヶ月ほど前から告知し、準備をしてもらった上で本番に臨む、「がんばる」勉強会と位置づけ実施しています。

そのような位置づけのイベントになるため、企画、運営側も徹底して準備に臨みました。上位入賞者への賞品、長時間集中できるようなコーヒー、お菓子の手配、登壇者のバックボードや垂れ幕など、細部に渡り非日常を楽しむための空間作りを心がけました。

f:id:mogmog2:20170217115734j:plain f:id:mogmog2:20170217154516j:plain

普段ゆるふわなあの人が、キリッとしているこの瞬間は、特異な空間で生まれる一種の非日常であり、その姿勢や内容から、多くの学びが生まれた感覚があります。

短期で連続的にやるとあっという間に摩耗し、霧散してしまうこの手の取り組みは、半年に一度だからこそ続くような気もしています。個人的にはみんなで作るこの空間がとても好きで、「こうして文化が創り上げられていく」、という審査員の方の言葉がとても印象的でした。

まとめ

というわけで第二回SpeeeKaigiのレポートでした!次回は半年後を予定しています。

f:id:mogmog2:20170217115759j:plain

株式会社 Speee は、まだまだエンジニアを募集しております。
美味しいコーヒーを飲みたいエンジニアの皆さん、ぜひ遊びに来てください。
Speee のラウンジで一緒にコーヒーを飲みながらお話しましょう。

株式会社 Speee に Ruby コミッターとして入社しました

こんにちは。開発部 R&D グループの村田 (mrkn)です。

2/1 より株式会社 Speee で働いております。所属部門の名称に R&D とあるように、役割は研究開発です。特にオープンソースソフトウェアの開発、データ活用の取り組み、社の技術レベル向上のための取り組みを担当します。後者においては、エンジニアの是澤、顧問の井原、藤とも協力して進めて参ります。

なぜ Speee に入社したか

私が Speee への入社を決めた理由は大きく3つあります。

1つは、Ruby のエコシステムの発展に貢献するための活動が主務になるポジションを用意していただけたこと、そして、その活動が Speee の技術にダイレクトに良い影響を与えられることです。

私はこれまで CRuby のコミッターとして bigdecimal ライブラリのメンテナンスなどに従事してきました。加えて、昨年から取り組み始めたデータサイエンスのプロジェクトもあります。これまでプライベートの時間を削ってやってきたこれらの活動に業務として取り組めるようになるので、私は無理をして家庭での時間を削る必要が無くなります。

次は人です。Speee から声がかかり、実際に会って話をする過程で、Speee (で|と) 仕事をしているエンジニアの中に尊敬・信頼できる知人が何人も居ることが分かりました。過去の同僚、一緒に遊んでいた友人、Ruby コミュニティーの仲間などです。話をする以前、Speee は私にとって謎の会社だったのですが、この知人の存在によって一気に信用が高まりました。

最後は待遇です。転職するにあたって待遇、特に年収が悪くなると、生活基盤を支えられなくなる恐れがあります。私には家族がいるため、この条件だけは自分一人だけでは決断できません。今回はそのような心配をする必要が無かったので助かりました。

Speee でやっていきたいこと

Speee では、オープンソースソフトウェアの開発、データ活用の取り組み、社の技術レベル向上のための取り組みをやっていきます。その中でも、オープンソースソフトウェアの開発について、私は次の2つに注力していきます。

  • Ruby でデータサイエンスができる世界を実現する
  • CRuby の開発への貢献

Ruby でデータサイエンスができる世界を実現したい

私は2016年に3回の国内カンファレンス *1 で、現在の Ruby がデータサイエンスに全く向いていない言語であることを発表しています。これらの発表は、Ruby を好きで使っている人たちに現状と、私が抱いている危機感を伝えることが目的でした。

しかし、単に危機感を煽るだけでは物事は前に進みません。そこで、カンファレンスの発表をしつつ、プライベートの時間を少しずつ削って調査と開発を進めておりました。この調査の成果は『データサイエンスにおけるRubyの現在の位置づけと可能性』として公開されています。

2017年はこのプロジェクトを進め、Ruby でデータサイエンスができる世界を実現させます。

CRuby の開発への貢献

これまでと同様、CRuby コミッターの一員として担当している bigdecimal のメンテナンスを続けます。

2017年は多くの時間を費やせるので、バグ修正だけでなく、これまでやりたいと思ってできていなかった以下の改善に取り組みたいです。

  • 桁数の扱いをまともにする
  • 乗除算の高速化
  • 無限小数の導入実験

bigdecimal の開発に加えて、組み込み複素数クラスの改善、開発者会議のための会議室提供などもやっていきます。

まとめ

2/1 より、村田が株式会社 Speee 開発部 R&D グループに入りました。 今後ともよろしくお願いいたします。

株式会社 Speee は、まだまだエンジニアを募集しております。 美味しいコーヒーを飲みたいエンジニアの皆さん、ぜひこちらにお立ち寄りください。 Speee のラウンジで一緒にコーヒーを飲みながら談笑しましょう。

*1:東京 Ruby 会議、RubyKaigi 2016、RubyWorld Conference 2016 の3回

Speeeエンジニアの社内勉強会事情を掘り下げる

Speeeエンジニアブログをリニューアルしました!

f:id:nisshiee:20170131163627p:plain

これまで「TECHNICA」というタイトルでブログを運営してきましたが、「Speee DEVELOPER BLOG」に名前が変わります。今後とも宜しくお願いします!


というわけでここからは、医療関連のエンジニアをしている西岡(nisshiee)から本題です。

Speeeの社内勉強会

最近、Speeeラウンジで開催した勉強会やイベントのご報告をたくさんさせていただいていますが、今日は社内で行われている勉強会の話をしたいと思います。

現在、Speeeの社内勉強会は大きく分けて2つあります。

1つは、毎週定例で開催している勉強会で、「エンジニア全体MTG」と呼ばれています(特に名前に意味はないです)。社員エンジニアは全員参加で、業務委託など別の形でお手伝いいただいているエンジニアやエンジニア以外の職種のメンバーにも自由に参加してもらえるようにしています。

Speeeは、エンジニア人数と比べると、かなり多くの事業を運営しています。そのため、どうしても「他のチームが何をやっているのか知らない」「今困っていることが実は他のチームでは解決済み」といったことが、人数が少ない段階から起きるようになってしまいます。そこで、持ち回りで「自分のチームが今何をやってるのか」「どんな課題をどのように解決したか」「こんな失敗をした」などを共有してもらい、開発部組織の事業間シナジーを誘発することを、この勉強会の目的にしています。

f:id:nisshiee:20170131133405j:plain エンジニア全体MTGでの発表の様子

もう1つは、「この技術について勉強をしたい、教えてもらいたい」などのメンバーが有志で集まり、勝手に開かれる勉強会です。こちらは特にマネジメント層からなにかを指示しているわけではなく、やりたい人が自由にやっています。この記事では、こちらの勉強会にフォーカスをあててお話したいと思います。

続きを読む