2013年4月14日日曜日

Hack4Good hackathon

I joined "Hack4Good" hackathon this weekend.

It is a bit different from regular hackathons in that the participants (hackers) are basically current Googlers or ex-Googlers that want to help those who needs help. Also, unlike regular hackathons that participants come up with an idea and hack, we had non-profits that has specific issues that they want help with. I think it was a great opportunity to match people who needs technical help and those who have skills to help. And in general Googlers and ex-Googlers have the spirit of wanting to change the world for the good, organize the world's information and make it universally accessible and useful, and really good at it, so I think it was great that they organized this event!




The 4 Non-profits were Charity Water, D-Rev, MapLight and Hackidemia.

Day 1 started with presentations from Google Developer Relations team on the newest Google technologies and tools that the teams can use, then Alex from Code for America who kindly provided their office as hackathon venue gave a short speech, then the non-profits gave their pitches on what they do, and what they'd like help with. Then the participants started wandering the room asking questions about the non-profits... about the data they already have, the platform they already use, what look and feel they want out of the new app/site we are creating, and figured out what project they might be able to help with, and started to form the teams.

== Charity: Water == 

Charity: Water is a non-profit that brings clean, drinking water to those in need. They have raised $93M over the past 6 years, funded 8,232 water projects in 20 countries and served clean, drinking water to over 3.2 million people. 

For this Hack4Good hackathon, they were asking to help visualize the water project portfolio that they have and also overlay/present any relevant news or data on those maps.

Hack4Good 2013

Hack4Good 2013

Hack4Good 2013

They sent their tech team here so that they can work together.

Hack4Good 2013

Message video:



== D-Rev ==

D-Rev is a non-profit product design company that designs and delivers products for people living on less than $4 per day.

Hack4Good 2013

Hack4Good 2013

They are about to launch the next version of their ReMotion Knee - a highly affordable, world-class knee prosthetic.

Hack4Good 2013

At this hackathon, they would like help in designing an integrated data collection and evaluation app for Android that will track their patients from their first fitting through their follow-up visits.

Hack4Good 2013

Message video:



== MapLight ==

MapLight is a nonpartisan research organization that reveals money's influence on politics.

Hack4Good 2013

Hack4Good 2013

They have recently launched the most up-to-date, comprehensive federal campaign finance data set currently available for free, public use.

Hack4Good 2013

Hack4Good 2013

However, due to its enormous data size, the CSV format in which they currently provide the data makes it difficult for users to do more than scratch the surface of this data set without the assistance of MapLight researchers. Hence, they receive data requests from journalists and nonprofits every day, they manually run queries and deliver results. They wanted help in building a simple search interface allowing users to directly query our database and download their filtered results... an important step to make our government more transparent and accountable to us all.

Hack4Good 2013

Message video:



== HacKIDemia ==

Hackidemia is a mobile invention lab where kids can learn science, new tech, and art by doing and by playing. They design and facilitate hands-on workshops and train local team of mentors to go to public schools and do these workshops.

Video of Hackidemia in Nigeria:



Making a circuit to convert DC to AC.

Hack4Good 2013

A boy extracting DNA of strawberry.

Hack4Good 2013

It's open source knowledge to physical making :D

Hack4Good 2013


So far they used a Google site for sharing all of the resources with the mentors, parents and teachers, but because the number of mentors is increasing a lot, they want to develop something more scalable. A web app where makers, parents and teachers can update each others instructions and order parts easily.

The Hackidemia web will provide a layer of meaning and action for the vast world of maker projects found across the internet. The app does this in the following ways:
• Users can save projects to their personal lab to share, revisit, and remix later.
• Users can buy the required materials for any online project directly through HacKIDemia's web app. This is possible through their network of materials providers, and an interface that makes building user's shopping list and ordering as easy and copy, paste, click.
• The app connects makers and educators with related content, activities, and curriculum from across the web. This is possible through a partnership with open education platforms like Khan Academy and Gooru.


Hack4Good 2013

Hack4Good 2013

Message video:



== Opening ==

