OnePlus One / BALMUDA AirEngine

昨今、ハードウェアの世界で色々なベンチャーが誕生し、特色のあるスマートフォンや家電を手に入れる機会が増えてきました。私は、人と違ったものを欲しがるところがあるので、気になった製品を勢いで購入してしまいます。その中で私が気に入っている製品として OnePlus One と BALMUDA AirEngine があります。

1. OnePlus One

composition-main-aw@2x

こちらは、中国の新興メーカーOnePlus社が販売しているスマートフォンで、THE FLAGSHIP KILLER と謳っており、他の大手メーカーのフラッグシップ機を超えるようなスペックを誇っています。購入するためにはInvitationを受ける必要があり、購入までのハードルが非常に高かったのですが、現在は自由に購入することができます。

OSはCyanogen 11S というAndroid 4.4をベースにしたカスタムOSを搭載していますが、OxygenOSというAndroid 5.0.2をベースとしたカスタムOSをOnePlus社が開発しており、そちらへ載せ替えることもできます(ただしRoot化が必要)。

16GBのSILK WHITE と、64GB SANDSTONE BLACK の2種類が販売されており、2015/6/15現在、それぞれ249ドルと299ドルとスペックに対して非常に低価格に設定されています。私が購入した当初はそれぞれ299ドル、349ドルだったので円安の影響を含めても非常に安く手に入れることができます。ただし、直接日本への発送はしていないため、海外転送サービスを利用するなどの必要があり、配送料を含めて考えると100ドル以上高くなると考えたほうがよいです。

もちろんSIMフリー端末なので、私はOCNモバイルONEを契約し格安運用しています。

2. BALMUDA AirEngine

001

BALMUDA社は2003年に設立された日本の家電メーカーで、デザイン性の高い白物家電をメインで販売しています。いわゆる大手家電メーカーの製品と比べるとやや高めですが、従来の製品には見られないスタイリッシュなデザインでインテリアコーディネートするときに一役買ってくれます。

私は、AirEngineという空気清浄機を利用しています。購入当時は花粉の季節だったので、花粉を除去したいという思いが非常に強かったのですが、購入後は大分楽になった記憶があります。ただ、上部の大きなファンで空気を天井から循環させ、下部のフィルターで集塵するというコンセプトで、花粉等の小さな粒子には非常に効果的なのですが、どうも猫の毛などの大きめのハウスダストに関しては、ダイキン社の空気清浄機に分があるように感じています。ですので、我が家ではAirEngineのJETモードで空気を循環させつつ、ダイキン社の空気清浄機を併用して大きなハウスダストを取り除くというソリューションを展開しています。

最後に

もともと半導体設計エンジニアで、ハードウェア寄り仕事をしていたことから「ものづくり」に対するこだわりについてはわかっているつもりです。今はゲーム開発を行っていますが、ハードウェアベンチャーも最近盛り上がりつつあるので、いずれはそちらの分野にも強いエンジニアになりたいです。

Vimを全ての開発で利用する

最近、Unityを使ったゲーム案件を担当しているのですが、
クライアントでのC#開発だったり、サーバサイドのPHP, Ruby開発だったりと、
色々な言語を使って同時に開発することが多くなってきています。

◆開発環境の選定問題
Windows開発では、Visual Studio、
Android開発ではAndroid Studio, IntelliJ IDEA, Eclipse、
iOS開発では、xcode、
Unity開発ではMono Develop、
PHP開発ではPHP Stormなどなど、
各種便利なIDEが存在しているのですが、
IDEを行き来した場合の「操作性のズレ」ということに悩まされることが多くなると多います。

そこで、私は以前から「Vim」を開発環境の軸にすることに決めて、Vimのみを使って開発するという一点突破を行っています。

◆統一開発環境Vimにする利点
統一開発環境をVimにする利点として、以下の点が上げられると思います。
・Vimの操作のみ覚えればよい
・クライアントコード↔サーバサイドコードの移動がシームレスに行える
・開発環境を継続的に改善していくことによって、「エンジニアの資産」にできる
・Pluginが多く公開されており、また必要な物は自分で作成することができる

◆私のvim環境
私がどのようにVim環境を改善してきたかは、dotfilesとしてGitHubに軌跡を残してきました。
PHP開発を案件があれば、PHP環境の最適化を行い、
Unity案件があれば、C#の開発環境を最適化してきています。
技術者界隈では、Vimにかぎらずdotfilesのように環境設定を公開することによって、
効率のよい開発環境を共有していくということが最近の主流になっているようです。

以下が私のdotfilesとなっており、シェルスクリプトを実行することによって
新しいマシンや開発サーバを導入したとしても、簡単に最新の開発環境を再現できるようにしています。

https://github.com/akinama/dotfiles

