2014年7月5日土曜日

独立記念日の花火を撮影してきた

Happy Fourth of July!

 7 月 4 日はアメリカの独立記念日。アメリカ中で花火が打ち上げられます。サンフランシスコでも何箇所かで打ち上げられていましたが、最大の海辺の花火を見に行ってきました。

Red, white and blue!

Firework in SF

上から降ってくる大きな花火、下から上がる花火、そしてまんなかに丸い花火の三種類がうまく写った一枚 :)

Firework in SF

Firework in SF

Firework in SF

Firework in SF

Firework in SF

Firework in SF

Firework in SF

Firework in SF

Firework in SF

Firework in SF

Firework in SF

Firework in SF

Firework in SF

Firework in SF

Firework in SF

Firework in SF

Firework in SF

Firework in SF

Firework in SF

Disclaimer このブログは山崎富美の個人的なものです。ここで述べられていることは私の個人的な意見に基づくものであり、私の雇用者には一切の関係はありません。

Wearables at #io14

Google Glass や Android Wear など、ウェアラブル機器がどんどん増えてきており、Google I/O でもホットな話題でした。というわけでこちらもまとめておきます。



Develop GlassWare
https://developers.google.com/glass/develop/

Glass Development Kit
https://developers.google.com/glass/develop/gdk/

Designing for Glass
https://developers.google.com/glass/design/

GlassWare review (Google Glass 向けアプリ配信はレビューが必要)
https://developers.google.com/glass/distribute/

Getting Started with Android Wear
http://developer.android.com/wear/index.html

Android Wear Style Guide and Sample Apps
http://developer.android.com/design/wear/creative-vision.html


Keynote

基調講演の wearable についてのセクションは開始後 49 分 18 秒から。



Wearable computing with Google
セッション概要 
Wearable computing is here and the way we interact with technology will be completely different. Building cool, fun, and delightful experiences is no longer enough. They must also be experiences that address specific user problems and never get in the way or take precedence over the user's life. They must give users all the benefits of technology they've come to expect, and more, while meeting them on their terms in a seamless and intrinsically human way.  
In this session, we'll take a look at the constellation of devices that make up not just wearable, but ubiquitous computing. We'll tie them all together with common design and development practices as well as the Google Platform. This is the key information that'll get you ready for being part of a sea change of technology that invariably puts the user first.



Designing for wearables
セッション概要 
Wearable technology requires new design approaches. We'll share our design process for Android Wear and Glass, and tips for developers and designers working in this emerging space.



Android Wear: The developer's perspective
セッション概要 
Take a developer's tour of the Android Wear platform and Google's new wearable APIs. Learn about our simple and powerful tools for creating apps for Android Wear devices and bringing wearable experiences to your Android apps. We'll walk step-by-step through designing and building a small, contextual app for Android Wear.



Innovate with the Glass Platform
セッション概要 
The Glass platform has expanded dramatically with the introduction of the GDK and recent update to KitKat. This session will provide a deep analysis of the Glass software platform and provide developers with tools, APIs, and sample code to build truly innovative user experiences on Glass.




I/O Bytes もたくさん出ています。

Voice Driven GDK Glassware



Fullscreen Apps for Android Wear



Designing for Glass



New Notification Features for Android Wear



Building Advanced UIs for Android Wear



Building Cloud-powered wearable Apps



Designing for Android Wear



How We Customized Google Apps for Android Wear



Mirror API Glassware I18N and L10N



GDK Glassware I18N and L10N



Disclaimer このブログは山崎富美の個人的なものです。ここで述べられていることは私の個人的な意見に基づくものであり、私の雇用者には一切の関係はありません。

2014年7月4日金曜日

Making music mobile with the Web #io14

Google I/O のステージ上で Google I/O のテーマソングをモバイルウェブを使って制作し、演奏して録音しちゃおうというセッション。ステージ上に楽器を持ち込んで演奏し、getUserMedia で音を取り込んで、Web Audio で音を加工して、 WebRTC を使って遠隔地にいる演奏者とコラボしてそれも取り込み、歌は会場のお客さんと一緒に歌って Chrome for Android で録音。それらを Soundtrap を使って編集して仕上げます。楽しい!



Making music mobile with the Web
セッション概要 
Join us as we record, live and onstage, a custom "Theme for I/O" song using the mobile web. With WebRTC, Web Audio, Dart, and Chrome for Android, Soundtrap built a collaborative music authoring system. We'll show you how to add real-time communication and audio to your mobile web app.



Getting Started with WebRTC
http://www.html5rocks.com/en/tutorials/webrtc/basics/

Getting Started with Web Audio API
http://www.html5rocks.com/en/tutorials/webaudio/intro