Laura Gramann, the organizer of Hack4Good opening the hackathon.

Hack4Good 2013

Alex from Code for America welcoming the participants.

Hack4Good 2013


== Demos ==

We've had our colleagues from Developer Relations team- Wolff Dobson and Paul Saxman give presentations about some of the newest Google technologies and tools that they can use.

Hack4Good 2013

Hack4Good 2013


== Photos from hackathon ==


Hack4Good 2013

Hack4Good 2013

Hack4Good 2013

Hack4Good 2013

Hack4Good 2013

Hack4Good 2013

Hack4Good 2013

Hack4Good 2013


== Venue ==

Code for America kindly allowed us to use their office on Friday night and throughout the Saturday.

Hack4Good 2013

Hack4Good 2013

Hack4Good 2013

Hack4Good 2013

Hack4Good 2013

Hack4Good 2013

Hack4Good 2013

== Swags ==

Hack4Good T-shirts- Where there is Google event... there is a Google T-shirt... ;)

Hack4Good 2013

Hack4Good 2013

Raffle event many times, with a mobile battery present.

Hack4Good 2013

Hack4Good customized M&M's

Hack4Good 2013

== Food ==

Hack4Good 2013

Hack4Good 2013

Hack4Good 2013

Hack4Good 2013

Hack4Good 2013


== Judging Criteria ==


They had the following 5 judging criteria:


Impact: How much impact (scale and quality) could the solution have?
Complexity: Does the proposed solution have many moving parts (figuratively or physically)?
Sustainability: How well is the proposed plan prepared for implementation?
Creativity: Does use existing technology in a new way? Was the solution crated from scratch? Is its approach unique?
Presentation: How well did the team communicate their idea? How well did they respond to questions from judges?

Disclaimer: The opinions expressed here are my own, and do not reflect those of my employer. -Fumi Yamazaki

Google I/O and DevFest Japan

I was asked by my colleague to write a blog post about the event we organized in Japan after Google I/O last year, so here we go!


[DevFestX Japan 2012 Summer, Tokyo venue photo by Yoichiro]

==Background==

Not everyone gets tickets to Google I/O- the annual developer event hosted by Google. Tickets sell out very quickly- in less than an hour in recent years. All of the videos of the sessions will be uploaded to YouTube after the event, but all of the sessions are in English so it is hard for non-English speakers to watch. Also, there are numerous session videos, thus difficult for developers in Japan to identify which videos they should select and watch.

==What we did in 2011==

In 2011, following Google I/O 2011, we organized a Google I/O report event in Tokyo. It was basically a series of lightning talks, and the contents were from Google I/O sessions. Several Googlers and Google Developers Experts (GDEs, non-Googler developers that are experts in various technology) that were able to join Google I/O selected several sessions that they thought were very important or interesting, and summarized the contents of 1 hour session contents into 3 minutes lightning talks. That way, developers in Japan were able to grasp all of the important essence from 2 day event in just 3-4 hours, in Japanese language. (Overview in 30 minutes, day1 & 2 keynote 10 minutes each, and 24 sessions * 3 minutes each = 72 minutes, and then we had Q&A sessions)

Here you can see what we covered :