◆おすすめのPlugins
Pluginが入っていない、デフォルトのVimでも問題無く開発できるのですが、
Pluginを入れることによって圧倒的に開発効率を向上できます。
その中から、特に便利だと思われるものを紹介します。
また、Plugin管理にはNeoBundleという仕組みを利用しています。

https://github.com/Shougo/neobundle.vim

・Unite : https://github.com/Shougo/unite.vim
主流のVimの統合インターフェース。
Unite Pluginとして、各種Pluginを導入ことによって、
統合開発環境として利用できるようになります。

・neocomplete : https://github.com/Shougo/neocomplete.vim
コード補完機能。
インテリセンスを利用するためにも利用しています。

・unite-gtags : https://github.com/hewes/unite-gtags
GNU GlobalのタグをUniteから参照する。
GNU Global+Exubarent Ctagsでタグ付けをして開発していますが、
クラス・メソッド・変数をdef/refでジャンプしたりするために利用しています。

・Git-Grutter : https://github.com/airblade/vim-gitgutter
Git管理下のファイルをVim上で変更内容を確認する。
Git管理下のファイルを追加・削除・更新がビジュアル的に常に確認できるようになります。
一瞬でそのファイルのどの部分が現在へ変更されているかを確認するのに便利です。

上記は、よく使うPluginですが、

https://github.com/akinama/dotfiles/blob/master/.vimrc

から、現在利用しているPluginを参照できるので、よければ参考にして下さい。

東京メトロオープンデータ活用コンテスト

こんにちは、jkです。
妻の分娩予定日が決まり、とうとう再来月には人の親になってしまいます。
いろいろと大変そうですが、楽しみながら子育てに取り組みたいと思います。

さて、今回のブログ記事のテーマですが、
東京メトロオープンデータ活用コンテスト
について取り上げてみたいと思います。

オープンデータ活用コンテスト___未来とメトロ___東京メトロ 10th anniversary

これって何のコンテスト?

簡単にいえば、東京メトロさんが『東京メトロ全線』の『列車位置や遅延時間』といった今までクローズに扱ってきたデータをオープン化し、それを使ったアプリケーション開発コンテストを開催しているということです。
グランプリを取ると100万円!ですので、お小遣い制のお父さんは是非参加したくなる企画だと思います。

具体的にどのようなデータが公開されているかというと、
オープンデータ活用コンテスト___未来とメトロ___東京メトロ 10th anniversary
のように、
・1分毎の列車の運行情報
に加えて、
・列車情報(列車時刻表、運賃表、駅間所要時間、各駅の乗降人員数、女性専用車両)
・施設情報(バリアフリー情報、駅出入口情報、車両ごとの最寄り施設・出入口案内)
といった、何やら面白そうなデータまで取得することができます。

どうやって参加するの?

公式の開発者用サイトがありますので、簡単なユーザ登録をすればすぐに使用できます…

といいたいところですが、登録完了まで最大2営業日かかるようです。
しかし登録完了後は発行されるconsumerKeyを使用して、すぐに東京メトロのオープンデータにアクセスすることができます。

どうやってデータを取得するの?

リクルートWEBサービスや楽天WEBサービスのように、
登録後に発行されるconsumerKeyをURLに付与し、RESTful APIのエンドポイントにアクセスすることによってデータを取得できます。

Web APIのデータ形式として『JSON-LD(Linked Data)』をとっています。
JSON-LDはw3cによって今年の1月に標準仕様として承認されたようですが、
私はLinked Dataの利点や仕様を全然理解していないので、これを期に勉強して理解したいと思います。

さあ早速アクセスしてみよう!

と思いましたが、私も登録がまだ完了していないので、実際にWeb APIでオープンデータにアクセスできるようになってから改めてご報告します。

今後の方針

何やら私の友人界隈でコンテストへの参加熱が強まっているようなので、土日や帰宅後の時間を利用して少し取り組んで見たいと思います。

勉強すべきことなど

・JSON-LD
・どんなアプリケーションにするか

入社のご挨拶

はじめまして、jkと申します。今年4月に正式に入社しました。
大分遅れてのご挨拶となってしまいますが、よろしくお願い致します。
前職では、スマートフォン向けのブラウザゲームを開発を行っておりました。
アドバンスト・プロでは、独自サービス(ソーシャルゲーム)の展開に関する業務に携わっております。

技術ブログに関しては、業務で使っている言語・フレームワーク・サーバ構築方法などのTipsをメインに投稿できればと考えております。

現在、開発環境としては、

  • Ruby
  • Ruby on Rails
  • MySQL
  • Redis
  • AWS (本番環境)
  • Git + GitHub

といった割とモダンな形で開発を進めております。
実際に技術の採用や環境構築の際はつまづきやすい内容が多く、
特に、AWSに関しては日々新しいアップデートが行われており、
2年前に欲しくてたまらなかった機能が、現在使えるようになっていたりします。
そういった内容を実際に使える形で情報共有できればと思います。

今後とも、よろしくお願い申し上げます。