Getting Started with Dart
http://www.dartlang.org/docs/tutorials/get-started/


もうひとつ、Chris Wilson の I/O byte も面白いです。

Making Music with the Web Platform



Disclaimer このブログは山崎富美の個人的なものです。ここで述べられていることは私の個人的な意見に基づくものであり、私の雇用者には一切の関係はありません。

Google Cloud Platform #io14

Google I/O での Google Cloud Platform についてのセッション動画をまとめました。

Less code, more services, better Android apps
セッション概要 
It doesn’t matter if you’re writing a multiplayer Android game, or a simple to-do app, your users are increasingly expanding multi-device access from anywhere. However, sharing state from highscore lists to to-do lists between devices in a way that works well with spotty network connections is hard, error prone and expensive. Wouldn’t it be great if Google took care of all that, while providing an easy path to expand as your app grows and matures?  
In this session, we will show you how to build mobile apps which use new Google technology to simplify data storage, online/offline behavior and synchronization across multiple devices. You’ll have full access to the data you store in the Google Cloud platform with app development features and the rich set of data analytics tools to get more use out of your data. You’ll see how Android Studio tooling makes this straightforward, and allows you to bring the full power of Google Cloud Platform to your app as your needs grow. Come away equipped with new tools and skills to make your app better than ever, without writing hundreds of lines of code.


Making your cloud apps Google-fast
セッション概要 
How do you make your cloud applications fast? For the past 15 years, Google have been developing tools and techniques for building fast cloud based services - something that we like to think of as ‘Google-Fast’. In this session we’ll look at how we build Google Search, Google Maps and Gmail to be Google-Fast. We’ll demonstrate how you can apply much of what we’ve learned to building your own fast cloud services and applications using the tools and services available to you with Google Cloud Platform. We’ll provide deeper insight on how to get the best performance out of all of your cloud resources, from Persistent Disk performance to Cloud Datastore writes and beyond. You’ll leave this session fully equipped to design and build Google-Fast cloud applications on Google Cloud Platform.



Containerizing the Cloud with Docker on Google Cloud Platform
セッション概要 
Have you ever wondered about the core technologies that enable Google to rapidly build reliable distributed systems, while simultaneously increasing data center reliability and efficiency? In 2006, Google developed Linux container technology that enabled world leading fleet utilization, efficiency and scale. More recently, these same core technologies formed the foundation of Docker, the popular, new open source container environment.  
Join us in this session and see how containers are re-making the cloud computing landscape. Learn how Google Cloud Platform is making itself the best place in the world to run container images. Come see how containers and Google Cloud Platform make it easier to build, run and maintain distributed systems, by building on the same core container technologies that power all of Google. Get a first look at Kubernetes, the new open source container cluster management implementation that turns these concepts into reality. Come learn how containers and Google Cloud Platform make the technology and application architectures that power Google available to all developers across the world.


Zero to hero with Google Cloud Platform
セッション概要 
Ready to take the leap into the Cloud with your next application? This talk will build the foundation, providing you with a developer overview of Google Cloud Platform. You will learn the basic building blocks of the Cloud Platform in the context of solving real-world problems from a developer’s point of view. We will also pull back the covers on a some key technologies so as to give you a better understanding of how they really work in order to allow you to get the most out of them as a developer. Finally we’ll show you a few early glimpses of new services and tools that will be coming soon to the platform and give you an insight into how we’re looking to change the way that you develop applications in the Cloud today.


Taming your cloud applications with intelligent monitoring
セッション概要 
Do you run applications in the cloud? How well do you understand what they’re doing? Is Redis overheating? Are all of your Hadoop nodes healthy? Did you notice that spike in errors that you were serving at 3am? Because your users sure did. Luckily, we can help. We’ll show you how you can use Google Cloud Platform’s powerful logging, monitoring, and alerting capabilities to quickly recognize when your applications aren’t behaving or performing well. It’s easy to set up, and it’s easy to use. We’ll demonstrate the integration of Stackdriver’s monitoring and alerting system with the Google Cloud Platform. When you leave this talk, you’ll understand how you can start using our intelligent monitoring, which lets you spend less time on ops and more time developing the next great cloud app!


Big data, the Cloud way: Accelerated and simplified
セッション概要 
Making sense of your Big Data problems doesn't have to require a herculean effort. Deriving meaning from your data, at any scale, doesn't have to involve a tangle of clusters, configurations, and scripts that takes a team of specialized administrators to unravel. In fact, you can make it manageable and easy for all developers without losing insight in the process. We've created easy-to-use services so that you can run deep analytics on both streaming and historical data with as little effort as hosting an app on App Engine.  
However, sometimes, you need more control and configurability than managed services allow. That doesn't mean that you lose all the benefits of the Big Data tools that Google Cloud Platform has developed. You can easily combine managed services, where it makes sense, with Open Source tools like Hadoop and Spark. This session will dive into what you can use today to manage Big Data like Google itself does, “the Cloud way”, as well as how you can plan to scale as your data needs shift and mature.


