What started as a brave experiment four years ago is now a full-fledged part of the HTML5 application platform. WebGL provides real-time, hardware-accelerated 3D graphics to anyone with a browser. To create these experiences, all you need is a text editor and a little imagination. WebGL is being used worldwide to create games, virtual environments, page graphics and data visualization, and it now runs on all desktop browsers and nearly all mobile devices. Tony will give a brief, somewhat technical introduction to WebGL, provide a quick survey of what’s hot and what’s hype, and share his thoughts about where this exciting new technology is headed.

WebGL allows developers to create fully 3D worlds within the context of the browser. However the API itself is very low level, and if used improperly can cause a performance bottleneck within the application. To effectively use the API its necessary to understand both how WebGL works and how an application uses the interface. To illustrate this the optimization of the PlayStation 4 UX, the largest site built completely on top of WebGL, will be discussed.

Did you know that PlayStation 4 UX was built on WebGL? That is totally awesome!

As we have seen, WebGL is a very powerful tool for enriching the Web with graphics, but how do we get it into the hands of the creators? How do we provide the myriad Web developers with powerful and sharpened mechanisms that take away the hassle of specialized and redundant ground work? Victor will highlight some aspects in building years of experience into a smooth pipeline, providing coders and artists alike with a sturdy and powerful web graphics tool. Then, Victorwill demonstrate how WebGL experiences created with Goo Engine can be elevated to the next level by making them even more immersive and engaging. They will show how you can use any smartphone connected to the public Internet to remotely control WebGL applications and games. Last, Victor will demonstrate how this communication pattern can be applied to control Web connected physical objects from continents away.

We as coders are by definition creators, our tools are html5 and our canvas the internet itself. Because of the power of the tools we possess, we are able to ask emotional questions through code. By spending time creating exactly what we want to create, we not only manifest a space that we can go to as an escape, but additionally provide an free oasis for the rest of humanity to explore. In this talk we will look at a few of these digital playgrounds, and additionally actualize a project of our own using WebRTC , the Web Audio API , and Three.js

Hannah Young kicked off the meeting with her presentations explaining what the brigade program is, what they did in 2013, etc. I especially liked the fact that for each project, they need to have not just developers but also government person involved, so that we can make sure we are making the right thing. You can see the slides here:

== Jay Nath, Mayor’s Chief Innovation Officer, San Francisco ==

Jay explained about the work that his team does around open data etc.

James, Krista and Jake - who works for the city government as fellow or full-time - explained about their projects:

The participants split to the following 3 teams, to discuss what we want to accomplish in Q1. I joined the data & policy team.

-Data & Policy
-Project strategy
-Outreach

== Data & Policy Team ==

1) We discussed what Open data means, examples, why we got interested in data/policy, what problems we want to resolve.

-Several people were interested in utilization of data to be prepared for natural disasters, others were interested in education, and some on politics.
-Economic value of data - "data is currency"
-Importance of making standards
-Opening government data and incorporating them to websites ex) Restaurant Health Scores used in Yelp, residential data used in Trulia
-Example from Japan: Fukushima nuclear power plant data
-Example from Nairobi: bus service data
-Example from Hawaii: Ohana API

2) We took a look at data.sfgov.org to check what data is available, what apps are already created in the Apps Showcase, and compared with what other cities have implemented.

==What should we fix?==
We need to do a better job making a system to know who's who within Code for San Francisco Brigade team.
- Learn from what code for philly is doing? They have website that gives visibility on what skills they have, what project they are working on, etc.

I had a chance to talk with various students studying computer science recently, and was asked how they can be involved in Google's activities. Surprisingly many of them didn't know many of the programs I mentioned, so I thought I'd start documenting here.