Overview http://goo.gl/62HNl
[Android] Keynote Day1  
[Chrome] Keynote Day2  http://goo.gl/C68o1
[App Engine] Full Text Search http://goo.gl/pa5Tf
[Google APIs] An introduction to the +1 button http://goo.gl/B3Qlg
[Android] Fireside Chat with the Android Team
[App Engine] More 9s Please: Under The Covers of the High Replication Datastore http://goo.gl/8kP8W
[Chrome] Chrome Web Store Publisher Forum http://goo.gl/cIsIs
[Geo] Connecting People and Places http://goo.gl/Eu7hj
[Android] Android Market for Developers
[Apps] GoogleAppsScript
[Commerce] In-App Payment
[Geo] Designing Maps Applications for Usability on Mobile and Desktop  http://goo.gl/aUnrt
[Google APIs] Building Custom Client Libraries for Google APIs  http://goo.gl/oYIvv
[Android] Optimizing Android Apps with Google Analytics
[Tech Talk] Crisis Response 2.0 - Empowering Developers in Times of Crisis http://goo.gl/fwiVw
[Chrome] WebGL Techniques and Performance http://goo.gl/qq56I
[App Engine] App Engine Backends, Putting Task Queues to Work http://goo.gl/PyuO6
[Tech Talk] Python at Google
[Chrome] Super Browser 2 Turbo HD Remix: Introduction to HTML5 Game Development http://goo.gl/eSYli
[App Engine] Go on AppEngine  http://goo.gl/RXscj
[Google APIs] ClientLogin #FAIL http://goo.gl/hg6z5
[Android] Building Aggressively Compatible Android Games http://goo.gl/Q65bU
[Tech Talk] Building Web Apps for Google TV http://goo.gl/bEzQq
[App Engine] Leaving Preview and Pricing Change http://goo.gl/411bH
[Chrome] Chrome Dev Tools Reloaded http://goo.gl/W3Kd7
[Android] Other updates on Android

==What we did in 2012==

We hosted an event called DevFestX Japan 2012 Summer on a Sunday right after Google I/O.

Again, the purpose was to share the 3-day worth learnings from Google I/O in just 1 day, in Japanese language, for the Japanese developers.

We wanted to try several things in 2012- since we had 7 Google Developer Groups (GDGs) nationwide in Japan, so we decided to connect those local chapters via Hangout on Air. (One of the GDEs lived in US, so we added LA venue. Also, folks in Shinshu wished to do a public viewing, so we made Shinshu as venue as well. They loved the experience and actually founded GDG Shinshu after the event.)




Also, 3 minute per session / evening only event was too short in 2011, so we decided to make it an afternoon- night event. (We did technical rehearsals in the morning so it was basically a full day event.)



We also wanted to make it theme based, so we structured 1 hour dedicated to Android, the next hour to Chrome, the next to Cloud, and then Geo and social.

We wanted everyone in Japan to be feeling the sense of the "main venue" not satellite venue just watching, so we sent the speakers from Tokyo to all of the GDG venues nation wide. For example, the Android sessions would be first 10 minutes from Tokyo, next 10 minutes from Kyoto, next 10 minutes from Fukuoka, and then the next 20 minutes were Q&A- anyone in any venue can ask any question about Android, and GDEs will answer them if they can. We also had Google Moderator for each technology so that shy people who were unable to stand up and ask questions had a chance as well. 10 minute short break to switch the theme, and start the next 1 hour for Chrome, etc. 

We livestreamed the whole event, so those who could not come to the physical venue could join online, and all of the video archives were made available later, so those who missed on the event day could watch later.

The other great thing was that the GDEs brought the devices they got at Google I/O to all of the GDGs, so people were able to touch, try the newest devices such as Nexus7, NexusQ, Android ADK 2012, etc.



Also, since the speakers (GDEs) went all around Japan, they had the opportunity to meet various developers outside Tokyo, and the local developers were able to meet speakers from Tokyo in person so it was a great networking opportunity.

One of the nice comments from the audience:

"Everyone in all of the venues felt they are the center of the event, not a satellite or remote venue. DevFestX Japan was a game changer event for conferences. "



==Overview==

I was in Tokyo, and opened up the event, explained what GDGs are, who GDEs are, what DevFestX are, introduced various programs such as Google Developers Live (GDLs), Google Developers Academy, etc. We also had a mingling time in the beginning so that the attendees are comfortable spending the day together.


Then, we switched the main camera to Kyoto, where Yukio Ando gave his overview of Google I/O 2012- about the venue, event app, sandbox, party, Google Glass and Sergey's keynote, lots of visuals for those who could not go can imagine what it was like.


You can see the slides here:



And the video here:




==Android==

As for Android, we had 3 speakers travel to 3 different venues, and gave speeches from there.








Topics covered were as follows:


  • Google Cloud Messaging for Android
  • What’s new in Android Developer Tools
  • Doing More with Less: Being a Good Android Citizen
  • ADK 2.0
  • Android Fireside Chat
  • Making Good Apps Great
  • Android Design Success
  • Google Play