The dawn of "Fast Data"
セッション概要 
Do you need simple, flexible, and powerful ways to process data of any size and from different sources? In this session we unveil a new system that enables you to rapidly build and execute data pipelines which can be used to ingest huge volumes of streaming data while simultaneously performing continuous, near-real-time analytics. You’ll learn how you can easily build complex data pipelines that can be used to seamlessly cross the data processing boundaries from batch to streaming, all on a system that is fully managed and optimized within the Google Cloud Platform. Come see how easy it is for you to move beyond just Big data and equip yourself with all the tools that you need to move into the world of ‘Fast Data’



DevOps at the speed of Google
セッション概要 
Do you need to build, deploy and maintain a Cloud Application or Service quickly and nimbly? At Google, we do -- and everything that we’ve learned about doing this, we’re bringing to you as part of the Google Cloud Platform. We’ll show you tools and techniques that we provide in our platform for handling complex, global scale operations for extremely high usage services, but which work at your scale no matter how small or large that may be. You’ll come away from this session armed with best-of-breed tools that you can use in your DevOps -- tools that will give you the ability to operate at the speed of Google!


Predicting the future with the Google Cloud Platform
セッション概要 
Can you predict the future using Big Data? Can you divine if your users will come back to your site or where the next social conflict will arise? And most importantly, can Brazil be defeated at soccer on their own turf? In this talk, we'll go through the process of data extraction, modelling and prediction as well as generating a live dashboard to visualize the results. We’ll demonstrate how you can use Google Cloud and Open Source technologies to make predictions about the biggest soccer matches in the world. You’ll see how to use Google BigQuery for data analytics and Monte Carlo simulations, as well as how to create machine learning models in R and pandas. We predict that after this talk you’ll have the necessary tools to cast your own eye on the future.


更には I/O Bytes として公開された動画もご紹介。

Big genomic data on Google Cloud Platform



ゲノムデータ解析面白そう!

Google Genomics
https://developers.google.com/genomics/

Google Genomics API を使ったツール
https://github.com/googlegenomics

サンプルアプリ
http://gabrowse.appspot.com/

メーリングリスト
goo.gl/jXAk1B

Open Source Data Analytics: Part of your Standard-Issue Cloud Toolkit



Hadoop on Google Cloud Platform
developers.google.com/hadoop

Building Cloud-powered wearable Apps



Android Studio ダウンロード
http://developer.android.com/tools/index.html

Getting Started with Android Wear
http://developer.android.com/wear/index.html

Building Node.js applications with App Engine and Custom Runtimes



Getting Started with Custom Runtimes
developers.google.com/cloud/managed-vms

Optimizing disk I/O in the cloud



Go Google Cloud Platform!



 Disclaimer このブログは山崎富美の個人的なものです。ここで述べられていることは私の個人的な意見に基づくものであり、私の雇用者には一切の関係はありません。

Perfectly executing the wrong plan #io14

こんな悲しい始まりのセッションがあるだろうか。。。

開発者の 86% が、開発者自身の抱える問題を解決することから始まっている。ところがそこで作られたサービスは開発者自身以外使いたい人がいなかった。。。何が問題だったのか。同じ過ちを犯さないように、何がまずかったのかを振り返り、解説していくセッションがこちらです。

Perfectly executing the wrong plan
セッション概要:
App developers ask themselves excellent questions about their users: Do people need my app? Can people use my app? Why do people sign up and then not use my app? However, app developers answer their excellent questions in invalid and unreliable ways. It is shocking to see how much effort app developers put in writing elegantly structured, refactored code, with good unit test coverage in an agile environment, and yet, their apps fail miserably.
This talk will inspire developers to implement valid and reliable ways to answer their most burning questions. It’ll help them validate or invalidate their assumptions on their own—cheaply, and quickly, by using simple user research techniques with a main goal in mind: developing apps people need, want, and enjoy.


Disclaimer このブログは山崎富美の個人的なものです。ここで述べられていることは私の個人的な意見に基づくものであり、私の雇用者には一切の関係はありません。

2014年7月3日木曜日

Google Cloud Platform を使って未来予測! #io14