Google Developer Groups (GDGs) are communities for developers who are interested in Google's developer technology; everything from the Android, App Engine, and Google Chrome platforms, to product APIs like the Maps API, YouTube API and Google Calendar API. A GDG can take many forms -- from just a few people getting together to watch our latest video, to large gatherings with demos and tech talks, to events like code sprints and hackathons. However, at the core, GDGs are focused on developers and technical content, and the core audience should be developers. There are 442 chapters in 98 countries worldwide, most of them are for "everyone" so you are welcome to join, some of them are run by university students and running inside university so you should check them out, and if there is not GDG in your city or university, feel free to start one! Note that GDGs are not run by Google- they are independent communities run by local developers globally.

The Google Student Ambassador Program is an opportunity for students to act as liaisons between Google and their universities. These ambassadors:
-Learn about innovative Google products and programs.
-Plan and host fun events on campus.
-Act as a campus contact for Google teams.
-Help Google better understand each university’s culture.

"I want to receive scholarship from Google!"
Oh gosh there are so many scholarships that Google provides to students...

Google Code Jam is an international programming competition hosted and administered by Google. The competition consists of a set of algorithmic problems which must be solved in a fixed amount of time. Competitors may use any programming language and development environment to obtain their solutions. Google Code Jam is not just for students, but students are welcome to join the contest.

Google Summer of Code is a global program that offers post-secondary student developers ages 18 and older stipends to write code for various open source software projects. We have worked with open source, free software, and technology-related groups to identify and fund projects over a three month period. Since its inception in 2005, the program has brought together over 7,500 successful student participants and over 7,000 mentors from over 100 countries worldwide to produce over 50 million lines of code. Through Google Summer of Code, accepted student applicants are paired with a mentor or mentors from the participating projects, thus gaining exposure to real-world software development scenarios and the opportunity for employment in areas related to their academic pursuits. In turn, the participating projects are able to more easily identify and bring in new developers. Best of all, more source code is created and released for the use and benefit of all.

"I want to be involved in Open Source Projects and I am pre-university student!"Google Code-In

Google Code-in is a contest for pre-university students (e.g., high school and secondary school students ages 13-17) with the goal of encouraging young people to participate in open source. There have been 1238 students from 71 countries that completed tasks in the Google Code-in over the last three years of the contest. For many students the Google Code-in contest is their first introduction to open source development. For Google Code-in we work with open source organizations, each of whom has experience mentoring students in the Google Summer of Code program, to provide "bite sized" tasks for participating students to complete.

The Google Policy Fellowship program was inspired by Google’s Summer of Code with a public policy twist. The Google Policy Fellowship program offers undergraduate, graduate, and law students interested in Internet and technology policy the opportunity to spend the summer contributing to the public dialogue on these issues, and exploring future academic and professional interests. Fellows will have the opportunity to work at public interest organizations at the forefront of debates on broadband and access policy, content regulation, copyright and trademark reform, consumer privacy, open government, and more. More information about the host organizations and the areas of focus for the fellows are outlined here. Fellows will be assigned a lead mentor at their host organizations, but will have the opportunity to work with several senior staff members over the course of the summer. Fellows will be expected to make substantive contributions to the work of their organization, including conducting policy research and analysis; drafting reports and analyses; attending government and industry meetings and conferences; and participating in other advocacy activities.

In an effort to help develop the next crop of reporters working to keep the world informed, educated and entertained, we have created the Google Journalism Fellowship. As a company dedicated to making the world’s information easily accessible, Google recognizes that behind many blue links is a journalist and that quality journalism is a key ingredient of a vibrant and functioning society. The program is aimed at undergraduate, graduate and journalism students interested in using technology to tell stories in new and dynamic ways. The Fellows will get the opportunity to spend the summer contributing to a variety of organizations -- from those that are steeped in investigative journalism to those working for press freedom around the world and to those that are helping the industry figure out its future in the digital age. There will be a focus on data driven journalism, online free expression and rethinking the business of journalism. The 10-week long Fellowship will open with a week at Google followed by nine weeks at one of the participating organizations.