Then, 20 minutes for Q&A on Android.


People lining up for questions... looks like there are more people queued up than those sitting? ;)



Slides:



Video:




==Chrome & HTML5==

As for Chrome & HTML5, we had 2 speakers travel to 2 different venues, and gave speeches from there.







Topics covered were as follows:


  • Chrome
    • Chrome Extension & Apps Manifest Version 2
    • Chrome Extension’s new features
    • Chrome Apps
    • Developer Tool’s new features
  • HTML5
    • Web Components
    • Web RTC
    • Web Intents
    • Web Audio API
    • Sublime, Yeoman
    • Advanced CSS/HTML5 Features & Tools
    • PvP Gaming w/ HTML5


Then, 20 minutes for Q&A on Chrome.

Slides:



Video:





==Cloud==

As for cloud, we had 3 speakers travel to 3 different venues, and gave speeches from there.






Topics covered were as follows:


  • Google Compute Engine
  • Google App Engine
  • EndPoints@GAE
  • Google Cloud Storage
  • Google Apps Script
  • Google Drive


Then, 20 minutes for Q&A on Cloud services.

Slides:



Video:





==Social & Geo==


As for social and Geo services, we had 3 speakers travel to 3 different venues, and gave speeches from there. One of the GDEs was in US (Los Angeles) but he joined to speak despite the time differences.








Topics covered were as follows:


  • Geo
    • Maps API V3
    • Places API
    • Google Maps Engine
    • Google Maps Coordinate
  • Social
    • Google+ Events
    • Google+ History
    • Google+ Tablet App
    • Google+ platform for Mobile


Then, 20 minutes for Q&A on Geo and Social.

Slides:



Video:



==Closing==

After the closing, of course all the venues went out to party- some of them had lightening talks, some had pizza party, etc.


Google+ events
Tweets

We also created nice swags- Google sandals- if you walk on beach, you can leave footprints of Google logo :D



This is a cute Android USB memory we created as swag.



==Preparation==

In order to prepare for this DevFest, all of the GDG managers went to negotiate with the venues, prepared for the event, we did many rehearsals so that Hangout On Air will work.

All of the GDEs who went to Google I/O created a spreadsheet so that they know who will be going to which session, so that they can avoid overlaps, and each night after I/O sessions were over, we got together to have a meeting to share what each person learned, which session was interesting and worth sharing at DevFestX, to the Japanese developers who could not come to San Francisco.


...and sometimes make Google logos....


... or end up playing with Google cushions...

I tried to search for us having serious meetings at I/O venue but all I could find was fun ones ;)


==GDG DevFest Japan 2013==

So what are we doing this year?

Of course we are doing something similar- all of the GDGs are preparing their venues, all of the GDEs are preparing their contents, and Japanese developers are going to be united again to share, learn and discuss about Google's developer facing technologies.

GDG DevFest Japan 2013 site is up... registration is now open! (And Tokyo venue is already fully booked).

https://sites.google.com/site/devfestjapan2013/

Disclaimer: The opinions expressed here are my own, and do not reflect those of my employer. -Fumi Yamazaki

2013年4月10日水曜日

The tools we use are used by various entities.

Big Data- we talk about how companies use it. How governments use it. How it is used in political campaigns, and of course intelligence agencies uses it too.

At GigaOm's Data: Structure conference, Ira (Gus) Hunt, the CTO of CIA talks about how they collect and use big data.




"Mobile is not secure. Repeat after me. Mobile is not secure."

The Raw Story: CIA’s big data mission: ‘Collect everything and hang onto it forever’

Business Insider :CIA Chief Tech Officer: Big Data Is The Future And We Own It

"After laying out what the CIA does — i.e. collect intelligence, conduct analysis, perform covert action — CIA CTO Ira "Gus" Hunt detailed just how the agency plans to acquire, store, and analyze digital data on a massive scale."