先日、スポーツのデータを提供している Opta についてブログを書きました。こういうデータは非常に面白くて、単にビジュアライゼーションをするだけでも面白いのですが、うちの同僚の Felipe と Jordan は更に、そのデータを使って統計モデルを作り、機械学習させ、ワールドカップのサッカーの勝敗予測をセッションで行いました。

選手たちのワールドカップ以外のプロリーグでのパフォーマンスや Jordan が作ったランキングシステム、ブラジルに渡航したファンの数など、様々な要素がモデルに組み込まれています。Google Cloud Dataflow を使ってデータを読み込み、BigQuery を使って分析し、iPythonPandas を使ってモデルを構築し、Google Compute Engine を使ってデータ処理を行っています。



Predicting the future with the Google Cloud Platform

セッション概要:
Can you predict the future using Big Data? Can you divine if your users will come back to your site or where the next social conflict will arise? And most importantly, can Brazil be defeated at soccer on their own turf? In this talk, we'll go through the process of data extraction, modeling and prediction as well as generating a live dashboard to visualize the results. We’ll demonstrate how you can use Google Cloud and Open Source technologies to make predictions about the biggest soccer matches in the world. You’ll see how to use Google BigQuery for data analytics and Monte Carlo simulations, as well as how to create machine learning models in R and pandas. We predict that after this talk you’ll have the necessary tools to cast your own eye on the future.



で、予測結果はどうだったのかというと、ベスト 8 の予測のすべてが当たりました :)
詳細は下記ブログ記事をご参照。

Google Cloud Platform goes 8 for 8 in World Cup predictions

update 7/7

当然、次は準々決勝を予測しています。

ブラジル対コロンビア - ブラジルの勝率は 71% > 正解
フランス対ドイツ - フランスの勝率は 69% > 不正解
オランダ対コスタリカ - オランダの勝率は68% > 正解
アルゼンチン対ベルギー - アルゼンチンの勝率は81% > 正解

update 7/11

なお、当たった・当たらなかっただけでは意味がなく、
なぜ上記フランス対ドイツが当たらなかったのかの分析を行うのがとても重要です。

というわけでその分析と準決勝の予測はこちら:

Google Cloud Platform is 11 for 12 in World Cup predictions

ブラジル対ドイツ - ドイツの勝率は 59% > 正解
オランダ対アルゼンチン - アルゼンチンの勝率は 61% > 正解

両方正解!というわけで最後の決勝の予想はこちら

Google Cloud Platform predicts the World Cup (and so can you!)

ドイツ対アルゼンチン - ドイツの勝率は 55%

さてどうなるでしょう!

Update 7/13

ドイツが勝ちました!決勝も当たりです!

その他ご参考:
Googleの虎の子「BigQuery」をFluentdユーザーが使わない理由がなくなった理由 #gcpja
BigQueryにTwitterのタイムラインを入れる [Ruby]

Disclaimer このブログは山崎富美の個人的なものです。ここで述べられていることは私の個人的な意見に基づくものであり、私の雇用者には一切の関係はありません。

Introduction to Project Volta #io14

スマホの電池が切れるの、しんどいですよね。。。ツールが便利であれば便利であるほど、使えなくなった時の不便さが際立ちます。

Nexus5 を使い始めて半年ですが、どんどん電池の減りが早くなっているため、最近はいつもスマホに充電ケーブルをさしたまま歩いているので、「いつもケーブルとつながっている人」扱いされています。特にバッテリーをどんどん消費してしまうアプリは Battery draining app と呼ばれて嫌われるわけですが、辛い。辛い。

そこで L リリースでやってくるのが Project Volta。

さっそく Ars Technica が記事を書いています。

Examining Project Volta: We put Android L through our battery test



。。。というわけで本題のセッション:
Introduction to Project Volta
セッション概要:
No one likes battery-draining apps. We’ve analyzed power use by the platform and apps and want to share what we've found in this talk. We will go over best power practices, and familiarize you with some tools for measuring power consumption. We'll also describe a couple APIs that make it easy for you to write applications that drain less battery. Join us in helping improve battery life for our users.


Battery Historian (Android のバグレポートファイルを使ってバッテリー利用量をトラッキングするツール)

https://github.com/google/battery-historian

I/O Bytes: Using the Android Job Scheduler
(Job Scheduler とはアプリを最適化して余計なバッテリーの消費を抑えるための API)



Job Scheduler サンプルアプリ

https://github.com/googlesamples/android-jobscheduler

Android L Developer Preview (Power) ドキュメンテーション

http://developer.android.com/preview/api-overview.html#Power


Disclaimer このブログは山崎富美の個人的なものです。ここで述べられていることは私の個人的な意見に基づくものであり、私の雇用者には一切の関係はありません。