Google's seventh annual Computer Science Summer Institute (CSSI) is a three-week introduction to computer science for graduating high school seniors with a passion for technology — especially students from historically underrepresented groups in the field. CSSI is not your average summer camp. It's an intensive, interactive, hands-on and fun program that seeks to inspire the tech leaders and innovators of tomorrow by supporting the study of computer science, software engineering and other closely related subjects. As CSSI students, you will learn programming fundamentals directly from Google engineers, get an inside look at some of Google's most exciting, emerging technologies, and even design and develop your very own application with fellow participants that you will showcase to Googlers in local offices. You'll attend the program at one of our Google office locations in Mountain View, Calif., Boston, or Seattle/Kirkland, and experience firsthand Google's unique and innovative office culture. And at the end of each day, attendees will enjoy a unique residential experience in dorm-style housing at local universities. CSSI is an all-expenses-paid program. Google will provide housing, meals and transportation for invited students.

Google supports academic communities in computer science, engineering, and related fields by providing funding opportunities for university faculty. Our ongoing programs regularly solicit proposals for funding either through an open submission process or by invitation. All awards made through Google's academic funding programs are structured as unrestricted gifts to universities.

2014年1月8日水曜日

As many of you know, Code for America is expanding globally now, and I'd like to share some of the pieces of information about those global activities.

On October 25-26th 2013, TEDxKrakow team organized their TEDxKrakow event with 600 participants onsite and 15k people online. In conjunction, the Polish NGO ePanstwo in cooperation with Code for America which started KdP-Koduj dla Polski (Code for Poland, one of the Code for All Brigade programs) hosted Open Data Hackathon (120 participants) in Krakow, which we sponsored.

It's great to see Open Data, Open Government and Code for All movement expanding to Poland! I hope I can visit there some day :D

2014年1月4日土曜日

Back in September, at Science Hack Day, Matthew Bennett created a 3D model of me (thank you Matthew!) and I finally had a chance to 3D print it. It's very rough since I wanted to experiment so the settings are speed>quality and size is small, but I think it was a good experiment ;)

-3D scanning software. This app can export file in various file formats, which is awesome. I got it exported as .stl file this time.

So I scanned myself as well- though I can't take a picture of me when I'm scanning myself ;) and this is the output. We cut off the head in half since we don't need the back part, we should've done a better job getting the top of my head but we can clean it up later with data.

I use either Makerware or ReplicatorG when I do 3D printing. This time, I simply used Makerware. The data was extremely small when it was sent to me, so I scaled it, but not too big since I didn't want to take up too much time.

This is my first data, which is in the orientation of which the data I received was, to give it a try.

Then I rotated it so that the back of the head (flat cut part) will be the bottom- for the second print.

First print- horizontal orientation. I knew from the beginning this is not the best thing to do, but gave it a try. Also, the printing is low quality since I decreased quality to increase speed. When I clean the data and make it nicer, I might do a better quality print.

When 3D printing, if you don't have something beneath an object it is hard to print, since there is nothing that would support it and you will be printing in the air. This time, my chin was in the air so the filaments were getting tangled in the air like a spring. (And if you are making something like that, you can make a support object beneath what you want to print so that it won't dangle.)

Hole in the hoodies, precisely as I had a hole in the data, so that's good.

OK, next I will print the same data, with a same printer, same filament in vertical orientation.

No more dangling cheeks here so that's good.

Hole in the hoodies is captured well too, and the Android ear on the hoodies didn't dangle so that was a success as well. (I was actually expecting it might just dangle.)

To me, what was interesting was how the 2 products looked differently despite it was using the same data, same printer, and same filament.

In the horizontal one, my face is much skinnier, the color of the filament is black whereas the other one looks more like grey, horizontal one is much more shinier, and of course the layers are horizontal vs vertical which makes my face look like a mountain on the vertical one, etc... it really looked different. (Hard to tell from the photos!)

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