GigaOm's article on the conference: Big data needs people, leaders and real-time analytics: A Structure:Data 2013 recap
You can see the videos from the conference here



And tools like Wearable computers and glass-shaped devices. Yes, citizens will use it. Geeks will use it. And the policemen are already getting ready to use it?

Google Glass for cops: How Taser plans to bring wearable, real-time tech to the police frontline





Tallinn Manual on the International Law Applicable to Cyber Warfare




The Verge: Killing hackers is justified in cyber warfare, says NATO-commissioned report
Silicon Angle: NATO Document – Hacktivists Can Be Killed Under Rules of CyberWarfare



As we examine the manual, it takes careful care to describe hacktivists – And provides the following definition in its 6-page cyber security focused glossary.

“Hacktivist: A private citizen who on his or her own initiative engages in hacking for, inter alia, ideological, political, religious or patriotic reasons.”

Under this definition, a “hacktivist”, as a result of a cyber attack, (also defined) can be legitimately targeted as a military target.

“An act of direct participation in hostilities by civilians renders them liable to be attacked, by cyber or other lawful means. Additionally, harm to direct participants is not considered when assessing the proportionality of an attack (rule 51) or determining the precautions that must be taken to avoid harming civilians during military operations.”

In other words, under these rules, there’s no reservation on the potential harm, assuming even death when it comes to response to a cyberattack.
And so the battle rules for the 21st century and beyond have been forged. With the authority of NATO behind this document, it can be safely assumed that while the document itself may not be formal canon, it will have influence and reference throughout the ages. Much like commonly referred to military rules of engagement, such as the treaties of the 1949 Geneva Conventions – this document could serve as justification and a guideline for future cyber wars. If you are a hacker, then you may be a soldier.

Disclaimer: The opinions expressed here are my own, and do not reflect those of my employer. -Fumi Yamazaki

2013年4月9日火曜日

HTML5 Game Development course at Udacity

If you are a developer interested in building a game with HTML5, check out "HTML5 Game Development course" at Udacity- created by Colt McAnlisPeter Lubbers and Sean Bennett :)

"HTML5 Game Development course"

Colt, the main instructor is Chrome Games Developer Advocate at Google focusing on HTML5 and Native Client always keeps giving infinite advices and tips about game development, and I'm really glad it has become this package for many people to learn :D (Although I am not a developer myself, I always enjoying listening and learning from Colt's talks.)

Promo video:



=======
Syllabus
=======

Lesson 0 - Optional HTML/Javascript crash course - Released February 4th, 2013
Lesson 1 - Introduction to Canvas rendering - Released February 4th, 2013
Lesson 2 - Atlases - Released February 18th, 2013
Lesson 3 - Map rendering - Released February 25th, 2013
Lesson 4 - Basic Input, handling events - Released March 4th, 2013
Lesson 5 - The entity hierarchy - Released March 11th, 2013
Lesson 6 - Box2D, and using external libraries - Released March 18th, 2013
Lesson 7 - Adding sound - Released March 25th, 2013
Lesson 8 - Asynchronous Loading - Released April 1st, 2013


==================
Study group meetup
==================

For each session, they held a study group at Google SF office to invite local developers and communicate, answer all the questions and listen to feedbacks. I was able to join their last meetup and it was a really great opportunity.

HTML5 Udacity Meetup

HTML5 Udacity Meetup


You can see all of the video archived :)

Lesson 0 & 1



 Lesson 2



 Lesson 3



Lesson 4



 Lesson 5



Lesson 6



Lesson 7



Lesson 8




Some of the links covered at the last session:
-Realm of the Mad God- a game that you can learn how to make a very small sized game
-Ilya Grigorik and his session video on "Breaking the 1000ms Time to Glass Mobile Barrier": slides  and video

===================
Other advice from Colt
===================

-Chrome Games review from Google I/O 2012
-List of books that can help you become an awesome game developer

...and of course if you don't know HTML5Rocks, this is THE time for you to visit!

http://www.html5rocks.com/


Disclaimer: The opinions expressed here are my own, and do not reflect those of my employer. -Fumi Yamazaki